From 9f7ae0e95f89b964a098eaacdfd89ff25e05c615 Mon Sep 17 00:00:00 2001
From: Mike Macgirvin <mike@macgirvin.com>
Date: Mon, 5 Jul 2010 03:34:42 -0700
Subject: [PATCH] Add simplepie

---
 simplepie/LICENSE.txt                         |    26 +
 simplepie/README.markdown                     |    53 +
 .../COMPATIBILITY README.txt                  |     7 +
 .../sp_compatibility_test.php                 |   330 +
 simplepie/create.php                          |   178 +
 simplepie/db.sql                              |    38 +
 simplepie/demo/cli_test.php                   |    23 +
 .../demo/for_the_demo/alternate_favicon.png   |   Bin 0 -> 28621 bytes
 .../for_the_demo/background_blockquote.png    |   Bin 0 -> 27353 bytes
 .../demo/for_the_demo/background_menuitem.gif |   Bin 0 -> 533 bytes
 .../for_the_demo/background_menuitem_off.gif  |   Bin 0 -> 533 bytes
 .../background_menuitem_shadow.gif            |   Bin 0 -> 250 bytes
 .../demo/for_the_demo/favicons/alternate.png  |   Bin 0 -> 28621 bytes
 .../demo/for_the_demo/favicons/blinklist.png  |   Bin 0 -> 4377 bytes
 .../demo/for_the_demo/favicons/blogmarks.png  |   Bin 0 -> 3823 bytes
 .../demo/for_the_demo/favicons/delicious.png  |   Bin 0 -> 3739 bytes
 simplepie/demo/for_the_demo/favicons/digg.png |   Bin 0 -> 4004 bytes
 .../demo/for_the_demo/favicons/magnolia.png   |   Bin 0 -> 4574 bytes
 .../demo/for_the_demo/favicons/myweb2.png     |   Bin 0 -> 4010 bytes
 .../demo/for_the_demo/favicons/newsvine.png   |   Bin 0 -> 3804 bytes
 .../demo/for_the_demo/favicons/reddit.png     |   Bin 0 -> 4239 bytes
 .../demo/for_the_demo/favicons/segnalo.png    |   Bin 0 -> 4116 bytes
 .../demo/for_the_demo/favicons/simpy.png      |   Bin 0 -> 4256 bytes
 .../demo/for_the_demo/favicons/spurl.png      |   Bin 0 -> 3970 bytes
 .../demo/for_the_demo/favicons/technorati.png |   Bin 0 -> 4087 bytes
 .../demo/for_the_demo/favicons/wists.png      |   Bin 0 -> 3974 bytes
 simplepie/demo/for_the_demo/feed.png          |   Bin 0 -> 715 bytes
 .../demo/for_the_demo/logo_simplepie_demo.png |   Bin 0 -> 3047 bytes
 .../demo/for_the_demo/lucida-grande-bold.swf  |   Bin 0 -> 21159 bytes
 simplepie/demo/for_the_demo/mediaplayer.swf   |   Bin 0 -> 32008 bytes
 .../demo/for_the_demo/mediaplayer_readme.htm  |     5 +
 simplepie/demo/for_the_demo/mini_podcast.png  |   Bin 0 -> 1202 bytes
 simplepie/demo/for_the_demo/place_audio.png   |   Bin 0 -> 851 bytes
 simplepie/demo/for_the_demo/place_video.png   |   Bin 0 -> 36713 bytes
 simplepie/demo/for_the_demo/sIFR-print.css    |    35 +
 simplepie/demo/for_the_demo/sIFR-screen.css   |    39 +
 simplepie/demo/for_the_demo/sifr-config.js    |    40 +
 simplepie/demo/for_the_demo/sifr.js           |    19 +
 simplepie/demo/for_the_demo/simplepie.css     |   397 +
 simplepie/demo/for_the_demo/sleight.js        |    31 +
 .../place_audio_fireworksfile.png             |   Bin 0 -> 39177 bytes
 .../place_video_fireworksfile.png             |   Bin 0 -> 115826 bytes
 .../source_files/sIFR-r245/SifrStyleSheet.as  |    71 +
 .../source_files/sIFR-r245/_README_.txt       |    12 +
 .../source_files/sIFR-r245/options.as         |    12 +
 .../source_files/sIFR-r245/sIFR.as            |   359 +
 .../source_files/sIFR-r245/sifr.fla           |   Bin 0 -> 47104 bytes
 simplepie/demo/for_the_demo/top_gradient.gif  |   Bin 0 -> 1378 bytes
 simplepie/demo/for_the_demo/verdana.swf       |   Bin 0 -> 28575 bytes
 .../for_the_demo/yanone-kaffeesatz-bold.swf   |   Bin 0 -> 76780 bytes
 simplepie/demo/handler_image.php              |     6 +
 simplepie/demo/index.php                      |   295 +
 simplepie/demo/minimalistic.php               |   137 +
 simplepie/demo/multifeeds.php                 |   108 +
 simplepie/demo/test.php                       |    62 +
 simplepie/idn/LICENCE                         |   502 +
 simplepie/idn/ReadMe.txt                      |   123 +
 simplepie/idn/idna_convert.class.php          |   969 +
 simplepie/idn/npdata.ser                      |     1 +
 simplepie/simplepie.inc                       | 15023 ++++++++++++++++
 simplepie/test/absolutize/RFC3986.5.4/README  |     1 +
 .../absolutize/RFC3986.5.4/abnormal/1.php     |    16 +
 .../absolutize/RFC3986.5.4/abnormal/10.php    |    16 +
 .../absolutize/RFC3986.5.4/abnormal/11.php    |    16 +
 .../absolutize/RFC3986.5.4/abnormal/12.php    |    16 +
 .../absolutize/RFC3986.5.4/abnormal/13.php    |    16 +
 .../absolutize/RFC3986.5.4/abnormal/14.php    |    16 +
 .../absolutize/RFC3986.5.4/abnormal/15.php    |    16 +
 .../absolutize/RFC3986.5.4/abnormal/16.php    |    16 +
 .../absolutize/RFC3986.5.4/abnormal/17.php    |    16 +
 .../absolutize/RFC3986.5.4/abnormal/18.php    |    16 +
 .../absolutize/RFC3986.5.4/abnormal/19.php    |    16 +
 .../absolutize/RFC3986.5.4/abnormal/2.php     |    16 +
 .../absolutize/RFC3986.5.4/abnormal/3.php     |    16 +
 .../absolutize/RFC3986.5.4/abnormal/4.php     |    16 +
 .../absolutize/RFC3986.5.4/abnormal/5.php     |    16 +
 .../absolutize/RFC3986.5.4/abnormal/6.php     |    16 +
 .../absolutize/RFC3986.5.4/abnormal/7.php     |    16 +
 .../absolutize/RFC3986.5.4/abnormal/8.php     |    16 +
 .../absolutize/RFC3986.5.4/abnormal/9.php     |    16 +
 .../test/absolutize/RFC3986.5.4/base.php      |    25 +
 .../test/absolutize/RFC3986.5.4/normal/1.php  |    16 +
 .../test/absolutize/RFC3986.5.4/normal/10.php |    16 +
 .../test/absolutize/RFC3986.5.4/normal/11.php |    16 +
 .../test/absolutize/RFC3986.5.4/normal/12.php |    16 +
 .../test/absolutize/RFC3986.5.4/normal/13.php |    16 +
 .../test/absolutize/RFC3986.5.4/normal/14.php |    16 +
 .../test/absolutize/RFC3986.5.4/normal/15.php |    16 +
 .../test/absolutize/RFC3986.5.4/normal/16.php |    16 +
 .../test/absolutize/RFC3986.5.4/normal/17.php |    16 +
 .../test/absolutize/RFC3986.5.4/normal/18.php |    16 +
 .../test/absolutize/RFC3986.5.4/normal/19.php |    16 +
 .../test/absolutize/RFC3986.5.4/normal/2.php  |    16 +
 .../test/absolutize/RFC3986.5.4/normal/20.php |    16 +
 .../test/absolutize/RFC3986.5.4/normal/21.php |    16 +
 .../test/absolutize/RFC3986.5.4/normal/22.php |    16 +
 .../test/absolutize/RFC3986.5.4/normal/23.php |    16 +
 .../test/absolutize/RFC3986.5.4/normal/3.php  |    16 +
 .../test/absolutize/RFC3986.5.4/normal/4.php  |    16 +
 .../test/absolutize/RFC3986.5.4/normal/5.php  |    16 +
 .../test/absolutize/RFC3986.5.4/normal/6.php  |    16 +
 .../test/absolutize/RFC3986.5.4/normal/7.php  |    16 +
 .../test/absolutize/RFC3986.5.4/normal/8.php  |    16 +
 .../test/absolutize/RFC3986.5.4/normal/9.php  |    16 +
 .../test/absolutize/SPtests/bugs/1091.0.1.php |    17 +
 .../test/absolutize/SPtests/bugs/1091.0.php   |    17 +
 .../test/absolutize/SPtests/bugs/274.0.php    |    17 +
 .../test/absolutize/SPtests/bugs/274.1.php    |    17 +
 .../test/absolutize/SPtests/bugs/274.2.php    |    17 +
 .../test/absolutize/SPtests/bugs/274.3.php    |    17 +
 .../test/absolutize/SPtests/bugs/579.0.php    |    17 +
 .../test/absolutize/SPtests/bugs/691.0.php    |    17 +
 .../test/absolutize/SPtests/bugs/691.1.php    |    17 +
 .../test/absolutize/SPtests/bugs/691.2.php    |    17 +
 .../test/absolutize/SPtests/bugs/691.3.php    |    17 +
 .../test/absolutize/SPtests/bugs/691.4.php    |    17 +
 .../test/absolutize/SPtests/bugs/691.5.php    |    17 +
 .../test/absolutize/SPtests/bugs/691.6.php    |    17 +
 .../test/absolutize/SPtests/bugs/691.7.php    |    17 +
 .../test/absolutize/SPtests/bugs/691.8.php    |    17 +
 .../bugs/pct_encoding_invalid_second_char.php |    17 +
 simplepie/test/background.gif                 |   Bin 0 -> 4536 bytes
 simplepie/test/date/RFC3339/1.php             |    16 +
 simplepie/test/date/RFC3339/2.php             |    16 +
 simplepie/test/date/RFC3339/3.php             |    16 +
 simplepie/test/date/RFC3339/README            |     1 +
 .../RFC2822/invalid/four_digit_year.php       |    16 +
 .../RFC2822/invalid/full_name_of_day.php      |    16 +
 .../SPtests/RFC2822/invalid/invalid_day.php   |    16 +
 .../RFC2822/invalid/invalid_timezone.php      |    16 +
 .../RFC2822/invalid/mismatch_name_of_day.php  |    16 +
 .../test/date/SPtests/RFC2822/valid/1.php     |    16 +
 .../test/date/SPtests/RFC2822/valid/10.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/11.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/12.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/13.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/14.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/15.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/16.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/17.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/18.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/19.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/2.php     |    16 +
 .../test/date/SPtests/RFC2822/valid/20.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/21.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/22.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/23.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/24.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/25.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/26.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/27.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/28.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/29.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/3.php     |    16 +
 .../test/date/SPtests/RFC2822/valid/30.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/31.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/32.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/33.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/34.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/35.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/36.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/37.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/38.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/39.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/4.php     |    16 +
 .../test/date/SPtests/RFC2822/valid/40.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/41.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/42.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/43.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/44.php    |    16 +
 .../test/date/SPtests/RFC2822/valid/5.php     |    16 +
 .../test/date/SPtests/RFC2822/valid/6.php     |    16 +
 .../test/date/SPtests/RFC2822/valid/7.php     |    16 +
 .../test/date/SPtests/RFC2822/valid/8.php     |    16 +
 .../test/date/SPtests/RFC2822/valid/9.php     |    16 +
 simplepie/test/date/SPtests/bugs/157.0.php    |    16 +
 simplepie/test/date/SPtests/bugs/259.0.php    |    16 +
 simplepie/test/date/W3CDTF/1.php              |    16 +
 simplepie/test/date/W3CDTF/2.php              |    16 +
 simplepie/test/date/W3CDTF/README             |     1 +
 .../SPtests/atom/0.3/dc/1.0/subject.php       |    19 +
 .../SPtests/atom/0.3/dc/1.1/subject.php       |    19 +
 .../SPtests/atom/1.0/dc/1.0/subject.php       |    19 +
 .../SPtests/atom/1.0/dc/1.1/subject.php       |    19 +
 .../SPtests/atom/1.0/label.php                |    19 +
 .../SPtests/atom/1.0/term.php                 |    19 +
 .../feed_category_label/SPtests/bugs/21.0.php |    19 +
 .../SPtests/rss/0.90/atom/1.0/label.php       |    21 +
 .../SPtests/rss/0.90/atom/1.0/term.php        |    21 +
 .../SPtests/rss/0.90/dc/1.0/subject.php       |    21 +
 .../SPtests/rss/0.90/dc/1.1/subject.php       |    21 +
 .../rss/0.91-netscape/atom/1.0/label.php      |    22 +
 .../rss/0.91-netscape/atom/1.0/term.php       |    22 +
 .../rss/0.91-netscape/dc/1.0/subject.php      |    22 +
 .../rss/0.91-netscape/dc/1.1/subject.php      |    22 +
 .../rss/0.91-userland/atom/1.0/label.php      |    21 +
 .../rss/0.91-userland/atom/1.0/term.php       |    21 +
 .../rss/0.91-userland/dc/1.0/subject.php      |    21 +
 .../rss/0.91-userland/dc/1.1/subject.php      |    21 +
 .../SPtests/rss/0.92/atom/1.0/label.php       |    21 +
 .../SPtests/rss/0.92/atom/1.0/term.php        |    21 +
 .../SPtests/rss/0.92/dc/1.0/subject.php       |    21 +
 .../SPtests/rss/0.92/dc/1.1/subject.php       |    21 +
 .../SPtests/rss/1.0/atom/1.0/label.php        |    21 +
 .../SPtests/rss/1.0/atom/1.0/term.php         |    21 +
 .../SPtests/rss/1.0/dc/1.0/subject.php        |    21 +
 .../SPtests/rss/1.0/dc/1.1/subject.php        |    21 +
 .../SPtests/rss/2.0/atom/1.0/label.php        |    21 +
 .../SPtests/rss/2.0/atom/1.0/term.php         |    21 +
 .../SPtests/rss/2.0/category.php              |    21 +
 .../SPtests/rss/2.0/dc/1.0/subject.php        |    21 +
 .../SPtests/rss/2.0/dc/1.1/subject.php        |    21 +
 .../SPtests/atom/0.3/dc/1.0/rights.php        |    19 +
 .../SPtests/atom/0.3/dc/1.1/rights.php        |    19 +
 .../SPtests/atom/1.0/dc/1.0/rights.php        |    19 +
 .../SPtests/atom/1.0/dc/1.1/rights.php        |    19 +
 .../SPtests/atom/1.0/rights.php               |    19 +
 .../SPtests/rss/0.90/atom/1.0/rights.php      |    21 +
 .../SPtests/rss/0.90/dc/1.0/rights.php        |    21 +
 .../SPtests/rss/0.90/dc/1.1/rights.php        |    21 +
 .../rss/0.91-netscape/atom/1.0/rights.php     |    22 +
 .../SPtests/rss/0.91-netscape/copyright.php   |    22 +
 .../rss/0.91-netscape/dc/1.0/rights.php       |    22 +
 .../rss/0.91-netscape/dc/1.1/rights.php       |    22 +
 .../rss/0.91-userland/atom/1.0/rights.php     |    21 +
 .../SPtests/rss/0.91-userland/copyright.php   |    21 +
 .../rss/0.91-userland/dc/1.0/rights.php       |    21 +
 .../rss/0.91-userland/dc/1.1/rights.php       |    21 +
 .../SPtests/rss/0.92/atom/1.0/rights.php      |    21 +
 .../SPtests/rss/0.92/copyright.php            |    21 +
 .../SPtests/rss/0.92/dc/1.0/rights.php        |    21 +
 .../SPtests/rss/0.92/dc/1.1/rights.php        |    21 +
 .../SPtests/rss/1.0/atom/1.0/rights.php       |    21 +
 .../SPtests/rss/1.0/dc/1.0/rights.php         |    21 +
 .../SPtests/rss/1.0/dc/1.1/rights.php         |    21 +
 .../SPtests/rss/2.0/atom/1.0/rights.php       |    21 +
 .../SPtests/rss/2.0/copyright.php             |    21 +
 .../SPtests/rss/2.0/dc/1.0/rights.php         |    21 +
 .../SPtests/rss/2.0/dc/1.1/rights.php         |    21 +
 .../SPtests/atom/0.3/dc/1.0/description.php   |    19 +
 .../SPtests/atom/0.3/dc/1.1/description.php   |    19 +
 .../SPtests/atom/0.3/tagline.php              |    19 +
 .../SPtests/atom/1.0/dc/1.0/description.php   |    19 +
 .../SPtests/atom/1.0/dc/1.1/description.php   |    19 +
 .../SPtests/atom/1.0/subtitle.php             |    19 +
 .../SPtests/rss/0.90/atom/0.3/tagline.php     |    21 +
 .../SPtests/rss/0.90/atom/1.0/subtitle.php    |    21 +
 .../SPtests/rss/0.90/dc/1.0/description.php   |    21 +
 .../SPtests/rss/0.90/dc/1.1/description.php   |    21 +
 .../SPtests/rss/0.90/description.php          |    21 +
 .../rss/0.91-netscape/atom/0.3/tagline.php    |    22 +
 .../rss/0.91-netscape/atom/1.0/subtitle.php   |    22 +
 .../rss/0.91-netscape/dc/1.0/description.php  |    22 +
 .../rss/0.91-netscape/dc/1.1/description.php  |    22 +
 .../SPtests/rss/0.91-netscape/description.php |    22 +
 .../rss/0.91-userland/atom/0.3/tagline.php    |    21 +
 .../rss/0.91-userland/atom/1.0/subtitle.php   |    21 +
 .../rss/0.91-userland/dc/1.0/description.php  |    21 +
 .../rss/0.91-userland/dc/1.1/description.php  |    21 +
 .../SPtests/rss/0.91-userland/description.php |    21 +
 .../SPtests/rss/0.92/atom/0.3/tagline.php     |    21 +
 .../SPtests/rss/0.92/atom/1.0/subtitle.php    |    21 +
 .../SPtests/rss/0.92/dc/1.0/description.php   |    21 +
 .../SPtests/rss/0.92/dc/1.1/description.php   |    21 +
 .../SPtests/rss/0.92/description.php          |    21 +
 .../SPtests/rss/1.0/atom/0.3/tagline.php      |    21 +
 .../SPtests/rss/1.0/atom/1.0/subtitle.php     |    21 +
 .../SPtests/rss/1.0/dc/1.0/description.php    |    21 +
 .../SPtests/rss/1.0/dc/1.1/description.php    |    21 +
 .../SPtests/rss/1.0/description.php           |    21 +
 .../SPtests/rss/2.0/atom/0.3/tagline.php      |    21 +
 .../SPtests/rss/2.0/atom/1.0/subtitle.php     |    21 +
 .../SPtests/rss/2.0/dc/1.0/description.php    |    21 +
 .../SPtests/rss/2.0/dc/1.1/description.php    |    21 +
 .../SPtests/rss/2.0/description.php           |    21 +
 .../SPtests/atom/1.0/icon-default.php         |    19 +
 .../SPtests/atom/1.0/logo-default.php         |    19 +
 .../rss/0.90/atom/1.0/icon-default.php        |    21 +
 .../rss/0.90/atom/1.0/logo-default.php        |    21 +
 .../SPtests/rss/0.90/url-default.php          |    21 +
 .../0.91-netscape/atom/1.0/icon-default.php   |    22 +
 .../0.91-netscape/atom/1.0/logo-default.php   |    22 +
 .../SPtests/rss/0.91-netscape/height.php      |    24 +
 .../SPtests/rss/0.91-netscape/url-default.php |    24 +
 .../0.91-userland/atom/1.0/icon-default.php   |    21 +
 .../0.91-userland/atom/1.0/logo-default.php   |    21 +
 .../SPtests/rss/0.91-userland/height.php      |    23 +
 .../SPtests/rss/0.91-userland/url-default.php |    23 +
 .../rss/0.92/atom/1.0/icon-default.php        |    21 +
 .../rss/0.92/atom/1.0/logo-default.php        |    21 +
 .../SPtests/rss/0.92/height.php               |    23 +
 .../SPtests/rss/0.92/url-default.php          |    23 +
 .../SPtests/rss/1.0/atom/1.0/icon-default.php |    21 +
 .../SPtests/rss/1.0/atom/1.0/logo-default.php |    21 +
 .../SPtests/rss/1.0/url-default.php           |    21 +
 .../SPtests/rss/2.0/atom/1.0/icon-default.php |    21 +
 .../SPtests/rss/2.0/atom/1.0/logo-default.php |    21 +
 .../SPtests/rss/2.0/height.php                |    23 +
 .../SPtests/rss/2.0/url-default.php           |    23 +
 .../feed_image_link/SPtests/rss/0.90/link.php |    21 +
 .../SPtests/rss/0.91-netscape/link.php        |    24 +
 .../SPtests/rss/0.91-userland/link.php        |    23 +
 .../feed_image_link/SPtests/rss/0.92/link.php |    23 +
 .../feed_image_link/SPtests/rss/1.0/link.php  |    21 +
 .../feed_image_link/SPtests/rss/2.0/link.php  |    23 +
 .../SPtests/rss/0.90/dc/1.0/title.php         |    21 +
 .../SPtests/rss/0.90/dc/1.1/title.php         |    21 +
 .../SPtests/rss/0.90/title.php                |    21 +
 .../rss/0.91-netscape/dc/1.0/title.php        |    24 +
 .../rss/0.91-netscape/dc/1.1/title.php        |    24 +
 .../SPtests/rss/0.91-netscape/title.php       |    24 +
 .../rss/0.91-userland/dc/1.0/title.php        |    23 +
 .../rss/0.91-userland/dc/1.1/title.php        |    23 +
 .../SPtests/rss/0.91-userland/title.php       |    23 +
 .../SPtests/rss/0.92/dc/1.0/title.php         |    23 +
 .../SPtests/rss/0.92/dc/1.1/title.php         |    23 +
 .../SPtests/rss/0.92/title.php                |    23 +
 .../SPtests/rss/1.0/dc/1.0/title.php          |    21 +
 .../SPtests/rss/1.0/dc/1.1/title.php          |    21 +
 .../SPtests/rss/1.0/title.php                 |    21 +
 .../SPtests/rss/2.0/dc/1.0/title.php          |    23 +
 .../SPtests/rss/2.0/dc/1.1/title.php          |    23 +
 .../SPtests/rss/2.0/title.php                 |    23 +
 .../feed_image_url/SPtests/atom/1.0/icon.php  |    19 +
 .../feed_image_url/SPtests/atom/1.0/logo.php  |    19 +
 .../SPtests/rss/0.90/atom/1.0/icon.php        |    21 +
 .../SPtests/rss/0.90/atom/1.0/logo.php        |    21 +
 .../feed_image_url/SPtests/rss/0.90/url.php   |    21 +
 .../rss/0.91-netscape/atom/1.0/icon.php       |    22 +
 .../rss/0.91-netscape/atom/1.0/logo.php       |    22 +
 .../SPtests/rss/0.91-netscape/url.php         |    24 +
 .../rss/0.91-userland/atom/1.0/icon.php       |    21 +
 .../rss/0.91-userland/atom/1.0/logo.php       |    21 +
 .../SPtests/rss/0.91-userland/url.php         |    23 +
 .../SPtests/rss/0.92/atom/1.0/icon.php        |    21 +
 .../SPtests/rss/0.92/atom/1.0/logo.php        |    21 +
 .../feed_image_url/SPtests/rss/0.92/url.php   |    23 +
 .../SPtests/rss/1.0/atom/1.0/icon.php         |    21 +
 .../SPtests/rss/1.0/atom/1.0/logo.php         |    21 +
 .../feed_image_url/SPtests/rss/1.0/url.php    |    21 +
 .../SPtests/rss/2.0/atom/1.0/icon.php         |    21 +
 .../SPtests/rss/2.0/atom/1.0/logo.php         |    21 +
 .../feed_image_url/SPtests/rss/2.0/url.php    |    23 +
 .../SPtests/atom/1.0/icon-default.php         |    19 +
 .../SPtests/atom/1.0/logo-default.php         |    19 +
 .../rss/0.90/atom/1.0/icon-default.php        |    21 +
 .../rss/0.90/atom/1.0/logo-default.php        |    21 +
 .../SPtests/rss/0.90/url-default.php          |    21 +
 .../0.91-netscape/atom/1.0/icon-default.php   |    22 +
 .../0.91-netscape/atom/1.0/logo-default.php   |    22 +
 .../SPtests/rss/0.91-netscape/url-default.php |    24 +
 .../SPtests/rss/0.91-netscape/width.php       |    24 +
 .../0.91-userland/atom/1.0/icon-default.php   |    21 +
 .../0.91-userland/atom/1.0/logo-default.php   |    21 +
 .../SPtests/rss/0.91-userland/url-default.php |    23 +
 .../SPtests/rss/0.91-userland/width.php       |    23 +
 .../rss/0.92/atom/1.0/icon-default.php        |    21 +
 .../rss/0.92/atom/1.0/logo-default.php        |    21 +
 .../SPtests/rss/0.92/url-default.php          |    23 +
 .../SPtests/rss/0.92/width.php                |    23 +
 .../SPtests/rss/1.0/atom/1.0/icon-default.php |    21 +
 .../SPtests/rss/1.0/atom/1.0/logo-default.php |    21 +
 .../SPtests/rss/1.0/url-default.php           |    21 +
 .../SPtests/rss/2.0/atom/1.0/icon-default.php |    21 +
 .../SPtests/rss/2.0/atom/1.0/logo-default.php |    21 +
 .../SPtests/rss/2.0/url-default.php           |    23 +
 .../SPtests/rss/2.0/width.php                 |    23 +
 .../SPtests/atom/0.3/dc/1.0/language.php      |    19 +
 .../SPtests/atom/0.3/dc/1.1/language.php      |    19 +
 .../SPtests/atom/0.3/xml_lang.php             |    19 +
 .../SPtests/atom/1.0/dc/1.0/language.php      |    19 +
 .../SPtests/atom/1.0/dc/1.1/language.php      |    19 +
 .../SPtests/atom/1.0/xml_lang.php             |    19 +
 .../SPtests/rss/0.90/dc/1.0/language.php      |    21 +
 .../SPtests/rss/0.90/dc/1.1/language.php      |    21 +
 .../rss/0.91-netscape/dc/1.0/language.php     |    22 +
 .../rss/0.91-netscape/dc/1.1/language.php     |    22 +
 .../SPtests/rss/0.91-netscape/language.php    |    22 +
 .../rss/0.91-userland/dc/1.0/language.php     |    21 +
 .../rss/0.91-userland/dc/1.1/language.php     |    21 +
 .../SPtests/rss/0.91-userland/language.php    |    21 +
 .../SPtests/rss/0.92/dc/1.0/language.php      |    21 +
 .../SPtests/rss/0.92/dc/1.1/language.php      |    21 +
 .../SPtests/rss/0.92/language.php             |    21 +
 .../SPtests/rss/1.0/dc/1.0/language.php       |    21 +
 .../SPtests/rss/1.0/dc/1.1/language.php       |    21 +
 .../SPtests/rss/2.0/dc/1.0/language.php       |    21 +
 .../SPtests/rss/2.0/dc/1.1/language.php       |    21 +
 .../SPtests/rss/2.0/language.php              |    21 +
 .../test/feed_link/SPtests/atom/0.3/link.php  |    19 +
 .../SPtests/atom/0.3/link_@rel_alternate.php  |    19 +
 .../test/feed_link/SPtests/atom/1.0/link.php  |    19 +
 .../atom/1.0/link_@rel_absolute_iri.php       |    19 +
 .../SPtests/atom/1.0/link_@rel_alternate.php  |    19 +
 .../SPtests/rss/0.90/atom/0.3/link.php        |    21 +
 .../SPtests/rss/0.90/atom/1.0/link.php        |    21 +
 .../test/feed_link/SPtests/rss/0.90/link.php  |    21 +
 .../rss/0.91-netscape/atom/0.3/link.php       |    22 +
 .../rss/0.91-netscape/atom/1.0/link.php       |    22 +
 .../SPtests/rss/0.91-netscape/link.php        |    22 +
 .../rss/0.91-userland/atom/0.3/link.php       |    21 +
 .../rss/0.91-userland/atom/1.0/link.php       |    21 +
 .../SPtests/rss/0.91-userland/link.php        |    21 +
 .../SPtests/rss/0.92/atom/0.3/link.php        |    21 +
 .../SPtests/rss/0.92/atom/1.0/link.php        |    21 +
 .../test/feed_link/SPtests/rss/0.92/link.php  |    21 +
 .../SPtests/rss/1.0/atom/0.3/link.php         |    21 +
 .../SPtests/rss/1.0/atom/1.0/link.php         |    21 +
 .../test/feed_link/SPtests/rss/1.0/link.php   |    21 +
 .../SPtests/rss/2.0/atom/0.3/link.php         |    21 +
 .../SPtests/rss/2.0/atom/1.0/link.php         |    21 +
 .../test/feed_link/SPtests/rss/2.0/link.php   |    21 +
 .../SPtests/atom/0.3/dc/1.0/title.php         |    19 +
 .../SPtests/atom/0.3/dc/1.1/title.php         |    19 +
 .../feed_title/SPtests/atom/0.3/title.php     |    19 +
 .../SPtests/atom/1.0/dc/1.0/title.php         |    19 +
 .../SPtests/atom/1.0/dc/1.1/title.php         |    19 +
 .../feed_title/SPtests/atom/1.0/title.php     |    19 +
 .../test/feed_title/SPtests/bugs/16.0.php     |    23 +
 .../test/feed_title/SPtests/bugs/174.0.php    |    20 +
 .../test/feed_title/SPtests/bugs/18.0.php     |    24 +
 .../test/feed_title/SPtests/bugs/18.1.php     |    24 +
 .../test/feed_title/SPtests/bugs/20.0.php     |    19 +
 .../test/feed_title/SPtests/bugs/20.1.php     |    19 +
 .../test/feed_title/SPtests/bugs/20.2.php     |    19 +
 .../test/feed_title/SPtests/bugs/272.0.php    |    19 +
 .../test/feed_title/SPtests/bugs/272.1.php    |    19 +
 .../SPtests/rss/0.90/atom/0.3/title.php       |    21 +
 .../SPtests/rss/0.90/atom/1.0/title.php       |    21 +
 .../SPtests/rss/0.90/dc/1.0/title.php         |    21 +
 .../SPtests/rss/0.90/dc/1.1/title.php         |    21 +
 .../feed_title/SPtests/rss/0.90/title.php     |    21 +
 .../rss/0.91-netscape/atom/0.3/title.php      |    22 +
 .../rss/0.91-netscape/atom/1.0/title.php      |    22 +
 .../rss/0.91-netscape/dc/1.0/title.php        |    22 +
 .../rss/0.91-netscape/dc/1.1/title.php        |    22 +
 .../SPtests/rss/0.91-netscape/title.php       |    22 +
 .../rss/0.91-userland/atom/0.3/title.php      |    21 +
 .../rss/0.91-userland/atom/1.0/title.php      |    21 +
 .../rss/0.91-userland/dc/1.0/title.php        |    21 +
 .../rss/0.91-userland/dc/1.1/title.php        |    21 +
 .../SPtests/rss/0.91-userland/title.php       |    21 +
 .../SPtests/rss/0.92/atom/0.3/title.php       |    21 +
 .../SPtests/rss/0.92/atom/1.0/title.php       |    21 +
 .../SPtests/rss/0.92/dc/1.0/title.php         |    21 +
 .../SPtests/rss/0.92/dc/1.1/title.php         |    21 +
 .../feed_title/SPtests/rss/0.92/title.php     |    21 +
 .../SPtests/rss/1.0/atom/0.3/title.php        |    21 +
 .../SPtests/rss/1.0/atom/1.0/title.php        |    21 +
 .../SPtests/rss/1.0/dc/1.0/title.php          |    21 +
 .../SPtests/rss/1.0/dc/1.1/title.php          |    21 +
 .../test/feed_title/SPtests/rss/1.0/title.php |    21 +
 .../SPtests/rss/2.0/atom/0.3/title.php        |    21 +
 .../SPtests/rss/2.0/atom/1.0/title.php        |    21 +
 .../SPtests/rss/2.0/dc/1.0/title.php          |    21 +
 .../SPtests/rss/2.0/dc/1.1/title.php          |    21 +
 .../test/feed_title/SPtests/rss/2.0/title.php |    21 +
 simplepie/test/feed_title/rss-profile/1.php   |    21 +
 simplepie/test/feed_title/rss-profile/2.php   |    21 +
 simplepie/test/feed_title/rss-profile/3.php   |    21 +
 simplepie/test/feed_title/rss-profile/4.php   |    21 +
 simplepie/test/feed_title/rss-profile/5.php   |    21 +
 simplepie/test/feed_title/rss-profile/6.php   |    21 +
 simplepie/test/feed_title/rss-profile/7.php   |    21 +
 .../SPtests/atom/0.3/dc/1.0/creator.php       |    21 +
 .../SPtests/atom/0.3/dc/1.1/creator.php       |    21 +
 .../SPtests/atom/0.3/feed.php                 |    24 +
 .../SPtests/atom/0.3/name.php                 |    23 +
 .../SPtests/atom/1.0/dc/1.0/creator.php       |    21 +
 .../SPtests/atom/1.0/dc/1.1/creator.php       |    21 +
 .../SPtests/atom/1.0/feed.php                 |    24 +
 .../SPtests/atom/1.0/name.php                 |    23 +
 .../SPtests/atom/1.0/source.php               |    25 +
 .../SPtests/rss/0.90/atom/0.3/name.php        |    23 +
 .../SPtests/rss/0.90/atom/1.0/name.php        |    23 +
 .../SPtests/rss/0.90/dc/1.0/creator.php       |    21 +
 .../SPtests/rss/0.90/dc/1.1/creator.php       |    21 +
 .../rss/0.91-netscape/atom/0.3/name.php       |    26 +
 .../rss/0.91-netscape/atom/1.0/name.php       |    26 +
 .../rss/0.91-netscape/dc/1.0/creator.php      |    24 +
 .../rss/0.91-netscape/dc/1.1/creator.php      |    24 +
 .../rss/0.91-userland/atom/0.3/name.php       |    25 +
 .../rss/0.91-userland/atom/1.0/name.php       |    25 +
 .../rss/0.91-userland/dc/1.0/creator.php      |    23 +
 .../rss/0.91-userland/dc/1.1/creator.php      |    23 +
 .../SPtests/rss/0.92/atom/0.3/name.php        |    25 +
 .../SPtests/rss/0.92/atom/1.0/name.php        |    25 +
 .../SPtests/rss/0.92/dc/1.0/creator.php       |    23 +
 .../SPtests/rss/0.92/dc/1.1/creator.php       |    23 +
 .../SPtests/rss/1.0/atom/0.3/name.php         |    23 +
 .../SPtests/rss/1.0/atom/1.0/name.php         |    23 +
 .../SPtests/rss/1.0/dc/1.0/creator.php        |    21 +
 .../SPtests/rss/1.0/dc/1.1/creator.php        |    21 +
 .../SPtests/rss/2.0/atom/0.3/name.php         |    25 +
 .../SPtests/rss/2.0/atom/1.0/name.php         |    25 +
 .../SPtests/rss/2.0/author.php                |    23 +
 .../SPtests/rss/2.0/dc/1.0/creator.php        |    23 +
 .../SPtests/rss/2.0/dc/1.1/creator.php        |    23 +
 .../SPtests/atom/0.3/dc/1.0/subject.php       |    21 +
 .../SPtests/atom/0.3/dc/1.1/subject.php       |    21 +
 .../SPtests/atom/1.0/dc/1.0/subject.php       |    21 +
 .../SPtests/atom/1.0/dc/1.1/subject.php       |    21 +
 .../SPtests/atom/1.0/label.php                |    21 +
 .../SPtests/atom/1.0/term.php                 |    21 +
 .../SPtests/bugs/21.0.php                     |    21 +
 .../SPtests/rss/0.90/atom/1.0/label.php       |    21 +
 .../SPtests/rss/0.90/atom/1.0/term.php        |    21 +
 .../SPtests/rss/0.90/dc/1.0/subject.php       |    21 +
 .../SPtests/rss/0.90/dc/1.1/subject.php       |    21 +
 .../rss/0.91-netscape/atom/1.0/label.php      |    24 +
 .../rss/0.91-netscape/atom/1.0/term.php       |    24 +
 .../rss/0.91-netscape/dc/1.0/subject.php      |    24 +
 .../rss/0.91-netscape/dc/1.1/subject.php      |    24 +
 .../rss/0.91-userland/atom/1.0/label.php      |    23 +
 .../rss/0.91-userland/atom/1.0/term.php       |    23 +
 .../rss/0.91-userland/dc/1.0/subject.php      |    23 +
 .../rss/0.91-userland/dc/1.1/subject.php      |    23 +
 .../SPtests/rss/0.92/atom/1.0/label.php       |    23 +
 .../SPtests/rss/0.92/atom/1.0/term.php        |    23 +
 .../SPtests/rss/0.92/category.php             |    23 +
 .../SPtests/rss/0.92/dc/1.0/subject.php       |    23 +
 .../SPtests/rss/0.92/dc/1.1/subject.php       |    23 +
 .../SPtests/rss/1.0/atom/1.0/label.php        |    21 +
 .../SPtests/rss/1.0/atom/1.0/term.php         |    21 +
 .../SPtests/rss/1.0/dc/1.0/subject.php        |    21 +
 .../SPtests/rss/1.0/dc/1.1/subject.php        |    21 +
 .../SPtests/rss/2.0/atom/1.0/label.php        |    23 +
 .../SPtests/rss/2.0/atom/1.0/term.php         |    23 +
 .../SPtests/rss/2.0/category.php              |    23 +
 .../SPtests/rss/2.0/dc/1.0/subject.php        |    23 +
 .../SPtests/rss/2.0/dc/1.1/subject.php        |    23 +
 .../SPtests/atom/0.3/content.php              |    21 +
 .../SPtests/atom/0.3/dc/1.0/description.php   |    21 +
 .../SPtests/atom/0.3/dc/1.1/description.php   |    21 +
 .../SPtests/atom/0.3/summary.php              |    21 +
 .../SPtests/atom/1.0/content.php              |    21 +
 .../SPtests/atom/1.0/dc/1.0/description.php   |    21 +
 .../SPtests/atom/1.0/dc/1.1/description.php   |    21 +
 .../SPtests/atom/1.0/summary.php              |    21 +
 .../SPtests/rss/0.90/atom/0.3/content.php     |    21 +
 .../SPtests/rss/0.90/atom/0.3/summary.php     |    21 +
 .../SPtests/rss/0.90/atom/1.0/content.php     |    21 +
 .../SPtests/rss/0.90/atom/1.0/summary.php     |    21 +
 .../SPtests/rss/0.90/dc/1.0/description.php   |    21 +
 .../SPtests/rss/0.90/dc/1.1/description.php   |    21 +
 .../SPtests/rss/0.90/description.php          |    21 +
 .../rss/0.91-netscape/atom/0.3/content.php    |    24 +
 .../rss/0.91-netscape/atom/0.3/summary.php    |    24 +
 .../rss/0.91-netscape/atom/1.0/content.php    |    24 +
 .../rss/0.91-netscape/atom/1.0/summary.php    |    24 +
 .../rss/0.91-netscape/dc/1.0/description.php  |    24 +
 .../rss/0.91-netscape/dc/1.1/description.php  |    24 +
 .../SPtests/rss/0.91-netscape/description.php |    24 +
 .../rss/0.91-userland/atom/0.3/content.php    |    23 +
 .../rss/0.91-userland/atom/0.3/summary.php    |    23 +
 .../rss/0.91-userland/atom/1.0/content.php    |    23 +
 .../rss/0.91-userland/atom/1.0/summary.php    |    23 +
 .../rss/0.91-userland/dc/1.0/description.php  |    23 +
 .../rss/0.91-userland/dc/1.1/description.php  |    23 +
 .../SPtests/rss/0.91-userland/description.php |    23 +
 .../SPtests/rss/0.92/atom/0.3/content.php     |    23 +
 .../SPtests/rss/0.92/atom/0.3/summary.php     |    23 +
 .../SPtests/rss/0.92/atom/1.0/content.php     |    23 +
 .../SPtests/rss/0.92/atom/1.0/summary.php     |    23 +
 .../SPtests/rss/0.92/dc/1.0/description.php   |    23 +
 .../SPtests/rss/0.92/dc/1.1/description.php   |    23 +
 .../SPtests/rss/0.92/description.php          |    23 +
 .../SPtests/rss/1.0/atom/0.3/content.php      |    21 +
 .../SPtests/rss/1.0/atom/0.3/summary.php      |    21 +
 .../SPtests/rss/1.0/atom/1.0/content.php      |    21 +
 .../SPtests/rss/1.0/atom/1.0/summary.php      |    21 +
 .../SPtests/rss/1.0/dc/1.0/description.php    |    21 +
 .../SPtests/rss/1.0/dc/1.1/description.php    |    21 +
 .../SPtests/rss/1.0/description.php           |    21 +
 .../SPtests/rss/2.0/atom/0.3/content.php      |    23 +
 .../SPtests/rss/2.0/atom/0.3/summary.php      |    23 +
 .../SPtests/rss/2.0/atom/1.0/content.php      |    23 +
 .../SPtests/rss/2.0/atom/1.0/summary.php      |    23 +
 .../SPtests/rss/2.0/dc/1.0/description.php    |    23 +
 .../SPtests/rss/2.0/dc/1.1/description.php    |    23 +
 .../SPtests/rss/2.0/description.php           |    23 +
 .../SPtests/atom/0.3/name.php                 |    23 +
 .../SPtests/atom/1.0/name.php                 |    23 +
 .../SPtests/rss/0.90/atom/0.3/name.php        |    23 +
 .../SPtests/rss/0.90/atom/1.0/name.php        |    23 +
 .../rss/0.91-netscape/atom/0.3/name.php       |    26 +
 .../rss/0.91-netscape/atom/1.0/name.php       |    26 +
 .../rss/0.91-userland/atom/0.3/name.php       |    25 +
 .../rss/0.91-userland/atom/1.0/name.php       |    25 +
 .../SPtests/rss/0.92/atom/0.3/name.php        |    25 +
 .../SPtests/rss/0.92/atom/1.0/name.php        |    25 +
 .../SPtests/rss/1.0/atom/0.3/name.php         |    23 +
 .../SPtests/rss/1.0/atom/1.0/name.php         |    23 +
 .../SPtests/rss/2.0/atom/0.3/name.php         |    25 +
 .../SPtests/rss/2.0/atom/1.0/name.php         |    25 +
 .../SPtests/atom/0.3/created.php              |    21 +
 .../SPtests/atom/0.3/dc/1.0/date.php          |    21 +
 .../SPtests/atom/0.3/dc/1.1/date.php          |    21 +
 .../SPtests/atom/0.3/issued.php               |    21 +
 .../SPtests/atom/0.3/modified.php             |    21 +
 .../SPtests/atom/1.0/dc/1.0/date.php          |    21 +
 .../SPtests/atom/1.0/dc/1.1/date.php          |    21 +
 .../SPtests/atom/1.0/published.php            |    21 +
 .../SPtests/atom/1.0/updated.php              |    21 +
 .../first_item_date/SPtests/bugs/876.0.php    |    23 +
 .../SPtests/rss/0.90/atom/0.3/created.php     |    21 +
 .../SPtests/rss/0.90/atom/0.3/issued.php      |    21 +
 .../SPtests/rss/0.90/atom/0.3/modified.php    |    21 +
 .../SPtests/rss/0.90/atom/1.0/published.php   |    21 +
 .../SPtests/rss/0.90/atom/1.0/updated.php     |    21 +
 .../SPtests/rss/0.90/dc/1.0/date.php          |    21 +
 .../SPtests/rss/0.90/dc/1.1/date.php          |    21 +
 .../rss/0.91-netscape/atom/0.3/created.php    |    24 +
 .../rss/0.91-netscape/atom/0.3/issued.php     |    24 +
 .../rss/0.91-netscape/atom/0.3/modified.php   |    24 +
 .../rss/0.91-netscape/atom/1.0/published.php  |    24 +
 .../rss/0.91-netscape/atom/1.0/updated.php    |    24 +
 .../SPtests/rss/0.91-netscape/dc/1.0/date.php |    24 +
 .../SPtests/rss/0.91-netscape/dc/1.1/date.php |    24 +
 .../rss/0.91-userland/atom/0.3/created.php    |    23 +
 .../rss/0.91-userland/atom/0.3/issued.php     |    23 +
 .../rss/0.91-userland/atom/0.3/modified.php   |    23 +
 .../rss/0.91-userland/atom/1.0/published.php  |    23 +
 .../rss/0.91-userland/atom/1.0/updated.php    |    23 +
 .../SPtests/rss/0.91-userland/dc/1.0/date.php |    23 +
 .../SPtests/rss/0.91-userland/dc/1.1/date.php |    23 +
 .../SPtests/rss/0.92/atom/0.3/created.php     |    23 +
 .../SPtests/rss/0.92/atom/0.3/issued.php      |    23 +
 .../SPtests/rss/0.92/atom/0.3/modified.php    |    23 +
 .../SPtests/rss/0.92/atom/1.0/published.php   |    23 +
 .../SPtests/rss/0.92/atom/1.0/updated.php     |    23 +
 .../SPtests/rss/0.92/dc/1.0/date.php          |    23 +
 .../SPtests/rss/0.92/dc/1.1/date.php          |    23 +
 .../SPtests/rss/1.0/atom/0.3/created.php      |    21 +
 .../SPtests/rss/1.0/atom/0.3/issued.php       |    21 +
 .../SPtests/rss/1.0/atom/0.3/modified.php     |    21 +
 .../SPtests/rss/1.0/atom/1.0/published.php    |    21 +
 .../SPtests/rss/1.0/atom/1.0/updated.php      |    21 +
 .../SPtests/rss/1.0/dc/1.0/date.php           |    21 +
 .../SPtests/rss/1.0/dc/1.1/date.php           |    21 +
 .../SPtests/rss/2.0/atom/0.3/created.php      |    23 +
 .../SPtests/rss/2.0/atom/0.3/issued.php       |    23 +
 .../SPtests/rss/2.0/atom/0.3/modified.php     |    23 +
 .../SPtests/rss/2.0/atom/1.0/published.php    |    23 +
 .../SPtests/rss/2.0/atom/1.0/updated.php      |    23 +
 .../SPtests/rss/2.0/dc/1.0/date.php           |    23 +
 .../SPtests/rss/2.0/dc/1.1/date.php           |    23 +
 .../SPtests/rss/2.0/pubdate.php               |    23 +
 .../SPtests/atom/0.3/content.php              |    21 +
 .../SPtests/atom/0.3/dc/1.0/description.php   |    21 +
 .../SPtests/atom/0.3/dc/1.1/description.php   |    21 +
 .../SPtests/atom/0.3/summary.php              |    21 +
 .../SPtests/atom/1.0/content.php              |    21 +
 .../SPtests/atom/1.0/dc/1.0/description.php   |    21 +
 .../SPtests/atom/1.0/dc/1.1/description.php   |    21 +
 .../SPtests/atom/1.0/summary.php              |    21 +
 .../SPtests/rss/0.90/atom/0.3/content.php     |    21 +
 .../SPtests/rss/0.90/atom/0.3/summary.php     |    21 +
 .../SPtests/rss/0.90/atom/1.0/content.php     |    21 +
 .../SPtests/rss/0.90/atom/1.0/summary.php     |    21 +
 .../SPtests/rss/0.90/dc/1.0/description.php   |    21 +
 .../SPtests/rss/0.90/dc/1.1/description.php   |    21 +
 .../SPtests/rss/0.90/description.php          |    21 +
 .../rss/0.91-netscape/atom/0.3/content.php    |    24 +
 .../rss/0.91-netscape/atom/0.3/summary.php    |    24 +
 .../rss/0.91-netscape/atom/1.0/content.php    |    24 +
 .../rss/0.91-netscape/atom/1.0/summary.php    |    24 +
 .../rss/0.91-netscape/dc/1.0/description.php  |    24 +
 .../rss/0.91-netscape/dc/1.1/description.php  |    24 +
 .../SPtests/rss/0.91-netscape/description.php |    24 +
 .../rss/0.91-userland/atom/0.3/content.php    |    23 +
 .../rss/0.91-userland/atom/0.3/summary.php    |    23 +
 .../rss/0.91-userland/atom/1.0/content.php    |    23 +
 .../rss/0.91-userland/atom/1.0/summary.php    |    23 +
 .../rss/0.91-userland/dc/1.0/description.php  |    23 +
 .../rss/0.91-userland/dc/1.1/description.php  |    23 +
 .../SPtests/rss/0.91-userland/description.php |    23 +
 .../SPtests/rss/0.92/atom/0.3/content.php     |    23 +
 .../SPtests/rss/0.92/atom/0.3/summary.php     |    23 +
 .../SPtests/rss/0.92/atom/1.0/content.php     |    23 +
 .../SPtests/rss/0.92/atom/1.0/summary.php     |    23 +
 .../SPtests/rss/0.92/dc/1.0/description.php   |    23 +
 .../SPtests/rss/0.92/dc/1.1/description.php   |    23 +
 .../SPtests/rss/0.92/description.php          |    23 +
 .../SPtests/rss/1.0/atom/0.3/content.php      |    21 +
 .../SPtests/rss/1.0/atom/0.3/summary.php      |    21 +
 .../SPtests/rss/1.0/atom/1.0/content.php      |    21 +
 .../SPtests/rss/1.0/atom/1.0/summary.php      |    21 +
 .../SPtests/rss/1.0/dc/1.0/description.php    |    21 +
 .../SPtests/rss/1.0/dc/1.1/description.php    |    21 +
 .../SPtests/rss/1.0/description.php           |    21 +
 .../SPtests/rss/2.0/atom/0.3/content.php      |    23 +
 .../SPtests/rss/2.0/atom/0.3/summary.php      |    23 +
 .../SPtests/rss/2.0/atom/1.0/content.php      |    23 +
 .../SPtests/rss/2.0/atom/1.0/summary.php      |    23 +
 .../SPtests/rss/2.0/dc/1.0/description.php    |    23 +
 .../SPtests/rss/2.0/dc/1.1/description.php    |    23 +
 .../SPtests/rss/2.0/description.php           |    23 +
 .../SPtests/atom/0.3/dc/1.0/identifier.php    |    21 +
 .../SPtests/atom/0.3/dc/1.1/identifier.php    |    21 +
 .../first_item_id/SPtests/atom/0.3/id.php     |    21 +
 .../SPtests/atom/1.0/dc/1.0/identifier.php    |    21 +
 .../SPtests/atom/1.0/dc/1.1/identifier.php    |    21 +
 .../first_item_id/SPtests/atom/1.0/id.php     |    21 +
 .../SPtests/rss/0.90/atom/0.3/id.php          |    21 +
 .../SPtests/rss/0.90/atom/1.0/id.php          |    21 +
 .../SPtests/rss/0.90/dc/1.0/identifier.php    |    21 +
 .../SPtests/rss/0.90/dc/1.1/identifier.php    |    21 +
 .../SPtests/rss/0.91-netscape/atom/0.3/id.php |    24 +
 .../SPtests/rss/0.91-netscape/atom/1.0/id.php |    24 +
 .../rss/0.91-netscape/dc/1.0/identifier.php   |    24 +
 .../rss/0.91-netscape/dc/1.1/identifier.php   |    24 +
 .../SPtests/rss/0.91-userland/atom/0.3/id.php |    23 +
 .../SPtests/rss/0.91-userland/atom/1.0/id.php |    23 +
 .../rss/0.91-userland/dc/1.0/identifier.php   |    23 +
 .../rss/0.91-userland/dc/1.1/identifier.php   |    23 +
 .../SPtests/rss/0.92/atom/0.3/id.php          |    23 +
 .../SPtests/rss/0.92/atom/1.0/id.php          |    23 +
 .../SPtests/rss/0.92/dc/1.0/identifier.php    |    23 +
 .../SPtests/rss/0.92/dc/1.1/identifier.php    |    23 +
 .../SPtests/rss/1.0/atom/0.3/id.php           |    21 +
 .../SPtests/rss/1.0/atom/1.0/id.php           |    21 +
 .../SPtests/rss/1.0/dc/1.0/identifier.php     |    21 +
 .../SPtests/rss/1.0/dc/1.1/identifier.php     |    21 +
 .../SPtests/rss/2.0/atom/0.3/id.php           |    23 +
 .../SPtests/rss/2.0/atom/1.0/id.php           |    23 +
 .../SPtests/rss/2.0/dc/1.0/identifier.php     |    23 +
 .../SPtests/rss/2.0/dc/1.1/identifier.php     |    23 +
 .../first_item_id/SPtests/rss/2.0/guid.php    |    23 +
 .../SPtests/atom/0.3/geo/lat.php              |    22 +
 .../SPtests/atom/0.3/georss/point.php         |    21 +
 .../SPtests/atom/1.0/geo/lat.php              |    22 +
 .../SPtests/atom/1.0/georss/point.php         |    21 +
 .../SPtests/rss/0.90/geo/lat.php              |    22 +
 .../SPtests/rss/0.90/georss/point.php         |    21 +
 .../SPtests/rss/0.91-netscape/geo/lat.php     |    25 +
 .../rss/0.91-netscape/georss/point.php        |    24 +
 .../SPtests/rss/0.91-userland/geo/lat.php     |    24 +
 .../rss/0.91-userland/georss/point.php        |    23 +
 .../SPtests/rss/0.92/geo/lat.php              |    24 +
 .../SPtests/rss/0.92/georss/point.php         |    23 +
 .../SPtests/rss/1.0/geo/lat.php               |    22 +
 .../SPtests/rss/1.0/georss/point.php          |    21 +
 .../SPtests/rss/2.0/geo/lat.php               |    24 +
 .../SPtests/rss/2.0/georss/point.php          |    23 +
 .../SPtests/atom/0.3/geo/long.php             |    22 +
 .../SPtests/atom/0.3/georss/point.php         |    21 +
 .../SPtests/atom/1.0/geo/long.php             |    22 +
 .../SPtests/atom/1.0/georss/point.php         |    21 +
 .../SPtests/rss/0.90/geo/long.php             |    22 +
 .../SPtests/rss/0.90/georss/point.php         |    21 +
 .../SPtests/rss/0.91-netscape/geo/long.php    |    25 +
 .../rss/0.91-netscape/georss/point.php        |    24 +
 .../SPtests/rss/0.91-userland/geo/long.php    |    24 +
 .../rss/0.91-userland/georss/point.php        |    23 +
 .../SPtests/rss/0.92/geo/long.php             |    24 +
 .../SPtests/rss/0.92/georss/point.php         |    23 +
 .../SPtests/rss/1.0/geo/long.php              |    22 +
 .../SPtests/rss/1.0/georss/point.php          |    21 +
 .../SPtests/rss/2.0/geo/long.php              |    24 +
 .../SPtests/rss/2.0/georss/point.php          |    23 +
 .../SPtests/atom/0.3/enclosure.php            |    21 +
 .../SPtests/atom/0.3/link.php                 |    21 +
 .../SPtests/atom/1.0/enclosure.php            |    21 +
 .../SPtests/atom/1.0/link.php                 |    21 +
 .../SPtests/bugs/10.0.php                     |    23 +
 .../SPtests/bugs/10.1.php                     |    23 +
 .../SPtests/bugs/10.2.php                     |    23 +
 .../SPtests/bugs/10.3.php                     |    23 +
 .../SPtests/bugs/156.0.php                    |    23 +
 .../SPtests/bugs/176.0.php                    |    23 +
 .../SPtests/bugs/176.1.php                    |    23 +
 .../SPtests/bugs/176.2.php                    |    23 +
 .../SPtests/bugs/640.0.php                    |    21 +
 .../SPtests/rss/0.90/atom/0.3/link.php        |    21 +
 .../SPtests/rss/0.90/atom/1.0/link.php        |    21 +
 .../SPtests/rss/0.90/link.php                 |    21 +
 .../rss/0.91-netscape/atom/0.3/link.php       |    24 +
 .../rss/0.91-netscape/atom/1.0/link.php       |    24 +
 .../SPtests/rss/0.91-netscape/link.php        |    24 +
 .../rss/0.91-userland/0.91-userland.php       |    23 +
 .../rss/0.91-userland/atom0.3-enclosure.php   |    23 +
 .../SPtests/rss/0.91-userland/atom0.3.php     |    23 +
 .../rss/0.91-userland/atom1.0-enclosure.php   |    23 +
 .../SPtests/rss/0.91-userland/atom1.0.php     |    23 +
 .../SPtests/rss/0.92/atom/0.3/link.php        |    23 +
 .../SPtests/rss/0.92/atom/1.0/link.php        |    23 +
 .../SPtests/rss/0.92/link.php                 |    23 +
 .../SPtests/rss/1.0/atom/0.3/link.php         |    21 +
 .../SPtests/rss/1.0/atom/1.0/link.php         |    21 +
 .../SPtests/rss/1.0/link.php                  |    21 +
 .../SPtests/rss/2.0/atom/0.3/link.php         |    23 +
 .../SPtests/rss/2.0/atom/1.0/link.php         |    23 +
 .../SPtests/rss/2.0/enclosure.php             |    23 +
 .../SPtests/rss/2.0/link.php                  |    23 +
 .../SPtests/xmlbase/1.php                     |    21 +
 .../SPtests/xmlbase/2.php                     |    21 +
 .../SPtests/xmlbase/3.php                     |    21 +
 .../SPtests/atom/0.3/dc/1.0/title.php         |    21 +
 .../SPtests/atom/0.3/dc/1.1/title.php         |    21 +
 .../SPtests/atom/0.3/title.php                |    21 +
 .../SPtests/atom/1.0/dc/1.0/title.php         |    21 +
 .../SPtests/atom/1.0/dc/1.1/title.php         |    21 +
 .../SPtests/atom/1.0/title.php                |    21 +
 .../first_item_title/SPtests/bugs/174.0.php   |    22 +
 .../SPtests/bugs/179.0.10.1.php               |    30 +
 .../SPtests/bugs/179.0.10.2.php               |    30 +
 .../SPtests/bugs/179.0.10.php                 |    30 +
 .../first_item_title/SPtests/bugs/270.0.php   |    22 +
 .../first_item_title/SPtests/bugs/431.0.php   |    26 +
 .../first_item_title/SPtests/bugs/431.1.php   |    26 +
 .../first_item_title/SPtests/bugs/475.0.php   |    24 +
 .../first_item_title/SPtests/bugs/475.1.php   |    24 +
 .../first_item_title/SPtests/bugs/475.2.php   |    24 +
 .../first_item_title/SPtests/bugs/475.3.php   |    24 +
 .../first_item_title/SPtests/bugs/508.0.php   |    23 +
 .../first_item_title/SPtests/bugs/508.1.php   |    23 +
 .../first_item_title/SPtests/bugs/508.2.php   |    23 +
 .../first_item_title/SPtests/bugs/508.3.php   |    23 +
 .../first_item_title/SPtests/bugs/564.0.php   |    21 +
 .../first_item_title/SPtests/bugs/629.0.php   |    26 +
 .../first_item_title/SPtests/bugs/629.1.php   |    26 +
 .../first_item_title/SPtests/bugs/666.0.php   |    24 +
 .../first_item_title/SPtests/bugs/666.1.php   |    24 +
 .../first_item_title/SPtests/bugs/828.0.php   |    21 +
 .../first_item_title/SPtests/bugs/968.0.php   |    22 +
 .../SPtests/entities/atom/0.3/1.1.php         |    21 +
 .../SPtests/entities/atom/0.3/1.2.php         |    21 +
 .../SPtests/entities/atom/0.3/1.3.php         |    21 +
 .../SPtests/entities/atom/0.3/2.1.php         |    21 +
 .../SPtests/entities/atom/0.3/2.2.php         |    21 +
 .../SPtests/entities/atom/0.3/2.3.php         |    21 +
 .../SPtests/entities/atom/0.3/3.1.php         |    21 +
 .../SPtests/entities/atom/0.3/3.2.php         |    21 +
 .../SPtests/entities/atom/0.3/3.3.php         |    21 +
 .../SPtests/entities/atom/1.0/1.1.php         |    21 +
 .../SPtests/entities/atom/1.0/1.2.php         |    21 +
 .../SPtests/entities/atom/1.0/1.3.php         |    21 +
 .../SPtests/entities/atom/1.0/2.1.php         |    21 +
 .../SPtests/entities/atom/1.0/2.2.php         |    21 +
 .../SPtests/entities/atom/1.0/2.3.php         |    21 +
 .../SPtests/entities/atom/1.0/3.1.php         |    21 +
 .../SPtests/entities/atom/1.0/3.2.php         |    21 +
 .../SPtests/entities/atom/1.0/3.3.php         |    21 +
 .../SPtests/entities/rss/0.90/1.php           |    21 +
 .../SPtests/entities/rss/0.90/2.php           |    21 +
 .../SPtests/entities/rss/0.90/3.php           |    21 +
 .../SPtests/entities/rss/0.91-netscape/1.php  |    24 +
 .../SPtests/entities/rss/0.91-netscape/2.php  |    24 +
 .../SPtests/entities/rss/0.91-netscape/3.php  |    24 +
 .../SPtests/entities/rss/0.91-userland/1.php  |    23 +
 .../SPtests/entities/rss/0.91-userland/2.php  |    23 +
 .../SPtests/entities/rss/0.91-userland/3.php  |    23 +
 .../SPtests/entities/rss/0.92/1.php           |    23 +
 .../SPtests/entities/rss/0.92/2.php           |    23 +
 .../SPtests/entities/rss/0.92/3.php           |    23 +
 .../SPtests/entities/rss/1.0/1.php            |    21 +
 .../SPtests/entities/rss/1.0/2.php            |    21 +
 .../SPtests/entities/rss/1.0/3.php            |    21 +
 .../SPtests/entities/rss/2.0/1.php            |    23 +
 .../SPtests/entities/rss/2.0/2.php            |    23 +
 .../SPtests/entities/rss/2.0/3.php            |    23 +
 .../SPtests/rss/0.90/atom/0.3/title.php       |    21 +
 .../SPtests/rss/0.90/atom/1.0/title.php       |    21 +
 .../SPtests/rss/0.90/dc/1.0/title.php         |    21 +
 .../SPtests/rss/0.90/dc/1.1/title.php         |    21 +
 .../SPtests/rss/0.90/title.php                |    21 +
 .../rss/0.91-netscape/atom/0.3/title.php      |    24 +
 .../rss/0.91-netscape/atom/1.0/title.php      |    24 +
 .../rss/0.91-netscape/dc/1.0/title.php        |    24 +
 .../rss/0.91-netscape/dc/1.1/title.php        |    24 +
 .../SPtests/rss/0.91-netscape/title.php       |    24 +
 .../rss/0.91-userland/atom/0.3/title.php      |    23 +
 .../rss/0.91-userland/atom/1.0/title.php      |    23 +
 .../rss/0.91-userland/dc/1.0/title.php        |    23 +
 .../rss/0.91-userland/dc/1.1/title.php        |    23 +
 .../SPtests/rss/0.91-userland/title.php       |    23 +
 .../SPtests/rss/0.92/atom/0.3/title.php       |    23 +
 .../SPtests/rss/0.92/atom/1.0/title.php       |    23 +
 .../SPtests/rss/0.92/dc/1.0/title.php         |    23 +
 .../SPtests/rss/0.92/dc/1.1/title.php         |    23 +
 .../SPtests/rss/0.92/title.php                |    23 +
 .../SPtests/rss/1.0/atom/0.3/title.php        |    21 +
 .../SPtests/rss/1.0/atom/1.0/title.php        |    21 +
 .../SPtests/rss/1.0/dc/1.0/title.php          |    21 +
 .../SPtests/rss/1.0/dc/1.1/title.php          |    21 +
 .../SPtests/rss/1.0/title.php                 |    21 +
 .../SPtests/rss/2.0/atom/0.3/title.php        |    23 +
 .../SPtests/rss/2.0/atom/1.0/title.php        |    23 +
 .../SPtests/rss/2.0/dc/1.0/title.php          |    23 +
 .../SPtests/rss/2.0/dc/1.1/title.php          |    23 +
 .../SPtests/rss/2.0/title.php                 |    23 +
 .../first_item_title/SPtests/xmlbase/1.php    |    21 +
 simplepie/test/functions.php                  |   486 +
 .../SPtests/rss/2.0/itunes_channel_block.php  |    24 +
 .../rss/2.0/itunes_channel_block_default.php  |    23 +
 .../rss/2.0/itunes_channel_block_reverse.php  |    24 +
 simplepie/test/logo.png                       |   Bin 0 -> 4819 bytes
 simplepie/test/test.php                       |   205 +
 simplepie/test/unit_test/unit_test.php        |   126 +
 simplepie/test/unit_test/unit_test2.php       |   630 +
 .../html/cdata.php                            |    38 +
 .../html/entity.php                           |    38 +
 .../html/ncr.php                              |    38 +
 .../text/cdata.php                            |    38 +
 .../text/entity.php                           |    37 +
 .../text/ncr.php                              |    37 +
 .../xhtml/entity.php                          |    37 +
 .../xhtml/ncr.php                             |    37 +
 909 files changed, 38245 insertions(+)
 create mode 100644 simplepie/LICENSE.txt
 create mode 100644 simplepie/README.markdown
 create mode 100644 simplepie/compatibility_test/COMPATIBILITY README.txt
 create mode 100644 simplepie/compatibility_test/sp_compatibility_test.php
 create mode 100644 simplepie/create.php
 create mode 100644 simplepie/db.sql
 create mode 100755 simplepie/demo/cli_test.php
 create mode 100644 simplepie/demo/for_the_demo/alternate_favicon.png
 create mode 100644 simplepie/demo/for_the_demo/background_blockquote.png
 create mode 100644 simplepie/demo/for_the_demo/background_menuitem.gif
 create mode 100644 simplepie/demo/for_the_demo/background_menuitem_off.gif
 create mode 100644 simplepie/demo/for_the_demo/background_menuitem_shadow.gif
 create mode 100644 simplepie/demo/for_the_demo/favicons/alternate.png
 create mode 100644 simplepie/demo/for_the_demo/favicons/blinklist.png
 create mode 100644 simplepie/demo/for_the_demo/favicons/blogmarks.png
 create mode 100644 simplepie/demo/for_the_demo/favicons/delicious.png
 create mode 100644 simplepie/demo/for_the_demo/favicons/digg.png
 create mode 100644 simplepie/demo/for_the_demo/favicons/magnolia.png
 create mode 100644 simplepie/demo/for_the_demo/favicons/myweb2.png
 create mode 100644 simplepie/demo/for_the_demo/favicons/newsvine.png
 create mode 100644 simplepie/demo/for_the_demo/favicons/reddit.png
 create mode 100644 simplepie/demo/for_the_demo/favicons/segnalo.png
 create mode 100644 simplepie/demo/for_the_demo/favicons/simpy.png
 create mode 100644 simplepie/demo/for_the_demo/favicons/spurl.png
 create mode 100644 simplepie/demo/for_the_demo/favicons/technorati.png
 create mode 100644 simplepie/demo/for_the_demo/favicons/wists.png
 create mode 100644 simplepie/demo/for_the_demo/feed.png
 create mode 100644 simplepie/demo/for_the_demo/logo_simplepie_demo.png
 create mode 100644 simplepie/demo/for_the_demo/lucida-grande-bold.swf
 create mode 100644 simplepie/demo/for_the_demo/mediaplayer.swf
 create mode 100755 simplepie/demo/for_the_demo/mediaplayer_readme.htm
 create mode 100644 simplepie/demo/for_the_demo/mini_podcast.png
 create mode 100644 simplepie/demo/for_the_demo/place_audio.png
 create mode 100644 simplepie/demo/for_the_demo/place_video.png
 create mode 100644 simplepie/demo/for_the_demo/sIFR-print.css
 create mode 100644 simplepie/demo/for_the_demo/sIFR-screen.css
 create mode 100644 simplepie/demo/for_the_demo/sifr-config.js
 create mode 100644 simplepie/demo/for_the_demo/sifr.js
 create mode 100644 simplepie/demo/for_the_demo/simplepie.css
 create mode 100644 simplepie/demo/for_the_demo/sleight.js
 create mode 100644 simplepie/demo/for_the_demo/source_files/place_audio_fireworksfile.png
 create mode 100644 simplepie/demo/for_the_demo/source_files/place_video_fireworksfile.png
 create mode 100644 simplepie/demo/for_the_demo/source_files/sIFR-r245/SifrStyleSheet.as
 create mode 100644 simplepie/demo/for_the_demo/source_files/sIFR-r245/_README_.txt
 create mode 100644 simplepie/demo/for_the_demo/source_files/sIFR-r245/options.as
 create mode 100644 simplepie/demo/for_the_demo/source_files/sIFR-r245/sIFR.as
 create mode 100644 simplepie/demo/for_the_demo/source_files/sIFR-r245/sifr.fla
 create mode 100644 simplepie/demo/for_the_demo/top_gradient.gif
 create mode 100644 simplepie/demo/for_the_demo/verdana.swf
 create mode 100644 simplepie/demo/for_the_demo/yanone-kaffeesatz-bold.swf
 create mode 100644 simplepie/demo/handler_image.php
 create mode 100644 simplepie/demo/index.php
 create mode 100644 simplepie/demo/minimalistic.php
 create mode 100644 simplepie/demo/multifeeds.php
 create mode 100644 simplepie/demo/test.php
 create mode 100644 simplepie/idn/LICENCE
 create mode 100644 simplepie/idn/ReadMe.txt
 create mode 100644 simplepie/idn/idna_convert.class.php
 create mode 100644 simplepie/idn/npdata.ser
 create mode 100644 simplepie/simplepie.inc
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/README
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/abnormal/1.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/abnormal/10.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/abnormal/11.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/abnormal/12.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/abnormal/13.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/abnormal/14.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/abnormal/15.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/abnormal/16.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/abnormal/17.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/abnormal/18.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/abnormal/19.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/abnormal/2.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/abnormal/3.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/abnormal/4.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/abnormal/5.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/abnormal/6.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/abnormal/7.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/abnormal/8.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/abnormal/9.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/base.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/normal/1.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/normal/10.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/normal/11.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/normal/12.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/normal/13.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/normal/14.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/normal/15.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/normal/16.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/normal/17.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/normal/18.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/normal/19.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/normal/2.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/normal/20.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/normal/21.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/normal/22.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/normal/23.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/normal/3.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/normal/4.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/normal/5.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/normal/6.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/normal/7.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/normal/8.php
 create mode 100644 simplepie/test/absolutize/RFC3986.5.4/normal/9.php
 create mode 100644 simplepie/test/absolutize/SPtests/bugs/1091.0.1.php
 create mode 100644 simplepie/test/absolutize/SPtests/bugs/1091.0.php
 create mode 100644 simplepie/test/absolutize/SPtests/bugs/274.0.php
 create mode 100644 simplepie/test/absolutize/SPtests/bugs/274.1.php
 create mode 100644 simplepie/test/absolutize/SPtests/bugs/274.2.php
 create mode 100644 simplepie/test/absolutize/SPtests/bugs/274.3.php
 create mode 100644 simplepie/test/absolutize/SPtests/bugs/579.0.php
 create mode 100644 simplepie/test/absolutize/SPtests/bugs/691.0.php
 create mode 100644 simplepie/test/absolutize/SPtests/bugs/691.1.php
 create mode 100644 simplepie/test/absolutize/SPtests/bugs/691.2.php
 create mode 100644 simplepie/test/absolutize/SPtests/bugs/691.3.php
 create mode 100644 simplepie/test/absolutize/SPtests/bugs/691.4.php
 create mode 100644 simplepie/test/absolutize/SPtests/bugs/691.5.php
 create mode 100644 simplepie/test/absolutize/SPtests/bugs/691.6.php
 create mode 100644 simplepie/test/absolutize/SPtests/bugs/691.7.php
 create mode 100644 simplepie/test/absolutize/SPtests/bugs/691.8.php
 create mode 100644 simplepie/test/absolutize/SPtests/bugs/pct_encoding_invalid_second_char.php
 create mode 100644 simplepie/test/background.gif
 create mode 100644 simplepie/test/date/RFC3339/1.php
 create mode 100644 simplepie/test/date/RFC3339/2.php
 create mode 100644 simplepie/test/date/RFC3339/3.php
 create mode 100644 simplepie/test/date/RFC3339/README
 create mode 100644 simplepie/test/date/SPtests/RFC2822/invalid/four_digit_year.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/invalid/full_name_of_day.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/invalid/invalid_day.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/invalid/invalid_timezone.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/invalid/mismatch_name_of_day.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/1.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/10.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/11.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/12.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/13.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/14.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/15.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/16.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/17.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/18.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/19.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/2.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/20.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/21.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/22.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/23.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/24.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/25.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/26.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/27.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/28.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/29.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/3.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/30.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/31.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/32.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/33.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/34.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/35.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/36.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/37.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/38.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/39.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/4.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/40.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/41.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/42.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/43.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/44.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/5.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/6.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/7.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/8.php
 create mode 100644 simplepie/test/date/SPtests/RFC2822/valid/9.php
 create mode 100644 simplepie/test/date/SPtests/bugs/157.0.php
 create mode 100644 simplepie/test/date/SPtests/bugs/259.0.php
 create mode 100644 simplepie/test/date/W3CDTF/1.php
 create mode 100644 simplepie/test/date/W3CDTF/2.php
 create mode 100644 simplepie/test/date/W3CDTF/README
 create mode 100644 simplepie/test/feed_category_label/SPtests/atom/0.3/dc/1.0/subject.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/atom/0.3/dc/1.1/subject.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/atom/1.0/dc/1.0/subject.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/atom/1.0/dc/1.1/subject.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/atom/1.0/label.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/atom/1.0/term.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/bugs/21.0.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/0.90/atom/1.0/label.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/0.90/atom/1.0/term.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/0.90/dc/1.0/subject.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/0.90/dc/1.1/subject.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/0.91-netscape/atom/1.0/label.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/0.91-netscape/atom/1.0/term.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/0.91-netscape/dc/1.0/subject.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/0.91-netscape/dc/1.1/subject.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/0.91-userland/atom/1.0/label.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/0.91-userland/atom/1.0/term.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/0.91-userland/dc/1.0/subject.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/0.91-userland/dc/1.1/subject.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/0.92/atom/1.0/label.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/0.92/atom/1.0/term.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/0.92/dc/1.0/subject.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/0.92/dc/1.1/subject.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/1.0/atom/1.0/label.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/1.0/atom/1.0/term.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/1.0/dc/1.0/subject.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/1.0/dc/1.1/subject.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/2.0/atom/1.0/label.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/2.0/atom/1.0/term.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/2.0/category.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/2.0/dc/1.0/subject.php
 create mode 100644 simplepie/test/feed_category_label/SPtests/rss/2.0/dc/1.1/subject.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/atom/0.3/dc/1.0/rights.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/atom/0.3/dc/1.1/rights.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/atom/1.0/dc/1.0/rights.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/atom/1.0/dc/1.1/rights.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/atom/1.0/rights.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/rss/0.90/atom/1.0/rights.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/rss/0.90/dc/1.0/rights.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/rss/0.90/dc/1.1/rights.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/rss/0.91-netscape/atom/1.0/rights.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/rss/0.91-netscape/copyright.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/rss/0.91-netscape/dc/1.0/rights.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/rss/0.91-netscape/dc/1.1/rights.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/rss/0.91-userland/atom/1.0/rights.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/rss/0.91-userland/copyright.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/rss/0.91-userland/dc/1.0/rights.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/rss/0.91-userland/dc/1.1/rights.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/rss/0.92/atom/1.0/rights.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/rss/0.92/copyright.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/rss/0.92/dc/1.0/rights.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/rss/0.92/dc/1.1/rights.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/rss/1.0/atom/1.0/rights.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/rss/1.0/dc/1.0/rights.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/rss/1.0/dc/1.1/rights.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/rss/2.0/atom/1.0/rights.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/rss/2.0/copyright.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/rss/2.0/dc/1.0/rights.php
 create mode 100644 simplepie/test/feed_copyright/SPtests/rss/2.0/dc/1.1/rights.php
 create mode 100644 simplepie/test/feed_description/SPtests/atom/0.3/dc/1.0/description.php
 create mode 100644 simplepie/test/feed_description/SPtests/atom/0.3/dc/1.1/description.php
 create mode 100644 simplepie/test/feed_description/SPtests/atom/0.3/tagline.php
 create mode 100644 simplepie/test/feed_description/SPtests/atom/1.0/dc/1.0/description.php
 create mode 100644 simplepie/test/feed_description/SPtests/atom/1.0/dc/1.1/description.php
 create mode 100644 simplepie/test/feed_description/SPtests/atom/1.0/subtitle.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/0.90/atom/0.3/tagline.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/0.90/atom/1.0/subtitle.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/0.90/dc/1.0/description.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/0.90/dc/1.1/description.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/0.90/description.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/0.91-netscape/atom/0.3/tagline.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/0.91-netscape/atom/1.0/subtitle.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/0.91-netscape/dc/1.0/description.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/0.91-netscape/dc/1.1/description.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/0.91-netscape/description.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/0.91-userland/atom/0.3/tagline.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/0.91-userland/atom/1.0/subtitle.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/0.91-userland/dc/1.0/description.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/0.91-userland/dc/1.1/description.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/0.91-userland/description.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/0.92/atom/0.3/tagline.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/0.92/atom/1.0/subtitle.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/0.92/dc/1.0/description.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/0.92/dc/1.1/description.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/0.92/description.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/1.0/atom/0.3/tagline.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/1.0/atom/1.0/subtitle.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/1.0/dc/1.0/description.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/1.0/dc/1.1/description.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/1.0/description.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/2.0/atom/0.3/tagline.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/2.0/atom/1.0/subtitle.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/2.0/dc/1.0/description.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/2.0/dc/1.1/description.php
 create mode 100644 simplepie/test/feed_description/SPtests/rss/2.0/description.php
 create mode 100644 simplepie/test/feed_image_height/SPtests/atom/1.0/icon-default.php
 create mode 100644 simplepie/test/feed_image_height/SPtests/atom/1.0/logo-default.php
 create mode 100644 simplepie/test/feed_image_height/SPtests/rss/0.90/atom/1.0/icon-default.php
 create mode 100644 simplepie/test/feed_image_height/SPtests/rss/0.90/atom/1.0/logo-default.php
 create mode 100644 simplepie/test/feed_image_height/SPtests/rss/0.90/url-default.php
 create mode 100644 simplepie/test/feed_image_height/SPtests/rss/0.91-netscape/atom/1.0/icon-default.php
 create mode 100644 simplepie/test/feed_image_height/SPtests/rss/0.91-netscape/atom/1.0/logo-default.php
 create mode 100644 simplepie/test/feed_image_height/SPtests/rss/0.91-netscape/height.php
 create mode 100644 simplepie/test/feed_image_height/SPtests/rss/0.91-netscape/url-default.php
 create mode 100644 simplepie/test/feed_image_height/SPtests/rss/0.91-userland/atom/1.0/icon-default.php
 create mode 100644 simplepie/test/feed_image_height/SPtests/rss/0.91-userland/atom/1.0/logo-default.php
 create mode 100644 simplepie/test/feed_image_height/SPtests/rss/0.91-userland/height.php
 create mode 100644 simplepie/test/feed_image_height/SPtests/rss/0.91-userland/url-default.php
 create mode 100644 simplepie/test/feed_image_height/SPtests/rss/0.92/atom/1.0/icon-default.php
 create mode 100644 simplepie/test/feed_image_height/SPtests/rss/0.92/atom/1.0/logo-default.php
 create mode 100644 simplepie/test/feed_image_height/SPtests/rss/0.92/height.php
 create mode 100644 simplepie/test/feed_image_height/SPtests/rss/0.92/url-default.php
 create mode 100644 simplepie/test/feed_image_height/SPtests/rss/1.0/atom/1.0/icon-default.php
 create mode 100644 simplepie/test/feed_image_height/SPtests/rss/1.0/atom/1.0/logo-default.php
 create mode 100644 simplepie/test/feed_image_height/SPtests/rss/1.0/url-default.php
 create mode 100644 simplepie/test/feed_image_height/SPtests/rss/2.0/atom/1.0/icon-default.php
 create mode 100644 simplepie/test/feed_image_height/SPtests/rss/2.0/atom/1.0/logo-default.php
 create mode 100644 simplepie/test/feed_image_height/SPtests/rss/2.0/height.php
 create mode 100644 simplepie/test/feed_image_height/SPtests/rss/2.0/url-default.php
 create mode 100644 simplepie/test/feed_image_link/SPtests/rss/0.90/link.php
 create mode 100644 simplepie/test/feed_image_link/SPtests/rss/0.91-netscape/link.php
 create mode 100644 simplepie/test/feed_image_link/SPtests/rss/0.91-userland/link.php
 create mode 100644 simplepie/test/feed_image_link/SPtests/rss/0.92/link.php
 create mode 100644 simplepie/test/feed_image_link/SPtests/rss/1.0/link.php
 create mode 100644 simplepie/test/feed_image_link/SPtests/rss/2.0/link.php
 create mode 100644 simplepie/test/feed_image_title/SPtests/rss/0.90/dc/1.0/title.php
 create mode 100644 simplepie/test/feed_image_title/SPtests/rss/0.90/dc/1.1/title.php
 create mode 100644 simplepie/test/feed_image_title/SPtests/rss/0.90/title.php
 create mode 100644 simplepie/test/feed_image_title/SPtests/rss/0.91-netscape/dc/1.0/title.php
 create mode 100644 simplepie/test/feed_image_title/SPtests/rss/0.91-netscape/dc/1.1/title.php
 create mode 100644 simplepie/test/feed_image_title/SPtests/rss/0.91-netscape/title.php
 create mode 100644 simplepie/test/feed_image_title/SPtests/rss/0.91-userland/dc/1.0/title.php
 create mode 100644 simplepie/test/feed_image_title/SPtests/rss/0.91-userland/dc/1.1/title.php
 create mode 100644 simplepie/test/feed_image_title/SPtests/rss/0.91-userland/title.php
 create mode 100644 simplepie/test/feed_image_title/SPtests/rss/0.92/dc/1.0/title.php
 create mode 100644 simplepie/test/feed_image_title/SPtests/rss/0.92/dc/1.1/title.php
 create mode 100644 simplepie/test/feed_image_title/SPtests/rss/0.92/title.php
 create mode 100644 simplepie/test/feed_image_title/SPtests/rss/1.0/dc/1.0/title.php
 create mode 100644 simplepie/test/feed_image_title/SPtests/rss/1.0/dc/1.1/title.php
 create mode 100644 simplepie/test/feed_image_title/SPtests/rss/1.0/title.php
 create mode 100644 simplepie/test/feed_image_title/SPtests/rss/2.0/dc/1.0/title.php
 create mode 100644 simplepie/test/feed_image_title/SPtests/rss/2.0/dc/1.1/title.php
 create mode 100644 simplepie/test/feed_image_title/SPtests/rss/2.0/title.php
 create mode 100644 simplepie/test/feed_image_url/SPtests/atom/1.0/icon.php
 create mode 100644 simplepie/test/feed_image_url/SPtests/atom/1.0/logo.php
 create mode 100644 simplepie/test/feed_image_url/SPtests/rss/0.90/atom/1.0/icon.php
 create mode 100644 simplepie/test/feed_image_url/SPtests/rss/0.90/atom/1.0/logo.php
 create mode 100644 simplepie/test/feed_image_url/SPtests/rss/0.90/url.php
 create mode 100644 simplepie/test/feed_image_url/SPtests/rss/0.91-netscape/atom/1.0/icon.php
 create mode 100644 simplepie/test/feed_image_url/SPtests/rss/0.91-netscape/atom/1.0/logo.php
 create mode 100644 simplepie/test/feed_image_url/SPtests/rss/0.91-netscape/url.php
 create mode 100644 simplepie/test/feed_image_url/SPtests/rss/0.91-userland/atom/1.0/icon.php
 create mode 100644 simplepie/test/feed_image_url/SPtests/rss/0.91-userland/atom/1.0/logo.php
 create mode 100644 simplepie/test/feed_image_url/SPtests/rss/0.91-userland/url.php
 create mode 100644 simplepie/test/feed_image_url/SPtests/rss/0.92/atom/1.0/icon.php
 create mode 100644 simplepie/test/feed_image_url/SPtests/rss/0.92/atom/1.0/logo.php
 create mode 100644 simplepie/test/feed_image_url/SPtests/rss/0.92/url.php
 create mode 100644 simplepie/test/feed_image_url/SPtests/rss/1.0/atom/1.0/icon.php
 create mode 100644 simplepie/test/feed_image_url/SPtests/rss/1.0/atom/1.0/logo.php
 create mode 100644 simplepie/test/feed_image_url/SPtests/rss/1.0/url.php
 create mode 100644 simplepie/test/feed_image_url/SPtests/rss/2.0/atom/1.0/icon.php
 create mode 100644 simplepie/test/feed_image_url/SPtests/rss/2.0/atom/1.0/logo.php
 create mode 100644 simplepie/test/feed_image_url/SPtests/rss/2.0/url.php
 create mode 100644 simplepie/test/feed_image_width/SPtests/atom/1.0/icon-default.php
 create mode 100644 simplepie/test/feed_image_width/SPtests/atom/1.0/logo-default.php
 create mode 100644 simplepie/test/feed_image_width/SPtests/rss/0.90/atom/1.0/icon-default.php
 create mode 100644 simplepie/test/feed_image_width/SPtests/rss/0.90/atom/1.0/logo-default.php
 create mode 100644 simplepie/test/feed_image_width/SPtests/rss/0.90/url-default.php
 create mode 100644 simplepie/test/feed_image_width/SPtests/rss/0.91-netscape/atom/1.0/icon-default.php
 create mode 100644 simplepie/test/feed_image_width/SPtests/rss/0.91-netscape/atom/1.0/logo-default.php
 create mode 100644 simplepie/test/feed_image_width/SPtests/rss/0.91-netscape/url-default.php
 create mode 100644 simplepie/test/feed_image_width/SPtests/rss/0.91-netscape/width.php
 create mode 100644 simplepie/test/feed_image_width/SPtests/rss/0.91-userland/atom/1.0/icon-default.php
 create mode 100644 simplepie/test/feed_image_width/SPtests/rss/0.91-userland/atom/1.0/logo-default.php
 create mode 100644 simplepie/test/feed_image_width/SPtests/rss/0.91-userland/url-default.php
 create mode 100644 simplepie/test/feed_image_width/SPtests/rss/0.91-userland/width.php
 create mode 100644 simplepie/test/feed_image_width/SPtests/rss/0.92/atom/1.0/icon-default.php
 create mode 100644 simplepie/test/feed_image_width/SPtests/rss/0.92/atom/1.0/logo-default.php
 create mode 100644 simplepie/test/feed_image_width/SPtests/rss/0.92/url-default.php
 create mode 100644 simplepie/test/feed_image_width/SPtests/rss/0.92/width.php
 create mode 100644 simplepie/test/feed_image_width/SPtests/rss/1.0/atom/1.0/icon-default.php
 create mode 100644 simplepie/test/feed_image_width/SPtests/rss/1.0/atom/1.0/logo-default.php
 create mode 100644 simplepie/test/feed_image_width/SPtests/rss/1.0/url-default.php
 create mode 100644 simplepie/test/feed_image_width/SPtests/rss/2.0/atom/1.0/icon-default.php
 create mode 100644 simplepie/test/feed_image_width/SPtests/rss/2.0/atom/1.0/logo-default.php
 create mode 100644 simplepie/test/feed_image_width/SPtests/rss/2.0/url-default.php
 create mode 100644 simplepie/test/feed_image_width/SPtests/rss/2.0/width.php
 create mode 100644 simplepie/test/feed_language/SPtests/atom/0.3/dc/1.0/language.php
 create mode 100644 simplepie/test/feed_language/SPtests/atom/0.3/dc/1.1/language.php
 create mode 100644 simplepie/test/feed_language/SPtests/atom/0.3/xml_lang.php
 create mode 100644 simplepie/test/feed_language/SPtests/atom/1.0/dc/1.0/language.php
 create mode 100644 simplepie/test/feed_language/SPtests/atom/1.0/dc/1.1/language.php
 create mode 100644 simplepie/test/feed_language/SPtests/atom/1.0/xml_lang.php
 create mode 100644 simplepie/test/feed_language/SPtests/rss/0.90/dc/1.0/language.php
 create mode 100644 simplepie/test/feed_language/SPtests/rss/0.90/dc/1.1/language.php
 create mode 100644 simplepie/test/feed_language/SPtests/rss/0.91-netscape/dc/1.0/language.php
 create mode 100644 simplepie/test/feed_language/SPtests/rss/0.91-netscape/dc/1.1/language.php
 create mode 100644 simplepie/test/feed_language/SPtests/rss/0.91-netscape/language.php
 create mode 100644 simplepie/test/feed_language/SPtests/rss/0.91-userland/dc/1.0/language.php
 create mode 100644 simplepie/test/feed_language/SPtests/rss/0.91-userland/dc/1.1/language.php
 create mode 100644 simplepie/test/feed_language/SPtests/rss/0.91-userland/language.php
 create mode 100644 simplepie/test/feed_language/SPtests/rss/0.92/dc/1.0/language.php
 create mode 100644 simplepie/test/feed_language/SPtests/rss/0.92/dc/1.1/language.php
 create mode 100644 simplepie/test/feed_language/SPtests/rss/0.92/language.php
 create mode 100644 simplepie/test/feed_language/SPtests/rss/1.0/dc/1.0/language.php
 create mode 100644 simplepie/test/feed_language/SPtests/rss/1.0/dc/1.1/language.php
 create mode 100644 simplepie/test/feed_language/SPtests/rss/2.0/dc/1.0/language.php
 create mode 100644 simplepie/test/feed_language/SPtests/rss/2.0/dc/1.1/language.php
 create mode 100644 simplepie/test/feed_language/SPtests/rss/2.0/language.php
 create mode 100644 simplepie/test/feed_link/SPtests/atom/0.3/link.php
 create mode 100644 simplepie/test/feed_link/SPtests/atom/0.3/link_@rel_alternate.php
 create mode 100644 simplepie/test/feed_link/SPtests/atom/1.0/link.php
 create mode 100644 simplepie/test/feed_link/SPtests/atom/1.0/link_@rel_absolute_iri.php
 create mode 100644 simplepie/test/feed_link/SPtests/atom/1.0/link_@rel_alternate.php
 create mode 100644 simplepie/test/feed_link/SPtests/rss/0.90/atom/0.3/link.php
 create mode 100644 simplepie/test/feed_link/SPtests/rss/0.90/atom/1.0/link.php
 create mode 100644 simplepie/test/feed_link/SPtests/rss/0.90/link.php
 create mode 100644 simplepie/test/feed_link/SPtests/rss/0.91-netscape/atom/0.3/link.php
 create mode 100644 simplepie/test/feed_link/SPtests/rss/0.91-netscape/atom/1.0/link.php
 create mode 100644 simplepie/test/feed_link/SPtests/rss/0.91-netscape/link.php
 create mode 100644 simplepie/test/feed_link/SPtests/rss/0.91-userland/atom/0.3/link.php
 create mode 100644 simplepie/test/feed_link/SPtests/rss/0.91-userland/atom/1.0/link.php
 create mode 100644 simplepie/test/feed_link/SPtests/rss/0.91-userland/link.php
 create mode 100644 simplepie/test/feed_link/SPtests/rss/0.92/atom/0.3/link.php
 create mode 100644 simplepie/test/feed_link/SPtests/rss/0.92/atom/1.0/link.php
 create mode 100644 simplepie/test/feed_link/SPtests/rss/0.92/link.php
 create mode 100644 simplepie/test/feed_link/SPtests/rss/1.0/atom/0.3/link.php
 create mode 100644 simplepie/test/feed_link/SPtests/rss/1.0/atom/1.0/link.php
 create mode 100644 simplepie/test/feed_link/SPtests/rss/1.0/link.php
 create mode 100644 simplepie/test/feed_link/SPtests/rss/2.0/atom/0.3/link.php
 create mode 100644 simplepie/test/feed_link/SPtests/rss/2.0/atom/1.0/link.php
 create mode 100644 simplepie/test/feed_link/SPtests/rss/2.0/link.php
 create mode 100644 simplepie/test/feed_title/SPtests/atom/0.3/dc/1.0/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/atom/0.3/dc/1.1/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/atom/0.3/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/atom/1.0/dc/1.0/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/atom/1.0/dc/1.1/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/atom/1.0/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/bugs/16.0.php
 create mode 100644 simplepie/test/feed_title/SPtests/bugs/174.0.php
 create mode 100644 simplepie/test/feed_title/SPtests/bugs/18.0.php
 create mode 100644 simplepie/test/feed_title/SPtests/bugs/18.1.php
 create mode 100644 simplepie/test/feed_title/SPtests/bugs/20.0.php
 create mode 100644 simplepie/test/feed_title/SPtests/bugs/20.1.php
 create mode 100644 simplepie/test/feed_title/SPtests/bugs/20.2.php
 create mode 100644 simplepie/test/feed_title/SPtests/bugs/272.0.php
 create mode 100644 simplepie/test/feed_title/SPtests/bugs/272.1.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/0.90/atom/0.3/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/0.90/atom/1.0/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/0.90/dc/1.0/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/0.90/dc/1.1/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/0.90/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/0.91-netscape/atom/0.3/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/0.91-netscape/atom/1.0/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/0.91-netscape/dc/1.0/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/0.91-netscape/dc/1.1/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/0.91-netscape/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/0.91-userland/atom/0.3/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/0.91-userland/atom/1.0/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/0.91-userland/dc/1.0/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/0.91-userland/dc/1.1/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/0.91-userland/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/0.92/atom/0.3/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/0.92/atom/1.0/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/0.92/dc/1.0/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/0.92/dc/1.1/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/0.92/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/1.0/atom/0.3/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/1.0/atom/1.0/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/1.0/dc/1.0/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/1.0/dc/1.1/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/1.0/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/2.0/atom/0.3/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/2.0/atom/1.0/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/2.0/dc/1.0/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/2.0/dc/1.1/title.php
 create mode 100644 simplepie/test/feed_title/SPtests/rss/2.0/title.php
 create mode 100644 simplepie/test/feed_title/rss-profile/1.php
 create mode 100644 simplepie/test/feed_title/rss-profile/2.php
 create mode 100644 simplepie/test/feed_title/rss-profile/3.php
 create mode 100644 simplepie/test/feed_title/rss-profile/4.php
 create mode 100644 simplepie/test/feed_title/rss-profile/5.php
 create mode 100644 simplepie/test/feed_title/rss-profile/6.php
 create mode 100644 simplepie/test/feed_title/rss-profile/7.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/atom/0.3/dc/1.0/creator.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/atom/0.3/dc/1.1/creator.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/atom/0.3/feed.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/atom/0.3/name.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/atom/1.0/dc/1.0/creator.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/atom/1.0/dc/1.1/creator.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/atom/1.0/feed.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/atom/1.0/name.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/atom/1.0/source.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/0.90/atom/0.3/name.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/0.90/atom/1.0/name.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/0.90/dc/1.0/creator.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/0.90/dc/1.1/creator.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/0.91-netscape/atom/0.3/name.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/0.91-netscape/atom/1.0/name.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/0.91-netscape/dc/1.0/creator.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/0.91-netscape/dc/1.1/creator.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/0.91-userland/atom/0.3/name.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/0.91-userland/atom/1.0/name.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/0.91-userland/dc/1.0/creator.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/0.91-userland/dc/1.1/creator.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/0.92/atom/0.3/name.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/0.92/atom/1.0/name.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/0.92/dc/1.0/creator.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/0.92/dc/1.1/creator.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/1.0/atom/0.3/name.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/1.0/atom/1.0/name.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/1.0/dc/1.0/creator.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/1.0/dc/1.1/creator.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/2.0/atom/0.3/name.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/2.0/atom/1.0/name.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/2.0/author.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/2.0/dc/1.0/creator.php
 create mode 100644 simplepie/test/first_item_author_name/SPtests/rss/2.0/dc/1.1/creator.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/atom/0.3/dc/1.0/subject.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/atom/0.3/dc/1.1/subject.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/atom/1.0/dc/1.0/subject.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/atom/1.0/dc/1.1/subject.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/atom/1.0/label.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/atom/1.0/term.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/bugs/21.0.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/0.90/atom/1.0/label.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/0.90/atom/1.0/term.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/0.90/dc/1.0/subject.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/0.90/dc/1.1/subject.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/0.91-netscape/atom/1.0/label.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/0.91-netscape/atom/1.0/term.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/0.91-netscape/dc/1.0/subject.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/0.91-netscape/dc/1.1/subject.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/0.91-userland/atom/1.0/label.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/0.91-userland/atom/1.0/term.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/0.91-userland/dc/1.0/subject.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/0.91-userland/dc/1.1/subject.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/0.92/atom/1.0/label.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/0.92/atom/1.0/term.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/0.92/category.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/0.92/dc/1.0/subject.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/0.92/dc/1.1/subject.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/1.0/atom/1.0/label.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/1.0/atom/1.0/term.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/1.0/dc/1.0/subject.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/1.0/dc/1.1/subject.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/2.0/atom/1.0/label.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/2.0/atom/1.0/term.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/2.0/category.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/2.0/dc/1.0/subject.php
 create mode 100644 simplepie/test/first_item_category_label/SPtests/rss/2.0/dc/1.1/subject.php
 create mode 100644 simplepie/test/first_item_content/SPtests/atom/0.3/content.php
 create mode 100644 simplepie/test/first_item_content/SPtests/atom/0.3/dc/1.0/description.php
 create mode 100644 simplepie/test/first_item_content/SPtests/atom/0.3/dc/1.1/description.php
 create mode 100644 simplepie/test/first_item_content/SPtests/atom/0.3/summary.php
 create mode 100644 simplepie/test/first_item_content/SPtests/atom/1.0/content.php
 create mode 100644 simplepie/test/first_item_content/SPtests/atom/1.0/dc/1.0/description.php
 create mode 100644 simplepie/test/first_item_content/SPtests/atom/1.0/dc/1.1/description.php
 create mode 100644 simplepie/test/first_item_content/SPtests/atom/1.0/summary.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.90/atom/0.3/content.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.90/atom/0.3/summary.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.90/atom/1.0/content.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.90/atom/1.0/summary.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.90/dc/1.0/description.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.90/dc/1.1/description.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.90/description.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.91-netscape/atom/0.3/content.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.91-netscape/atom/0.3/summary.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.91-netscape/atom/1.0/content.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.91-netscape/atom/1.0/summary.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.91-netscape/dc/1.0/description.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.91-netscape/dc/1.1/description.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.91-netscape/description.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.91-userland/atom/0.3/content.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.91-userland/atom/0.3/summary.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.91-userland/atom/1.0/content.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.91-userland/atom/1.0/summary.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.91-userland/dc/1.0/description.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.91-userland/dc/1.1/description.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.91-userland/description.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.92/atom/0.3/content.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.92/atom/0.3/summary.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.92/atom/1.0/content.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.92/atom/1.0/summary.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.92/dc/1.0/description.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.92/dc/1.1/description.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/0.92/description.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/1.0/atom/0.3/content.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/1.0/atom/0.3/summary.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/1.0/atom/1.0/content.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/1.0/atom/1.0/summary.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/1.0/dc/1.0/description.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/1.0/dc/1.1/description.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/1.0/description.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/2.0/atom/0.3/content.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/2.0/atom/0.3/summary.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/2.0/atom/1.0/content.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/2.0/atom/1.0/summary.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/2.0/dc/1.0/description.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/2.0/dc/1.1/description.php
 create mode 100644 simplepie/test/first_item_content/SPtests/rss/2.0/description.php
 create mode 100644 simplepie/test/first_item_contributor_name/SPtests/atom/0.3/name.php
 create mode 100644 simplepie/test/first_item_contributor_name/SPtests/atom/1.0/name.php
 create mode 100644 simplepie/test/first_item_contributor_name/SPtests/rss/0.90/atom/0.3/name.php
 create mode 100644 simplepie/test/first_item_contributor_name/SPtests/rss/0.90/atom/1.0/name.php
 create mode 100644 simplepie/test/first_item_contributor_name/SPtests/rss/0.91-netscape/atom/0.3/name.php
 create mode 100644 simplepie/test/first_item_contributor_name/SPtests/rss/0.91-netscape/atom/1.0/name.php
 create mode 100644 simplepie/test/first_item_contributor_name/SPtests/rss/0.91-userland/atom/0.3/name.php
 create mode 100644 simplepie/test/first_item_contributor_name/SPtests/rss/0.91-userland/atom/1.0/name.php
 create mode 100644 simplepie/test/first_item_contributor_name/SPtests/rss/0.92/atom/0.3/name.php
 create mode 100644 simplepie/test/first_item_contributor_name/SPtests/rss/0.92/atom/1.0/name.php
 create mode 100644 simplepie/test/first_item_contributor_name/SPtests/rss/1.0/atom/0.3/name.php
 create mode 100644 simplepie/test/first_item_contributor_name/SPtests/rss/1.0/atom/1.0/name.php
 create mode 100644 simplepie/test/first_item_contributor_name/SPtests/rss/2.0/atom/0.3/name.php
 create mode 100644 simplepie/test/first_item_contributor_name/SPtests/rss/2.0/atom/1.0/name.php
 create mode 100644 simplepie/test/first_item_date/SPtests/atom/0.3/created.php
 create mode 100644 simplepie/test/first_item_date/SPtests/atom/0.3/dc/1.0/date.php
 create mode 100644 simplepie/test/first_item_date/SPtests/atom/0.3/dc/1.1/date.php
 create mode 100644 simplepie/test/first_item_date/SPtests/atom/0.3/issued.php
 create mode 100644 simplepie/test/first_item_date/SPtests/atom/0.3/modified.php
 create mode 100644 simplepie/test/first_item_date/SPtests/atom/1.0/dc/1.0/date.php
 create mode 100644 simplepie/test/first_item_date/SPtests/atom/1.0/dc/1.1/date.php
 create mode 100644 simplepie/test/first_item_date/SPtests/atom/1.0/published.php
 create mode 100644 simplepie/test/first_item_date/SPtests/atom/1.0/updated.php
 create mode 100644 simplepie/test/first_item_date/SPtests/bugs/876.0.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.90/atom/0.3/created.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.90/atom/0.3/issued.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.90/atom/0.3/modified.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.90/atom/1.0/published.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.90/atom/1.0/updated.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.90/dc/1.0/date.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.90/dc/1.1/date.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.91-netscape/atom/0.3/created.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.91-netscape/atom/0.3/issued.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.91-netscape/atom/0.3/modified.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.91-netscape/atom/1.0/published.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.91-netscape/atom/1.0/updated.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.91-netscape/dc/1.0/date.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.91-netscape/dc/1.1/date.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.91-userland/atom/0.3/created.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.91-userland/atom/0.3/issued.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.91-userland/atom/0.3/modified.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.91-userland/atom/1.0/published.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.91-userland/atom/1.0/updated.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.91-userland/dc/1.0/date.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.91-userland/dc/1.1/date.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.92/atom/0.3/created.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.92/atom/0.3/issued.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.92/atom/0.3/modified.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.92/atom/1.0/published.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.92/atom/1.0/updated.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.92/dc/1.0/date.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/0.92/dc/1.1/date.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/1.0/atom/0.3/created.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/1.0/atom/0.3/issued.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/1.0/atom/0.3/modified.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/1.0/atom/1.0/published.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/1.0/atom/1.0/updated.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/1.0/dc/1.0/date.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/1.0/dc/1.1/date.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/2.0/atom/0.3/created.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/2.0/atom/0.3/issued.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/2.0/atom/0.3/modified.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/2.0/atom/1.0/published.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/2.0/atom/1.0/updated.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/2.0/dc/1.0/date.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/2.0/dc/1.1/date.php
 create mode 100644 simplepie/test/first_item_date/SPtests/rss/2.0/pubdate.php
 create mode 100644 simplepie/test/first_item_description/SPtests/atom/0.3/content.php
 create mode 100644 simplepie/test/first_item_description/SPtests/atom/0.3/dc/1.0/description.php
 create mode 100644 simplepie/test/first_item_description/SPtests/atom/0.3/dc/1.1/description.php
 create mode 100644 simplepie/test/first_item_description/SPtests/atom/0.3/summary.php
 create mode 100644 simplepie/test/first_item_description/SPtests/atom/1.0/content.php
 create mode 100644 simplepie/test/first_item_description/SPtests/atom/1.0/dc/1.0/description.php
 create mode 100644 simplepie/test/first_item_description/SPtests/atom/1.0/dc/1.1/description.php
 create mode 100644 simplepie/test/first_item_description/SPtests/atom/1.0/summary.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.90/atom/0.3/content.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.90/atom/0.3/summary.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.90/atom/1.0/content.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.90/atom/1.0/summary.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.90/dc/1.0/description.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.90/dc/1.1/description.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.90/description.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.91-netscape/atom/0.3/content.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.91-netscape/atom/0.3/summary.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.91-netscape/atom/1.0/content.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.91-netscape/atom/1.0/summary.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.91-netscape/dc/1.0/description.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.91-netscape/dc/1.1/description.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.91-netscape/description.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.91-userland/atom/0.3/content.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.91-userland/atom/0.3/summary.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.91-userland/atom/1.0/content.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.91-userland/atom/1.0/summary.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.91-userland/dc/1.0/description.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.91-userland/dc/1.1/description.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.91-userland/description.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.92/atom/0.3/content.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.92/atom/0.3/summary.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.92/atom/1.0/content.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.92/atom/1.0/summary.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.92/dc/1.0/description.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.92/dc/1.1/description.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/0.92/description.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/1.0/atom/0.3/content.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/1.0/atom/0.3/summary.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/1.0/atom/1.0/content.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/1.0/atom/1.0/summary.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/1.0/dc/1.0/description.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/1.0/dc/1.1/description.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/1.0/description.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/2.0/atom/0.3/content.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/2.0/atom/0.3/summary.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/2.0/atom/1.0/content.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/2.0/atom/1.0/summary.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/2.0/dc/1.0/description.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/2.0/dc/1.1/description.php
 create mode 100644 simplepie/test/first_item_description/SPtests/rss/2.0/description.php
 create mode 100644 simplepie/test/first_item_id/SPtests/atom/0.3/dc/1.0/identifier.php
 create mode 100644 simplepie/test/first_item_id/SPtests/atom/0.3/dc/1.1/identifier.php
 create mode 100644 simplepie/test/first_item_id/SPtests/atom/0.3/id.php
 create mode 100644 simplepie/test/first_item_id/SPtests/atom/1.0/dc/1.0/identifier.php
 create mode 100644 simplepie/test/first_item_id/SPtests/atom/1.0/dc/1.1/identifier.php
 create mode 100644 simplepie/test/first_item_id/SPtests/atom/1.0/id.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/0.90/atom/0.3/id.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/0.90/atom/1.0/id.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/0.90/dc/1.0/identifier.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/0.90/dc/1.1/identifier.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/0.91-netscape/atom/0.3/id.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/0.91-netscape/atom/1.0/id.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/0.91-netscape/dc/1.0/identifier.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/0.91-netscape/dc/1.1/identifier.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/0.91-userland/atom/0.3/id.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/0.91-userland/atom/1.0/id.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/0.91-userland/dc/1.0/identifier.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/0.91-userland/dc/1.1/identifier.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/0.92/atom/0.3/id.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/0.92/atom/1.0/id.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/0.92/dc/1.0/identifier.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/0.92/dc/1.1/identifier.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/1.0/atom/0.3/id.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/1.0/atom/1.0/id.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/1.0/dc/1.0/identifier.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/1.0/dc/1.1/identifier.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/2.0/atom/0.3/id.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/2.0/atom/1.0/id.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/2.0/dc/1.0/identifier.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/2.0/dc/1.1/identifier.php
 create mode 100644 simplepie/test/first_item_id/SPtests/rss/2.0/guid.php
 create mode 100644 simplepie/test/first_item_latitude/SPtests/atom/0.3/geo/lat.php
 create mode 100644 simplepie/test/first_item_latitude/SPtests/atom/0.3/georss/point.php
 create mode 100644 simplepie/test/first_item_latitude/SPtests/atom/1.0/geo/lat.php
 create mode 100644 simplepie/test/first_item_latitude/SPtests/atom/1.0/georss/point.php
 create mode 100644 simplepie/test/first_item_latitude/SPtests/rss/0.90/geo/lat.php
 create mode 100644 simplepie/test/first_item_latitude/SPtests/rss/0.90/georss/point.php
 create mode 100644 simplepie/test/first_item_latitude/SPtests/rss/0.91-netscape/geo/lat.php
 create mode 100644 simplepie/test/first_item_latitude/SPtests/rss/0.91-netscape/georss/point.php
 create mode 100644 simplepie/test/first_item_latitude/SPtests/rss/0.91-userland/geo/lat.php
 create mode 100644 simplepie/test/first_item_latitude/SPtests/rss/0.91-userland/georss/point.php
 create mode 100644 simplepie/test/first_item_latitude/SPtests/rss/0.92/geo/lat.php
 create mode 100644 simplepie/test/first_item_latitude/SPtests/rss/0.92/georss/point.php
 create mode 100644 simplepie/test/first_item_latitude/SPtests/rss/1.0/geo/lat.php
 create mode 100644 simplepie/test/first_item_latitude/SPtests/rss/1.0/georss/point.php
 create mode 100644 simplepie/test/first_item_latitude/SPtests/rss/2.0/geo/lat.php
 create mode 100644 simplepie/test/first_item_latitude/SPtests/rss/2.0/georss/point.php
 create mode 100644 simplepie/test/first_item_longitude/SPtests/atom/0.3/geo/long.php
 create mode 100644 simplepie/test/first_item_longitude/SPtests/atom/0.3/georss/point.php
 create mode 100644 simplepie/test/first_item_longitude/SPtests/atom/1.0/geo/long.php
 create mode 100644 simplepie/test/first_item_longitude/SPtests/atom/1.0/georss/point.php
 create mode 100644 simplepie/test/first_item_longitude/SPtests/rss/0.90/geo/long.php
 create mode 100644 simplepie/test/first_item_longitude/SPtests/rss/0.90/georss/point.php
 create mode 100644 simplepie/test/first_item_longitude/SPtests/rss/0.91-netscape/geo/long.php
 create mode 100644 simplepie/test/first_item_longitude/SPtests/rss/0.91-netscape/georss/point.php
 create mode 100644 simplepie/test/first_item_longitude/SPtests/rss/0.91-userland/geo/long.php
 create mode 100644 simplepie/test/first_item_longitude/SPtests/rss/0.91-userland/georss/point.php
 create mode 100644 simplepie/test/first_item_longitude/SPtests/rss/0.92/geo/long.php
 create mode 100644 simplepie/test/first_item_longitude/SPtests/rss/0.92/georss/point.php
 create mode 100644 simplepie/test/first_item_longitude/SPtests/rss/1.0/geo/long.php
 create mode 100644 simplepie/test/first_item_longitude/SPtests/rss/1.0/georss/point.php
 create mode 100644 simplepie/test/first_item_longitude/SPtests/rss/2.0/geo/long.php
 create mode 100644 simplepie/test/first_item_longitude/SPtests/rss/2.0/georss/point.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/atom/0.3/enclosure.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/atom/0.3/link.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/atom/1.0/enclosure.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/atom/1.0/link.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/bugs/10.0.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/bugs/10.1.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/bugs/10.2.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/bugs/10.3.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/bugs/156.0.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/bugs/176.0.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/bugs/176.1.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/bugs/176.2.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/bugs/640.0.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/rss/0.90/atom/0.3/link.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/rss/0.90/atom/1.0/link.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/rss/0.90/link.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/rss/0.91-netscape/atom/0.3/link.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/rss/0.91-netscape/atom/1.0/link.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/rss/0.91-netscape/link.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/rss/0.91-userland/0.91-userland.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/rss/0.91-userland/atom0.3-enclosure.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/rss/0.91-userland/atom0.3.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/rss/0.91-userland/atom1.0-enclosure.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/rss/0.91-userland/atom1.0.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/rss/0.92/atom/0.3/link.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/rss/0.92/atom/1.0/link.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/rss/0.92/link.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/rss/1.0/atom/0.3/link.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/rss/1.0/atom/1.0/link.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/rss/1.0/link.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/rss/2.0/atom/0.3/link.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/rss/2.0/atom/1.0/link.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/rss/2.0/enclosure.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/rss/2.0/link.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/xmlbase/1.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/xmlbase/2.php
 create mode 100644 simplepie/test/first_item_permalink/SPtests/xmlbase/3.php
 create mode 100644 simplepie/test/first_item_title/SPtests/atom/0.3/dc/1.0/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/atom/0.3/dc/1.1/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/atom/0.3/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/atom/1.0/dc/1.0/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/atom/1.0/dc/1.1/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/atom/1.0/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/bugs/174.0.php
 create mode 100644 simplepie/test/first_item_title/SPtests/bugs/179.0.10.1.php
 create mode 100644 simplepie/test/first_item_title/SPtests/bugs/179.0.10.2.php
 create mode 100644 simplepie/test/first_item_title/SPtests/bugs/179.0.10.php
 create mode 100644 simplepie/test/first_item_title/SPtests/bugs/270.0.php
 create mode 100644 simplepie/test/first_item_title/SPtests/bugs/431.0.php
 create mode 100644 simplepie/test/first_item_title/SPtests/bugs/431.1.php
 create mode 100644 simplepie/test/first_item_title/SPtests/bugs/475.0.php
 create mode 100644 simplepie/test/first_item_title/SPtests/bugs/475.1.php
 create mode 100644 simplepie/test/first_item_title/SPtests/bugs/475.2.php
 create mode 100644 simplepie/test/first_item_title/SPtests/bugs/475.3.php
 create mode 100644 simplepie/test/first_item_title/SPtests/bugs/508.0.php
 create mode 100644 simplepie/test/first_item_title/SPtests/bugs/508.1.php
 create mode 100644 simplepie/test/first_item_title/SPtests/bugs/508.2.php
 create mode 100644 simplepie/test/first_item_title/SPtests/bugs/508.3.php
 create mode 100644 simplepie/test/first_item_title/SPtests/bugs/564.0.php
 create mode 100644 simplepie/test/first_item_title/SPtests/bugs/629.0.php
 create mode 100644 simplepie/test/first_item_title/SPtests/bugs/629.1.php
 create mode 100644 simplepie/test/first_item_title/SPtests/bugs/666.0.php
 create mode 100644 simplepie/test/first_item_title/SPtests/bugs/666.1.php
 create mode 100644 simplepie/test/first_item_title/SPtests/bugs/828.0.php
 create mode 100644 simplepie/test/first_item_title/SPtests/bugs/968.0.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/atom/0.3/1.1.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/atom/0.3/1.2.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/atom/0.3/1.3.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/atom/0.3/2.1.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/atom/0.3/2.2.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/atom/0.3/2.3.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/atom/0.3/3.1.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/atom/0.3/3.2.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/atom/0.3/3.3.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/atom/1.0/1.1.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/atom/1.0/1.2.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/atom/1.0/1.3.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/atom/1.0/2.1.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/atom/1.0/2.2.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/atom/1.0/2.3.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/atom/1.0/3.1.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/atom/1.0/3.2.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/atom/1.0/3.3.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/rss/0.90/1.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/rss/0.90/2.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/rss/0.90/3.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/rss/0.91-netscape/1.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/rss/0.91-netscape/2.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/rss/0.91-netscape/3.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/rss/0.91-userland/1.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/rss/0.91-userland/2.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/rss/0.91-userland/3.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/rss/0.92/1.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/rss/0.92/2.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/rss/0.92/3.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/rss/1.0/1.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/rss/1.0/2.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/rss/1.0/3.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/rss/2.0/1.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/rss/2.0/2.php
 create mode 100644 simplepie/test/first_item_title/SPtests/entities/rss/2.0/3.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/0.90/atom/0.3/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/0.90/atom/1.0/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/0.90/dc/1.0/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/0.90/dc/1.1/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/0.90/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/0.91-netscape/atom/0.3/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/0.91-netscape/atom/1.0/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/0.91-netscape/dc/1.0/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/0.91-netscape/dc/1.1/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/0.91-netscape/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/0.91-userland/atom/0.3/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/0.91-userland/atom/1.0/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/0.91-userland/dc/1.0/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/0.91-userland/dc/1.1/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/0.91-userland/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/0.92/atom/0.3/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/0.92/atom/1.0/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/0.92/dc/1.0/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/0.92/dc/1.1/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/0.92/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/1.0/atom/0.3/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/1.0/atom/1.0/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/1.0/dc/1.0/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/1.0/dc/1.1/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/1.0/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/2.0/atom/0.3/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/2.0/atom/1.0/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/2.0/dc/1.0/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/2.0/dc/1.1/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/rss/2.0/title.php
 create mode 100644 simplepie/test/first_item_title/SPtests/xmlbase/1.php
 create mode 100644 simplepie/test/functions.php
 create mode 100644 simplepie/test/itunes_rss/SPtests/rss/2.0/itunes_channel_block.php
 create mode 100644 simplepie/test/itunes_rss/SPtests/rss/2.0/itunes_channel_block_default.php
 create mode 100644 simplepie/test/itunes_rss/SPtests/rss/2.0/itunes_channel_block_reverse.php
 create mode 100644 simplepie/test/logo.png
 create mode 100644 simplepie/test/test.php
 create mode 100644 simplepie/test/unit_test/unit_test.php
 create mode 100644 simplepie/test/unit_test/unit_test2.php
 create mode 100644 simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/html/cdata.php
 create mode 100644 simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/html/entity.php
 create mode 100644 simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/html/ncr.php
 create mode 100644 simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/text/cdata.php
 create mode 100644 simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/text/entity.php
 create mode 100644 simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/text/ncr.php
 create mode 100644 simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/xhtml/entity.php
 create mode 100644 simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/xhtml/ncr.php

diff --git a/simplepie/LICENSE.txt b/simplepie/LICENSE.txt
new file mode 100644
index 0000000000..a822a4bd98
--- /dev/null
+++ b/simplepie/LICENSE.txt
@@ -0,0 +1,26 @@
+Copyright (c) 2004-2007, Ryan Parman and Geoffrey Sneddon.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are 
+permitted provided that the following conditions are met:
+
+	* Redistributions of source code must retain the above copyright notice, this list of 
+	  conditions and the following disclaimer.
+
+	* Redistributions in binary form must reproduce the above copyright notice, this list 
+	  of conditions and the following disclaimer in the documentation and/or other materials 
+	  provided with the distribution.
+
+	* Neither the name of the SimplePie Team nor the names of its contributors may be used 
+	  to endorse or promote products derived from this software without specific prior 
+	  written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS 
+OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 
+AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS 
+AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/simplepie/README.markdown b/simplepie/README.markdown
new file mode 100644
index 0000000000..e5ca021ced
--- /dev/null
+++ b/simplepie/README.markdown
@@ -0,0 +1,53 @@
+# SimplePie
+
+## Authors and contributors
+
+* [Ryan Parman](http://ryanparman.com)
+* [Geoffrey Sneddon](http://gsnedders.com)
+* [Ryan McCue](http://ryanmccue.info)
+* [Michael Shipley](http://michaelpshipley.com)
+* [Steve Minutillo](http://minutillo.com/steve/)
+
+
+## License
+
+[New BSD license](http://www.opensource.org/licenses/bsd-license.php)
+
+
+## Project status
+
+SimplePie is currently maintained by Ryan McCue.
+
+At the moment, there isn't a lot of active development happening. If the community decides that SimplePie is a valuable tool, then the community will come together to maintain it into the future.
+
+If you're interested in getting involved with SimplePie, please get in touch with Ryan McCue.
+
+
+## What comes in the package?
+
+1. `simplepie.inc` - The SimplePie library.  This is all that's required for your pages.
+2. `README.markdown` - This document.
+3. `LICENSE.txt` - A copy of the BSD license.
+4. `compatibility_test/` - The SimplePie compatibility test that checks your server for required settings.
+5. `demo/` - A basic feed reader demo that shows off some of SimplePie's more noticable features.
+6. `idn/` - A third-party library that SimplePie can optionally use to understand Internationalized Domain Names (IDNs).
+7. `test/` - SimplePie's unit test suite.
+
+
+## To start the demo
+
+1. Upload this package to your webserver.
+2. Make sure that the cache folder inside of the demo folder is server-writable.
+3. Navigate your browser to the demo folder.
+
+
+## Need support?
+
+For further setup and install documentation, function references, etc., visit:
+[http://simplepie.org/wiki/](http://simplepie.org/wiki/)
+
+For bug reports and feature requests, visit:
+[http://github.com/rmccue/simplepie/issues](http://github.com/rmccue/simplepie/issues)
+
+Support mailing list -- powered by users, for users.
+[http://tech.groups.yahoo.com/group/simplepie-support/](http://tech.groups.yahoo.com/group/simplepie-support/)
diff --git a/simplepie/compatibility_test/COMPATIBILITY README.txt b/simplepie/compatibility_test/COMPATIBILITY README.txt
new file mode 100644
index 0000000000..5b24989927
--- /dev/null
+++ b/simplepie/compatibility_test/COMPATIBILITY README.txt	
@@ -0,0 +1,7 @@
+SIMPLEPIE COMPATIBILITY TEST
+
+1) Upload sp_compatibility_test.php to the web-accessible root of your website.
+For example, if your website is www.example.com, upload it so that you can get 
+to it at www.example.com/sp_compatibility_test.php
+
+2) Open your web browser and go to the page you just uploaded.
\ No newline at end of file
diff --git a/simplepie/compatibility_test/sp_compatibility_test.php b/simplepie/compatibility_test/sp_compatibility_test.php
new file mode 100644
index 0000000000..a7a7f5fde2
--- /dev/null
+++ b/simplepie/compatibility_test/sp_compatibility_test.php
@@ -0,0 +1,330 @@
+<?php
+if (isset($_GET['logopng']))
+{
+	$data='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';
+	header('Content-type: image/png');
+	echo base64_decode($data);
+	exit;
+}
+else if (isset($_GET['background']))
+{
+	$data='R0lGODlhMAEeAeYAAP///8ni6cTf5+72+PD3+c3k6+nz9ufy9ev099Pn7bnZ48bg6LfY4uHv8/r8/f3+/v7//7bX4cjh6fj7/Mvj6vz9/rva4+z19/X6+/f7/Pn8/fb6+7jZ4vv9/bra473b5Lzb5LXX4b7c5b/c5e31+NTo7tvs8dfq7/H3+bjY4tnq79Hm7c/l69nr8PL4+t7t8sDd5cLe5uPw9Nvr8Mri6fP4+tLn7er099Hm7O/2+dDm7OTw9OXx9Nbp7tbp7+Lv8+Du8szj6sXg57bY4d3s8djq7+jz9tzs8cPe58fh6M7k68Pf5+by9fz+/sDd5vT5+vT5+97t8bbY4trr8P7+/v7+/+Pw8+Xx9dXo7sHe5vH4+fP5+sHd5t/u8s/l7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAwAR4BAAf/gCGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKNEaWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExbBDyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7KUuHi4+Tl5ufo6err7O3u7/Dx8vP09fb34wz6+/z9/v8AAwocSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2osmKKjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qc+ZGDzZs4c+rcybOnz59AgwodSrSo0aNIkypdyrSp06dQo0qdSrWq1aAKsmrdyrWr169gw4odS7as2bNo06pdy7at27dw/+PKnUu3rt27ePOS9cC3r9+/gAMLHky4sOHDiBMrXsy4sePHkCNLnky5suXLmDNr3sz5sIXPoEOLHk26tOnTqFOrXs26tevXsGPLnk27tu3buHPr3s27t+/fqkEIH068uPHjyJMrX868ufPn0KNLn069uvXr2LNr3869u/fv4MOLb/6hvPnz6NOrX8++vfv38OPLn0+/vv37+PPr38+/v///AAYo4IAEFgifCAgmqOCCDDbo4IMQRijhhBRWaOGFGGao4YYcdujhhyCGKOKIJJZo4okoTjjCiiy26OKLMMYo44w01mjjjTjmqOOOPPbo449ABinkkEQWaeSRSCap5P+SNsLg5JNQRinllFRWaeWVWGap5ZZcdunll2CGKeaYZELpxJlopqnmmmy26eabcMYp55x01mnnnXjmqeeefPaZJheABirooIQWauihiCaq6KKMNuroo5BGKumklFZqqaBZZKrpppx26umnoIYq6qiklmrqqaimquqqrLbq6qubxiDrrLTWauutuOaq66689urrr8AGK+ywxBZr7LHI0orEssw26+yz0EYr7bTUVmvttdhmq+223Hbr7bfghtvsEuSWa+656Kar7rrstuvuu/DGK++89NZr77345quvuQL06++/AAcs8MAEF2zwwQgnrPDCDDfs8MMQRyzxxBRXbPH/xRhnrPHGHHeMsBAghyzyyCSXbPLJKKes8sost+zyyzDHLPPMNNdss8gL5Kzzzjz37PPPQAct9NBEF2300UgnrfTSTDft9NNQRy311FRXbfXVWGdNdBJcd+3112CHLfbYZJdt9tlop6322my37fbbcMctt9cS1G333XjnrffefPft99+ABy744IQXbvjhiCeu+OKMN+7445BHLvnklFcOeACYZ6755px37vnnoIcu+uikl2766ainrvrqrLfu+uuwxy777LTXbvvtuI9Ow+689+7778AHL/zwxBdv/PHIJ6/88sw37/zz0EffOwXUV2/99dhnr/323Hfv/ffghy/+//jkl2/++einr/767Lfv/vvwxy///PR/H8T9+Oev//789+///wAMoAAHSMACGvCACEygAhfIwAbmrwAQjKAEJ0jBClrwghjMoAY3yMEOevCDIAyhCEdIwhKa8IQoTKEKV8jCFrrwhTDcoBJmSMMa2vCGOMyhDnfIwx768IdADKIQh0jEIhrxiEhMYg1ZwMQmOvGJUIyiFKdIxSpa8YpYzKIWt8jFLnrxi2AMoxid6IUymvGMaEyjGtfIxja68Y1wjKMc50jHOtrxjnjMox73eEYd+PGPgAykIAdJyEIa8pCITKQiF8nIRjrykZCMpCQnSUlA4uCSmMykJjfJyU568v+ToAylKEdJylKa8pSoTKUqV8nKVmZyBbCMpSxnScta2vKWuMylLnfJy1768pfADKYwh0nMYhpTljZIpjKXycxmOvOZ0IymNKdJzWpa85rYzKY2t8nNbnrzm8tMgDjHSc5ymvOc6EynOtfJzna6853wjKc850nPetrznvjMpz73yc9++vOfAA2oQNtZgoIa9KAITahCF8rQhjr0oRCNqEQnStGKWvSiGM2oRjd6UCx49KMgDalIR0rSkpr0pChNqUpXytKWuvSlMI2pTGdKU5D24KY4zalOd8rTnvr0p0ANqlCHStSiGvWoSE2qUpfK1Kbm1AdQjapUp0rVqlr1qlj/zapWt8rVrnr1q2ANq1jHStaymlWqJ0irWtfK1ra69a1wjatc50rXutr1rnjNq173yte++vWvay2CYAdL2MIa9rCITaxiF8vYxjr2sZCNrGQnS9nKWvaymCWsCjbL2c569rOgDa1oR0va0pr2tKhNrWpXy9rWuva1sI1tZ1tA29ra9ra4za1ud8vb3vr2t8ANrnCHS9ziGve4yE2ucm07heY697nQja50p0vd6lr3utjNrna3y93ueve74A2veMf73BmY97zoTa9618ve9rr3vfCNr3znS9/62ve++M2vfvfLX/Sa4L8ADrCAB0zgAhv4wAhOsIIXzOAGO/jBEI6w/4QnTOEKB/gIGM6whjfM4Q57+MMgDrGIR0ziEpv4xChOsYpXzOIWu1jDRIixjGdM4xrb+MY4zrGOd8zjHvv4x0AOspCHTOQiG/nIM46CkpfM5CY7+clQjrKUp0zlKlv5yljOspa3zOUue/nLYGbyC8ZM5jKb+cxoTrOa18zmNrv5zXCOs5znTOc62/nOeM5zmbvA5z77+c+ADrSgB03oQhv60IhOtKIXzehGO/rRkI60pP0MhEpb+tKYzrSmN83pTnv606AOtahHTepSm/rUqE61qld96Qa4+tWwjrWsZ03rWtv61rjOta53zete+/rXwA62sIdN7GIb+9jITrayl//N7GY7O9c/iLa0p03talv72tjOtra3ze1ue/vb4A63uMdN7nKb+9zTtoK6183udrv73fCOt7znTe962/ve+M63vvfN7377+98AZ7cMBk7wghv84AhPuMIXzvCGO/zhEI+4xCdO8Ypb/OIYz3jBd8Dxjnv84yAPuchHTvKSm/zkKE+5ylfO8pa7/OUwj7nMPc6Dmtv85jjPuc53zvOe+/znQA+60IdO9KIb/ehIT7rSl37zKzj96VCPutSnTvWqW/3qWM+61rfO9a57/etgD7vYx052qDPh7GhPu9rXzva2u/3tcI+73OdO97rb/e54z7ve9873vqf9AIAPvOAHT/j/whv+8IhPvOIXz/jGO/7xkI+85CdP+cpb/vKYz7zmN8/5znv+86BfvBFGT/rSm/70qE+96lfP+ta7/vWwj73sZ0/72tv+9rjPfekNwPve+/73wA++8IdP/OIb//jIT77yl8/85jv/+dCPvvSnT/3qW//62M++9rfP/ePf4PvgD7/4x0/+8pv//OhPv/rXz/72u//98I+//OdP//qHHwH4z7/+98///vv//wAYgAI4gARYgAZ4gAiYgAq4gAzYgA74gBAYgRI4gRRYgRZ4gRg4gBewgRzYgR74gSAYgiI4giRYgiZ4giiYgiq4gizYgi74gjAYgzI4gzRYgzZ4gziY/4M6uIMmSAI++INAGIRCOIREWIRGeIRImIRKuIRM2IRO+IRQGIVSOIVUCIQDcIVYmIVauIVc2IVe+IVgGIZiOIZkWIZmeIZomIZquIZs2IZu+IZwGIdyOId0WId2eIdimAN6uId82Id++IeAGIiCOIiEWIiGeIiImIiKuIiM2IiO+IiQyIcEMImUWImWeImYmImauImc2Ime+ImgGIqiOIqkWIqmeIqomIqquIqs2Iqu+IqwGIuyOIueiAK2eIu4mIu6uIu82Iu++IvAGIzCOIzEWIzGeIzImIzKuIzMiIta8IzQGI3SOI3UWI3WeI3YmI3auI3c2I3e+I3gGI7iOP+O5FiO0egC6JiO6riO7NiO7viO8BiP8jiP9FiP9niP+JiP+riP/NiP/qiONRCQAjmQBFmQBnmQCJmQCrmQDNmQDvmQEBmREjmRFFmRFnmRA7kFGrmRHNmRHvmRIBmSIjmSJFmSJnmSKJmSKrmSLNmSLvmSMMmRTzCTNFmTNnmTOJmTOrmTPNmTPvmTQBmUQjmURFmURnmUSJmUNQkFTNmUTvmUUBmVUjmVVFmVVnmVWJmVWrmVXNmVXvmVYBmWYumUGFCWZnmWaJmWarmWbNmWbvmWcBmXcjmXdFmXdnmXeJmXermXfNmXfvmXgBmYgjmYhFmYcLkBiJmYirmYjNn/mI75mJAZmZI5mZRZmZZ5mZiZmZq5mZzZmZ75maAZmqI5mqRZmqZ5mqg5mRmwmqzZmq75mrAZm7I5m7RZm7Z5m7iZm7q5m7zZm775m8AZnMI5nMRZnMZ5nMiZnMq5nLY5Ac75nNAZndI5ndRZndZ5ndiZndq5ndzZnd75neAZnuI5nuRZnuZ5nuiZnuq5nuzZnu6ZnRoQn/I5n/RZn/Z5n/iZn/q5n/zZn/75nwAaoAI6oARaoAZ6oAiaoAq6oAzaoA76oBAaofzpABRaoRZ6oRiaoRq6oRzaoR76oSAaoiI6oiRaoiZ6oiiaoiq6oizaoi76ojAaozI6ozT6oR1w/6M4mqM6uqM82qM++qNAGqRCOqREWqRGeqRImqRKuqRM2qRO+qRQGqVSOqVUWqVWeqVCWgFauqVc2qVe+qVgGqZiOqZkWqZmeqZomqZquqZs2qZu+qZwGqdyOqd0Wqd2eqd4mqd6WqZN0Kd++qeAGqiCOqiEWqiGeqiImqiKuqiM2qiO+qiQGqmSOql/+gCWeqmYmqmauqmc2qme+qmgGqqiOqqkWqqmeqqomqqquqqs2qqu+qqwGquyOqu0Wqu2GqpUkKu6uqu82qu++qvAGqzCOqzEWqzGeqzImqzKuqzM2qzO+qy7WgXSOq3UWq3Weq3Ymq3auq3c2q3e+q3gGv+u4jqu5Fqu5nqu6EqtELCu7Nqu7vqu8Bqv8jqv9Fqv9nqv+Jqv+rqv/Nqv/vqvABuwAjuwBFuwBnuwCJuwCruw9goADvuwEBuxEjuxFFuxFnuxGJuxGruxHNuxHvuxIBuyIjuyJFuyJnuyKJuyKruyLNuyLvuyMBuzMjuzNFuzNnuzOJuzOruzPNuzPvuzQBu0Qju0RFu0Rnu0SJu0Sru0TNu0Tvu0UBu1Uju1VFu1Vnu1WJu1Wru1XNu1Xvu1YBu2Yju2ZFu2Znu2aJu2aru2bNu2bvu2cBu3cju3dFu3dnu3eJu3eru3fNu3fvu3gBu4gju4hFu4hnu4iJu4irv/uIzbuI77uJAbuZI7uZRbuZZ7uZibuZq7uZzbuZ77uaAbuqI7uqRbuqZ7uqibuqq7uqzbuq77urAbu7I7u7Rbu7Z7u7ibu7q7u7zbu777u8AbvMI7vMRbvMZ7vMibvMq7vMzbvM77vNAbvdI7vdRbvdZ7vdibvdq7vdzbvd77veAbvuI7vuRbvuZ7vuibvuq7vuzbvu77vvAbv/I7v/Rbv/Z7v/ibv/q7v/zbv/77vwAcwAI8wARcwAZ8wAicwAq8wAzcwA78wBAcwRI8wRRcwRZ8wRicwRq8wRzcwR78wSAcwiI8wiRcwiZ8wiicwiq8wizcwi78wjAcwzI8wzRcFcM2fMM4nMM6vMM83MM+/MNArLmBAAA7';
+	header('Content-type: image/gif');
+	echo base64_decode($data);
+	exit;
+}
+
+$php_ok = (function_exists('version_compare') && version_compare(phpversion(), '4.3.0', '>='));
+$pcre_ok = extension_loaded('pcre');
+$curl_ok = function_exists('curl_exec');
+$zlib_ok = extension_loaded('zlib');
+$mbstring_ok = extension_loaded('mbstring');
+$iconv_ok = extension_loaded('iconv');
+if (extension_loaded('xmlreader'))
+{
+	$xml_ok = true;
+}
+elseif (extension_loaded('xml'))
+{
+	$parser_check = xml_parser_create();
+	xml_parse_into_struct($parser_check, '<foo>&amp;</foo>', $values);
+	xml_parser_free($parser_check);
+	$xml_ok = isset($values[0]['value']);
+}
+else
+{
+	$xml_ok = false;
+}
+
+header('Content-type: text/html; charset=UTF-8');
+
+?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
+
+<html lang="en">
+<head>
+<title>SimplePie: Server Compatibility Test 1.2</title>
+
+<style type="text/css">
+body {
+	font:14px/1.4em "Lucida Grande", Verdana, Arial, Helvetica, Clean, Sans, sans-serif;
+	letter-spacing:0px;
+	color:#333;
+	margin:0;
+	padding:0;
+	background:#fff url(<?php echo pathinfo(__FILE__, PATHINFO_BASENAME); ?>?background) repeat-x top left;
+}
+
+div#site {
+	width:550px;
+	margin:20px auto 0 auto;
+}
+
+a {
+	color:#000;
+	text-decoration:underline;
+	padding:0 1px;
+}
+
+a:hover {
+	color:#fff;
+	background-color:#333;
+	text-decoration:none;
+	padding:0 1px;
+}
+
+p {
+	margin:0;
+	padding:5px 0;
+}
+
+em {
+	font-style:normal;
+	background-color:#ffc;
+}
+
+ul, ol {
+	margin:10px 0 10px 20px;
+	padding:0 0 0 15px;
+}
+
+ul li, ol li {
+	margin:0 0 7px 0;
+	padding:0 0 0 3px;
+}
+
+h2 {
+	font-size:18px;
+	padding:0;
+	margin:30px 0 10px 0;
+}
+
+h3 {
+	font-size:16px;
+	padding:0;
+	margin:20px 0 5px 0;
+}
+
+h4 {
+	font-size:14px;
+	padding:0;
+	margin:15px 0 5px 0;
+}
+
+code {
+	font-size:1.1em;
+	background-color:#f3f3ff;
+	color:#000;
+}
+
+em strong {
+    text-transform: uppercase;
+}
+
+table#chart {
+	border-collapse:collapse;
+}
+
+table#chart th {
+	background-color:#eee;
+	padding:2px 3px;
+	border:1px solid #fff;
+}
+
+table#chart td {
+	text-align:center;
+	padding:2px 3px;
+	border:1px solid #eee;
+}
+
+table#chart tr.enabled td {
+	/* Leave this alone */
+}
+
+table#chart tr.disabled td, 
+table#chart tr.disabled td a {
+	color:#999;
+	font-style:italic;
+}
+
+table#chart tr.disabled td a {
+	text-decoration:underline;
+}
+
+div.chunk {
+	margin:20px 0 0 0;
+	padding:0 0 10px 0;
+	border-bottom:1px solid #ccc;
+}
+
+.footnote,
+.footnote a {
+	font:10px/12px verdana, sans-serif;
+	color:#aaa;
+}
+
+.footnote em {
+	background-color:transparent;
+	font-style:italic;
+}
+</style>
+
+<script type="text/javascript">
+// Sleight - Alpha transparency PNG's in Internet Explorer 5.5/6.0
+// (c) 2001, Aaron Boodman; http://www.youngpup.net
+
+if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent) {
+	document.writeln('<style type="text/css">img, input.image { visibility:hidden; } </style>');
+	window.attachEvent("onload", fnLoadPngs);
+}
+
+function fnLoadPngs() {
+	var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
+	var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5);
+
+	for (var i = document.images.length - 1, img = null; (img = document.images[i]); i--) {
+		if (itsAllGood && img.src.match(/\png$/i) != null) {
+			var src = img.src;
+			var div = document.createElement("DIV");
+			div.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizing='scale')";
+			div.style.width = img.width + "px";
+			div.style.height = img.height + "px";
+			img.replaceNode(div);
+		}
+		img.style.visibility = "visible";
+	}
+}
+</script>
+
+</head>
+
+<body>
+
+<div id="site">
+	<div id="content">
+
+		<div class="chunk">
+			<h2 style="text-align:center;"><img src="<?php echo pathinfo(__FILE__, PATHINFO_BASENAME); ?>?logopng" alt="SimplePie Compatibility Test" title="SimplePie Compatibility Test" /></h2>
+			<table cellpadding="0" cellspacing="0" border="0" width="100%" id="chart">
+				<thead>
+					<tr>
+						<th>Test</th>
+						<th>Should Be</th>
+						<th>What You Have</th>
+					</tr>
+				</thead>
+				<tbody>
+					<tr class="<?php echo ($php_ok) ? 'enabled' : 'disabled'; ?>">
+						<td>PHP&sup1;</td>
+						<td>4.3.0 or higher</td>
+						<td><?php echo phpversion(); ?></td>
+					</tr>
+					<tr class="<?php echo ($xml_ok) ? 'enabled, and sane' : 'disabled, or broken'; ?>">
+						<td><a href="http://php.net/xml">XML</a></td>
+						<td>Enabled</td>
+						<td><?php echo ($xml_ok) ? 'Enabled, and sane' : 'Disabled, or broken'; ?></td>
+					</tr>
+					<tr class="<?php echo ($pcre_ok) ? 'enabled' : 'disabled'; ?>">
+						<td><a href="http://php.net/pcre">PCRE</a>&sup2;</td>
+						<td>Enabled</td>
+						<td><?php echo ($pcre_ok) ? 'Enabled' : 'Disabled'; ?></td>
+					</tr>
+					<tr class="<?php echo ($curl_ok) ? 'enabled' : 'disabled'; ?>">
+						<td><a href="http://php.net/curl">cURL</a></td>
+						<td>Enabled</td>
+						<td><?php echo (extension_loaded('curl')) ? 'Enabled' : 'Disabled'; ?></td>
+					</tr>
+					<tr class="<?php echo ($zlib_ok) ? 'enabled' : 'disabled'; ?>">
+						<td><a href="http://php.net/zlib">Zlib</a></td>
+						<td>Enabled</td>
+						<td><?php echo ($zlib_ok) ? 'Enabled' : 'Disabled'; ?></td>
+					</tr>
+					<tr class="<?php echo ($mbstring_ok) ? 'enabled' : 'disabled'; ?>">
+						<td><a href="http://php.net/mbstring">mbstring</a></td>
+						<td>Enabled</td>
+						<td><?php echo ($mbstring_ok) ? 'Enabled' : 'Disabled'; ?></td>
+					</tr>
+					<tr class="<?php echo ($iconv_ok) ? 'enabled' : 'disabled'; ?>">
+						<td><a href="http://php.net/iconv">iconv</a></td>
+						<td>Enabled</td>
+						<td><?php echo ($iconv_ok) ? 'Enabled' : 'Disabled'; ?></td>
+					</tr>
+				</tbody>
+			</table>
+		</div>
+
+		<div class="chunk">
+			<h3>What does this mean?</h3>
+			<ol>
+				<?php if ($php_ok && $xml_ok && $pcre_ok && $mbstring_ok && $iconv_ok && $curl_ok && $zlib_ok): ?>
+				<li><em>You have everything you need to run SimplePie properly!  Congratulations!</em></li>
+				<?php else: ?>
+					<?php if ($php_ok): ?>
+						<li><strong>PHP:</strong> You are running a supported version of PHP.  <em>No problems here.</em></li>
+						<?php if ($xml_ok): ?>
+							<li><strong>XML:</strong> You have XMLReader support or a version of XML support that isn't broken installed.  <em>No problems here.</em></li>
+							<?php if ($pcre_ok): ?>
+								<li><strong>PCRE:</strong> You have PCRE support installed. <em>No problems here.</em></li>
+								<?php if ($curl_ok): ?>
+									<li><strong>cURL:</strong> You have <code>cURL</code> support installed.  <em>No problems here.</em></li>
+								<?php else: ?>
+									<li><strong>cURL:</strong> The <code>cURL</code> extension is not available.  SimplePie will use <code>fsockopen()</code> instead.</li>
+								<?php endif; ?>
+	
+								<?php if ($zlib_ok): ?>
+									<li><strong>Zlib:</strong> You have <code>Zlib</code> enabled.  This allows SimplePie to support GZIP-encoded feeds.  <em>No problems here.</em></li>
+								<?php else: ?>
+									<li><strong>Zlib:</strong> The <code>Zlib</code> extension is not available.  SimplePie will ignore any GZIP-encoding, and instead handle feeds as uncompressed text.</li>
+								<?php endif; ?>
+	
+								<?php if ($mbstring_ok && $iconv_ok): ?>
+									<li><strong>mbstring and iconv:</strong> You have both <code>mbstring</code> and <code>iconv</code> installed!  This will allow SimplePie to handle the greatest number of languages.  Check the <a href="http://simplepie.org/wiki/faq/supported_character_encodings">Supported Character Encodings</a> chart to see what's supported on your webhost.</li>
+								<?php elseif ($mbstring_ok): ?>
+									<li><strong>mbstring:</strong> <code>mbstring</code> is installed, but <code>iconv</code> is not.  Check the <a href="http://simplepie.org/wiki/faq/supported_character_encodings">Supported Character Encodings</a> chart to see what's supported on your webhost.</li>
+								<?php elseif ($iconv_ok): ?>
+									<li><strong>iconv:</strong> <code>iconv</code> is installed, but <code>mbstring</code> is not.  Check the <a href="http://simplepie.org/wiki/faq/supported_character_encodings">Supported Character Encodings</a> chart to see what's supported on your webhost.</li>
+								<?php else: ?>
+									<li><strong>mbstring and iconv:</strong> <em>You do not have either of the extensions installed.</em> This will significantly impair your ability to read non-English feeds, as well as even some English ones.  Check the <a href="http://simplepie.org/wiki/faq/supported_character_encodings">Supported Character Encodings</a> chart to see what's supported on your webhost.</li>
+								<?php endif; ?>
+							<?php else: ?>
+								<li><strong>PCRE:</strong> Your PHP installation doesn't support Perl-Compatible Regular Expressions.  <em>SimplePie is a no-go at the moment.</em></li>
+							<?php endif; ?>
+						<?php else: ?>
+							<li><strong>XML:</strong> Your PHP installation doesn't support XML parsing.  <em>SimplePie is a no-go at the moment.</em></li>
+						<?php endif; ?>
+					<?php else: ?>
+						<li><strong>PHP:</strong> You are running an unsupported version of PHP.  <em>SimplePie is a no-go at the moment.</em></li>
+					<?php endif; ?>
+				<?php endif; ?>
+			</ol>
+		</div>
+
+		<div class="chunk">
+			<?php if ($php_ok && $xml_ok && $pcre_ok && $mbstring_ok && $iconv_ok) { ?>
+				<h3>Bottom Line: Yes, you can!</h3>
+				<p><em>Your webhost has its act together!</em></p>
+				<p>You can download the latest version of SimplePie from <a href="http://simplepie.org/downloads/">SimplePie.org</a> and install it by <a href="http://simplepie.org/wiki/setup/start">following the instructions</a>.  You can find example uses with <a href="http://simplepie.org/ideas/">SimplePie Ideas</a>.</p>
+				<p>Take the time to read <a href="http://simplepie.org/wiki/setup/start">Requirements and Getting Started</a> to make sure you're prepared to use SimplePie. No seriously, read them.</p>
+				<p class="footnote"><em><strong>Note</strong></em>: Passing this test does not guarantee that SimplePie will run on your webhost &mdash; it only ensures that the basic requirements have been addressed.</p>
+			<?php } else if ($php_ok && $xml_ok && $pcre_ok) { ?>
+				<h3>Bottom Line: Yes, you can!</h3>
+				<p><em>For most feeds, it'll run with no problems.</em>  There are <a href="http://simplepie.org/wiki/faq/supported_character_encodings">certain languages</a> that you might have a hard time with though.</p>
+				<p>You can download the latest version of SimplePie from <a href="http://simplepie.org/downloads/">SimplePie.org</a> and install it by <a href="http://simplepie.org/wiki/setup/start">following the instructions</a>.  You can find example uses with <a href="http://simplepie.org/ideas/">SimplePie Ideas</a>.</p>
+				<p>Take the time to read <a href="http://simplepie.org/wiki/setup/start">Requirements and Getting Started</a> to make sure you're prepared to use SimplePie. No seriously, read them.</p>
+				<p class="footnote"><em><strong>Note</strong></em>: Passing this test does not guarantee that SimplePie will run on your webhost &mdash; it only ensures that the basic requirements have been addressed.</p>
+			<?php } else { ?>
+				<h3>Bottom Line: We're sorry…</h3>
+				<p><em>Your webhost does not support the minimum requirements for SimplePie.</em>  It may be a good idea to contact your webhost, and ask them to install a more recent version of PHP as well as the <code>xmlreader</code>, <code>xml</code>, <code>mbstring</code>, <code>iconv</code>, <code>curl</code>, and <code>zlib</code> extensions.</p>
+			<?php } ?>
+		</div>
+
+		<div class="chunk">
+			<p class="footnote">&sup1; &mdash; SimplePie 2 will not support PHP 4.x. The core PHP team has discontinued PHP 4.x patches and support. <a href="http://simplepie.org/blog/2007/07/13/simplepie-is-going-php5-only/">Read the announcement.</a></p>
+			<p class="footnote">&sup2; &mdash; Some recent versions of the PCRE (PERL-Compatible Regular Expression) engine compiled into PHP have been buggy, and are the source of PHP segmentation faults (e.g. crashes) which cause random things like blank, white screens. Check the <a href="http://simplepie.org/support/">Support Forums</a> for the latest information on patches and ongoing fixes.</p>
+		</div>
+
+	</div>
+
+</div>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/simplepie/create.php b/simplepie/create.php
new file mode 100644
index 0000000000..908ed182bd
--- /dev/null
+++ b/simplepie/create.php
@@ -0,0 +1,178 @@
+<?php
+
+require_once 'simplepie.inc';
+
+function normalize_character_set($charset)
+{
+	return strtolower(preg_replace('/(?:[^a-zA-Z0-9]+|([^0-9])0+)/', '\1', $charset));
+}
+
+function build_character_set_list()
+{
+	$file = new SimplePie_File('http://www.iana.org/assignments/character-sets');
+	if (!$file->success && !($file->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($file->status_code === 200 || $file->status_code > 206 && $file->status_code < 300)))
+	{
+		return false;
+	}
+	else
+	{
+		$data = explode("\n", $file->body);
+		unset($file);
+		
+		foreach ($data as $line)
+		{
+			// New character set
+			if (substr($line, 0, 5) === 'Name:')
+			{
+				// If we already have one, push it on to the array
+				if (isset($aliases))
+				{
+					for ($i = 0, $count = count($aliases); $i < $count; $i++)
+					{
+						$aliases[$i] = normalize_character_set($aliases[$i]);
+					}
+					$charsets[$preferred] = array_unique($aliases);
+					natsort($charsets[$preferred]);
+				}
+				
+				$start = 5 + strspn($line, "\x09\x0A\x0B\xC\x0D\x20", 5);
+				$chars = strcspn($line, "\x09\x0A\x0B\xC\x0D\x20", $start);
+				$aliases = array(substr($line, $start, $chars));
+				$preferred = end($aliases);
+			}
+			// Another alias
+			elseif(substr($line, 0, 6) === 'Alias:')
+			{
+				$start = 7 + strspn($line, "\x09\x0A\x0B\xC\x0D\x20", 7);
+				$chars = strcspn($line, "\x09\x0A\x0B\xC\x0D\x20", $start);
+				$aliases[] = substr($line, $start, $chars);
+				
+				if (end($aliases) === 'None')
+				{
+					array_pop($aliases);
+				}
+				elseif (substr($line, 7 + $chars + 1, 21) === '(preferred MIME name)')
+				{
+					$preferred = end($aliases);
+				}
+			}
+		}
+		
+		// Compatibility replacements
+		$compat = array(
+			'EUC-KR' => 'windows-949',
+			'GB2312' => 'GBK',
+			'GB_2312-80' => 'GBK',
+			'ISO-8859-1' => 'windows-1252',
+			'ISO-8859-9' => 'windows-1254',
+			'ISO-8859-11' => 'windows-874',
+			'KS_C_5601-1987' => 'windows-949',
+			'TIS-620' => 'windows-874',
+			//'US-ASCII' => 'windows-1252',
+			'x-x-big5' => 'Big5',
+		);
+		
+		foreach ($compat as $real => $replace)
+		{
+			if (isset($charsets[$real]) && isset($charsets[$replace]))
+			{
+				$charsets[$replace] = array_merge($charsets[$replace], $charsets[$real]);
+				unset($charsets[$real]);
+			}
+			elseif (isset($charsets[$real]))
+			{
+				$charsets[$replace] = $charsets[$real];
+				$charsets[$replace][] = normalize_character_set($replace);
+				unset($charsets[$real]);
+			}
+			else
+			{
+				$charsets[$replace][] = normalize_character_set($real);
+			}
+			$charsets[$replace] = array_unique($charsets[$replace]);
+			natsort($charsets[$replace]);
+		}
+		
+		// Sort it
+		uksort($charsets, 'strnatcasecmp');
+		
+		// Check that nothing matches more than one
+		$all = call_user_func_array('array_merge', $charsets);
+		$all_count = array_count_values($all);
+		if (max($all_count) > 1)
+		{
+			echo "Duplicated charsets:\n";
+			foreach ($all_count as $charset => $count)
+			{
+				if ($count > 1)
+				{
+					echo "$charset\n";
+				}
+			}
+		}
+		
+		// And we're done!
+		return $charsets;
+	}
+}
+
+function charset($charset)
+{
+	$normalized_charset = normalize_character_set($charset);
+	if ($charsets = build_character_set_list())
+	{
+		foreach ($charsets as $preferred => $aliases)
+		{
+			if (in_array($normalized_charset, $aliases))
+			{
+				return $preferred;
+			}
+		}
+		return $charset;
+	}
+	else
+	{
+		return false;
+	}
+}
+
+function build_function()
+{
+	if ($charsets = build_character_set_list())
+	{
+		$return = <<<EOF
+function charset(\$charset)
+{
+	// Normalization from UTS #22
+	switch (strtolower(preg_replace('/(?:[^a-zA-Z0-9]+|([^0-9])0+)/', '\\1', \$charset)))
+	{
+
+EOF;
+		foreach ($charsets as $preferred => $aliases)
+		{
+			foreach ($aliases as $alias)
+			{
+				$return .= "\t\tcase " . var_export($alias, true) . ":\n";
+			}
+			$return .= "\t\t\treturn " . var_export($preferred, true) . ";\n\n";
+		}
+		$return .= <<<EOF
+		default:
+			return \$charset;
+	}
+}
+EOF;
+		return $return;
+	}
+	else
+	{
+		return false;
+	}
+}
+
+if (php_sapi_name() === 'cli' && realpath($_SERVER['argv'][0]) === __FILE__)
+{
+	echo build_function();
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/db.sql b/simplepie/db.sql
new file mode 100644
index 0000000000..13f504c214
--- /dev/null
+++ b/simplepie/db.sql
@@ -0,0 +1,38 @@
+/* SQLite */
+CREATE TABLE cache_data (
+	id TEXT NOT NULL,
+	items SMALLINT NOT NULL DEFAULT 0,
+	data BLOB NOT NULL,
+	mtime INTEGER UNSIGNED NOT NULL
+);
+CREATE UNIQUE INDEX id ON cache_data(id);
+
+CREATE TABLE items (
+	feed_id TEXT NOT NULL,
+	id TEXT NOT NULL,
+	data TEXT NOT NULL,
+	posted INTEGER UNSIGNED NOT NULL
+);
+CREATE INDEX feed_id ON items(feed_id);
+
+
+/* MySQL */
+CREATE TABLE `cache_data` (
+	`id` TEXT CHARACTER SET utf8 NOT NULL,
+	`items` SMALLINT NOT NULL DEFAULT 0,
+	`data` BLOB NOT NULL,
+	`mtime` INT UNSIGNED NOT NULL,
+	UNIQUE (
+		`id`(125)
+	)
+);
+
+CREATE TABLE `items` (
+	`feed_id` TEXT CHARACTER SET utf8 NOT NULL,
+	`id` TEXT CHARACTER SET utf8 NOT NULL,
+	`data` TEXT CHARACTER SET utf8 NOT NULL,
+	`posted` INT UNSIGNED NOT NULL,
+	INDEX `feed_id` (
+		`feed_id`(125)
+	)
+);
\ No newline at end of file
diff --git a/simplepie/demo/cli_test.php b/simplepie/demo/cli_test.php
new file mode 100755
index 0000000000..ec933c5ad7
--- /dev/null
+++ b/simplepie/demo/cli_test.php
@@ -0,0 +1,23 @@
+#!/usr/bin/php
+<?php
+include_once('../simplepie.inc');
+
+// Parse it
+$feed = new SimplePie();
+if (isset($argv[1]) && $argv[1] !== '')
+{
+	$feed->set_feed_url($argv[1]);
+	$feed->enable_cache(false);
+	$feed->init();
+}
+
+$items = $feed->get_items();
+
+foreach ($items as $item)
+{
+	echo $item->get_title() . "\n";
+}
+
+var_dump($feed->get_item_quantity());
+
+?>
\ No newline at end of file
diff --git a/simplepie/demo/for_the_demo/alternate_favicon.png b/simplepie/demo/for_the_demo/alternate_favicon.png
new file mode 100644
index 0000000000000000000000000000000000000000..063fb280549db7a68a47cce157d680ed7af1a8a2
GIT binary patch
literal 28621
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

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/background_blockquote.png b/simplepie/demo/for_the_demo/background_blockquote.png
new file mode 100644
index 0000000000000000000000000000000000000000..8267e23a23575eb148f8b8e3305732e6f09870de
GIT binary patch
literal 27353
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

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/background_menuitem.gif b/simplepie/demo/for_the_demo/background_menuitem.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fa765d670e739793c2ec69e16e6be33618f5425f
GIT binary patch
literal 533
zcmV+w0_y!oNk%w1VJrb00K@<Q|NsB~{{H>_{rvp=`}_O)`uh3#`S|$w_xJbq_V)Gl
z_4M@g^Yioa^78TV@$m5Q@9*#K?(XgF?d<IA>+9?4>gws~>FDU_=jZ3<=H}()<>ch#
z<KyGv;^F|AGXMYpA^8LV2LS&7EC2ui04xC<000I5ARvxpX`X1Ru59bRa4gSsZQppV
z?|kq7z@TtQEE<o<q;kn@I-k&}bV{vSuh^`1%k6r<;IMd1E}PHjw0g}J2j1{^drn`*
z?{I;B&llAHfHQb_eS8Clh=>G>j0Ay?kSK!zdx?sTj0KvTng*Vqk)eT;0hWlIou8@)
ztgQ&Iun3~Fb9sG@sI9EAunE4u2@1l)!nDR{c$S-=vA@K^3(?XG4As^R*bT?qV|S(l
zss_Hq*4NqC4(aL-?ClTS@Lq$Mx(CGB>+b9j{QVLC03`^FN03V&RI#S1O9wEZz=skh
zNSsKaV#R_OwIuoktem@u6DL?4S)ruK3Kmk5s?5l;%0^GX&h?vkQl-iZICJ8}z_TZY
zmO!Dr6z9uYyN4!o`t+Hhsnez!qDl=)l?ft_MXRxcX!EJmuTeLM9XpnT*{W!fT=g^z
z+f0cno02VSwys^X9rEf;%Qr^>Egk|39!$8f;lqd%D_+dFvE#>(BTJr4xw7TUm@{kM
X%(=7Y&!9t#9!<Km>C>o9hX4ROX5}q3

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/background_menuitem_off.gif b/simplepie/demo/for_the_demo/background_menuitem_off.gif
new file mode 100644
index 0000000000000000000000000000000000000000..236cf406dc2528b538ed078628f9f95e3240f9fe
GIT binary patch
literal 533
zcmV+w0_y!oNk%w1VJrb00K@<Q|NsB~{{H>_{rvp=`}_O)`uh3#`S|$w_xJbq_V)Gl
z_4M@g^Yioa^78TV@$m5Q@9*#K?(XgF?d<IA>+9?4>gws~>FDU_=jZ3<=H}()<>ch#
z<KyGv;^H$iGXMYpA^8LV2LS&7EC2ui04xC<000I5ARvxpX`X1Ru59bRa4gSsZQppV
z?|kq7z@TtQEE<o<q;kn@I-k&}bV{vSuh^`1%k6r<;IMd1E}PHjw0g}J2j1{^drn`*
z?{I;B&llAHfHQb_eS8Clh=>G>j0Ay?kSK!zdx?sTj0KvTng*Vqk)eT;0hWlIou8@)
ztgQ&Iun3~Fb9sG@sI9EAunE4u2@1l)!nDR{c$S-=vA@K^3(?XG4As^R*bT?qV|S(l
zss_Hq*4NqC4(aL-?ClTS@Lq$Mx(CGB>+b9j{QVLC03`^FN03V&RI#S1O9wEZz=skh
zNSsKaV#R_OwIuoktem@u6DL?4S)ruK3Kmk5s?5l;%0^GX&h?vkQl-iZICJ8}z_TZY
zmO!Dr6z9uYyN4!o`t+Hhsnez!qDl=)l?ft_MXRxcX!EJmuTeLM9XpnT*{W!fT=g^z
z+f0cno02VSwys^X9rEf;%Qr^>Egk|39!$8f;lqd%D_+dFvE#>(BTJr4xw7TUm@{kM
X%(=7Y&!9t#9!<Km>C>o9hX4RO5uq&s

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/background_menuitem_shadow.gif b/simplepie/demo/for_the_demo/background_menuitem_shadow.gif
new file mode 100644
index 0000000000000000000000000000000000000000..95cfb820d47f717cc9ddd31d626d497e23f1a38a
GIT binary patch
literal 250
zcmV<W00sX?Nk%w1VG00v0J8u9_4W1c?(XgF?d<IA>+9?4>gws~>FDU_=jZ3<=H}()
z<>ch#;^N}q;Naii-`(BaA^8LV2LS&7EC2ui015zj000E1@U2H>RW3WMn{UYnG9*Hl
z=drAdx*AEGz;S`xh>aV3?-RhFFgPe02Y`SwkX$;ON+^`MoJyZntTW4{cCB5nc&v?v
zuir9wYfih{V>Eobj-T)IX<1zFtM_|ye1C6bcy@V*b##Pqeua99jf0SEiI<3(i-D4r
zn2es9laZK@j-!^Mp{9nVsIFn0u&1G*w6~PFq^i1|bF#d-!n>@3#)r1UzG4voJBQbb
A?f?J)

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/favicons/alternate.png b/simplepie/demo/for_the_demo/favicons/alternate.png
new file mode 100644
index 0000000000000000000000000000000000000000..063fb280549db7a68a47cce157d680ed7af1a8a2
GIT binary patch
literal 28621
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

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/favicons/blinklist.png b/simplepie/demo/for_the_demo/favicons/blinklist.png
new file mode 100644
index 0000000000000000000000000000000000000000..53200b3c62c7a00e21fe30af69961eed389ff41f
GIT binary patch
literal 4377
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
Tm7TM^00000NkvXXu0mjfB^P<7

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/favicons/blogmarks.png b/simplepie/demo/for_the_demo/favicons/blogmarks.png
new file mode 100644
index 0000000000000000000000000000000000000000..c5372614a4a623d418be15ececf2768a87f70f29
GIT binary patch
literal 3823
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

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/favicons/delicious.png b/simplepie/demo/for_the_demo/favicons/delicious.png
new file mode 100644
index 0000000000000000000000000000000000000000..2e6021d26e2d699ace681e80b4dff96eee0a5830
GIT binary patch
literal 3739
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
FV1i(EKivQT

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/favicons/digg.png b/simplepie/demo/for_the_demo/favicons/digg.png
new file mode 100644
index 0000000000000000000000000000000000000000..3aa96770e80ac18446c0254f37af3d75740cc415
GIT binary patch
literal 4004
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
KMNUMnLSTY_%g(I;

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/favicons/magnolia.png b/simplepie/demo/for_the_demo/favicons/magnolia.png
new file mode 100644
index 0000000000000000000000000000000000000000..da519f5ab92d84c56d4e55f0c74f17d828391960
GIT binary patch
literal 4574
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
IM6N<$f?ZhTO8@`>

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/favicons/myweb2.png b/simplepie/demo/for_the_demo/favicons/myweb2.png
new file mode 100644
index 0000000000000000000000000000000000000000..2a12968d5ea10ae7b39e47855deb2040e35a5881
GIT binary patch
literal 4010
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
QS^xk507*qoM6N<$g7XK!pa1{>

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/favicons/newsvine.png b/simplepie/demo/for_the_demo/favicons/newsvine.png
new file mode 100644
index 0000000000000000000000000000000000000000..5cdbb31c69adf4c0a52bcb93193c7a1f9566c76c
GIT binary patch
literal 3804
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
S>-qWs0000<MNUMnLSTYECtpnf

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/favicons/reddit.png b/simplepie/demo/for_the_demo/favicons/reddit.png
new file mode 100644
index 0000000000000000000000000000000000000000..65c38867cd74b61c1720017d13c95264b75d3500
GIT binary patch
literal 4239
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

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/favicons/segnalo.png b/simplepie/demo/for_the_demo/favicons/segnalo.png
new file mode 100644
index 0000000000000000000000000000000000000000..748149b3713b90ee4c3e8e8e85f73d743d0eec38
GIT binary patch
literal 4116
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
Skr1f>0000<MNUMnLSTX@jQ1u0

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/favicons/simpy.png b/simplepie/demo/for_the_demo/favicons/simpy.png
new file mode 100644
index 0000000000000000000000000000000000000000..30b23c1a558369dd1feeaad81c2dca58b2af6bcf
GIT binary patch
literal 4256
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
CDMdU0

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/favicons/spurl.png b/simplepie/demo/for_the_demo/favicons/spurl.png
new file mode 100644
index 0000000000000000000000000000000000000000..f5be3963dc0f2ca78e875cfccc5d021af76ba8d4
GIT binary patch
literal 3970
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

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/favicons/technorati.png b/simplepie/demo/for_the_demo/favicons/technorati.png
new file mode 100644
index 0000000000000000000000000000000000000000..0f19e824e614e7d56638174c33690d77606df22c
GIT binary patch
literal 4087
zcmV<T4+!vyP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV000gvX+uL$Nkc;*
zP;zf(X>4Tx0C=30S9dto58wWL&oqzYI96n@aI9mmjL3}ak-f{F8Ie(u%#4&IqmV=>
zQc@v>sH`Lv2~o+ZRK|J!=y~7YAMf>C&-LDa-JkoqKJ%Z?bpx>Rc!h@tqW~ZzG&<5|
zzk!gGvx^XZ5^%r?XdnUA%O@&a-`d&&{v&=)00IE;lHwH}9_;qs17BC{+MnT6iqfks
z)%eeO002OUbaHk9Kx6@c9PpRx0RY+iFSi2#a$IzHGyoC^0A!y)FJAy82>@gx?Q9GI
zkU9V$1pMV406_5m%Lf2}5bF~V4S-Am;7FmqL7@QnRREl>uV0i806`W2e0`&QLI4Q)
z03a6<66Om)=m7vJpYX_N0KyUgP@J4yg#M0vhzUS-4**X7A1zt}ptTY}(D@%t;wk`_
z4Z!t_|7bKDKmY*Y8j13!Dggih!eRh`ou$)h5&-x@fb9Z0eY1*A->wEg&j9oU`@}@X
z{`+1CG7RwF;=eop8)yUo1pr)N0T&T0Vu@6t(5Oh%Dmog2$24GFaNM}J_zs5ij5$ns
z%;#B}Sw{&QL>2Zp(ja*^X9(9Qk3MfBA0K~_0A4U(m?TmxMij4-q)4?%E6EH{tmI}C
z4l6EFgOpcPW7W|b37RzRNS*I{<Mfsd!VEtcIT{a|$e31`<1FGVC#-a>Yi$^8{p=n%
zNI1qjO}ePMRvg-JckpQQV)gd+Y4Jn+odd21(hln#$qAkcl@1FFzZtO^r4bz&b369y
zQHgl}gtElJq^)F1iu>{0)Rwe28R!$@CrwX<W)^4NJw2KIEr*ax$urOQDo8Ipf3~IQ
zZt+;j(mA9ITlVez*oAxL=P#yK9KPgGsd1UF3aMJI9<AxFy>un(YG9ptJ+*=V8v5FD
z<CE*nO~p6jn_XM9Z}Q*VZk=m;*j{lf{kCU^RwqyA?>iG+&3Cizxp%AHC*J?i)BYgq
zq1z*+UR>{Z-}U~a$L0gP1M^RAJxv)j8{!_CAFh8EGom|+jP^WFe4+ee<z>y7*EsL^
zz(m%h-sJjJ{VUID&gsXmkIg8~%)Kd{-9P)|?bUbo?~(V{=RD`x=i5K{EpRT}`{=hw
zSnOExS!P*o{^Y!ZU8!HST%~<3|6=fE;cM=i+S=Q1r`F}yU(-%~SN*>Dqw=TQhTz8X
zuioDsf1YiL?y%D70Kg7fkO(7)G;#`ANBN=V(P0=orWR|BW5V^}^B8;?^_Ya2xmXxk
zQ3NuZAW@OsffUbii9E=;!>z&-#oNA%&TqN9Qea(3Q}~?7Z?Oa7Es`u!NB2y~P-P1!
zG<gSwE+t{=DdkV9dTKT5+nSzQZ8|tz$Guneei@h;=I@&~mfRm_(rd<MZf8+uxnLz>
z9dYokEt{RKeYL}yla_O;OYb2DH#_$VkJnxT-d;YnzH9#S0Y?IF2CW<s4Gst?3w;*O
z6rmd#8dVWJ5<`!ZJ$f)cHK8i8FKH>6B}M7DQ))!o>Gax+hbP{gT+d|95<9J&t$W5g
z$2~VLFF8M~z@yOatU(dASgJ&zlvqkX_o-~+eE)^6@|ugK6(=r5R=Qr+uad6jszKMR
z)DB&_d9|i4v;J^{)isqyp2k1d-!(nBQQ4f?5_Hp~RjQ4#ZMA*)*45kD9f6%jcSO4|
zU5j^z?p^6lyYJOw_(1f*&cmrk?Y+f)@%=83)dx5RXisLI-Wtps3LCb5CO5(|@^y6J
zdHsvbmqBBu<5Ck06U&nWQ#G$rr#)Zm&hXD{znPisd|Ui3;=R?J{5;G2hYwE{sy`lI
z^jOkf=3b_K8d<r%dggP`7vryDU+HVp-)^s$(4xLu|B(O5`t#Gq<6oD5C;xHXRNW$P
zecvA1X{3A8=>Wh4Vqgx(pbJ4G#z-NufYL|RpxMxA=q*etmK9r$qvFQ#2@K*4lZ<&x
zmdxzTGc5J22?T341tK%?C;K$%0Y@YG0%tB)I(IxzC~v?nPd*QR*WC^R2L%rb*$CT-
z*o#_<8Ht-q7)k0$Y3@;#7LgH<Wu@RL8*+>CvkKFSFO-I;1IqVR+ElNpRjZe2<Y}JK
zI<1|dld7A%H$g8-Kght#(0iY!k&Us{esdFJQ!6twb3+R=OM?U2RtDBu2i0tJZ8h!G
z>{T389MzmOoT)BquGB*cZVK*79%`OCUYg!&KI*<&etZ431B?QVgNzUB9MKEb4KWEd
z3ZsS#MGzylBA243qlaSd#9ocdJ{lYEnP8KsktBYMc<fj5Y|4Y<)v38@ap{LL)KBoA
z#GG6_)t_0Lm2)~Md;b}!99+&q?&G|g{L}*XLhZABXMYuq6}Oh;lm?vJS0-{EeSZEz
zclo)CF%|ZgsFj4ukCz`-RaU3h_|@uN;l1+hYF}MRePDxf!_KuQjk(vIo5Y*G+-Pr3
zYB9M<x;fq2)E3vScZ+aq{&s7}iB69@nq8b-w7Zk{TDvRn=k~-t2zcoE$hFs_FStME
zaoRw|lisJFhxmtWpOue%eQx^V+L*+6!=&ca{B-L~&TP!Pw7J0rg~f?aw?8j^tNkgu
zxk{%4{QZ3Z060~EQgr~ABLMd50NF1ABxwMgo&eUY0CpOHIwS=sekni>uKe%+5CcD`
zg%5}@;)awVFHr=PF)9Vsf%=A)M*E^KpvN#Q7(>i4Oef|$mV))iR$*sxd^ks3F>V~s
zj<?3=<3|}d7#tZ&8KxNp7=0KU7{4=VFdb(aWaeb{U~XXk&0@xKo@Iqqhc%b=EkTKp
zP58j3!&bt!Ml>Z>vt!tO*t<!Bq;%3EhZ#pJS(to^Oyl(Ae9EQG)x<5pozH{eN#LRJ
zhVp*g<+1BMpF7_SzbpU5Zs*-^1Uv-h1%m|Fg^md`3tteC7P&2IEc!+)R-9S9T0&Q1
zLNZi}DAl^hX3r1lOETs%YqA$9R&pTMDDR`dr!cNqpkzs9rao0JR&i1lR{g5ht)8Rd
zrb*G<)|%43rE^v{V($Sxd3|2}p9b#@2lw?EH5=FNFEq(Cy=?Zv{Ff#5fR|Oib=Scy
zTQ$2-`)dxfPU6l!E^V%xZhPG`JzjdrcqjRc`bqhp3|I_0aJV6u9Fh^b6z&=EI?6n{
zFV;A2DBdGsE-5aVoYI_Xk@hj8=%m7_xvau$yBtjJV190)b&+K8=hCNTcP`w%*mLR0
z<=*PG+T}W~28BkOru61(Hy7G@Zu@rDb?tP!_FQ<x)93$q=Bd-r=!ntt*)h9`^;bDF
z{Idh^-RCzyRxWF-41aN4dqfld;k^<0+xXABE!}O^9T7T_P6q%v2!gBd0TD$!kxFD1
zwHxJ*Do4FR3!>f7m(X(<5sWXU4zr3?#KvOp;!rqKTt03RFNhDoH{&-M%ovIp-Z9ED
z9%CG2+Qk&Y)Wu9-_F?X1A+iLp+-K!sjbI%jND|Ts@7VO%YKd545OI{9%3e-lAjOd8
zIczx|kyXfboI;#MTufY<+`yf{y}=X1v%#Cl`)5}&AD%CppTu9Xn{Ri$fTBQ`;C{hz
zA%CIY!g(U1BJH9kq6=cF;(X#A5)Kk;lDSe;saJdArG=%R$t1`M$-bbRlv9!WC|{xA
zq{yK-qI8C8u1rv#QYljnP*YLIs*h{bYQ}1rYD?+hbw29$?XA(v(T_54GBn<&X{2l{
zwqMYM)s)?gVs2sKXPI-L$!f^@iw(D}sa=wNlf$GF+1c17#r2*W%H7hV$aB(L&?nLN
zxj$DxWZ=ug3P*B-e}_7U^+%{jmPeCfvf_}VN8{HL6Ow4j$;a`jdFkYgl9QBEkFxAf
z&!0)j70r8C;8sX0DlFMsx>S~UL9TqE;!LI1Wm<K4t;bbT-Ec!jqd^mLqq`-&)w+Gx
zt%Z)ZJ1KXqy2b9(AIv^#>C1h5^ojYP#xVag`smjeZ^uR^?oHKCSIrd77Q8E%%lUBP
z<LRXnpR!i-zLc&tthapc|2h8a-6m?AnN9})3ur*_h%eHO;zPxtUZCaB+2|#V5vB%<
z#rk0TapJhsxHY^3{vLxkLoUN6V<6)clQB~VGljW^g^%SdD=TXzftgUiMr1oj6d^XT
zYq5`!{5TMf60#b3iZh0b#C40?k$a2h3a>5i&aNgtFMbk#&+b?O8G-kL=Y<@Fd4y*~
z%0!*TB*a$5+ayvX^`(eXb9=5yr^z_WN>b32S-EEUJcUrj14?pK0(DJ!Mx|S|QLRk<
zghqtsAuSVaJsmY&%3cvY9(^7ICPSuu%tk!M-1~)0_)KNYEX_kLaxFU#ytRgdGBysj
zXYC%_(;elU!kz0~mJi9hCAvTJ<n;3NZuRByJM7;RC>E4+crn;9q%TY^{7NJ#Dk}yX
zn-;edpO}bA%1CBUsZ5ngYtPU+@%+@0EaddrGnAaMyto3+!loj#;y<PJW&Rgr%4roN
zm337`HQ`rm>kJx{8@ZZ@H<nx8w@$UU-LC9B-Q{sl{XV&8=HZ>*n11R2JZTwpAI3kc
z9F==M^wNE7YQl2z{wvD#x!1HeduKD>4!<YNnaxLjC|T(IIJvmAw7$IjX?A6F^}*++
zFGXJ?*7kkFe|x%~MKh)S`d<CR^2h4W><!6{_Fwycz5H$Ud+?9RpSzo)n^~J*w;Z<W
zwl=o+Z<lN@?5OV4(Ra~v=yZU;ehB~om<+>$!y<(&4EOyPbNBy6NN~*m^gsZB#V^#}
z763>9zz>EH2Eh;pkst&XU<msF{(3b402~pZ+#3L($Bq7f>PGt=jRpWP3=5Bs3<?O0
z7Saz75B3u>3=0X5iS~<>6*3L=k&_itQczF<0QeU?a{Ut552?Wb00D<dL_t(Ijir-M
zD1%`f$3O4vovBA}{=}NhTqb|6J1j{`$N?z_r8qfoa&&Q6ZjR291IZlhz=5>G=uL96
z6iJe;4Nc=M?48X)-qEJ{^F984zwhVyJ>Q-O{wWEddsE41dIE=VvCw`*iCGu}+t<qk
z!anYkHvp7bs_1i$<EidNk|fF8x<N+M699}g%oygUl*W|WMJTT3oEnV!X|wh7noea*
zA4MT6bl8WCA@9*hUh`+j;;9z{;4E!IHdz3;dyWu{`U~EFH@un!{6+DXSQc>kc!Hiz
z0#IqS(^Bp!2<WLD%>pz%K_KEYnzQb89K!Xjxux90Wb+(S>js&RqC>b?>NqyCcuHxk
zoX>H1yF)0hB4h<;X%n3_!wl9>V3LZy0sz`<{dnDL2BeU3LJUUzTs(w+WL9HanDaF%
ztTq7jbdo^CN1bT=(%*~v*$uA}e~IM+EJao-t#;Jd7W1JguC%jnHxROt2Vg2@`e5Kk
p4++Q(@i!8(^8OqD3fUh(dIMdxfN`P@N-6*V002ovPDHLkV1n~J@8kdg

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/favicons/wists.png b/simplepie/demo/for_the_demo/favicons/wists.png
new file mode 100644
index 0000000000000000000000000000000000000000..2e2d294d1ec6198f50c3a37253cc7252a2d4b3a4
GIT binary patch
literal 3974
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

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/feed.png b/simplepie/demo/for_the_demo/feed.png
new file mode 100644
index 0000000000000000000000000000000000000000..e23c50c85b2fc311da507ea1a36b05c859477153
GIT binary patch
literal 715
zcmV;+0yO=JP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00004XF*Lt007q5
z)K6G40000PbVXQnQ*UN;cVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!T}ebiRCwBq
zlg(=rK^VrL*-cstQMY1@M6@fdv=u*E$e|!;3tqfvi+B(b+rOaZFQ_7(wKs1q^dN}P
z6a;V0NrX~tkXQ>+60z1wux?1B>3(E=W@nR>oP6QkosV~Z^E|V&0*rblG7hKyj7<|R
zpB~c<)A3vFRu=s_()x^_5#I9fB+Bb^NQ^=o902q=7S!4nA9z>D|LDWt0tlH9&YLs8
z#jznnPdxz&cY(cirJ#}Zwze*Sn1Hh);QbKANWE4yq65Rg<~`uZQ=r>ml?9ZRfL|HF
zw%TA+@fV0t?EaQ!YM$2tffqnI4@9{*KFS;i&eO_B0Z2Y11S<E#-18x#bm(aa0KqN}
zCyHs{^AxZ>&%ULAgFM@jEGG>GaYC5e0Jxn25xX4php5d2R%e0NXMy~41aX|Iu4V)2
zsD%J7aa;m+-|uio;=Xh6!~@{m3~+M|xV8x72wI*}kZ!^+K2jEJHDtRwG@BGuLumyb
zTq&n!lic+VK|k4Fd921#gm;;$HUMZ6paXxx3$jMZ3;ZIl#<&yDpp(9@^Dy6W=Soqn
zx-_k78w#Y4CV-a-x3lW-UXH1%IHmVb0v~2ozjwR|2+qKltp?x<CH4?9LI2y7{%KxS
z_T2)$WK{d8*#yY7S|Fv&moJoG89O;uw6Uc6(n>kBAmhRf%I^u9V)cH!U>vs1-eg7H
z^~7Zbka36$PtrooQe!67#W>#Iht0QNVdZm037{z~8ZjHE6IFC{@xDgT%IJZVch1r9
xZQ~TIqV&z5Nj^h}`kntTq@Q$Zp_KV2zyNZ!0q^m>#MuA<002ovPDHLkV1i)rMIQhF

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/logo_simplepie_demo.png b/simplepie/demo/for_the_demo/logo_simplepie_demo.png
new file mode 100644
index 0000000000000000000000000000000000000000..eda2d868b54949e2f4f7c12d21f0ae1f9052f0c8
GIT binary patch
literal 3047
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

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/lucida-grande-bold.swf b/simplepie/demo/for_the_demo/lucida-grande-bold.swf
new file mode 100644
index 0000000000000000000000000000000000000000..0a41e15eb87253083c1233fbd9e4aff27d438082
GIT binary patch
literal 21159
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
K$o~KoWRaGA5MBiU

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/mediaplayer.swf b/simplepie/demo/for_the_demo/mediaplayer.swf
new file mode 100644
index 0000000000000000000000000000000000000000..bf78fd919a3587c75fd5b2df7ef463a22636aa62
GIT binary patch
literal 32008
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

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/mediaplayer_readme.htm b/simplepie/demo/for_the_demo/mediaplayer_readme.htm
new file mode 100755
index 0000000000..56e12c309e
--- /dev/null
+++ b/simplepie/demo/for_the_demo/mediaplayer_readme.htm
@@ -0,0 +1,5 @@
+<html>
+<head>
+<meta http-equiv="refresh" content="0;url=http://www.jeroenwijering.com/extras/readme.html">
+</head>
+</html>
\ No newline at end of file
diff --git a/simplepie/demo/for_the_demo/mini_podcast.png b/simplepie/demo/for_the_demo/mini_podcast.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd6faf2a318701ec923687afd472e5db89ffd651
GIT binary patch
literal 1202
zcmV;j1Wo&iP)<h;3K|Lk000e1NJLTq002Y)000vR1^@s6DVVGM00004b3#c}2nYxW
zd<bNS00009a7bBm000XT000XT0n*)m`~Uy|A9O`nbW?9;ba!ELWdKcKV{&h8Wn^h#
zAVz6&Wp{6KYjYqtwP@0K0000MbVXQnLvm$dbZKvHAXI5>WdJZSFEBGNFg8Pc<_`b>
z1P4h(K~z|U<(5%s8+9DVKbKs3UDGUUdPA;ewlJ|+hry<kiq0)#!o+Pl&66)HB1E6;
zgY>}%3F6bRK24+ral#N8EuCdZMQ9>}wTxzKK)a>7uEi{AZ5mtCw9DG&d`NQ1<ucjR
zY~vq}knivN`~H8w@BQxXFQ}@jUSGY%$I&mjem_EdBSGm>EOJ$1N6qbgWIx06^0Qd2
zR!k-n0758rQ$2d~J?g~TZBgi>#Fp1rIG6o^*PnichK2@ACKKk^+oC^_T_&DMfQoi0
z7P;!NO(9EU@is4{Tajg%nwlEK(Aq8H_siU?k%_PWKd^|rKzK4tb8|EG_4SDVmT+W`
zn<IPN)SK(Lu<!%%t;7R`cQO`@MoFbo0GQZ<!ljt=30rXfDL<E<=_R|R^6AW1oNx6L
zboCo}m2!6)mdRw;+}s2}WGnBKRCKSa=_F^A6TI{5Cwv_n2H=g!54rQwFp5~gWvMza
z$Qz<aGV!&NU^e$NG#{W~SWAt<#rdD`HNA=d_kNA49-q(&dan71r00mQC3G?GjUEOU
zMl13QdzZ#M*L(z%p$FoMBoljiM5pDw(Zj%VXAMo3?xC5nW;6ppR77L&fOS9LL@yIO
z*oXhOekNC@`M&*gc8gZRe^29&^lQQZo^c<+rF`+PP2d^#5%Y{_xFX5Kj^+Lr_>t8)
z;+cfT4|Mk74fQZMKdRFSboLqay`dfk+-G&TBIUjuLaal_E9gCp831B=P^pzUH*=B6
z!{1`J)HCG%jNaQ9*ezNCm|ctKp1<0naG<lVcsH*42qtnxlFfhO3VY-yuTivDoXDlj
ziZ+qLa0g1QY|t<8gy9a<Qzesg)n{n5RIkumrG9mW7!uOCgvpg@4$JKTJXyC-<6OEM
z%r%)V3VW{P@Ay6aW{qaMj#t=gX<c7vquE}J=W+G)1fDBCO+T0jq14L6ULDbR!cfk%
z_`QV2FYwCsN_(r+ufdS=;A}dk84~<6L`$6lz>o1UW8<RTAl!8MII$DOXWa9%k4S0`
zfWV>R9rup)FnD(q;g1ef?}UyYTr8WkbaB$u(`E0XJYUyGmf|!&gc$$=-?>#~m+_6;
zy1Rw<_rC>z|CfH2H&RsMRRh*Neu%EFE?h1bqSxVJU@>4wi2OB6_e8H=WVM3u4#)P+
zS&$?NQ4|3%z3V*5t_@4^uu_vxC_TVbDJHIidq%<ObYipFa)!LPubnR*@1}L-v29c6
zqrmpwv2bkc2@Wa;aJgJK91Z}4Y&NSVlS!tgrU-|_M59qMnGDswBuT>QbmDTkXlrZ3
z;cy@b0)m=bq|<4V$t0;%N;}tA^Abf7o6Uy9;lOIOA_xLN&XE7Owr#ck0iew8UF$dq
Q>i_@%07*qoM6N<$f^gwQSO5S3

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/place_audio.png b/simplepie/demo/for_the_demo/place_audio.png
new file mode 100644
index 0000000000000000000000000000000000000000..560ea0039310545ed1c4dcf7a1004abcd2b780af
GIT binary patch
literal 851
zcmV-Z1FZasP)<h;3K|Lk000e1NJLTq004pj000mO0ssI2RnIWu00003b3#c}2nYz<
z;ZNWI000SaNLh0L02}=P02}=Qm(d3{0000KbVXQnLvm$dbZKvHAXI5>WdJlUH7_tW
zlXA8~0000VbVXQnQ*UN;cVTj608L?Ia&K*AWNBd_Mrm?ocW-iQb09diXwrB900OH?
zL_t(oh3%KWPZMDn$3J(}f=ErHU?>n%8C+ZlR0kcn$-zjh0|O3XOe`yde?b2L`wuXX
zhJ_d%8euf16FM9Ts~z;>k5g1Ea?lD?UWfMDYwzt3VrUcF@AT&TJkR%i-uL_T?y4|9
z%G1wi{dCZL<OCbP2oEaUILF;VE}m|6N9~ID8J>Sp@v0pUT8T@&^mcg|>5)dYfeG!x
z#P-2%!b}=_W|MnsFAVpneERL?<5#2cYtiJl^|-N;xc(%1CDQ!f+6W#+<*b)9?0^Ls
z$ns!hDm<)dujZ29*S8O?@Y-W-Ak^wk{|g*J4h|p-8L(gn(vZbd$oK<54uE}(9n&yP
z0EJ**An`64?$;6@lc>-IAZGM@o${>UkeJqsYd0gNYvsFZoh21j)fgvPSLaw#?##L*
zpe%(Dh}jYYC=2p|_PD8_FAz_yCT_;&U&nyx*xcCp%kyh7?5CHA=tVgZ(UnD8I%`WR
zWrDSDT<U@Qgf(<(+bK<GT&fh!A!c-CIfOvm)0HKge5fmnA#!EcQrdbU1oDs*5*y;F
z)wmX&42%Qu)Cyo&roY=KtuIq|zh%;ng$JPEnNm0^`Kdu-UMZo9Nfl`|GD``|j)WWt
z`vH)($z2fk+OnheDV&ED_Z?%ND?~*^cV{*Ni4BHT_%8By`+~k9VEbS<VI-yXb$zbr
z)tO&+QY3s@vM&2+%B1A_mSbHUpu@_Bop3jwC*2zz<5~cz4S->plYw!+w=Zex;h?s$
z^|t5@)orgf3$@22A8n-Re;Kz1rQBrWn@as?v>$E<m>Q~J{a#-*6xsNZ%0HAkI9a^h
zRJb$5tw5_AX>YtRRW|oq-9_8uLq^5e<E!M4bO%jB%Hou&@MskMCxbnlk-x4xI6>?m
d@n(zJ;9uZFSmaT$)Vu%y002ovPDHLkV1g28gKhu-

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/place_video.png b/simplepie/demo/for_the_demo/place_video.png
new file mode 100644
index 0000000000000000000000000000000000000000..be5ec8219eb952d55d581e40b104d8a74a58af2a
GIT binary patch
literal 36713
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
ATmS$7

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/sIFR-print.css b/simplepie/demo/for_the_demo/sIFR-print.css
new file mode 100644
index 0000000000..ec89b1961e
--- /dev/null
+++ b/simplepie/demo/for_the_demo/sIFR-print.css
@@ -0,0 +1,35 @@
+/*=:project
+    scalable Inman Flash Replacement (sIFR) version 3.
+
+  =:file
+    Copyright: 2006 Mark Wubben.
+    Author: Mark Wubben, <http://novemberborn.net/>
+
+  =:history
+    * IFR: Shaun Inman
+    * sIFR 1: Mike Davidson, Shaun Inman and Tomas Jogin
+    * sIFR 2: Mike Davidson, Shaun Inman, Tomas Jogin and Mark Wubben
+
+  =:license
+    This software is licensed and provided under the CC-GNU LGPL.
+    See <http://creativecommons.org/licenses/LGPL/2.1/>    
+*/
+
+
+/* This is the print stylesheet to hide the Flash headlines from the browser... regular browser text headlines will now print as normal */
+
+.sIFR-flash {
+	display: none !important;
+	height: 0;
+	width: 0;
+	position: absolute;
+	overflow: hidden;
+}
+
+.sIFR-alternate {
+	visibility: visible !important;
+	display: block !important;
+	position: static !important;
+	left: auto !important;
+	top: auto !important;
+}
\ No newline at end of file
diff --git a/simplepie/demo/for_the_demo/sIFR-screen.css b/simplepie/demo/for_the_demo/sIFR-screen.css
new file mode 100644
index 0000000000..778e09d2b6
--- /dev/null
+++ b/simplepie/demo/for_the_demo/sIFR-screen.css
@@ -0,0 +1,39 @@
+/*=:project
+    scalable Inman Flash Replacement (sIFR) version 3.
+
+  =:file
+    Copyright: 2006 Mark Wubben.
+    Author: Mark Wubben, <http://novemberborn.net/>
+
+  =:history
+    * IFR: Shaun Inman
+    * sIFR 1: Mike Davidson, Shaun Inman and Tomas Jogin
+    * sIFR 2: Mike Davidson, Shaun Inman, Tomas Jogin and Mark Wubben
+
+  =:license
+    This software is licensed and provided under the CC-GNU LGPL.
+    See <http://creativecommons.org/licenses/LGPL/2.1/>    
+*/
+
+/*---- sIFR ---*/
+.sIFR-flash {
+	visibility: visible !important;
+	margin: 0;
+	padding: 0;
+}
+
+.sIFR-replaced {
+	visibility: visible !important;
+}
+
+.sIFR-alternate {
+	position: absolute;
+	left: 0;
+	top: 0;
+	width: 0;
+	height: 0;
+	display: block;
+	overflow: hidden;
+}
+
+/*---- Header styling ---*/
diff --git a/simplepie/demo/for_the_demo/sifr-config.js b/simplepie/demo/for_the_demo/sifr-config.js
new file mode 100644
index 0000000000..e7066b3613
--- /dev/null
+++ b/simplepie/demo/for_the_demo/sifr-config.js
@@ -0,0 +1,40 @@
+var yanone_kaffeesatz = {
+	src: './for_the_demo/yanone-kaffeesatz-bold.swf'
+};
+
+var lucida_grande = {
+	src: './for_the_demo/lucida-grande-bold.swf'
+};
+
+sIFR.activate(yanone_kaffeesatz);
+//sIFR.activate(lucida_grande);
+
+sIFR.replace(yanone_kaffeesatz, {
+//sIFR.replace(lucida_grande, {
+
+	selector: 'h3.header',
+	wmode: 'transparent',
+	css: {
+		'.sIFR-root': {
+			'text-align': 'center',
+			'color': '#000000',
+			'font-weight': 'bold',
+			'background-color': '#EEFFEE',
+
+			'font-size': '50px', // For Yanone Kaffeesatz
+			//'font-size': '40px', // For Lucida Grande
+
+			'letter-spacing': '0' // For Yanone Kaffeesatz
+			//'letter-spacing': '-4' // For Lucida Grande
+
+		},
+		'a': {
+			'text-decoration': 'none',
+			'color': '#000000'
+		},
+		'a:hover': {
+			'text-decoration': 'none',
+			'color': '#666666'
+		}
+	}
+});
diff --git a/simplepie/demo/for_the_demo/sifr.js b/simplepie/demo/for_the_demo/sifr.js
new file mode 100644
index 0000000000..0a8b1b6dc0
--- /dev/null
+++ b/simplepie/demo/for_the_demo/sifr.js
@@ -0,0 +1,19 @@
+/*=:project
+    scalable Inman Flash Replacement (sIFR) version 3, revision 245
+
+  =:file
+    Copyright: 2006 Mark Wubben.
+    Author: Mark Wubben, <http://novemberborn.net/>
+
+  =:history
+    * IFR: Shaun Inman
+    * sIFR 1: Mike Davidson, Shaun Inman and Tomas Jogin
+    * sIFR 2: Mike Davidson, Shaun Inman, Tomas Jogin and Mark Wubben
+
+  =:license
+    This software is licensed and provided under the CC-GNU LGPL.
+    See <http://creativecommons.org/licenses/LGPL/2.1/>    
+*/
+
+var parseSelector=(function(){var _1=/\s*,\s*/;var _2=/\s*([\s>+~(),]|^|$)\s*/g;var _3=/([\s>+~,]|[^(]\+|^)([#.:@])/g;var _4=/^[^\s>+~]/;var _5=/[\s#.:>+~()@]|[^\s#.:>+~()@]+/g;function parseSelector(_6,_7){_7=_7||document.documentElement;var _8=_6.split(_1),_9=[];for(var i=0;i<_8.length;i++){var _b=[_7],_c=toStream(_8[i]);for(var j=0;j<_c.length;){var _e=_c[j++],_f=_c[j++],_10="";if(_c[j]=="("){while(_c[j++]!=")"&&j<_c.length){_10+=_c[j]}_10=_10.slice(0,-1)}_b=select(_b,_e,_f,_10)}_9=_9.concat(_b)}return _9}function toStream(_11){var _12=_11.replace(_2,"$1").replace(_3,"$1*$2");if(_4.test(_12)){_12=" "+_12}return _12.match(_5)||[]}function select(_13,_14,_15,_16){return (_17[_14])?_17[_14](_13,_15,_16):[]}var _18={toArray:function(_19){var a=[];for(var i=0;i<_19.length;i++){a.push(_19[i])}return a}};var dom={isTag:function(_1d,tag){return (tag=="*")||(tag.toLowerCase()==_1d.nodeName.toLowerCase())},previousSiblingElement:function(_1f){do{_1f=_1f.previousSibling}while(_1f&&_1f.nodeType!=1);return _1f},nextSiblingElement:function(_20){do{_20=_20.nextSibling}while(_20&&_20.nodeType!=1);return _20},hasClass:function(_21,_22){return (_22.className||"").match("(^|\\s)"+_21+"(\\s|$)")},getByTag:function(tag,_24){return _24.getElementsByTagName(tag)}};var _17={"#":function(_25,_26){for(var i=0;i<_25.length;i++){if(_25[i].getAttribute("id")==_26){return [_25[i]]}}return []}," ":function(_28,_29){var _2a=[];for(var i=0;i<_28.length;i++){_2a=_2a.concat(_18.toArray(dom.getByTag(_29,_28[i])))}return _2a},">":function(_2c,_2d){var _2e=[];for(var i=0,_30;i<_2c.length;i++){_30=_2c[i];for(var j=0,_32;j<_30.childNodes.length;j++){_32=_30.childNodes[j];if(_32.nodeType==1&&dom.isTag(_32,_2d)){_2e.push(_32)}}}return _2e},".":function(_33,_34){var _35=[];for(var i=0,_37;i<_33.length;i++){_37=_33[i];if(dom.hasClass([_34],_37)){_35.push(_37)}}return _35},":":function(_38,_39,_3a){return (pseudoClasses[_39])?pseudoClasses[_39](_38,_3a):[]}};parseSelector.selectors=_17;parseSelector.pseudoClasses={};parseSelector.util=_18;parseSelector.dom=dom;return parseSelector})();
+var sIFR=new function(){var _3b=this;var _3c="sIFR-active";var _3d="sIFR-replaced";var _3e="sIFR-replacing";var _3f="sIFR-flash";var _40="sIFR-ignore";var _41="sIFR-alternate";var _42="sIFR-class";var _43="sIFR-layout";var _44=6;var _45=126;var _46=8;var _47="SIFR-PREFETCHED";var _48=[10,1.55,19,1.45,32,1.35,71,1.3,1.25];var _49=5;this.isActive=false;this.isEnabled=true;this.hideElements=true;this.preserveSingleWhitespace=false;this.fixWrap=true;this.fixHover=true;this.registerEvents=true;this.setPrefetchCookie=true;this.cookiePath="/";this.domains=[];this.fromLocal=true;this.forceClear=false;this.forceWidth=false;this.fitExactly=false;this.forceTextTransform=true;this.useDomContentLoaded=true;this.debugMode=false;this.hasFlashClassSet=false;this.delayCss=false;this.callbacks=[];var _4a=0;var _4b=false,_4c=false;var dom=new function(){var _4e="http://www.w3.org/1999/xhtml";this.getBody=function(){var _4f=document.getElementsByTagName("body");if(_4f.length==1){return _4f[0]}return null};this.addClass=function(_50,_51){if(_51){_51.className=((_51.className||"")==""?"":_51.className+" ")+_50}};this.removeClass=function(_52,_53){if(_53){_53.className=_53.className.replace(new RegExp("(^|\\s)"+_52+"(\\s|$)"),"").replace(/^\s+|(\s)\s+/g,"$1")}};this.hasClass=function(_54,_55){return new RegExp("(^|\\s)"+_54+"(\\s|$)").test(_55.className)};this.hasOneOfClassses=function(_56,_57){for(var i=0;i<_56.length;i++){if(this.hasClass(_56[i],_57)){return true}}return false};this.create=function(_59){if(document.createElementNS){return document.createElementNS(_4e,_59)}return document.createElement(_59)};this.setInnerHtml=function(_5a,_5b){if(ua.innerHtmlSupport){_5a.innerHTML=_5b}else{if(ua.xhtmlSupport){_5b=["<root xmlns=\"",_4e,"\">",_5b,"</root>"].join("");var xml=(new DOMParser()).parseFromString(_5b,"text/xml");xml=document.importNode(xml.documentElement,true);while(_5a.firstChild){_5a.removeChild(_5a.firstChild)}while(xml.firstChild){_5a.appendChild(xml.firstChild)}}}};this.nodeFromHtml=function(_5d){var _5e=this.create("div");_5e.innerHTML=_5d;return _5e.firstChild};this.getComputedStyle=function(_5f,_60){var _61;if(document.defaultView&&document.defaultView.getComputedStyle){_61=document.defaultView.getComputedStyle(_5f,null)[_60]}else{if(_5f.currentStyle){_61=_5f.currentStyle[_60]}}return _61||""};this.getStyleAsInt=function(_62,_63,_64){var _65=this.getComputedStyle(_62,_63);if(_64&&!/px$/.test(_65)){return 0}_65=parseInt(_65);return isNaN(_65)?0:_65};this.getZoom=function(){return _66.zoom.getLatest()}};this.dom=dom;var ua=new function(){var ua=navigator.userAgent.toLowerCase();var _69=(navigator.product||"").toLowerCase();this.macintosh=ua.indexOf("mac")>-1;this.windows=ua.indexOf("windows")>-1;this.quicktime=false;this.opera=ua.indexOf("opera")>-1;this.konqueror=_69.indexOf("konqueror")>-1;this.ie=false/*@cc_on || true @*/;this.ieSupported=this.ie&&!/ppc|smartphone|iemobile|msie\s5\.5/.test(ua)/*@cc_on && @_jscript_version >= 5.5 @*/;this.ieWin=this.ie&&this.windows/*@cc_on && @_jscript_version >= 5.1 @*/;this.windows=this.windows&&(!this.ie||this.ieWin);this.ieMac=this.ie&&this.macintosh/*@cc_on && @_jscript_version < 5.1 @*/;this.macintosh=this.macintosh&&(!this.ie||this.ieMac);this.safari=ua.indexOf("safari")>-1;this.webkit=ua.indexOf("applewebkit")>-1&&!this.konqueror;this.khtml=this.webkit||this.konqueror;this.gecko=!this.webkit&&_69=="gecko";this.operaVersion=this.opera&&/.*opera(\s|\/)(\d+\.\d+)/.exec(ua)?parseInt(RegExp.$2):0;this.webkitVersion=this.webkit&&/.*applewebkit\/(\d+).*/.exec(ua)?parseInt(RegExp.$1):0;this.geckoBuildDate=this.gecko&&/.*gecko\/(\d{8}).*/.exec(ua)?parseInt(RegExp.$1):0;this.konquerorVersion=this.konqueror&&/.*konqueror\/(\d\.\d).*/.exec(ua)?parseInt(RegExp.$1):0;this.flashVersion=0;if(this.ieWin){var axo;var _6b=false;try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")}catch(e){try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");this.flashVersion=6;axo.AllowScriptAccess="always"}catch(e){_6b=this.flashVersion==6}if(!_6b){try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(e){}}}if(!_6b&&axo){this.flashVersion=parseFloat(/([\d,?]+)/.exec(axo.GetVariable("$version"))[1].replace(/,/g,"."))}}else{if(navigator.plugins&&navigator.plugins["Shockwave Flash"]){var _6c=navigator.plugins["Shockwave Flash"];this.flashVersion=parseFloat(/(\d+\.?\d*)/.exec(_6c.description)[1]);var i=0;while(this.flashVersion>=_46&&i<navigator.mimeTypes.length){var _6e=navigator.mimeTypes[i];if(_6e.type=="application/x-shockwave-flash"&&_6e.enabledPlugin.description.toLowerCase().indexOf("quicktime")>-1){this.flashVersion=0;this.quicktime=true}i++}}}this.flash=this.flashVersion>=_46;this.transparencySupport=this.macintosh||this.windows;this.computedStyleSupport=this.ie||document.defaultView&&document.defaultView.getComputedStyle&&(!this.gecko||this.geckoBuildDate>=20030624);this.css=true;if(this.computedStyleSupport){try{var _6f=document.getElementsByTagName("head")[0];_6f.style.backgroundColor="#FF0000";var _70=dom.getComputedStyle(_6f,"backgroundColor");this.css=!_70||/\#F{2}0{4}|rgb\(255,\s?0,\s?0\)/i.test(_70);_6f.style.backgroundColor="";_6f=null}catch(e){}}this.xhtmlSupport=!!window.DOMParser&&!!document.importNode;try{var n=dom.create("span");if(!this.ieMac){n.innerHTML="x"}this.innerHtmlSupport=n.innerHTML=="x"}catch(e){this.innerHtmlSupport=false}this.zoomSupport=!!(this.opera&&document.documentElement);this.geckoXml=this.gecko&&(document.contentType||"").indexOf("xml")>-1;this.requiresPrefetch=this.ieWin||this.khtml;this.verifiedKonqueror=false;this.supported=this.flash&&this.css&&(!this.ie||this.ieSupported)&&(!this.opera||this.operaVersion>=8)&&(!this.webkit||this.webkitVersion>=412)&&(!this.konqueror||this.konquerorVersion>3.5)&&this.computedStyleSupport&&(this.innerHtmlSupport||!this.khtml&&this.xhtmlSupport)};this.ua=ua;var _72=new function(){var _73={leading:true,"margin-left":true,"margin-right":true,"text-indent":true};var _74=" ";function capitalize($){return $.toUpperCase()}this.normalize=function(str){if(_3b.preserveSingleWhitespace){return str.replace(/\s/g,_74)}return str.replace(/(\s)\s+/g,"$1").replace(/\xA0/,_74)};this.textTransform=function(_77,str){switch(_77){case "uppercase":str=str.toUpperCase();break;case "lowercase":str=str.toLowerCase();break;case "capitalize":var _79=str;str=str.replace(/^\w|\s\w/g,capitalize);if(str.indexOf("function capitalize")!=-1){var _7a=_79.replace(/(^|\s)(\w)/g,"$1$1$2$2").split(/^\w|\s\w/g);str="";for(var i=0;i<_7a.length;i++){str+=_7a[i].charAt(0).toUpperCase()+_7a[i].substring(1)}}break}return str};this.toHexString=function(str){if(typeof (str)!="string"||!str.charAt(0)=="#"||str.length!=4&&str.length!=7){return str}str=str.replace(/#/,"");if(str.length==3){str=str.replace(/(.)(.)(.)/,"$1$1$2$2$3$3")}return "0x"+str};this.toJson=function(obj){var _7e="";switch(typeof (obj)){case "string":_7e="\""+obj+"\"";break;case "number":case "boolean":_7e=obj.toString();break;case "object":_7e=[];for(var _7f in obj){if(obj[_7f]==Object.prototype[_7f]){continue}_7e.push("\""+_7f+"\":"+_72.toJson(obj[_7f]))}_7e="{"+_7e.join(",")+"}";break}return _7e};this.convertCssArg=function(arg){if(!arg){return {}}if(typeof (arg)=="object"){if(arg.constructor==Array){arg=arg.join("")}else{return arg}}var obj={};var _82=arg.split("}");for(var i=0;i<_82.length;i++){var $=_82[i].match(/([^\s{]+)\s*\{(.+)\s*;?\s*/);if(!$||$.length!=3){continue}if(!obj[$[1]]){obj[$[1]]={}}var _85=$[2].split(";");for(var j=0;j<_85.length;j++){var $2=_85[j].match(/\s*([^:\s]+)\s*\:\s*([^\s;]+)/);if(!$2||$2.length!=3){continue}obj[$[1]][$2[1]]=$2[2]}}return obj};this.extractFromCss=function(css,_89,_8a,_8b){var _8c=null;if(css&&css[_89]&&css[_89][_8a]){_8c=css[_89][_8a];if(_8b){delete css[_89][_8a]}}return _8c};this.cssToString=function(arg){var css=[];for(var _8f in arg){var _90=arg[_8f];if(_90==Object.prototype[_8f]){continue}css.push(_8f,"{");for(var _91 in _90){if(_90[_91]==Object.prototype[_91]){continue}var _92=_90[_91];if(_73[_91]){_92=parseInt(_92,10)}css.push(_91,":",_92,";")}css.push("}")}return escape(css.join(""))};this.bind=function(_93,_94){return function(){_93[_94].apply(_93,arguments)}}};this.util=_72;var _66={};_66.fragmentIdentifier=new function(){this.fix=true;var _95;this.cache=function(){_95=document.title};function doFix(){document.title=_95}this.restore=function(){if(this.fix){setTimeout(doFix,0)}}};_66.synchronizer=new function(){this.isBlocked=false;this.block=function(){this.isBlocked=true};this.unblock=function(){this.isBlocked=false;_96.replaceAll()}};_66.zoom=new function(){var _97=100;this.getLatest=function(){return _97};if(ua.zoomSupport&&ua.opera){var _98=document.createElement("div");_98.style.position="fixed";_98.style.left="-65536px";_98.style.top="0";_98.style.height="100%";_98.style.width="1px";_98.style.zIndex="-32";document.documentElement.appendChild(_98);function updateZoom(){if(!_98){return}var _99=window.innerHeight/_98.offsetHeight;var _9a=Math.round(_99*100)%10;if(_9a>5){_99=Math.round(_99*100)+10-_9a}else{_99=Math.round(_99*100)-_9a}_97=isNaN(_99)?100:_99;_66.synchronizer.unblock();document.documentElement.removeChild(_98);_98=null}_66.synchronizer.block();setTimeout(updateZoom,54)}};this.hacks=_66;var _9b={kwargs:[],replaceAll:function(){for(var i=0;i<this.kwargs.length;i++){_3b.replace(this.kwargs[i])}this.kwargs=[]}};var _96={kwargs:[],replaceAll:_9b.replaceAll};function isValidDomain(){if(_3b.domains.length==0){return true}var _9d="";try{_9d=document.domain}catch(e){}if(_3b.fromLocal&&sIFR.domains[0]!="localhost"){sIFR.domains.unshift("localhost")}for(var i=0;i<_3b.domains.length;i++){var _9f=_3b.domains[i];if(_9f=="*"||_9f==_9d){return true}var _a0=_9f.lastIndexOf("*");if(_a0>-1){_9f=_9f.substr(_a0+1);var _a1=_9d.lastIndexOf(_9f);if(_a1>-1&&(_a1+_9f.length)==_9d.length){return true}}}return false}this.activate=function(){if(!ua.supported||!this.isEnabled||this.isActive||!isValidDomain()){return}if(arguments.length>0){this.prefetch.apply(this,arguments)}this.isActive=true;if(this.hideElements){this.setFlashClass()}if(ua.ieWin&&_66.fragmentIdentifier.fix&&window.location.hash!=""){_66.fragmentIdentifier.cache()}else{_66.fragmentIdentifier.fix=false}if(!this.registerEvents){return}function handler(evt){_3b.initialize();if(evt&&evt.type=="load"){if(document.removeEventListener){document.removeEventListener("DOMContentLoaded",handler,false)}if(window.removeEventListener){window.removeEventListener("load",handler,false)}}}if(window.addEventListener){if(_3b.useDomContentLoaded&&ua.gecko){document.addEventListener("DOMContentLoaded",handler,false)}window.addEventListener("load",handler,false)}else{if(ua.ieWin){if(_3b.useDomContentLoaded){document.write("<scr"+"ipt id=__sifr_ie_onload defer src=//:></script>");document.getElementById("__sifr_ie_onload").onreadystatechange=function(){if(this.readyState=="complete"){handler();this.removeNode()}}}window.attachEvent("onload",handler)}}};this.setFlashClass=function(){if(this.hasFlashClassSet){return}dom.addClass(_3c,dom.getBody()||document.documentElement);this.hasFlashClassSet=true};this.removeFlashClass=function(){if(!this.hasFlashClassSet){return}dom.removeClass(_3c,dom.getBody());dom.removeClass(_3c,document.documentElement);this.hasFlashClassSet=false};this.initialize=function(){if(_4c||!this.isActive||!this.isEnabled){return}_4c=true;_9b.replaceAll();clearPrefetch()};function getSource(src){if(typeof (src)!="string"){if(src.src){src=src.src}if(typeof (src)!="string"){var _a4=[];for(var _a5 in src){if(src[_a5]!=Object.prototype[_a5]){_a4.push(_a5)}}_a4.sort().reverse();var _a6="";var i=-1;while(!_a6&&++i<_a4.length){if(parseFloat(_a4[i])<=ua.flashVersion){_a6=src[_a4[i]]}}src=_a6}}if(!src&&_3b.debugMode){throw new Error("sIFR: Could not determine appropriate source")}if(ua.ie&&src.charAt(0)=="/"){src=window.location.toString().replace(/([^:]+)(:\/?\/?)([^\/]+).*/,"$1$2$3")+src}return src}this.prefetch=function(){if(!ua.requiresPrefetch||!ua.supported||!this.isEnabled||!isValidDomain()){return}if(this.setPrefetchCookie&&new RegExp(";?"+_47+"=true;?").test(document.cookie)){return}try{_4b=true;if(ua.ieWin){prefetchIexplore(arguments)}else{prefetchLight(arguments)}if(this.setPrefetchCookie){document.cookie=_47+"=true;path="+this.cookiePath}}catch(e){if(_3b.debugMode){throw e}}};function prefetchIexplore(_a8){for(var i=0;i<_a8.length;i++){document.write("<script defer type=\"sifr/prefetch\" src=\""+getSource(_a8[i])+"\"></script>")}}function prefetchLight(_aa){for(var i=0;i<_aa.length;i++){new Image().src=getSource(_aa[i])}}function clearPrefetch(){if(!ua.ieWin||!_4b){return}try{var _ac=document.getElementsByTagName("script");for(var i=_ac.length-1;i>=0;i--){var _ae=_ac[i];if(_ae.type=="sifr/prefetch"){_ae.parentNode.removeChild(_ae)}}}catch(e){}}function getRatio(_af,_b0){for(var i=0;i<_b0.length;i+=2){if(_af<=_b0[i]){return _b0[i+1]}}return _b0[_b0.length-1]}function getFilters(obj){var _b3=[];for(var _b4 in obj){if(obj[_b4]==Object.prototype[_b4]){continue}var _b5=obj[_b4];_b4=[_b4.replace(/filter/i,"")+"Filter"];for(var _b6 in _b5){if(_b5[_b6]==Object.prototype[_b6]){continue}_b4.push(_b6+":"+escape(_72.toJson(_72.toHexString(_b5[_b6]))))}_b3.push(_b4.join(","))}return _b3.join(";")}function calculate(_b7){var _b8,_b9;if(!ua.ie){_b8=dom.getStyleAsInt(_b7,"lineHeight");_b9=Math.floor(dom.getStyleAsInt(_b7,"height")/_b8)}else{if(ua.ie){var _ba=_b7.innerHTML;_b7.style.visibility="visible";_b7.style.overflow="visible";_b7.style.position="static";_b7.style.zoom="normal";_b7.style.writingMode="lr-tb";_b7.style.width=_b7.style.height="auto";_b7.style.maxWidth=_b7.style.maxHeight=_b7.style.styleFloat="none";var _bb=_b7;var _bc=_b7.currentStyle.hasLayout;if(_bc){dom.setInnerHtml(_b7,"<div class=\""+_43+"\">X<br />X<br />X</div>");_bb=_b7.firstChild}else{dom.setInnerHtml(_b7,"X<br />X<br />X")}var _bd=_bb.getClientRects();_b8=_bd[1].bottom-_bd[1].top;_b8=Math.ceil(_b8*0.8);if(_bc){dom.setInnerHtml(_b7,"<div class=\""+_43+"\">"+_ba+"</div>");_bb=_b7.firstChild}else{dom.setInnerHtml(_b7,_ba)}_bd=_bb.getClientRects();_b9=_bd.length;if(_bc){dom.setInnerHtml(_b7,_ba)}_b7.style.visibility=_b7.style.width=_b7.style.height=_b7.style.maxWidth=_b7.style.maxHeight=_b7.style.overflow=_b7.style.styleFloat=_b7.style.position=_b7.style.zoom=_b7.style.writingMode=""}}return {lineHeight:_b8,lines:_b9}}this.replace=function(_be,_bf){if(!ua.supported){return}if(_bf){for(var _c0 in _be){if(typeof (_bf[_c0])=="undefined"){_bf[_c0]=_be[_c0]}}_be=_bf}if(!_4c){return _9b.kwargs.push(_be)}if(_66.synchronizer.isBlocked){return _96.kwargs.push(_be)}var _c1=_be.elements;if(!_c1&&parseSelector){_c1=parseSelector(_be.selector)}if(_c1.length==0){return}this.setFlashClass();var src=getSource(_be.src);var css=_72.convertCssArg(_be.css);var _c4=getFilters(_be.filters);var _c5=(_be.forceClear==null)?_3b.forceClear:_be.forceClear;var _c6=(_be.fitExactly==null)?_3b.fitExactly:_be.fitExactly;var _c7=_c6||(_be.forceWidth==null?_3b.forceWidth:_be.forceWidth);var _c8=parseInt(_72.extractFromCss(css,".sIFR-root","leading"))||0;var _c9=_72.extractFromCss(css,".sIFR-root","font-size",true)||0;var _ca=_72.extractFromCss(css,".sIFR-root","background-color",true)||"#FFFFFF";var _cb=_72.extractFromCss(css,".sIFR-root","kerning",true)||"";var _cc=_be.gridFitType||_72.extractFromCss(css,".sIFR-root","text-align")=="right"?"subpixel":"pixel";var _cd=_3b.forceTextTransform?_72.extractFromCss(css,".sIFR-root","text-transform",true)||"none":"none";var _ce=_72.extractFromCss(css,".sIFR-root","opacity",true)||"100";var _cf=_be.pixelFont||false;var _d0=_be.ratios||_48;if(parseInt(_c9).toString()!=_c9&&_c9.indexOf("px")==-1){_c9=0}else{_c9=parseInt(_c9)}if(parseFloat(_ce)<1){_ce=100*parseFloat(_ce)}var _d1=null;var _d2="";if(_c6){_72.extractFromCss(css,".sIFR-root","text-align",true)}if(!_be.modifyCss){_d2=_72.cssToString(css);_d1=_3b.fixHover&&_d2.indexOf("%3Ahover")>-1}var _d3=!ua.opera&&_3b.delayCss;var _d4=_be.wmode||"";if(!_d4){if(_be.transparent){_d4="transparent"}else{if(_be.opaque){_d4="opaque"}}}if(_d4=="transparent"){if(!ua.transparencySupport){_d4="opaque"}else{_ca="transparent"}}for(var i=0;i<_c1.length;i++){var _d6=_c1[i];if(!ua.verifiedKonqueror){if(dom.getComputedStyle(_d6,"lineHeight").match(/e\+08px/)){ua.supported=_3b.isEnabled=false;this.removeFlashClass();return}ua.verifiedKonqueror=true}if(dom.hasOneOfClassses([_3d,_3e,_40,_41],_d6)){continue}var _d7=_d6.offsetHeight;var _d8=_d6.offsetWidth;var _d9=dom.getComputedStyle(_d6,"display");if(!_d7||!_d8||_d9==null||_d9=="none"){continue}if(_c5&&ua.gecko){_d6.style.clear="both"}var _da=null;if(_3b.fixWrap&&ua.ie&&_d9=="block"){_da=_d6.innerHTML;dom.setInnerHtml(_d6,"X")}_d8=dom.getStyleAsInt(_d6,"width",ua.ie);if(_d8==0){var _db=dom.getStyleAsInt(_d6,"paddingRight",true);var _dc=dom.getStyleAsInt(_d6,"paddingLeft",true);var _dd=dom.getStyleAsInt(_d6,"borderRightWidth",true);var _de=dom.getStyleAsInt(_d6,"borderLeftWidth",true);_d8=_d6.offsetWidth-_dc-_db-_de-_dd}if(_da&&_3b.fixWrap&&ua.ie){dom.setInnerHtml(_d6,_da)}var _df,_e0;if(!_c9){var _e1=calculate(_d6);_df=Math.min(_45,Math.max(_44,_e1.lineHeight));if(_cf){_df=Math.max(8,8*Math.round(_df/8))}_e0=_e1.lines;if(isNaN(_e0)||!isFinite(_e0)||_e0==0){_e0=1}if(_e0>1&&_c8){_d7+=Math.round((_e0-1)*_c8)}}else{_df=_c9;_e0=1}_d7=Math.round(_e0*_df);if(_c5&&ua.gecko){_d6.style.clear=""}var _e2=dom.create("span");_e2.className=_41;var _e3=_d6.cloneNode(true);for(var j=0,l=_e3.childNodes.length;j<l;j++){_e2.appendChild(_e3.childNodes[j].cloneNode(true))}if(_be.modifyContent){_be.modifyContent(_e3,_be.selector)}if(_be.modifyCss){_d2=_be.modifyCss(css,_e3,_be.selector)}if(_d1==null){_d1=_3b.fixHover&&_d2.indexOf("%3Ahover")>-1}var _e6=handleContent(_e3,_cd);if(_be.modifyContentString){_e6=_be.modifyContentString(_e6,_be.selector)}if(_e6==""){continue}var _e7=["content="+_e6,"width="+_d8,"height="+_d7,"fitexactly="+(_c6?"true":""),"tunewidth="+(_be.tuneWidth||""),"tuneheight="+(_be.tuneHeight||""),"offsetleft="+(_be.offsetLeft||""),"offsettop="+(_be.offsetTop||""),"thickness="+(_be.thickness||""),"sharpness="+(_be.sharpness||""),"kerning="+_cb,"gridfittype="+_cc,"zoomsupport="+ua.zoomSupport,"flashfilters="+_c4,"opacity="+_ce,"blendmode="+(_be.blendMode||""),"size="+_df,"zoom="+dom.getZoom(),"css="+_d2,"selectable="+(_be.selectable==null?"true":_be.selectable),"lines="+_e0];var _e8=encodeURI(_e7.join("&amp;"));var _e9="sIFR_callback_"+_4a++;var _ea=new CallbackInfo(_e9,_e7,_be.onReplacement,_d1);window[_e9+"_DoFSCommand"]=(function(_eb){return function(_ec,arg){_eb.handle(_ec,arg)}})(_ea);_d7=Math.round(_e0*getRatio(_df,_d0)*_df)+_49;var _ee=_c7?_d8:"100%";var _ef;if(ua.ie){_ef=["<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" id=\"",_e9,"\" sifr=\"true\" width=\"",_ee,"\" height=\"",_d7,"\" class=\"",_3f,"\">","<param name=\"movie\" value=\"",src,"\"></param>","<param name=\"flashvars\" value=\"",_e8,"\"></param>","<param name=\"allowScriptAccess\" value=\"always\"></param>","<param name=\"quality\" value=\"best\"></param>","<param name=\"wmode\" value=\"",_d4,"\"></param>","<param name=\"bgcolor\" value=\"",_ca,"\"></param>","<param name=\"name\" value=\"",_e9,"\"></param>","</object>","<scr","ipt event=FSCommand(info,args) for=",_e9,">",_e9,"_DoFSCommand(info, args);","</","script>"].join("")}else{_ef=["<embed type=\"application/x-shockwave-flash\"",(_d3?" class=\""+_3f+"\"":"")," src=\"",src,"\" quality=\"best\" flashvars=\"",_e8,"\" width=\"",_ee,"\" height=\"",_d7,"\" wmode=\"",_d4,"\" bgcolor=\"",_ca,"\" name=\"",_e9,"\" id=\"",_e9,"\" allowScriptAccess=\"always\" sifr=\"true\"></embed>"].join("")}dom.setInnerHtml(_d6,_ef);_ea.flashNode=_d6.firstChild;_ea.html=_ef;_3b.callbacks.push(_ea);if(_be.selector){if(!_3b.callbacks[_be.selector]){_3b.callbacks[_be.selector]=[_ea]}else{_3b.callbacks[_be.selector].push(_ea)}}_d6.appendChild(_e2);dom.addClass(_d3?_3e:_3d,_d6);_ea.setupFixHover()}_66.fragmentIdentifier.restore()};this.getCallbackByFlashElement=function(_f0){for(var i=0;i<_3b.callbacks.length;i++){if(_3b.callbacks[i].id==_f0.getAttribute("id")){return _3b.callbacks[i]}}};function handleContent(_f2,_f3){var _f4=[],_f5=[];var _f6=_f2.childNodes;var i=0;while(i<_f6.length){var _f8=_f6[i];if(_f8.nodeType==3){var _f9=_72.normalize(_f8.nodeValue);_f9=_72.textTransform(_f3,_f9);_f5.push(_f9.replace(/\%/g,"%25").replace(/\&/g,"%26").replace(/\,/g,"%2C").replace(/\+/g,"%2B"))}if(_f8.nodeType==1){var _fa=[];var _fb=_f8.nodeName.toLowerCase();var _fc=_f8.className||"";if(/\s+/.test(_fc)){if(_fc.indexOf(_42)>-1){_fc=_fc.match("(\\s|^)"+_42+"-([^\\s$]*)(\\s|$)")[2]}else{_fc=_fc.match(/^([^\s]+)/)[1]}}if(_fc!=""){_fa.push("class=\""+_fc+"\"")}if(_fb=="a"){var _fd=_f8.getAttribute("href")||"";var _fe=_f8.getAttribute("target")||"";_fa.push("href=\""+_fd+"\"","target=\""+_fe+"\"")}_f5.push("<"+_fb+(_fa.length>0?" ":"")+escape(_fa.join(" "))+">");if(_f8.hasChildNodes()){_f4.push(i);i=0;_f6=_f8.childNodes;continue}else{if(!/^(br|img)$/i.test(_f8.nodeName)){_f5.push("</",_f8.nodeName.toLowerCase(),">")}}}if(_f4.length>0&&!_f8.nextSibling){do{i=_f4.pop();_f6=_f8.parentNode.parentNode.childNodes;_f8=_f6[i];if(_f8){_f5.push("</",_f8.nodeName.toLowerCase(),">")}}while(i==_f6.length-1&&_f4.length>0)}i++}return _f5.join("").replace(/\n|\r/g,"")}function CallbackInfo(id,vars,_101,_102){this.id=id;this.vars=vars;this._replacementHandler=_101;this._firedReplacementEvent=!(this._replacementHandler!=null);this._fixHover=_102;this._setClasses=!_3b.delayCss;this.html="";this._pings=0}CallbackInfo.prototype.getFlashElement=function(){return document.getElementById(this.id)};CallbackInfo.prototype.handle=function(info,arg){if(/(FSCommand\:)?resize/.test(info)){var _105=this.getFlashElement();var $=arg.split(/\:|,/);_105.setAttribute($[0],$[1]);if($.length>2){_105.setAttribute($[2],$[3])}if(!this._setClasses){if(!ua.ie&&!ua.opera){dom.addClass(_3f,_105)}dom.removeClass(_3e,_105.parentNode);dom.addClass(_3d,_105.parentNode);this._setClasses=true}if(ua.khtml){var _107=_105.offsetHeight}if(!this._firedReplacementEvent){this._replacementHandler(this);this._firedReplacementEvent=true}}else{if(/(FSCommand\:)?resetmovie/.test(info)){this.resetMovie()}else{if(/(FSCommand\:)?ping/.test(info)){if(this._pings>0){this.setupFixHover()}this._pings++}else{if(this.debugHandler&&/(FSCommand\:)?debug/.test(info)){this.debugHandler(info,arg)}}}}};CallbackInfo.prototype.call=function(type,_109){var _10a=this.getFlashElement();if(!_10a){return}_10a.SetVariable("callbackType",type);_10a.SetVariable("callbackValue",_109);_10a.SetVariable("callbackTrigger",true)};CallbackInfo.prototype.replaceText=function(_10b){_10b=escape(_10b);this.call("replacetext",_10b);this.vars[0]="content="+_10b;this.html=this.html.replace(/(flashvars(=|\"\svalue=)\")[^\"]+/,"$1"+encodeURI(this.vars.join("&amp;")))};CallbackInfo.prototype.resetMovie=function(){var _10c=this.getFlashElement();var node=_10c.parentNode;node.replaceChild(dom.nodeFromHtml(this.html),_10c);this.setupFixHover()};CallbackInfo.prototype.setupFixHover=function(){var _10e=this.getFlashElement();if(!this._fixHover||!_10e){return}var node=_10e.parentNode;if(node.addEventListener){node.addEventListener("mouseout",_72.bind(this,"fixHover"),false)}else{if(node.attachEvent){node.attachEvent("onmouseout",_72.bind(this,"fixHover"))}}};CallbackInfo.prototype.fixHover=function(){this.call("resettext")}};
\ No newline at end of file
diff --git a/simplepie/demo/for_the_demo/simplepie.css b/simplepie/demo/for_the_demo/simplepie.css
new file mode 100644
index 0000000000..3753cb96de
--- /dev/null
+++ b/simplepie/demo/for_the_demo/simplepie.css
@@ -0,0 +1,397 @@
+/*
+Theme Name: SimplePie
+Theme URI: http://simplepie.org
+Description: A simple, yet beautiful theme inspired by several cleanly designed websites.
+Version: 1.4
+Author: Ryan Parman
+Author URI: http://skyzyx.com
+Updated: 21 June 2007
+*/
+
+
+/*********************************************
+HYPERLINK STYLES
+*********************************************/
+a {
+	color:#369;
+	text-decoration:underline;
+	padding:0 1px;
+}
+
+a:hover {
+	color:#fff !important;
+	background-color:#333;
+	text-decoration:none;
+	padding:0 1px;
+}
+
+a.nohover {
+	text-decoration:none;
+	border:none;
+}
+
+a.nohover:hover {
+	background-color:transparent;
+	border:none;
+}
+
+a.namelink {
+	padding:0;
+	margin:0;
+	overflow:hidden;
+	height:1px;
+}
+
+h4 a,
+.sample_feeds a {
+	color:#000;
+}
+
+
+/*********************************************
+GENERAL STYLES
+*********************************************/
+body {
+	/*font:12px/18px Verdana, sans-serif;*/
+	font:14px/1.5em "Lucida Grande", Tahoma, sans-serif;
+	letter-spacing:0px;
+	color:#333;
+	background-color:#fff;
+	margin:0;
+	padding:0;
+}
+
+div#site {
+	width:600px;
+	margin:50px auto 0 auto;
+}
+
+h1#logo {
+	margin:0;
+	padding:0;
+	text-align:center;
+}
+
+h1#logo a, 
+h1#logo a:hover {
+	background-color:transparent;
+	text-decoration:none;
+	padding:0;
+}
+
+h2.image {
+	margin:0;
+	padding:0;
+	text-align:center;
+}
+
+h3 {
+	margin:20px 0 0 0;
+	padding:0;
+	font-size:1.5em;
+}
+
+h4 {
+	margin:20px 0 0 0;
+	padding:0;
+	font-size:1.2em;
+	letter-spacing:-1px;
+}
+
+h5 {
+	margin:10px 0 0 0;
+	padding:0;
+	font-size:1em;
+	font-weight:bold;
+}
+
+em {
+	font-style:normal;
+	background-color:#ffc;
+}
+
+p {
+	margin:0;
+	padding:5px 0;
+}
+
+ul, ol {
+	margin:10px 0 10px 20px;
+	padding:0 0 0 15px;
+}
+
+ul li, ol li {
+	margin:0 0 7px 0;
+	padding:0 0 0 3px;
+}
+
+form {
+	margin:0;
+	padding:0;
+}
+
+code {
+	font-size:1em;
+	background-color:#f3f3ff;
+	color:#000;
+}
+
+div#site pre {
+	background-color:#f3f3ff;
+	color:#000080;
+	border:1px dotted #000080;
+	overflow:auto;
+	padding:3px 5px;
+}
+
+blockquote {
+	font-size:1em;
+	color:#666;
+	border-left:4px solid #666;
+	margin:10px 0 10px 30px;
+	padding:0 5px 0 10px;
+	background:#f3f3f3 url(background_blockquote.png) repeat top left;
+}
+
+input, select, textarea {
+	font-size:12px;
+	line-height:1.2em;
+	padding:2px;
+}
+
+input[type=text], select, textarea {
+	background-color:#e9f5ff;
+	border:1px solid #333;
+}
+
+input[type=text]:focus, select:focus, textarea:focus {
+	background-color:#ffe;
+}
+
+.clearLeft {clear:left;}
+.clearRight {clear:right;}
+.clearBoth {clear:both;}
+.hide {display:none;}
+
+
+/*********************************************
+NAVIGATION STYLES
+*********************************************/
+div#header {
+	background:#fff url(top_gradient.gif) repeat-x top left;
+	margin:0;
+	padding:0;
+}
+
+div#header form {
+	margin:0;
+	padding:0;
+}
+
+div#header div#headerInner {
+	margin:0;
+	padding:0;
+}
+
+div#header div#headerInner div#logoContainer {}
+
+div#header div#headerInner div#logoContainerInner {
+	width:550px;
+	margin:0 auto;
+	padding:20px;
+}
+
+div#header div#headerInner div#logoContainer div#logo {
+	float:left;
+	width:200px;
+}
+
+div#header div#headerInner div#logoContainer div#logo a,
+div#header div#headerInner div#logoContainer div#logo a:hover {
+	border:none;
+	background:none;
+}
+
+div#header div#headerInner div#logoContainer div#feed {
+	float:right;
+	width:300px;
+	text-align:right;
+	padding:10px 0 0 0;
+}
+
+div#header div#headerInner div#logoContainer div#feed input.text {
+	width:60%;
+}
+
+div#header div#headerInner div#menu {
+	background:#eee url(background_menuitem_shadow.gif) repeat-x top left;
+	border-top:2px solid #ccc;
+	border-bottom:1px solid #ddd;
+	text-align:center;
+}
+
+div#header div#headerInner div#menu table {
+	width:auto;
+	margin:0 auto;
+}
+
+div#header div#headerInner div#menu ul {
+	display:block;
+	width:100%;
+	margin:0 auto;
+	padding:0;
+	font-size:12px;
+}
+
+div#header div#headerInner div#menu ul li {
+	display:block;
+	float:left;
+}
+
+div#header div#headerInner div#menu ul li a {
+	display:block;
+	margin:-2px 0 0 0;
+	padding:5px 7px 8px 7px;
+	text-decoration:none;
+	color:#666 !important;
+	background-color:transparent;
+}
+
+div#header div#headerInner div#menu ul li a:hover {
+	display:block;
+	margin:-2px 0 0 0;
+	padding:5px 7px 8px 7px;
+	text-decoration:none;
+	color:#666;
+	background:#fff url(background_menuitem_off.gif) no-repeat bottom right;
+}
+
+body#bodydemo div#header div#headerInner div#menu ul li#demo a {
+	display:block;
+	margin:-2px 0 0 0;
+	padding:5px 7px 8px 7px;
+	text-decoration:none;
+	color:#333;
+	font-weight:bold;
+	background:#fff url(background_menuitem.gif) no-repeat bottom right;
+}
+
+
+/*********************************************
+CONTENT STYLES
+*********************************************/
+div.chunk {
+	margin:20px 0 0 0;
+	padding:0 0 10px 0;
+	border-bottom:1px solid #ccc;
+}
+
+div.topchunk {
+	margin:0 !important;
+}
+
+.footnote,
+.footnote a {
+	font-size:12px;
+	line-height:1.3em;
+	color:#aaa;
+}
+
+.footnote em {
+	background-color:transparent;
+	font-style:italic;
+}
+
+.footnote code {
+	background-color:transparent;
+	font:11px/14px monospace;
+	color:#aaa;
+}
+
+p.subscribe {
+	background-color:#f3f3f3;
+	font-size:12px;
+	text-align:center;
+}
+
+p.highlight {
+	background-color:#ffc;
+	font-size:12px;
+	text-align:center;
+}
+
+p.sample_feeds {
+	font-size:12px;
+	line-height:1.2em;
+}
+
+div.sp_errors {
+	background-color:#eee;
+	padding:5px;
+	text-align:center;
+	font-size:12px;
+}
+
+.noborder {
+	border:none !important;
+}
+
+img.favicon {
+	margin:0 4px -2px 0;
+	width:16px;
+	height:16px;
+}
+
+p.favicons a,
+p.favicons a:hover {
+	border:none;
+	background-color:transparent;
+}
+
+p.favicons img {
+	border:none;
+}
+
+
+/*********************************************
+DEMO STYLES
+*********************************************/
+div#sp_input {
+	background-color:#ffc;
+	border:2px solid #f90;
+	padding:5px;
+	text-align:center;
+}
+
+div#sp_input input.text {
+	border:1px solid #999;
+	background:#e9f5ff url(feed.png) no-repeat 4px 50%;
+	width:75%;
+	padding:2px 2px 2px 28px;
+	font:18px/22px "Lucida Grande", Verdana, sans-serif;
+	font-weight:bold;
+	letter-spacing:-1px;
+}
+
+form#sp_form {
+	margin:15px 0;
+}
+
+div.focus {
+	margin:0;
+	padding:10px 20px;
+	background-color:#efe;
+}
+
+p.sample_feeds {
+	text-align:justify;
+}
+
+
+/*********************************************
+SIFR STYLES
+*********************************************/
+.sIFR-active h3.header {
+	visibility:hidden;
+	line-height:1em;
+}
diff --git a/simplepie/demo/for_the_demo/sleight.js b/simplepie/demo/for_the_demo/sleight.js
new file mode 100644
index 0000000000..4b5058e9a6
--- /dev/null
+++ b/simplepie/demo/for_the_demo/sleight.js
@@ -0,0 +1,31 @@
+/**********************************************************
+Sleight
+(c) 2001, Aaron Boodman
+http://www.youngpup.net
+**********************************************************/
+
+if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent)
+{
+	document.writeln('<style type="text/css">img { visibility:hidden; } </style>');
+	window.attachEvent("onload", fnLoadPngs);
+}
+
+function fnLoadPngs()
+{
+	var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
+	var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5);
+
+	for (var i = document.images.length - 1, img = null; (img = document.images[i]); i--)
+	{
+		if (itsAllGood && img.src.match(/\.png$/i) != null)
+		{
+			var src = img.src;
+			var div = document.createElement("DIV");
+			div.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizing='scale')"
+			div.style.width = img.width + "px";
+			div.style.height = img.height + "px";
+			img.replaceNode(div);
+		}
+		img.style.visibility = "visible";
+	}
+}
diff --git a/simplepie/demo/for_the_demo/source_files/place_audio_fireworksfile.png b/simplepie/demo/for_the_demo/source_files/place_audio_fireworksfile.png
new file mode 100644
index 0000000000000000000000000000000000000000..2bfd87d0ce14c424fd3b72377b085bb0b1510bd1
GIT binary patch
literal 39177
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

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/source_files/place_video_fireworksfile.png b/simplepie/demo/for_the_demo/source_files/place_video_fireworksfile.png
new file mode 100644
index 0000000000000000000000000000000000000000..d0629769cfec742664ec0b739d93ebf4418d15e9
GIT binary patch
literal 115826
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
Y{xKQOm;9p6g#iC3$f!!!Nt%cL4}oKrIsgCw

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/source_files/sIFR-r245/SifrStyleSheet.as b/simplepie/demo/for_the_demo/source_files/sIFR-r245/SifrStyleSheet.as
new file mode 100644
index 0000000000..6a98ca5522
--- /dev/null
+++ b/simplepie/demo/for_the_demo/source_files/sIFR-r245/SifrStyleSheet.as
@@ -0,0 +1,71 @@
+/*=:project
+    scalable Inman Flash Replacement (sIFR) version 3.
+
+  =:file
+    Copyright: 2006 Mark Wubben.
+    Author: Mark Wubben, <http://novemberborn.net/>
+
+  =:history
+    * IFR: Shaun Inman
+    * sIFR 1: Mike Davidson, Shaun Inman and Tomas Jogin
+    * sIFR 2: Mike Davidson, Shaun Inman, Tomas Jogin and Mark Wubben
+
+  =:license
+    This software is licensed and provided under the CC-GNU LGPL.
+    See <http://creativecommons.org/licenses/LGPL/2.1/>    
+*/
+
+import TextField.StyleSheet;
+
+class SifrStyleSheet extends TextField.StyleSheet {
+  public var fontSize;
+  public var latestLeading = 0;
+  
+  public function parseCSS(cssText:String) {
+    var native = new TextField.StyleSheet();
+    var parsed = native.parseCSS(cssText);
+    
+    if(!parsed) return false;
+    
+    var selectors = native.getStyleNames();
+    for(var i = selectors.length - 1; i >= 0; i--) {
+      var selector = selectors[i];
+      var nativeStyle = native.getStyle(selector);
+      var style = this.getStyle(selector) || nativeStyle;
+      if(style != nativeStyle) {
+        for(var property in nativeStyle) style[property] = nativeStyle[property];
+      }
+      this.setStyle(selector, style);
+    }
+    
+    return true;
+  }
+  
+  // Apply leading to the textFormat. Much thanks to <http://www.blog.lessrain.com/?p=98>.
+  private function applyLeading(format, leading) {
+    this.latestLeading = leading;
+    
+    if(leading >= 0) {
+        format.leading = leading;
+        return format;
+    }
+
+    // Workaround for negative leading, which is ignored otherwise.
+    var newFormat = new TextFormat(null, null, null, null, null, null, null, null, null, null, null, null, leading);
+    for(var property in format) if(property != 'leading') newFormat[property] = format[property];
+
+    return newFormat;
+  }
+  
+  public function transform(style) {
+    var format = super.transform(style);
+    if(style.leading) format = applyLeading(format, style.leading);
+    if(style.letterSpacing) format.letterSpacing = style.letterSpacing;
+    // Support font sizes relative to the size of .sIFR-root.
+    if(this.fontSize && style.fontSize && style.fontSize.indexOf('%')) {
+      format.size = this.fontSize * parseInt(style.fontSize) / 100;
+    }
+    format.kerning = _root.kerning == 'true' || !(_root.kerning == 'false') || sIFR.defaultKerning;
+    return format;
+  }
+}
\ No newline at end of file
diff --git a/simplepie/demo/for_the_demo/source_files/sIFR-r245/_README_.txt b/simplepie/demo/for_the_demo/source_files/sIFR-r245/_README_.txt
new file mode 100644
index 0000000000..2b9d32d202
--- /dev/null
+++ b/simplepie/demo/for_the_demo/source_files/sIFR-r245/_README_.txt
@@ -0,0 +1,12 @@
+This is a pre-release nightly of sIFR 3 (r245 to be exact).  We (the SimplePie team) will be updating the 
+sIFR code and font files from time to time as new releases of sIFR 3 are made available.
+
+In this folder you'll find a few Flash 8 files.  The only one of you might want to mess with is sifr.fla.
+  * Open it up
+  * Double-click the rectangle in the middle
+  * Select all
+  * Change the font
+
+More information about sIFR 3 can be found here:
+  * http://dev.novemberborn.net/sifr3/
+  * http://wiki.novemberborn.net/sifr3/
\ No newline at end of file
diff --git a/simplepie/demo/for_the_demo/source_files/sIFR-r245/options.as b/simplepie/demo/for_the_demo/source_files/sIFR-r245/options.as
new file mode 100644
index 0000000000..4d371954bc
--- /dev/null
+++ b/simplepie/demo/for_the_demo/source_files/sIFR-r245/options.as
@@ -0,0 +1,12 @@
+// MTASC only parses as-files with class definitions, so here goes...
+class Options {
+	public static function apply() {
+		sIFR.fromLocal = true;
+		sIFR.domains   = ['*'];
+		
+		// Parsing `p.foo` might not work, see: <http://livedocs.macromedia.com/flash/mx2004/main_7_2/wwhelp/wwhimpl/common/html/wwhelp.htm?context=Flash_MX_2004&file=00001766.html>
+		// Appearantly you have to use hex color codes as well, names are not supported!
+
+		sIFR.styles.parseCSS('.foo { text-decoration: underline; }'); 
+	}
+}
diff --git a/simplepie/demo/for_the_demo/source_files/sIFR-r245/sIFR.as b/simplepie/demo/for_the_demo/source_files/sIFR-r245/sIFR.as
new file mode 100644
index 0000000000..4902e003f3
--- /dev/null
+++ b/simplepie/demo/for_the_demo/source_files/sIFR-r245/sIFR.as
@@ -0,0 +1,359 @@
+/*=:project
+    scalable Inman Flash Replacement (sIFR) version 3.
+
+  =:file
+    Copyright: 2006 Mark Wubben.
+    Author: Mark Wubben, <http://novemberborn.net/>
+
+  =:history
+    * IFR: Shaun Inman
+    * sIFR 1: Mike Davidson, Shaun Inman and Tomas Jogin
+    * sIFR 2: Mike Davidson, Shaun Inman, Tomas Jogin and Mark Wubben
+
+  =:license
+    This software is licensed and provided under the CC-GNU LGPL.
+    See <http://creativecommons.org/licenses/LGPL/2.1/>    
+*/
+
+import SifrStyleSheet;
+
+class sIFR {
+  public static var DEFAULT_TEXT                 = 'Rendered with sIFR 3, revision 245';
+  public static var CSS_ROOT_CLASS               = 'sIFR-root';
+  public static var DEFAULT_WIDTH                = 300;
+  public static var DEFAULT_HEIGHT               = 100;
+  public static var DEFAULT_ANTI_ALIAS_TYPE      = 'advanced';
+  public static var MARGIN_LEFT                  = -3;
+  public static var PADDING_BOTTOM               = 5; // Extra padding to make sure the movie is high enough in most cases.
+  public static var LEADING_REMAINDER            = 2; // Flash uses the specified leading minus 2 as the applied leading.
+
+  public static var MAX_FONT_SIZE                = 126;
+  public static var ALIASING_MAX_FONT_SIZE       = 48;
+  
+  //= Holds CSS properties and other rendering properties for the Flash movie.
+  //  *Don't overwrite!*
+  public static var styles:SifrStyleSheet        = new SifrStyleSheet();
+  //= Allow sIFR to be run from localhost
+  public static var fromLocal:Boolean            = true;
+  //= Array containing domains for which sIFR may render text. Used to prevent
+  //  hotlinking. Use `*` to allow all domains.
+  public static var domains:Array                = [];
+  //= Whether kerning is enabled by default. This can be overriden from the client side.
+  //  See also <http://livedocs.macromedia.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002811.html>.
+  public static var defaultKerning:Boolean       = true;
+  //= Default value which can be overriden from the client side.
+  //  See also <http://livedocs.macromedia.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002788.html>.
+  public static var defaultSharpness:Number      = 0;
+  //= Default value which can be overriden from the client side.
+  //  See also <http://livedocs.macromedia.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002787.html>.
+  public static var defaultThickness:Number      = 0;
+  //= Default value which can be overriden from the client side.
+  //  See also <http://livedocs.macromedia.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002732.html>.
+  public static var defaultOpacity:Number        = -1; // Use client settings
+  //= Default value which can be overriden from the client side.
+  //  See also <http://livedocs.macromedia.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002788.html>.
+  public static var defaultBlendMode:Number      = -1; // Use cliest settings
+  //= Overrides the grid fit type as defined on the client side.
+  //  See also <http://livedocs.macromedia.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002444.html>.
+  public static var enforcedGridFitType:String   = null;
+  //= If `true` sIFR won't override the anti aliasing set in the Flash IDE when exporting.
+  //  Thickness and sharpness won't be affected either.
+  public static var preserveAntiAlias:Boolean    = false;
+  //= If `true` sIFR will disable anti-aliasing if the font size is larger than `ALIASING_MAX_FONT_SIZE`.
+  //  This setting is *independent* from `preserveAntiAlias`.
+  public static var conditionalAntiAlias:Boolean = true;
+  //= Sets the anti alias type. By default it's `DEFAULT_ANTI_ALIAS_TYPE`.
+  //  See also <http://livedocs.macromedia.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002733.html>.
+  public static var antiAliasType:String         = null;
+  //= Flash filters can be added to this array and will be applied to the text field.
+  public static var filters:Array                = [];
+  //= A mapping from the names of the filters to their actual objecs, used when transforming
+  //  filters defined on the client. You can add additional filters here so they'll be supported
+  //  when defined on the client.
+  public static var filterMap:Object             = {
+    DisplacementMapFilter : flash.filters.DisplacementMapFilter,
+    ColorMatrixFilter     : flash.filters.ColorMatrixFilter,
+    ConvolutionFilter     : flash.filters.ConvolutionFilter,
+    GradientBevelFilter   : flash.filters.GradientBevelFilter,
+    GradientGlowFilter    : flash.filters.GradientGlowFilter,
+    BevelFilter           : flash.filters.BevelFilter,
+    GlowFilter            : flash.filters.GlowFilter,
+    BlurFilter            : flash.filters.BlurFilter,
+    DropShadowFilter      : flash.filters.DropShadowFilter
+  };
+
+  private static var instance;
+  
+  private var textField;
+  private var content;
+  private var realHeight;
+  private var originalHeight;
+  private var currentHeight;
+  private var fontSize;
+  private var tuneWidth;
+  private var tuneHeight;
+  
+
+  
+  //= Sets the default styles for `sIFR.styles`. This method is called
+  //  directly in `sifr.fla`, before options are applied.
+  public static function setDefaultStyles() {
+    sIFR.styles.parseCSS([
+      '.', CSS_ROOT_CLASS, ' { color: #000000; }',
+      'strong { display: inline; font-weight: bold; } ',
+      'em { display: inline; font-style: italic; }',
+      'a { color: #0000FF; text-decoration: underline; }',
+      'a:hover { color: #0000FF; text-decoration: none; }'
+    ].join(''));
+  }
+  
+  //= Validates the domain sIFR is being used on.
+  //  Returns `true` if the domain is valid, `false` otherwise.  
+  public static function checkDomain():Boolean {
+    if(sIFR.domains.length == 0) return true;
+
+    var domain = (new LocalConnection()).domain();
+    if(sIFR.fromLocal) sIFR.domains.push('localhost');
+    
+    for(var i = 0; i < sIFR.domains.length; i++) {
+      var match = sIFR.domains[i];
+      if(match == '*' || match == domain) return true;
+
+      var wildcard = match.lastIndexOf('*');
+      if(wildcard > -1) {
+        match = match.substr(wildcard + 1);
+        var matchPosition = domain.lastIndexOf(match);
+        if(matchPosition > -1 && (matchPosition + match.length) == domain.length) return true;
+      }
+    }
+    
+    return false;
+  }
+  
+  //= Runs sIFR. Called automatically.
+  public static function run() {
+    var holder  = _root.holder;
+    var content = checkDomain() ? unescape(_root.content) : DEFAULT_TEXT
+    if(content == 'undefined' || content == '') {
+      content = DEFAULT_TEXT;
+      fscommand('resetmovie', '');
+    } else fscommand('ping', '');
+
+    // Sets stage parameters
+    Stage.scaleMode = 'noscale';
+    Stage.align = 'TL';
+    Stage.showMenu = false;
+    
+    // Other parameters
+    var opacity = parseInt(_root.opacity);
+    if(!isNaN(opacity)) holder._alpha = sIFR.defaultOpacity == -1 ? opacity : sIFR.defaultOpacity;
+    else holder._alpha = 100;
+    _root.blendMode = sIFR.defaultBlendMode == -1 ? _root.blendmode : sIFR.defaultBlendMode;
+
+    sIFR.instance = new sIFR(holder.txtF, content);
+    // This should ignore resizes from the callback. Disabled for now.
+/*    if(_root.zoomsupport == 'true') Stage.addListener({onResize: function() { sIFR.instance.scale() }});*/
+
+    // Setup callbacks
+    _root.watch('callbackTrigger', function() { 
+      sIFR.callback();
+      return false;
+    });
+  }
+  
+  private static function eval(str) {
+    var as;
+    
+    if(str.charAt(0) == '{') { // Ah, we need to create an object
+      as = {};
+      str = str.substring(1, str.length - 1);
+      var $ = str.split(',');
+      for(var i = 0; i < $.length; i++) {
+        var $1 = $[i].split(':');
+        as[$1[0]] = sIFR.eval($1[1]);
+      }
+    } else if(str.charAt(0) == '"') { // String
+      as = str.substring(1, str.length - 1);
+    } else if(str == 'true' || str == 'false') { // Boolean
+      as = str == 'true';
+    } else { // Float
+      as = parseFloat(str);
+    }
+    
+    return as;
+  }
+  
+  private function applyFilters() {
+    var $filters = this.textField.filters;
+    $filters = $filters.concat(sIFR.filters);
+    
+    var $ = _root.flashfilters.split(';'); // name,prop:value,...;
+    for(var i = 0; i < $.length; i++) {
+      var $1 = $[i].split(',');
+      
+      var newFilter = new sIFR.filterMap[$1[0]]();
+      for(var j = 1; j < $1.length; j++) {
+        var $2 = $1[j].split(':');
+        newFilter[$2[0]] = sIFR.eval(unescape($2[1]));
+      }
+      
+      $filters.push(newFilter);
+    }
+
+    this.textField.filters = $filters;
+  }
+  
+  private function sIFR(textField, content) {
+    this.textField = textField;
+    this.content   = content;
+
+    var offsetLeft = parseInt(_root.offsetleft);
+    textField._x = MARGIN_LEFT + (isNaN(offsetLeft) ? 0 : offsetLeft);
+    var offsetTop = parseInt(_root.offsettop);
+    if(!isNaN(offsetTop)) textField._y += offsetTop;
+    
+    tuneWidth = parseInt(_root.tunewidth);
+    if(isNaN(tuneWidth)) tuneWidth = 0;
+    tuneHeight = parseInt(_root.tuneheight);
+    if(isNaN(tuneHeight)) tuneHeight = 0;
+
+    textField._width = tuneWidth + (isNaN(parseInt(_root.width)) ? DEFAULT_WIDTH : parseInt(_root.width));
+    textField._height = tuneHeight + (isNaN(parseInt(_root.height)) ? DEFAULT_HEIGHT : parseInt(_root.height));
+    textField.wordWrap = true;
+    textField.selectable = _root.selectable == 'true';
+    textField.gridFitType = sIFR.enforcedGridFitType || _root.gridfittype;
+    this.applyFilters();
+
+    // Determine font-size and the number of lines
+    this.fontSize = parseInt(_root.size);
+    if(isNaN(this.fontSize)) this.fontSize = 26;
+    styles.fontSize = this.fontSize;
+    
+    if(!sIFR.preserveAntiAlias && (sIFR.conditionalAntiAlias && this.fontSize < ALIASING_MAX_FONT_SIZE
+    || !sIFR.conditionalAntiAlias)) {
+      textField.antiAliasType = sIFR.antiAliasType || DEFAULT_ANTI_ALIAS_TYPE;      
+    }
+
+    if(!sIFR.preserveAntiAlias || !isNaN(parseInt(_root.sharpness))) {
+      textField.sharpness = parseInt(_root.sharpness);
+    }
+    if(isNaN(textField.sharpness)) textField.sharpness = sIFR.defaultSharpness;
+
+    if(!sIFR.preserveAntiAlias || !isNaN(parseInt(_root.thickness))) {
+      textField.thickness = parseInt(_root.thickness);
+    }
+    if(isNaN(textField.thickness)) textField.thickness = sIFR.defaultThickness;
+    
+    // Set font-size and other styles
+    sIFR.styles.parseCSS(unescape(_root.css));
+    
+    var rootStyle = styles.getStyle('.sIFR-root') || {};
+    rootStyle.fontSize = this.fontSize; // won't go higher than 126!
+    styles.setStyle('.sIFR-root', rootStyle);
+    textField.styleSheet = styles;
+    
+    this.write(content);
+    this.repaint();
+  }
+  
+  private function repaint() {
+    var leadingFix = this.isSingleLine() ? sIFR.styles.latestLeading : 0;
+    if(leadingFix > 0) leadingFix -= LEADING_REMAINDER;
+
+    // Flash wants to scroll the movie by one line, by adding the fontSize to the
+    // textField height this is no longer happens. We also add the absolute tuneHeight,
+    // to prevent a negative value from triggering the bug. We won't send the fake
+    // value to the JavaScript side, though.
+    textField._height = textField.textHeight + PADDING_BOTTOM + this.fontSize + Math.abs(tuneHeight) + tuneHeight - leadingFix;
+    this.realHeight = textField._height - this.fontSize - Math.abs(tuneHeight);
+    var arg = 'height:' + this.realHeight;
+    if(_root.fitexactly == 'true') arg += ',width:' + (textField.textWidth + tuneWidth);
+    fscommand('resize', arg);
+        
+    this.originalHeight = textField._height;
+    this.currentHeight = Stage.height;
+
+    textField._xscale = textField._yscale = parseInt(_root.zoom);
+  }
+  
+  private function write(content) {
+    this.textField.htmlText = ['<p class="', CSS_ROOT_CLASS, '">', 
+                                content, '</p>'
+                              ].join('');
+  }
+  
+  private function isSingleLine() {
+    return Math.round((this.textField.textHeight - sIFR.styles.latestLeading) / this.fontSize) == 1;
+  }
+
+  //= Scales the text field to the new scale of the Flash movie itself.
+  public function scale() {
+    this.currentHeight = Stage.height;
+    var scale = 100 * Math.round(this.currentHeight / this.originalHeight);
+    textField._xscale = textField._yscale = scale;
+  }
+  
+  private function calculateRatios() {
+    var strings = ['X', 'X<br>X', 'X<br>X<br>X', 'X<br>X<br>X<br>X'];
+    var results = {};
+
+    for(var i = 1; i <= strings.length; i++) {
+      var size = 6;
+    
+      this.write(strings[i - 1]);
+      while(size < MAX_FONT_SIZE) {
+        var rootStyle = sIFR.styles.getStyle('.sIFR-root') || {};
+        rootStyle.fontSize = size;
+        sIFR.styles.setStyle('.sIFR-root', rootStyle);
+        this.textField.styleSheet = sIFR.styles;
+        this.repaint();
+        var ratio = (this.realHeight - PADDING_BOTTOM) / i / size;
+        if(!results[size]) results[size] = ratio;
+        else results[size] = ((i - 1) * results[size] + ratio) / i;
+        size++;
+      }
+    }
+
+    var sizes = [], ratios = [];
+    var ratiosToSizes = {}, sizesToRatios = {};
+
+    for(var size in results) {
+      if(results[size] == Object.prototype[size]) continue;
+      var ratio = results[size];
+      ratiosToSizes[ratio] = Math.max(ratio, parseInt(size));
+    }
+
+    for(var ratio in ratiosToSizes) {
+      if(ratiosToSizes[ratio] == Object.prototype[ratio]) continue;
+      sizesToRatios[ratiosToSizes[ratio]] = roundDecimals(ratio, 2);
+      sizes.push(ratiosToSizes[ratio]);
+    }
+
+    sizes.sort(function(a, b) { return a - b; });
+    for(var j = 0; j < sizes.length - 1; j++) ratios.push(sizes[j], sizesToRatios[sizes[j]]);
+    ratios.push(sizesToRatios[sizes[sizes.length - 1]]);
+
+    fscommand('debug:ratios', '[' + ratios.join(',') + ']');
+  }
+  
+  private function roundDecimals(value, decimals) {
+    return Math.round(value * Math.pow(10, decimals)) / Math.pow(10, decimals);
+  }
+  
+  public static function callback() {
+    switch(_root.callbackType) {
+      case 'replacetext':
+        sIFR.instance.content = _root.callbackValue;
+        sIFR.instance.write(_root.callbackValue);
+        sIFR.instance.repaint();
+        break;
+      case 'resettext':
+        sIFR.instance.write('');
+        sIFR.instance.write(sIFR.instance.content);
+        break;
+      case 'ratios':
+        sIFR.instance.calculateRatios();
+        break;
+    }
+  }
+}
diff --git a/simplepie/demo/for_the_demo/source_files/sIFR-r245/sifr.fla b/simplepie/demo/for_the_demo/source_files/sIFR-r245/sifr.fla
new file mode 100644
index 0000000000000000000000000000000000000000..2aa3f647f4902e189eba92767e211ed0ee15d8b3
GIT binary patch
literal 47104
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
INr#WW0e?>J6951J

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/top_gradient.gif b/simplepie/demo/for_the_demo/top_gradient.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f77bd38f97bb39339a19d79a31dbdb97c279b5b4
GIT binary patch
literal 1378
zcmd6lc~6rE0Eep}#c47U9WWK`hEW7OG8bTRe`s)sfNseg;G)pYMapGdJW#VuCek9{
zqE-vxtPb1Kavv>F4iP9vfudE~(w4rx-lOf?`!2N8Z?PxO2Y8a-@6_p(q;G!t3iA^N
z#9;jXz`EbRw(j?>`#o#x-nDhNZ_VXhb9#LakI(M$+1y^M+iP)o%r1|~<uN+lCa1^X
zaH9^l&hFCNU5L#ITb+>A0a_edi$iU;Ys_|)$)+^f0FzB&v;s!kDr%LZR;j@vGgwyi
zW{J)$)|o_zX&EuShmG$(2%$m<eFLIzA#@2e2(*Sptzki<pV#R5YTcYlH>*NsmB@?|
znFe4U08c5PNd+{afL^ac<E!8+IXLz~nRZmB9g%9dE9&7D&5%SrC{c67ssXWzEmHQ2
zl$ie?UwDEsSWEyD|1s_3CKzm>^z6N|`{hJZ#e>SK>W2@`JbL_u{PY>6hMZnk-_Y39
zOnu&%(ejc;XS6a|^t6u7uI`@RzW(mh1A{}{;gQiX?y1)klT*Cunc1n-`GrNn(wnzJ
zLCUg7ELoAt<f{rmDgRER1tA#G>7kQGli6am*&UW-x5w-I@PvTxe(0{$F6ww$=(g~!
zue+X4kiw$V8r)$OQ&o{i3uH6hmw0<{$(6fK_q5ECqyJ=FnC*GVuQ_swZ8*_OTc}UE
zrjy+!lLXDj%RY%p>mw{hrIKSW&h@nl>FGC88`Juk?^)TsnG56nEKw(ZqB6?&8A;Mh
z5Hc_F*~Ke6uLjg}jp>{YIrmyIEa!7N6=S7ATXts*Tm^PiY>Ug8ALv$3SLLTRWeoOc
z`L##0n#KovApteHYWMniA|hn`$jVt5x}l5gy2Nif!)2q=-duQffy*%|UX{6sCx!<s
z>KSre?q9NU8?^Lqdh^+lJN9sKZ=qswgzGX%&sXgEestJlgM~G@<D(-!ms!nk4&;=t
z``k9YLNIpMza0}21C$1b6M(;iUQmI1TN7ZQEG$I~Y~G$pP?kqtW+;gfb%2tDBgUvI
z_EHF{2QjqlFE_`tVO7-;UW~f>Fa@uEm;^G^|9tDLRfirAIiPuTGCW`NIJuIl2|US2
zKs4kZQY3pr&t>LopJiWe)l#yEfVKutJOI}IM)@4X5@@YpT@f1r>kIGTpoZ(q`B396
z@O&Qj4<`aOmxjc`)Vo*k@bij&O!!50LR}2@QA#Y*@-(vmc}XsyBD98^I)qLouH=Wb
zPzrRd3>s6%r2h)&SY5nWeOur14*jM9kg4w&cIxz<+@EoVuF3F1L-))+mZ4`pp+0`o
zQc4`!_b#&#?H6WJQMT-+9_0W;X?w7SQfM56X)NOqbQUmj&Ad3%uzh*w;b1q&GL5b|
z^`<dj3eNm0IHJfr9=iX6IcRI5!8{RmD&8{r=`p-zY$`IZ&BEJN((ro_juda5*;`X&
zosB+9wa&$J3|9V;X_<B7*P<fZLK4(wTTF}tY=Yz1gZ8D95mDDSrtWXIzs*QQ?ZWhE
zoa5cOtYXLe?7WMP4HrsKhX_wP=oIJf#5*Mfdb@L_h=V$%SEuC(8?K9rUGiH{yKA*1
z0&poxv4`Bi{fOOeOvU~Vx2ihP=vG&4!Fe=Kv#xlwwRt(WF%2a~4@4y$^1{tQcrU`B
PcX)MeoTfWC%(4FfURf4^

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/verdana.swf b/simplepie/demo/for_the_demo/verdana.swf
new file mode 100644
index 0000000000000000000000000000000000000000..baf03504737f3ff25b9a7279ef11b9a5ab06bb90
GIT binary patch
literal 28575
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

literal 0
HcmV?d00001

diff --git a/simplepie/demo/for_the_demo/yanone-kaffeesatz-bold.swf b/simplepie/demo/for_the_demo/yanone-kaffeesatz-bold.swf
new file mode 100644
index 0000000000000000000000000000000000000000..c812a79dcf951f14f4332e8b98ad9dd2b903a179
GIT binary patch
literal 76780
zcmV(xK<K|iS5pW}<N*M9oZP#2RFhlRFS_zTC;=our~-zbgeo8)qJ$#7Bq3B$ihvLh
z5fK3uLsJaB3J92lmIS0Jh=>{#*$|bD6a{RE9YGN_>PGZ}d%s_~-#gAYW88E8xyfK;
zgsf+_HP@WKIoDcoK&%IV9aNwS1NKs2?PUl3`t=J4SqofT`;zSgM8P3v2NF0Go?ssy
z5pp;t!7Cv-Cj1cC8xj)}8nQQ<oE#Sp{^OfZNX+5z|NJdJYTv%_c;FeA5OpB-5D1Bj
zi%ACYhhssx7!U&gyhMO<IRr#tB>8edAOeX9sH}eq{__ck1C{?aTIly^;kD8KlZFUM
z9{iF%H3|R>WWl8ULt+oahNE3WA|k@W4}~P8fOzl<yaC>@@30Q&tbhmnhLEgqp)f*Z
zRzy$qq$o%9g{UHeg}{l;i}i>{OKjVKlPr+DfXtHmDn*mdl^&O#l)ffYA*&@PEB}YQ
ztHOB&QN^2zI!awiS{p|;3M#)-&Qq~ay{md*Q!aY1T8o;F`V)0U%}z~Stro4nv<$V6
zYoE}r*Z!srVVW@hSV7z@E=l*5-hTc2`UefjhM9)uMjRve%|ACc82>W9WfEvQY)aU2
z!c5Kljyb`CWRYoc(jwbJU~9?No~@6!ZnZ46d~aE|&DRRCU3~k7?atdjZQqI?!zbFL
z*v8u-0aBuW)<3G@DyW<M#7gP2(@>%h4W_*@ncDR3Nf{XrC}@<I2lcCx^u%8KU@Q7j
zfj}BsPDZxUYqjhd-hf;RefyK@jl0d4zjN35*c~p!Bf)Wl-6N<4@n<I1U0aaw$mhE~
zGPgXPHVdY%F`H9m6-G*3VNgu#F?(kjyV(dipz2Gpd6@|F<K%cv74P6_7SK}Qm}=M}
zHK49nJk6oF5ETWR^Qc$VqSA}7BEuG{3KW4s1pv2flAnW?gD0FY|CS(B!O7A6PlB~+
ze-orO{)?c77B#mBixB-yQ2QT(Ycev-a=Xt>i=>;S(5-5Vxw=K04+}Xvz3D}q2vZQ5
zo~JISxWYUfY$hZPZ%}a)NmeeN!o8_@ueK?DU)yho1#U0V5nZa1(j}Ac&lRHHeZK8I
z^a=|V)IC<9SUD&?S=p-Z7*rjdpXpYQ*in!W!uqHXeRSbPZOsWOBx^+)Lv?6E3Jj^N
z_NHe^ClDS4_1fdC!)RzJ_5fHGJ`qc2*jE=3<Q0d#FWG)NEcDjt4P(P~iw9s$Zq8p`
z+Gk$Ck*|XrL=yol*)l@<jQ?O^xp;$UaDRgzdt+J73XzA0OV7!r)T&W7H+=gL$vZ=|
zaD3Rnc6b{O^O^*L<VP{6v-#Ycz#E$l-!%K!?uWVj&07e;J64Vpl2Tt6GYE)CV&fKH
zrKHKpV`ui4v(uh-E+Y^J;^;u+P(wZL0(WQ%>TC{1ECFeka|=oEW$pSf4S_f1+v<ir
zQML7MhB-Uo%P&_fCw_&)7$UbUkwyNVi|&3vzNFnNd7Du8>_m+41I?Sn0b`Z1tBwg5
zfuQWBPNQEMvXV==YH0Js29Y&QXD{P!QGk%Tw1!iCxyg$GSFD?T$GucuxgT6CTArid
zvImGrvjDdF(uIH;wuQb!cjH8iNFT&$`oO=Zk>6~eZvj*V1mS<G?mbQbn}f@hc4~H<
z(^mI)@zct`z$bTdF#!r!iTgvB0KN<lbKiZnYGUzi|Gus+v%27&v$EdSC%W^M4+m%-
ze7f*{3a!6Cn4`0Dyx}3oB!7N+4%2JC@SIY+o3i4Eh3#fNa;2SoZXiav%F*X6m{E|d
zX%_wgrnoMGX*<(N%c1aup4+p{QE~7S6c`?+hi18FYqpOu^vq%Qmgg1}jY~|Mi^ZEg
zN}=;c1o74&MCaw?&Y~kY-pfbhf>X^NB{`)zz14-+tlLrjuoQ{`zLY8&C)c?XnkXdf
z_hRY0bG=1$7F?w#q%zyX9*`s@{@_!{RAJHA8)TKAXLU)B&lFD{2>S>cIFk<jy+?>&
zcHG<qL|&#tA7i~k*+6<$Ka2)vqswQS2mzIVgY=xr)naLgaEE*96*p4B1RF@a8&T$2
z?h~VEHFarmo(#W8bM@xrH76`+%pbpR3Zy;>u1(nsAB`K70D#!iuh7scMa3M)0QtN3
z?$;$G>A&Qil`Uv}Kxte|Yz~81)z;B;2j&w=v$`93tR=9?1y3?Emc%itteB-vG#XJ|
z++Rfp?vO@$%az6p&e6fO1C8UH<5~8Leu%s=@yU9cOH-rGrqEI;zN9dpaUY0Np_7q-
z05~$iM7(elfHM9>!0fmPCl-8TUYc1`m-Ov0s7DJ2uWvWDV~H10iLLc;rCD%=4RgLQ
zVuU+3_iawxxa7?#iG%Ts*1$4b#JPmbOGQ=89}z7ARkW$40e~>&LKR)u@r_4?_RPn1
z{A{wHsY-BFU*lPL{h@(HK;`bNF4T=Cq8nOPfDI!RmXj#X;o3XOmrLFrEFO$&_G_uD
zY~{2@^tSPD)2`3_kvqN}XWa5Ru3(`bcCf2-(W^4o+`^W;{K5h#bfIBnSvxgnvJo!{
zkTR*TV{gbt(>Fwey;5<v-ZM~7=B22O-6H=Ng6$f~!OyOnTYv~!_+A$W>2P0J3&Dyj
z1w{yE?HgXt<~vQP%D0ms_B>ZtY&W7OBf(sWhkGn${3_C@?aq|;uW%z>(2yvgMx&ji
z;6!dr;MAiDsuF$m?*c>c0PC=6Di?)tmcpaN|GI{jGwIJpw{e}&zd|pz<JVXZG_JE2
zXMKoQ*8LE#*waTq*zd({ax^X$IV6on)O!Pg$=w`P391HXft9P<9>K6|zZ((^l{L1l
zmSulBsfBwLS^HQltU2*~Nw#@$wRhqbfM|SkVt*e2`xq|JZZe;PUp)ED1*h~9Blb#x
zWvpNURo-6r-8<*~zc5<g*NPXP+NHUpg(KOli#&g2#`s3*lV=UD;oizckv8ZW-lIWo
zpvLESWJU4xzMF)L#$rW^wxh1-GWkPj4=5)ke_#jp`JSPSLstu=`owOZ^j%;+(Yl%u
zUywcKtvs?I{eBC=*Fx2`RAlT`zZkL0c2ai#lS+rr@R!dtpL$hWhJX7!f#1DF#ENJu
z!L4(C<mMLBpe~|TG>0*~jAruQt5bxaC0^-a%ykRe6o=W3*(@|yi;e}P&i4b)A_?UZ
zxA^@|*XFs<k0Tcboz}GC{t75-TEWjIXJe$8g4tlf{>c7EETI27qqlzPnBxoR3Yj>?
zq~X1mznx0Ye>;1Ly5aWaM5ZMbrk*WGIS8!Mo<8ipqEa@sMk}+16oB_0GzhRPzQ>Sy
zz;D<Kpcg?{!;=a?A8}%D#J$_LHOk!`A6uDD(H(%4gFy_N&u?zksBXk;ZDL$ORu2oI
zJakYVa3n=H=6Px-Yfg_2Mf9&x9?B0WW9R{aq4dJMZ0oQM3$!hAORzaB)Jh!}I(KGo
zD-|h`aXup8L}woc&MT${DJ~%z{8MjyuVfqeSHS&U@ZNq?iZ^QZS8HG5H!{I_k!be4
z!7D4;ch<4bYYZct(!&K$sTd}NFoO_ztfY^~4@Wa=t;hvjV6$o3MdXL=t^tqoVR8DC
zp|5tf>xR2aU^lO*COMS{F!cQQ%5A3P`rVZK261-H0u#48th*+Dq$XTDeV^{n`;S_n
zveXx5^_*cu^+`iMM}?}ZsX)8tu8<9L6Iol^(Gw)^)xv~LzKVq7fl_5B!f``z$tF=k
zlCsW<Nf{ozQhk#vdz8852>ur_*?R2tqT6Svnj+=<u~iDB%vPY+#Cc|NUNmxCZ$ni}
zU3)VSt)hClC7IAXE?M~27?&lF%Q_Y}kdrlbuQs^?xwN;FHglt&o_-X3Q6uu!?(K>}
zkgS+vI|9f8CiOV=3vtQ{b!7S(?&T&~Q9f}Zbs`RC;k9BKANpZZ`j1{cBs>`!Q=mlz
zW3Jdx&R$fs4o0lc(KF=vlaV7Do|d?}5gN6bS%_^%I{au5Jup}_!;Vs6-#<aA>Vb0b
zmvQ>gi=VfWn!gpl3oV>GPqo)0JM%iQI!4pUz4A925Whm-f9LrgsfGo07NQofON%sp
zL>Fip>kJs9pB@m6(3$htF@gO#fflx;LKO%@9F(&Z+s9Hh$cRs2H5gFaHm8&&%NGyK
zH*EH_{qBP`EVF?7aZYr-pW4W*N$YDp#b>qvwGi8EBSMA<PA$~9!tf$_P5xm%VRJ)O
zVAx@0jz&v7Y<__SwYmCiu{<9-F|YI!*VqoN`7ApdF2GmiSce50A7+Wygnqwsud{S(
zFRIC>!6i{JWR>kpB?L+H#4{hx9m2xg5Vs6mx-nOpr_wE{%YCG=9r1lAR7(gxI!{Y`
z_5o-ZCIF1j5BXcW9tFuqLZwgeu&gWI$nHr>Kxx9Tyv2~$+uT!p=ZRlonkP=n+WpWF
zsepOww8PQ&e~>eFEqOf9CvFQ2MmS^zO}hu&sw<-mp5Fa+_&3D9(;p<-Ab2A59v>61
zovO>PMgc{AjCjt6>8hp`t^A58%(x;4iF(ncqN|U`G{oD7D;Ft>2}~XYlDmah5})qs
zOq!T$(Vx=axjlUvw7{JZbAp{IWbNrU+kKxAmV(kY1Z}Z*PZj8|Ev;q0akVgA#9g?#
z)#llVCLS&k2RLG6tnIx!Hp#!F7P*0$SxdDxX6?&0qXAn&sZBnZ^D)=3lR3{*^(aS*
z2R{n$Vl1pJ;MXxazoKAn<5L@H+l0l0Fqi=ZON`&N9f&<%!CrlO0hY=;@W<Tbxf$Ap
zg;nZ?UqYT?^BZm+nzp&j*VxpB-L`^(!CexOPTZTMT=BF$VX}yiIe=8@{c|Mbic6l)
zBKGBbc`e_bz|ytUdAndSW1BZJVzPLj%&-m+^F~9r1nykMhZ{(hWFerK2U4YH)AUYL
z;reI!8qFVF?78-#nIs1c9x%yNmdc3!ORKpjfw5{nPm;1`fVUJKrX*bI*#Dy5I9YTi
zx=m=)nm#Xgur^2fQiZ8jjQiqe`sdOSrs7Qq=rk8}VOE=?1>BgtakQaywc`6$DrkgG
zM8yTN&%k*+GfH>TbZ<v;^Ouk#0OZYIpUz7w+RhQO=gZn<)^p4oa+7fSu={R!1p6Mq
zd~K$6e2C75dAqf(o@sq^MxHa8yQgCo)#wDo=yvR0!Mz4*xV35pt}BbhNG0n;P)Lb!
z(bP5EI~3>q(IpXPKfR5tJun4Cb~}Lp75|-Hlchr4rlmf2CdhCi5h|0t>cO0;?j?D@
zs0@Tle=!o$>6*C81gD)_uM64b5$=XcaAniiqv*S)Uop?5P#z!hm~Dx9%wN(M*{AWk
zuw(NF{up_)dn`{Z0czt>ard%FhjFsbPt=A}Sf?A26>J1Ev|iol1}}_iRX|N?IR<-o
z4Inm4K1}GsJU#zUI1w@Fze8VR^8BmDji@Xtl%mMl$0!`k<+Pd_OY&VPc#^Wzsr2;C
zvpdRZ8^V*xBo?W(F$&+f71R7^ne)Vs_bY6nd9|=GFkiZO^m&!7Hfv0zKbVTEZ~wJd
z?h(bWYt(2=sYGHE5LBp#6Y{=$v7eS%F8YbSmSSbvCS_98gc{0rX@+R8g@!7a%SiKT
zOI@~URke+C!yvEOU>o#-sw)T|?)Bbj({o5Jr%ZkHGH3|*<VRP=J@cx}m!$#JgJ4)`
z2Yl-xvDBe5Cq#{d?Hf{<K|1voS#9vyY?Q}Rtg-SG+E9I~HK%kzm_|Ita0#IbBhD?f
zZIQNYa?=nCOJQ}k=J0+nm;1Y7it|hi=JZ|6-w{AD7UrFOHwNK$pGyD&>p+F=_H*#`
z8^GAc!FWpZUSr;tc}n%vjYLxgX9_XLrHrmMY!E-$u*x~e1v_I3*$T$^6ZOU&f?*<1
zSwh<n@2Rg2Rh;*<;L*I%W?OTmGHMEI@aG)`xA|}OZk{VR1RZts#y5Lj&Se>yY&bTC
z3zIp3BcA+WEI-#a;OOzhl9%|Y<$U&y^Py`p!`zVas@r!pnCbFknz6p&F?6tJCm!o2
zki{yk#;w(L-WUzOwEA~vb;Go0H^`F0DnIXR?)>NxVe9V{MZ_u*mtgCz#r<M?uxUkC
zof?G2z=zKPj`x`b!^*1S@0C<|Z9Sa4m{yIwKYb(m1cib|jh^hSQI5Xe8Pg97{^DO|
zJ-r77y>!MK=6-{dTCRs2yEAd-&K;oFfX21Nh(Gh_9+BC#;za~LnOi2_Jm0-q60r`N
zGtU2pGWtsEP)1tkUr@%tK>@x7Wn}(=GMzU631tQ^%^Q3C4=5urx(;QsJ6TU#=(vb}
zSe(&lwbzPl5#F%06ne4VH2L(qX%c^ji~ExVaT5QtX<~thv|DeQaACijCcm+oOVNMD
zYD-bfLe!6IYO{5{N&2$_H~gsqo8}w6R_Sq811OPukUdB;z2}5T4MHvvA6u;fre}KG
z--PB~)m23u<zlzV<GeZ|wP;YWUkz12u6ae~VWaq1jnQ4BPHK}FM*L1UYqC7erjYIs
z25%sxMeUgrb1`EER7kNJ1%{mfb4}nsEekI2r?hY>-GSflL+5IOMZ03^-#KJ#3CEiF
z5RM1q9PdLgA6}vC(Qf{mrUU!uLsnU9=l~PO<ZbL`6d#5408r<aZ5jDje$@`3;R2e8
zts_{|>St!jJg<G#u4^t0KV1_+UIPpSu`(@i&16>ArEfLslL;yCf)S##l*;Kie<5p|
zfQ8$ii|!t<0OSKN###b$|BZ^?Id<Nmz??i5#OTfK1{o$6V=XtHyJ!MV<AoI?WI2v&
z>oM0b);0hi15kN0fD)l^0f?-RkrLc;oH^vN`%gYQoC;If&Z$q}*CXH3q_qp_AuNnS
zFf6ipm4<79ldkTDr`(|;I5mKD{|c!&VA1X5Ag$9*z9+z}`J<4j^`b3;E9+##4o#^G
zJpD@H58R#2e`p#2sEPI~JWO-GEV3jgYOk)`y>Ke3lJ{$&q99z}rIokaK+cdB7y7N|
z=KR@Q8$+E1W*pFKRnHM99x$OLjSlst^`0G4)d8R}ALg1ojO}?;vWq<5`;cfoQ^f(C
zDQSJ>`f}pU^Ox9`4~e2{_4+JKPZHxQpozR#4dVkZ40I6<Ez=QwRI#;)oH^P>F})iQ
z2eEseJ~R-fY4y*U+F)LEdRo4z8|k}thjQX#A*`_)>!TQ|ZJcd2P=6>vOLhc@X|r|o
zTwo)wx919vF^x8TSnx9VHE=k~x<ftn=Bne=U&q`v@7~Bw^D>4T15(`e4#9435$$P#
z!|%xw59$GGG97x|sYj^5KxaFTpX#gt%$5~1A=@^JA|2s?zzfKU+`^?Pl1bMoNIW5I
z04rXt0CyXq6CwO>d;?&N8^Wb@TowkH1B5poD5}OMmb;#|_{uAG>r&L|IB>jl_oi?b
zASM90rQw~U#z!2@uaWc0SP|(b@hC<iT#^o*5&@=tZy(mAo5jbQ#bFcPYvaNbabi6!
zl}Ta+oB~9Vw`HcRNWB$-%8+J@j7(V>((K~D$-3=g-Q9M{KJBm~i?$|AR5my&3n!gF
z5yFmvI~29vlt?TSdpQH(eqO80CZ(Q<kIjtE?k{ritI6@?J%MMo@;!?`2K0GNZ7-q1
z5yI6DNhJ-J2VxJ4Byw{-P=yP#hMZgKf3*OXzb`-Flu&e+g>kp1hnm~`>=+)NV3Q@=
z4!bTfJ||8Ua%_&E2L_t<$N*rK=n=~|2Pn*@jvfa>tW?G!XQ$Y;=)oof1mnq0hR1S%
z0u^{#fUv729!J5^q=$iGw{8-os{yb{YO+c?OGQW<whs}oih@({ZIlyxpFDSpuSK8k
zUP9Dv;ZGfJY+OKq#iI52@#0`zWK>g7XN?RcDh=Nyp?<#BG(SI-x2ha!xS}K74z!HW
zS?R1D<whwqUJ18Nc6O}6Ut;jt3ij~1(|VCEUUDf=1*Z^}c-1VfuCeygyXBmu^2#iP
zR=+J8V0*Z_#BknWxxfXabej)%7Ewgu${wCQyI+Z6b}{7ha~Ds(sWX?9MF4guU69WT
zFKV$chW(WMdQ9XjELjKc&~^`DzF-?Tg}q%9;0wgpC4Ppj`x$wjD)BA$95M_TZ{M{g
z5ld+Z0Cf?(`Mg60LX;i4;wN_inEN~z7A~ntxzS2$ZaMjs*6}G7$Aw#}1<PxM!@dM9
zET3~Lojf+@k<wx2HCeJxQ_1Ug6;bk%;@O2S9Z}qygj1=1Y*w_n<A9RTQm5X9Hy$VG
zD=q=t$@QGlyyyDY!AAxIvL4sqDBJ`>sU5qC1m8>tWsl1VizSYs1v+7HF<%$>`EQ5<
zHdKiQj)r2!It=LIpmU3&MWyya7yw^lCTGjS7N`t6DSX!eRJ;@Ir3pmJrd@;AGyeh*
zN_3oJR97lh;NpYXT*(89_pczmEx(}%%>)dETYuaMHAsbg6aDSF@ijE7nnHwr7)$Ol
z8W&NI2<O6-`}BrtGZEv8+U;R;VP`uEfxzSiU%OlDbKY53NV#gba7RtAF;Mz;(x04%
zH+L*LD74M2mG{s=-Cv<Bh!yOTg-y+iJB!<*9uw5I(9i?mj2ZT>-K;M$lEK1lHHp5K
zNmK!guqx-0j^fxsJZLSu_Tq3Y*2Dv$;U`3nfxYwtUWrsbceE@~*!Jj`7rtNJUjW?C
zvJ+u?LS?mNMY&x2hj}jAy^>3C!Wa;zKDI-ftHQqs94^Ipk`XdgtdiI2#lxdhvazSa
zcl+{xmqNpN0LI=#1u54%Pi62GEu-#K9SD1V->u765GdoJQd@45g}!Gs2Ck@zGf%Mn
zBhOkk5D5+f1W^pCp6%KZM@NOFbW{E(iNT}qPq9Aki(8KX7J%Z22b(+>7@t>9zOOoz
zcy`*N9;E)cD9`y76ZwmRY+hw401aC@xI_gV^HdxU;FfWqc??MS)x&+zuoc|p1N>R8
zF;h;wC&MKl{Rpng!2<-$Nxcx24g^wIP#za5LePOd7dXySVLntC9``F8{M!4Y9#|VL
zlw*Gm2LsTu?(NTgwZ2BKsD)h7q=(%;=V{6K{NqIeX!B0?1|-WP&rW(>SCCCKmW^(|
z8Q2cIQ#UPg_hh+$dt0+Bnb^D=cz<_7^z@hPA{hJJ)IMnImu?P+OZ1ap0n`>Q<1T}=
zwHF!CD+`@`4&ak1j~dtbMZQ_ne)hNa^Z%j!$7)_e@X`{Y@>$g7IcB24GrX-!7ECCu
zNDn9UqVZQ)HltOz8jUN-1kz~0sDiRbT+(+{14A5Mc;V-R;`QiYdaQZDc;m2Pe4EnM
zk-+PS%Pv2=WDKl|zWX!?94<Q(PY!=%e+&?l0WuhCuZM7k9@LDLhkmSAZ%zjr<X|pn
zu2->K(=ZCkE%3RE|GfnJ9&|+Q)~_@IzI!zv=a$~~S`aUx`et!zI}0%@25HYz>9KRF
zZJmtypPD{E()$zl@9<8sp##;nb@j3hsuJYRE?Rv0sdb0^b6DbS-OC*}?2>U>p4H4f
zH#ZR<J3hU%*x<yL%ZUs!n0K&!j}oO7kt;F|>b<vupN+R1E}}|WG+HfS8sBesX(ny#
zCU7oH(3&yEn3o#r`3TNwdIJEmkIhjl0$H!+5AQe_pR!NIv;EMf)Ay5q9yG)iqk-`F
z3g)<V$d$(G$BiF7wujwLuowKy72<a7;12i3CeJ%-%pb9<Sazy9r+J!6K-7a1v8##f
zkMhys_L5fj{TTPOOGaS31T-h^)Z~^V8UwKA-D_&z?g6kj2b`xjh2D=3=Y%*9XX$Le
zdNu5}_dzP`26x@Shtenh3Z)W@=E}nHAQc~$H3^%O7nDBe^;lQlwyyLuZ|iM#mQ`^{
zyesi_%6wn11|^xR8yr?u`Oj*X^ttP;u>>T2`Glp^n>y}WOWYT#lcpO8AY|WEz?Ptp
z$S122WEz}qSm~{yRwbbgcX||TSE-V$_SSbD&T-E=?r!@zG$B+Jj}y-tQhL6l{*h@`
zt~b^<i}?8jrF01{amWp~<*tz;JFdmVKkir87G2<Nb5*n&(Q6rJVzLW&=Wfh-DvHx>
zeL<JD+)}S=5D`BA<Ib8kx~_uoTbEt^eOGL#=Ke47k0WeFuaFDh(GOF-F>5Q_UW$;8
z#ADRE@VPWDcv42i63+?g$nO4D9pJuN7Kw)^P4@eKJU<9hCjHR=_{`dpSofLP)sr4o
zhqTw1M7zL2MOPk__ij7sk*T_6hOE>{aZn#g1~Q_9756+$bH+Bhc^5w3yoW1$Z^QWi
zm?ZcMTitdt5Sjci(BYZtsvH?h%-dKlyl6EGD_(Hl+74jP51P&bXxA;vT?2ms!aE@J
zyx-}O)u!nWzat^{uH)_&fG8K0D#S?-x?q?yEM`uWC~U4sA)f{%*3&V9*>P;AQ=)&s
zTs)8n8`T@7QtxxlSTN#8U@p>Bh`WH9--g&rxsGX+z;Yd!DN+}?5G@!?a(F2b-OD~u
z-SQM;wv=|WzjO_0%(VmZ#(UG;W`>S{$(GKR`}cWkWSaM`827Z{c($FdBKEZ186*Sf
zVmm%?&&95?wc=YqtClQrKTPdmm$P86upgXs3cv(yWJS~jp>$m`Lgf6<yKnuVGR39P
zgWgY1->QE)?UM<7^8#g0Xg&&t>wBmFlj{$w$2fahz+=Qqyo?i#-KT~CY<`+kpSt$(
zlcy><7528tIO=Li!A4*%RgL(fiENYB3MUlF7RIV~+4P*Ih7C>_gHLD#;V#S>33KU$
z*{%!_g5rZ@ulhdr@I4S1zWeII8c_!7jf)nmb0<y!sStUUa5Ho*D^22IM%7VysOL^s
z)h^!hml&5_fCb9julJzM{ePXl=k;}wl!{p}Ea23vDWS1ii95HD3tvvG55fpcv|M3M
zXOz~21H%Gu^>1HJgt>e21FI~qc{Pe}sRgL}XxPzSS@Y+N=>1n6CUWE5vXt#4=5!~H
zxGVuz0#F{hA?mEY$vHTHRFYL!0rS@X%2#ZBL*lh=#ut<!gtngO`bGkp4=h-vpJ=Cx
z_0Jp)^MI<qBwI#A)cI6WS!0E;WQij}^<xKaEdi`6!2Bh`+hi+p4b5`Zcs7?pkFBMO
zF{!$4y~Zv_91YIbaL&i@#d80~X0HKDCjx;8SXd7eYYT-dYw)(TKy-5>0M)3fIMPAN
zv1fJ*LvN$=2j)`RI{!^7FK`T1r6MJ6J=nFSX~keRtN|-bBb-v?IQ3T%0O`~&zRflc
z@;&$3i>r~do(pFbO(!HCo4n<dcbuEbr^4nRTGoizXcTgqmD9(%0gluDYrn`#UZg|B
z{YlH3{XW|#dYT@)Qf0B*_ouBrz47Au)2qLqF2=*=%ahjkqBXQ|k?)&B>=NjNr&Y58
zj9IHw-$rlQe7<heQ#UCzR|;+ZNfxdUk)P}!1o<M92<C;4Fl0KWUC5o2c7@^!Hk^82
z4`3c|ZsNY$LCZTq^I*xtzBBW!%Rw971aYn~j#(+<aUTWwU-pVOH5(bW!!a2G!)Vne
zEbJWs*h}XgQYgGcpO#N&=Gxru7$Ps=`jmLvmTPbyaFiuVadSUM<8~{e&Eir)_Qd?L
zogP1*UJ(2*VwWV)!=6?I{}y|6P3+lguwx8wI5TTqY#~1psj@|at8e=u!l}YXxbA<6
zo#0NDIF+9@wu~P8QYLKtZEZYRj)oF*{7z5}M!WiU*(mPmzig{&7swz{nOsFPj?f}o
z4_IzeDg^LtpTwKz#KlHXP@9G40ihsHpUs+%shkhDme$oDmU%dnYg{|Qy%vXJ?htRK
zrsU93eN>JC6-NTtt6YI~eH+(ej@R|l)~lYBMpbnuuQ|;J)p@AzLoeSqhVOV=mHdZ_
zXX7DNwF_P^&YsE+P+1|2yXerFTsWp3HlGccOo$1f>~Ve{2X~~rV%e9{=5xD1vy;|W
z%(JpR$62BzEW1=U4{{ETwi>s&_54{pNjp~N_mAmbFV+2A-!z&<qnP5*rDwKBKiUmk
ze0TNkTTeIl8n&L-O!1LM>xu7rijVboZXf&eaP;=4-M&?vZXmFaN;+!=-$p0YP7w4B
z`-<#G9BW*wyWbp(x=$6*kv^n@?DBbUbo(7?YYY8aXK9Wr3S+3HzIg+p0p@hk<EEP4
z5rt5%Z8Fo_oPhDThw)U5o@yd0@Aj}NX@30xND>hGpMg#(>+0#o>oD&@AS?tLkVx!x
zF|VgIm6MLCPc%s9kjJfTJ(`BK3fxNApNC}@R46CpOh4b}oeMc&Ro2-wyvtB4V;g_D
zZPFJB_Rk``4glX`gv^WVfpFhq>ZThXcNMNX(>2Y>2tH6Pu2@^L@rSgXi}*`H%W(wE
z#UXltG0c7@PT*bjU+1d-8s2(!v6b|4YLG{6;_E)C%BpJw*0E=lD}e4gPH+ile;#x}
z>fT6*T0Iy2xj1iJa|JUG#D*{f7{q2+?=s)9x936FET$SX4`G;Z#IFYnH2MPM27zdK
z-VEN0`NPq;AmsjIQHr^30B`k*LD_QJt*MI$Dpt@s_z;G#e0MagE@9(&&kHx^4xE+X
zSw{~M9%E2u4Yx<?uN`~U16|qpd*3`!Eu7MWUYlS{;}5970?m4RDy?V(-?3;O?(_p@
zFZF|L{S-Mo>=8Q<MSsHoWt*~|VF_r_da!eLJB@|Vur&#$=gyP_dv(Y?HGj6dw3`JC
zD-afARHmuMR-VYnK|Q#Y)XaBJ13JR)3KWpf&1DGS65@<Y@B*Elf4BVZR!D~b*NxAm
z^3a?l@KF_U{N60g^LBsZ@4OI)(TRKw5Zg4F`NQg*ne23KX){HO_t0XHC8@&<$fTFo
z=IJhHxC+@=Q$&M_pF`L?PTHueQ%LGY296vmP<>m>+d6Q;!WA=Ge4Bt;-_4tiJKwqw
z5VBC%LGnO^dQsGr@{wTH^Q&ov)-(0UU!l?(oNROvfRQZ;y>vh-Sa6|SpT=Hqf5TqQ
z-^*9yo#>PX0C)D0JFAe>cpAYPh1i#<xF1Im2mWXu*+{Cs+u4)l*F3N#8|YK$2)3Hb
z7{$d~+4>=`RO-6aD1u=I6v6UI1qW9#k18Y`)OPJh<n3~61_&L1LyNPr1%_AwOq?RF
ze=ctv`M!m-ty!0U9kXJ{6=>{-9sDV;<C#6O+sbRE&vzCsyKlNtcjB{pA5eu`PrC@H
zr{TlsNZW}wH^$#BZk<J4d+l*?L2)w*7St|lOM)(pg3eNEGX`Rtt@}Z=U3e5ObJ|Rl
z;)SF~P@ys_sO*eVgMYkzjSo(9F;tE=)uOL71-zeefat_W@jXo$JKf-wY_5M*G~gUS
zBZi@X(`b6TRKZ3#_H@ugApsnkTjyqunaty2KYxif61(**h*o10>>b+_a8MR6`gG4N
zW_l4>D}Bs^g%U*qnNB*OeDJZDKPr$v2Pfr5xs2=>eoqxY6B?PXi#VWoVSTTuLGRhV
z6#{*dVzfUX<przuGWIOL@ydy4V2o`SaQUh^f2pu&8%&9_AV~SOPn!jl3iXk;^lLV-
zDm9*4x-=<$tPG>CvX9TWvs&4zezGLh#&{m-R*2|lfz6Vk`E?_8y-_!EhSICy2<;GC
z9>8S4T<esY4jh!!^5T5Uvj?1N7QiT&UKlHCu%!9?V7OeDN0YKJz&8samxljqBWq(5
zokyY@p8;ZZzmEci))%bRsG%#G^o#2?YROx^N-*NfA*}lh2E}#ta?ZS{4p5_1*?qm?
zW=EUD_23>(+(3$y_nd+~kn#6}+FIoD63GVM10D~FE{R>@EU*sN+J|lZjOA|$$5^B#
zD>Ofn@d$NJbeEd8fNjrM^f4wjN<1X3Wea`PgYn*<vW9@@EdtO*V`N{d+4v(E&us9A
z)SiYdP@(1y%jWjn>q&Pees4PIhDX&uow*{xi*A3^f11`Ru08U^nRkVuV?F&)7m(l?
zXxsUdHexvnLD&HJ@V!)?zb~Iut6nDiG}qjRadI4-51>LVD>|GV!|$e8EI!Uq#-Q;l
z@?DY^`%-#9$(mQwb&)fy!R}U<z^37F!)X(&&8F#XsW`Iml*d!)(#7`$U#sg~{b%#6
z*&^fL0D*RWW@pzn1Kh;IjSFbd4@;Vl9zz+P3&C?p7(^342?cY~87L?6wV$XRcR-uF
zrtOq5B5DFz@WoQ7yn<xP-h3Y@{604j-qwAb;F7QnwNTIzz129&sQ$%`5~}JGql^S}
z=DS%&i59+VKwvxz?PUT))$Td%Ht}~toDmjFB^@#^5r<0A=Q>{~5-tn5ZH~e}P7p5t
z0xKJZJCvl?`QyTs%PTeG$uA1FA_3g^3g10c)a?%X%;g;KzLWZ^xtqs|1IuVRxA}8I
z^A>4W79!X`93p{PZ05*%diBs9h?L8*QB<H48~}W|VEV>rF3luEox9pt4T|~av=*)>
zv38tM7oD%SQKh5K;y~lEKkb~FEpz{J0=T0D=q<nY2k1TCG_GOp9K{z6h7g4)b7Uc=
zVFPq32F)hGie#j5#LeosY?oqII`G2P!>#pZ$FL*fe~~u1bQY#?;@~*;p9|v~DjG|o
z@+FS4XCL&y_qgD_jSPI2i(ej)=_WNU9^QYilhvz7C!y<6QR&}Pv4&@6-$hWOyG<X<
z{8e+$76|IGAT~9kv$(_=t00%j;`T~y0Jsb;uo1u^@r(_M+hmYpf7I<(Wd^Po?K5se
zD*wq}kEI)+Z-+3(%70|=*J7b~?p#sP2sHVv-Z+Q~Q^LZCy4CwQrr3E?s2v}`u-!sj
zG0awLa28ZV(BXu?Qilc)+U~5Dl=~uZYZL@ez<h+Ys)-}v6Gx;x@;{7^KPD2@rsKam
z1YS!Wk^6m=lA~D=xylF~*Q8(j*J4B>J`(4OU$P3%xHSkSXlep%a8UbQX`b6Xb?LiR
z^m21aesqECk`7#}Zzuc5PEjs1cNUWY5OKkX9In7%CW1=3aP3ek<~15;fnxpu#<R=G
zXkK9M$7I{MIt|T$x@tK_Fs@Y&=1K>W{u<ohVrT_MfelmTax`hJ;h!s5*G*IOy)Mq(
zra%T!C~IPIvZX1TqH6`QTe-TFjkH8!E6mkS5I(om0=(p}cSAyCyp2O#ERmsv_nMq9
z46UaC*yo?TO`cP+Z=1~5anLT4^*+$^4J{xlZ__`q*w!2~nuo^De{o)QLd87(*5LIR
z;r)KK)Dus>{F;bOo*1lj;3ge$+oF<zhGWUc3qJjbC0qB`*K%Pb>k}P12ftutG{tG|
zPD6F)I^9zy-@|9`Y6X&jN{604s#yI+x^*~q?}|)Jl(X3&6$&9ijr)`)OFv5N3<ut3
z03K6!&|_i?7Z&-u$otn+to&;#R)0^0XK2Y}XQ5+igW!>!Yk=PePq-{Yk=LBcjm2mv
zeV8t6TG2JgEMdPE-J7h8Gt?0i+QAMT4(3?nvIxHb)(it=Jv;W)@qMpprNlv;AB3h}
z!RU){++#YT0}tvIgQ(k&vIQQ@f?ytAaQ5?k(mD6gp8MT(n$0?3Imu{wBDQuSYz?#r
z9k(DBRqGQ+#0bH%zG9$Z4NtZd%?4%-z{xQ0eeS))@z^u7FsnisGKiS1xKZHk*kWnZ
zetS}zmKN?SKxnNO=*?B1%>JDVOr(x>94{sWh5y-9<NSGLLoht$ve9po=v|I-euyng
z;Q2SXB?QfsS^)9UTt+>*Sktmps=w$|LW9B)yYs6YS4qAGV^4#MtPObxhp0pUycO^<
zoU+C%IH0akjtPGAiUpF2rdSv$x;KhuJ|7wgH8Fr5Ty#M&8p^o!X81;K-eyWZHz143
z>7l~)3xQSGXg$J1(!G-PwlS&#)W(4`D4l944o_14ybi+HB#UDiLXm?w&w^2F^}v_T
z7yl9&qmrhO$RVBzChmzZ!@ice#AoYSPnBe)lvaDgKcQKMxfv_6(YMOjH*#~IQSzMv
zsB0{Z{*&c~x0S4?jZty`dn~zUeW%y*dXHfdf<9!IR;W4eX6)x?7hgKCwel;UeGU*N
znk_rn(MW*GYyt8=zeGIb%->ELZ^box^l&~<aqNm;F@+@BcT?hrmEY~KQ@$Mp;027M
zwy5>yi@ATd920+pAe0}^B7SkAtHKoH$s)J9e%_8E0HZ&K6~cEo=Oo+^-M;yY1)rE9
zFw^zj({1)iRf;!XaRSI(P5;{}U!vRsw&ujU_zP?9dpdK5y?RFNSVO$LhUq(;l3fcB
zI@SV2pl_RZ;+DcyUqho!7W(33J64`l_6nbA3iLLp(;gNNnB+gWO-vQ@MuzXSS9IgT
z&FJvMvCf`8FS(@Yl)F>#=BjHKUpA#v^DO;xIV&C<xYl_xY9si#iG=Q;6N+UaGdln`
zBEx(eK0kcy*?9HQ^L8SGavxx~kHRRJHFywIRI4YwCh)5ZdS@dGT3BL~CRie(9pHK;
z7jA|sHzP${DY8n}rcs|(Pg7V>EeJsNGWOWc*(<pa@3ne8?JRWz;%k}z*km3r=aw+`
zVfra5DT9l0033fh&`>chRvEn>PW@8lBv#ZplU^W29?h9IRsV|%bc&(#r1_)527EbE
zTjTUB=;BbJBk5vlY)Pr5*eKctN{AWML;&I$*h=y8N-N*M-*(mC9ObQ$<`VBhZqkeb
zP`UT&Y2;9Sk%Zw?ItD5>+<L5TB*^@gQnI#7)?97YTszQV0QBIzQOFfr8>?SaZxfz5
zI5>4VTIkzQy#p1XGYUYpyJ8JjK6lqWKsg(X8fVg)J!k~D6sHiJIF)W+pQLH`rfA#Q
zd(eayZHZn^z-XQ86vd<3LWN#hMaJ&p%G%chhw3t^CN1n<@;<TGZg+`Orc}s(Z3sr_
zr51=);|{whi_?+-`PR9GLyB*SclIqI$Yp5U>3CO$r)JN6X3Jp)+liTZW~*NDG5bi_
zU^=)|Ad#MNHuyL|s071$6fw~!9SUF3IsMr@S~`LWwbEd&pWOP`Z_o003A}EvaowEN
z--m`9(i{2brd|oCkJcOO3uH!cl>6&#0D@5klsu(RUKw!RLXp<@L$za8>kC3N>qct(
z7K(ESNu!w*lQgA#fMH#ay)jYO-UV~nHh9(`bEKvop&!Ijw4kO0{@ymz?$x^4Z9FkZ
zg=K&*$l&b^6l$MfJE|?QHM;n;r_#zkB>7OL{M4A&w>&h6t`V)7<E&rRxQjl%zX>Ki
zJb`0ZL+OTq!#TU!b)l5q;;(VWozi#31dyIvMKqq9wlI%kDO&DZ;j@lgcjy3tTNe-~
zE})SPl=RJ2Q9yJW2szwHba?9>{4vY;MA+<bBR%YGZQBfE_UAw<kR;##om-9d$&qh4
z{Ur(Y`bX?TzHu}prw9P?US8`aNv?FsA()&cBq&~1hW_Xedwvja^#}kTCJjhVsTO15
zifBdhyiJ*h$oOA{dDiJ!q3@-2RXq^JswSn9D*yDt){4Oo*O#dX41O60$I#MT+5yvP
zwbPZETl{1}vmn)_Z5?mUs_H%1_u931hGKuI(P2|3Q~T#YHQ4a%q<@zUnGS}MP+3he
z2xJ*LSrh<SCjelSCuFf*NwPkS7n<*Wu!PUgi8a!57dBD_(p)BpL+`AzlJX~Q$frQA
z$3$k>0ssxx4_Ba^$4<sq`zdI$ctxpPIqVTeF1K1%(`p|E-MepmVcm@C09x-tF<&%4
z7K<L1R&UdEHWVVd^eOJNiqhnK6wKyBGfnLVp6zf9MCAlynur3}34p1iavma^b{%Ye
zn_$WRvfJym(Z2T9i4`%}M_pO#t>mL{m}f6Rwc@WM%f;rbRjSyKDsvgG9h`ESi#h`k
z+6Nvg^<swg-&X}TPhNB#Y~{2m^|m1|@cL~3wCerL`IIyEbuqMQz{hZL#c17gUx(@e
z%H?1%%U$ztxEX_TlxUZI?e(QIT2{{l<6m@mS~x%cHs&>F>}b)2`jkT)ZNIc<$7M<j
z2ACH@>^`d3I9!wu7f>G`hC6*to=I~-6e<7_jTNkIP<vQP)U;B_iz^jlSI9Z<hD=-F
z8u3>UVqH$x90V%yBr6o*k!|3e@d-8=V2Z3eOHZ#r4~nZ9)z@wM-lv5N7hCGPtWW5U
z^E#2Q^`F^g(+N+{eV{Qu|J1Aot#gU74eDuZAqRb@uu$%>3`x9*ijbb5wpNI@W}$h{
z;i9Wfgxa*ZkRuX@F)ZO0rb#M2{qZJG8sq0rO$ul`ezWwQ_hUr(xDecf8KhuD_oANe
z(*8Mdn+hwq(jdiOZQe_cQ5c0CAi({gE&ljCqEtl|{G-A(@lpdjjZ8S<8kBul#d*WM
z{$9DG@5{p0n<+0#TEIR85T|j3Y*`3z40QUy)(v$dcAYzKkFax(CTPG7WcbR4Qg)Ts
z!KQGSO(8<76grIrVO}e;uZ#6j2N8TUNDA<GoC1^wFSqYXPSqt^K!F&B2Zph+ZjWng
zwJtLR%f#yj3*dBv=?IAP^Y%r-SW~(~o=mWA|CZqOmd*x9Kz@3rRcy7#2!Y8;&v#0y
zD@Lc;Z+p3o`A^qwlV^793)aS-g3ce`+h46evyNB|)r%s+=3*DBAM<U1j_dI<`>09#
zu+RW10p%(~k=C3pjAMmVYj#vI)T3Z_E+;NjnI_dKsp8N~TCj075dHa-5^kJlV%y)s
zF^bkTsMcA5IwWxB&oylASR=@V!lBy0A;!AP=sF&8!7Pqzwr{I1X0IdCXNB6kq8y|?
z?%jv*F^hAeLMQPkD+%nQyV}oPGU6TuQaMVVQ$sUNVF7vfMep8k_&Sr}gu<0j5Q6Pt
z?ku@tE>Nvr3$|NXBO55wddwDAEsglo=vUc*gZ}fO!R@9qt}QaOEit|ME11qScaiei
z%<^8Xrt27eJV&qX0<w=aV5tAso4SNPs^ss^>qz*2zYOqidt!?zW(|?904$^HH9{q)
z1+Hp25f1>B@qW(%D}eo;vSoeO{<)KOb=1$Hn{M*Fg#P$TR8rO9)r*OlO^%VCi_UC;
zvB=9_2-h+rb4B%&b0jNkip+tjSE?9u;k2U2I;D`y8uQ1V-)tYMn=;;^DV>EGQkCY3
zXg=ge{a(4VCCsx?Fkgksk@Kz&nT|m-Ww}7C=ve(Vg<x<IyP9{_Q6G^IKl8_6?`gHx
z0ho&(T|jdVGuV?KUqOFWdvd|{kfs9BqMB%dvSFRSkoOm_F1wQ|dUo9aQI>LlQ+9E6
z$p1e|`Tv?h_C!HZx2&fX)=FfL3Im@dgqO$l?)=fxH;baH>@DaNcX?chb9|%Fb4|h{
z7speJw)<B$X511sS~Av0?R7KPJnmVYl&FY0D&*LnPT(jC-0;UQodpuw>&5Hyhksl8
z;%`eko%@$PE-M71E@FSU|6`9~q5lngG@InB|H~fm^(iDlt()WTO_b+}<X`X7RRHqp
z-<^*ctrcrtD;v%715j^Xb`|6umbTlS4VC)ig`5Y7c?XqWZnn9*U1BQpm6H+kpanAy
zlR@0IZ{wFTN2zci^Si0o7W*usQ1)PsLuUQO$QP$q*?wGbS)S)wbQ0!jdv0L*V*F^6
zqkc<aG^<!?0gqzxfU$>qZglo*ENw&7o7e#zW1B3Q)3;>O?3HL2Eavn$7C9JD*^c)q
zVT7Y`&*k++og?oJy;~u5P+{?grDtx61Gy~gjth}586Nq&{JuRPYHpdLVt1B;u<D%(
z52QxCP|D+@kF!0(G7vg4G#w~=i){D7>;B|}as-&k-{())Zwc#=wl=Mp?L{BvD8gpf
zAXGz7>do`1*sT>Ja8DO}ebt>Q<LbK^XdQl|JIsxI3OgWjcEw0<{n1RVe|tU0u(AUD
zude6FtMyO++cUg+cc7O4#Tj0)bFB-!a|>;v9r5*a`N3ll+xJ}iwFru9c?8UdR4D6X
zCKT7SYoBQ4Dx1yKwN;u=P-_LEe{YKYAG%jM!VeSueXmsUi)P0;t#p5vP_6u&6>=vR
zwaf3Hd!;Y&FgKN})u_d{=l|Qi($mU^11t_cU06~;8%B!`Nz*}Szn;mw^WGh9_MN5e
zt}6T1Po`onZcbs&+?oYxJStSN?WhIz;dsEG(UkoT+#D{Bllp7Fvc>#Gr{~wFXN~Xy
zqy1!0{)+1*a`@xPmjlG)1Jj9<R&$g5b`o@j*mFi!VlYr{@+dh#b}D8<jd+2Oc7dqn
zaMwPoD_mACt5jm}G%1cXi}*PKQ6WDYLOIeoq`}rNR$%C`b-Qu6c9btx(We3f4@jUZ
z240g5SN{|q|K7Va=W>&Chfj@;yr%r&t<J|z1Y^^ouQvkIu>WzVls?ns8c>C2KMh*T
zX6Z)d;#KoD&w75|btweTwr{>sR~^^Q3^>XRIKNP9is}kr&0O-B-_bO+cNV7Hj^Crt
zYw<=yf$)|he3z#5L-M?s7h2X<bVVw&OE5%1(Hxbb5eJmY(6Fn?H!B_8p6$24$gl6(
zHEmUhrF0RyVrw#wd-e`ep&h~0t0oW7E_lHnF@N<mij!71dqS?U5O?Ikv_d&OS1Uui
zw=gUg2$1T5g{NB_>$S2ztGsriy#1(79$eptV|ISLw}8!8_y!z*`#aal4^|JCzTsEG
z)^rYjppS5mAKk(ul>|13O0_c7qp5V<$>$61Egb3FfZoZ%tVN}Trj_u!X~EbjIb8!k
zPW(&ilwy1iL|WOwgL!t~3)tFI-^P4+Zj+%HIjA^oH`OPC4pz*XQ}WW^bQ#d}U71cR
znAJ4b<kqGGN(=Q3Sf0yKtUe;Xc=X}0Weuz3dWZV@&dxB_57x9IeYdZK{cw2i-vf9q
zr0V(xGe#@(N%Zw#+=+JRU~iql`?kC3Ikzdd+bJfw8~M#xs4|Z3hj8wqnU>>9oP!ZU
zfed_UnrCOhg@w+#`9z@|cP2ZlFZ*@FsZHU&2c|1o(0MxzP5RI<a*>lMlVH4!J-v}m
zfT$RhQ`Nk4Nb7HNH08yQ)<4jP?APsN0hj)5yq7~dm!s;=b!N&?B5lkr+;ur$y2XGS
z)|xZc`1M3AH;%m^Gz;I6f3m(Byjro+0b8&AdEQ&Oc<$`u)hn=`rgmjC>MzTU0rUWG
zhJuNU(;-s}2iuakFce5{*e0SKwaPwxu0t=HLQ3q0Dyygv?k$_P4Uv;Q$hwq0%(Y@h
zNHGq~oOVK7x-_r9xZ+dGep`8S%F`orq+tVK*c4+?3M+h@{M!#=N1K2vRpxZR7u8#g
zF~YXRV+diiokC7ON4IrOpz<je1d}Y$i=R3B$+)v5KRAH{5QHvUmcCrZEx~S6eYXiQ
zFDgvd1HtfaLQ$p%qI$gwu8>>*?#vJGvXf%W1BpLp5?@axPgQ&hhR$AJF<kXrxDq7&
z)$4uRk%4hkQW+Aq5{b1D{0r&nEpT%}V`Gh@sAG@PTNG@uf!OY2P`7*UgqYtwxER64
zUJ#{7Z`jl>`&xJ6hwasm$g&-8H>3`ne!3#UY!C#nyQ@vH$4~A)o!h;g-M7#9MQMp2
zh(Wmz5C<MVZ5JWcrAApjpHIEX1&C@G|FI40qtX5`(uc9=^mtF_MH^2k+gL3C+T={q
zl75LMjl%)vpa<b2)b{AYcqhIj5%@`Zwo4u_3~VuB1owI0Xb=Uk%j+DoRQ~2j`SHeq
z4$wdir~?h43ABJV&;b~L1vsD!^ngAv0EWN_YzD@_1ek&?zzmoJ3$PVff^EPGYzI4l
zHNXQKU<>SkJ=h5xfFp1M&cFq@0yp3eJb))403sj(FF*#~zz6sOKj04nz%CF7c7r`2
z2n2%=5DNB!Fc1zRz&;QOq5uU%gBY+M#DW7L4jcsW;1Eavhe0AZ0+K*7NC8K|F>oBD
zf<fpJB!fnw70`-kCA2bH1+9ukqt(#rXl=9+dMnxz-Gc1A2UJu`w=TMkY$YkEWKhW&
zX)-jZAV|(RiR2ub*d!GJ$&w}KoO1@rxsjYfV$-B1HBD@8gSxl-+;iSL?~eQabH^QL
zjOwqdX2rE?tyy!<nyXb*F)0tkQ!=(P4nCW>+%NwV+$^P-r8J{7r<9mW{XtZmp(~XN
zUun$q*t1DKj85E@{(gCbQl@~z#s_e~9%Z{(B*osty-9|eTzovmyPaI>bjcN7qe9l;
z659u4`7dV)Gf%E-r#!04c*XqUR>q0t(#O53phJaG21WL#B%X8_J#{(7Tr4Se%JXy>
z)@l=<3*MGIxs4Q6*HTxceqs26M!ZCJJIF3Qj6FEntbEtEz9HghDyc!K^6uBb)LYD9
zRN+(vTuOARbZL>}7eY@Ok_nasp8%gQe;^;lyLNHm8PJ<o<YL<Egy58A{+LsAOouEx
ziA{o_gvuLS-IPWrkqu7w9$Mwo$ph?-wwb4hp8xp?Lx!9u@6&bh$M4PVWMyaHlj)}7
z;y@@>sFbviRchRq{j)={0;9sgh@H1zZJG)&JYq2Q`7_`HuLMr3z&OHP1CDe7d(I)<
zQO;*e8*lq#E5=dUO%-Ev=I}_O7%ClQ2zy6D3{|l9&M4Kcg{@nd^Wph|_@WAP)7PCI
zCj#P*uT;BRektOM8s}qnluU?x4!f1QJUt(IdUt*1`JRs(-^n^g(`fvx%U0^*uqDl=
z-=4_?SBxGNvURFGu9!7E5I^xqJ364+EwRJs^X5OcCt#kG#&!)XCbcapdAZ(~w(2%S
zPN}Y;^IYbMfXK0Ips9jablJ`eAtvu@YPWlXyk^4#??O0C3}|VHo*W$a?ewUhO;)p-
zhRI8NU>j>=wz6GME5<?f^E{yz@<q7iHBV3mrbtm51``d4W5&JaZe8lQ=JzsSH-~Px
zN4?zk(N+h4*!J@(8A@TnE%wBSeW0E}5@$D$soGGBqUhe5xM)?$%itmX5%FUkj!i%#
z<H~6ewZi@%0+t*SK(CHyh1PrP*x}^wZG+?9nPyfp%#MIdrGWuKnU$UT>*^0;FsQdr
zrI?R1BWH!W*?c)O#b0vIftG;(4NDE(i#_M72FF^w$`SEQ00&#Q(!SBCbmOjLnMY3a
z1ik9AkDN@w)LPi%Bp|$SLzHF2)Hd6r*FYx;CYpe>gW-NRbIh5$RYXgjQjb_+S<?$R
zdrmFd%bO{XhV*@`x@G8oj&J;R4b9glpAWpdJLG$!zZtO}3$FQQu>H~dhBrUCKS^AK
zW+|$>+K}BUCQ$P-x%g-_Jv5D!GV2ak_^?E6(4)%m?Z>m?wU~+bjAghQlh5d<=A~;f
z4iz#(?1f0*dD(oD^%d{Tq1EG%!2YrNvb1VRJvCICxzGJG5Yx$IeBZSs&DGw*)SFCA
z4_IT<O+jkrukmE=3przCeWHk<j~cqY_3cSK17)OxQLgh++czbm=nipkN+6!1Vc)ac
znG$UvYGd?u!tppWB_g0yXo%G5IZdXBYWai7YlS^m>eXn@qF&L+e&z}gbW1FW#!7%3
z4Oo)kjD?4VQ7C?C(VE5K;pHBi;Pi3gVbRQPHB~0+aUxfrOh2Kr)2zWt({jt$K<gj{
zqqu{9Q?Ml+`hOJ2O<Orgd8A35tJ3#*-@ZRMF<m5;9=Dm%AoRIU=<Tp$UA_!b!zFnm
z)v<3{Z5UhqYVuCq8{AEA_hJg1uP=CR`Y!w#D5?8}W=<|M25gV$;2^>{P+KidG!3)i
zBbJHICJUC0&fCQIgSA=JYAL&7WCi#H=}HqI{8xshB#gSNf!ZAPGSxZ}F)R`q3hZL3
zLfYjDtKuY?0TOyCVpD9|<wIvLm$Y&^&DU(*(FdM-e?&D)Xy7f;**3<#n_S%&R>;aZ
zew9h?o|NMd+j?Re#`aJsebHCx?6W_G!mcob$Ln_7oTDfIB+9&QzmvoB<RNYP;zy<U
z&;Ixdwl5j}cN2|Xd%^+6T?tdw06_Y<IoLmt4X|uw`C<U8MpqHS7K~hXpKe|tvXd@-
z-pDCwmiPo|)06iKO<*+^#~vrvfLh3V_{@x(LbU8wyU#d<w|8a!Eb`?hZnulLHB$LG
zmOycjMx!*Ik24rR6|ATC=y*fiQ}Zd0uu;sdp($*;1`gp>;sWEcY9}8N#gK|fdz|^&
z0LnSxyh?fKIjJrG%o9*{A82uh2+vlsu_EAX*3BGu1vykH0HLD*^Sr%=AQ(!FJ{o(X
z;Sn+Afhn|Dm$Z|kDgY1$H^<pM5aNsoqj;<>T03L%pr7$b<ujM>cVl+Z{?FzlKrnW}
z-89j*YT00N>T^}I?6gWxxy(>-aOki|Z47bn@ZKYhISJBfx%>oTzBja+i^KS&=a`Lo
z<7@x})DY#NoG`25$!lcmwP3`<yYZq6FQ(W;P;9XKgjo<q>7ZDM37{?Sq`*RPx+#=2
zgjf2lwm~k=si>*eGP!mSm8OQUe@0_PvtJb7n9S6*gk`DJ^ne2`$!WmA5LeS3*7)>-
zQt2VSem%>O!{C@9{zre#+SH`*5~X%a5s9}L8}+<id}!2t42jqk5o)+GCmw@sHwMVC
zJkcg87xvwe$eARrS1?nN;pCugA1cS5N)hIflnCYrNJ=m$GG$!mogW$&ruHe@%`6@%
zN7Va=smkv$Naz%FKCDgAfor4VsbsPq+W{>~gh8MdqXlUUv;NENm`QdVD%^pn#(ZAP
zbf3u~kSbRHBg0I0&Ny;D&4F6a%7f0uBMX=xT=KX;VZZ|Bh57MszVL$Z!zddTCEMK%
zy&D$GYMpQJEqprlFfF{d%F}N+wy-#d$;vicO<<fZ{6XqN$#$(w8d!S*s^n1|KBWSR
zJt&6sy@J-P2@qgIQ}?y((dHk}pi3gp`uW0f%jx32p?xiQBuFcKzKioXDAlH;E65ox
zDla?yi?`nMdBcg-`e$GZc;b&TX~X*?8yzGyR`sD*k=ElaQ&RQETk;ZE15BR}1M!Wz
zCYe7s7SonIPc1s$=$fa|KfRtK-FwM9KVnwMx>v}ZM#!Pj&Dq8|WyW@f$u!2L&)Y6y
z@#tmD{RnRHe#{t55lo_Rf}Z=V1V+T<$76g;3(ej`@cI_!h)D)_P)gugl#TBo%ZxaR
zTsWjrwPVPeJ&g6Uy&&%`QUBtPX{t7D#69CJY=K|t^1Yq~PeV#BAHfg62-r`4HpO<u
z(1ycqj;On)1b&nV$?1%JV>%s{63CF6h+g3v>k}1n9V{DtPf4r)#9#@V6j1$gmp~%$
z5e$n&mkJD~Zcqts{A6o!|GpMgur#?&oA%k$L5W`H?5uZTIz30fn0e~XQ`@vm;bLMR
zy_=$XK#O<J2%&U$zF3+CV?27XB^IzI7GO|54k!(Gd``>DvhY?uSwUdgXE@O7WepCQ
z789R|Mna`pp&1i>jT*$Zgol~GgfNSFb=|h4(Em^FR%RQ<q*X$V3mjY2+d@2o0F|DG
zj<}Z&<8N)p;UCFsIy9MTU3>_7m0zd{GN)ia98tVsu16^P=D}FAXs|05SF@2bY2{ay
ziQCi1Dj1s|wRfnJ5<koq`yL`&1no}H&(X4$&v!P`_qGt~Yoi$f?HMMwkj;0Z67|`o
zN|ZcF;!Se)9EWh$s5);!d$20L)D5=J1hItv`KUAc_032=6{b)gGror`5vV$m_%qZF
zUPmf*U$5ks=;%-36@icz$xlmo+b^PQa7#bBex{!BVp<?KxPyEwY40v>h8c#_Y<9IV
zA&Rec@TgFV@!pPm0}#N`e8YG(QGr`^dK8<!H*5%lzuxTQLR9A-<H5+l2T$z|L&M*i
z24l;7bX<EUvxdi#5yFHHk#nK0M)VrYhD_Q$YPAt{DH%s@Ia(wGp|Z#pH?=<`kIF;g
z<X+OnMC88A#SbeLLBHRRSl1t8eNMw|*5kRp#C8oaXN>ObRZ_;HY`?hA`as4Jh#sQl
z4~S0bV~<d$DU3TDWj|1-nHxU9+U;g10@jC>{lOAZV@l-2(%a^Mff410{!az<j&j3P
zV_UbFwVe8ZGqPnkl`#P)+}kC!mAzb>Can`L8s*ob(fBz&%`NX^7=<4++Aj}L{p*e7
zwZ!@TCUM!#=ojDNYF#S6RoTL&F$$@%|0*+aOIBg^!KM!|0{-K<AC4b?4E?c}D+*uF
zjMEUD9vQRZ;LQ4TAgEX|M8`_m)B9<UJ+)p6{4rOL_FPDRi>i~lUc4iS*Dua~R3p1*
zo~l6;w3v?njS|tTT$COyIm5hQHw4~lh<~Pwl5WI3(WA%u%C5!&t<zdeh26{d(Ib2>
ze<@c~<}l&SF^tOuQC9h*y*8~Q@7u>OcU5`w1<W#(eX*mQkwQHh(!@Tu3J#^7pL&6k
z*+YIVi?%1{gesQ)5oHr`H&{V9=BKbyeE+w#8uW1t9=gV_M<5^`qgYIGDA!1E*zCdc
z2L?Uh>K#|qyuRM&kar~3YfaUFD^q+x8lJ+NZ$@=TwaerUR{rO~=Q)7EyA5WM2lh+D
zMJjAK`D|7Z=0^{;Dhl6_>3fU3s3GpD82f&=VT@Sg31H;z0w4NVblb>u^sZlU)Qp6N
zYN`s`Vd0xi?I&p;SJ$SF?)u5A+3oSDG-^F7{7$Uz9f*rbrTsFG;i%k)@7L=`$ZVQU
z{WlA@EH5T={B60)n|@vbZ}bx$EU`E70Ew?0iqkoi$9ESiUY;aZx=@(<O~D=#bL#nL
zJS%;{Z~wI>DmTSkm$AA|m;PBoxElR4Wiu&Ni4byHDetKwRSD}_)<%W51W^YXU+$D0
z*^^NlmQ(1^H_S1b{v|&r>yQ+skN^8&dCHmE-IIE}m67P0O3$&`sijS7#_^ArpIVC=
z>ioD-0<zmUr@T1b5vpvL89U~BtZdgfDV(?LM&MQ<0g(~XrZq0_QDbG%$be2X_?vqv
z2U6v=<@FS}IbpyOe8^YmRwT0*s?r-qHoZL5?%pWIiXw46QH6n{(|_ll8WXScf}3e3
zutHiNP28O}G3K}2ewR>;nV8;3KY{H^H;;Mx1}(*B@z&`{pgF^cykVrEU-+YS<xU2_
z=*qILk-gKdm^V3s-RSwt+q@)DDk@~R2=`ygvxS*y)oQ#&5_F4uulJ44G#40c8CJBJ
z`z>3r<;&-_2gRnzXfiXHHg+oIYN{+njoN7ybY6)b)gMiHsH8>9c49b)I!p0QNg1WV
z@7cr8nD)lSC5NhoB$iNg(&I|h+J8u9XU!Df9ySmevL5}c`%|s$$SzBm`seP%BZXe=
z7#v{cSWZt?iW^_vJS^We3*dDbdM8|;f1xGL>|Ha9F84jVo}HW7E6<VeuJ(Ei<gNjq
zc?c{YnAvNRhM>9ws7~zr4rUi#oH$bUVPKN-2DA+j<(C)}?!O+OEnr+GI_Sqz=>ixS
z(ML@k@BzHk1%+1$B&*-Y2aQz596YL42HW2r*abKTC+W@fS8a!u^|DnqpLWm79FwJk
zj>lxG1NfZ6o5U8wo|J_|^?4nOMtu{meHZ4vOq$V8z3kSOrDNyzQ<Arf(F3TRL*8(7
z{RrQ4DZTQ7u?qRvtJk}JW;%Sa&_Vk=DvjcAMm*T!2&uXfZ>~o+zN1~BpXhgTmCO9`
zddMoaK1Tdt$s?cNsm5w#>BJa((nr+s`Mj1ACkUN0&aFHZ&EanA4okv9oN#$<Ok=^u
zWA$mb-pSZ$*%Z!126QGj-uc`d_lLQ<gH~_ulE$vF&$1LZhfw4JR!y%CBdVUYQRPgX
zN$U>+;%MB0hsGMlW2FjJD)BDg4>W9z)P}&w1{EMZr$uHZ^GGFH_FjQMb;n()3Iz#q
zTKn<`!h5o6MvBA3>R!WrT<Mz7>}+K}M@+1#Vo_9@Aj~r&Dq5~pEWM$81_S+{Y`5PK
zjhtqpi-2{Hd7r3Zn`bvYx)K}6^0N$XSfnTX&M?Y;G7PzWf*mUKZg^~k>yKy=oWRBS
zZc3y)=1)?weD6{YlmXsx&d8DSf@OMePmh#Mn3#1x9jaYyP;tvHknpMXsgL4Zu2>Wf
zsz@lm!Pjm3B4KGP7dOKLq!vTf*XA2@#HQ#r!5u~~$P{eskIM-Zo{H&4IMN9AEpPKH
zx~&mGmT~CtDUAGa3!0_ezR-`eMaj*6@go7W2lX(cQ}lu(2j@2YGuJ>XiFAtfPIBw>
z)R686aF{K!MIbm*_MBXh`LT9amY8_-XVj-CXVa`-8;DFVBTw|t+mQA9ZCGad?frkl
zZ+5lKA(%6zcH^RW(Ne)Lm37$7>E5j$;>&^fa|ew~9_gk?OS4|Yqy&v>O$-lnIOmSk
z*jIq928~SbgRC6x&2+MF;=!1Z3J#Y2{GAvkqlL@RQN^@7#M7<&SQS$}P+xtKVnt$4
zHGJ+*L@l?ZK$@v`clRRS6G^wl$at-xTAX<5xg#aBG5$5CUC~yXsOrTwxkq{2>VYrS
z>*vGTC&Jo+8jp}B>N9DEwjohJGIp<Ix_{fbrzT}E`7dQvT6)l3$5!&GpB&9AzV~W9
zAw<;4a|wpK<xeH&f%w~AeC!6#&_USnGH_pplJ&UuNQFnL5*viq#-3fz55NCr;2WQx
z(%udq(KU_&I9Wk>HZ!3*E#=o2-Q%ax4(!(j1gd489_1|0Qvq$s0E2vs)iR6KB6dS7
z3}CXQuY7(vV>xiF{9)z$3o6;qv}x0t@6v-pL_i6B60xABgG>i@b~-1*0r76Fo=uMJ
z&j&1NGDCF><ocNr^XBo?%-w0g;|`CM&T37%@z*UcYm9YiJ-!`Ae+vuYp=32)_{r^6
z<cvSt|EbbS3@Lx))9r_r+bNq8?a`V}^>0r--7wCNdm{(KbPn6gdc(c>B2VXs&O;R|
zZ1ZK0k}X)`@`2~f>!kXS>A^TX!ehmuy!BLZz%VHXysmj|qs>}^jAHDWV1D@Si-f;e
zfp;_$Fv{=7sPD$^0@$ruXFCB(HMYSw4MQw8Scq@b_Ja{2a-AO$i%GUG-MPwj&hQ^?
zKTg1OQfOrnHlGs)v%=g25ziZ%)QUDN>>@<X1pg9OExfi!8-7#JT1&t`rAZa+D`~Qv
z`I-Zn5paWTL;bz_z}-Hu%A2vYGjN1%$m+(R8&KA9Y~KJneR6v$+geh$k_xE!)WbJB
zVb;?(yCDAQ`s@?;i|0dRLmQEp8E0g*wNDRznpM5nZsz?E_FHd%v1AB%<DVf`g;to!
z$A9ixPJ6d!Z#S6po8QnMyuD;r1DbrJrO(91O*kF~5SyucG5;<szC9f=XXzFAI#vgJ
zh1k=?Yeq5Yo>7lU@e5V$+uSzprSCbTum!v)zv6FUFXovlOmk7X_T6^J&@`LAgX}^a
z-!2sA>iUvau`+zyR%u9dkju#?%_MImvM@+N)A22(;7k`7A-X-rZ3nLpb%h3{`b1Ts
zWtrz7H6dv{t3~%g>3Y^$KSYMKfcaco*{bvjSDoCv=LFT3i%!o5e@2{hmOZ|#HTSL&
zjAo8$wrzM?TA*RJPZJ}~W#bK?!5RRkvR<v(GFn~i&o{C*>emC5?HI`~IlGm`t7b%W
zMGtWIy3mL0&EidTI8D>fUy6{M?;DD74_mJhW>wxCIkqa}(cO^pIf1kq&ACkU@#Dt1
zK=sN3*~Vg+*=4r5t6qC5t@D4?Tp=wYnPY%vk5pSkf?~oa{8cpldR0ubN-tOa%Uf8L
z#Wx(X7Sbh!w4->^Eopr_tmq?v*l9$17U3KS6qwV|Db9<RcAGwDT!<HsUV7l!cK8`d
zP;o>}tBC-AXZ3K`J*(uv+=N!T=vM!v?Yy3cbF5o^dJ*CBva5BZbBmA#dOaN3J0Rz<
zNd0=f_|H*m2w5C-R~?#YTQ}+3&{lsf97a3d{H~Sar_rsiBYzK+<5A%J7wZ%sT5WEw
z6GpZ^e2t^}n0Kn~6$V<ngQ-u8^CyRs62zO5MO4Db{OMeBa`kXFCaLeh@hroA;dsiC
zaVu(0e(bIvH8aL%sNDf8n|039$1ELZb)S~B7h5Idw<yx5-|(+oy|qBMsh`r>$_yNj
z!p!o{7b`Ol|BS5?^rHU>SE0q4Eg-+wGaK&0Eo%W^y#t#Sc+#L587gb}4d+#O3VQ#P
zo}isE3Jk1OHFE{+=;TP}3<$$ty?5P3YafV)#hWWKUvM$$)UQu>nfj6y<2yE!Py86r
z*6j6j;D)P9hZF0-(RO6nH<igtQv`CqaQ3|3+)1cm(}OqdR;Jc~pDR4NlKxV`ldeB?
z!H0XywbdnY?^Y@fIId610H-q&7t^;Q&=SxUkSU<P!pIbKa`cyQVD2D1e!?eCY%jNy
zsrlCo`3<DTWRYJ5zTg5QnBI9Ww~5mx3vSFjvHX@cksO@IpH3ZnrShBLm>*N=6&8AW
zMCNTIy|mP0VeZTDt|@1Wc6x8OVkWi^`pzX!AMLn01ksv`2^aunBxuM!fr&c*t-jx>
z`!4Q`-Yc#)|4Vf}_{%#I>HbL!MJ6CCiITLPgQdz3HC=i{PTJ9*=6y;+s-Hqynd183
zm2s<DQi7axj+#1h-B&wRvvOHB`q(KtI}3(w14y!ZubI+#qc|WG{huO8$CNo1q9-I`
zj^eU|#8X|?|Gdk5T-$H4&`*Jgxug$$ROQ%hT8$|#ep3wlu%!>+@%lK>Oh50o(WAM3
zruw+CZ6m?ieyr*^A{%Z5JQFoLQXdzK+@TpDpIe@!WKi~Z&Fp>HOD-=y41U$%+wjs=
z&J@?x`|y(lh{_Y=(wZG(c*s_U=KjE;+XY!cdt1eqFWW?`(=Szh>T2uHog?SvFAySH
zcja_-E;0(q&SI|mVQS$S-%FfiG<JV$QWRgIKvo)^7u}!`vO013T)6ZxU51DO`~nDZ
zw|;s*egQ|pc%KVh6s=REp1Aer({BQa{VTRYVVzP5o#(H~0S<|_Me*{9ed9f3%gbS7
z$9y43*}dg$Wzb;@o*i+{KB2{j{v95R_XWj4OO>EDoQcad>xsWKww(N$F&Eb5c7X4u
zx)dfRJFsM`L0<O!GVH%Whs3tm56gbdyhmmkKh5oJ!~o$J*4QM*c$TTvfYsQj4LACn
z0hj$(P+-^?dBOm~Sdb5z20{Z!J0b*fycYjA4DiITnr)O2=N$hwGw>9z)ep0Wp$yuR
zD17{5XBDt?;|mK}JvK?a0@he_>|7VYSSX+tJ?hk|LAD2^bKp3&hQa8ETrGF%?JM8j
zn!VTzC0B74(6V;ksT8xvkwh5@jv}85tZnK^?If3BcmwG+7r?DvE#wal*@RuHn+}UR
z7VmpkKz<X38b=}be;0;&(1xi?3HLGSht>#+_jj_Vz~9Cwr_6#2^_|r^ci2+Fgz~_^
zY;sYh5V}bog?Fx)HrCg+neQPRg|w2bYZK}3A<Z<#`!K6J=<X>e$v$8kdh~tndLi_(
zTJB}Coca0m^^TwMjAk;tR3bPS?^Yn*t<+qPsw?AAr0g`06~EZ#Us`8>721r>y6JUp
z^G9N4<qHk=ORIyFoR^vAyUJUs1*=lU<^A30FD&0#W42Z0M*fhq?_f^eQRtHS{E}3&
zOF)fIBKXfL!mXA9xpVcdNSh~#Od@$NjruOb14faOmmQ;jhX;%g+RIUnW-1hq{NKiI
z|B@4fhkmd+FPlGcTJL}PUYD!<#G2^=d*LJYG6Hlc4bS+Tz~sGYKyN@R`2=`Ey?tLN
zjIs3;!rPW``eb_s*H5K=S9peiVzKe)9<trHn$;t+W)u5-TU9Iw3zi}lR1pRm>52dV
zdr0c3^UEWORZBiL_)~8xGwBt*z2o{&aw1QyMW-F_kRj@~B389uMP)5lMd5jut?FsD
zT3lQHP4xfLRnej*c--cMvM^I{2x%!QxHuz(4sSgd#p(xlL*v_DbhAb{dOXc7Bs>vO
zQnm_rJ(CqtmcBAM>o}@8PwFkS=jk{Sy0`?dj&iH6U>S$&U?E&$qMh#4Zx-*Awzl-*
zV6yTvU1r$dI;)55m6ER*`g%uKVKn?K=im9+(F*;SXs4lifllNe>3lE9jdftR;b#Wj
z2mFq!i|j<NYm3et{$Z)al3`>=FGEnYGBIl&$FB~~Nm=30%Q;<+0NvCXv$-61&%V2N
znEK}={xPGJGTa3BwM}7T3cgdh3EvjM2Zt%exZdt`o5Fe&cmK5{F+HKXr}7gaEglaJ
zmkfmXP6sDLARhLIX=M}%=WCl{#{W{1<Y3K%gkKPmSE^vo@(TK24}b7seB*rwxn_@(
z4En?S1|8}1g+K0M$nm^ux%L1j+2&tLGNjY;Y54^mpX7ZYhHF~?^#E~wuu?B34_O!C
z-N0SR7m7$z=GBM<0kt5rBD~1^D*|M6(A?_y$W}X*^j>uk9dxQX-h9cfFsQeNi{<YO
zx<o9)PKn_P{wCMN(Lt?J<LmtFwrP4UGrzYsPN<J}*t0AA+*|XK1$wt8KGN4tg}le5
zH6@;#^k>BIE%$l>!-TI|vtZlZ!zU`m$l?zTz7LPCa812=uJ!I*LBV%k)msD6j1#VE
z?-L)^gA^{w^{SV+&BHK3AlF>jde@Om<@?vWq-yVPFxtGig_HmF{X>zI4|GcRyzi#U
zp}#x$^zxQ`_M36NTe8Cp&ao=Z!{v7qGnIdpPB^Gtb}~0x@O^gnGP<l;hr{@jet2D}
zm>~H&Qe{WR`c_Hy<3|rS`SLHT{7OH5`tTy~6IzNN$r^en5Lrm25Gj(2r>ctQEpevh
zm&9mmN8O{kxGWK`<rjXLktq~umEg$#2MD15{+)5xhMK%kq(NdN4-J1)+FB!>tMPDE
z7Z-jbid0G1=lv*|Wf&~LYiE$pziXH)m-(-T4|Mn<F^_w0x|rQFh`Phxdo#xH!@>6B
zGO5q%G+j*iKWOrtpK@O)VY83l9OU{``Jx<~ed(q=&+8)GRM5QyuQgJGjyps1UI)m>
z=fKyVxIdBrna|ZX{Ura_0S14OiciJ&Vm1Hqv%7d{f5Uen{d9op=NLwj`j>5&P<!_o
z!>{xe;s0dV0JwX&j~SnwY4EhGah?F&HJDAW4%G(~_8QZLB*hK=Gs-XZy*!7N$?UO6
z<CKnu*lJaLq}ig5^h}<gE2nJ{&Gu;96>-<>sg878UJY^ns#$TYnktA>O*;QqmQEFa
z#Vl1zIwH@{j#Ivnre{>7CU!y@zs~Hfs`O?qwF0>9r)g+;P5APhkjL`%^B|=P5s6;&
zz}y;~{8heU4b{X~)adD9jI1f)ClEW*ju!Lh_-t$uAATDx_AT@Q+H-Cy<?7*TW4o@I
zO#qcz$!o8QTnl|>L7bb3d3s1K>^dmANVRplhS+g_r1(E78W{b%XrW<|_)vJXm?HP8
z8{b?#A*G+)^u~<YWmd$SG8=3B|DF5-zy@XNK{)zie0Yc123lGUV%dzzGT|R#{CW@m
z9QJBiyC>?)#`kgXNg$5iiToFj2bmP!FtPtBDcZ``Kpz;U7lD;#KuFz6M<m+KCgB5f
z(mTLPGbRMK9<;Fmp9NOxm1Cz_en})0U0}QGE6*cUgf-0AdeFnx!2X{};&-yyVxa-Z
zA%%;LKg{;*H@E;~P8qizO#ZnWbZ`Fu0-)Os!khoU0QeR)#oRVNS&(^Nqy!(0l_X^Z
zca7ce=UY@0Bi;C<PiC7>8SG$pD{n?B7!?`DcUU>HtE#yXSjXGbAUCgHv=mzzjGWjA
zoJ~i5ZD31s3$iA&{xC}9U3?SF>;LndAiJcHvd2NBCYWyg{v_X1O)-OwPo`wg3Mexj
z?11?Ke_LUfG`HeSf75QS{A8Bhe1G^ia9ra&NiEJfUVqOgAV;g(a*~58@Z&>`iIB-;
zx88B!Nx`8VS@_5oFXxMo%9K6B_Z+50wLFkC^>SRh=OGg_K)=sxD45j;jW~{HM?~ag
zNdc{?M*%b=0OG5FGXkR48i=$3s<t4s?u-MjkNiJ`VdMsE5OFXMKC%8;AKh5?q5vvU
zohYa&n^cfBFg9$w0V_isOoC4=fbNz5G5K=L^YTOwjSwG%i5eO%M&w)#feocE;EH(I
z;H0NY)Fg7H*Z$RTFelw}shK7F`Q#b|x^q7}oNYURfAe^_w3Yk?#i=2_p{wIhv@i0W
z(6#aH=COYXl(8eR=(mhj5n)}!+s#A&l4-_{|Mg70*8_cD)j%?xXO7P86AKUjPtS0t
zy{#vDsGlSs=q~!~ysl^w`=@!WHjl9bZA09ddqruj!L^rZNICvGX!Dclazcry3WQ|x
z{%}|D7ty)TrpvP}qI1j^%LV9&!NNdHijx0ruz0^}5-$xWBii;d;u6RgA`gAGE+CrF
znJ&Y8`GmitsW45Dt}VT9Jrs$ZQd#L28<$=4H;9ivPp`l9n2H_A;pCR=cX-J?!WWlQ
z5Hl5f1sPn-`d7UmOe{MyDtFPvQ^CV6OCv7vd?AWZ+jRjJ2Q%@@O_(D`dc$I2Mw18m
zXx$<O@*6;Ez00f?@-=xju81m!!WE?yxetMwIW>{7zriH#Xpcws&*H0+Ag81$XJig`
zR>f|j8VSG26yd_ObMSD7M+Vm+V?~K>PSCl8<)*6H60n5Jv9o;FA|uF{(NaLubZJt8
zWZ>GgGtNW@=qp#^jmllp;-Ca{T_v+6aa|H?P{l5nDv7m0#jdEz&#12aqNdr=v`Hb-
z)Yw>z|CDoTvS<)ecd}KVH_w7Fxx7Z-Vqv6U8^1l=OU``ljjSTZl%t#`+O_`*)>v-S
zTVJviN3(i}y;=Q74Nck#2L(;q(DihP%=+dPP<==cDORMU<3yV(C2kJb+rFA@f9ODf
zaFX}@cR|%wTdUo{_I#`zF?|R1XyfXqW&5G&E%?Vz7ai-KcsJ4}9iV}AMEB$I%fhdW
zhRf0=9G#b*%mO)_A$&QUnDD4QTGM^;DYvl7gmg<<#3zN0+gozMJnIp`AJb%Eujxi8
z6T`sUl6<d#S=rDBi1^e*MZVh-mzPa+L(FLySqD3vjo0Vqv{w}V0S%3DI`h&+@XT>!
zv2LdCIXiIVTdQCM`C-aIF*4nkKa~6gZT6J~tG$Bjg-GGL8i1X%YJGw1z|BzDLeL8N
zVb?*i7`ol#OTuN1(-+_g+@V&F&*X<*2NHRuiw#2z8I`%wDu|(69gR`RJg})UYr%Sk
zazpt)iACiS=9MojmC^C=l}DTOR9eCMuz7l@V1p>0S>B0>GDX39nzDO&ZiotEFjr7x
zRP5gnVKWSz)5(>&vQU*D$0i)6A(golNyw#rkEvl<*Ar7&p)FVznjdE+9UcrP{*!nR
z?QtS`Sw4O+Z2osu<9CNx-x9AW5hp9(C^vhjg8eP`ng-|dyxS(De-!+uh%)=*Q?evh
z+4`HNrrjR<9Pl?uQBfv*y5MuuL##xjqIuK9lY~`xZPM?*s1t;yc*~2qI~2<aJLvPF
zWgzs$9Ef}w8y(q@r!L>4_N4=e#60Q2k~bpE!d@!Z;~>q{#T_p4g^jl!Z0HF90*!ra
zd)cgr25GHYDNov@v**bc>L}fuKEi|7!XF=xTs~NV!!10_fs&gYn27$vY7x2N6E4^I
zs>!9k0^2#GkTiq%t`3(tAY{Lq$GWUjz4_Drk79wyfXkGznQdZD`(=gc&CB{fX+Klw
zZtDBVp_Yd{vSW(^>Q^mj&21C&+g(Z@LAy2L(V5GtZp@JV3Z8-SMFHJkz5b&I+7Gr*
z2?@A!1%Em_NhO<ISH`bpJ(9X^iEk43eEQ}T%{Q+1m3PXelP&)p(uZo=Pp;P!@Ymv>
zLvQlYe&c-)xnnPr4Ep~-`Wk*mAm;hjO*2|K{`XUNMr4v5uUFt_C;UY+%@nki0nEyc
zZwyJfZ^s*DhK)tmaww{<4@qg~NCL)RqFNGT+Osz3at30DrQBN?`e&|JDTvM&O8}hY
zplCmy_y#r#FrDu6+K=oyW`{oykR6y=`mug@G3+q0q$~jbEmEafZpBOfCQ=EX{yNG4
zq3!cFH#_vMn;8sCX(!+-Bdl-4*78LgJqj%gA$6BYFrpE@#Hr*$NJh-nofT7s4oNro
zh;z@%iS^nm8pqoM9<F`{u^xQAzK1E^i9S7pu);ERO48%FviBuxO@E#>K%?yyq0ttK
z7rA<sFrVR|TQ9XkdbkLLFEP3`Qcg9aR9ZW-hs!~kVR}S4$3hWJu+`v_>E&{$pt_=f
zXpd_dA}!Z*l`3;QS)WahG(~^01oNm|V@knZ&#)-_5Kr8w`O8<!M3}#G>(cUn_|501
za+wbNp<If|KG)7d50oIGVZL5Mqc#OG$o3q3Hhrn=KGzoS;&PzYOUtR7;EJ`%c5)%{
zgNcSWrRzm~Zk-=yJ9Z_`ob$Bg2v6BwpE5zaj+f^3j#RLQz<g>CSDsB08KYOUsRjBB
zN<>6St~lN(kXh*NBBg!0_vNzOVXIeveJZ;1vPDfOvHezW+Ta5#Z(`|?9CO{P>Z@FK
zXsW)I?`3rmecCUwRrb%65jpc9y7jO6SKS}Z$LLJ`a>i4Ull|$Qk@rvcj8DJ0XJill
za?e=(%RM9M$8EZt8}ChDdZFt}bm8xQ%vy5MaJ|ZYOET3cx8>J$lrnxZP))v^$MEgT
z>zew(N|idnHWv4{8CtYoWulnVo+{42r+@24_cIvKz5Qok=T<NRjF5G{%H00O#E!ro
zeX4kIUEzM2LTC)81GiRaj%=`hA21ymHa5EX6p+MDuJ&9~!bI;Dj5t`~ucg+cg#C6D
zH6auC<0R_%;L@SCyx`w>Xdcog2lKw_6HFyHC3Erbb5BQD(>;vomRr&kaSQllaX*xq
z9bt){$GpmHR+E50sjTM>mF%Sf!NPloF}1X|Nja`~$QaEOohO^&E@Dj%LNGEmg6)s4
zDHxCBWbZg|h5hDGvQ)iADvy{kb`1Ob^k?+<(;q@;-JNWSZT;Kxo%szR&m1ZA^ACt5
zBhkm~BV+-mqA+XbEs~6;3XbO3r)m8+%~KBA?nG^~#J_=UxBN^LVaOEQJ1yLlbRzhV
z66Uxgv)=ejv)Vk(L+C{Q^*slt6s;F_OcV#L3WV<ri^HOnny(zVu0G!*=lV)$831a#
zIRf+>!c*LLkX^hfiKIgJ{v$!7S=-A_L>4yq<X-~{Oy|t24<yH%e<nNwc-w37)~%mq
zshw!{(MO>kf&4R?+T-8OzIM5)d0Am-{;f=j)uQH)8b((B6~tF9%#T%Qv@j4=Ulf1z
z`d8h9D-sC=-5)mef#fB93diZIR&}_n(_q-_NOIF+#9P?qpe`fvvKp7=43D$!k*C&Q
zj=!?P^wWXz#pM+8J^)5_8Kg>HuBBa0?5f%5^0>`d#gFeok}umJc=MrG^HaexB&NTr
z$Qf$o^Vc<vUVR~XnN`84g;_UbTwbo-fRRB`<c}Ut_|b>=e_cHyH3c;~^JC`3@BZqA
z^CP%59qpIAL~}Lh)r~^WN0LL@GUTteR}=iv<QDo?UtBN4hEMJ!{x|H*iAZ`1Ii+Sa
zCGigqnK$`GZNH4|>Jl0pnjc6ofx)3N<@TN@zt?G+01QsuMW{;BXiNv<8%vivelEjb
zFItl+KMWhw9ZWD;0g0SHob^+=WMRK{D^yUF8xHzwp^?i96^fphTXiwU;onE-XrG_U
zF7V`vW@t3P4bKLLE^ESA{iMndqD3|jwD^JJG6NOEpsoK-{`>dgJ(ARU;J?9npgVuT
zV9bWyoF|4ezK>YO2%EOdCtSVtznsi60!m55L}+D0Ujhl%YvcyJ!T%uD)_m*twqmgd
zrNm**YOSrl<R<vvMdBJBYWfHmwi7-l;Q=tCm0)xXVm_~^sEI<U3~EVU1b-8dR9%9q
zpCBDqub?|?3DQ@_o`PB&6`;>K=IwA-(DBqXNDSnSE!ucut<ah-Y5dxn)7K%Pjg;k`
zZMN*AMkhU#x{n?)W>}!-c{GP(6bfGUDlKdb!iLpZZ_P{|Y0u?yYDF4(&{gm04nB2j
zJ!-{{<vZQ5K2tU8tGJK=a-Yr%&5AM?&9O0b3oUt`A3W@qOh=t^`%@RWG-g&pPLZ+~
zjFHbSbaR@IFRWKkbt4JoE1bN&IvP8<=_twQ3w5j0i!i74Tu*nWg;dWXxI+%SO+fJc
zgo%-gGjX41*I|x8H|wcxRgLuCnEdu+k&rul1E337nh!Z7>7JGpNDLdfl|I(v(w4oF
zQPfnTxCic%JhA2|_H+-VT_M5Vzi3jfTW<2}EGjxj)^8T|p2K4+J@(PV(hz?Mn_}P4
z&2e6DQo!{*hv_y!;#{|y6c&gsBqmqtwD&nUVH+B#1BZ1I-7HewtimXzkJcu*Jg<6~
zJFDFqGiltkx0{PJZALv6dmVJER-Tzky3Jjjz%J%TJn0X*$0bmza~Fm47k-@=1Bw^p
z!Ex0#Ezb%N^7}0gBvtT<#?e{_eHqADK^^xtJ%=MvfoPp=94|`_6KqRfJ?+BnFc35+
zNQ;<htI6xE=gTyc8k#WgIO)i|5ZkLhs&;}fo^-743!(oO?&#|+Ro$a*??%jl1UAPO
z0(_LmU{t_9YYoi`lAd6?a?(h~&0{gb8nqbLyER`1<u7z{<O#R{MLSGqgwxCdazH}?
z(XUwNQ3Z$AmX7CBqwBR}z)tt9Q+Fh7xRY#+{kpNDr_-y|@>p1$0;2*vro?X53jnV#
z-R^-yVqHe(3u{-`iwaTgob%O(wBsn3LnKrx!PVZXdqy7=2d(VW<}PxXtJ%*Q@U%hc
zLUnDmk80sMLNK3RYn$26?ybDsEIJd#Ht<wm0-+j%`e&&6p{99t#Cq0hYV$-yOv!Lr
z6Ua;-dSG(m-EJHr$yZ$L{C#1P5!wg-ib5WRS+4|nY}Sk6VBKErb3XIx&DX6h>t87Z
z7_xf0j-HyIFTl91kJo}jN{5A;)Ir~+j^LOqV9U)s0_`K;sf{uw-q-u{wD6|W4<Q5v
zNhdu8aRiUtU3=OG8p{|!(?f&p`j+8|7FG<$`ZiO?aPM#&&o>eAI){6{&;d`&!GK9k
zt1soth|FG9!Hd3#g=hG+v@A`{4pp|z8)-q-jn1;?0Z#oMtVIReC)bkHcQz+_!w1e!
zGlp3uPRHsnF4XM4`}S_o=<YVBV>G070?RCnkyD-)4M*`!mH@yQK@nMvg~Kc_>xfS6
zUaR_rOLO|cHs);7tlMMM&Qg}=LBU15O@*!1mRCFU{P>&|b+)04vP5m;Ll!pQnxYsT
zLRPonjk_uJhhCb30vB&i0M;u>LMIcxssg)xYa|qQ=Yai;G9kCKR1B5LQekeONAIjx
zO2?q<v?koj^D*Mv5d7l+Bo^VDS>7kK&1X5M&VwY_XE|#RSQ0upiV<fOYTE3n+VB+M
zyy!*7Q|OdS147VU%Jur*@YT_oJxnt1AeceTOcF(7!=-DW!H2%GsD+&cn-{MPG6Cm1
zNZf-2KjyeEysVrXc;>JKA+<AZVn^7jEcxU-Ew&KYvUX#VH9YaGxiR|iVrjuu0+*uR
z6kgC25`=o=xr{fyIC##QrM(K#I#qH0F4VUe7T3tHX9>mMFGQW~?3srI>K^WMcNB4w
z@qaKa3{9BJ86cMepY&qr0ynhgXXp9qEx^NG*5qd}`F#<^-QG#rCf8-B))i~u2-n3R
z?!|*b)c(8&YUdTckz;3}$HKL;x9j{Jr%7adHuiJ)xNeTk`2<h_)a$7})iEtD24vR0
zZuR%6WdhB>99efZn2qX-H}D=yr*p)%KFmdyTG!mj?eLJGox+1nu(Qg#^}VHGk+)~@
ziC6Dt=ZW>ir03g8lhVC!k$HIfELvd)UhoW$4K3c`%y7kv`mN=(;f_YPRz~wezC`zZ
z5^iRfnI_hwO?a5ch(mYiq_qb$^>7-OHGXevz_S6R+L&il?Xf>afSfyzPN%d!b4gw-
z%?h4MnsPf*RgLGYJ@?_w8gJ_`)Gp6oTcvbT1}BNTuJ7K#?M!NT>U6-J24HtIaCd9h
z)loydnX(q@I{tow0cr$IpI5n)7YOozrB4EM1suZlx3pZ_*EhxzPboG8q8skB3UaR_
zMLcc$6Ln`xEjMGiMcZ!|)g$~mJ->iG7U02J^ONOgiJ{yx+g8ZsS49FBL)klZy-6%g
zBmmFB2+i<<!TGvQUAIHP^j>0(@kJ=XAqD9dPD6u*)E)Ha9K3{X(Af;db3=X4vdw%-
z#DKQi1>j<Ei)1do(r%g`u5%G50VkmdJPpwUwI509knp0;<3a@XcIp$$y>mv1I&r1c
zonkn_qe+L#TE~6;1<}r!jiHVZR8qlg70pFwO2RBXOjZcg58b`NSZ~hiPCtuWpmv}T
zs$(rOKFHhMTntH?bM36mAR5k3vOL}W@}UH(g&Nw+jo8cynd4_e`X+Gq=aVYem|r;H
zdREs!*JuemPdlNg#bdZ&%!yZ~uy<OKfc0ik;c+hol3a+7&Gq7dNZVLEc?we3*JRn>
zyd2XQp-R#49R}r=+D^2&s11xBFRa-!yx6ZyYT|UAHt%=QPm<-+I_n0GMG13z?)R$>
z>+lq>*1l@un>wHfaym1ZldMzWAnS@fX<LT}*4Z^bn5I50n&vp%JY3uemLZ#8*lJ>3
zL8M_Oot;;9lL&#&b2Fm_$-Y$YflOfz9cp#sZXB?k+aTBr=zhoY`<x<N*(6V$9UtqU
zSP+85GL5E!#CpYwT#a)YY@*QHzhV49HYO_SAY8H(*zNV6z)c9AG=ILhI;LM$Z#O*D
z)1%y!#JPHXS~|L^!L)BI0%LruhUzRK<3>%IYEv0&sl)7+wNIJP2N?4FXm9OdXuQ+h
zyqrb8`bh{Yj(goHR~-_f?v#G9QnBml#&Op6B@Q%S-2ptLE&LV|1wCgu+C!MT3C&K~
zcgOa1ZgWIgGHY@eA$XaKijD`81f52&Q`Q|J!#fgz8Owu7S{#PQkaAkS#FMjjUR)u2
z(}V9(4Fi@gi=A244OC8>c}||zy_QK*>IxTzE2}H~*OO2we6Z+}UDZT~DEP(UpG*kV
zIhzgSJPxq&DXgcK(s;H4mKwF(8iOG)-6^n}H)Cu>q3K~lwWSOn(RB&;IPbz2OKRde
z&tMev+*ojecy6VX_)U|uYXD;Bj@ixkI-qm>T6{Tsvct6KSNk-MYgAUcX{`a%Kb-u0
z_3QF}2oq<c6xeMp&e$kuLu>GOgS)VPbyl?y{f+QYr@Ihg*09>jExWVt%pnd+o_rOD
z@i9pWoHq85k0;Zf)h125ed=%)p`+pQBof6W^*2-@5Wce(jF3?++l5|JYcAb08{^{x
zUjnz78ua(GeaEx(z9C%F;A1HD^jy#RcM{%`lDZ;#A@%qJ=ke#?&nOdPbh+l);h){d
zB#H7m1Qm+EI>Ra`)3i?cXFCxGH{L7j;}kX_>c8US&azuBO!juNp3O!l^?5p2SnZw1
z2)Qq}^*p4tI#<uvU&U;9iZ^lD`#Pe#B?zxj_MB0%-QwJL(k_FSoISrN@b%;}a@`JR
z)j@qXEL#<tJs-YBk)(FA#vJreC^yFie0EyKQhOdiGNl9L7IIZl*{e=U+&}UkEg5wf
zG)Fb=Zq|u$TYD^ZjIwSWZ?p_bUX)r4PjJ$gB^ES1Q{gs-Fe5?&brko%3r}~*xR@og
zD+w%hB-J^cv$;?AQjo>Ct+zDkx*b)8)Hm2p<rHa9Xd|+0L*hZx^}eO5z$my|Mxh!D
zCJO`%i}YqBsl%l}t%eRAme5)ibpfLyRnER1^@Z?9dm<(~78wQUQLu9dxU_pR)P7*7
zCClnq=9qR`xce9w;E4Xuu8Y@)4n;+ToQMxcVnW%+hMUjjsK6G`!T~V~axGNzGUu@M
z$>G<$dA7a|%`BdQ6NgCG=^Lh5c^!uWO&42?x_cD0;M4pLjse{;Hz5z+x-B2M0a?dw
z!t<$CjF5VclOXNHF5!@*bGz^1^3A#%Z}86a$0RW{!^yYY-g+Vze0w0k-HF(UNnIsr
zpv_6M5J!eq=_IRh>A7D39OlmC)ceu0H?ii>(R%3p^rDc~VO(^h;$GJR;#A+IX<)w*
zRdyOI<JYvCV%zQ?5G8v)cBANFW7%^Cc=h^F0rISc-z;>J*QNP}D~rcD{&dAs;^7%g
zRp>S5qqzAXiZ8p1qMBP<vST_nNBl{a+UZa=aBD7iaO2q`oaG31;+0o=hM~Zpq=pzQ
z3lbMAMG4r<Rzq5KbsUbO!)Y5`x3qO3N9rAM0qpg<OsDOk14$EyuS;wVUha;ZK<7?d
zJLwUge>$A>C5YiJ=S$aAnQY!58P_U52<>eo?sERdMl<JTJT@9KJK1RP)@XPQ+qJU^
zJP72(;5u_~?ssZXj0I#_(_L&`ccqI7h*}l5rkQu&YlwtbG`TG<`My*{7FiK{4o|5L
zOw}R892Cd+$NE|SG>YF}>g9H8G_H4v+V_5tWx0vaZ3r9Nix#5MZF&p~+E%tEc-Vw$
z?*Srt3VKG9`Xr76TsHSOMK4S>Rrb~bf(mZsSs)WUA(mAfhqrXMWnA||P;Xn+Pmai>
zeMQ4`xWVK|$jNBy^vr5o;y$hC**C1&4knQOMx0RfX`2$`7B@x$HLl?C()q2%b0PlI
z(PuTh10r)1j!+~<Q`J^y)U(x+a&8qSPL-MulHuF@yFr-qGTQdj`1>D_85gTL)7(I(
z+R@rgxR@C5{Hx0VR#P02$8qxR5iNl<3(&SZu=JG|ZQrf5BF{9wrsJWw4ppnUooQds
zXHQU-NE6YeL1k47t(~;IFxG8~hSjC2=)z;8WmZVVywpb1!FY{O_tDmuyd>AHRC-wp
zQvOv)9EDpR%KsINLaPB<09cT1Akf}@eUX2z*|??aw3ZzI+{9+3M3rFK!i5_iq=~9+
z((A{s+Ul1`WOMXHRzX8hy&Gb1fs?c_$`b3d)uk+qU<(!*Ay@k;5MUT(v%<(a-rty#
zzXNjuun5}Bac9l&?OGqZW*V&y)O5b)vv~^J-Hl|;=p%MGc5PQ4ca)tt{F=?5cz)0o
z*HmYA%r$Q8Y2itA)*Ofr7i2&2kKl~fI^5T6<VSk1>lVSBH|t9chpn5yiq+?8C+pT!
zaCX2tPHad&g?sZP_4F9UM8#(2?m#|jd5@oB%0<z!-$9>6W3%CGwYbJeBF%R4>pURw
zWF?9@dO`)>q<_X5T_we5C$nA2suJwEQG_g%X00~L+c*G$8&H#N*!nsRV}up^2Mb%=
zYI%Xs@SwqH>8QG%8cZFJtwi(6dSn_S?fKzp)kQHv>2#MqPgae!FL0IvT5G>F>Jk#9
zy}(Jb`YKUqcX{lhc{a{h`276h!q}$->s8;M;`&TwZ(avbKkJA!AOgIm7fE>_G05j1
zreqQ!L3~PRU>dFZ<n9)cw}Qf5(-Z~ub*Dt=xyywhd;oc>SvcR+)ax)?2uk4H=Ly;8
zL6!mg`v$cl4w}OwCU%dq8J)%+Y7M%;h|s&Sd_Ca!j}%J^cuVq2={u8Z{2yy!&3MS>
zIBhg*#=J$9c6)}i7V7Hmp25ivbkywU3Z9kj)p~iMlM95t21`$lmY1kv4yVdib7sme
z#|mg`$q6l95Rw!u4mE`)35*-&RM2+BYPo8=Zj-UmlhK<_5;!>5=G$+*s&SW(5Mw=Q
z4lCh4O_wkiRt<Jen#tJP4?oQm+M27J88YCc1eu~N{k0*6zHq%-tM=tBcG{;Wn8)6x
zV%!<!yXM9u0@u!NVbTb5Iq}7ec{_23VCQXb8bAjW_ZXv|JpdPl5m)yvJA<lv#_nEI
zpZC<-?_spcGc}qIm3hbuc)4qw7$s^ACoP4(!M=E%YyFjzeg^7zZKm)%!N%!9Kg6>t
zMSEHW#9Aqi_w99Pp~a4Trn}WAm3Tqz`H?3Q40r1TWyc>qkkW2=$#G6KNNC8>K)ijs
zZI3!UlZcy2^+af%cS6-csSu8d@LdjA7@oiFutG6%yFWOwyKhbK{+?7k$b=f3P4bp!
zYb>MBG>&TV{3&(-jYLEFG?m|NB2^Wx1O%@()#IqXYa*kghPNPFMN-rlX<z(Ji@t~=
z@%kvv7zC?Vy?7gA8%}bY&0xy+zne2He!8I}PnAwV61K<LTHuRwyIZNSTA!JeY6n@;
z&6>DBu2X3+FxwSElktdkm-y?$sN<UuJB)`Du|SI#r*$Q@J8f>?61XJR1y3wXq-B7p
zq2RC&%lBhk`S&m41(V~c#jDhw0qld?PHaj?ZE}x*OXFL|eLVta_X*-%GiaK#F~4nC
z$7a+-2K(LtbB}Jk8QwYFYsu_twGdDRFlbpjS=PQXoI7K_-8<!EY^f@5(sL9mL)w3@
zqSlaenu;P3mbBpU!fi3NC1SY|^*#Dgz@BeeUqJ|t@tmgvgN(Err9(`}J9VXVr&-9j
zX`X^0KXB#2TKW4pZl450C)_>DJ(<%!+E4omN{ZSNiV1YGR5r18y(RY&C3&atG!ABp
zLW^i)2InqPhO#4;@_6hkHqQdC-?czl1PmI|`&YzWw@eo!C2_4dGJlJcM6~-IXuhq2
zztcY+RCM}je|+xd*zNlVIeVFS=EzR(PWOt2VFwMwoXvwuh&ZQ$9QaLDDxW8ziH{&K
z+hzD=z}n*HXO;Q1MT<GM1;xvE^<(zP!8MZ&FGoL=tiFmX9Wo=)iN<pZ>ZCh1HZ;l&
zlbG?J9dBsz5ev{(Z(8qe^-6AY{9-$^+JkXYryr+3>8(B|iHk*16+A6W1@@D<UA7wy
zdpDPxqe8}|NPcl_B<o=Qefc1!VWp{u#;b5Me`XH2=?h~098+ko_I3u~Y3eSb=jxsw
zE!F4h0}(c#nxV7WEDO4R_CMHr>)%XbW?e9x2~U`L!pVf0Ghya8%rIeQW@ct)W@hFI
zGc&$nhRt`*+11r*wYq=6{iWS1ce~nUx9gGRdWwqppKG!b-Z#XWR${W`xXI^i;$f5W
zA&Aqoi{0Id5gGYAJZu?(n}9rU^GOgF({iiCA<>w;h5Ekg(waB|qUp1W$A?_f+9DCm
zU&c@XI2~C`|70dbIAld8V;>zL?ZvZDz5|=ipJVgVnzavZR(e7axUa)wzdDtm`ui`R
z0Uv=Msk8SOQY9lXI>i$#>B!R^X7!Fm%N>B8JA#K1p7OByxz8wu?mk)f!cX9EA6`3x
zS6J-Bf5dTru&s$_U3Bh$W8l;{G;1cRiT7UP?9w=dZAD%CM-vaU`)*q^lc;g1?f$!L
z*Q{5-G=`bF<A~_2*D~6WwZ|l=-b56K)D(TE*HyL0NUe8+=6~Gk5UTA$?wmWH4=2#l
zs~sE(aI+RX_Vy*XV4<}L;O20);nYrX^Z4l*70y+&CZ97#GkIGB$|S=hm`kxw2S_28
zJVBd2fqy|n!Jxa7M9|qMzcFLG@}J;Mh=NB5M9U7lJq34s$G>SKb-2oeuT*?cn{5bf
zYYWhn*>E!{T+xzIldrAWQnB|`B@`q@IMzxnk^`o^t(Yq?6lp0eIs_u(d`UET+~>=x
zJ)S#87U^~vdX{#v$hul9B<pK1(g~1LX4ajgwL~DzGxAxrQe2jb1U;WI?4Kxcd#XdO
z12QOQfk3^}`5qPb2Ntwwz(nKvkM1#%-{P8r4I0(wzbj7x0LZ9TCmNyt%jBs{!6;`7
zR&!`ykI`=Oy|jfyEid&j?&E$3RZO!BCFj-;<B1<a2cJx)cjZ<w@3ke+IZF#yTcs=v
zR+t`f>f2wV{fu#|Z2Naq0*S5L<z30mN^>*UEBNFuRd~huMxIAYU>~Y4Xklt1e=>9N
zT=Vk|Cvj1499D5q-`3)Xd<N`$M2)SiRO7}<=2hNAF(b587kVmqbK3KH1`9otEH5L#
z7jCB{|6B^#gUS|Rc3@E*gCRjPlWx(pc&uyLT0GDBNZz&_p}Ar+s4~xMW+o&6*mBZc
zXZ;=Q3^N1bebpW}yVt1^bQk1CSgY)N@KM!<81lE$O&#Bu@|t)g4egT@7t-RSim`!G
zh0Ir`vU3iX>=;*ct`D#A5?^gDCP~;7QaV(P3fIO#{#k~0R~b3D@Q%T%b%kEKWC~;E
z%ZN_2G@9ewUBBE{p2lhT^vHGbbnSf02sU1`6=5Io4j6Avy_x|-)U<+cdb9SQvlJ~@
zT@J$pyBq9D(d<_gN9Ky<IL2`2I0?x>GzQ%<UF{{Nx2d<*+R<eDvHA+U?X6z0-PX#-
zoX5#q2{*fXVa%HAqM^fe4_55C8BndBaU}eaJj7(1JWrfwzR3Mhy9p-S>UgT`&DEM_
zoR=+KaLDCVAbMi<k|jK!4R3r;glfH%k5wWuq|c<ZR{lMsPpf0b)nqsz9tfq%e2<6`
zWELDGJ+}-O?sXU*ZfK{0YmL{;391*u{|sUKLVh~}>M&xc1u+T)AA~dAJDhHQ{&+`g
zl760#xPMHzjIsvbF^1$p=ejEDrfh#jx)MxSp*z)Ppwj(LmKDX1267^WmebvfP}$yH
z-db02yo<Zap^_|@)oB#uN6Sn@L$m&z+n``pQ#Sg@`R7P5vYWR8XtFbNeaJ4m@}usB
zsvY!#gt3*Yw}d|UB7HN}o+Yj_?pF3j5j#cpqwOjE{&=L|0T6C#nnE@lzf|d*#d?**
zh0}O1T$7b3B;T6R!Bbc847DrNxrcu0WV2fa4XY)=Q&L%JHzUipJF-|cgX8HS^MmW7
zkOIlH*0(1iUyi|gak;rDX8jf1C92W+E1kDxJ-4)`{1MX{2C_5r-V>(rqA-Y>RKI?A
zT!MVUO2UjOD(g5a08HoUAXt(cDSd6D{k}u+ahPHqHHRZXhajQjLWfgw0>{J@A^Wm9
zKcFNbyDDLco%`(asupHEM07e{+!0K+A*rIqlhO&@N6cpnqwA$R%$#nIAOAxyS=?Fq
zP?2!@@v_7&wse6%*l7}4QD4|-^?c2U)kL^h!f!;lXu7{(ec%@=slJMl`&$)cFf4?S
zf2w#lMtt*Kp#5ps+0q`_I5bQ`B>Hj3;{HY#f35WKh4d<wN;UDg=oUd4x?H+@nPw7H
zMPd&N&0C4t9x9P_B{{DKwhOUIZ)IEbGkZ6pmIlpO42N%r>b`gA3W+X(yh)0e8XNie
zy2^C7pW8K#nMk^Dl|*NbYze*i86g_k0)-gc5Erzp1?E+kk_L9_TY-`%EH9+no9dUG
za8d3pKy6ETrSx>}rdDQNn`AG{+<%-MK+df()hSaza?m(jDZ(_&3{S>xNT%@MR0KC}
zNQOiMRIUvRfEKRkD58Fcv3LP6-tR4Xy;K0-B)3E8dA%q_ygtDzc-w5W#fF_mU=JQ>
z!U0!Sujs=I@SFj1$*8C*$I987Az5J)tU3QQTud~r*oz55iKohlxNulYd8sPVD|bCV
z#d?kwU>K*{3_!j%B)8?#@#s>Ox`_`XZJ0l$SBfN7^?IKb*X!yeo4XfqeSR^7Gcb>I
zq~~3Ot=#gpU<>W<ITNK+@-dxDs-H6_RbXn$86nuPJM-@pbC(GDpS3}s+YK($mvWxM
zotJ3^@}pJu#HZlVz4w$K3x&fi9lrMm#QEPfX*soO8m3V4SFz|`pH6Fx8NIGi2k*{n
z;&nABO=nE_7(cnuK%2m51{PS>1^Nzbo>3Wmn7zK6t$a=Ap5pB<Q7=xcf0T*|7v`}H
z0j>JBx>a7>xjAxB#qRLeFH14dC+nv_<e=@Y&|n*Obkswpqs~+&eN?SbA`zI3Bjw`J
z_yB5?#pT^Sl(U9>EZnbZp8Ms=v|2*mezD5M7+ddMWLb&<=RRbTt+WnEImkNdO<uL0
z!1yd5>pU^!rzH@r8*E=6Cc4L-)z-S->^<qDU&prAOU5y80^F%5`vGuF{N~HHjvL%J
z7B0O<&HlnFm#Bje<pSeJ#gM3CMx;ILHf6lmT%8A;KoVStwQmo8nGd|?b%PYIHo-~!
z8x!a=+TpWws(UAD#DS}|jag*Z$#v~eHbjocAAZT7|7cVqzHn=D^zvww;RVr&?GS9Y
zG8xrwAe8{oK<zR+<wFTGvxcuJWM^R^ckCO4&<@EdY;pE!Xq`X1YFkI)WfR2>w0jPg
zmUUa6bV4%at*W;#tGACSU)E3|95ac=2mrQ>NJ?Ey!OJoYC#(DUT<$@4<6K3`WAwBk
z)54yoTVbTLUZ39suJ5LHd;M6^{dMjb=4#^twkNN9O)`$jIdn7^OA6RhOp}yVL&{wg
zj8CYZ4=fNZ<j@qaJP#&-F76DP?Y%GSL_66(pRe29R%r$?hEwpFD(vDsoNTzEx(74}
z!AaOz-T~(Wd@1SuOE!70zvb%PXyet~!z~}icobkaFD*+1r}%F}RNKiceYBMhxV?^)
zlWF8?@&p8~F?Lm1b~ug%SpV+kmT|ho;o52RdQA)gyid61+Mc3Ur>|$;^OS~Sz>Ykw
zq>oCnqz;6`uoM?%e%p;Cn<jzeL*nKHU`8Y)Q>=JP4f-rO)uR+;Mf)L>q2moK2mJ-6
z@tX?YH*nuFIWy7ayo@#-x&OP8R;BW*O)cf9#v;D9a#u#jQN3SHNaQ-sm*;Hx8slL9
z=Z%kgBAcDbf2*sFHwmRu8kfPJqG8={YBSq$UUH1#ik)&eyvXzu!X!=+jcPn;HPM->
z^vt<IE!rV;XPS%3_GX_f#G|70y|*h%ahAhH^Hs0d;q#rZldSBa2#)>aGoc7YsHlHA
zktwU%x50bTcsJw3D5LThVUVkx8K#+u2%}-^CdaZ+ylV!hV<A6%Ngkin<+??Lk828q
zcydX*G^6_7M$HoK=xv1|BJh?C5s?Royi#GqegDiQc;2kDq^PrU6Ca$xw`g*#g1Xuo
zEnJpoeHVj-*dG{)aE$RQdht>p-;OGkgtia*YSl)T<bzx7i64ApC!9s4#vGWf=<d5&
zA(j^>lGJ?!)`r&^JMxIM^i;mIEi$+1rT;R0w=QJuS&+C@pGx&H{(SI~Z-wm8Lh3T!
z<ar6TTd3&TGkaKsit7STcej@O5uU!kKEt8xMQ>vYSY7oezoE-C9T>aoJB8?<yXif7
zK6Lh#=Q#B;oB2GxS;7qnI}Bq^Un4^VIw&uYVHZdl4`5)naro&J)MLx7YFNy3$g!7E
z${CIGC8_9YAJlU^8_T4H$CGRCb2R;Pg<bc^u|+6vFG35E8&CRq;Ec<D7*-J)cJ<ga
z)SP?0nDDsYT`jq0F+K(aOgO&&v~jte<XU=CPRfjWOhnXGeWH^iW1#7dWKkeYp`qe@
z{d?J|p4(KB=30-8xt^(VP||i2zoF^#8JV1`9#ORMhuqM`wi8Z=l!l3$6KuJut?j+b
zu5P_q_63Qof_(VkZvS<jji1qP!nzZgs74>vIlkr1hr3<d&s`Sv!=_pLOOA(i{M6?(
zQZ_+XVE>t7I>D}p=v1J{SN&yLm8846Zd3;QnCmP1+WnO^OsBO$Zv68vv-kMQOq;n)
zKR5ys-&H^4R6Y%F>n=UOTm4P+0(n|}HpyUZ)D20#zNFD8=D_LT-^*V=X$vs7B-54F
zO_|fqCd^Hcr=(tw{*21p5!py)p%{9b<=&rcsAPI98DadR%sZW^gxn})S&2#d9`U^o
zw6H9$9bA$6RL8MV4mqT~ytsK3v{a7|6T0(c4mASurCi!Wfw<f8BL+8d#sOQ9+^p1Z
z*C8n}E{t=|FNg1Oh&hUtlNi~^0QK60p-i0BAI(D-L+Da3nWq7>@nNGhb8^{--6>YT
zVO!&?`Jc*)2hYx=;6h}Rkj}HpO;fBCv#RDt9T7QQ1G?N4I-jIIQ6K)Ay3dm)=+%47
z<Q!eK@e~|AZ(GrQ68>$_zSMj?;uy^#iT_Z)k7sPcm=MQd#~L97`)vE%edCx3cuL}3
z{rc)6#n>{Wfm@LAJ9VxmL(azFIy|l!;D0!zB5Wq$O7CZ+I0Ns_r>26By}-3C#?Pi8
z9LJ1>srTy0s=4jq!SzDtm~gm$pWvjmcCkukAj?qB&%=70w0Z1GSx+u863fio$C3`+
z=dqob8c+3dehb3>RETKqSro5x40V1wYo6$H(|hCpoQg*5z!c!yr@51~ULVcoHR#Yh
zXBN2OC;I9LEgMIU?7HiH6ajv~lIBmd{KVZdPux!gY|gp5>!=9#mY~y>OjK64+C4tG
zpSm4OIW}RONooke4ouh_kIlAqYntfGjS`f5O12TywDURJ<T9K^N3d*`$O4VYU*&46
z0ACuK+H-bVx?FjwTeVBULPuMxn71>@7|CmL+9JF_LVd8$bkOoa_mSGX<t=~Tk7MVJ
zZfV-{RIhw4<$5*2pQ(y$QXIk&SVvnD(N?_$KK2o}U;mOg<P!ei!qaS`Uy=O-CYD1e
zNK6L)Q3d$_O4_@*t?^;khui)cAi5zi2<H@B$dwu7Fc{~TJZ8E;ahbgvxZnEp2Pu1-
zyROhg<(tFlh4jn8P+kmPE!~|Km{aYL`VXk3rlPK4rI6&2ar4&gcGIcv(kVoeL305{
zeXIWB1+15z=uiylez{6%RCeyaTqx?AOBm_M27AePQq`jDShxJ6U|*A$ksf*-Z=Ym$
zYHBTE#z8Y0a^qK74(vPlrAt~y<0L{2=|}|5)VOo*QB*R?0N#>1(F~_-dS8O|9-hi#
z;V6yXcAp^3^uqV>#x8TcdJhZAn*|R$`NV_0bLs?{nq`08-PQg||0TbKU;c|-cbX*8
zr0ua%&t$x4PGW=N#_EVd?64cd-~}}PrWmhD((XFEb7z<4MM5<kPa=odPFS>!W#wIg
z)lbK*H?>;x-*4T~VZv_SEh@9^w$JhVvi9<$NBXJ7cujLU=YiFDDwiIrr_x&m(UDd&
z?Zp8a-B<2kZ~a!Eo!)*{Ees{>(p-gR#mLk?7GSuy!>TX)Lp+&pho=ifUv^y`+U=gv
zdws=)!c1`tEX*71v!!9%vhuGuOLENG8S4xIdR29;r?HcfF0d}ADDrsEBfcu1H2asO
zu*|xT&Y>P&8nB;l#0Ki$akZ1U@~J+C$xcfP9<@_}mfJ=3L*f%Y8Arixj-O|t?<y%c
z_3SP?>@K5sHm;P-tqC7vj$d@?yHcKrSI7+C41qr$pMZ(^eDzZB`eYdbYd2+{WI!>;
zM@RI__x*9WqJ2TV(|o41Xb?IV7w8gZ`_AIdR4G-sr4$0Sd-=AcS(hH3oOWZ03aV9g
zu^@U%asacfFB$_-vLwd_n2)gUbl`<U^B7ceQ}RAK-!J-Qr~4wYO=!{4rQ@?EwB^!9
zFq-r#D@C~@hsm~zBzE={HfbHZ3j)(M!wzV>&kJ{=v0%!QX-@ZX`FItdc{q1yGV&6e
z`m0_N)Pr5p0Z;qHsLFb135H>5;D_7Su5alw3;^CU?pHatXPmceO~e#)f)wQrJgN4u
zUbK4W8l2Yi_XjxLY(y3DrL((Ii4X*rz%0CAOa4xy2NX6T4mV4HULDw8ysaNMdv)|!
zo#W8kqTos$Li=ru{m4Dw%I-0Vx7FvkQU_nPk#1ReP&p58;vyr~3r6(Qp={kT@!0Au
zTD~4G5vSR;otQ(JvdxGk%}~P14(P727uI^Axz$GRJZ-!}#@VhmJDx60Uf%R<Lm`*%
z4#v#scRNzce5zH+drv?ajsE(#qZKsOekGEGOYTDTlC*h8!|PaR*J41*-Loz9&)wd0
zX}9b!d!fW5+ZjvTn_wdHx$O#lAPFJdr6WPPGIZXlC;RI57Yb?6*&lT|0kd1&Z8O(&
zl1Z;60gXkwQsrO?_jQ7Jbe1{HZd-?QJ3^XVv+jkLl<_SnH(*MNzu%d3fBx|$ZwF^T
zkZ#g2s#Ay4MJlAd>=gHYF9%7CwRuU4^aJnYLx6Vabf&xL-wl^l^7vxnt6Q`L`mgkH
zd+BG)WV2}I`{N*5D9o#+{^Cxl38WYvy5|}nwIlOH=f7iact~v(Z*l9ep3ZVNle*9?
zPOiaDRwbvhA`aKrbTz}2;Udl6iSLqi!G&gm)s!FFQ0uMapH2I;$+lsF@#~*pA*dCd
zbkAcA`&JkbJrv|v*FIakR_vWNn@c-WL1Yf)l#s^+s4~KOzc|5p={$et4`RyfAR#WB
zL?%zL_<W_y$ZT_b{`PQf8Aw+sYKcO*=o{%(U%Lxccq?rz^Y_<;GGi-49g&PII2oX?
zZ$J5U_wS=dIKSfb^kY4%8i<YQwl5bLM85nt*bKSpfW(d1;A`IXE=)_nyt$B7a}Lmm
zQ2p29S|q{W%6Je8-TSPezM}*W$YMMNoV-KA_)^or(BF12*LzJ(kK#D0b!T3!J4@Wn
zCld6L|5%*9H00&}^ZVI(vJP(qZrlEd3*S-a1mlQ^sHQbwM&azX?{cTf$m8ffGo!Vi
zaPewx4(nlS#_%gjOSmLE7x3vUcW&`S?%D!&I1&~O=Y)`1{hIn?9#7NqRVT7&CQb@j
z+@MPkAB)>VVyKe1(n#_uA%X7$T&lN=ghYkh?Q8<&stlT|qp-1R$|CI}j~p&GIj5(x
zVPhnTWu0;8E=fgxj=!7NbP9Z`NRr@fimnrhs)QeS^aF&HGUx<|j5UR-%sNvRzC3|L
zN{!f-HMwpR7uhVQ*&QT?)3j3>uCS4spkR5yA4Nge6hUeb5%Vf3ozEMUI)y&bbe^c>
zo?8CLuxHLCWy_wG_#lb35>E#-G$VKBIjn(X{)NxZ&|$2uaC$!nHX&1jQL19BQwHK?
zVZB3C!-KMcx%7*6A08qj>m%>pThf1jH4DjUZQLpDyx`5*U*RdRWaOo5+@YviBAYYJ
zPu0ikPDR_^M9OV?2t0w0Pap!rpo5XGiB6$w3Hj~mEMzhq8X4j))ILD*QcdFNSAn~Z
zT+p1Yvb050zDAKi&uv4*!P!F_+ooJ9DcO^q?3%$#<PYm|k7V1P_VU7&K($*vjZWZF
zFr>oEjQb+HF<Flu)iUC~=xgYMK`)mMx0<}Z>S&#~SLScDUh*?OH%4dcPr42(ufqa3
zunkG`yUiGi&7O&S`1L9EA#@xa)tB-NAJAA^C#w6YrH}%&tFZp^QwQqa-x$p$FScs}
zbV5N}x&*W+eGWDnOT8SYG&je0v2Q~WJ=qVl%-VSZ=_1hG)xJKa;?H}#rzi~=8KkY+
z1|nZuJE_t!uG7BKu+}mZVf6oQJqEq>&RS7pEpb{6q-@3_JMKug(~^CL$Rv{iZ_cW(
z1k4L-b{tqE4qo`f6}K`{xVrcW_)kYyk3!s^5pNF=oZYy*8)fc2PZHyHFV@jm;{^$n
zJ#@ThNz6BY!Ps`lBL_$)be@zcOGH>VDtR+isaSYkCwR}&^TT9DF^@1wWmcUoMP8dB
zAKtKsU3@I45#D&Zu{mmv3zr&e9c}8~qFW-kPR{9B(L}>6rHrty{K2lix8hFN$uZM^
znTn<wALSbTY%w_Os-NCy!Kc}@vEHop+4D}z0>SKR+00=>={9-(^>tT<uON~UU>ipO
zkFc9tRr8C}YLk`BP-6Q7PDQge#;#h4>o+<eiXjG*`}*QG9tjS0oy}F;vpuy<eR>)e
z!!pEjamN-<=UGEwx~XR}?6IAfRL-?r2B$5RpH$}=E#}kdV<~pA_4p}w{(c{2`?ZKl
zvJ;f-1#^?M@?wTrNhjM7Rfc_*bq7XULpa9d32O0l2AS}dvG7VaFU~vb&d9GSnz^b|
zCPwIJ0bEI|8HKx2vWj%3wrKLFk8NJHu2}lmMT{qY3UP(i91=B6GFZR=tpZXPG{Muc
z(elL+fZ&&-hcLg55`VnN4O1#ScYnk_-kS5Ai|~zk@{<;sjOBc5Wv6vOGR8D10@|4i
zXE?uU4Fe{+`@boiYwn7hlD9kAr<}EE2I&`bvz;rf<NHItoBkarR2NMHgpUeA5I=7?
zN*lZ}O_uoY7_`Os;(U(llm5%ryQyX)XMZ*S4n9nqIGMT8(Ns!R<->2f$dgUF9%JHF
zvWA9F@vl`W_A<Vi@kK;+WsvH^*O>sBfypR<y{O6ZA?p>_&uyiHy?IOgAzPj_!ta#4
zFY?zFDv)BZP!cTp7sE?o_U+&eK@nb-<Zt^ct3_t);lWb$9!J19!)a?32c|HZ3{HNZ
z8ecbGFgzp%l{aD3Lb5Ye$)^p#VdBEYy6b6RVN36+MXQw=euR}rsGppZ6u_{ZRgo7r
zmEvW7B*JRY0|QYbr6SCFNgM0J(E979LSBznibIxu_tN&sn)kr!I~bl-yE$0c5^{s4
z#k~6|;iBVl=IL7YX^1}kJXr@>zB|h2cq2jOP6*?1%)9lM7uh9x{ifSC|0`|Nv=?{a
zG@#;(RS)Ss2K24U=Ypk7Z{8~oA?=1_ITxvg$K+LSP{O*<fR&LP_ki6hB~0!eC8O4o
ztLhf!SS>(GKmM&5%0M(g+M*mtpWVC-NW+xc6mM#?iFrK;Hg-?Q>IQci!C-|38(^?8
zUDzu1YC0s?3L<M5huCnCeU8^-kcD#+kaYT8EbPsfKL#+Q<_t308PdEQFsBJ;D!BiV
zXH1R5<diW_n}W%3vxg?=mhW+jp_nAr&gl{5paI_ZKKcx$P-9vjZe8$NT?Z688{7N~
zL<_mhYR2j7nt#sheXLo@*7JZ2tyFvKN6#7ld2w4X-w~?Pu;-0P%N)@%ui4PWuq5)z
zBtETf$bx!Bty^cO-VEO0T^$M=AVvoWkj`Nn=p+|e-dT4J!QhlVZ9Lq2c6XszWM^nS
zHfLTXD@0Ww2o54F7kj3XfYJVAU8qZSIyqnjw$+I~(%`1uF&ER}8FzMsvz15Msv~vG
zIV3mAk&U{ujQOS`b2sDkvV0d3`;{q1sJ|&>GGN_@2{$2QL{mM&3_Qe9vb{3nFpWLc
zw(M2^If%i#%~xP-HW&Ax|9z~%!va?4HI{CSb?EBBv28M<6Y}@+NHVHchK-HKPyQzX
z%dCemT_L(NlB~!AshfTz-%3)VlMcd!H*x26t$|^=n`?>z!s)T64fT>;t8-M@g<j;$
zpx+&<MIJM&GVc{n<qE*G{RrI8MGq4=>8C()I|H3%aaytZ_>!T1O=M8iB1!7Qs(7-V
z2aE&+Eo=?@q77A($tg4zI*ESozwae<r4TAc6F=E=2eyStYWk5P?E%}CD0@rNk!m*m
z&dhG)%cOvu)9L6K4fQiWJ~{{!`Cl)lC(Hxxfyd@SMSVllH~Iv=ZIhN-n3xLpD*Ml)
zq%g5{Z*%e2mxo**(We(G&xvjR1$?f%vA&aFw`rAoK?WV+{Ya`9$AH4bv;<h3VlsCp
zv&D=%CZ4Zf+?TZgy5<iuwC$G)j8?4{lfRg}DHG(XDRjf^|Jn~|R^x|AuFz_izI?H%
z?QhV6N<zcjXW<&*KGGlj)66hO;FNwv7M5luOHowfC9k>MRh;tS!)BGk&){X&fUU6Z
zJG#;=HO|+XB|D%W+oae6McvM`$H<Y432^8$Y_^j!6^U4WKx|(O3LlQWUbMvQT@gOv
z?1~k~HSc4d{`7)_>?FxOSElf!esxzj2A(%+^Yi5xI?P8$e(QyjP#F87S7Fyi=uOgH
zx*{!oj0laEh(Op#S>$Tt8ir|6H-CvqF^0h^kKfhEDi!oN)eAbk049)aPTt&3ZDvp2
z{<C=NflD<8d|D?y!+#yTc=lm$CzEZcqwMTwT~U?8N-=Jn7OS+)Da?$7Ygg`VH*Jfj
z_aX1h7&S=X&MdavxNw*c&Y0h#ALCT9letmDFjIIb+kLJYXB%!>cx*iTv}5Af`doYg
zT)l-~a|p&madoI>!ZVj0&Yl`=Sqf51g3fUhN=I2d-F<4$BxpXRXvM$)&)FXjWQvCS
z5YWR-CJ%0J`D~ieE|X2-n#arfkE2($+1bbDDm^v5Awim6_4A9h(WQ@h!R4}Y;qK}Q
zGoS7fDFU%R{d^q&u9zu0nw#IzJR}Pm7_+JM3H{7hC|J*YH(Pi_+dXlXHL49}#o4BR
zwjJ1JDX{+f>X`aj?FcUOlsO~cyD=2xbCA>s?F!hI%{k|z>*?_Fc{8&pGZncGhO;;`
z2j5@j3CX${Zvmthxn@0Nd)iDA<rJZwJgu79<#~&=E3rnfIdr}{h`auB<dBlDhn}W@
zu#17{c*jk1zOgEJq^vRB`L2@FvDc^kqOL|#acpniK72Q}XLXaJJiTM=%B!DlS}H=c
z@f?MIBV<{8yv_33(?-7*+K18#?mkxXk~G<>p29V#-63GlBE()}^^w`A%^{;H1@%$H
zpoH3<WM}M9;Bn@8K9pDOaJn0!9GTl_3aZ$o>s-(Qb>}21zoHi}7Ke}Kxs`9bVvRnv
z)0`)9$hU#nVFle>-{_UM%t+GfBs=2?a!tXJ=aaMB98izHQyrtyDj@0Jy6iJ_O0jYA
z*lvt9d!71pcL;ey;^x(%<Qq%qzeWJ*RuG8h9Cnzqd#zih004*78YgyEwQs2&Ra;J9
zkUUpzF@}ACb+<E{+d->$TZBrXE_;gOh;CZw-aRfXvx7c|X9dD0>m!w1uN~CmyqpSZ
zk~%?;Vbdm2Be|)tM)voon&^=vtRg7{C`rSQ(9z!rwW$;#fy1qCs+jP7yoI(2t5Ix5
zWzcX4$Bi?9J;Pm6Oa^W+4*sZb5>p_btUn9;JLXHl(N2@E32@ZioZFS9cZN9bCB`+h
z2>Zm^1y?LC+V|Y3_s?e6+A2OzQz!+qXSX%#bZFvX`fnq0EEspEOv{z7^3l=UrTlWO
z*JZf{WKc1UkY6+U?8u)ZNGvBa+m#|)7a+x517wfX#FJM0zV)VSzPre(TnVO?D3a2n
zk4M)Rf^(zWzpjzC1K2X!v}ul@luD>Udz#wTYqb6G@v0Ak$qYhuCK<ZsvOf{K-2^R+
z*_%riT=W~)TL&btR|7>4m}v#|i-Ta0E2N^u364I3VTKZ)X?aTI6z!^BcxU2_#FHn3
zglnozVy-B%#b7U*q9H>o%uJ98J-Ea8b8^gwJSoP~OteRfEPiQTzt5E@`Bnw0S1dgD
zU()|>kF7Q$(`;>p^!ff2!Sp*_SSm@=7(psJL9===(-_mkvaQK_aDA3-dRFw&7>)Yr
zY=db*ceD=1b~TaxFW~B^?~)UuT}?g?6c)<waKztm0g&*j`*_(dA4-L(tZW7HzV8rv
zI}#j=x@r6mMp2jpH!&NC;&=s@w8|cF#9b!p7ZH?O9#O;J`$AE`=`CUNra(5dRAK{U
zA=@m~AujFgXx;fMB|$9Ztx_Rv0UsmK8OYDF9EIl4JrP8sn`3vEe?KZ_Q(YRAkadBD
z>t5{?Cv||oWkq_iSz*&m|HXg^D7YgH95T$AI8T(tn+fmGYq=oK&Ty8Q-8_SddRd}+
zLOs?tLpztk{PsMQHe^ZG177d2CsWQ(4LGpsN$l%<s!rGSmw%ovBO;x^OM0iHv|beT
z>;zvoV>evWZ7P!RKltYFR2Han3h_T6w~9di*<QgxOadTYRRr69phbdKkTP%u^n}k@
zS81BtFcYP{rt&?+>F}8=a!jX}p0(c?7cyHBa)M0$`O3y$gM1R?yzt?DX4<L{vdDH4
z+1-5zALv(k;vTZ`%&!E)n6y>s#=l%Evv}^9ioiVfuyxOt+hoEoVV`+o+H~0Rg9I}W
zg#QfwYdN!DbNV)dVZ>PzM)soEpbKU^aq}LKFbFqr;~kI^u)Y1WiBcz=(&P?n%baFx
ziy})qvtTvlS3|URvNmAXik__O;7(_F2G^GA6U@lJcqs0XIGU_YtiprWO6=|rU#1%1
zH2R^rZY%?VbONn?-IzTmI>V@TX-Nx&I`Ko4dBc(Pc=6YZ?D6E4?)ds885o33Z42k*
z0$taQz&u|yot0x9!_47i)Mu;F<KODPcO6PG<_%EfP2K)EP6d1ss$G-1Rw&}`sNQZh
zLJ@~e(qD8r&+~89_9zI8Ic>8ag%C1*fAd=oaY`Oa@R_uvZ?Xn!QV4cjUqOIcds*0S
zsc3DH?i6ioM$5ud;)KpWz12b4e)@V+D-}zWP1HHY+l!dFhDGv?^gX_ezU4%ZZ4f>-
zW$zd6?e{%vro4umETgS2qdn0-edM0CTV(^!@4CTW5=T)J^r8(WHUcV~HocHkMzQX;
zaE?t`5ose@TLvrV_Hm}aaAsXnc8)oSikNVYv=CFmki>hdi1TOKrxI7~$~#QGSY79O
zW#GuYVl^KxbC=r>b(u;#!ezjGhi|N>ds}bYf`I%mt##W~jkvP~)E8eU(+lk9+OObZ
zvNjjp!P`W!{Qr_mm?&bR<?JoBXkXj4yu7qwulygz8q;>4h96D~m<x88Y$Fwk`U!m)
zw@kP!>pJDD<u|0iF8Ex%0~3wutTWn>TUv9yL=M-P#ZbB*fBXtY!*0{jI9rQQ&mO2^
zU1_LknUS<7{b*h8%1`x70i(DFMU6;{<IUdPp1$~c;QKYE4Jh(BGOQaAIs=VyD9$|W
z`0MFE7vB6PhTEML<`fB9*l(^~OuQlV3K;tR8(V2xoPy!g&Fe<Fa<603p5XXzTlupp
zT0(y&6AiCk9|seQ<H0__grurup1Nkf+{Mi-g(5ZN(~t4QJBUD^ZnTDmvOX$5(%upQ
zfH^Ls%YKjzc&Kq1^oi<sf4U=A8^zEIqTL+}Y*>grb<hJ!$)*94?SR0-tO%T1rD4Z0
z@j-cO5B8>915TAep7rpaM`;arG=e(z#4@LM_p1Rd{Zc)2J-g7-&TEr(8Y0bvCVo9;
zg+<=#ZHH&;o!OU};OXKic!XM~+=^1=sl7a;`D@sI5*FC3v^meMMXd$`eTLW^Il8rS
z6BFC&i-ZuA2v)q5hnK6(lCqw!4JnN!q{M@bm}FC#^d=9-CG!LEM=462AuF2?6P&+<
zfDA?bt&ug)QBJ<=uXl{_IoCS!-pvude7A!<g}2|>?_H!HZ6fUEqCJ?cmvwr~s1VW@
zr0GEGEnMz8O17dvlK4V=Em4^ho}XWY+d|lbxOq#<dR5D&1xtj9$;F?h=lfqB5A?V{
zS}Q;NrvksK9)2S_#*YUP>yZAQ<-3J4TOYWVN#pYlzLsy>!?%7IrrhQR2xrhsB8kab
zp_$?ulbxsj<t!dGt3h}Jy9TvFBu|Eb{By3R@!l?(k{Pp3&^S87K3nwT5Q$eVDL2F)
z=%$ROP|dRaan?r1D};nL3&F}<;b2TUE*be1`WM%FmAlVJjHM_U&sRiw;-{!%@clM&
zmRF(&M}n7n#x6jbw%Vrwpz*`^LBHNx)+E1=qNa2wsgBz-sHAy)6-Jvds)pRX%pU|!
z=l)D-)1&R2hWU5X^(fyC(}Yw9S2BqV$70G!$a^Kq!z-D{>W$3i*o0TMObREgfWJn^
zx#wBSK$9B+LX&!rBz9%orpL+1jEB+ByN%G4fkEvhlO`pRs)|3)WsW9--pQI<`8zt$
zH>K(WY9ge+4<vpP(r;?xQ5t2_N~awZgI{mSyV5Sa1h_xX6&7A6E67>PFW0~jf_KcL
z)zf9*EgmW1x3IlG)iW=rb18SdOh-edH7i6pL3_R~lOt4aeCeW&UMgPg&T-9yWjz?X
zyO2cq4$jyQsz$iyE2c^#(%D~Ed6Lk2G%;C!beD=dC`QmQrr;~(Bn6joyFdH9X(+Be
zC%uP$9oLXm$?`t<+^rt0Lw()RtaSO(%Dz3BCa7~yWURS7o&OzsG{UIjP(TP@d<x<#
zLxaW%5jI0phtU2}ZUWz_*F4Y=;7jRrR2)=^J^m->>ZQ_FoAd0hZ)mVTXywVgB@ei`
zwTYSJg)sTN{AB*U0WsukT+xmJapd${kN3}Zg;z*QVp`NT=QZJWg-TELBv55bI6mSX
z2wWt1n>WJ)|2%#&uUOXAp;jkU#_rnN{91f6*VMVa8$V~MNIOMM>l90qSlDYbXBm<x
z)+I!KCGl2C*vYX;px68cqJj&*SKl5?-KTY`X^l|HiXQ15qgRy&)d^|DOXU|!VQn9>
zz7NJEh|yr0Agr25gdJ+V;2P$YjGp0C9CMD`Iy<rDaNJ~^pDqGVv+5_)Nx$U&He1`J
zuVoos!7ygrL%-#7sJw=)<&Eg(A2XmFafitvhupD8nS=xu-zd$E&OV{PG#v#4rWD_G
zwqSpZp2NdzqGzQYbWoW-{@@ESXcnqN$Qc7DGI#<SDN2btqNb~yW`7;!r13RJr@L)S
zGZZTo=8uf0#e14@zBF%lF8H=H`ow3$QR8ubC&)@${KZrf)2*bzHygUnYC9Q~NRDXB
zz|125CY;_DnUH0?)eG?Et5=C|q%~^s90nm%VDujF^~oPo2~ek6az7JP*_8DPl((v{
zGW@)XvHB#{r1Z1Mp`vX1JlLk%b4W*PNl}nB4&B?3Ku?3d*?VYNI^3XLE2pjH9gH>8
z)-jmrWW@2#vTwbxwwT}1A(uI*cx}C~ik%B#y=qw^+spYB+@|`whVDy)uhM61#MFoe
zB~pyy;)yiSMI=QTm$UuLy$w6Gm5PZJ@s6yV0GR@q=-%<eaUEX^=atLi&ZJU9n2q{j
zR}|^O_<q`(yR9Wlo6F!Z$7%1rx)LL3?}hI*${RjoTJM#72x=30?877eO->Wto&e|j
z1l5+v__DrrM3<_VB|lAhtKO{A?NVbtP;K>3Pz<3-eo)N^spCaJ`0a=E@SmVvKymyO
z2JiA3+;p)N#u+R6#fBx}<R)gMu4;S>CA&-8vkqNHSH8H9lKwt*FkPETw_FGP>gcQT
zS6E`#&awFE^A>auDt3+B=JlOyL{H_C9O9Jb0rW7g@NWP!pZYKQ-IYa=GWVlc5d0lH
z!;EmYnN|8q$^ul)nS9?#Yy9a+4ri$cUN$QDY1%G)_1b3V0*$v<oP;~1bZT^3nmaZE
zDO`FrBn+IrJNwp$%$b01@&_Yb7KfpnAe9CZohJ_)xV?&u{oB(*pv>w=gIV<0yWE7!
z4A*n7)t3q9)bU1afn9b(;E+T*yS27SXX=7smh&>U<PGl*9n4T0L>;QvW9E3a7{N(Q
z{4G-VyyFco5$-3}hzFhC!FsIK!d(ju*=vfJsTvf4edLX|ufr$urE?kFvXASV<Vc{u
z@r5w|O9I4(Z?B^YaJTZEB)1VSr>*2xpmR-JA;M5TU-}qf>*X*%%gG46=b(fmn~btl
z_lhnpNsISPPow$_Ks!&eaG1m4xLX*=BlbH8eG1o=W3aBr-;4Ik8_Dzsfv%lKk7NqP
z4-+5nhBxvw#S>D)jdPP5xj%V+>|;%RK9Jm%YSSOkzbmo}DU!^ray17lu<5SW)hr_%
zqVCrY8VWBWT_`^FMEp@Dj$y8#r%O`eJxG=ocZ@SlTch_+y$iO=EJo%US9j(dPuF;<
z9FR(M`%)H5RM*sStocz5Em<+Vz6rwI6qg6gNIHd)2-bWO1KpA;HxmwMYCVR2oo|KV
ztJ6q(e&!u6L^B?1FBJp5>!qr0F-KrJKklGd&wl{vF$wR8;?^`O+1ci8tg>z<TU09y
zF|So_s1+ne)p(Q8xv<I%C~Oq>PoP+)bze_ZylPCkrNFnD45jP6V=>_=1(4+Z_!vNf
zdw=}PjmGkYiS&bEfTY!fn(Xt`1I6$S(nD5*r}aaxg<{i#sfCpC!>@(5+yUX}MdkoC
z-2v0`!&QUY=(FDeRRxjTf$a1{+5yw;1^3*6eisB$g8}QKuEl}yW7VVk0YyxNRtc_8
zgjWfTD*zD+p`b^)0+HWma>0lC6K=0pwH9G8;8G7-93)JSVg=GUfLD*cHNYnfP!da-
zjz$;GCKAGwk}s7fe^03#j{ME~B~zEDEMMwguJh1vRUumzrpz+N=+5Ylt?J07Y4&ij
z*bo%V=-$Sh#bR%|wLGlzqWfiUdNiG>7%`inIFVM>ZWJgvx0r^?C|Aguzgn&-7nW8h
z!)&0FnhZ*(-6JShjw*ebu9-K_>Jpe<&|<cmo87mex~aPP<5G2#inYBuq&*{AJf-kK
z(M6sj5@NfAo3+5*#J}1RYK%pj-Kko9`P&n#bBtIukMZ<n1`Wqhjd3kEmMrL)%Y0{R
z)6T#&WGSVvU}ZHl7af9Ew^F}UP5g3Q@(Ru{ZE$aJkIbgi27Ukf0(N4c>-98>i?|dj
z<f(3c%I7IM_{isJFc+7Cymg6CD_b#5>VlMiDdxHNd=-LS05Hqsdw8D9dEM!8r3JYW
ziS#pJS!vS?g&=8qnXdG38-qX2NYI~&ZhgsVfzYnsnMP^if);l$vtd~+Sp|crG2Ziq
z$SnHX`}@2`AN1HO;mUD}3uY@a1VIikhyo))VPorj5p;*Vo#J4fbdVgH{qWQbc^G`z
zS^}(MxqqVe{xBlB_8t6BHLL*F{R>7b6dg;hDhml4@s_BisHI>hI8V1?pZ3C>b1WRG
z0}@MbI{_FwHnnS@#yx~<?|Vt<B7UgipzNS&sCMW|&2L3Pq&+x2kgyMOeDr$~ZZ83N
z(if<~Ugw7Z7lscE+CZRth`TAsL%#>Z58V%666PO;47`DRY>^tT$Ol5vAmHlM&yhUu
zU_5&6Xp4Nodv^#Tx7@Wsbg!UBc~f?_FvUKgsDF>y$8!Y8C=}db?Qn*!=}8_dB9wO`
z1}-4>YgGexYIS=5)0^6D%|d_JaJonWYm{>to?i%5vB7BKe_#s*A-@@%W5LYC{a6YG
za1@FDp9*5gx&I^nf7zs<BklCW+JsB1j>_jmKEyKB1~#+!R6YuUVFZ-&510Q4!wCAT
zv{-mPsmSau7tfD2*jMQg>Q}@|2v8bzuJ(}Z=qucUKXm%=Vv%4|;f|#wlWQh}bfwj5
zgB+z+T*`<h%mhU(f5_(Z>>0>=8HGZ|cl$J)N!}od^y3l7^X5)+QPlqm=&=4TvvE>?
ztiv{OHqXR9uO&t=XFg8jM4ZmC5Q9q*4!<l2anavx9hzG26`{O~@P=;O4La#hh-5FV
zj{qIMFc3%RRA2d)bngel$b28geKoxRMzb+mlM8&Q5Zrcb5U`Zqn+R^d^niW=v&Rq3
z9&9yDxJFhmYd#O9mf#)EG1vIFEVRb;kd^;N#6YKFiEwXnJmrc<U55C{NwP6lyKY+a
z6`&a00v1D)LXwbHT@WTfflR56#TumoA8E|j9Q%FB*SxP(qOUZlG=Kv$9>%mG$S3tg
z)rLH?hCq%v&s(}U)%JJ!XJ6p>>SGFwDRCrds9!BGRi1(|RzGw%6jyH}6{KT15XJx*
zH#SRjkbH1GbSjiC)W!Egjy#fI6-a<*lILH49m9CPfe;@&3L>I3{LhEB>c6zjLAYll
zK2@!3a+1qmDlv?}X)ybl+xVIhxIRrlTnV*&u!64Gw55aiDBF|e%B2f@uzxZ5S@r1*
ztr_^Q8GzO5I<oqW*Tgakww$NsdOS$yPBX&Y)UwNfJa$x*%O8XO(;yk|iJ;{dX>uWw
zMCL}$A$BHqF2M2lsY}!?d=YdW1QQ9BOd!mPNQ_A8EsXc)J@^^_26~TU&*oqqV(-@;
z+8&E|7K5Mr!03=ZpI*<EIhZMKrRc@7_P2)f>SBg9e>0_0KM?T?aulUfh;=)q)(p%~
zrl6b2XERvRG7#N|5auc>Ws$o;sz_7JU(TpuRFP+A+r=j)E=pL8m6Oiba3~%6qiEAG
z<+Vm6D-aIOU~`33t$vbhy|Y%Z-?54?H*5yX25=;7NU8p+2P*XCb~vjq5m=E0z3!;C
zYJAQ;p;UM>sa_XQ<Vucj9B^epK@0st=K91<wXqs%;&ily7#NCh|DWPH7`W5GAjf_o
zE`8#x+E`gNaSGZ(RE+;WG30vnd&d9vE8oFumZ!SH(*M<LB(*AO@ptQC*v^^^TkzS0
zL-QspS$zysAV4A+f#Fo_NJdfSpYPz@GUolacYUnlaD$Mw>{C0Ie_pJh<Wdv)O>AQd
z!7qCgj&zw_*9Pq?K~*CVw7wr0V+OUS(#o3JL6iis&@TYs>-D7eCH(#EnL;{l7ev#I
zt!xS2cmZjO#Jti_eyu{Fw?C<u(;dk7Qs4-3VfQUeXTT4YtoG+MhVsCkfbpkh4xm^J
z2AbF!57O2Ia1%1G0Lx-`ZA0{+-tZf0L0>S!JVS*(#Ri%d;j5F>Dp~}BGWzhB$;3Hm
z`dx<d-m6Zu*JFcRjeNMZs3!kmF$NeKu}}6{pMT#B!ZcG74wZn2RN}36hSP2c0K0-L
z*?emlN|2`?O>7~;^j_J*<(MT~a_{kpo=u?8u|TSt2GIY(Uk&;b6M{ivEs6<1XnsIU
zUz_Yu-O7Y_o(Xro!$)H>U*kQ9W7c1ztn}Y@Q5w|jb}z$MH>c*<?C|J80W@hpFw|W`
zUX4MfaZPNeykO`&eLF~*OLZn&h!4IP#=k=6NQuOT;j7zLJopQA-oTy=O>7T`JaGeP
z{IM6<R6n`Hdyx{EqxT+B-JaoAzoK3Zzz*d|WQieVNhj{?QuA9mCfRi}**yUah!%!F
z5F^~cs*##4kj7Udq=FRIXaa_`viw&m6d-CN$sv`xF^q}tRWtHoSZf08k4Vn)@u(s1
z`hFBuQKi~jQl=76Q>K2ID_8!eqc*{24|5C3d1tjk903d_a^k6DZSF?uBeGg@n<27Z
zJdWU*V;O>s>%x%gAv#rn&kN?d_v4*4V=E^3cLCrOpzVGic>aCata<szB-$D*Hytut
zG;mWU(P!WI)9L52kVdX%Cfz@}X^a&<&}jXOEn_%GU_E5J-745-YbQuDnjF0^8KVKU
z4hV1GTsm5$MkrUP12Ja)Eu6wj(7%L{*mO$WZzaeyZ9mqKW$B?-n0<#%+!hT|3&0&}
zaSJfO>4foxFGQiFI568j>H_&(<uv*^19^>MOyT<)$ub$Cd^G!Ab>7Ti3QFK7Dj~N=
zXm_yyzBR#pKQ#MirveVydv6S2M$lBdk^k=%z<_&?caY+LFb(}rU6RMV_AR1E(ryvY
z5DwpG0=u7XOo1Gc&&W5-?hkN#lzT3NgrWPP386}%KF9%fYL~<uv|Z3eb#E<|dJvR8
zl?wEl1v<^aoIS-=|9vakWf|qZ3T4&{Rem#9h@fnEwM_<+0h8RD`KBbbgZEcTE!=&Z
zK#x6d4IC#Q9Ixt;;kKvvQeU~wk<<Wn&uY+Q5M$7J&?8jtXHjTY=*)jDu<*nB8v&u4
z1m;Npv3lM5pVfak-BfJ%(4<GixK$jMCrRssZ1=i6Q^9oU{-+>`Jt)(DmMi&G*le`;
z@D40gD;`b%HCkK(6CFO^7c6Xf0HXX1OakJymMZ@x$oX6!cW=9a9-s5MFL<xDo1-s{
zGGZZ8W(fYj6X)JN&Rr0(C$dx>7`b9ZTP^5;O!-*YiON6l0R&ti7ouv=-=H#Z!{6Q@
zZpx|_6YpQu45F<}T+k`Lt+k_o2NHCvv!0U*NzE0BTs8?I*Z*{@<EKX)1@Jow^G|4n
z%Riw5p@hgIdcW{@CL?dS_mBqd2De9NU<M@ysRqps)^&w{BUa2}h9n{N={u3_)UGX3
zZSPk65|)9*F#Vn(gKeQpXq8UNytL%45|OUrh!^-&zYyX;U1acDrR)OCF!I48aiPtL
zpyEU3ylZPX|2iKMA=vJOw(<`N%87F@l&ei6DwBgINeFWyghqwRgtj1OAZz{v_AZ8i
zH$@cziTMN*Nt{Xe{&@O5qtsy{NAN(4VpTlh{?FW)FFnv5)WaKw7~~CIIgJM|2pJND
zQ^@ca5r8f_{?ETjDlUfA;#dm6Awi`cLDoC|C02Ttx*hEsG-pBtcKqYX6<CbF>pC7}
zjF<O_H+!{)eA)M3MK+P5zW0y%21G`9Mm*6)WIc9FE+H~0;yUd{(nz*p*VY=_Kt`kt
z$3R9Om^2W%?P!K0ZPaL67i9#x!~yjQ<Z_(5v)|<(ROKz;3gIhZ&+v6{bx4b!P<7wf
zX^(plbnq$k+x&4k|80K$Z{94TXp-nWRnI@~(QBXJc6c}J=Cl9fz0GI;GYEJ8{xb-}
zd9Aw)6CQR1v1e$NMgJLwC2oz-6>YufTK2koEn)3M!@$2XeXl<{tY(q*TIjg?KAqB?
z{XZh&KnpG*-T<J*>Y=ulg6#tzsi@9O{$>{@juaf+WPhpy9YRs@FriRoPpaK1R$R(r
z>nO88#L`glkW+*H7eKVbbq*m0k=z~f4DsLnx`Eu28q`ttAS^#eFyP<Q9CQf<4+SEJ
zAoG)Wi@y7FgmVP*e0?L5$6VA4`tK;>gwjd0JzZg4JXI#F5H}S6KbJ%LpBI9h9tzRq
zkP+n=`D~C8C5VzUA`2p%qOsE;9XVUr|9;Bs{vO57Qq0;-9sf9w<lPU_3YlBc-kJV;
z<RW@3V~TYNJIaA&Wy+z*aOGPtfIYO09gR#I6@_fd!NoA)HM)j7=snmH3j7KEbDPv#
zfE6*nJ^1H;f1+{se+*CT(@pFx_U^|K{fzs<?8gBkXEe=_ja3pC;)7h5KyFEo*bscW
zfqjN|mlhbh2?~V&@5NwSTmJqNX>E(|clGV`8-GYFgvEt3!Y0!y^Lz0U{&Ka-db?Fr
zy7}VZ-*jPd)cAH6A_$a32(VuQ&Iuw>IGPq#7W;;pO-pN{8gG_;s;SUWChdWsCf=6%
zIvK=BJgc?4W^U<|A0OS&Kf;<_fc#fi7W_JG(@x*CEHlRryqOl$PqiqIs^K1Ac9vv#
z)o4f-8rf(i0N4blW7YAK`?hCEyN8SfnxVy|XUPvTd&i=<fmtnVR8`o4nu#{Iz3QZT
zFi%zcaB(20RN!S2)9)k+-q&R>)!T(;lxYCYE1(4cdmQqsD<`v{u@I*+iP601{zsQP
z?+MsuF7&-Wf@neGh8!0NRG%{gL~x&MEga9Zws4>IHH0e)4`eo!N9(-KRVmU1G;}X>
zA~wW~|DOY-0MZ>w4yfpf(b~CG-zW)N*i0zHT4d<|tG%~?i>iAYMJ+^05fG445s~gL
zk&-Uy7U>we83a@sq&uV$=^=(jN@5tgOJZmS7;>mHh`z7y|9;=O-}&9|p6}dq&+oV9
zSx>FC_u8}KS!+FOZ+1DxG;0gX{bJ_g=<|$Kza0B)tzxnD7_<8Oh3e9?O5}_KciRR#
z?R>fU$`%UVZn&!`syi0E)uD^p6IulqXp|Sean_@z`UvZI)zOSm&HyAbEi^&%;NG8N
zWYV(Vve{86PN%5X7FhVSH*G&ME#NX`y)sJ~=^dqyTl0c@<$8VkmgY30g~gwR>ER;8
zeb-Gk5$V`R>l*F~thWny)!SJZNcCt%(E9EQSj<pSo#`sWY|MWMer16hp4X$N%~A;g
zh=w>91?L?Y6PTg9hXK%vMT)NIz_P=D7S4JFwQy8i@HAI>Yl*_nsd7jMLg+Qr*9EpV
z;3vM(Vu0?NJdt6*?RrDtZt4vMKS5AQT;fR+(Ds^uXoAQ#1CQ8Q%iJ9vj4&Vk=!9Fj
zP3A1^^{pbh4l`8euV0(a7?ItI<J+T9Y3A@Rv%bmLhqIQ5ph!@SX?fbrnb8}QX(>kD
zR$$z!LG{pB28rLUa#8*<H<y#`$u#wGT3mul=*oWO936?<NPyl4-^0jWg4EIPJ^X^D
z5+*Zx&2sHOIyvWU<(6NiX;E45-KvtI)S<GVgLOX#Neo#<>`~b5J|wAVr`DBlFSad{
z;22(Cv#<y?L&`K~W)+x!4nF`5L~@moWBC}C+zjc9TmU`AaQ35VikhR{<`@&T^e{K2
z9K*$VXZoD|PAZyzb+DoBEi$x@rn_6l_mgkrHWRxLptH+bo95&%?H8}#1>}tA7+Q4W
zM(VAVw2uaK1)1ZhLT+oNlcT=*{H4S~p0-NLcU^1=+BO>46;$J_MMD=Sg?wmek`h7@
z#Aow0Dm8D_>7!(r&AsW-z(n_vXFJDyZe4wBNu9HFbYB-}0VyFY{!eqmGWXLl9sMZ!
zFu81F(;Tm1`4;MwVq4MBpej4gF29tE58gyy%P_mF;Fru#pw^+&n^}Wo6ZWLlJ)aMa
zBP#t?7kSV|F=-Sq^^C|KYBKjWI=R=|W~{EahOQekIVWo~pX%^}^^T;@)Aql$G)g5v
z*q92rD+7c_F-eUt>Qk3L?DzDpw=KJ?QE1%SibyR>wFB0>R-@MGbk?~uzPlSLtQVu}
zrjzcy(<^DNmeE?GA;0E#RgX|hh7xAWb`uZKYMb%rq_zoMA8vd;s|SJq&BoXQC7{l2
z=7~37>$g(T&Vyop3(4OUFt9lGTV!y0E}TEd=1&)i!`Dnot~KB+z618KJF4e7)k{r;
z6LJ>3ISdL5s=B*;IKS!9HVl<M4qbdJrQe|L=&5B}5E1EEoR`V#L{|9gMio;$i+}v{
zKC5F7Y{0Skt2eWT3l8UpJ(lDvAP>y><K@FtSVT{Gnew28Bm)Zi1Vdi$u#n~-_f*;#
zb}Q0M0&vTzQ)no@8^Edka#OK9;~!J4#rO^njT`VhV{?55`E;IVJkj*CW5Qv1c~(C(
zj(*^GbM77wR@l4DIb!048atMjp$RrQ$mn^};~Gm3Wi)p2aczjKlA6-!-Gq$SJ78I0
zd3W^q52t4P9gUo+h}hz%(~kr>REjcIdE#Mx53SPCCPdEK7^C#3xV~2m^kCaFijzO)
z&I@kmW+AmvWR^nmQ8`)o^#lUsZCGMS$9=g;n5B9P2jaK`2KAzoCymL=L`<Y)*6Or1
zrXNX9+uHc`#Nad+E-n&lDr*<*RL(gMxU~o9h|l_uKU#N#jMF0KZfCyOn>Luj-O4z%
zG14h{m5Rwl+}1A7Yl*AzO*6ZF(AT(KMH#ARe_*Eu?th}utQpg8N86YdDG3g?*eZ?n
z_`1NfCPK7wTQHr-ibaoX`jJgP|9%ucs@l*WPTsEcd(496{4OPW<3{*k@AEP2)N2a9
zxlMxxxQ7Fn>RtxIJl7iN538Dw@O4sHxn51)ZZ1#eZ>|5UPakU#F|lCey({lCXn@r|
zKSu+>%V%#Hs{PKfKV_u?f70<<2=|lFE9Bgb{dQ&lvP6s=-XUEsTN2)@zZ<`<Ux`LY
z6KBnXlhn1?B(vJl53Ho~#Wl3rCi940b6aa*v{UO%<`E)nOk!tw-M7kjttWI|wgVix
zv0^iHwz(5J-ve#qeux}>%N@iHPaOLW2q0}s(3*6nl4A)+B51)aX3<E@w}K@~0&a10
zOe99!K{SNHt+=FZQCck&3ys-XuFAVI+00f13KrNNyfxu!F)DsxH7GGu+Ff{`Ec<L&
zrz)1s3Dij8=ws7&(_O?%)F{(c8Q!lTf7v;Jz}QxC{g)h8Eay+NQk_iOJewiD({p#X
zpSofQU>`K0J~Fm>^Q8IuwywoFzUytWTTuJ0dm-4r21U|~=VbDV_E#NVNL#Z)qL%4x
zRI3E9NhuA!hM}IF8C{hO`NWskERfGkWj@_x?nHk*y3fl@F0wLbu;{h;r`3T~bzD2K
zqtEOz2`5`mbdy>`6C32W-r##YM4<qguq`XA``qXD7E#r9fs4iSE7R?t1Lfx1ou#^E
z>5VG`=($!KIu@S^fTaZToovt%-^ZIPoPBCLY3I#K1?a8sqd$|8zdOnpqiGc73U`u%
zXJRiczW$^_n>zk<W)M}`Y&e}pl*__KM*Nuiu-#uUj~UbnHAvOvx-8PrpsWS8tpaQ-
zbWsE1jcfe0<7gDidVh|2Qvl{wp%O~6YqOjJok^`ui4>QXLo(-8yXC<F;Ipt_Rk5P^
zbfk4um`^0ibm-ncT#=jSUfNF2_v~7siN{zYeUs!WY87=P2Q7Ow+3aYaJQrHVMg;wi
zqzU#aXE=bA#mAMm8ZpZm2NuUBcfX+#4vt_9cDYkN)(O2&loDbb=rBQ@Lhto7*c8fO
z*IS)lL|N9#=>N1a-r?}O#ZPVu_flR1ZWOf;ShZvz?-M-*VX;Xd_ud+IJ2t*%2$$x@
z57Scrv^EOh1COI$1a+c?%%6n?RmM3V_?*pMbN$HXH>YVEP)mGUvPsDnD;c%R+e~Zw
zFvL#MPVsQNTuhQN&B!7Jy*V4Fe(<%TOHJ9>YS)`^`e4B#hMBGIH{>yGd=~6R-%Q%y
zLu#PB6`FgyvNj`L@>2Sy(NaivL#OhPySkAM1ygM%B={3FT)|-<l>N3?tYTSz-0oE3
z<PJ_$jf|pQ1DMcwmp?D4SgmDBa;nml?xIs?(NC@B?*4A8v5Wb(0;~z6g^W|vS3%gM
z9bW<QObJOXZygf1*{cQayeDIfahf*Sc@Y~uOW$Ml0QXd6BEM0_2BsSanSY<+dt&T7
z$p9Q<(tu14+k?Vt^L~v9eI0^GDfFgCV_hkgKAVg0n^?v~fHbS9#xok~J6&RTWehoh
z{7*JNq+QjF581*#rq6}%q-KA7+)I92(f~+6c9Z7$udXK+)%C~~Y6?EXNYqlO%(sBW
zcO6_;fiIz|29whYI6pm%Fo}eoYrXdiS;g<F!4?-7N9NAxAYCDUf9i>lELT+kE@3g3
zJJcGFQfooG)kD3#s-&Y@{M6x<qU1-$c}hWg%BjbxQ{R}0v|DKgeUT?^4|W167^&*x
zKwI24cmT6bX%gY8lJ#nFozJ6uy{iBC*R$gI{xs`a3H_V#Y%hzzV|ms38AJS#^z9Fv
z@v2IKt3RA&Gj1?j<DJKFlbZQBE4tuSH6b3jo|oBrm^H^`>r<v(qOQB$0}B{YTlnYv
z5^(%;!s1xgO(7EOnb=cHk?HFV3hrlKm|IbLnHs+>UP`QYB3Bj}{>F`Rxwe}IiK3GR
zH{*Es)_#q@+xo74E(M@Mmu9v0yux<u_LxlVQ194rQ+oKhHK!2zjG2y+P0Y?0I}3V5
zuNq1I-js)N^bDQCV|96(Vg1K6m0c>w5M_z>+fvI9Y3&_rOG;w|Hw)*hMyXBF_h$iF
zj1zQ41(C^uI@z)kp9|}X8&umfT9i$}J-ym(=K1q;^dTqD?B5%Td&N;nT4>`#o6~p&
z7M5R0wGk7e50YukTv~h_xqDMjo2``{rdzr4HFqrRdb#?Gj;6T!<#+friL9dzDAH!y
z0kV@>suUt;XEsT$Qml~A%M(q;ID*|ztkF?(3JlopxdszFe5uSMivDa5sln7Zy1YyO
zf~k=PhG7&W-tM2(LxK8sS4@HMW9qKZBsBWw%x|VedqRbu{T)1b3x3*Ek8O#`u1hwv
zvPf9lDSA)$#>{+n%JD_EYcT=7F6~}L(s0}4$zA~Kq_K`1SCtG@b*O3wu_zBn?TX@8
z9ZDG!Sm1ktiFgkc0LO8o#dHb)2_aFjmcXBeu{lm*Gpe|{EVD;>cAiQN2emT0*tvFW
zwE7-tS;bsAD!ay;do_zXMmp>%%vkh#m?(#=HO~b^G#E;(pA0w+-ub-f+0U&RW`low
zSLw0-gnL|igUr{`PeJ^l`}U4;AYOe(H&Oc_<AWX|C#_riqcfhsO$ayeZ5_Q6MfOLF
zq7!^7Cqto!O9&fVA^7d(UlDuP(x0JQTD6!><Sc5AfCqc+D3<xlYK5{03Hp0%(&`Yh
zU=X=1O~+k5xT}$f5d86-G|IyJ@;&*&uYi$rIJ!UX=%K9@Kjn8Fb@$&!WEfC9H=3I#
z{}u>?U#D-9w%fp2rCmq62u`LbQAfgX3}2L@MhO46u!+Z5&wm<pJWK)`_lhl2>{tee
zPW^I5m>u#!eW)kalRC(seKv@X0zsplJe5&;bt-kEk2Pp1CTX4M+EH_*Sdh;HGa`mQ
z*4a9JTd{56g6;0jRy%<gWF0s6meBXGlO1qbCWNoa;NB4q5;tJ2MrVk#6nvyUx;t!u
zdt7hu^Y0OzW8t|G=4)gS@^IcDC!be_JW(EvvwiXU8(E4+KO^VW+7G_!K73o7k+B!e
zQ`8jR><ySe=g$jF=F7pptSmS=yn76n&ATsoz#;0Ei_F==LTxrsywJO9NIwRoy*89-
zjsvOsd8?7-K{P>&3~dEVouF69-Q{`lkj~41Jb$P8)azh2CwQ!Y_Q^<oK<@ODYR1R{
zhKOY8E_ht+^T_>9!{$E>JCsG2dL6yF{AyCEGRHx@5M-w~8%=-T8~6%kWVpP&=@j-U
z*JZ$&C54P8&jUw%gO^~v_QgUQlIc@=nGzOhTgfE|X=-E3A&)&RY)9t5Nnq@Lnu0sS
zyr9Z@qSUsnf+gHmSFGA&^P+S+lefdTi1q=H;O}Y4<>J8HBi9E%ThGts03B8wSbU;G
z-%vp=?;eG9`mV}X0PNKSPEORqEeLIW@zZ8OzH^1G{s?_V-BQU8L8-|Xn9+EEviDW8
zGOpdA_xqxOwqyKCPrRH%$?9YGoXWJA@Ng8u;_k_)KFOTI_N{TJjbN214e;FTrmn+N
ze?oPU6saa8^R}l^b*(t3mm=)IUhV2nB|{A@mxJ-pY@{^tuuK-SrFDLK!>ZP|q#|nM
zZC}v%RR`jWOj639+LuwuwjT}RlZYuZRqcAECk<yJ#I2*%kOPJ|lIcie=cBq;%aWh}
z--2!h+l(rG<~f_;{$0ByA+)%=1&Jd&B_W47T}Q@svKn5ZEa7`NJ9;Dta}ty}V|8l(
zB_shPd(;z|Sdd@nzx%t^4YB;PibSk`wmFkT_t$A{U9J!47qCm&X717Bf2=tB%S2Ri
zu_<QR-dfZ%e4&&HIw*^sq~A9S!v?*mofD#M^s-2cRv%KbOJg~hjXZzvYM;iEv%0<*
zc5v5de8;QZ{)aWCN8m|oLOuS;(WX-xizbb6r3zcPgUdVI?_Qfxs?x=%3EW9*LE=nH
zh4gpY>`FH2ttB(gWr|$bA2kkF9lrGS=O7MMG`S~$iDNhYd#XRd^3$wKcBmlQSilB(
zoodx6><tuT`I_Sx58P&Qc<%A5B(LkcNLVk!2XA^crc=r^Cetk@qH|8K6kENbMz^~&
z(psrTIbCk+#X9kgBGPLPa=blpEuLVOS^8?3ROv3m1~ORpA3(1$!!A4PFsdl0$FA$o
z^(!+eW_9>admYOdHQAZFxBu5%2cgBQ6`d)51qw3lLC+<F?NJZhG+U`xIy1Sn3Keuf
ziq9CYnvQGc!ngxrMjPiKVaA6H0Zo}+n${nLUkB-kS?T5)Z@}o^AFnzfL8W4f9g7$V
z3q{eMno82h>$Y*W+K*2y6W;U=Oow31-2Zy-yh4_wIxcc4`s*WIDeDs{^})!6p?iN$
z^Q}?eF#dCzuj6txGTG`#%wf#T7R;U1WAwkA6vl2hGfh5~Rq0-icb7z$6Ra8f%&34i
zNY+(|suBFInR$wj+4D!Do@&r)Wyz}sJqVg$rpwl^dur|lC|5>)$T2>9X1+-jGeGr_
zTGA<>K)0P*-$RT#)16u{<GwiEDqhT9fV8_9HQ<Hn0M*~5)@zhc4ZvKDjY$<1f-n-j
z|1$4l_Xa-xT{F5hML~wY?tIEs%OWWq<!g!>R@(DLP?r(Rh>Ve?hRdq$_P)*DF7~_}
z&zJgsHAikfcj)G*%e9=tb^dF<HPYiy{`V&z3<baN-#i&78H3h=)4p$=eU&&^K%B9F
zDW4s#$31zfD^e5b$XP*~cJjkPc;OV-etZ^!I3Za+Y*_~WP=RhP1$m)9(7gATq0WWn
zSA#PJ<+BxDZ#w&yTWRRaM{{McbI40M?E`0G$D#3!X;tS3h>=;KSBuC|DXQ(G0~|e>
z&daJnEUU(;Qu_U-pT_8sSWoiG5%kEZ$7VMf6;t`&2!AS{fS$eDUfs!TzpV)%<K%is
zV<Z_WH{X;ghEP=z<y0CQ7Bf`G|DY>J;Qa3p5N5VtIuK^Z|9frH!vBuWX{-_iKq4IB
z(Fn+honFwg(~Z+Pu~{fw)f&r-Ir$PaeBVu%{&4t7wPyQ!EpYLMYvI&~3?cTB`6?|i
zW_Z^A$^D9XzC!DKQC8J$a)~4tV(Xa*`l7hx$yQ;wnWJ|XKk{RI*7~n?i9NsTEO)L}
zB7Akzfsh4qu#5O+47`ti_Ooz<sP|VYy{}=erF;ip*A~s!6Ib~Rjl>kwnAZY`3N9tH
z4(qN-RhJ6$ZNGVc5estP_-6JCsVvej6=pQQEa=Yikq}mdNQ4gKajHoUX^=Pe4qag>
zwguLR{!}%sf#2&QcoPnZNRKAHiN4E~r1ZbjC>c44{guH#2*CCTDz}buTk?Of{~|hO
zJpPu1OYEDy{tfC_^?sv&Gyj*u7GF{kJp}iC{~*D{Vc#FFWA+cm=LpQu|0P&cW{VP3
z+z-M1-$NyA-WW~)Npjd{Mv#X7L*u`SC1AEFLWTR#t?#>^1VuaFZ;WF%Jpw)SAHx4q
z7V|^5{_nvOdK|kM5pkuxzc8ZEI<rM_sy~JQrK~)ksxJ>+3%>X)kKaz!CPnQp%;kT%
zu0}d0Wj3c-;j^578#rodP@L`)@a=Z00%^d!)tvg=?NnvbF?zF0cD?WI1B{1%6VA|w
zb0ybtNPmLA*{B4r($;gd6+XE`KT}Uy834+CQVwoAPh4jDD5(6G<njtvYBMetb6&Z(
ze?~Nv5ip@A5U<wwlK|F3Jfp1zh$ki9lF*FKE?z&3Dr2gHDLXvC{*v{i%S$Z!B;fgB
z>Fhd6ASnjE6tF4^rBZpK1asq(4B+s?1Ft%f#Rcpql<?2TuDFm64>O^eN4q=8>kGW2
z9S%j|%Q}=$uu!Ulm%uVIfcg+mW{WCz>N2H<{l5wp4jm~Qb5D*0r+>*y7lqz*dbLKL
zpc3wceG1o~yd+#F_CJSRCjV3Xk9?IDg)+XA?s!tA0$LHFt_>0KOA-RJ0n4Oz9#l4f
z*3HoBdb}#``2&fmnE;GGiOIh-S{Z)H|7QJ>=-+30a$RNnmxdh6$StG)Iso%$6%IKz
z>|sVsYv-gL_d-3FO&bvGv&RYW(;gQfj9(a$a>e#{5H3%pgq^X#{oO9H^RsQZzqhbM
zS{fKyJS!ao>h%H=>|_Q|il088H>KFi3{G?Fg9@ymP<C8o0{U5x9}p%Yj7X;>KU-Om
zloaMe_V<T}0Uh@;Gyl6RaY<{$)4ad5**%a-gHYFb(}TUtd`h`9vo%Q-;Y4KrkZ@*x
z?`I%PQP?3bjhExy$aN4-y3-4gPy)e=^=n$_eSE)I*9vc%k^g^!weMX*HTo5AuoLo-
zmC?202cE2h*~I0F%Qi7UgmQs##YnlVo2Q+$u){TTpBP?7v7kHhXchx=x3J{V`Q7=n
ze-9)-vRt?fy?5t-qp5f26E0b)cgwhNP+>mm5zgKDPyY%E<{zQL8oH8j08(TK_x@wz
zr!QGvy*K!Dr}+_{uSmbv<kdQOh+3P-FyE_1gHNh<_X_<^kq;I}s~+j=V(t!C{Eq0*
zm3RZXL|)raM}lHr4XCB+Xaz>vP)pauJYQ9NBBlL{D29OUQ%_4rJJR>Z73TFxdpgqZ
z^cS{DR^6wZ{)14R_=EU|<R3)RIL5_aiH(2elw5h=;b&sj+`?8A@l&5P8PqKGKNs*P
zgIc71gY{7{>WlJ4dg0BzC1<2PzfJ`vYFafyF^yxi`E6`4vN)uoMT0-2Vz78}b#$|2
zRKC$BSHJ3t+FN%<I`N;?qyVR{*e#y?^|dK8(_t8!d42x?AvZV8`okWe0F&0r@MM#-
z{Y%sq$fL$6M<U`M4f2D%6eV#UtC!PF+W?2(3&Pd4S3VL`s23KqRJ?tb7gWWr2Fmo{
zuc=~x144xbA7_ESF!YI?7yJ}v9XB`GDf(EmQhtS}@3~*PQvC*X3WVQCAJ^giZw1;(
z4eRiJgPGF13!yACcm8(*M;FIQcgT6NZu&cJ$K>LW4K&wkkRN6F1x%oDA9}ucH~wu=
zbantbaHR>C{OGf2Dg%K-^X5=2`qnj<F7}t`fG($dJ426)6d8V)(XO)DGHb{;)MWT^
z2k|d<zASzCb)n|Bo5L4wK3j40qLn5>@}7;$P@Qp8-El4m$K(J<ryq4KTXBDZnCB9I
zxcH!^L*wXcRbG5Yl?wjn<k+2;em*~aeB_&&p7NmG95e`-m~XEh%Cro@NgiyD^W?LY
zNAF$zw2a4?dA`~tOn#Jm^TKg14d-;w$D40k0sZ_~!K;?-JPqlbjao75|JenHM;}ue
zpT9~FR)+mV`LcTqn+sk{XRf?mTz%Vf85Y5rQT;hl%VF}V{CsX(E0?rg&VMN2<wT)^
zUFJU%|CQ6*w=4gn;qu}UpQBhmUuHS9AqJ8Ep@Xo#^cUDXN!dG-M*?ZQ8f6xq-73DZ
z&;6ANwDL0ee+e+4fh+QJi>c!G9o<pb!b_c^Vmk;sRd~-`g+iDT0#=eH2l0%++xU-7
zcwhF|zmH$K!`hAKd`{KMAQ_+;cCV1^u@>)3ko|kJr91sOco{KNV)T*$YX2hW`d5Lk
z^WU89cGvfJmhRwn;XR3_5_>Kgpcr=VGuh*pyf5F|{}KT81GZ0I{;hS|aPJ@Te>dU(
z1HtyX=-(H-x~*+B&-YdHR2$1;W6;3w0fj=PS9^--65SF3v1iOrZkz{e_$|zXHaZvP
zImErncTmTiI|63~<WFIC^W5S1jc&<DkOg~PM!==dmc>tQrm}+!105&59^)CeG(^cF
zOxYniF>{D48<scpb?IkKisGw)+2kMN4o)kVXH<fd5^MAS0NNHKyIg%YHq)h2v=Ddm
z!Lr+Qij$tci3*C#ch>|&QfTrJ?}zfKuX36I^+qY1s%~Tr<>xu2X7xsa4xVzRWx=9`
zJR=hoq#?g{+VWK_g|Zv%6w(G}tI;ZYRfgPx_!N|uY1ahAQ*!qXHEGQ+3y?UJ<COX=
z^^jwyE;qYkv_oD6VQwKL2g%Jp=BTaC&A;H-PkXj@z)@PC8@MSbX9YKZ<DuXXGpLj8
z?>b2_Z|z}ggu7EI*y?&vGC9?90umIPIJjp%DVk-C8&Ua_Fq#xSHNge69NaUSY?&+(
ztizrZ4Y9^$trR?cHr4|0y^MY{)<%C}tz(z!S42HBbT3fvOrj=TNOYgg=-|Hiq)d+$
zGi!N$YtO-b_Q`_T`*A;?p0C%+n17hp*Q%4e!te=XK<6gav#N02J)t#t=J^%a+Z3G@
zx&*+p?i;8Lp0y_68a(&>3hZr4&H{@DpsGl)w6OZB<PMMkKH5nB$Z6sQ>g{AWbH~>O
zgx@vX)UkU<k7L_*y@;oY5WRZ-nmXBB&>zefjl}8tSbfa5SBT)d!$_B7i?do!$vxeM
zsdFZM8}B$kWn(w@<V6;og62$WR`3DpI55}6Qz*H@_wT8&KC;UO-ON5g^&q*Q;&HV~
zSK4QYsTqP~!uexmiqf(S2}(YHiso0-B}Xx&T9mG5r?}=Ot+-B-l`67!33S0yQYf7=
zdl{huyq)D<3$eQN23*hBhrP-znif1V*ruGjx?xu(!fWFdBUrxIK>p;7T|hwFW6j58
zVYql;Ua^p-dw3+Gtu#1zX*^=5uzL#HqGBCbc#XW5#7>fED*)#gL0|fKp4&fQmh1`8
zA>at|ZxQoglYp_H$7-6Qt>C}%2>hLg=ls2$--PVm9!vjV%Qw*zu%RpQNB{p!F#pv*
zu$%&wXGWoaVC5z9>k9qwDB19pL#bPw1E#kqB<2kN6M<MG$&<r3H)H(q&g=uSHVycA
z<@?@WUow2{`YJFK12<@*T;hiz0mXkN_<&wdM4BfMf`Oa()2C4c|8}%Lt1GdeKdVIl
zRs56qe-jW<#3qvxQ4kd0-k<4Mnu&tgxv3?_CbJDJvAKlc^9%R75VnJ7?Y3N!Pso>n
z9sd!up^Am+Fo`bjkiS=d`eEG3@W^Eq_Jc)Na!J|xj*Z=YV?-0+l=6tq**9<OZpIs$
zfS{DD#i!IX*>9aaBO{}tlP{@UVyPTdu<a#q82md3ItEejiO(iy0OVz`2~`G_{pN?u
z){=5Qnp?#G1hEf6A(tC(1|cgk#QpTUo=ghWtTO=tfgZRD?Ewwpc=$wA&zK}+bwc8+
ziGg7#a$))-F{>TxoB1~zFWLhFgYh~EsUqpy-5D;GxJlmBO+HwduKcCa+S-Ov*|E{S
zOn#N>Z<fpC8x-Nn{<uBqF6)eJz>dkw5N`ZSUciqaycR;LkMt5)>X#|uPg`A+o?l*|
z3hzx_=sharGl@MpS@)na(_ikb3)^J=%RKt3K`qW?l?x^0{+m2j9ftfklXhca|0XM$
z8+YO8G0w6bPk4(PS?_`^g+GEPx#Nex{}`*IeIHJQNryVS72e`W23ugE^grh5=`a++
z`ORXN^_rw<slyl&JjPPtg|eVty;8eF0-Mfq;udNdnm)o(aamyRku!K;e8g6s4?lhz
zkF2!*2qy2z?7`Vpjl)uz-R@-B$4<j?V9tXh-o_Iysz;8{G-H(~#ttcY|8{||Sx+^*
za$b^7ntU-m-pz99)`ptXMe079_2vp6ocMF^^Kh(N@K0~AJGVdn^7}C`x<BON!`5TY
za+}6Z(PfTZR#muV$jkM|)KKDa7s%}$nHTf(me;~><53&XMA3#5FQ)yWELWS0D2&5N
zFwGq0KM|i`zUG-?u7|mn9P<-fE2c{@L0gp$TiZxBr^uBh*to6mj;2{<&ivBD4*KrW
z=j^AW^-ou`HrEW*9M}p<b!|;>5ah$hZ<_dP&vj^=cM$cP94cNjPEz+l64{i?dDZlA
zIW_W44xO!8sT>xR%bn@DROZ)?jOT1=nI_d(rdY2PIsIQ5379B0m*A7hq3?ZG<pIfp
zLpstV(-pm3hxUYLskW8*`Zu6l`!aLmCe*8$I#r3zYwFGAa+Hi#*{Z+Y<cU99=YrL6
z$7DQ^m)`MY8P>o3;z725IZ)Mvqi#URnd@PvZoK<`HjcF$U7r48H`h;_XS(Bou8_N5
zazSaqcuso}EFPH>MTVeLY_yFu+7;(9Gzm4}<YgVOQ*5-3G(tJ@SVxf!qNXCi$*gZf
z^*b0S&BJzj*=f>Z7AHX6PnH9CMb&U^#`QzK#{yx_R;YS>4Y%IE%?Nw1Eb*_&5kPy#
zUpbWrl>bIm{#EVYWb{~UWrT5!{_?h5SqMALx@mCFYN-L`0R8tOgKIK9YUW1Fb3OHz
zf=@2*M2q0TH>sbF4)AY1X{aL_l((SDE%%mj{4Q@C<;*g7i~4Fyvssqxve2k&i!-aN
z_t)DgL0*6SUGB>}>UsV1aggR+7G3<xRpXcZ=9<RBJ3ckV#$mS?WKNO;*V|)nhA^TN
zYvZtdAv1W*+mvVjPHE{{X4iFzn42MV=sjdz>tps!L&aVcELAGuz)i$83VwsNQ6XHG
zWeS%4D)`NwI`p3VVX^i$B)lG-{j=Y3;*m?xn<i+ct8v08PaQIr0&{S90cfE2@AC!|
z3n2DC&KtDo?hQo#z156~)Bo+a6GCs|)wv4tHWBg^9F{1Iw49Or%)#r3N9Jc1E7#cx
zqwPdN<(E6TP9c0v#7@`RaMO=OR2nyJ`%rz&biZE?aPmibf~Z#Gw(Y0kei3%uArwqd
z2&S$N&J<rHh*BHINvyFDG~1%iO?E`J%!Ewb#Ni?DWMt+a=RT4ryNCBJanT{bftzzA
zU0A-R&5tKgz8<!1C~p+9TtWPyD_6%5HdF;Ycq9<7wJd@{Z2M%<E|bZj%r#_%zaOR}
zlTh`Gi-yf+G~}Um9A6PvQG(uDHN;g~u@PD_^m*1)W33O)&fv5%8=-%NSw*@z<ct1`
z^pGT$&+&oYmBvP9R>SqOKNDYyEoe162!HS44#C-1uyPA6Zk!E~{o_c2X-Gkb$k`V^
zP}h*>*_Re&f8elTzNl$?HckqO3VF?XJO)j^ZRGz%fK1&Z#W(-fqcUIU9XU=1u}iUy
zgjMTl#lViT>~ywO*mkpcg%}mc%)?0E9w<0?O0+j|bcD9w=0&>o)~lLibNr}$*;}tW
zLSY`J`t5BZiw;*JOoQe$i+2l+o7h|#m{}@fi(j4aaErY?YJhCllOqB4o%2ikAlYOn
z2Usn22VLY0lh!<pyj@-jKEGl^B~$VW6h&AV@ua$=S~V>8yVeub<gbpA7kOwqNakTY
zB7>jZb*sA>V?kF$6YuU;-0>60PS97%0Wvr-KnmMwO8oc0gx#KaA@6Wht<t!Y!IJ6C
z$PMYYnyPpNu?ykH=t9y#`nz<id^Qd4VEK{Hc?Zp#hY9;4v%@(0_Z)oj)_9rZWgNte
zQ=(uivB%U9yKmJZy?lXuxr#qP{q&L^1`;C$kz0OMz%9oYCY>A|we2yTsLyhMZ2L5*
zR?Bs~?f^d;+KZVCb9ChOIGTsCCa4aQEwpngLvJ0UtfnV|*zI#HI41F0+By0AE8G%d
zaw@8MET~uAC3Yc5ah&4LjiWgH&yDfDBrm$8NO3?vUi=^Mqse$a_RAQXzXY5KKMnLs
zE7K*8m5RZ^Qwp|)l2~RfK9jbI<vd`s3pRC3po+^x>MgNJQp7VSGdN5E>MG0<GEoDq
z0SV_uOhqf3|9NPj@%(#+{K802O3o_#{og(1sY20_WC_Y0m}-DIme>8&p?%xWZqmQ$
zcmFuS_0vg9HnlDGZc7kJPNm4``|kIu^%=a`he=P(Sd%pNjDs7j`r{apW#amkE8P#g
z#xt0;|9{Wy@Np(H`#<3F8Laj^`;P{;q|?a^N0X@kihxfe%V#)nH%dO<@mm)DvlN!q
z_fr4DvR!#EN<+r?qwlW2JdfkI&-geg|B0+(7oEq@tWo}=8-rv)muq>b!>@bHJhRVb
zg*>(-er$)0+54Xtl}>&37I6ZHxE9MZ$Fb$Bbdw{=zb}0|h;-;)T16ceOzMQjEkl;R
zE$c?=_i7TdX)(F1=yU0B_2~=7@~?gWeS)wL_crPT2F^#+;fuS@K1goWIR3rj{F%qr
z^6ay=EATl0kI-YIUeYj&W_ls_l#n#ahL_=qD#*!F-fZvHrsN<WB;%}iW1YY_OJs<4
zRLJ-RBrCD8<dONPeT(a1x%y0l!87JV1ZHGqQM{mgEt#DD=X``|vcl%^hSl16l8Fj#
zadpYm4?@gHHE-m%x(@2%GZlCt^nj%0`Ej{Af11{5!uU`({kbyuQ09zi)JtcJEk%v|
z{M7ewyKK$3?km``ZvVsKNR`XhN-j)m7)hk<v}Afd(2vL`gsXHP@TTU%!hl+99vCB@
z4sMgwaMoR+1ENX$LH+UAh^31v0sS8Hky)s)JJnQDq`O_4)fX=&K&PpR%AkXrcVhR+
z<`l_nq71b~1B=u830Yxe-Ch#M{>D^4po>$e`lSjKvJ?tLG7o#6n3}3kp7!X|9gb#&
zV7f1~xxrobE_Bx}nw>7rBISayjC^+XT@NZ|16-z#@iLJ{IT0}+%h95vo)72!EH+He
ziv$lg#=N=-Ke!zmtADNLZ8UR9pc1CxhR4!#EpISQq%2p{&<G1N7jxuVT@Z#1_@3F%
z4UX#n_|8bjKnGq53imRpJ)b2E`&L(0Ru|bbpFHI|&2IyqM_Lvyd#m$Me5W5z`5rk@
zRe1CbGHR`D=g=H9OzE^WuKn71u%qY{-L$u8J}H^EO+1_XY+;!4BG*#LZqsShdsii`
z;YXS<VjMbMefrGQa9pm6$0d4t?^qjf@@>;)3T!{DTL5n`g%FJvX?p`CU>}*Sr=ly|
zy5ry{aTgVw{HEGl2X&|9{Fqzb>9(U=8S{eF*~T7+G3u|kE=IliZTt2k*NsQ%i{Q0-
zPG?Q~iR=DFqq@TOXJbx7`yUG?_VGs*bOAL$7!tfrRHR=6TtZf?a~D<VG&&7eTj&C6
zfy>DHb#j-O6OlvFE&pl%sqkt_Ct;Y-25{<(@KAkPp}G+U95{12RM`SlH?E$?o|qq2
zO-oKetJ9o>mw_{9z9-^`E>p8k-q5qi6XQerEqJZI(?!!+;)(y(=(Mo?#hBO7*~i+6
zGyFq^X+VuP>>PYTw54C;y>wo2!o5{B)#x-@Z8;67^<F-&KOt9$Sr&ncruqx|3xvB;
z><hqnH{7NWgiv)s1=j|c+W^7|s*(zDZCE{yT{eeS2}%k;T~qf3mfdC$zRTiJ7lGM*
zPbeaC*%(Tn3ir_4KW#!JF8imB3JUL@jyVh=KITp!@SzHV0Cynl7`#lBs_zb5I<8pe
zPOTDX+#hna5CnJtmyhe0$pJBkB5=_e|9bzra97HGA(-HX*VG9iT)kewwGrkuaN-14
znE|*quAapnn!~H=CF`KBY5PLUUNa}YhvIOTy4igo^d$1o7*0O}_t4)zZ#qdl^q(26
z7v4P|^B6k$ST%8i4_BxMxO>A;UrHyM(RcS=I;%M3o~f#9+#hkZtOs~_FQ3&PrhEi&
z)eUXiw<wU#><u4TcmYm;%O~~ll%`CdjvL|Vsn`NUu0q={=h~WF&K39l(J!{QDJd>m
z4lfoCA^wS!=0MPKDXaw&&h4Fj90;RHYMeQJjo?mf96v3D<t8;wduAOcz)X|UEP)Nj
zA7DgDjf1DtFgR!9(5XG*FiGF~Tm)eW5w-%>A4@`nZG<LHB^;a(3W?qmrzQw!qW8>c
zFifB8;>+<Uq|qE$a9jo9gj7HP+!sa1hY&bf0pGz~sehQD=SE+tWSF4)MyZj1xFB$Y
zzN5i?BhW~n|KM%6A0uvsz?6O7QbeqzHiaec)UIo{x>m!)u2^>zqdvgx%MvN$tktnv
z_aNh}4e!9NY<D>$v_fEZ_hol5<E;6yP4}Ueo`oBDDJB+PRX4Hg7dxs29NTs84%Y%s
z*@KosW7lHSK&PN3NNifgY26YLW24ovYIm_VaBx?x8=!5WWuZM|bFAA9*PgknhDM1c
zMBvHe`uynCcK@7Fb4zoFpZ;AS=aJa9WiySRJ}!{z2r^gYtAO4}E^y!T*^$*Ycn;A_
z<jZ`!k@Qq=U8Qg~VC1#9B}K@H070P}kCwx8EyODjEZYpy-JhtQ!8sc~Quna%SOf&C
zFoWP`au!Qk0tpI_?LaUy5G>S8&Itsg=}%0Pu$&1QIc3m7Aj}}l8JvwMf=&yuZUzBl
za00|Ffux1`fg?jGt+0_(CN0E?8HB%o;)~g)U;l)EMg^{<C9b$7W#EX=!$L0xEe{^8
z6Iajyeg8zUgk@U52#`_h<Spo6y?-J%1J$pN0NJ%p3e7eL`zHXBmf>QSX{dyxg<ecr
zC!U~#4`!Re{S$C8%SO_|Gd<8jw%KNP|Aaa!VfaYH!@@HW&_RXSCT?a0swCb7g=co4
z12fP;sF}4B=zykw0#%aPkdbo+trLXVCUZswswC%hS|{sfn}Cc8R7t!ib@vOmzU0;x
zG)(L6%eoAgPpd+m)CFgC_g}gU2T!Zct`;F}T!v+)RheDX>j!lAwOodird5UEMM!a%
zm}HGX-F;`5VR$X2z|h$o|1_>w<H=|BT1uqhp{QgnrF-T{AJw#f!?4%NtHaOgHMsR7
zUMn=y;dOmy--D;aJ#$YY;Leo5yp!$BY5&F<uOm`aH12gYIqjdeE_CX7XvpgbI@xKN
z4sRSfJ1UqCzeqp%-aRb|obp;UJ7m{i1;W;+p><pu`*Q}vqJFCWw+kppzPdY>td%x@
zY4KAH$5rz(E?Fz^Q&qrH^RnI!MMs}?U4gA*s7-mM^kVO(%@els$1$@y+Jh}^27>f=
z4}Cj7n%9-Duu1XC@t!uv0T>IOYnxBek-!<W=v)hFjYDoMjNp>A_hx+CbfdP<=}~Ea
zX>ojtK8PlFJUUXi?qE;(eLO<l-5T|ZZz&T^V?#YyZ(SW5)p>JORK@9!53pHMZ5M(E
z*4?xmOmyXs6_~U?saH?O$7$*)zgBy#rpXX)%}br_R%L4Pkbk%9c?p-Px?a9ge3ggf
zcrREs(~&DeMMp;i{EXSOR`#ugp}eM^`S?_$$$2+nu(b11G>I`aZ><c1+FFN&_Mx<X
zj%<3nFfm$f)w1f>Zf-{*IgrWz7MqdDmuQRw7|Aj3hwOp(!}RP}34`_r4`Qd;9gZq{
zdg{vdsm0sqF&&(vA4*1s5VR<BjOqc8T_Qu^4DoUMZ!u(ojN4})O2!fgn=DCl5xw<X
zWF2G~g$V1i2JZP*ph-q%zn0$BqK(<ZJCjuI`bKl1HVodgShxw!&UWu^?|@Lnr4~CM
zY{>G`E>YP(J-!(%SFa=8^$n}Dc9F`S=lFgi_?31;pN8FHnHxk}N;7NefnBpWZSW|C
zrkP?(c4U%lXs1IqJR?;dtLxd|zy|_N9*_R$5V3XWazbR)$AZD=r@RgCf*D`QYsq<y
zl9C-olCg$;A1|PWK7oGv+D6G6nel;$hK8D1uXYRkl!`2l|5NgZ;HdjV)ldDtM8UH=
zmFJ79XY#>sbbZ@!1<VJ<XEF*xvrgX|J?O1j(Qc0r*J{h|#2oEk3EtWlB~y^r%;>0y
zp%3%akfw&5%)Z(5qK%tQtS&vA>J)}dOR-g@B$qw4n~Wm~B$bIJm4UT;PHZfql|#<w
zqP#QbnJ28C#tqP8;q%_F>)HvqbrC2%s+XE>4b#7iW^xDFbQ<YhesDTWlyi#ByMBM>
zq;G=LedE4S&Pq??MX#cW$~l*vAw&(ToBFv!NJs^$ET1O0`F;L<pt3SRGvng~(`xq!
zwKR~&O{B{|{|8*H*k}Gdxe1$a8FH5sqyUzcYMH65_|&Kv50-_W4)Df+<cp#mMbe~m
z&@e%0-8RSHdjhJ=Oj>1(TeUg7TQf&Hgsc0CvT^k5k1D`+VN}Krnc78Iv~Fzn1WU`^
z2H7%4h|JCrjD_GT<F8uv&g+T%>NYGG(xb4iDYP1DudS>KIl2zEdM96(=zbKCi-Bfu
zb<vNNmWM3%irHJv8{9Cy3!ID_u^Ou}-zO*CVyo;WNH~UWG}mtF)UOp`OSma@9>`Ji
zwz0)NfGx!?S>eyJ)NMYe9cw5{xAMd3aI4LxT!dNcb22N0FB3(x>ad>{F+7hh1?`<a
z?-~olmoYYj(nILS<6I`U%6um=Fzuyd5;oC{(Zp*VFrcP0l_vYv2?e7?6Ues7vdSWz
zD(9Awo?-1R4to<!+of^-YU|C9!`i$?>mMQOa1Ln~STq5=m!2_&Je+-*t;_krq7chP
z-$yVO2@Up-QVwp@^E$t8Y0qit=seQKbM{W7RrQn=V@;zM36}{rQiXk_#`#SiMm%cz
zuGvs-rmq*cppUO$(oIe|*ijrq53tYE7Ah5FuF88Vd91P3ms^uWh8~jKn6s^ykS~pa
zdEaz#Gg76JDEa{r>@|}M!G`=|!IQM~{z&y_;Zb0%O3>FVv%@f9?FO=11{bR+@pl9+
z#6+Ah<a)*Z9~PGFHBO|JGYv4VY)Exuo<UVaEj#m}4}XyJUD|f%b9Qc*V%jbUZC$<D
zp$%&i$QxD?p|1=I7M1us-<zRq=m1!iCt=2LknUE4%6E8FNtK62*4LU6(UhBv*_w{r
z76pHg)9zFKu%{v_#@KW6rvE^|$OX^b&(z$g<sqw#(lHUj8O|BxxXWC?Q3)e>0PjiI
z@2E-8S;eWXQfcY&VeT=uHH*txJm|7_UY73YuZY&kwN1hza0tYvM&oyWrPA%tW$*IP
z?PT$pLt8>s49NwbgD79Qj!^&xnsK}RLQq0Bnu(64##4mCx$JDDd=&jfUFUZqHRoQ~
zv-1=2)mF6Z1Z8!@nTL;mWH|LD@&jr`J=EG$^y{qmC-}EyLzLO6I+2rGb8|!^)?+1G
z!R<s2V)@C|*>5(IztzHUDZ7{6*z3vLXc}hQVYfi+>7=n#=-C0x6BYEPhX+dovlS;q
zo%KW;sRd7608)Wi{_GbMS`qh*Esf_JPlAJ-N%*^+3CnB^$vxUIrmuI#)H2pDVPs~#
zB9PDfvH{x~*6!&GQ?z(HU03+FO@L)4iK{FGvm?f7a*K%cVXZygebw2BIPDUdYHsOZ
z=`PrG&q1BFhYJI<l+H?bdn0k1_|o#y@HrFJ3qyIER5rsEMfKQM)V=YHVAfp4+an<Y
zo271(<V$GA{N#MSJVIWfnNI=wBKeMYI&y7}Ocze)qRPF}_$*J_)|Z3Tl3n^fI3S$w
zg6I8O6_Z&4?P{I1lt5YOZ=UJb%r<0vtDm?qu~&-;kXoE#Ufk@auX_$qHB>s59YOP7
zHYP&7$6adXae*F*a}|{QM7Z#SE@f)tgG$Hg7-a(n9$`PG)RdR{Qt}M-k&#4SWwPEz
zaF_2%2{rm^xXQe7t9cc7Cs<k5BG!0~y6l!*^eeD<(aH5#&EU6$6|J9)95COjvUBR$
zD}|O3*S>XTq~`29$POgb>_XqW7%j`vY0D5F^_Qy2<I`{J30fUMxG4t?JuW!!=CN(Q
zFV4m^NH}>iWILW#@S_aVQsa>fXHmzdrx{QVLH7wU7;;D(IVaBP)7Yq6Ymqb1jW0JB
zl6|o(9e4ggTBSnyEpq#%Lk_Yr%HiC`M3>uv#X1MoGbEx6^{i-P%Te8JgEu*+UhR_i
zhcxZS&V`0FiBwz?q>IrXF#A=4bFzzLEM)}Ud+RnX0Gmq;w(3tGBn8TL9E-y@RAFIW
zj+?p@E4X?Z6bK#jr#A4Qgbn(UUhVd0WkSw771{5M4$g~D*%wvZCPLVY>#FB!S_h81
z4q5RE!S*nVi|sh3%~MOJO_ZP~JH>lzpf{mFx57CG^L*hrQa!D)C;5dhCA3d3VOIez
zXfM~!07oDXHUo1XrqY>I40llEKU$r~5Q<=Bf3L$IC-<YRTp@o{$_Mkz<!s|7KiARX
z@v=Spk_vN)SJ?nh+0d(F#|$uc)~Q36sj^VgE;s>mDz7T3%yZ`r?-3fLnsxy?z1Kr+
zBfmk;fUMqu!`v!tJ`V*|AmE<+$IEUGZ4pBV^j-j#=ee5T=12lfBY47QVHJ?z939Qv
z1CX6(t1{JT+O8`Mz$A5u8yPUs8R|kgFLWk9UJV;Y@Kq<&ZGV&KzPUtRJ~f*V;p(c#
zaDy?d`@-3*e^cU#C}v@#8YEUPA)-1U&-B^ugJ%}6ay~AKVLQ&_lIEo{m=<c(N>7$5
z-Y4P`OR7&LjoI1Qb$t{5Rw6?6uK0r)z<Y>TudXG&TuLK)l))S<<o)sTbItk#UKl~I
zHp}cO!mQq7A1!k(*L>26Xz1mt|Ham~HVwV;q6{xIw~x)76z6?)nQb+`=^s59@;Qy=
zx`;+oE=DJ!oe<|0z|X7>1&8N^_=~#<MJcR<m9oyk(Obhr(;hi9Cof@(Z>J|-h4k1z
z)4tA*IQy9JO&?i4>?u_smGIeiVTw5RO_r5(tdpqpgHU<L1MN|2zHH;VaGs>`Cj$`X
zo$1(duLx$SQ~gP5U5K1d_`04<;7*pC*lT&mly0axSMBv(W)iLCi<bo#EHkFB-jKd+
zJFW*&QOZ8OPb4otp2%8T8yhL8ZQd(OQ(bbBKs*-hk+SNj>Fz;0dEXRePi?p?_E^<+
zels+*ADBAslDEGvKB~uYFcsGv8w5_ZyweSBMN4HnKi!1c*QT+Y*Cc7@In8jX98n?U
zQj^P45}DHYd9+XMjZ&9(Z4$`AV~3wzPQ5btf$2?ST!Z9M)n}&_<=QFiE^&>{Hg(lc
zjXQcI^7<+roZ(;R1gvR^R2qo8h-h+ql!0CGG$<2u9<j{i+2}KOUO}|=v<M>m)xh*f
zI<GE(yl0$#v6slnaMu^1{z_s<9KmHc`s_9sQ``&so-Y&byRRev-RntFp%#Zs*JhyL
zVB0#_koVl@h%A$hX^}?1%;w|Xx@mjUjRkQ;2Fb2Z!eao1_g#`GrsR2y<=c=&GzV&u
z1(ncNx+hBRqZ2aAmHy^|3=>RgDsG2$A2gKSaE$VL4||OCw-Jm-vAVn^e67P*exEs^
zU}v|YJVpm;N)LXGUJ$J;2-y4r)}6|VE*qbg1_#q?P*LY@q!hT#PK+=6sTRO`rD+x9
zfqGRR%_Z9EOnR^aV)*D}+6Tt5$8VvXEGu8o5uH~B-?kV5cea1k8KnlYY1mdoaGYfA
zL)&$%y)CoI;&n^Nq6aR3&2O?TO2g9GgJZ@qDC3XC7c3U!jexmH%pG5Q;(B-8#>EAM
z;#n;(hRaiqKa155^jWui04^e1b4p>oikdq@F-!?n&uZTlysdU;=EtRBavvXVXUA;q
zq4ig$kaFW#DsAg@pA9se&*&FeJ>%P=9<Xy^p`I~b`yn3KA`{QfoS<2*Q{z07As!bu
z;7iT^o?L$KL~7x}xjrdbqwl-B%iZ<SMd7Nkl+lD`X1Ce$RyhI&a5_L&+8Zou*J*6u
zFN2?|pcm;nbez;0{-jeTl6e?>M(MacpT>SDsO=i4W^0~-(EW%bGtv^7?07Ksp=Ho=
z88*90biZX=oR`uSmo#`LDr#3qxOpS~<gQ8QROm{mQ12!%GG;xp^^5Ii9D|}GtNhk_
z_G|iyb#J%uq{JFHn%%zz=yxhoG;~3^gPE%L&K%<8ZJ+PgEf2)$xvq-ybtrC$va76R
zm#@bZn|w_wcsrsM?DRa29k(OxG<~a*;ix(y+9-bVZH?U22e;KA)Ekvup*OrAhiN_U
zfI(KP5m6Eutie%4McMckFV{18DdST_9~7mfG<g$V%sOca%80TOgepkCQ7U*85L^*d
z&GR~$41+IF22DJuw(f^dHE&Jzo%yPYi3#``z!9%U5Nv+`q$WBwY7v%wSRaM3ksgq^
z>1$x@QemPfpU3Y6a2fjgfV4(xs0B!l%aA&x?O-O^4HiqWp6^jZ>{*VIsXZ(AwMM6z
z-!XH4?P?-!0VT2ARnVNfzteK#@U;YvQ`NG@1&&+a%lg)5nb(SMHAJuj8Vg>$2QjLs
z7W^2#7%A}Oe|O7ph(Esa30vX|vdTe!iN~D0&iBdlKEVRy{4E`c`F3yax6eAi-s~e#
zfh|2NyHPTCa>%*g3yN->sAsQkV){0xBY`vZogN*d?9L~uk_{%fQCtgLiSTZANo3S@
zn*!X)k$N_g0POH4u@2V?1KV$pL=9-?ZI45A2Qknj7A#t?8+kihO$S=!DOhsso8Dxb
z#HxN)t=3f0RB^Kiy9nQw+;;liy6-xg4z7;y9CGgVb?&Be9`XCUuqMZD@_1m(gPn^A
KVan(Gss9a8mXT%v

literal 0
HcmV?d00001

diff --git a/simplepie/demo/handler_image.php b/simplepie/demo/handler_image.php
new file mode 100644
index 0000000000..49c3ec89b2
--- /dev/null
+++ b/simplepie/demo/handler_image.php
@@ -0,0 +1,6 @@
+<?php
+// This should be modifed as your own use warrants.
+
+require_once('../simplepie.inc');
+SimplePie_Misc::display_cached_file($_GET['i'], './cache', 'spi');
+?>
diff --git a/simplepie/demo/index.php b/simplepie/demo/index.php
new file mode 100644
index 0000000000..1481ba9172
--- /dev/null
+++ b/simplepie/demo/index.php
@@ -0,0 +1,295 @@
+<?php
+// Start counting time for the page load
+$starttime = explode(' ', microtime());
+$starttime = $starttime[1] + $starttime[0];
+
+// Include SimplePie
+// Located in the parent directory
+include_once('../simplepie.inc');
+include_once('../idn/idna_convert.class.php');
+
+// Create a new instance of the SimplePie object
+$feed = new SimplePie();
+
+//$feed->force_fsockopen(true);
+
+// Make sure that page is getting passed a URL
+if (isset($_GET['feed']) && $_GET['feed'] !== '')
+{
+	// Strip slashes if magic quotes is enabled (which automatically escapes certain characters)
+	if (function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc())
+	{
+		$_GET['feed'] = stripslashes($_GET['feed']);
+	}
+	
+	// Use the URL that was passed to the page in SimplePie
+	$feed->set_feed_url($_GET['feed']);
+	
+	// XML dump
+	$feed->enable_xml_dump(isset($_GET['xmldump']) ? true : false);
+}
+
+// Allow us to change the input encoding from the URL string if we want to. (optional)
+if (!empty($_GET['input']))
+{
+	$feed->set_input_encoding($_GET['input']);
+}
+
+// Allow us to choose to not re-order the items by date. (optional)
+if (!empty($_GET['orderbydate']) && $_GET['orderbydate'] == 'false')
+{
+	$feed->enable_order_by_date(false);
+}
+
+// Allow us to cache images in feeds.  This will also bypass any hotlink blocking put in place by the website.
+if (!empty($_GET['image']) && $_GET['image'] == 'true')
+{
+	$feed->set_image_handler('./handler_image.php');
+}
+
+// We'll enable the discovering and caching of favicons.
+$feed->set_favicon_handler('./handler_image.php');
+
+// Initialize the whole SimplePie object.  Read the feed, process it, parse it, cache it, and 
+// all that other good stuff.  The feed's information will not be available to SimplePie before 
+// this is called.
+$success = $feed->init();
+
+// We'll make sure that the right content type and character encoding gets set automatically.
+// This function will grab the proper character encoding, as well as set the content type to text/html.
+$feed->handle_content_type();
+
+// When we end our PHP block, we want to make sure our DOCTYPE is on the top line to make 
+// sure that the browser snaps into Standards Mode.
+?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
+<head>
+<title>SimplePie: Demo</title>
+
+<link rel="stylesheet" href="./for_the_demo/sIFR-screen.css" type="text/css" media="screen">
+<link rel="stylesheet" href="./for_the_demo/sIFR-print.css" type="text/css" media="print">
+<link rel="stylesheet" href="./for_the_demo/simplepie.css" type="text/css" media="screen, projector" />
+
+<script type="text/javascript" src="./for_the_demo/sifr.js"></script>
+<script type="text/javascript" src="./for_the_demo/sifr-config.js"></script>
+<script type="text/javascript" src="./for_the_demo/sleight.js"></script>
+
+</head>
+
+<body id="bodydemo">
+
+<div id="header">
+	<div id="headerInner">
+		<div id="logoContainer">
+			<div id="logoContainerInner">
+				<div align="center"><a href="http://simplepie.org"><img src="./for_the_demo/logo_simplepie_demo.png" alt="SimplePie Demo: PHP-based RSS and Atom feed handling" title="SimplePie Demo: PHP-based RSS and Atom feed handling" border="0" /></a></div>
+				<div class="clearLeft"></div>
+			</div>
+
+		</div>
+		<div id="menu">
+		<!-- I know, I know, I know... tables for layout, I know.  If a web standards evangelist (like me) has to resort 
+		to using tables for something, it's because no other possible solution could be found.  This issue?  No way to 
+		do centered floats purely with CSS. The table box model allows for a dynamic width while centered, while the 
+		CSS box model for DIVs doesn't allow for it. :( -->
+		<table cellpadding="0" cellspacing="0" border="0"><tbody><tr><td>
+<ul><li id="demo"><a href="./">SimplePie Demo</a></li><li><a href="http://simplepie.org/wiki/faq/start">FAQ/Troubleshooting</a></li><li><a href="http://simplepie.org/support/">Support Forums</a></li><li><a href="http://simplepie.org/wiki/reference/start">API Reference</a></li><li><a href="http://simplepie.org/blog/">Weblog</a></li><li><a href="../test/test.php">Unit Tests</a></li></ul>
+
+			<div class="clearLeft"></div>
+		</td></tr></tbody></table>
+		</div>
+	</div>
+</div>
+
+<div id="site">
+
+	<div id="content">
+
+		<div class="chunk">
+			<form action="" method="get" name="sp_form" id="sp_form">
+				<div id="sp_input">
+
+
+					<!-- If a feed has already been passed through the form, then make sure that the URL remains in the form field. -->
+					<p><input type="text" name="feed" value="<?php if ($feed->subscribe_url()) echo $feed->subscribe_url(); ?>" class="text" id="feed_input" />&nbsp;<input type="submit" value="Read" class="button" /></p>
+
+
+				</div>
+			</form>
+
+
+			<?php
+			// Check to see if there are more than zero errors (i.e. if there are any errors at all)
+			if ($feed->error())
+			{
+				// If so, start a <div> element with a classname so we can style it.
+				echo '<div class="sp_errors">' . "\r\n";
+
+					// ... and display it.
+					echo '<p>' . htmlspecialchars($feed->error()) . "</p>\r\n";
+
+				// Close the <div> element we opened.
+				echo '</div>' . "\r\n";
+			}
+			?>
+
+			<!-- Here are some sample feeds. -->
+			<p class="sample_feeds"><strong>Or try one of the following:</strong> 
+			<a href="?feed=http://www.詹姆斯.com/atomtests/iri/everything.atom" title="Test: International Domain Name support">詹姆斯.com</a>, 
+			<a href="?feed=http://www.adultswim.com/williams/podcast/tools/xml/video_rss.xml" title="Humor from the people who make [adult swim] cartoons.">adult swim</a>, 
+			<a href="?feed=http://afterdawn.com/news/afterdawn_rss.xml" title="Ripping, Burning, DRM, and the Dark Side of Consumer Electronics Media">Afterdawn</a>, 
+			<a href="?feed=http://feeds.feedburner.com/ajaxian" title="AJAX and Scripting News">Ajaxian</a>, 
+			<a href="?feed=http://www.andybudd.com/index.rdf&amp;image=true" title="Test: Bypass Image Hotlink Blocking">Andy Budd</a>, 
+			<a href="?feed=http://feeds.feedburner.com/AskANinja" title="Test: Embedded Enclosures">Ask a Ninja</a>, 
+			<a href="?feed=http://www.atomenabled.org/atom.xml" title="Test: Atom 1.0 Support">AtomEnabled.org</a>, 
+			<a href="?feed=http://newsrss.bbc.co.uk/rss/newsonline_world_edition/front_page/rss.xml" title="World News">BBC News</a>, 
+			<a href="?feed=http://newsrss.bbc.co.uk/rss/arabic/news/rss.xml" title="Test: Windows-1256 Encoding">BBC Arabic</a>, 
+			<a href="?feed=http://newsrss.bbc.co.uk/rss/chinese/simp/news/rss.xml" title="Test: GB2312 Encoding">BBC China</a>, 
+			<a href="?feed=http://newsrss.bbc.co.uk/rss/russian/news/rss.xml" title="Test: Windows-1251 Encoding">BBC Russia</a>, 
+			<a href="?feed=http://inessential.com/xml/rss.xml" title="Developer of NetNewsWire">Brent Simmons</a>, 
+			<a href="?feed=http://www.channelfrederator.com/rss" title="Test: Embedded Enclosures">Channel Frederator</a>, 
+			<a href="?feed=http://rss.cnn.com/rss/cnn_topstories.rss" title="World News">CNN</a>, 
+			<a href="?feed=http://digg.com/rss/index.xml" title="Tech news. Better than Slashdot.">Digg</a>, 
+			<a href="?feed=http://revision3.com/diggnation/feed/quicktime-large" title="Tech and industry videocast.">Diggnation</a>, 
+			<a href="?feed=http://www.flickr.com/services/feeds/photos_public.gne?format=rss2" title="Flickr Photos">Flickr</a>, 
+			<a href="?feed=http://news.google.com/?output=rss" title="World News">Google News</a>, 
+			<a href="?feed=http://video.google.com/videofeed?type=top100new&num=20&output=rss" title="Test: Media RSS Support">Google Video</a>, 
+			<a href="?feed=http://blogs.law.harvard.edu/home/feed/rdf/" title="Test: Tag Stripping">Harvard Law</a>, 
+			<a href="?feed=http://hagada.org.il/hagada/html/backend.php" title="Test: Window-1255 Encoding">Hebrew Language</a>, 
+			<a href="?feed=http://www.infoworld.com/rss/news.xml" title="Test: Ad Stripping">InfoWorld</a>, 
+			<a href="?feed=http://phobos.apple.com/WebObjects/MZStore.woa/wpa/MRSS/topsongs/limit=10/rss.xml&orderbydate=false" title="Test: Tag Stripping">iTunes</a>, 
+			<a href="?feed=http://blog.japan.cnet.com/lessig/index.rdf" title="Test: EUC-JP Encoding">Japanese Language</a>, 
+			<a href="?feed=http://nurapt.kaist.ac.kr/~jamaica/htmls/blog/rss.php&amp;input=EUC-KR" title="Test: EUC-KR Encoding">Korean Language</a>, 
+			<a href="?feed=http://mir.aculo.us/xml/rss/feed.xml" title="Weblog for the developer of Scriptaculous">mir.aculo.us</a>, 
+			<a href="?feed=http://images.apple.com/trailers/rss/newtrailers.rss" title="Apple's QuickTime movie trailer site">Movie Trailers</a>, 
+			<a href="?feed=http://www.newspond.com/rss/main.xml" title="Tech and Science News">Newspond</a>, 
+			<a href="?feed=http://nick.typepad.com/blog/index.rss" title="Developer of TopStyle and FeedDemon">Nick Bradbury</a>, 
+			<a href="?feed=http://feeds.feedburner.com/ok-cancel" title="Usability comics and commentary">OK/Cancel</a>, 
+			<a href="?feed=http://osnews.com/files/recent.rdf" title="News about every OS ever">OS News</a>, 
+			<a href="?feed=http://weblog.philringnalda.com/feed/" title="Test: Atom 1.0 Support">Phil Ringnalda</a>, 
+			<a href="?feed=http://kabili.libsyn.com/rss" title="Test: Improved enclosure type sniffing">Photoshop Videocast</a>, 
+			<a href="?feed=http://www.pariurisportive.com/blog/xmlsrv/rss2.php?blog=2" title="Test: ISO-8859-1 Encoding">Romanian Language</a>, 
+			<a href="?feed=http://www.erased.info/rss2.php" title="Test: KOI8-R Encoding">Russian Language</a>, 
+			<a href="?feed=http://www.upsaid.com/isis/index.rdf" title="Test: BIG5 Encoding">Traditional Chinese Language</a>, 
+			<a href="?feed=http://technorati.com/watchlists/rss.html?wid=29290" title="Technorati watch for SimplePie">Technorati</a>, 
+			<a href="?feed=http://www.tbray.org/ongoing/ongoing.atom" title="Test: Atom 1.0 Support">Tim Bray</a>, 
+			<a href="?feed=http://tuaw.com/rss.xml" title="Apple News">TUAW</a>, 
+			<a href="?feed=http://www.tvgasm.com/atom.xml&amp;image=true" title="Test: Bypass Image Hotlink Blocking">TVgasm</a>, 
+			<a href="?feed=http://uneasysilence.com/feed/" title="Interesting tech randomness">UNEASYsilence</a>, 
+			<a href="?feed=http://feeds.feedburner.com/web20Show" title="Test: Embedded Enclosures">Web 2.0 Show</a>, 
+			<a href="?feed=http://windowsvistablog.com/blogs/MainFeed.aspx" title="Test: Tag Stripping">Windows Vista Blog</a>, 
+			<a href="?feed=http://xkcd.com/rss.xml" title="Test: LightHTTPd and GZipping">XKCD</a>, 
+			<a href="?feed=http://rss.news.yahoo.com/rss/topstories" title="World News">Yahoo! News</a>, 
+			<a href="?feed=http://youtube.com/rss/global/top_favorites.rss" title="Funny user-submitted videos">You Tube</a>, 
+			<a href="?feed=http://zeldman.com/rss/" title="The father of the web standards movement">Zeldman</a></p>
+
+		</div>
+
+		<div id="sp_results">
+
+			<!-- As long as the feed has data to work with... -->
+			<?php if ($success): ?>
+				<div class="chunk focus" align="center">
+
+					<!-- If the feed has a link back to the site that publishes it (which 99% of them do), link the feed's title to it. -->
+					<h3 class="header"><?php if ($feed->get_link()) echo '<a href="' . $feed->get_link() . '">'; echo $feed->get_title(); if ($feed->get_link()) echo '</a>'; ?></h3>
+
+					<!-- If the feed has a description, display it. -->
+					<?php echo $feed->get_description(); ?>
+
+				</div>
+
+				<!-- Add subscribe links for several different aggregation services -->
+				<p class="subscribe"><strong>Subscribe:</strong> <a href="<?php echo $feed->subscribe_bloglines(); ?>">Bloglines</a>, <a href="<?php echo $feed->subscribe_google(); ?>">Google Reader</a>, <a href="<?php echo $feed->subscribe_msn(); ?>">My MSN</a>, <a href="<?php echo $feed->subscribe_netvibes(); ?>">Netvibes</a>, <a href="<?php echo $feed->subscribe_newsburst(); ?>">Newsburst</a><br /><a href="<?php echo $feed->subscribe_newsgator(); ?>">Newsgator</a>, <a href="<?php echo $feed->subscribe_odeo(); ?>">Odeo</a>, <a href="<?php echo $feed->subscribe_podnova(); ?>">Podnova</a>, <a href="<?php echo $feed->subscribe_rojo(); ?>">Rojo</a>, <a href="<?php echo $feed->subscribe_yahoo(); ?>">My Yahoo!</a>, <a href="<?php echo $feed->subscribe_feed(); ?>">Desktop Reader</a></p>
+
+
+				<!-- Let's begin looping through each individual news item in the feed. -->
+				<?php foreach($feed->get_items() as $item): ?>
+					<div class="chunk">
+
+						<?php
+						// Let's add a favicon for each item. If one doesn't exist, we'll use an alternate one.
+						if (!$favicon = $feed->get_favicon())
+						{
+							$favicon = './for_the_demo/favicons/alternate.png';
+						}
+						?>
+
+						<!-- If the item has a permalink back to the original post (which 99% of them do), link the item's title to it. -->
+						<h4><img src="<?php echo $favicon; ?>" alt="Favicon" class="favicon" /><?php if ($item->get_permalink()) echo '<a href="' . $item->get_permalink() . '">'; echo $item->get_title(); if ($item->get_permalink()) echo '</a>'; ?>&nbsp;<span class="footnote"><?php echo $item->get_date('j M Y, g:i a'); ?></span></h4>
+
+						<!-- Display the item's primary content. -->
+						<?php echo $item->get_content(); ?>
+
+						<?php
+						// Check for enclosures.  If an item has any, set the first one to the $enclosure variable.
+						if ($enclosure = $item->get_enclosure(0))
+						{
+							// Use the embed() method to embed the enclosure into the page inline.
+							echo '<div align="center">';
+							echo '<p>' . $enclosure->embed(array(
+								'audio' => './for_the_demo/place_audio.png',
+								'video' => './for_the_demo/place_video.png',
+								'mediaplayer' => './for_the_demo/mediaplayer.swf',
+								'altclass' => 'download'
+							)) . '</p>';
+
+							if ($enclosure->get_link() && $enclosure->get_type())
+							{
+								echo '<p class="footnote" align="center">(' . $enclosure->get_type();
+								if ($enclosure->get_size())
+								{
+									echo '; ' . $enclosure->get_size() . ' MB';								
+								}
+								echo ')</p>';
+							}
+							if ($enclosure->get_thumbnail())
+							{
+								echo '<div><img src="' . $enclosure->get_thumbnail() . '" alt="" /></div>';
+							}
+							echo '</div>';
+						}
+						?>
+
+						<!-- Add links to add this post to one of a handful of services. -->
+						<p class="footnote favicons" align="center">
+							<a href="<?php echo $item->add_to_blinklist(); ?>" title="Add post to Blinklist"><img src="./for_the_demo/favicons/blinklist.png" alt="Blinklist" /></a>
+							<a href="<?php echo $item->add_to_blogmarks(); ?>" title="Add post to Blogmarks"><img src="./for_the_demo/favicons/blogmarks.png" alt="Blogmarks" /></a>
+							<a href="<?php echo $item->add_to_delicious(); ?>" title="Add post to del.icio.us"><img src="./for_the_demo/favicons/delicious.png" alt="del.icio.us" /></a>
+							<a href="<?php echo $item->add_to_digg(); ?>" title="Digg this!"><img src="./for_the_demo/favicons/digg.png" alt="Digg" /></a>
+							<a href="<?php echo $item->add_to_magnolia(); ?>" title="Add post to Ma.gnolia"><img src="./for_the_demo/favicons/magnolia.png" alt="Ma.gnolia" /></a>
+							<a href="<?php echo $item->add_to_myweb20(); ?>" title="Add post to My Web 2.0"><img src="./for_the_demo/favicons/myweb2.png" alt="My Web 2.0" /></a>
+							<a href="<?php echo $item->add_to_newsvine(); ?>" title="Add post to Newsvine"><img src="./for_the_demo/favicons/newsvine.png" alt="Newsvine" /></a>
+							<a href="<?php echo $item->add_to_reddit(); ?>" title="Add post to Reddit"><img src="./for_the_demo/favicons/reddit.png" alt="Reddit" /></a>
+							<a href="<?php echo $item->add_to_segnalo(); ?>" title="Add post to Segnalo"><img src="./for_the_demo/favicons/segnalo.png" alt="Segnalo" /></a>
+							<a href="<?php echo $item->add_to_simpy(); ?>" title="Add post to Simpy"><img src="./for_the_demo/favicons/simpy.png" alt="Simpy" /></a>
+							<a href="<?php echo $item->add_to_spurl(); ?>" title="Add post to Spurl"><img src="./for_the_demo/favicons/spurl.png" alt="Spurl" /></a>
+							<a href="<?php echo $item->add_to_wists(); ?>" title="Add post to Wists"><img src="./for_the_demo/favicons/wists.png" alt="Wists" /></a>
+							<a href="<?php echo $item->search_technorati(); ?>" title="Who's linking to this post?"><img src="./for_the_demo/favicons/technorati.png" alt="Technorati" /></a>
+						</p>
+
+					</div>
+
+				<!-- Stop looping through each item once we've gone through all of them. -->
+				<?php endforeach; ?>
+
+			<!-- From here on, we're no longer using data from the feed. -->
+			<?php endif; ?>
+
+		</div>
+
+		<div>
+			<!-- Display how fast the page was rendered. -->
+			<p class="footnote">Page processed in <?php $mtime = explode(' ', microtime()); echo round($mtime[0] + $mtime[1] - $starttime, 3); ?> seconds.</p>
+
+			<!-- Display the version of SimplePie being loaded. -->
+			<p class="footnote">Powered by <a href="<?php echo SIMPLEPIE_URL; ?>"><?php echo SIMPLEPIE_NAME . ' ' . SIMPLEPIE_VERSION . ', Build ' . SIMPLEPIE_BUILD; ?></a>.  Run the <a href="../compatibility_test/sp_compatibility_test.php">SimplePie Compatibility Test</a>.  SimplePie is &copy; 2004&ndash;<?php echo date('Y'); ?>, Ryan Parman and Geoffrey Sneddon, and licensed under the <a href="http://www.opensource.org/licenses/bsd-license.php">BSD License</a>.</p>
+		</div>
+
+	</div>
+
+</div>
+
+</body>
+</html>
diff --git a/simplepie/demo/minimalistic.php b/simplepie/demo/minimalistic.php
new file mode 100644
index 0000000000..56509c00cb
--- /dev/null
+++ b/simplepie/demo/minimalistic.php
@@ -0,0 +1,137 @@
+<?php
+
+function microtime_float()
+{
+	if (version_compare(phpversion(), '5.0.0', '>='))
+	{
+		return microtime(true);
+	}
+	else
+	{
+		list($usec, $sec) = explode(' ', microtime());
+		return ((float) $usec + (float) $sec);
+	}
+}
+
+$start = microtime_float();
+
+include('../simplepie.inc');
+
+// Parse it
+$feed = new SimplePie();
+if (!empty($_GET['feed']))
+{
+	if (get_magic_quotes_gpc())
+	{
+		$_GET['feed'] = stripslashes($_GET['feed']);
+	}
+	$feed->set_feed_url($_GET['feed']);
+	$feed->init();
+}
+$feed->handle_content_type();
+
+?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<title><?php echo (empty($_GET['feed'])) ? 'SimplePie' : 'SimplePie: ' . $feed->get_title(); ?></title>
+
+<!-- META HTTP-EQUIV -->
+<meta http-equiv="content-type" content="text/html; charset=<?php echo ($feed->get_encoding()) ? $feed->get_encoding() : 'UTF-8'; ?>" />
+<meta http-equiv="imagetoolbar" content="false" />
+
+<style type="text/css">
+html, body {
+	height:100%;
+	margin:0;
+	padding:0;
+}
+
+h1 {
+	background-color:#333;
+	color:#fff;
+	font-size:3em;
+	margin:0;
+	padding:5px 15px;
+	text-align:center;
+}
+
+div#footer {
+	padding:5px 0;
+}
+
+div#footer,
+div#footer a {
+	text-align:center;
+	font-size:0.7em;
+}
+
+div#footer a {
+	text-decoration:underline;
+}
+
+code {
+	background-color:#f3f3ff;
+	color:#000;
+}
+
+pre {
+	background-color:#f3f3ff;
+	color:#000080;
+	border:1px dotted #000080;
+	padding:3px 5px;
+}
+
+form {
+	margin:0;
+	padding:0;
+}
+
+div.chunk {
+	border-bottom:1px solid #ccc;
+}
+
+form#sp_form {
+	text-align:center;
+	margin:0;
+	padding:0;
+}
+
+form#sp_form input.text {
+	width:85%;
+}
+</style>
+
+</head>
+
+<body>
+	<h1><?php echo (empty($_GET['feed'])) ? 'SimplePie' : 'SimplePie: ' . $feed->get_title(); ?></h1>
+
+	<form action="" method="get" name="sp_form" id="sp_form">
+		<p><input type="text" name="feed" value="<?php echo ($feed->subscribe_url()) ? htmlspecialchars($feed->subscribe_url()) : 'http://'; ?>" class="text" id="feed_input" />&nbsp;<input type="submit" value="Read" class="button" /></p>
+	</form>
+
+	<div id="sp_results">
+		<?php if ($feed->data): ?>
+			<?php $items = $feed->get_items(); ?>
+			<p align="center"><span style="background-color:#ffc;">Displaying <?php echo $feed->get_item_quantity(); ?> most recent entries.</span></p>
+			<?php foreach($items as $item): ?>
+				<div class="chunk" style="padding:0 5px;">
+					<h4><a href="<?php echo $item->get_permalink(); ?>"><?php echo $item->get_title(); ?></a> <?php echo $item->get_date('j M Y'); ?></h4>
+					<?php echo $item->get_content(); ?>
+					<?php
+					if ($enclosure = $item->get_enclosure(0))
+						echo '<p><a href="' . $enclosure->get_link() . '" class="download"><img src="./for_the_demo/mini_podcast.png" alt="Podcast" title="Download the Podcast" border="0" /></a></p>';
+					?>
+				</div>
+			<?php endforeach; ?>
+			</div>
+		<?php endif; ?>
+	</div>
+
+	<div id="footer">
+		Powered by <?php echo SIMPLEPIE_LINKBACK; ?>, a product of <a href="http://www.skyzyx.com">Skyzyx Technologies</a>.<br />
+		Page created in <?php echo round(microtime_float()-$start, 3); ?> seconds.
+	</div>
+</body>
+</html>
diff --git a/simplepie/demo/multifeeds.php b/simplepie/demo/multifeeds.php
new file mode 100644
index 0000000000..b23d792a2f
--- /dev/null
+++ b/simplepie/demo/multifeeds.php
@@ -0,0 +1,108 @@
+<?php
+/********************************************************************
+MULTIFEEDS TEST PAGE
+
+Nothing too exciting here.  Just a sample page that demos integrated 
+Multifeeds support as well as cached favicons and perhaps a few other 
+things.
+
+Lots of this code is commented to help explain some of the new stuff.  
+Code was tested in PHP 5.2.2, but *should* also work with earlier 
+versions of PHP, as supported by SimplePie (PHP 4.1).
+
+********************************************************************/
+
+// Include the SimplePie library, and the one that handles internationalized domain names.
+require_once('../simplepie.inc');
+require_once('../idn/idna_convert.class.php');
+
+// Initialize some feeds for use.
+$feed = new SimplePie();
+$feed->set_feed_url(array(
+	'http://rss.news.yahoo.com/rss/topstories',
+	'http://news.google.com/?output=atom',
+	'http://rss.cnn.com/rss/cnn_topstories.rss'
+));
+
+// When we set these, we need to make sure that the handler_image.php file is also trying to read from the same cache directory that we are.
+$feed->set_favicon_handler('./handler_image.php');
+$feed->set_image_handler('./handler_image.php');
+
+// Initialize the feed.
+$feed->init();
+
+// Make sure the page is being served with the UTF-8 headers.
+$feed->handle_content_type();
+
+// Begin the (X)HTML page.
+?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">	
+<head>
+	<title>Multifeeds Test page</title>
+	<link rel="stylesheet" href="../demo/for_the_demo/simplepie.css" type="text/css" media="screen" title="SimplePie Styles" charset="utf-8" />
+	<style type="text/css">
+	div#site {
+		width:600px;
+	}
+	span.footnote {
+		white-space:nowrap;
+	}
+	h1 {
+		line-height:1.4em;
+	}
+	h4 {
+		padding-left:20px;
+		background-color:transparent;
+		background-repeat:no-repeat;
+		background-position:0 1px;
+	}
+	.clearBoth {
+		clear:both;
+	}
+	</style>
+</head>
+<body>
+<div id="site">
+
+	<?php if ($feed->error): ?>
+		<p><?=$feed->error()?></p>
+	<?php endif ?>
+
+	<div class="chunk">
+		<h1>Quick-n-Dirty Multifeeds Demo</a></h1>
+	</div>
+
+	<?php
+	// Let's loop through each item in the feed.
+	foreach($feed->get_items() as $item):
+
+	// Let's give ourselves a reference to the parent $feed object for this particular item.
+	$feed = $item->get_feed();
+	?>
+
+		<div class="chunk">
+			<h4 style="background-image:url(<?php echo $feed->get_favicon(); ?>);"><a href="<?php echo $item->get_permalink(); ?>"><?php echo html_entity_decode($item->get_title(), ENT_QUOTES, 'UTF-8'); ?></a></h4>
+
+			<!-- get_content() prefers full content over summaries -->
+			<?php echo $item->get_content(); ?>
+
+			<?php if ($enclosure = $item->get_enclosure()): ?>
+				<div>
+				<?php echo $enclosure->native_embed(array(
+					// New 'mediaplayer' attribute shows off Flash-based MP3 and FLV playback.
+					'mediaplayer' => '../demo/for_the_demo/mediaplayer.swf'
+				)); ?>
+				</div>
+			<?php endif; ?>
+
+			<p class="footnote">Source: <a href="<?php echo $feed->get_permalink(); ?>"><?php echo $feed->get_title(); ?></a> | <?php echo $item->get_date('j M Y | g:i a'); ?></p>
+		</div>
+
+	<?php endforeach ?>
+
+	<p class="footnote">This is a test of the emergency broadcast system.  This is only a test&hellip; beeeeeeeeeeeeeeeeeeeeeeeeeep!</p>
+
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/simplepie/demo/test.php b/simplepie/demo/test.php
new file mode 100644
index 0000000000..5b9943abbc
--- /dev/null
+++ b/simplepie/demo/test.php
@@ -0,0 +1,62 @@
+<?php
+include_once('../simplepie.inc');
+include_once('../idn/idna_convert.class.php');
+
+// Parse it
+$feed = new SimplePie();
+if (isset($_GET['feed']) && $_GET['feed'] !== '')
+{
+	if (get_magic_quotes_gpc())
+	{
+		$_GET['feed'] = stripslashes($_GET['feed']);
+	}
+	$feed->set_feed_url($_GET['feed']);
+	$feed->enable_cache(false);
+	$starttime = explode(' ', microtime());
+	$starttime = $starttime[1] + $starttime[0];
+	$feed->init();
+	$endtime = explode(' ', microtime());
+	$endtime = $endtime[1] + $endtime[0];
+	$time = $endtime - $starttime;
+}
+else
+{
+	$time = 'null';
+}
+
+$feed->handle_content_type();
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<title>SimplePie Test</title>
+<pre>
+<?php
+
+// memory_get_peak_usage() only exists on PHP 5.2 and higher if PHP is compiled with the --enable-memory-limit configuration option or on PHP 5.2.1 and higher (which runs as if --enable-memory-limit was on, with no option)
+if (function_exists('memory_get_peak_usage'))
+{
+	var_dump($time, memory_get_usage(), memory_get_peak_usage());
+}
+// memory_get_usage() only exists if PHP is compiled with the --enable-memory-limit configuration option or on PHP 5.2.1 and higher (which runs as if --enable-memory-limit was on, with no option)
+else if (function_exists('memory_get_usage'))
+{
+	var_dump($time, memory_get_usage());
+}
+else
+{
+	var_dump($time);
+}
+
+// Output buffer
+function callable_htmlspecialchars($string)
+{
+	return htmlspecialchars($string);
+}
+ob_start('callable_htmlspecialchars');
+
+// Output
+print_r($feed);
+ob_end_flush();
+
+?>
+</pre>
\ No newline at end of file
diff --git a/simplepie/idn/LICENCE b/simplepie/idn/LICENCE
new file mode 100644
index 0000000000..25a1d22dfe
--- /dev/null
+++ b/simplepie/idn/LICENCE
@@ -0,0 +1,502 @@
+                  GNU LESSER GENERAL PUBLIC LICENSE
+                       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+                            Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+                  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+                            NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+                     END OF TERMS AND CONDITIONS
+
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/simplepie/idn/ReadMe.txt b/simplepie/idn/ReadMe.txt
new file mode 100644
index 0000000000..7ca8c7e6de
--- /dev/null
+++ b/simplepie/idn/ReadMe.txt
@@ -0,0 +1,123 @@
+*******************************************************************************
+*                                                                             *
+*                    IDNA Convert (idna_convert.class.php)                    *
+*                                                                             *
+* http://idnaconv.phlymail.de                     mailto:phlymail@phlylabs.de *
+*******************************************************************************
+* (c) 2004-2007 phlyLabs, Berlin                                              *
+* This file is encoded in UTF-8                                               *
+*******************************************************************************
+
+Introduction
+------------
+
+The class idna_convert allows to convert internationalized domain names
+(see RFC 3490, 3491, 3492 and 3454 for detials) as they can be used with various
+registries worldwide to be translated between their original (localized) form
+and their encoded form as it will be used in the DNS (Domain Name System).
+
+The class provides two public methods, encode() and decode(), which do exactly
+what you would expect them to do. You are allowed to use complete domain names,
+simple strings and complete email addresses as well. That means, that you might
+use any of the following notations:
+
+- www.nörgler.com
+- xn--nrgler-wxa
+- xn--brse-5qa.xn--knrz-1ra.info
+
+Errors, incorrectly encoded or invalid strings will lead to either a FALSE
+response (when in strict mode) or to only partially converted strings.
+You can query the occured error by calling the method get_last_error().
+
+Unicode strings are expected to be either UTF-8 strings, UCS-4 strings or UCS-4
+arrays. The default format is UTF-8. For setting different encodings, you can
+call the method setParams() - please see the inline documentation for details.
+ACE strings (the Punycode form) are always 7bit ASCII strings.
+
+ATTENTION: We no longer supply the PHP5 version of the class. It is not
+necessary for achieving a successfull conversion, since the supplied PHP code is
+compatible with both PHP4 and PHP5. We expect to see no compatibility issues
+with the upcoming PHP6, too.
+
+
+Files
+-----
+
+idna_convert.class.php         - The actual class
+idna_convert.create.npdata.php - Useful for (re)creating the NPData file
+npdata.ser                     - Serialized data for NamePrep
+example.php                    - An example web page for converting
+ReadMe.txt                     - This file
+LICENCE                        - The LGPL licence file
+
+The class is contained in idna_convert.class.php.
+MAKE SURE to copy the npdata.ser file into the same folder as the class file
+itself!
+
+
+Examples
+--------
+
+1. Say we wish to encode the domain name nörgler.com:
+
+// Include the class
+include_once('idna_convert.class.php');
+// Instantiate it *
+$IDN = new idna_convert();
+// The input string, if input is not UTF-8 or UCS-4, it must be converted before
+$input = utf8_encode('nörgler.com');
+// Encode it to its punycode presentation
+$output = $IDN->encode($input);
+// Output, what we got now
+echo $output; // This will read: xn--nrgler-wxa.com
+
+
+2. We received an email from a punycoded domain and are willing to learn, how
+   the domain name reads originally
+
+// Include the class
+include_once('idna_convert.class.php');
+// Instantiate it (depending on the version you are using) with
+$IDN = new idna_convert();
+// The input string
+$input = 'andre@xn--brse-5qa.xn--knrz-1ra.info';
+// Encode it to its punycode presentation
+$output = $IDN->decode($input);
+// Output, what we got now, if output should be in a format different to UTF-8
+// or UCS-4, you will have to convert it before outputting it
+echo utf8_decode($output); // This will read: andre@börse.knörz.info
+
+
+3. The input is read from a UCS-4 coded file and encoded line by line. By
+   appending the optional second parameter we tell enode() about the input
+   format to be used
+
+// Include the class
+include_once('idna_convert.class.php');
+// Instantiate it
+$IDN = new dinca_convert();
+// Iterate through the input file line by line
+foreach (file('ucs4-domains.txt') as $line) {
+    echo $IDN->encode(trim($line), 'ucs4_string');
+    echo "\n";
+}
+
+
+NPData
+------
+
+Should you need to recreate the npdata.ser file, which holds all necessary translation
+tables in a serialized format, you can run the file idna_convert.create.npdata.php, which
+creates the file for you and stores it in the same folder, where it is placed.
+Should you need to do changes to the tables you can do so, but beware of the consequences.
+
+
+Contact us
+----------
+
+In case of errors, bugs, questions, wishes, please don't hesitate to contact us
+under the email address above.
+
+The team of phlyLabs
+http://phlylabs.de
+mailto:phlymail@phlylabs.de
\ No newline at end of file
diff --git a/simplepie/idn/idna_convert.class.php b/simplepie/idn/idna_convert.class.php
new file mode 100644
index 0000000000..ed2bae26db
--- /dev/null
+++ b/simplepie/idn/idna_convert.class.php
@@ -0,0 +1,969 @@
+<?php
+// {{{ license
+
+/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 foldmethod=marker: */
+//
+// +----------------------------------------------------------------------+
+// | This library is free software; you can redistribute it and/or modify |
+// | it under the terms of the GNU Lesser General Public License as       |
+// | published by the Free Software Foundation; either version 2.1 of the |
+// | License, or (at your option) any later version.                      |
+// |                                                                      |
+// | This library is distributed in the hope that it will be useful, but  |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of           |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU    |
+// | Lesser General Public License for more details.                      |
+// |                                                                      |
+// | You should have received a copy of the GNU Lesser General Public     |
+// | License along with this library; if not, write to the Free Software  |
+// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 |
+// | USA.                                                                 |
+// +----------------------------------------------------------------------+
+//
+
+// }}}
+
+/**
+ * Encode/decode Internationalized Domain Names.
+ *
+ * The class allows to convert internationalized domain names
+ * (see RFC 3490 for details) as they can be used with various registries worldwide
+ * to be translated between their original (localized) form and their encoded form
+ * as it will be used in the DNS (Domain Name System).
+ *
+ * The class provides two public methods, encode() and decode(), which do exactly
+ * what you would expect them to do. You are allowed to use complete domain names,
+ * simple strings and complete email addresses as well. That means, that you might
+ * use any of the following notations:
+ *
+ * - www.nörgler.com
+ * - xn--nrgler-wxa
+ * - xn--brse-5qa.xn--knrz-1ra.info
+ *
+ * Unicode input might be given as either UTF-8 string, UCS-4 string or UCS-4
+ * array. Unicode output is available in the same formats.
+ * You can select your preferred format via {@link set_paramter()}.
+ *
+ * ACE input and output is always expected to be ASCII.
+ *
+ * @author  Matthias Sommerfeld <mso@phlylabs.de>
+ * @copyright 2004-2007 phlyLabs Berlin, http://phlylabs.de
+ * @version 0.5.1
+ *
+ */
+class idna_convert
+{
+    /**
+     * Holds all relevant mapping tables, loaded from a seperate file on construct
+     * See RFC3454 for details
+     *
+     * @var array
+     * @access private
+     */
+    var $NP = array();
+
+    // Internal settings, do not mess with them
+    var $_punycode_prefix = 'xn--';
+    var $_invalid_ucs =     0x80000000;
+    var $_max_ucs =         0x10FFFF;
+    var $_base =            36;
+    var $_tmin =            1;
+    var $_tmax =            26;
+    var $_skew =            38;
+    var $_damp =            700;
+    var $_initial_bias =    72;
+    var $_initial_n =       0x80;
+    var $_sbase =           0xAC00;
+    var $_lbase =           0x1100;
+    var $_vbase =           0x1161;
+    var $_tbase =           0x11A7;
+    var $_lcount =          19;
+    var $_vcount =          21;
+    var $_tcount =          28;
+    var $_ncount =          588;   // _vcount * _tcount
+    var $_scount =          11172; // _lcount * _tcount * _vcount
+    var $_error =           false;
+
+    // See {@link set_paramter()} for details of how to change the following
+    // settings from within your script / application
+    var $_api_encoding   =  'utf8'; // Default input charset is UTF-8
+    var $_allow_overlong =  false;  // Overlong UTF-8 encodings are forbidden
+    var $_strict_mode    =  false;  // Behave strict or not
+
+    // The constructor
+    function idna_convert($options = false)
+    {
+        $this->slast = $this->_sbase + $this->_lcount * $this->_vcount * $this->_tcount;
+        if (function_exists('file_get_contents')) {
+            $this->NP = unserialize(file_get_contents(dirname(__FILE__).'/npdata.ser'));
+        } else {
+            $this->NP = unserialize(join('', file(dirname(__FILE__).'/npdata.ser')));
+        }
+        // If parameters are given, pass these to the respective method
+        if (is_array($options)) {
+            return $this->set_parameter($options);
+        }
+        return true;
+    }
+
+    /**
+     * Sets a new option value. Available options and values:
+     * [encoding - Use either UTF-8, UCS4 as array or UCS4 as string as input ('utf8' for UTF-8,
+     *         'ucs4_string' and 'ucs4_array' respectively for UCS4); The output is always UTF-8]
+     * [overlong - Unicode does not allow unnecessarily long encodings of chars,
+     *             to allow this, set this parameter to true, else to false;
+     *             default is false.]
+     * [strict - true: strict mode, good for registration purposes - Causes errors
+     *           on failures; false: loose mode, ideal for "wildlife" applications
+     *           by silently ignoring errors and returning the original input instead
+     *
+     * @param    mixed     Parameter to set (string: single parameter; array of Parameter => Value pairs)
+     * @param    string    Value to use (if parameter 1 is a string)
+     * @return   boolean   true on success, false otherwise
+     * @access   public
+     */
+    function set_parameter($option, $value = false)
+    {
+        if (!is_array($option)) {
+            $option = array($option => $value);
+        }
+        foreach ($option as $k => $v) {
+            switch ($k) {
+            case 'encoding':
+                switch ($v) {
+                case 'utf8':
+                case 'ucs4_string':
+                case 'ucs4_array':
+                    $this->_api_encoding = $v;
+                    break;
+                default:
+                    $this->_error('Set Parameter: Unknown parameter '.$v.' for option '.$k);
+                    return false;
+                }
+                break;
+            case 'overlong':
+                $this->_allow_overlong = ($v) ? true : false;
+                break;
+            case 'strict':
+                $this->_strict_mode = ($v) ? true : false;
+                break;
+            default:
+                $this->_error('Set Parameter: Unknown option '.$k);
+                return false;
+            }
+        }
+        return true;
+    }
+
+    /**
+     * Decode a given ACE domain name
+     * @param    string   Domain name (ACE string)
+     * [@param    string   Desired output encoding, see {@link set_parameter}]
+     * @return   string   Decoded Domain name (UTF-8 or UCS-4)
+     * @access   public
+     */
+    function decode($input, $one_time_encoding = false)
+    {
+        // Optionally set
+        if ($one_time_encoding) {
+            switch ($one_time_encoding) {
+            case 'utf8':
+            case 'ucs4_string':
+            case 'ucs4_array':
+                break;
+            default:
+                $this->_error('Unknown encoding '.$one_time_encoding);
+                return false;
+            }
+        }
+        // Make sure to drop any newline characters around
+        $input = trim($input);
+
+        // Negotiate input and try to determine, whether it is a plain string,
+        // an email address or something like a complete URL
+        if (strpos($input, '@')) { // Maybe it is an email address
+            // No no in strict mode
+            if ($this->_strict_mode) {
+                $this->_error('Only simple domain name parts can be handled in strict mode');
+                return false;
+            }
+            list ($email_pref, $input) = explode('@', $input, 2);
+            $arr = explode('.', $input);
+            foreach ($arr as $k => $v) {
+                if (preg_match('!^'.preg_quote($this->_punycode_prefix, '!').'!', $v)) {
+                    $conv = $this->_decode($v);
+                    if ($conv) $arr[$k] = $conv;
+                }
+            }
+            $input = join('.', $arr);
+            $arr = explode('.', $email_pref);
+            foreach ($arr as $k => $v) {
+                if (preg_match('!^'.preg_quote($this->_punycode_prefix, '!').'!', $v)) {
+                    $conv = $this->_decode($v);
+                    if ($conv) $arr[$k] = $conv;
+                }
+            }
+            $email_pref = join('.', $arr);
+            $return = $email_pref . '@' . $input;
+        } elseif (preg_match('![:\./]!', $input)) { // Or a complete domain name (with or without paths / parameters)
+            // No no in strict mode
+            if ($this->_strict_mode) {
+                $this->_error('Only simple domain name parts can be handled in strict mode');
+                return false;
+            }
+            $parsed = parse_url($input);
+            if (isset($parsed['host'])) {
+                $arr = explode('.', $parsed['host']);
+                foreach ($arr as $k => $v) {
+                    $conv = $this->_decode($v);
+                    if ($conv) $arr[$k] = $conv;
+                }
+                $parsed['host'] = join('.', $arr);
+                $return =
+                        (empty($parsed['scheme']) ? '' : $parsed['scheme'].(strtolower($parsed['scheme']) == 'mailto' ? ':' : '://'))
+                        .(empty($parsed['user']) ? '' : $parsed['user'].(empty($parsed['pass']) ? '' : ':'.$parsed['pass']).'@')
+                        .$parsed['host']
+                        .(empty($parsed['port']) ? '' : ':'.$parsed['port'])
+                        .(empty($parsed['path']) ? '' : $parsed['path'])
+                        .(empty($parsed['query']) ? '' : '?'.$parsed['query'])
+                        .(empty($parsed['fragment']) ? '' : '#'.$parsed['fragment']);
+            } else { // parse_url seems to have failed, try without it
+                $arr = explode('.', $input);
+                foreach ($arr as $k => $v) {
+                    $conv = $this->_decode($v);
+                    $arr[$k] = ($conv) ? $conv : $v;
+                }
+                $return = join('.', $arr);
+            }
+        } else { // Otherwise we consider it being a pure domain name string
+            $return = $this->_decode($input);
+            if (!$return) $return = $input;
+        }
+        // The output is UTF-8 by default, other output formats need conversion here
+        // If one time encoding is given, use this, else the objects property
+        switch (($one_time_encoding) ? $one_time_encoding : $this->_api_encoding) {
+        case 'utf8':
+            return $return;
+            break;
+        case 'ucs4_string':
+           return $this->_ucs4_to_ucs4_string($this->_utf8_to_ucs4($return));
+           break;
+        case 'ucs4_array':
+            return $this->_utf8_to_ucs4($return);
+            break;
+        default:
+            $this->_error('Unsupported output format');
+            return false;
+        }
+    }
+
+    /**
+     * Encode a given UTF-8 domain name
+     * @param    string   Domain name (UTF-8 or UCS-4)
+     * [@param    string   Desired input encoding, see {@link set_parameter}]
+     * @return   string   Encoded Domain name (ACE string)
+     * @access   public
+     */
+    function encode($decoded, $one_time_encoding = false)
+    {
+        // Forcing conversion of input to UCS4 array
+        // If one time encoding is given, use this, else the objects property
+        switch ($one_time_encoding ? $one_time_encoding : $this->_api_encoding) {
+        case 'utf8':
+            $decoded = $this->_utf8_to_ucs4($decoded);
+            break;
+        case 'ucs4_string':
+           $decoded = $this->_ucs4_string_to_ucs4($decoded);
+        case 'ucs4_array':
+           break;
+        default:
+            $this->_error('Unsupported input format: '.($one_time_encoding ? $one_time_encoding : $this->_api_encoding));
+            return false;
+        }
+
+        // No input, no output, what else did you expect?
+        if (empty($decoded)) return '';
+
+        // Anchors for iteration
+        $last_begin = 0;
+        // Output string
+        $output = '';
+        foreach ($decoded as $k => $v) {
+            // Make sure to use just the plain dot
+            switch($v) {
+            case 0x3002:
+            case 0xFF0E:
+            case 0xFF61:
+                $decoded[$k] = 0x2E;
+                // Right, no break here, the above are converted to dots anyway
+            // Stumbling across an anchoring character
+            case 0x2E:
+            case 0x2F:
+            case 0x3A:
+            case 0x3F:
+            case 0x40:
+                // Neither email addresses nor URLs allowed in strict mode
+                if ($this->_strict_mode) {
+                   $this->_error('Neither email addresses nor URLs are allowed in strict mode.');
+                   return false;
+                } else {
+                    // Skip first char
+                    if ($k) {
+                        $encoded = '';
+                        $encoded = $this->_encode(array_slice($decoded, $last_begin, (($k)-$last_begin)));
+                        if ($encoded) {
+                            $output .= $encoded;
+                        } else {
+                            $output .= $this->_ucs4_to_utf8(array_slice($decoded, $last_begin, (($k)-$last_begin)));
+                        }
+                        $output .= chr($decoded[$k]);
+                    }
+                    $last_begin = $k + 1;
+                }
+            }
+        }
+        // Catch the rest of the string
+        if ($last_begin) {
+            $inp_len = sizeof($decoded);
+            $encoded = '';
+            $encoded = $this->_encode(array_slice($decoded, $last_begin, (($inp_len)-$last_begin)));
+            if ($encoded) {
+                $output .= $encoded;
+            } else {
+                $output .= $this->_ucs4_to_utf8(array_slice($decoded, $last_begin, (($inp_len)-$last_begin)));
+            }
+            return $output;
+        } else {
+            if ($output = $this->_encode($decoded)) {
+                return $output;
+            } else {
+                return $this->_ucs4_to_utf8($decoded);
+            }
+        }
+    }
+
+    /**
+     * Use this method to get the last error ocurred
+     * @param    void
+     * @return   string   The last error, that occured
+     * @access   public
+     */
+    function get_last_error()
+    {
+        return $this->_error;
+    }
+
+    /**
+     * The actual decoding algorithm
+     * @access   private
+     */
+    function _decode($encoded)
+    {
+        // We do need to find the Punycode prefix
+        if (!preg_match('!^'.preg_quote($this->_punycode_prefix, '!').'!', $encoded)) {
+            $this->_error('This is not a punycode string');
+            return false;
+        }
+        $encode_test = preg_replace('!^'.preg_quote($this->_punycode_prefix, '!').'!', '', $encoded);
+        // If nothing left after removing the prefix, it is hopeless
+        if (!$encode_test) {
+            $this->_error('The given encoded string was empty');
+            return false;
+        }
+        // Find last occurence of the delimiter
+        $delim_pos = strrpos($encoded, '-');
+        if ($delim_pos > strlen($this->_punycode_prefix)) {
+            for ($k = strlen($this->_punycode_prefix); $k < $delim_pos; ++$k) {
+                $decoded[] = ord($encoded{$k});
+            }
+        } else {
+            $decoded = array();
+        }
+        $deco_len = count($decoded);
+        $enco_len = strlen($encoded);
+
+        // Wandering through the strings; init
+        $is_first = true;
+        $bias     = $this->_initial_bias;
+        $idx      = 0;
+        $char     = $this->_initial_n;
+
+        for ($enco_idx = ($delim_pos) ? ($delim_pos + 1) : 0; $enco_idx < $enco_len; ++$deco_len) {
+            for ($old_idx = $idx, $w = 1, $k = $this->_base; 1 ; $k += $this->_base) {
+                $digit = $this->_decode_digit($encoded{$enco_idx++});
+                $idx += $digit * $w;
+                $t = ($k <= $bias) ? $this->_tmin :
+                        (($k >= $bias + $this->_tmax) ? $this->_tmax : ($k - $bias));
+                if ($digit < $t) break;
+                $w = (int) ($w * ($this->_base - $t));
+            }
+            $bias = $this->_adapt($idx - $old_idx, $deco_len + 1, $is_first);
+            $is_first = false;
+            $char += (int) ($idx / ($deco_len + 1));
+            $idx %= ($deco_len + 1);
+            if ($deco_len > 0) {
+                // Make room for the decoded char
+                for ($i = $deco_len; $i > $idx; $i--) {
+                    $decoded[$i] = $decoded[($i - 1)];
+                }
+            }
+            $decoded[$idx++] = $char;
+        }
+        return $this->_ucs4_to_utf8($decoded);
+    }
+
+    /**
+     * The actual encoding algorithm
+     * @access   private
+     */
+    function _encode($decoded)
+    {
+        // We cannot encode a domain name containing the Punycode prefix
+        $extract = strlen($this->_punycode_prefix);
+        $check_pref = $this->_utf8_to_ucs4($this->_punycode_prefix);
+        $check_deco = array_slice($decoded, 0, $extract);
+
+        if ($check_pref == $check_deco) {
+            $this->_error('This is already a punycode string');
+            return false;
+        }
+        // We will not try to encode strings consisting of basic code points only
+        $encodable = false;
+        foreach ($decoded as $k => $v) {
+            if ($v > 0x7a) {
+                $encodable = true;
+                break;
+            }
+        }
+        if (!$encodable) {
+            $this->_error('The given string does not contain encodable chars');
+            return false;
+        }
+
+        // Do NAMEPREP
+        $decoded = $this->_nameprep($decoded);
+        if (!$decoded || !is_array($decoded)) return false; // NAMEPREP failed
+
+        $deco_len  = count($decoded);
+        if (!$deco_len) return false; // Empty array
+
+        $codecount = 0; // How many chars have been consumed
+
+        $encoded = '';
+        // Copy all basic code points to output
+        for ($i = 0; $i < $deco_len; ++$i) {
+            $test = $decoded[$i];
+            // Will match [-0-9a-zA-Z]
+            if ((0x2F < $test && $test < 0x40) || (0x40 < $test && $test < 0x5B)
+                    || (0x60 < $test && $test <= 0x7B) || (0x2D == $test)) {
+                $encoded .= chr($decoded[$i]);
+                $codecount++;
+            }
+        }
+        if ($codecount == $deco_len) return $encoded; // All codepoints were basic ones
+
+        // Start with the prefix; copy it to output
+        $encoded = $this->_punycode_prefix.$encoded;
+
+        // If we have basic code points in output, add an hyphen to the end
+        if ($codecount) $encoded .= '-';
+
+        // Now find and encode all non-basic code points
+        $is_first  = true;
+        $cur_code  = $this->_initial_n;
+        $bias      = $this->_initial_bias;
+        $delta     = 0;
+        while ($codecount < $deco_len) {
+            // Find the smallest code point >= the current code point and
+            // remember the last ouccrence of it in the input
+            for ($i = 0, $next_code = $this->_max_ucs; $i < $deco_len; $i++) {
+                if ($decoded[$i] >= $cur_code && $decoded[$i] <= $next_code) {
+                    $next_code = $decoded[$i];
+                }
+            }
+
+            $delta += ($next_code - $cur_code) * ($codecount + 1);
+            $cur_code = $next_code;
+
+            // Scan input again and encode all characters whose code point is $cur_code
+            for ($i = 0; $i < $deco_len; $i++) {
+                if ($decoded[$i] < $cur_code) {
+                    $delta++;
+                } elseif ($decoded[$i] == $cur_code) {
+                    for ($q = $delta, $k = $this->_base; 1; $k += $this->_base) {
+                        $t = ($k <= $bias) ? $this->_tmin :
+                                (($k >= $bias + $this->_tmax) ? $this->_tmax : $k - $bias);
+                        if ($q < $t) break;
+                        $encoded .= $this->_encode_digit(intval($t + (($q - $t) % ($this->_base - $t)))); //v0.4.5 Changed from ceil() to intval()
+                        $q = (int) (($q - $t) / ($this->_base - $t));
+                    }
+                    $encoded .= $this->_encode_digit($q);
+                    $bias = $this->_adapt($delta, $codecount+1, $is_first);
+                    $codecount++;
+                    $delta = 0;
+                    $is_first = false;
+                }
+            }
+            $delta++;
+            $cur_code++;
+        }
+        return $encoded;
+    }
+
+    /**
+     * Adapt the bias according to the current code point and position
+     * @access   private
+     */
+    function _adapt($delta, $npoints, $is_first)
+    {
+        $delta = intval($is_first ? ($delta / $this->_damp) : ($delta / 2));
+        $delta += intval($delta / $npoints);
+        for ($k = 0; $delta > (($this->_base - $this->_tmin) * $this->_tmax) / 2; $k += $this->_base) {
+            $delta = intval($delta / ($this->_base - $this->_tmin));
+        }
+        return intval($k + ($this->_base - $this->_tmin + 1) * $delta / ($delta + $this->_skew));
+    }
+
+    /**
+     * Encoding a certain digit
+     * @access   private
+     */
+    function _encode_digit($d)
+    {
+        return chr($d + 22 + 75 * ($d < 26));
+    }
+
+    /**
+     * Decode a certain digit
+     * @access   private
+     */
+    function _decode_digit($cp)
+    {
+        $cp = ord($cp);
+        return ($cp - 48 < 10) ? $cp - 22 : (($cp - 65 < 26) ? $cp - 65 : (($cp - 97 < 26) ? $cp - 97 : $this->_base));
+    }
+
+    /**
+     * Internal error handling method
+     * @access   private
+     */
+    function _error($error = '')
+    {
+        $this->_error = $error;
+    }
+
+    /**
+     * Do Nameprep according to RFC3491 and RFC3454
+     * @param    array    Unicode Characters
+     * @return   string   Unicode Characters, Nameprep'd
+     * @access   private
+     */
+    function _nameprep($input)
+    {
+        $output = array();
+        $error = false;
+        //
+        // Mapping
+        // Walking through the input array, performing the required steps on each of
+        // the input chars and putting the result into the output array
+        // While mapping required chars we apply the cannonical ordering
+        foreach ($input as $v) {
+            // Map to nothing == skip that code point
+            if (in_array($v, $this->NP['map_nothing'])) continue;
+
+            // Try to find prohibited input
+            if (in_array($v, $this->NP['prohibit']) || in_array($v, $this->NP['general_prohibited'])) {
+                $this->_error('NAMEPREP: Prohibited input U+'.sprintf('%08X', $v));
+                return false;
+            }
+            foreach ($this->NP['prohibit_ranges'] as $range) {
+                if ($range[0] <= $v && $v <= $range[1]) {
+                    $this->_error('NAMEPREP: Prohibited input U+'.sprintf('%08X', $v));
+                    return false;
+                }
+            }
+            //
+            // Hangul syllable decomposition
+            if (0xAC00 <= $v && $v <= 0xD7AF) {
+                foreach ($this->_hangul_decompose($v) as $out) {
+                    $output[] = (int) $out;
+                }
+            // There's a decomposition mapping for that code point
+            } elseif (isset($this->NP['replacemaps'][$v])) {
+                foreach ($this->_apply_cannonical_ordering($this->NP['replacemaps'][$v]) as $out) {
+                    $output[] = (int) $out;
+                }
+            } else {
+                $output[] = (int) $v;
+            }
+        }
+        // Before applying any Combining, try to rearrange any Hangul syllables
+        $output = $this->_hangul_compose($output);
+        //
+        // Combine code points
+        //
+        $last_class   = 0;
+        $last_starter = 0;
+        $out_len      = count($output);
+        for ($i = 0; $i < $out_len; ++$i) {
+            $class = $this->_get_combining_class($output[$i]);
+            if ((!$last_class || $last_class > $class) && $class) {
+                // Try to match
+                $seq_len = $i - $last_starter;
+                $out = $this->_combine(array_slice($output, $last_starter, $seq_len));
+                // On match: Replace the last starter with the composed character and remove
+                // the now redundant non-starter(s)
+                if ($out) {
+                    $output[$last_starter] = $out;
+                    if (count($out) != $seq_len) {
+                        for ($j = $i+1; $j < $out_len; ++$j) {
+                            $output[$j-1] = $output[$j];
+                        }
+                        unset($output[$out_len]);
+                    }
+                    // Rewind the for loop by one, since there can be more possible compositions
+                    $i--;
+                    $out_len--;
+                    $last_class = ($i == $last_starter) ? 0 : $this->_get_combining_class($output[$i-1]);
+                    continue;
+                }
+            }
+            // The current class is 0
+            if (!$class) $last_starter = $i;
+            $last_class = $class;
+        }
+        return $output;
+    }
+
+    /**
+     * Decomposes a Hangul syllable
+     * (see http://www.unicode.org/unicode/reports/tr15/#Hangul
+     * @param    integer  32bit UCS4 code point
+     * @return   array    Either Hangul Syllable decomposed or original 32bit value as one value array
+     * @access   private
+     */
+    function _hangul_decompose($char)
+    {
+        $sindex = (int) $char - $this->_sbase;
+        if ($sindex < 0 || $sindex >= $this->_scount) {
+            return array($char);
+        }
+        $result = array();
+        $result[] = (int) $this->_lbase + $sindex / $this->_ncount;
+        $result[] = (int) $this->_vbase + ($sindex % $this->_ncount) / $this->_tcount;
+        $T = intval($this->_tbase + $sindex % $this->_tcount);
+        if ($T != $this->_tbase) $result[] = $T;
+        return $result;
+    }
+    /**
+     * Ccomposes a Hangul syllable
+     * (see http://www.unicode.org/unicode/reports/tr15/#Hangul
+     * @param    array    Decomposed UCS4 sequence
+     * @return   array    UCS4 sequence with syllables composed
+     * @access   private
+     */
+    function _hangul_compose($input)
+    {
+        $inp_len = count($input);
+        if (!$inp_len) return array();
+        $result = array();
+        $last = (int) $input[0];
+        $result[] = $last; // copy first char from input to output
+
+        for ($i = 1; $i < $inp_len; ++$i) {
+            $char = (int) $input[$i];
+            $sindex = $last - $this->_sbase;
+            $lindex = $last - $this->_lbase;
+            $vindex = $char - $this->_vbase;
+            $tindex = $char - $this->_tbase;
+            // Find out, whether two current characters are LV and T
+            if (0 <= $sindex && $sindex < $this->_scount && ($sindex % $this->_tcount == 0)
+                    && 0 <= $tindex && $tindex <= $this->_tcount) {
+                // create syllable of form LVT
+                $last += $tindex;
+                $result[(count($result) - 1)] = $last; // reset last
+                continue; // discard char
+            }
+            // Find out, whether two current characters form L and V
+            if (0 <= $lindex && $lindex < $this->_lcount && 0 <= $vindex && $vindex < $this->_vcount) {
+                // create syllable of form LV
+                $last = (int) $this->_sbase + ($lindex * $this->_vcount + $vindex) * $this->_tcount;
+                $result[(count($result) - 1)] = $last; // reset last
+                continue; // discard char
+            }
+            // if neither case was true, just add the character
+            $last = $char;
+            $result[] = $char;
+        }
+        return $result;
+    }
+
+    /**
+     * Returns the combining class of a certain wide char
+     * @param    integer    Wide char to check (32bit integer)
+     * @return   integer    Combining class if found, else 0
+     * @access   private
+     */
+    function _get_combining_class($char)
+    {
+        return isset($this->NP['norm_combcls'][$char]) ? $this->NP['norm_combcls'][$char] : 0;
+    }
+
+    /**
+     * Apllies the cannonical ordering of a decomposed UCS4 sequence
+     * @param    array      Decomposed UCS4 sequence
+     * @return   array      Ordered USC4 sequence
+     * @access   private
+     */
+    function _apply_cannonical_ordering($input)
+    {
+        $swap = true;
+        $size = count($input);
+        while ($swap) {
+            $swap = false;
+            $last = $this->_get_combining_class(intval($input[0]));
+            for ($i = 0; $i < $size-1; ++$i) {
+                $next = $this->_get_combining_class(intval($input[$i+1]));
+                if ($next != 0 && $last > $next) {
+                    // Move item leftward until it fits
+                    for ($j = $i + 1; $j > 0; --$j) {
+                        if ($this->_get_combining_class(intval($input[$j-1])) <= $next) break;
+                        $t = intval($input[$j]);
+                        $input[$j] = intval($input[$j-1]);
+                        $input[$j-1] = $t;
+                        $swap = true;
+                    }
+                    // Reentering the loop looking at the old character again
+                    $next = $last;
+                }
+                $last = $next;
+            }
+        }
+        return $input;
+    }
+
+    /**
+     * Do composition of a sequence of starter and non-starter
+     * @param    array      UCS4 Decomposed sequence
+     * @return   array      Ordered USC4 sequence
+     * @access   private
+     */
+    function _combine($input)
+    {
+        $inp_len = count($input);
+        foreach ($this->NP['replacemaps'] as $np_src => $np_target) {
+            if ($np_target[0] != $input[0]) continue;
+            if (count($np_target) != $inp_len) continue;
+            $hit = false;
+            foreach ($input as $k2 => $v2) {
+                if ($v2 == $np_target[$k2]) {
+                    $hit = true;
+                } else {
+                    $hit = false;
+                    break;
+                }
+            }
+            if ($hit) return $np_src;
+        }
+        return false;
+    }
+
+    /**
+     * This converts an UTF-8 encoded string to its UCS-4 representation
+     * By talking about UCS-4 "strings" we mean arrays of 32bit integers representing
+     * each of the "chars". This is due to PHP not being able to handle strings with
+     * bit depth different from 8. This apllies to the reverse method _ucs4_to_utf8(), too.
+     * The following UTF-8 encodings are supported:
+     * bytes bits  representation
+     * 1        7  0xxxxxxx
+     * 2       11  110xxxxx 10xxxxxx
+     * 3       16  1110xxxx 10xxxxxx 10xxxxxx
+     * 4       21  11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
+     * 5       26  111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
+     * 6       31  1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
+     * Each x represents a bit that can be used to store character data.
+     * The five and six byte sequences are part of Annex D of ISO/IEC 10646-1:2000
+     * @access   private
+     */
+    function _utf8_to_ucs4($input)
+    {
+        $output = array();
+        $out_len = 0;
+        $inp_len = strlen($input);
+        $mode = 'next';
+        $test = 'none';
+        for ($k = 0; $k < $inp_len; ++$k) {
+            $v = ord($input{$k}); // Extract byte from input string
+
+            if ($v < 128) { // We found an ASCII char - put into stirng as is
+                $output[$out_len] = $v;
+                ++$out_len;
+                if ('add' == $mode) {
+                    $this->_error('Conversion from UTF-8 to UCS-4 failed: malformed input at byte '.$k);
+                    return false;
+                }
+                continue;
+            }
+            if ('next' == $mode) { // Try to find the next start byte; determine the width of the Unicode char
+                $start_byte = $v;
+                $mode = 'add';
+                $test = 'range';
+                if ($v >> 5 == 6) { // &110xxxxx 10xxxxx
+                    $next_byte = 0; // Tells, how many times subsequent bitmasks must rotate 6bits to the left
+                    $v = ($v - 192) << 6;
+                } elseif ($v >> 4 == 14) { // &1110xxxx 10xxxxxx 10xxxxxx
+                    $next_byte = 1;
+                    $v = ($v - 224) << 12;
+                } elseif ($v >> 3 == 30) { // &11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
+                    $next_byte = 2;
+                    $v = ($v - 240) << 18;
+                } elseif ($v >> 2 == 62) { // &111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
+                    $next_byte = 3;
+                    $v = ($v - 248) << 24;
+                } elseif ($v >> 1 == 126) { // &1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
+                    $next_byte = 4;
+                    $v = ($v - 252) << 30;
+                } else {
+                    $this->_error('This might be UTF-8, but I don\'t understand it at byte '.$k);
+                    return false;
+                }
+                if ('add' == $mode) {
+                    $output[$out_len] = (int) $v;
+                    ++$out_len;
+                    continue;
+                }
+            }
+            if ('add' == $mode) {
+                if (!$this->_allow_overlong && $test == 'range') {
+                    $test = 'none';
+                    if (($v < 0xA0 && $start_byte == 0xE0) || ($v < 0x90 && $start_byte == 0xF0) || ($v > 0x8F && $start_byte == 0xF4)) {
+                        $this->_error('Bogus UTF-8 character detected (out of legal range) at byte '.$k);
+                        return false;
+                    }
+                }
+                if ($v >> 6 == 2) { // Bit mask must be 10xxxxxx
+                    $v = ($v - 128) << ($next_byte * 6);
+                    $output[($out_len - 1)] += $v;
+                    --$next_byte;
+                } else {
+                    $this->_error('Conversion from UTF-8 to UCS-4 failed: malformed input at byte '.$k);
+                    return false;
+                }
+                if ($next_byte < 0) {
+                    $mode = 'next';
+                }
+            }
+        } // for
+        return $output;
+    }
+
+    /**
+     * Convert UCS-4 string into UTF-8 string
+     * See _utf8_to_ucs4() for details
+     * @access   private
+     */
+    function _ucs4_to_utf8($input)
+    {
+        $output = '';
+        $k = 0;
+        foreach ($input as $v) {
+            ++$k;
+            // $v = ord($v);
+            if ($v < 128) { // 7bit are transferred literally
+                $output .= chr($v);
+            } elseif ($v < (1 << 11)) { // 2 bytes
+                $output .= chr(192 + ($v >> 6)) . chr(128 + ($v & 63));
+            } elseif ($v < (1 << 16)) { // 3 bytes
+                $output .= chr(224 + ($v >> 12)) . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63));
+            } elseif ($v < (1 << 21)) { // 4 bytes
+                $output .= chr(240 + ($v >> 18)) . chr(128 + (($v >> 12) & 63))
+                         . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63));
+            } elseif ($v < (1 << 26)) { // 5 bytes
+                $output .= chr(248 + ($v >> 24)) . chr(128 + (($v >> 18) & 63))
+                         . chr(128 + (($v >> 12) & 63)) . chr(128 + (($v >> 6) & 63))
+                         . chr(128 + ($v & 63));
+            } elseif ($v < (1 << 31)) { // 6 bytes
+                $output .= chr(252 + ($v >> 30)) . chr(128 + (($v >> 24) & 63))
+                         . chr(128 + (($v >> 18) & 63)) . chr(128 + (($v >> 12) & 63))
+                         . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63));
+            } else {
+                $this->_error('Conversion from UCS-4 to UTF-8 failed: malformed input at byte '.$k);
+                return false;
+            }
+        }
+        return $output;
+    }
+
+    /**
+      * Convert UCS-4 array into UCS-4 string
+      *
+      * @access   private
+      */
+    function _ucs4_to_ucs4_string($input)
+    {
+        $output = '';
+        // Take array values and split output to 4 bytes per value
+        // The bit mask is 255, which reads &11111111
+        foreach ($input as $v) {
+            $output .= chr(($v >> 24) & 255).chr(($v >> 16) & 255).chr(($v >> 8) & 255).chr($v & 255);
+        }
+        return $output;
+    }
+
+    /**
+      * Convert UCS-4 strin into UCS-4 garray
+      *
+      * @access   private
+      */
+    function _ucs4_string_to_ucs4($input)
+    {
+        $output = array();
+        $inp_len = strlen($input);
+        // Input length must be dividable by 4
+        if ($inp_len % 4) {
+            $this->_error('Input UCS4 string is broken');
+            return false;
+        }
+        // Empty input - return empty output
+        if (!$inp_len) return $output;
+        for ($i = 0, $out_len = -1; $i < $inp_len; ++$i) {
+            // Increment output position every 4 input bytes
+            if (!($i % 4)) {
+                $out_len++;
+                $output[$out_len] = 0;
+            }
+            $output[$out_len] += ord($input{$i}) << (8 * (3 - ($i % 4) ) );
+        }
+        return $output;
+    }
+}
+
+/**
+* Adapter class for aligning the API of idna_convert with that of Net_IDNA
+* @author  Matthias Sommerfeld <mso@phlylabs.de>
+*/
+class Net_IDNA_php4 extends idna_convert
+{
+    /**
+     * Sets a new option value. Available options and values:
+     * [encoding - Use either UTF-8, UCS4 as array or UCS4 as string as input ('utf8' for UTF-8,
+     *         'ucs4_string' and 'ucs4_array' respectively for UCS4); The output is always UTF-8]
+     * [overlong - Unicode does not allow unnecessarily long encodings of chars,
+     *             to allow this, set this parameter to true, else to false;
+     *             default is false.]
+     * [strict - true: strict mode, good for registration purposes - Causes errors
+     *           on failures; false: loose mode, ideal for "wildlife" applications
+     *           by silently ignoring errors and returning the original input instead
+     *
+     * @param    mixed     Parameter to set (string: single parameter; array of Parameter => Value pairs)
+     * @param    string    Value to use (if parameter 1 is a string)
+     * @return   boolean   true on success, false otherwise
+     * @access   public
+     */
+    function setParams($option, $param = false)
+    {
+        return $this->IC->set_parameters($option, $param);
+    }
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/idn/npdata.ser b/simplepie/idn/npdata.ser
new file mode 100644
index 0000000000..d7ce6d03f2
--- /dev/null
+++ b/simplepie/idn/npdata.ser
@@ -0,0 +1 @@
+a:6:{s:11:"map_nothing";a:27:{i:0;i:173;i:1;i:847;i:2;i:6150;i:3;i:6155;i:4;i:6156;i:5;i:6157;i:6;i:8203;i:7;i:8204;i:8;i:8205;i:9;i:8288;i:10;i:65024;i:11;i:65025;i:12;i:65026;i:13;i:65027;i:14;i:65028;i:15;i:65029;i:16;i:65030;i:17;i:65031;i:18;i:65032;i:19;i:65033;i:20;i:65034;i:21;i:65035;i:22;i:65036;i:23;i:65037;i:24;i:65038;i:25;i:65039;i:26;i:65279;}s:18:"general_prohibited";a:64:{i:0;i:0;i:1;i:1;i:2;i:2;i:3;i:3;i:4;i:4;i:5;i:5;i:6;i:6;i:7;i:7;i:8;i:8;i:9;i:9;i:10;i:10;i:11;i:11;i:12;i:12;i:13;i:13;i:14;i:14;i:15;i:15;i:16;i:16;i:17;i:17;i:18;i:18;i:19;i:19;i:20;i:20;i:21;i:21;i:22;i:22;i:23;i:23;i:24;i:24;i:25;i:25;i:26;i:26;i:27;i:27;i:28;i:28;i:29;i:29;i:30;i:30;i:31;i:31;i:32;i:32;i:33;i:33;i:34;i:34;i:35;i:35;i:36;i:36;i:37;i:37;i:38;i:38;i:39;i:39;i:40;i:40;i:41;i:41;i:42;i:42;i:43;i:43;i:44;i:44;i:45;i:47;i:46;i:59;i:47;i:60;i:48;i:61;i:49;i:62;i:50;i:63;i:51;i:64;i:52;i:91;i:53;i:92;i:54;i:93;i:55;i:94;i:56;i:95;i:57;i:96;i:58;i:123;i:59;i:124;i:60;i:125;i:61;i:126;i:62;i:127;i:63;i:12290;}s:8:"prohibit";a:84:{i:0;i:160;i:1;i:5760;i:2;i:8192;i:3;i:8193;i:4;i:8194;i:5;i:8195;i:6;i:8196;i:7;i:8197;i:8;i:8198;i:9;i:8199;i:10;i:8200;i:11;i:8201;i:12;i:8202;i:13;i:8203;i:14;i:8239;i:15;i:8287;i:16;i:12288;i:17;i:1757;i:18;i:1807;i:19;i:6158;i:20;i:8204;i:21;i:8205;i:22;i:8232;i:23;i:8233;i:24;i:65279;i:25;i:65529;i:26;i:65530;i:27;i:65531;i:28;i:65532;i:29;i:65534;i:30;i:65535;i:31;i:131070;i:32;i:131071;i:33;i:196606;i:34;i:196607;i:35;i:262142;i:36;i:262143;i:37;i:327678;i:38;i:327679;i:39;i:393214;i:40;i:393215;i:41;i:458750;i:42;i:458751;i:43;i:524286;i:44;i:524287;i:45;i:589822;i:46;i:589823;i:47;i:655358;i:48;i:655359;i:49;i:720894;i:50;i:720895;i:51;i:786430;i:52;i:786431;i:53;i:851966;i:54;i:851967;i:55;i:917502;i:56;i:917503;i:57;i:983038;i:58;i:983039;i:59;i:1048574;i:60;i:1048575;i:61;i:1114110;i:62;i:1114111;i:63;i:65529;i:64;i:65530;i:65;i:65531;i:66;i:65532;i:67;i:65533;i:68;i:832;i:69;i:833;i:70;i:8206;i:71;i:8207;i:72;i:8234;i:73;i:8235;i:74;i:8236;i:75;i:8237;i:76;i:8238;i:77;i:8298;i:78;i:8299;i:79;i:8300;i:80;i:8301;i:81;i:8302;i:82;i:8303;i:83;i:917505;}s:15:"prohibit_ranges";a:10:{i:0;a:2:{i:0;i:128;i:1;i:159;}i:1;a:2:{i:0;i:8288;i:1;i:8303;}i:2;a:2:{i:0;i:119155;i:1;i:119162;}i:3;a:2:{i:0;i:57344;i:1;i:63743;}i:4;a:2:{i:0;i:983040;i:1;i:1048573;}i:5;a:2:{i:0;i:1048576;i:1;i:1114109;}i:6;a:2:{i:0;i:64976;i:1;i:65007;}i:7;a:2:{i:0;i:55296;i:1;i:57343;}i:8;a:2:{i:0;i:12272;i:1;i:12283;}i:9;a:2:{i:0;i:917536;i:1;i:917631;}}s:11:"replacemaps";a:1401:{i:65;a:1:{i:0;i:97;}i:66;a:1:{i:0;i:98;}i:67;a:1:{i:0;i:99;}i:68;a:1:{i:0;i:100;}i:69;a:1:{i:0;i:101;}i:70;a:1:{i:0;i:102;}i:71;a:1:{i:0;i:103;}i:72;a:1:{i:0;i:104;}i:73;a:1:{i:0;i:105;}i:74;a:1:{i:0;i:106;}i:75;a:1:{i:0;i:107;}i:76;a:1:{i:0;i:108;}i:77;a:1:{i:0;i:109;}i:78;a:1:{i:0;i:110;}i:79;a:1:{i:0;i:111;}i:80;a:1:{i:0;i:112;}i:81;a:1:{i:0;i:113;}i:82;a:1:{i:0;i:114;}i:83;a:1:{i:0;i:115;}i:84;a:1:{i:0;i:116;}i:85;a:1:{i:0;i:117;}i:86;a:1:{i:0;i:118;}i:87;a:1:{i:0;i:119;}i:88;a:1:{i:0;i:120;}i:89;a:1:{i:0;i:121;}i:90;a:1:{i:0;i:122;}i:181;a:1:{i:0;i:956;}i:192;a:1:{i:0;i:224;}i:193;a:1:{i:0;i:225;}i:194;a:1:{i:0;i:226;}i:195;a:1:{i:0;i:227;}i:196;a:1:{i:0;i:228;}i:197;a:1:{i:0;i:229;}i:198;a:1:{i:0;i:230;}i:199;a:1:{i:0;i:231;}i:200;a:1:{i:0;i:232;}i:201;a:1:{i:0;i:233;}i:202;a:1:{i:0;i:234;}i:203;a:1:{i:0;i:235;}i:204;a:1:{i:0;i:236;}i:205;a:1:{i:0;i:237;}i:206;a:1:{i:0;i:238;}i:207;a:1:{i:0;i:239;}i:208;a:1:{i:0;i:240;}i:209;a:1:{i:0;i:241;}i:210;a:1:{i:0;i:242;}i:211;a:1:{i:0;i:243;}i:212;a:1:{i:0;i:244;}i:213;a:1:{i:0;i:245;}i:214;a:1:{i:0;i:246;}i:216;a:1:{i:0;i:248;}i:217;a:1:{i:0;i:249;}i:218;a:1:{i:0;i:250;}i:219;a:1:{i:0;i:251;}i:220;a:1:{i:0;i:252;}i:221;a:1:{i:0;i:253;}i:222;a:1:{i:0;i:254;}i:223;a:2:{i:0;i:115;i:1;i:115;}i:256;a:1:{i:0;i:257;}i:258;a:1:{i:0;i:259;}i:260;a:1:{i:0;i:261;}i:262;a:1:{i:0;i:263;}i:264;a:1:{i:0;i:265;}i:266;a:1:{i:0;i:267;}i:268;a:1:{i:0;i:269;}i:270;a:1:{i:0;i:271;}i:272;a:1:{i:0;i:273;}i:274;a:1:{i:0;i:275;}i:276;a:1:{i:0;i:277;}i:278;a:1:{i:0;i:279;}i:280;a:1:{i:0;i:281;}i:282;a:1:{i:0;i:283;}i:284;a:1:{i:0;i:285;}i:286;a:1:{i:0;i:287;}i:288;a:1:{i:0;i:289;}i:290;a:1:{i:0;i:291;}i:292;a:1:{i:0;i:293;}i:294;a:1:{i:0;i:295;}i:296;a:1:{i:0;i:297;}i:298;a:1:{i:0;i:299;}i:300;a:1:{i:0;i:301;}i:302;a:1:{i:0;i:303;}i:304;a:2:{i:0;i:105;i:1;i:775;}i:306;a:1:{i:0;i:307;}i:308;a:1:{i:0;i:309;}i:310;a:1:{i:0;i:311;}i:313;a:1:{i:0;i:314;}i:315;a:1:{i:0;i:316;}i:317;a:1:{i:0;i:318;}i:319;a:1:{i:0;i:320;}i:321;a:1:{i:0;i:322;}i:323;a:1:{i:0;i:324;}i:325;a:1:{i:0;i:326;}i:327;a:1:{i:0;i:328;}i:329;a:2:{i:0;i:700;i:1;i:110;}i:330;a:1:{i:0;i:331;}i:332;a:1:{i:0;i:333;}i:334;a:1:{i:0;i:335;}i:336;a:1:{i:0;i:337;}i:338;a:1:{i:0;i:339;}i:340;a:1:{i:0;i:341;}i:342;a:1:{i:0;i:343;}i:344;a:1:{i:0;i:345;}i:346;a:1:{i:0;i:347;}i:348;a:1:{i:0;i:349;}i:350;a:1:{i:0;i:351;}i:352;a:1:{i:0;i:353;}i:354;a:1:{i:0;i:355;}i:356;a:1:{i:0;i:357;}i:358;a:1:{i:0;i:359;}i:360;a:1:{i:0;i:361;}i:362;a:1:{i:0;i:363;}i:364;a:1:{i:0;i:365;}i:366;a:1:{i:0;i:367;}i:368;a:1:{i:0;i:369;}i:370;a:1:{i:0;i:371;}i:372;a:1:{i:0;i:373;}i:374;a:1:{i:0;i:375;}i:376;a:1:{i:0;i:255;}i:377;a:1:{i:0;i:378;}i:379;a:1:{i:0;i:380;}i:381;a:1:{i:0;i:382;}i:383;a:1:{i:0;i:115;}i:385;a:1:{i:0;i:595;}i:386;a:1:{i:0;i:387;}i:388;a:1:{i:0;i:389;}i:390;a:1:{i:0;i:596;}i:391;a:1:{i:0;i:392;}i:393;a:1:{i:0;i:598;}i:394;a:1:{i:0;i:599;}i:395;a:1:{i:0;i:396;}i:398;a:1:{i:0;i:477;}i:399;a:1:{i:0;i:601;}i:400;a:1:{i:0;i:603;}i:401;a:1:{i:0;i:402;}i:403;a:1:{i:0;i:608;}i:404;a:1:{i:0;i:611;}i:406;a:1:{i:0;i:617;}i:407;a:1:{i:0;i:616;}i:408;a:1:{i:0;i:409;}i:412;a:1:{i:0;i:623;}i:413;a:1:{i:0;i:626;}i:415;a:1:{i:0;i:629;}i:416;a:1:{i:0;i:417;}i:418;a:1:{i:0;i:419;}i:420;a:1:{i:0;i:421;}i:422;a:1:{i:0;i:640;}i:423;a:1:{i:0;i:424;}i:425;a:1:{i:0;i:643;}i:428;a:1:{i:0;i:429;}i:430;a:1:{i:0;i:648;}i:431;a:1:{i:0;i:432;}i:433;a:1:{i:0;i:650;}i:434;a:1:{i:0;i:651;}i:435;a:1:{i:0;i:436;}i:437;a:1:{i:0;i:438;}i:439;a:1:{i:0;i:658;}i:440;a:1:{i:0;i:441;}i:444;a:1:{i:0;i:445;}i:452;a:1:{i:0;i:454;}i:453;a:1:{i:0;i:454;}i:455;a:1:{i:0;i:457;}i:456;a:1:{i:0;i:457;}i:458;a:1:{i:0;i:460;}i:459;a:1:{i:0;i:460;}i:461;a:1:{i:0;i:462;}i:463;a:1:{i:0;i:464;}i:465;a:1:{i:0;i:466;}i:467;a:1:{i:0;i:468;}i:469;a:1:{i:0;i:470;}i:471;a:1:{i:0;i:472;}i:473;a:1:{i:0;i:474;}i:475;a:1:{i:0;i:476;}i:478;a:1:{i:0;i:479;}i:480;a:1:{i:0;i:481;}i:482;a:1:{i:0;i:483;}i:484;a:1:{i:0;i:485;}i:486;a:1:{i:0;i:487;}i:488;a:1:{i:0;i:489;}i:490;a:1:{i:0;i:491;}i:492;a:1:{i:0;i:493;}i:494;a:1:{i:0;i:495;}i:496;a:2:{i:0;i:106;i:1;i:780;}i:497;a:1:{i:0;i:499;}i:498;a:1:{i:0;i:499;}i:500;a:1:{i:0;i:501;}i:502;a:1:{i:0;i:405;}i:503;a:1:{i:0;i:447;}i:504;a:1:{i:0;i:505;}i:506;a:1:{i:0;i:507;}i:508;a:1:{i:0;i:509;}i:510;a:1:{i:0;i:511;}i:512;a:1:{i:0;i:513;}i:514;a:1:{i:0;i:515;}i:516;a:1:{i:0;i:517;}i:518;a:1:{i:0;i:519;}i:520;a:1:{i:0;i:521;}i:522;a:1:{i:0;i:523;}i:524;a:1:{i:0;i:525;}i:526;a:1:{i:0;i:527;}i:528;a:1:{i:0;i:529;}i:530;a:1:{i:0;i:531;}i:532;a:1:{i:0;i:533;}i:534;a:1:{i:0;i:535;}i:536;a:1:{i:0;i:537;}i:538;a:1:{i:0;i:539;}i:540;a:1:{i:0;i:541;}i:542;a:1:{i:0;i:543;}i:544;a:1:{i:0;i:414;}i:546;a:1:{i:0;i:547;}i:548;a:1:{i:0;i:549;}i:550;a:1:{i:0;i:551;}i:552;a:1:{i:0;i:553;}i:554;a:1:{i:0;i:555;}i:556;a:1:{i:0;i:557;}i:558;a:1:{i:0;i:559;}i:560;a:1:{i:0;i:561;}i:562;a:1:{i:0;i:563;}i:837;a:1:{i:0;i:953;}i:890;a:2:{i:0;i:32;i:1;i:953;}i:902;a:1:{i:0;i:940;}i:904;a:1:{i:0;i:941;}i:905;a:1:{i:0;i:942;}i:906;a:1:{i:0;i:943;}i:908;a:1:{i:0;i:972;}i:910;a:1:{i:0;i:973;}i:911;a:1:{i:0;i:974;}i:912;a:3:{i:0;i:953;i:1;i:776;i:2;i:769;}i:913;a:1:{i:0;i:945;}i:914;a:1:{i:0;i:946;}i:915;a:1:{i:0;i:947;}i:916;a:1:{i:0;i:948;}i:917;a:1:{i:0;i:949;}i:918;a:1:{i:0;i:950;}i:919;a:1:{i:0;i:951;}i:920;a:1:{i:0;i:952;}i:921;a:1:{i:0;i:953;}i:922;a:1:{i:0;i:954;}i:923;a:1:{i:0;i:955;}i:924;a:1:{i:0;i:956;}i:925;a:1:{i:0;i:957;}i:926;a:1:{i:0;i:958;}i:927;a:1:{i:0;i:959;}i:928;a:1:{i:0;i:960;}i:929;a:1:{i:0;i:961;}i:931;a:1:{i:0;i:963;}i:932;a:1:{i:0;i:964;}i:933;a:1:{i:0;i:965;}i:934;a:1:{i:0;i:966;}i:935;a:1:{i:0;i:967;}i:936;a:1:{i:0;i:968;}i:937;a:1:{i:0;i:969;}i:938;a:1:{i:0;i:970;}i:939;a:1:{i:0;i:971;}i:944;a:3:{i:0;i:965;i:1;i:776;i:2;i:769;}i:962;a:1:{i:0;i:963;}i:976;a:1:{i:0;i:946;}i:977;a:1:{i:0;i:952;}i:978;a:1:{i:0;i:965;}i:979;a:1:{i:0;i:973;}i:980;a:1:{i:0;i:971;}i:981;a:1:{i:0;i:966;}i:982;a:1:{i:0;i:960;}i:984;a:1:{i:0;i:985;}i:986;a:1:{i:0;i:987;}i:988;a:1:{i:0;i:989;}i:990;a:1:{i:0;i:991;}i:992;a:1:{i:0;i:993;}i:994;a:1:{i:0;i:995;}i:996;a:1:{i:0;i:997;}i:998;a:1:{i:0;i:999;}i:1000;a:1:{i:0;i:1001;}i:1002;a:1:{i:0;i:1003;}i:1004;a:1:{i:0;i:1005;}i:1006;a:1:{i:0;i:1007;}i:1008;a:1:{i:0;i:954;}i:1009;a:1:{i:0;i:961;}i:1010;a:1:{i:0;i:963;}i:1012;a:1:{i:0;i:952;}i:1013;a:1:{i:0;i:949;}i:1024;a:1:{i:0;i:1104;}i:1025;a:1:{i:0;i:1105;}i:1026;a:1:{i:0;i:1106;}i:1027;a:1:{i:0;i:1107;}i:1028;a:1:{i:0;i:1108;}i:1029;a:1:{i:0;i:1109;}i:1030;a:1:{i:0;i:1110;}i:1031;a:1:{i:0;i:1111;}i:1032;a:1:{i:0;i:1112;}i:1033;a:1:{i:0;i:1113;}i:1034;a:1:{i:0;i:1114;}i:1035;a:1:{i:0;i:1115;}i:1036;a:1:{i:0;i:1116;}i:1037;a:1:{i:0;i:1117;}i:1038;a:1:{i:0;i:1118;}i:1039;a:1:{i:0;i:1119;}i:1040;a:1:{i:0;i:1072;}i:1041;a:1:{i:0;i:1073;}i:1042;a:1:{i:0;i:1074;}i:1043;a:1:{i:0;i:1075;}i:1044;a:1:{i:0;i:1076;}i:1045;a:1:{i:0;i:1077;}i:1046;a:1:{i:0;i:1078;}i:1047;a:1:{i:0;i:1079;}i:1048;a:1:{i:0;i:1080;}i:1049;a:1:{i:0;i:1081;}i:1050;a:1:{i:0;i:1082;}i:1051;a:1:{i:0;i:1083;}i:1052;a:1:{i:0;i:1084;}i:1053;a:1:{i:0;i:1085;}i:1054;a:1:{i:0;i:1086;}i:1055;a:1:{i:0;i:1087;}i:1056;a:1:{i:0;i:1088;}i:1057;a:1:{i:0;i:1089;}i:1058;a:1:{i:0;i:1090;}i:1059;a:1:{i:0;i:1091;}i:1060;a:1:{i:0;i:1092;}i:1061;a:1:{i:0;i:1093;}i:1062;a:1:{i:0;i:1094;}i:1063;a:1:{i:0;i:1095;}i:1064;a:1:{i:0;i:1096;}i:1065;a:1:{i:0;i:1097;}i:1066;a:1:{i:0;i:1098;}i:1067;a:1:{i:0;i:1099;}i:1068;a:1:{i:0;i:1100;}i:1069;a:1:{i:0;i:1101;}i:1070;a:1:{i:0;i:1102;}i:1071;a:1:{i:0;i:1103;}i:1120;a:1:{i:0;i:1121;}i:1122;a:1:{i:0;i:1123;}i:1124;a:1:{i:0;i:1125;}i:1126;a:1:{i:0;i:1127;}i:1128;a:1:{i:0;i:1129;}i:1130;a:1:{i:0;i:1131;}i:1132;a:1:{i:0;i:1133;}i:1134;a:1:{i:0;i:1135;}i:1136;a:1:{i:0;i:1137;}i:1138;a:1:{i:0;i:1139;}i:1140;a:1:{i:0;i:1141;}i:1142;a:1:{i:0;i:1143;}i:1144;a:1:{i:0;i:1145;}i:1146;a:1:{i:0;i:1147;}i:1148;a:1:{i:0;i:1149;}i:1150;a:1:{i:0;i:1151;}i:1152;a:1:{i:0;i:1153;}i:1162;a:1:{i:0;i:1163;}i:1164;a:1:{i:0;i:1165;}i:1166;a:1:{i:0;i:1167;}i:1168;a:1:{i:0;i:1169;}i:1170;a:1:{i:0;i:1171;}i:1172;a:1:{i:0;i:1173;}i:1174;a:1:{i:0;i:1175;}i:1176;a:1:{i:0;i:1177;}i:1178;a:1:{i:0;i:1179;}i:1180;a:1:{i:0;i:1181;}i:1182;a:1:{i:0;i:1183;}i:1184;a:1:{i:0;i:1185;}i:1186;a:1:{i:0;i:1187;}i:1188;a:1:{i:0;i:1189;}i:1190;a:1:{i:0;i:1191;}i:1192;a:1:{i:0;i:1193;}i:1194;a:1:{i:0;i:1195;}i:1196;a:1:{i:0;i:1197;}i:1198;a:1:{i:0;i:1199;}i:1200;a:1:{i:0;i:1201;}i:1202;a:1:{i:0;i:1203;}i:1204;a:1:{i:0;i:1205;}i:1206;a:1:{i:0;i:1207;}i:1208;a:1:{i:0;i:1209;}i:1210;a:1:{i:0;i:1211;}i:1212;a:1:{i:0;i:1213;}i:1214;a:1:{i:0;i:1215;}i:1217;a:1:{i:0;i:1218;}i:1219;a:1:{i:0;i:1220;}i:1221;a:1:{i:0;i:1222;}i:1223;a:1:{i:0;i:1224;}i:1225;a:1:{i:0;i:1226;}i:1227;a:1:{i:0;i:1228;}i:1229;a:1:{i:0;i:1230;}i:1232;a:1:{i:0;i:1233;}i:1234;a:1:{i:0;i:1235;}i:1236;a:1:{i:0;i:1237;}i:1238;a:1:{i:0;i:1239;}i:1240;a:1:{i:0;i:1241;}i:1242;a:1:{i:0;i:1243;}i:1244;a:1:{i:0;i:1245;}i:1246;a:1:{i:0;i:1247;}i:1248;a:1:{i:0;i:1249;}i:1250;a:1:{i:0;i:1251;}i:1252;a:1:{i:0;i:1253;}i:1254;a:1:{i:0;i:1255;}i:1256;a:1:{i:0;i:1257;}i:1258;a:1:{i:0;i:1259;}i:1260;a:1:{i:0;i:1261;}i:1262;a:1:{i:0;i:1263;}i:1264;a:1:{i:0;i:1265;}i:1266;a:1:{i:0;i:1267;}i:1268;a:1:{i:0;i:1269;}i:1272;a:1:{i:0;i:1273;}i:1280;a:1:{i:0;i:1281;}i:1282;a:1:{i:0;i:1283;}i:1284;a:1:{i:0;i:1285;}i:1286;a:1:{i:0;i:1287;}i:1288;a:1:{i:0;i:1289;}i:1290;a:1:{i:0;i:1291;}i:1292;a:1:{i:0;i:1293;}i:1294;a:1:{i:0;i:1295;}i:1329;a:1:{i:0;i:1377;}i:1330;a:1:{i:0;i:1378;}i:1331;a:1:{i:0;i:1379;}i:1332;a:1:{i:0;i:1380;}i:1333;a:1:{i:0;i:1381;}i:1334;a:1:{i:0;i:1382;}i:1335;a:1:{i:0;i:1383;}i:1336;a:1:{i:0;i:1384;}i:1337;a:1:{i:0;i:1385;}i:1338;a:1:{i:0;i:1386;}i:1339;a:1:{i:0;i:1387;}i:1340;a:1:{i:0;i:1388;}i:1341;a:1:{i:0;i:1389;}i:1342;a:1:{i:0;i:1390;}i:1343;a:1:{i:0;i:1391;}i:1344;a:1:{i:0;i:1392;}i:1345;a:1:{i:0;i:1393;}i:1346;a:1:{i:0;i:1394;}i:1347;a:1:{i:0;i:1395;}i:1348;a:1:{i:0;i:1396;}i:1349;a:1:{i:0;i:1397;}i:1350;a:1:{i:0;i:1398;}i:1351;a:1:{i:0;i:1399;}i:1352;a:1:{i:0;i:1400;}i:1353;a:1:{i:0;i:1401;}i:1354;a:1:{i:0;i:1402;}i:1355;a:1:{i:0;i:1403;}i:1356;a:1:{i:0;i:1404;}i:1357;a:1:{i:0;i:1405;}i:1358;a:1:{i:0;i:1406;}i:1359;a:1:{i:0;i:1407;}i:1360;a:1:{i:0;i:1408;}i:1361;a:1:{i:0;i:1409;}i:1362;a:1:{i:0;i:1410;}i:1363;a:1:{i:0;i:1411;}i:1364;a:1:{i:0;i:1412;}i:1365;a:1:{i:0;i:1413;}i:1366;a:1:{i:0;i:1414;}i:1415;a:2:{i:0;i:1381;i:1;i:1410;}i:7680;a:1:{i:0;i:7681;}i:7682;a:1:{i:0;i:7683;}i:7684;a:1:{i:0;i:7685;}i:7686;a:1:{i:0;i:7687;}i:7688;a:1:{i:0;i:7689;}i:7690;a:1:{i:0;i:7691;}i:7692;a:1:{i:0;i:7693;}i:7694;a:1:{i:0;i:7695;}i:7696;a:1:{i:0;i:7697;}i:7698;a:1:{i:0;i:7699;}i:7700;a:1:{i:0;i:7701;}i:7702;a:1:{i:0;i:7703;}i:7704;a:1:{i:0;i:7705;}i:7706;a:1:{i:0;i:7707;}i:7708;a:1:{i:0;i:7709;}i:7710;a:1:{i:0;i:7711;}i:7712;a:1:{i:0;i:7713;}i:7714;a:1:{i:0;i:7715;}i:7716;a:1:{i:0;i:7717;}i:7718;a:1:{i:0;i:7719;}i:7720;a:1:{i:0;i:7721;}i:7722;a:1:{i:0;i:7723;}i:7724;a:1:{i:0;i:7725;}i:7726;a:1:{i:0;i:7727;}i:7728;a:1:{i:0;i:7729;}i:7730;a:1:{i:0;i:7731;}i:7732;a:1:{i:0;i:7733;}i:7734;a:1:{i:0;i:7735;}i:7736;a:1:{i:0;i:7737;}i:7738;a:1:{i:0;i:7739;}i:7740;a:1:{i:0;i:7741;}i:7742;a:1:{i:0;i:7743;}i:7744;a:1:{i:0;i:7745;}i:7746;a:1:{i:0;i:7747;}i:7748;a:1:{i:0;i:7749;}i:7750;a:1:{i:0;i:7751;}i:7752;a:1:{i:0;i:7753;}i:7754;a:1:{i:0;i:7755;}i:7756;a:1:{i:0;i:7757;}i:7758;a:1:{i:0;i:7759;}i:7760;a:1:{i:0;i:7761;}i:7762;a:1:{i:0;i:7763;}i:7764;a:1:{i:0;i:7765;}i:7766;a:1:{i:0;i:7767;}i:7768;a:1:{i:0;i:7769;}i:7770;a:1:{i:0;i:7771;}i:7772;a:1:{i:0;i:7773;}i:7774;a:1:{i:0;i:7775;}i:7776;a:1:{i:0;i:7777;}i:7778;a:1:{i:0;i:7779;}i:7780;a:1:{i:0;i:7781;}i:7782;a:1:{i:0;i:7783;}i:7784;a:1:{i:0;i:7785;}i:7786;a:1:{i:0;i:7787;}i:7788;a:1:{i:0;i:7789;}i:7790;a:1:{i:0;i:7791;}i:7792;a:1:{i:0;i:7793;}i:7794;a:1:{i:0;i:7795;}i:7796;a:1:{i:0;i:7797;}i:7798;a:1:{i:0;i:7799;}i:7800;a:1:{i:0;i:7801;}i:7802;a:1:{i:0;i:7803;}i:7804;a:1:{i:0;i:7805;}i:7806;a:1:{i:0;i:7807;}i:7808;a:1:{i:0;i:7809;}i:7810;a:1:{i:0;i:7811;}i:7812;a:1:{i:0;i:7813;}i:7814;a:1:{i:0;i:7815;}i:7816;a:1:{i:0;i:7817;}i:7818;a:1:{i:0;i:7819;}i:7820;a:1:{i:0;i:7821;}i:7822;a:1:{i:0;i:7823;}i:7824;a:1:{i:0;i:7825;}i:7826;a:1:{i:0;i:7827;}i:7828;a:1:{i:0;i:7829;}i:7830;a:2:{i:0;i:104;i:1;i:817;}i:7831;a:2:{i:0;i:116;i:1;i:776;}i:7832;a:2:{i:0;i:119;i:1;i:778;}i:7833;a:2:{i:0;i:121;i:1;i:778;}i:7834;a:2:{i:0;i:97;i:1;i:702;}i:7835;a:1:{i:0;i:7777;}i:7840;a:1:{i:0;i:7841;}i:7842;a:1:{i:0;i:7843;}i:7844;a:1:{i:0;i:7845;}i:7846;a:1:{i:0;i:7847;}i:7848;a:1:{i:0;i:7849;}i:7850;a:1:{i:0;i:7851;}i:7852;a:1:{i:0;i:7853;}i:7854;a:1:{i:0;i:7855;}i:7856;a:1:{i:0;i:7857;}i:7858;a:1:{i:0;i:7859;}i:7860;a:1:{i:0;i:7861;}i:7862;a:1:{i:0;i:7863;}i:7864;a:1:{i:0;i:7865;}i:7866;a:1:{i:0;i:7867;}i:7868;a:1:{i:0;i:7869;}i:7870;a:1:{i:0;i:7871;}i:7872;a:1:{i:0;i:7873;}i:7874;a:1:{i:0;i:7875;}i:7876;a:1:{i:0;i:7877;}i:7878;a:1:{i:0;i:7879;}i:7880;a:1:{i:0;i:7881;}i:7882;a:1:{i:0;i:7883;}i:7884;a:1:{i:0;i:7885;}i:7886;a:1:{i:0;i:7887;}i:7888;a:1:{i:0;i:7889;}i:7890;a:1:{i:0;i:7891;}i:7892;a:1:{i:0;i:7893;}i:7894;a:1:{i:0;i:7895;}i:7896;a:1:{i:0;i:7897;}i:7898;a:1:{i:0;i:7899;}i:7900;a:1:{i:0;i:7901;}i:7902;a:1:{i:0;i:7903;}i:7904;a:1:{i:0;i:7905;}i:7906;a:1:{i:0;i:7907;}i:7908;a:1:{i:0;i:7909;}i:7910;a:1:{i:0;i:7911;}i:7912;a:1:{i:0;i:7913;}i:7914;a:1:{i:0;i:7915;}i:7916;a:1:{i:0;i:7917;}i:7918;a:1:{i:0;i:7919;}i:7920;a:1:{i:0;i:7921;}i:7922;a:1:{i:0;i:7923;}i:7924;a:1:{i:0;i:7925;}i:7926;a:1:{i:0;i:7927;}i:7928;a:1:{i:0;i:7929;}i:7944;a:1:{i:0;i:7936;}i:7945;a:1:{i:0;i:7937;}i:7946;a:1:{i:0;i:7938;}i:7947;a:1:{i:0;i:7939;}i:7948;a:1:{i:0;i:7940;}i:7949;a:1:{i:0;i:7941;}i:7950;a:1:{i:0;i:7942;}i:7951;a:1:{i:0;i:7943;}i:7960;a:1:{i:0;i:7952;}i:7961;a:1:{i:0;i:7953;}i:7962;a:1:{i:0;i:7954;}i:7963;a:1:{i:0;i:7955;}i:7964;a:1:{i:0;i:7956;}i:7965;a:1:{i:0;i:7957;}i:7976;a:1:{i:0;i:7968;}i:7977;a:1:{i:0;i:7969;}i:7978;a:1:{i:0;i:7970;}i:7979;a:1:{i:0;i:7971;}i:7980;a:1:{i:0;i:7972;}i:7981;a:1:{i:0;i:7973;}i:7982;a:1:{i:0;i:7974;}i:7983;a:1:{i:0;i:7975;}i:7992;a:1:{i:0;i:7984;}i:7993;a:1:{i:0;i:7985;}i:7994;a:1:{i:0;i:7986;}i:7995;a:1:{i:0;i:7987;}i:7996;a:1:{i:0;i:7988;}i:7997;a:1:{i:0;i:7989;}i:7998;a:1:{i:0;i:7990;}i:7999;a:1:{i:0;i:7991;}i:8008;a:1:{i:0;i:8000;}i:8009;a:1:{i:0;i:8001;}i:8010;a:1:{i:0;i:8002;}i:8011;a:1:{i:0;i:8003;}i:8012;a:1:{i:0;i:8004;}i:8013;a:1:{i:0;i:8005;}i:8016;a:2:{i:0;i:965;i:1;i:787;}i:8018;a:3:{i:0;i:965;i:1;i:787;i:2;i:768;}i:8020;a:3:{i:0;i:965;i:1;i:787;i:2;i:769;}i:8022;a:3:{i:0;i:965;i:1;i:787;i:2;i:834;}i:8025;a:1:{i:0;i:8017;}i:8027;a:1:{i:0;i:8019;}i:8029;a:1:{i:0;i:8021;}i:8031;a:1:{i:0;i:8023;}i:8040;a:1:{i:0;i:8032;}i:8041;a:1:{i:0;i:8033;}i:8042;a:1:{i:0;i:8034;}i:8043;a:1:{i:0;i:8035;}i:8044;a:1:{i:0;i:8036;}i:8045;a:1:{i:0;i:8037;}i:8046;a:1:{i:0;i:8038;}i:8047;a:1:{i:0;i:8039;}i:8064;a:2:{i:0;i:7936;i:1;i:953;}i:8065;a:2:{i:0;i:7937;i:1;i:953;}i:8066;a:2:{i:0;i:7938;i:1;i:953;}i:8067;a:2:{i:0;i:7939;i:1;i:953;}i:8068;a:2:{i:0;i:7940;i:1;i:953;}i:8069;a:2:{i:0;i:7941;i:1;i:953;}i:8070;a:2:{i:0;i:7942;i:1;i:953;}i:8071;a:2:{i:0;i:7943;i:1;i:953;}i:8072;a:2:{i:0;i:7936;i:1;i:953;}i:8073;a:2:{i:0;i:7937;i:1;i:953;}i:8074;a:2:{i:0;i:7938;i:1;i:953;}i:8075;a:2:{i:0;i:7939;i:1;i:953;}i:8076;a:2:{i:0;i:7940;i:1;i:953;}i:8077;a:2:{i:0;i:7941;i:1;i:953;}i:8078;a:2:{i:0;i:7942;i:1;i:953;}i:8079;a:2:{i:0;i:7943;i:1;i:953;}i:8080;a:2:{i:0;i:7968;i:1;i:953;}i:8081;a:2:{i:0;i:7969;i:1;i:953;}i:8082;a:2:{i:0;i:7970;i:1;i:953;}i:8083;a:2:{i:0;i:7971;i:1;i:953;}i:8084;a:2:{i:0;i:7972;i:1;i:953;}i:8085;a:2:{i:0;i:7973;i:1;i:953;}i:8086;a:2:{i:0;i:7974;i:1;i:953;}i:8087;a:2:{i:0;i:7975;i:1;i:953;}i:8088;a:2:{i:0;i:7968;i:1;i:953;}i:8089;a:2:{i:0;i:7969;i:1;i:953;}i:8090;a:2:{i:0;i:7970;i:1;i:953;}i:8091;a:2:{i:0;i:7971;i:1;i:953;}i:8092;a:2:{i:0;i:7972;i:1;i:953;}i:8093;a:2:{i:0;i:7973;i:1;i:953;}i:8094;a:2:{i:0;i:7974;i:1;i:953;}i:8095;a:2:{i:0;i:7975;i:1;i:953;}i:8096;a:2:{i:0;i:8032;i:1;i:953;}i:8097;a:2:{i:0;i:8033;i:1;i:953;}i:8098;a:2:{i:0;i:8034;i:1;i:953;}i:8099;a:2:{i:0;i:8035;i:1;i:953;}i:8100;a:2:{i:0;i:8036;i:1;i:953;}i:8101;a:2:{i:0;i:8037;i:1;i:953;}i:8102;a:2:{i:0;i:8038;i:1;i:953;}i:8103;a:2:{i:0;i:8039;i:1;i:953;}i:8104;a:2:{i:0;i:8032;i:1;i:953;}i:8105;a:2:{i:0;i:8033;i:1;i:953;}i:8106;a:2:{i:0;i:8034;i:1;i:953;}i:8107;a:2:{i:0;i:8035;i:1;i:953;}i:8108;a:2:{i:0;i:8036;i:1;i:953;}i:8109;a:2:{i:0;i:8037;i:1;i:953;}i:8110;a:2:{i:0;i:8038;i:1;i:953;}i:8111;a:2:{i:0;i:8039;i:1;i:953;}i:8114;a:2:{i:0;i:8048;i:1;i:953;}i:8115;a:2:{i:0;i:945;i:1;i:953;}i:8116;a:2:{i:0;i:940;i:1;i:953;}i:8118;a:2:{i:0;i:945;i:1;i:834;}i:8119;a:3:{i:0;i:945;i:1;i:834;i:2;i:953;}i:8120;a:1:{i:0;i:8112;}i:8121;a:1:{i:0;i:8113;}i:8122;a:1:{i:0;i:8048;}i:8123;a:1:{i:0;i:8049;}i:8124;a:2:{i:0;i:945;i:1;i:953;}i:8126;a:1:{i:0;i:953;}i:8130;a:2:{i:0;i:8052;i:1;i:953;}i:8131;a:2:{i:0;i:951;i:1;i:953;}i:8132;a:2:{i:0;i:942;i:1;i:953;}i:8134;a:2:{i:0;i:951;i:1;i:834;}i:8135;a:3:{i:0;i:951;i:1;i:834;i:2;i:953;}i:8136;a:1:{i:0;i:8050;}i:8137;a:1:{i:0;i:8051;}i:8138;a:1:{i:0;i:8052;}i:8139;a:1:{i:0;i:8053;}i:8140;a:2:{i:0;i:951;i:1;i:953;}i:8146;a:3:{i:0;i:953;i:1;i:776;i:2;i:768;}i:8147;a:3:{i:0;i:953;i:1;i:776;i:2;i:769;}i:8150;a:2:{i:0;i:953;i:1;i:834;}i:8151;a:3:{i:0;i:953;i:1;i:776;i:2;i:834;}i:8152;a:1:{i:0;i:8144;}i:8153;a:1:{i:0;i:8145;}i:8154;a:1:{i:0;i:8054;}i:8155;a:1:{i:0;i:8055;}i:8162;a:3:{i:0;i:965;i:1;i:776;i:2;i:768;}i:8163;a:3:{i:0;i:965;i:1;i:776;i:2;i:769;}i:8164;a:2:{i:0;i:961;i:1;i:787;}i:8166;a:2:{i:0;i:965;i:1;i:834;}i:8167;a:3:{i:0;i:965;i:1;i:776;i:2;i:834;}i:8168;a:1:{i:0;i:8160;}i:8169;a:1:{i:0;i:8161;}i:8170;a:1:{i:0;i:8058;}i:8171;a:1:{i:0;i:8059;}i:8172;a:1:{i:0;i:8165;}i:8178;a:2:{i:0;i:8060;i:1;i:953;}i:8179;a:2:{i:0;i:969;i:1;i:953;}i:8180;a:2:{i:0;i:974;i:1;i:953;}i:8182;a:2:{i:0;i:969;i:1;i:834;}i:8183;a:3:{i:0;i:969;i:1;i:834;i:2;i:953;}i:8184;a:1:{i:0;i:8056;}i:8185;a:1:{i:0;i:8057;}i:8186;a:1:{i:0;i:8060;}i:8187;a:1:{i:0;i:8061;}i:8188;a:2:{i:0;i:969;i:1;i:953;}i:8360;a:2:{i:0;i:114;i:1;i:115;}i:8450;a:1:{i:0;i:99;}i:8451;a:2:{i:0;i:176;i:1;i:99;}i:8455;a:1:{i:0;i:603;}i:8457;a:2:{i:0;i:176;i:1;i:102;}i:8459;a:1:{i:0;i:104;}i:8460;a:1:{i:0;i:104;}i:8461;a:1:{i:0;i:104;}i:8464;a:1:{i:0;i:105;}i:8465;a:1:{i:0;i:105;}i:8466;a:1:{i:0;i:108;}i:8469;a:1:{i:0;i:110;}i:8470;a:2:{i:0;i:110;i:1;i:111;}i:8473;a:1:{i:0;i:112;}i:8474;a:1:{i:0;i:113;}i:8475;a:1:{i:0;i:114;}i:8476;a:1:{i:0;i:114;}i:8477;a:1:{i:0;i:114;}i:8480;a:2:{i:0;i:115;i:1;i:109;}i:8481;a:3:{i:0;i:116;i:1;i:101;i:2;i:108;}i:8482;a:2:{i:0;i:116;i:1;i:109;}i:8484;a:1:{i:0;i:122;}i:8486;a:1:{i:0;i:969;}i:8488;a:1:{i:0;i:122;}i:8490;a:1:{i:0;i:107;}i:8491;a:1:{i:0;i:229;}i:8492;a:1:{i:0;i:98;}i:8493;a:1:{i:0;i:99;}i:8496;a:1:{i:0;i:101;}i:8497;a:1:{i:0;i:102;}i:8499;a:1:{i:0;i:109;}i:8510;a:1:{i:0;i:947;}i:8511;a:1:{i:0;i:960;}i:8517;a:1:{i:0;i:100;}i:8544;a:1:{i:0;i:8560;}i:8545;a:1:{i:0;i:8561;}i:8546;a:1:{i:0;i:8562;}i:8547;a:1:{i:0;i:8563;}i:8548;a:1:{i:0;i:8564;}i:8549;a:1:{i:0;i:8565;}i:8550;a:1:{i:0;i:8566;}i:8551;a:1:{i:0;i:8567;}i:8552;a:1:{i:0;i:8568;}i:8553;a:1:{i:0;i:8569;}i:8554;a:1:{i:0;i:8570;}i:8555;a:1:{i:0;i:8571;}i:8556;a:1:{i:0;i:8572;}i:8557;a:1:{i:0;i:8573;}i:8558;a:1:{i:0;i:8574;}i:8559;a:1:{i:0;i:8575;}i:9398;a:1:{i:0;i:9424;}i:9399;a:1:{i:0;i:9425;}i:9400;a:1:{i:0;i:9426;}i:9401;a:1:{i:0;i:9427;}i:9402;a:1:{i:0;i:9428;}i:9403;a:1:{i:0;i:9429;}i:9404;a:1:{i:0;i:9430;}i:9405;a:1:{i:0;i:9431;}i:9406;a:1:{i:0;i:9432;}i:9407;a:1:{i:0;i:9433;}i:9408;a:1:{i:0;i:9434;}i:9409;a:1:{i:0;i:9435;}i:9410;a:1:{i:0;i:9436;}i:9411;a:1:{i:0;i:9437;}i:9412;a:1:{i:0;i:9438;}i:9413;a:1:{i:0;i:9439;}i:9414;a:1:{i:0;i:9440;}i:9415;a:1:{i:0;i:9441;}i:9416;a:1:{i:0;i:9442;}i:9417;a:1:{i:0;i:9443;}i:9418;a:1:{i:0;i:9444;}i:9419;a:1:{i:0;i:9445;}i:9420;a:1:{i:0;i:9446;}i:9421;a:1:{i:0;i:9447;}i:9422;a:1:{i:0;i:9448;}i:9423;a:1:{i:0;i:9449;}i:13169;a:3:{i:0;i:104;i:1;i:112;i:2;i:97;}i:13171;a:2:{i:0;i:97;i:1;i:117;}i:13173;a:2:{i:0;i:111;i:1;i:118;}i:13184;a:2:{i:0;i:112;i:1;i:97;}i:13185;a:2:{i:0;i:110;i:1;i:97;}i:13186;a:2:{i:0;i:956;i:1;i:97;}i:13187;a:2:{i:0;i:109;i:1;i:97;}i:13188;a:2:{i:0;i:107;i:1;i:97;}i:13189;a:2:{i:0;i:107;i:1;i:98;}i:13190;a:2:{i:0;i:109;i:1;i:98;}i:13191;a:2:{i:0;i:103;i:1;i:98;}i:13194;a:2:{i:0;i:112;i:1;i:102;}i:13195;a:2:{i:0;i:110;i:1;i:102;}i:13196;a:2:{i:0;i:956;i:1;i:102;}i:13200;a:2:{i:0;i:104;i:1;i:122;}i:13201;a:3:{i:0;i:107;i:1;i:104;i:2;i:122;}i:13202;a:3:{i:0;i:109;i:1;i:104;i:2;i:122;}i:13203;a:3:{i:0;i:103;i:1;i:104;i:2;i:122;}i:13204;a:3:{i:0;i:116;i:1;i:104;i:2;i:122;}i:13225;a:2:{i:0;i:112;i:1;i:97;}i:13226;a:3:{i:0;i:107;i:1;i:112;i:2;i:97;}i:13227;a:3:{i:0;i:109;i:1;i:112;i:2;i:97;}i:13228;a:3:{i:0;i:103;i:1;i:112;i:2;i:97;}i:13236;a:2:{i:0;i:112;i:1;i:118;}i:13237;a:2:{i:0;i:110;i:1;i:118;}i:13238;a:2:{i:0;i:956;i:1;i:118;}i:13239;a:2:{i:0;i:109;i:1;i:118;}i:13240;a:2:{i:0;i:107;i:1;i:118;}i:13241;a:2:{i:0;i:109;i:1;i:118;}i:13242;a:2:{i:0;i:112;i:1;i:119;}i:13243;a:2:{i:0;i:110;i:1;i:119;}i:13244;a:2:{i:0;i:956;i:1;i:119;}i:13245;a:2:{i:0;i:109;i:1;i:119;}i:13246;a:2:{i:0;i:107;i:1;i:119;}i:13247;a:2:{i:0;i:109;i:1;i:119;}i:13248;a:2:{i:0;i:107;i:1;i:969;}i:13249;a:2:{i:0;i:109;i:1;i:969;}i:13251;a:2:{i:0;i:98;i:1;i:113;}i:13254;a:4:{i:0;i:99;i:1;i:8725;i:2;i:107;i:3;i:103;}i:13255;a:3:{i:0;i:99;i:1;i:111;i:2;i:46;}i:13256;a:2:{i:0;i:100;i:1;i:98;}i:13257;a:2:{i:0;i:103;i:1;i:121;}i:13259;a:2:{i:0;i:104;i:1;i:112;}i:13261;a:2:{i:0;i:107;i:1;i:107;}i:13262;a:2:{i:0;i:107;i:1;i:109;}i:13271;a:2:{i:0;i:112;i:1;i:104;}i:13273;a:3:{i:0;i:112;i:1;i:112;i:2;i:109;}i:13274;a:2:{i:0;i:112;i:1;i:114;}i:13276;a:2:{i:0;i:115;i:1;i:118;}i:13277;a:2:{i:0;i:119;i:1;i:98;}i:64256;a:2:{i:0;i:102;i:1;i:102;}i:64257;a:2:{i:0;i:102;i:1;i:105;}i:64258;a:2:{i:0;i:102;i:1;i:108;}i:64259;a:3:{i:0;i:102;i:1;i:102;i:2;i:105;}i:64260;a:3:{i:0;i:102;i:1;i:102;i:2;i:108;}i:64261;a:2:{i:0;i:115;i:1;i:116;}i:64262;a:2:{i:0;i:115;i:1;i:116;}i:64275;a:2:{i:0;i:1396;i:1;i:1398;}i:64276;a:2:{i:0;i:1396;i:1;i:1381;}i:64277;a:2:{i:0;i:1396;i:1;i:1387;}i:64278;a:2:{i:0;i:1406;i:1;i:1398;}i:64279;a:2:{i:0;i:1396;i:1;i:1389;}i:65313;a:1:{i:0;i:65345;}i:65314;a:1:{i:0;i:65346;}i:65315;a:1:{i:0;i:65347;}i:65316;a:1:{i:0;i:65348;}i:65317;a:1:{i:0;i:65349;}i:65318;a:1:{i:0;i:65350;}i:65319;a:1:{i:0;i:65351;}i:65320;a:1:{i:0;i:65352;}i:65321;a:1:{i:0;i:65353;}i:65322;a:1:{i:0;i:65354;}i:65323;a:1:{i:0;i:65355;}i:65324;a:1:{i:0;i:65356;}i:65325;a:1:{i:0;i:65357;}i:65326;a:1:{i:0;i:65358;}i:65327;a:1:{i:0;i:65359;}i:65328;a:1:{i:0;i:65360;}i:65329;a:1:{i:0;i:65361;}i:65330;a:1:{i:0;i:65362;}i:65331;a:1:{i:0;i:65363;}i:65332;a:1:{i:0;i:65364;}i:65333;a:1:{i:0;i:65365;}i:65334;a:1:{i:0;i:65366;}i:65335;a:1:{i:0;i:65367;}i:65336;a:1:{i:0;i:65368;}i:65337;a:1:{i:0;i:65369;}i:65338;a:1:{i:0;i:65370;}i:66560;a:1:{i:0;i:66600;}i:66561;a:1:{i:0;i:66601;}i:66562;a:1:{i:0;i:66602;}i:66563;a:1:{i:0;i:66603;}i:66564;a:1:{i:0;i:66604;}i:66565;a:1:{i:0;i:66605;}i:66566;a:1:{i:0;i:66606;}i:66567;a:1:{i:0;i:66607;}i:66568;a:1:{i:0;i:66608;}i:66569;a:1:{i:0;i:66609;}i:66570;a:1:{i:0;i:66610;}i:66571;a:1:{i:0;i:66611;}i:66572;a:1:{i:0;i:66612;}i:66573;a:1:{i:0;i:66613;}i:66574;a:1:{i:0;i:66614;}i:66575;a:1:{i:0;i:66615;}i:66576;a:1:{i:0;i:66616;}i:66577;a:1:{i:0;i:66617;}i:66578;a:1:{i:0;i:66618;}i:66579;a:1:{i:0;i:66619;}i:66580;a:1:{i:0;i:66620;}i:66581;a:1:{i:0;i:66621;}i:66582;a:1:{i:0;i:66622;}i:66583;a:1:{i:0;i:66623;}i:66584;a:1:{i:0;i:66624;}i:66585;a:1:{i:0;i:66625;}i:66586;a:1:{i:0;i:66626;}i:66587;a:1:{i:0;i:66627;}i:66588;a:1:{i:0;i:66628;}i:66589;a:1:{i:0;i:66629;}i:66590;a:1:{i:0;i:66630;}i:66591;a:1:{i:0;i:66631;}i:66592;a:1:{i:0;i:66632;}i:66593;a:1:{i:0;i:66633;}i:66594;a:1:{i:0;i:66634;}i:66595;a:1:{i:0;i:66635;}i:66596;a:1:{i:0;i:66636;}i:66597;a:1:{i:0;i:66637;}i:119808;a:1:{i:0;i:97;}i:119809;a:1:{i:0;i:98;}i:119810;a:1:{i:0;i:99;}i:119811;a:1:{i:0;i:100;}i:119812;a:1:{i:0;i:101;}i:119813;a:1:{i:0;i:102;}i:119814;a:1:{i:0;i:103;}i:119815;a:1:{i:0;i:104;}i:119816;a:1:{i:0;i:105;}i:119817;a:1:{i:0;i:106;}i:119818;a:1:{i:0;i:107;}i:119819;a:1:{i:0;i:108;}i:119820;a:1:{i:0;i:109;}i:119821;a:1:{i:0;i:110;}i:119822;a:1:{i:0;i:111;}i:119823;a:1:{i:0;i:112;}i:119824;a:1:{i:0;i:113;}i:119825;a:1:{i:0;i:114;}i:119826;a:1:{i:0;i:115;}i:119827;a:1:{i:0;i:116;}i:119828;a:1:{i:0;i:117;}i:119829;a:1:{i:0;i:118;}i:119830;a:1:{i:0;i:119;}i:119831;a:1:{i:0;i:120;}i:119832;a:1:{i:0;i:121;}i:119833;a:1:{i:0;i:122;}i:119860;a:1:{i:0;i:97;}i:119861;a:1:{i:0;i:98;}i:119862;a:1:{i:0;i:99;}i:119863;a:1:{i:0;i:100;}i:119864;a:1:{i:0;i:101;}i:119865;a:1:{i:0;i:102;}i:119866;a:1:{i:0;i:103;}i:119867;a:1:{i:0;i:104;}i:119868;a:1:{i:0;i:105;}i:119869;a:1:{i:0;i:106;}i:119870;a:1:{i:0;i:107;}i:119871;a:1:{i:0;i:108;}i:119872;a:1:{i:0;i:109;}i:119873;a:1:{i:0;i:110;}i:119874;a:1:{i:0;i:111;}i:119875;a:1:{i:0;i:112;}i:119876;a:1:{i:0;i:113;}i:119877;a:1:{i:0;i:114;}i:119878;a:1:{i:0;i:115;}i:119879;a:1:{i:0;i:116;}i:119880;a:1:{i:0;i:117;}i:119881;a:1:{i:0;i:118;}i:119882;a:1:{i:0;i:119;}i:119883;a:1:{i:0;i:120;}i:119884;a:1:{i:0;i:121;}i:119885;a:1:{i:0;i:122;}i:119912;a:1:{i:0;i:97;}i:119913;a:1:{i:0;i:98;}i:119914;a:1:{i:0;i:99;}i:119915;a:1:{i:0;i:100;}i:119916;a:1:{i:0;i:101;}i:119917;a:1:{i:0;i:102;}i:119918;a:1:{i:0;i:103;}i:119919;a:1:{i:0;i:104;}i:119920;a:1:{i:0;i:105;}i:119921;a:1:{i:0;i:106;}i:119922;a:1:{i:0;i:107;}i:119923;a:1:{i:0;i:108;}i:119924;a:1:{i:0;i:109;}i:119925;a:1:{i:0;i:110;}i:119926;a:1:{i:0;i:111;}i:119927;a:1:{i:0;i:112;}i:119928;a:1:{i:0;i:113;}i:119929;a:1:{i:0;i:114;}i:119930;a:1:{i:0;i:115;}i:119931;a:1:{i:0;i:116;}i:119932;a:1:{i:0;i:117;}i:119933;a:1:{i:0;i:118;}i:119934;a:1:{i:0;i:119;}i:119935;a:1:{i:0;i:120;}i:119936;a:1:{i:0;i:121;}i:119937;a:1:{i:0;i:122;}i:119964;a:1:{i:0;i:97;}i:119966;a:1:{i:0;i:99;}i:119967;a:1:{i:0;i:100;}i:119970;a:1:{i:0;i:103;}i:119973;a:1:{i:0;i:106;}i:119974;a:1:{i:0;i:107;}i:119977;a:1:{i:0;i:110;}i:119978;a:1:{i:0;i:111;}i:119979;a:1:{i:0;i:112;}i:119980;a:1:{i:0;i:113;}i:119982;a:1:{i:0;i:115;}i:119983;a:1:{i:0;i:116;}i:119984;a:1:{i:0;i:117;}i:119985;a:1:{i:0;i:118;}i:119986;a:1:{i:0;i:119;}i:119987;a:1:{i:0;i:120;}i:119988;a:1:{i:0;i:121;}i:119989;a:1:{i:0;i:122;}i:120016;a:1:{i:0;i:97;}i:120017;a:1:{i:0;i:98;}i:120018;a:1:{i:0;i:99;}i:120019;a:1:{i:0;i:100;}i:120020;a:1:{i:0;i:101;}i:120021;a:1:{i:0;i:102;}i:120022;a:1:{i:0;i:103;}i:120023;a:1:{i:0;i:104;}i:120024;a:1:{i:0;i:105;}i:120025;a:1:{i:0;i:106;}i:120026;a:1:{i:0;i:107;}i:120027;a:1:{i:0;i:108;}i:120028;a:1:{i:0;i:109;}i:120029;a:1:{i:0;i:110;}i:120030;a:1:{i:0;i:111;}i:120031;a:1:{i:0;i:112;}i:120032;a:1:{i:0;i:113;}i:120033;a:1:{i:0;i:114;}i:120034;a:1:{i:0;i:115;}i:120035;a:1:{i:0;i:116;}i:120036;a:1:{i:0;i:117;}i:120037;a:1:{i:0;i:118;}i:120038;a:1:{i:0;i:119;}i:120039;a:1:{i:0;i:120;}i:120040;a:1:{i:0;i:121;}i:120041;a:1:{i:0;i:122;}i:120068;a:1:{i:0;i:97;}i:120069;a:1:{i:0;i:98;}i:120071;a:1:{i:0;i:100;}i:120072;a:1:{i:0;i:101;}i:120073;a:1:{i:0;i:102;}i:120074;a:1:{i:0;i:103;}i:120077;a:1:{i:0;i:106;}i:120078;a:1:{i:0;i:107;}i:120079;a:1:{i:0;i:108;}i:120080;a:1:{i:0;i:109;}i:120081;a:1:{i:0;i:110;}i:120082;a:1:{i:0;i:111;}i:120083;a:1:{i:0;i:112;}i:120084;a:1:{i:0;i:113;}i:120086;a:1:{i:0;i:115;}i:120087;a:1:{i:0;i:116;}i:120088;a:1:{i:0;i:117;}i:120089;a:1:{i:0;i:118;}i:120090;a:1:{i:0;i:119;}i:120091;a:1:{i:0;i:120;}i:120092;a:1:{i:0;i:121;}i:120120;a:1:{i:0;i:97;}i:120121;a:1:{i:0;i:98;}i:120123;a:1:{i:0;i:100;}i:120124;a:1:{i:0;i:101;}i:120125;a:1:{i:0;i:102;}i:120126;a:1:{i:0;i:103;}i:120128;a:1:{i:0;i:105;}i:120129;a:1:{i:0;i:106;}i:120130;a:1:{i:0;i:107;}i:120131;a:1:{i:0;i:108;}i:120132;a:1:{i:0;i:109;}i:120134;a:1:{i:0;i:111;}i:120138;a:1:{i:0;i:115;}i:120139;a:1:{i:0;i:116;}i:120140;a:1:{i:0;i:117;}i:120141;a:1:{i:0;i:118;}i:120142;a:1:{i:0;i:119;}i:120143;a:1:{i:0;i:120;}i:120144;a:1:{i:0;i:121;}i:120172;a:1:{i:0;i:97;}i:120173;a:1:{i:0;i:98;}i:120174;a:1:{i:0;i:99;}i:120175;a:1:{i:0;i:100;}i:120176;a:1:{i:0;i:101;}i:120177;a:1:{i:0;i:102;}i:120178;a:1:{i:0;i:103;}i:120179;a:1:{i:0;i:104;}i:120180;a:1:{i:0;i:105;}i:120181;a:1:{i:0;i:106;}i:120182;a:1:{i:0;i:107;}i:120183;a:1:{i:0;i:108;}i:120184;a:1:{i:0;i:109;}i:120185;a:1:{i:0;i:110;}i:120186;a:1:{i:0;i:111;}i:120187;a:1:{i:0;i:112;}i:120188;a:1:{i:0;i:113;}i:120189;a:1:{i:0;i:114;}i:120190;a:1:{i:0;i:115;}i:120191;a:1:{i:0;i:116;}i:120192;a:1:{i:0;i:117;}i:120193;a:1:{i:0;i:118;}i:120194;a:1:{i:0;i:119;}i:120195;a:1:{i:0;i:120;}i:120196;a:1:{i:0;i:121;}i:120197;a:1:{i:0;i:122;}i:120224;a:1:{i:0;i:97;}i:120225;a:1:{i:0;i:98;}i:120226;a:1:{i:0;i:99;}i:120227;a:1:{i:0;i:100;}i:120228;a:1:{i:0;i:101;}i:120229;a:1:{i:0;i:102;}i:120230;a:1:{i:0;i:103;}i:120231;a:1:{i:0;i:104;}i:120232;a:1:{i:0;i:105;}i:120233;a:1:{i:0;i:106;}i:120234;a:1:{i:0;i:107;}i:120235;a:1:{i:0;i:108;}i:120236;a:1:{i:0;i:109;}i:120237;a:1:{i:0;i:110;}i:120238;a:1:{i:0;i:111;}i:120239;a:1:{i:0;i:112;}i:120240;a:1:{i:0;i:113;}i:120241;a:1:{i:0;i:114;}i:120242;a:1:{i:0;i:115;}i:120243;a:1:{i:0;i:116;}i:120244;a:1:{i:0;i:117;}i:120245;a:1:{i:0;i:118;}i:120246;a:1:{i:0;i:119;}i:120247;a:1:{i:0;i:120;}i:120248;a:1:{i:0;i:121;}i:120249;a:1:{i:0;i:122;}i:120276;a:1:{i:0;i:97;}i:120277;a:1:{i:0;i:98;}i:120278;a:1:{i:0;i:99;}i:120279;a:1:{i:0;i:100;}i:120280;a:1:{i:0;i:101;}i:120281;a:1:{i:0;i:102;}i:120282;a:1:{i:0;i:103;}i:120283;a:1:{i:0;i:104;}i:120284;a:1:{i:0;i:105;}i:120285;a:1:{i:0;i:106;}i:120286;a:1:{i:0;i:107;}i:120287;a:1:{i:0;i:108;}i:120288;a:1:{i:0;i:109;}i:120289;a:1:{i:0;i:110;}i:120290;a:1:{i:0;i:111;}i:120291;a:1:{i:0;i:112;}i:120292;a:1:{i:0;i:113;}i:120293;a:1:{i:0;i:114;}i:120294;a:1:{i:0;i:115;}i:120295;a:1:{i:0;i:116;}i:120296;a:1:{i:0;i:117;}i:120297;a:1:{i:0;i:118;}i:120298;a:1:{i:0;i:119;}i:120299;a:1:{i:0;i:120;}i:120300;a:1:{i:0;i:121;}i:120301;a:1:{i:0;i:122;}i:120328;a:1:{i:0;i:97;}i:120329;a:1:{i:0;i:98;}i:120330;a:1:{i:0;i:99;}i:120331;a:1:{i:0;i:100;}i:120332;a:1:{i:0;i:101;}i:120333;a:1:{i:0;i:102;}i:120334;a:1:{i:0;i:103;}i:120335;a:1:{i:0;i:104;}i:120336;a:1:{i:0;i:105;}i:120337;a:1:{i:0;i:106;}i:120338;a:1:{i:0;i:107;}i:120339;a:1:{i:0;i:108;}i:120340;a:1:{i:0;i:109;}i:120341;a:1:{i:0;i:110;}i:120342;a:1:{i:0;i:111;}i:120343;a:1:{i:0;i:112;}i:120344;a:1:{i:0;i:113;}i:120345;a:1:{i:0;i:114;}i:120346;a:1:{i:0;i:115;}i:120347;a:1:{i:0;i:116;}i:120348;a:1:{i:0;i:117;}i:120349;a:1:{i:0;i:118;}i:120350;a:1:{i:0;i:119;}i:120351;a:1:{i:0;i:120;}i:120352;a:1:{i:0;i:121;}i:120353;a:1:{i:0;i:122;}i:120380;a:1:{i:0;i:97;}i:120381;a:1:{i:0;i:98;}i:120382;a:1:{i:0;i:99;}i:120383;a:1:{i:0;i:100;}i:120384;a:1:{i:0;i:101;}i:120385;a:1:{i:0;i:102;}i:120386;a:1:{i:0;i:103;}i:120387;a:1:{i:0;i:104;}i:120388;a:1:{i:0;i:105;}i:120389;a:1:{i:0;i:106;}i:120390;a:1:{i:0;i:107;}i:120391;a:1:{i:0;i:108;}i:120392;a:1:{i:0;i:109;}i:120393;a:1:{i:0;i:110;}i:120394;a:1:{i:0;i:111;}i:120395;a:1:{i:0;i:112;}i:120396;a:1:{i:0;i:113;}i:120397;a:1:{i:0;i:114;}i:120398;a:1:{i:0;i:115;}i:120399;a:1:{i:0;i:116;}i:120400;a:1:{i:0;i:117;}i:120401;a:1:{i:0;i:118;}i:120402;a:1:{i:0;i:119;}i:120403;a:1:{i:0;i:120;}i:120404;a:1:{i:0;i:121;}i:120405;a:1:{i:0;i:122;}i:120432;a:1:{i:0;i:97;}i:120433;a:1:{i:0;i:98;}i:120434;a:1:{i:0;i:99;}i:120435;a:1:{i:0;i:100;}i:120436;a:1:{i:0;i:101;}i:120437;a:1:{i:0;i:102;}i:120438;a:1:{i:0;i:103;}i:120439;a:1:{i:0;i:104;}i:120440;a:1:{i:0;i:105;}i:120441;a:1:{i:0;i:106;}i:120442;a:1:{i:0;i:107;}i:120443;a:1:{i:0;i:108;}i:120444;a:1:{i:0;i:109;}i:120445;a:1:{i:0;i:110;}i:120446;a:1:{i:0;i:111;}i:120447;a:1:{i:0;i:112;}i:120448;a:1:{i:0;i:113;}i:120449;a:1:{i:0;i:114;}i:120450;a:1:{i:0;i:115;}i:120451;a:1:{i:0;i:116;}i:120452;a:1:{i:0;i:117;}i:120453;a:1:{i:0;i:118;}i:120454;a:1:{i:0;i:119;}i:120455;a:1:{i:0;i:120;}i:120456;a:1:{i:0;i:121;}i:120457;a:1:{i:0;i:122;}i:120488;a:1:{i:0;i:945;}i:120489;a:1:{i:0;i:946;}i:120490;a:1:{i:0;i:947;}i:120491;a:1:{i:0;i:948;}i:120492;a:1:{i:0;i:949;}i:120493;a:1:{i:0;i:950;}i:120494;a:1:{i:0;i:951;}i:120495;a:1:{i:0;i:952;}i:120496;a:1:{i:0;i:953;}i:120497;a:1:{i:0;i:954;}i:120498;a:1:{i:0;i:955;}i:120499;a:1:{i:0;i:956;}i:120500;a:1:{i:0;i:957;}i:120501;a:1:{i:0;i:958;}i:120502;a:1:{i:0;i:959;}i:120503;a:1:{i:0;i:960;}i:120504;a:1:{i:0;i:961;}i:120505;a:1:{i:0;i:952;}i:120506;a:1:{i:0;i:963;}i:120507;a:1:{i:0;i:964;}i:120508;a:1:{i:0;i:965;}i:120509;a:1:{i:0;i:966;}i:120510;a:1:{i:0;i:967;}i:120511;a:1:{i:0;i:968;}i:120512;a:1:{i:0;i:969;}i:120531;a:1:{i:0;i:963;}i:120546;a:1:{i:0;i:945;}i:120547;a:1:{i:0;i:946;}i:120548;a:1:{i:0;i:947;}i:120549;a:1:{i:0;i:948;}i:120550;a:1:{i:0;i:949;}i:120551;a:1:{i:0;i:950;}i:120552;a:1:{i:0;i:951;}i:120553;a:1:{i:0;i:952;}i:120554;a:1:{i:0;i:953;}i:120555;a:1:{i:0;i:954;}i:120556;a:1:{i:0;i:955;}i:120557;a:1:{i:0;i:956;}i:120558;a:1:{i:0;i:957;}i:120559;a:1:{i:0;i:958;}i:120560;a:1:{i:0;i:959;}i:120561;a:1:{i:0;i:960;}i:120562;a:1:{i:0;i:961;}i:120563;a:1:{i:0;i:952;}i:120564;a:1:{i:0;i:963;}i:120565;a:1:{i:0;i:964;}i:120566;a:1:{i:0;i:965;}i:120567;a:1:{i:0;i:966;}i:120568;a:1:{i:0;i:967;}i:120569;a:1:{i:0;i:968;}i:120570;a:1:{i:0;i:969;}i:120589;a:1:{i:0;i:963;}i:120604;a:1:{i:0;i:945;}i:120605;a:1:{i:0;i:946;}i:120606;a:1:{i:0;i:947;}i:120607;a:1:{i:0;i:948;}i:120608;a:1:{i:0;i:949;}i:120609;a:1:{i:0;i:950;}i:120610;a:1:{i:0;i:951;}i:120611;a:1:{i:0;i:952;}i:120612;a:1:{i:0;i:953;}i:120613;a:1:{i:0;i:954;}i:120614;a:1:{i:0;i:955;}i:120615;a:1:{i:0;i:956;}i:120616;a:1:{i:0;i:957;}i:120617;a:1:{i:0;i:958;}i:120618;a:1:{i:0;i:959;}i:120619;a:1:{i:0;i:960;}i:120620;a:1:{i:0;i:961;}i:120621;a:1:{i:0;i:952;}i:120622;a:1:{i:0;i:963;}i:120623;a:1:{i:0;i:964;}i:120624;a:1:{i:0;i:965;}i:120625;a:1:{i:0;i:966;}i:120626;a:1:{i:0;i:967;}i:120627;a:1:{i:0;i:968;}i:120628;a:1:{i:0;i:969;}i:120647;a:1:{i:0;i:963;}i:120662;a:1:{i:0;i:945;}i:120663;a:1:{i:0;i:946;}i:120664;a:1:{i:0;i:947;}i:120665;a:1:{i:0;i:948;}i:120666;a:1:{i:0;i:949;}i:120667;a:1:{i:0;i:950;}i:120668;a:1:{i:0;i:951;}i:120669;a:1:{i:0;i:952;}i:120670;a:1:{i:0;i:953;}i:120671;a:1:{i:0;i:954;}i:120672;a:1:{i:0;i:955;}i:120673;a:1:{i:0;i:956;}i:120674;a:1:{i:0;i:957;}i:120675;a:1:{i:0;i:958;}i:120676;a:1:{i:0;i:959;}i:120677;a:1:{i:0;i:960;}i:120678;a:1:{i:0;i:961;}i:120679;a:1:{i:0;i:952;}i:120680;a:1:{i:0;i:963;}i:120681;a:1:{i:0;i:964;}i:120682;a:1:{i:0;i:965;}i:120683;a:1:{i:0;i:966;}i:120684;a:1:{i:0;i:967;}i:120685;a:1:{i:0;i:968;}i:120686;a:1:{i:0;i:969;}i:120705;a:1:{i:0;i:963;}i:120720;a:1:{i:0;i:945;}i:120721;a:1:{i:0;i:946;}i:120722;a:1:{i:0;i:947;}i:120723;a:1:{i:0;i:948;}i:120724;a:1:{i:0;i:949;}i:120725;a:1:{i:0;i:950;}i:120726;a:1:{i:0;i:951;}i:120727;a:1:{i:0;i:952;}i:120728;a:1:{i:0;i:953;}i:120729;a:1:{i:0;i:954;}i:120730;a:1:{i:0;i:955;}i:120731;a:1:{i:0;i:956;}i:120732;a:1:{i:0;i:957;}i:120733;a:1:{i:0;i:958;}i:120734;a:1:{i:0;i:959;}i:120735;a:1:{i:0;i:960;}i:120736;a:1:{i:0;i:961;}i:120737;a:1:{i:0;i:952;}i:120738;a:1:{i:0;i:963;}i:120739;a:1:{i:0;i:964;}i:120740;a:1:{i:0;i:965;}i:120741;a:1:{i:0;i:966;}i:120742;a:1:{i:0;i:967;}i:120743;a:1:{i:0;i:968;}i:120744;a:1:{i:0;i:969;}i:120763;a:1:{i:0;i:963;}i:1017;a:1:{i:0;i:963;}i:7468;a:1:{i:0;i:97;}i:7469;a:1:{i:0;i:230;}i:7470;a:1:{i:0;i:98;}i:7472;a:1:{i:0;i:100;}i:7473;a:1:{i:0;i:101;}i:7474;a:1:{i:0;i:477;}i:7475;a:1:{i:0;i:103;}i:7476;a:1:{i:0;i:104;}i:7477;a:1:{i:0;i:105;}i:7478;a:1:{i:0;i:106;}i:7479;a:1:{i:0;i:107;}i:7480;a:1:{i:0;i:108;}i:7481;a:1:{i:0;i:109;}i:7482;a:1:{i:0;i:110;}i:7484;a:1:{i:0;i:111;}i:7485;a:1:{i:0;i:547;}i:7486;a:1:{i:0;i:112;}i:7487;a:1:{i:0;i:114;}i:7488;a:1:{i:0;i:116;}i:7489;a:1:{i:0;i:117;}i:7490;a:1:{i:0;i:119;}i:8507;a:3:{i:0;i:102;i:1;i:97;i:2;i:120;}i:12880;a:3:{i:0;i:112;i:1;i:116;i:2;i:101;}i:13004;a:2:{i:0;i:104;i:1;i:103;}i:13006;a:2:{i:0;i:101;i:1;i:118;}i:13007;a:3:{i:0;i:108;i:1;i:116;i:2;i:100;}i:13178;a:2:{i:0;i:105;i:1;i:117;}i:13278;a:3:{i:0;i:118;i:1;i:8725;i:2;i:109;}i:13279;a:3:{i:0;i:97;i:1;i:8725;i:2;i:109;}}s:12:"norm_combcls";a:341:{i:820;i:1;i:821;i:1;i:822;i:1;i:823;i:1;i:824;i:1;i:2364;i:7;i:2492;i:7;i:2620;i:7;i:2748;i:7;i:2876;i:7;i:3260;i:7;i:4151;i:7;i:12441;i:8;i:12442;i:8;i:2381;i:9;i:2509;i:9;i:2637;i:9;i:2765;i:9;i:2893;i:9;i:3021;i:9;i:3149;i:9;i:3277;i:9;i:3405;i:9;i:3530;i:9;i:3642;i:9;i:3972;i:9;i:4153;i:9;i:5908;i:9;i:5940;i:9;i:6098;i:9;i:1456;i:10;i:1457;i:11;i:1458;i:12;i:1459;i:13;i:1460;i:14;i:1461;i:15;i:1462;i:16;i:1463;i:17;i:1464;i:18;i:1465;i:19;i:1467;i:20;i:1468;i:21;i:1469;i:22;i:1471;i:23;i:1473;i:24;i:1474;i:25;i:64286;i:26;i:1611;i:27;i:1612;i:28;i:1613;i:29;i:1614;i:30;i:1615;i:31;i:1616;i:32;i:1617;i:33;i:1618;i:34;i:1648;i:35;i:1809;i:36;i:3157;i:84;i:3158;i:91;i:3640;i:103;i:3641;i:103;i:3656;i:107;i:3657;i:107;i:3658;i:107;i:3659;i:107;i:3768;i:118;i:3769;i:118;i:3784;i:122;i:3785;i:122;i:3786;i:122;i:3787;i:122;i:3953;i:129;i:3954;i:130;i:3962;i:130;i:3963;i:130;i:3964;i:130;i:3965;i:130;i:3968;i:130;i:3956;i:132;i:801;i:202;i:802;i:202;i:807;i:202;i:808;i:202;i:795;i:216;i:3897;i:216;i:119141;i:216;i:119142;i:216;i:119150;i:216;i:119151;i:216;i:119152;i:216;i:119153;i:216;i:119154;i:216;i:12330;i:218;i:790;i:220;i:791;i:220;i:792;i:220;i:793;i:220;i:796;i:220;i:797;i:220;i:798;i:220;i:799;i:220;i:800;i:220;i:803;i:220;i:804;i:220;i:805;i:220;i:806;i:220;i:809;i:220;i:810;i:220;i:811;i:220;i:812;i:220;i:813;i:220;i:814;i:220;i:815;i:220;i:816;i:220;i:817;i:220;i:818;i:220;i:819;i:220;i:825;i:220;i:826;i:220;i:827;i:220;i:828;i:220;i:839;i:220;i:840;i:220;i:841;i:220;i:845;i:220;i:846;i:220;i:851;i:220;i:852;i:220;i:853;i:220;i:854;i:220;i:1425;i:220;i:1430;i:220;i:1435;i:220;i:1443;i:220;i:1444;i:220;i:1445;i:220;i:1446;i:220;i:1447;i:220;i:1450;i:220;i:1621;i:220;i:1622;i:220;i:1763;i:220;i:1770;i:220;i:1773;i:220;i:1841;i:220;i:1844;i:220;i:1847;i:220;i:1848;i:220;i:1849;i:220;i:1851;i:220;i:1852;i:220;i:1854;i:220;i:1858;i:220;i:1860;i:220;i:1862;i:220;i:1864;i:220;i:2386;i:220;i:3864;i:220;i:3865;i:220;i:3893;i:220;i:3895;i:220;i:4038;i:220;i:6459;i:220;i:8424;i:220;i:119163;i:220;i:119164;i:220;i:119165;i:220;i:119166;i:220;i:119167;i:220;i:119168;i:220;i:119169;i:220;i:119170;i:220;i:119178;i:220;i:119179;i:220;i:1434;i:222;i:1453;i:222;i:6441;i:222;i:12333;i:222;i:12334;i:224;i:12335;i:224;i:119149;i:226;i:1454;i:228;i:6313;i:228;i:12331;i:228;i:768;i:230;i:769;i:230;i:770;i:230;i:771;i:230;i:772;i:230;i:773;i:230;i:774;i:230;i:775;i:230;i:776;i:230;i:777;i:230;i:778;i:230;i:779;i:230;i:780;i:230;i:781;i:230;i:782;i:230;i:783;i:230;i:784;i:230;i:785;i:230;i:786;i:230;i:787;i:230;i:788;i:230;i:829;i:230;i:830;i:230;i:831;i:230;i:832;i:230;i:833;i:230;i:834;i:230;i:835;i:230;i:836;i:230;i:838;i:230;i:842;i:230;i:843;i:230;i:844;i:230;i:848;i:230;i:849;i:230;i:850;i:230;i:855;i:230;i:867;i:230;i:868;i:230;i:869;i:230;i:870;i:230;i:871;i:230;i:872;i:230;i:873;i:230;i:874;i:230;i:875;i:230;i:876;i:230;i:877;i:230;i:878;i:230;i:879;i:230;i:1155;i:230;i:1156;i:230;i:1157;i:230;i:1158;i:230;i:1426;i:230;i:1427;i:230;i:1428;i:230;i:1429;i:230;i:1431;i:230;i:1432;i:230;i:1433;i:230;i:1436;i:230;i:1437;i:230;i:1438;i:230;i:1439;i:230;i:1440;i:230;i:1441;i:230;i:1448;i:230;i:1449;i:230;i:1451;i:230;i:1452;i:230;i:1455;i:230;i:1476;i:230;i:1552;i:230;i:1553;i:230;i:1554;i:230;i:1555;i:230;i:1556;i:230;i:1557;i:230;i:1619;i:230;i:1620;i:230;i:1623;i:230;i:1624;i:230;i:1750;i:230;i:1751;i:230;i:1752;i:230;i:1753;i:230;i:1754;i:230;i:1755;i:230;i:1756;i:230;i:1759;i:230;i:1760;i:230;i:1761;i:230;i:1762;i:230;i:1764;i:230;i:1767;i:230;i:1768;i:230;i:1771;i:230;i:1772;i:230;i:1840;i:230;i:1842;i:230;i:1843;i:230;i:1845;i:230;i:1846;i:230;i:1850;i:230;i:1853;i:230;i:1855;i:230;i:1856;i:230;i:1857;i:230;i:1859;i:230;i:1861;i:230;i:1863;i:230;i:1865;i:230;i:1866;i:230;i:2385;i:230;i:2387;i:230;i:2388;i:230;i:3970;i:230;i:3971;i:230;i:3974;i:230;i:3975;i:230;i:5901;i:230;i:6458;i:230;i:8400;i:230;i:8401;i:230;i:8404;i:230;i:8405;i:230;i:8406;i:230;i:8407;i:230;i:8411;i:230;i:8412;i:230;i:8417;i:230;i:8423;i:230;i:8425;i:230;i:65056;i:230;i:65057;i:230;i:65058;i:230;i:65059;i:230;i:119173;i:230;i:119174;i:230;i:119175;i:230;i:119177;i:230;i:119176;i:230;i:119210;i:230;i:119211;i:230;i:119212;i:230;i:119213;i:230;i:789;i:232;i:794;i:232;i:12332;i:232;i:863;i:233;i:866;i:233;i:861;i:234;i:862;i:234;i:864;i:234;i:865;i:234;i:837;i:240;}}
\ No newline at end of file
diff --git a/simplepie/simplepie.inc b/simplepie/simplepie.inc
new file mode 100644
index 0000000000..9e4fa301bb
--- /dev/null
+++ b/simplepie/simplepie.inc
@@ -0,0 +1,15023 @@
+<?php
+/**
+ * SimplePie
+ *
+ * A PHP-Based RSS and Atom Feed Framework.
+ * Takes the hard work out of managing a complete RSS/Atom solution.
+ *
+ * Copyright (c) 2004-2009, Ryan Parman and Geoffrey Sneddon
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 	* Redistributions of source code must retain the above copyright notice, this list of
+ * 	  conditions and the following disclaimer.
+ *
+ * 	* Redistributions in binary form must reproduce the above copyright notice, this list
+ * 	  of conditions and the following disclaimer in the documentation and/or other materials
+ * 	  provided with the distribution.
+ *
+ * 	* Neither the name of the SimplePie Team nor the names of its contributors may be used
+ * 	  to endorse or promote products derived from this software without specific prior
+ * 	  written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS
+ * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ * @package SimplePie
+ * @version 1.2.1-dev
+ * @copyright 2004-2009 Ryan Parman, Geoffrey Sneddon
+ * @author Ryan Parman
+ * @author Geoffrey Sneddon
+ * @link http://simplepie.org/ SimplePie
+ * @link http://simplepie.org/support/ Please submit all bug reports and feature requests to the SimplePie forums
+ * @license http://www.opensource.org/licenses/bsd-license.php BSD License
+ * @todo phpDoc comments
+ */
+
+/**
+ * SimplePie Name
+ */
+define('SIMPLEPIE_NAME', 'SimplePie');
+
+/**
+ * SimplePie Version
+ */
+define('SIMPLEPIE_VERSION', '1.2.1-dev');
+
+/**
+ * SimplePie Build
+ * @todo Hardcode for release (there's no need to have to call SimplePie_Misc::parse_date() only every load of simplepie.inc)
+ */
+define('SIMPLEPIE_BUILD', gmdate('YmdHis', SimplePie_Misc::parse_date(substr('$Date$', 7, 25)) ? SimplePie_Misc::parse_date(substr('$Date$', 7, 25)) : filemtime(__FILE__)));
+
+/**
+ * SimplePie Website URL
+ */
+define('SIMPLEPIE_URL', 'http://simplepie.org');
+
+/**
+ * SimplePie Useragent
+ * @see SimplePie::set_useragent()
+ */
+define('SIMPLEPIE_USERAGENT', SIMPLEPIE_NAME . '/' . SIMPLEPIE_VERSION . ' (Feed Parser; ' . SIMPLEPIE_URL . '; Allow like Gecko) Build/' . SIMPLEPIE_BUILD);
+
+/**
+ * SimplePie Linkback
+ */
+define('SIMPLEPIE_LINKBACK', '<a href="' . SIMPLEPIE_URL . '" title="' . SIMPLEPIE_NAME . ' ' . SIMPLEPIE_VERSION . '">' . SIMPLEPIE_NAME . '</a>');
+
+/**
+ * No Autodiscovery
+ * @see SimplePie::set_autodiscovery_level()
+ */
+define('SIMPLEPIE_LOCATOR_NONE', 0);
+
+/**
+ * Feed Link Element Autodiscovery
+ * @see SimplePie::set_autodiscovery_level()
+ */
+define('SIMPLEPIE_LOCATOR_AUTODISCOVERY', 1);
+
+/**
+ * Local Feed Extension Autodiscovery
+ * @see SimplePie::set_autodiscovery_level()
+ */
+define('SIMPLEPIE_LOCATOR_LOCAL_EXTENSION', 2);
+
+/**
+ * Local Feed Body Autodiscovery
+ * @see SimplePie::set_autodiscovery_level()
+ */
+define('SIMPLEPIE_LOCATOR_LOCAL_BODY', 4);
+
+/**
+ * Remote Feed Extension Autodiscovery
+ * @see SimplePie::set_autodiscovery_level()
+ */
+define('SIMPLEPIE_LOCATOR_REMOTE_EXTENSION', 8);
+
+/**
+ * Remote Feed Body Autodiscovery
+ * @see SimplePie::set_autodiscovery_level()
+ */
+define('SIMPLEPIE_LOCATOR_REMOTE_BODY', 16);
+
+/**
+ * All Feed Autodiscovery
+ * @see SimplePie::set_autodiscovery_level()
+ */
+define('SIMPLEPIE_LOCATOR_ALL', 31);
+
+/**
+ * No known feed type
+ */
+define('SIMPLEPIE_TYPE_NONE', 0);
+
+/**
+ * RSS 0.90
+ */
+define('SIMPLEPIE_TYPE_RSS_090', 1);
+
+/**
+ * RSS 0.91 (Netscape)
+ */
+define('SIMPLEPIE_TYPE_RSS_091_NETSCAPE', 2);
+
+/**
+ * RSS 0.91 (Userland)
+ */
+define('SIMPLEPIE_TYPE_RSS_091_USERLAND', 4);
+
+/**
+ * RSS 0.91 (both Netscape and Userland)
+ */
+define('SIMPLEPIE_TYPE_RSS_091', 6);
+
+/**
+ * RSS 0.92
+ */
+define('SIMPLEPIE_TYPE_RSS_092', 8);
+
+/**
+ * RSS 0.93
+ */
+define('SIMPLEPIE_TYPE_RSS_093', 16);
+
+/**
+ * RSS 0.94
+ */
+define('SIMPLEPIE_TYPE_RSS_094', 32);
+
+/**
+ * RSS 1.0
+ */
+define('SIMPLEPIE_TYPE_RSS_10', 64);
+
+/**
+ * RSS 2.0
+ */
+define('SIMPLEPIE_TYPE_RSS_20', 128);
+
+/**
+ * RDF-based RSS
+ */
+define('SIMPLEPIE_TYPE_RSS_RDF', 65);
+
+/**
+ * Non-RDF-based RSS (truly intended as syndication format)
+ */
+define('SIMPLEPIE_TYPE_RSS_SYNDICATION', 190);
+
+/**
+ * All RSS
+ */
+define('SIMPLEPIE_TYPE_RSS_ALL', 255);
+
+/**
+ * Atom 0.3
+ */
+define('SIMPLEPIE_TYPE_ATOM_03', 256);
+
+/**
+ * Atom 1.0
+ */
+define('SIMPLEPIE_TYPE_ATOM_10', 512);
+
+/**
+ * All Atom
+ */
+define('SIMPLEPIE_TYPE_ATOM_ALL', 768);
+
+/**
+ * All feed types
+ */
+define('SIMPLEPIE_TYPE_ALL', 1023);
+
+/**
+ * No construct
+ */
+define('SIMPLEPIE_CONSTRUCT_NONE', 0);
+
+/**
+ * Text construct
+ */
+define('SIMPLEPIE_CONSTRUCT_TEXT', 1);
+
+/**
+ * HTML construct
+ */
+define('SIMPLEPIE_CONSTRUCT_HTML', 2);
+
+/**
+ * XHTML construct
+ */
+define('SIMPLEPIE_CONSTRUCT_XHTML', 4);
+
+/**
+ * base64-encoded construct
+ */
+define('SIMPLEPIE_CONSTRUCT_BASE64', 8);
+
+/**
+ * IRI construct
+ */
+define('SIMPLEPIE_CONSTRUCT_IRI', 16);
+
+/**
+ * A construct that might be HTML
+ */
+define('SIMPLEPIE_CONSTRUCT_MAYBE_HTML', 32);
+
+/**
+ * All constructs
+ */
+define('SIMPLEPIE_CONSTRUCT_ALL', 63);
+
+/**
+ * Don't change case
+ */
+define('SIMPLEPIE_SAME_CASE', 1);
+
+/**
+ * Change to lowercase
+ */
+define('SIMPLEPIE_LOWERCASE', 2);
+
+/**
+ * Change to uppercase
+ */
+define('SIMPLEPIE_UPPERCASE', 4);
+
+/**
+ * PCRE for HTML attributes
+ */
+define('SIMPLEPIE_PCRE_HTML_ATTRIBUTE', '((?:[\x09\x0A\x0B\x0C\x0D\x20]+[^\x09\x0A\x0B\x0C\x0D\x20\x2F\x3E][^\x09\x0A\x0B\x0C\x0D\x20\x2F\x3D\x3E]*(?:[\x09\x0A\x0B\x0C\x0D\x20]*=[\x09\x0A\x0B\x0C\x0D\x20]*(?:"(?:[^"]*)"|\'(?:[^\']*)\'|(?:[^\x09\x0A\x0B\x0C\x0D\x20\x22\x27\x3E][^\x09\x0A\x0B\x0C\x0D\x20\x3E]*)?))?)*)[\x09\x0A\x0B\x0C\x0D\x20]*');
+
+/**
+ * PCRE for XML attributes
+ */
+define('SIMPLEPIE_PCRE_XML_ATTRIBUTE', '((?:\s+(?:(?:[^\s:]+:)?[^\s:]+)\s*=\s*(?:"(?:[^"]*)"|\'(?:[^\']*)\'))*)\s*');
+
+/**
+ * XML Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_XML', 'http://www.w3.org/XML/1998/namespace');
+
+/**
+ * Atom 1.0 Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_ATOM_10', 'http://www.w3.org/2005/Atom');
+
+/**
+ * Atom 0.3 Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_ATOM_03', 'http://purl.org/atom/ns#');
+
+/**
+ * RDF Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_RDF', 'http://www.w3.org/1999/02/22-rdf-syntax-ns#');
+
+/**
+ * RSS 0.90 Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_RSS_090', 'http://my.netscape.com/rdf/simple/0.9/');
+
+/**
+ * RSS 1.0 Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_RSS_10', 'http://purl.org/rss/1.0/');
+
+/**
+ * RSS 1.0 Content Module Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_RSS_10_MODULES_CONTENT', 'http://purl.org/rss/1.0/modules/content/');
+
+/**
+ * RSS 2.0 Namespace
+ * (Stupid, I know, but I'm certain it will confuse people less with support.)
+ */
+define('SIMPLEPIE_NAMESPACE_RSS_20', '');
+
+/**
+ * DC 1.0 Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_DC_10', 'http://purl.org/dc/elements/1.0/');
+
+/**
+ * DC 1.1 Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_DC_11', 'http://purl.org/dc/elements/1.1/');
+
+/**
+ * W3C Basic Geo (WGS84 lat/long) Vocabulary Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO', 'http://www.w3.org/2003/01/geo/wgs84_pos#');
+
+/**
+ * GeoRSS Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_GEORSS', 'http://www.georss.org/georss');
+
+/**
+ * Media RSS Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_MEDIARSS', 'http://search.yahoo.com/mrss/');
+
+/**
+ * Wrong Media RSS Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG', 'http://search.yahoo.com/mrss');
+
+/**
+ * iTunes RSS Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_ITUNES', 'http://www.itunes.com/dtds/podcast-1.0.dtd');
+
+/**
+ * XHTML Namespace
+ */
+define('SIMPLEPIE_NAMESPACE_XHTML', 'http://www.w3.org/1999/xhtml');
+
+/**
+ * IANA Link Relations Registry
+ */
+define('SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY', 'http://www.iana.org/assignments/relation/');
+
+/**
+ * Whether we're running on PHP5
+ */
+define('SIMPLEPIE_PHP5', version_compare(PHP_VERSION, '5.0.0', '>='));
+
+/**
+ * No file source
+ */
+define('SIMPLEPIE_FILE_SOURCE_NONE', 0);
+
+/**
+ * Remote file source
+ */
+define('SIMPLEPIE_FILE_SOURCE_REMOTE', 1);
+
+/**
+ * Local file source
+ */
+define('SIMPLEPIE_FILE_SOURCE_LOCAL', 2);
+
+/**
+ * fsockopen() file source
+ */
+define('SIMPLEPIE_FILE_SOURCE_FSOCKOPEN', 4);
+
+/**
+ * cURL file source
+ */
+define('SIMPLEPIE_FILE_SOURCE_CURL', 8);
+
+/**
+ * file_get_contents() file source
+ */
+define('SIMPLEPIE_FILE_SOURCE_FILE_GET_CONTENTS', 16);
+
+/**
+ * SimplePie
+ *
+ * @package SimplePie
+ */
+class SimplePie
+{
+	/**
+	 * @var array Raw data
+	 * @access private
+	 */
+	var $data = array();
+
+	/**
+	 * @var mixed Error string
+	 * @access private
+	 */
+	var $error;
+
+	/**
+	 * @var object Instance of SimplePie_Sanitize (or other class)
+	 * @see SimplePie::set_sanitize_class()
+	 * @access private
+	 */
+	var $sanitize;
+
+	/**
+	 * @var string SimplePie Useragent
+	 * @see SimplePie::set_useragent()
+	 * @access private
+	 */
+	var $useragent = SIMPLEPIE_USERAGENT;
+
+	/**
+	 * @var string Feed URL
+	 * @see SimplePie::set_feed_url()
+	 * @access private
+	 */
+	var $feed_url;
+
+	/**
+	 * @var object Instance of SimplePie_File to use as a feed
+	 * @see SimplePie::set_file()
+	 * @access private
+	 */
+	var $file;
+
+	/**
+	 * @var string Raw feed data
+	 * @see SimplePie::set_raw_data()
+	 * @access private
+	 */
+	var $raw_data;
+
+	/**
+	 * @var int Timeout for fetching remote files
+	 * @see SimplePie::set_timeout()
+	 * @access private
+	 */
+	var $timeout = 10;
+
+	/**
+	 * @var bool Forces fsockopen() to be used for remote files instead
+	 * of cURL, even if a new enough version is installed
+	 * @see SimplePie::force_fsockopen()
+	 * @access private
+	 */
+	var $force_fsockopen = false;
+
+	/**
+	 * @var bool Force the given data/URL to be treated as a feed no matter what
+	 * it appears like
+	 * @see SimplePie::force_feed()
+	 * @access private
+	 */
+	var $force_feed = false;
+
+	/**
+	 * @var bool Enable/Disable XML dump
+	 * @see SimplePie::enable_xml_dump()
+	 * @access private
+	 */
+	var $xml_dump = false;
+
+	/**
+	 * @var bool Enable/Disable Caching
+	 * @see SimplePie::enable_cache()
+	 * @access private
+	 */
+	var $cache = true;
+
+	/**
+	 * @var int Cache duration (in seconds)
+	 * @see SimplePie::set_cache_duration()
+	 * @access private
+	 */
+	var $cache_duration = 3600;
+
+	/**
+	 * @var int Auto-discovery cache duration (in seconds)
+	 * @see SimplePie::set_autodiscovery_cache_duration()
+	 * @access private
+	 */
+	var $autodiscovery_cache_duration = 604800; // 7 Days.
+
+	/**
+	 * @var string Cache location (relative to executing script)
+	 * @see SimplePie::set_cache_location()
+	 * @access private
+	 */
+	var $cache_location = './cache';
+
+	/**
+	 * @var string Function that creates the cache filename
+	 * @see SimplePie::set_cache_name_function()
+	 * @access private
+	 */
+	var $cache_name_function = 'md5';
+
+	/**
+	 * @var bool Reorder feed by date descending
+	 * @see SimplePie::enable_order_by_date()
+	 * @access private
+	 */
+	var $order_by_date = true;
+
+	/**
+	 * @var mixed Force input encoding to be set to the follow value
+	 * (false, or anything type-cast to false, disables this feature)
+	 * @see SimplePie::set_input_encoding()
+	 * @access private
+	 */
+	var $input_encoding = false;
+
+	/**
+	 * @var int Feed Autodiscovery Level
+	 * @see SimplePie::set_autodiscovery_level()
+	 * @access private
+	 */
+	var $autodiscovery = SIMPLEPIE_LOCATOR_ALL;
+
+	/**
+	 * @var string Class used for caching feeds
+	 * @see SimplePie::set_cache_class()
+	 * @access private
+	 */
+	var $cache_class = 'SimplePie_Cache';
+
+	/**
+	 * @var string Class used for locating feeds
+	 * @see SimplePie::set_locator_class()
+	 * @access private
+	 */
+	var $locator_class = 'SimplePie_Locator';
+
+	/**
+	 * @var string Class used for parsing feeds
+	 * @see SimplePie::set_parser_class()
+	 * @access private
+	 */
+	var $parser_class = 'SimplePie_Parser';
+
+	/**
+	 * @var string Class used for fetching feeds
+	 * @see SimplePie::set_file_class()
+	 * @access private
+	 */
+	var $file_class = 'SimplePie_File';
+
+	/**
+	 * @var string Class used for items
+	 * @see SimplePie::set_item_class()
+	 * @access private
+	 */
+	var $item_class = 'SimplePie_Item';
+
+	/**
+	 * @var string Class used for authors
+	 * @see SimplePie::set_author_class()
+	 * @access private
+	 */
+	var $author_class = 'SimplePie_Author';
+
+	/**
+	 * @var string Class used for categories
+	 * @see SimplePie::set_category_class()
+	 * @access private
+	 */
+	var $category_class = 'SimplePie_Category';
+
+	/**
+	 * @var string Class used for enclosures
+	 * @see SimplePie::set_enclosures_class()
+	 * @access private
+	 */
+	var $enclosure_class = 'SimplePie_Enclosure';
+
+	/**
+	 * @var string Class used for Media RSS <media:text> captions
+	 * @see SimplePie::set_caption_class()
+	 * @access private
+	 */
+	var $caption_class = 'SimplePie_Caption';
+
+	/**
+	 * @var string Class used for Media RSS <media:copyright>
+	 * @see SimplePie::set_copyright_class()
+	 * @access private
+	 */
+	var $copyright_class = 'SimplePie_Copyright';
+
+	/**
+	 * @var string Class used for Media RSS <media:credit>
+	 * @see SimplePie::set_credit_class()
+	 * @access private
+	 */
+	var $credit_class = 'SimplePie_Credit';
+
+	/**
+	 * @var string Class used for Media RSS <media:rating>
+	 * @see SimplePie::set_rating_class()
+	 * @access private
+	 */
+	var $rating_class = 'SimplePie_Rating';
+
+	/**
+	 * @var string Class used for Media RSS <media:restriction>
+	 * @see SimplePie::set_restriction_class()
+	 * @access private
+	 */
+	var $restriction_class = 'SimplePie_Restriction';
+
+	/**
+	 * @var string Class used for content-type sniffing
+	 * @see SimplePie::set_content_type_sniffer_class()
+	 * @access private
+	 */
+	var $content_type_sniffer_class = 'SimplePie_Content_Type_Sniffer';
+
+	/**
+	 * @var string Class used for item sources.
+	 * @see SimplePie::set_source_class()
+	 * @access private
+	 */
+	var $source_class = 'SimplePie_Source';
+
+	/**
+	 * @var mixed Set javascript query string parameter (false, or
+	 * anything type-cast to false, disables this feature)
+	 * @see SimplePie::set_javascript()
+	 * @access private
+	 */
+	var $javascript = 'js';
+
+	/**
+	 * @var int Maximum number of feeds to check with autodiscovery
+	 * @see SimplePie::set_max_checked_feeds()
+	 * @access private
+	 */
+	var $max_checked_feeds = 10;
+
+	/**
+	 * @var array All the feeds found during the autodiscovery process
+	 * @see SimplePie::get_all_discovered_feeds()
+	 * @access private
+	 */
+	var $all_discovered_feeds = array();
+
+	/**
+	 * @var string Web-accessible path to the handler_favicon.php file.
+	 * @see SimplePie::set_favicon_handler()
+	 * @access private
+	 */
+	var $favicon_handler = '';
+
+	/**
+	 * @var string Web-accessible path to the handler_image.php file.
+	 * @see SimplePie::set_image_handler()
+	 * @access private
+	 */
+	var $image_handler = '';
+
+	/**
+	 * @var array Stores the URLs when multiple feeds are being initialized.
+	 * @see SimplePie::set_feed_url()
+	 * @access private
+	 */
+	var $multifeed_url = array();
+
+	/**
+	 * @var array Stores SimplePie objects when multiple feeds initialized.
+	 * @access private
+	 */
+	var $multifeed_objects = array();
+
+	/**
+	 * @var array Stores the get_object_vars() array for use with multifeeds.
+	 * @see SimplePie::set_feed_url()
+	 * @access private
+	 */
+	var $config_settings = null;
+
+	/**
+	 * @var integer Stores the number of items to return per-feed with multifeeds.
+	 * @see SimplePie::set_item_limit()
+	 * @access private
+	 */
+	var $item_limit = 0;
+
+	/**
+	 * @var array Stores the default attributes to be stripped by strip_attributes().
+	 * @see SimplePie::strip_attributes()
+	 * @access private
+	 */
+	var $strip_attributes = array('bgsound', 'class', 'expr', 'id', 'style', 'onclick', 'onerror', 'onfinish', 'onmouseover', 'onmouseout', 'onfocus', 'onblur', 'lowsrc', 'dynsrc');
+
+	/**
+	 * @var array Stores the default tags to be stripped by strip_htmltags().
+	 * @see SimplePie::strip_htmltags()
+	 * @access private
+	 */
+	var $strip_htmltags = array('base', 'blink', 'body', 'doctype', 'embed', 'font', 'form', 'frame', 'frameset', 'html', 'iframe', 'input', 'marquee', 'meta', 'noscript', 'object', 'param', 'script', 'style');
+
+	/**
+	 * The SimplePie class contains feed level data and options
+	 *
+	 * There are two ways that you can create a new SimplePie object. The first
+	 * is by passing a feed URL as a parameter to the SimplePie constructor
+	 * (as well as optionally setting the cache location and cache expiry). This
+	 * will initialise the whole feed with all of the default settings, and you
+	 * can begin accessing methods and properties immediately.
+	 *
+	 * The second way is to create the SimplePie object with no parameters
+	 * at all. This will enable you to set configuration options. After setting
+	 * them, you must initialise the feed using $feed->init(). At that point the
+	 * object's methods and properties will be available to you. This format is
+	 * what is used throughout this documentation.
+	 *
+	 * @access public
+	 * @since 1.0 Preview Release
+	 * @param string $feed_url This is the URL you want to parse.
+	 * @param string $cache_location This is where you want the cache to be stored.
+	 * @param int $cache_duration This is the number of seconds that you want to store the cache file for.
+	 */
+	function SimplePie($feed_url = null, $cache_location = null, $cache_duration = null)
+	{
+		// Other objects, instances created here so we can set options on them
+		$this->sanitize =& new SimplePie_Sanitize;
+
+		// Set options if they're passed to the constructor
+		if ($cache_location !== null)
+		{
+			$this->set_cache_location($cache_location);
+		}
+
+		if ($cache_duration !== null)
+		{
+			$this->set_cache_duration($cache_duration);
+		}
+
+		// Only init the script if we're passed a feed URL
+		if ($feed_url !== null)
+		{
+			$this->set_feed_url($feed_url);
+			$this->init();
+		}
+	}
+
+	/**
+	 * Used for converting object to a string
+	 */
+	function __toString()
+	{
+		return md5(serialize($this->data));
+	}
+
+	/**
+	 * Remove items that link back to this before destroying this object
+	 */
+	function __destruct()
+	{
+		if ((version_compare(PHP_VERSION, '5.3', '<') || !gc_enabled()) && !ini_get('zend.ze1_compatibility_mode'))
+		{
+			if (!empty($this->data['items']))
+			{
+				foreach ($this->data['items'] as $item)
+				{
+					$item->__destruct();
+				}
+				unset($item, $this->data['items']);
+			}
+			if (!empty($this->data['ordered_items']))
+			{
+				foreach ($this->data['ordered_items'] as $item)
+				{
+					$item->__destruct();
+				}
+				unset($item, $this->data['ordered_items']);
+			}
+		}
+	}
+
+	/**
+	 * Force the given data/URL to be treated as a feed no matter what it
+	 * appears like
+	 *
+	 * @access public
+	 * @since 1.1
+	 * @param bool $enable Force the given data/URL to be treated as a feed
+	 */
+	function force_feed($enable = false)
+	{
+		$this->force_feed = (bool) $enable;
+	}
+
+	/**
+	 * This is the URL of the feed you want to parse.
+	 *
+	 * This allows you to enter the URL of the feed you want to parse, or the
+	 * website you want to try to use auto-discovery on. This takes priority
+	 * over any set raw data.
+	 *
+	 * You can set multiple feeds to mash together by passing an array instead
+	 * of a string for the $url. Remember that with each additional feed comes
+	 * additional processing and resources.
+	 *
+	 * @access public
+	 * @since 1.0 Preview Release
+	 * @param mixed $url This is the URL (or array of URLs) that you want to parse.
+	 * @see SimplePie::set_raw_data()
+	 */
+	function set_feed_url($url)
+	{
+		if (is_array($url))
+		{
+			$this->multifeed_url = array();
+			foreach ($url as $value)
+			{
+				$this->multifeed_url[] = SimplePie_Misc::fix_protocol($value, 1);
+			}
+		}
+		else
+		{
+			$this->feed_url = SimplePie_Misc::fix_protocol($url, 1);
+		}
+	}
+
+	/**
+	 * Provides an instance of SimplePie_File to use as a feed
+	 *
+	 * @access public
+	 * @param object &$file Instance of SimplePie_File (or subclass)
+	 * @return bool True on success, false on failure
+	 */
+	function set_file(&$file)
+	{
+		if (is_a($file, 'SimplePie_File'))
+		{
+			$this->feed_url = $file->url;
+			$this->file =& $file;
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * Allows you to use a string of RSS/Atom data instead of a remote feed.
+	 *
+	 * If you have a feed available as a string in PHP, you can tell SimplePie
+	 * to parse that data string instead of a remote feed. Any set feed URL
+	 * takes precedence.
+	 *
+	 * @access public
+	 * @since 1.0 Beta 3
+	 * @param string $data RSS or Atom data as a string.
+	 * @see SimplePie::set_feed_url()
+	 */
+	function set_raw_data($data)
+	{
+		$this->raw_data = $data;
+	}
+
+	/**
+	 * Allows you to override the default timeout for fetching remote feeds.
+	 *
+	 * This allows you to change the maximum time the feed's server to respond
+	 * and send the feed back.
+	 *
+	 * @access public
+	 * @since 1.0 Beta 3
+	 * @param int $timeout The maximum number of seconds to spend waiting to retrieve a feed.
+	 */
+	function set_timeout($timeout = 10)
+	{
+		$this->timeout = (int) $timeout;
+	}
+
+	/**
+	 * Forces SimplePie to use fsockopen() instead of the preferred cURL
+	 * functions.
+	 *
+	 * @access public
+	 * @since 1.0 Beta 3
+	 * @param bool $enable Force fsockopen() to be used
+	 */
+	function force_fsockopen($enable = false)
+	{
+		$this->force_fsockopen = (bool) $enable;
+	}
+
+	/**
+	 * Outputs the raw XML content of the feed, after it has gone through
+	 * SimplePie's filters.
+	 *
+	 * Used only for debugging, this function will output the XML content as
+	 * text/xml. When SimplePie reads in a feed, it does a bit of cleaning up
+	 * before trying to parse it. Many parts of the feed are re-written in
+	 * memory, and in the end, you have a parsable feed. XML dump shows you the
+	 * actual XML that SimplePie tries to parse, which may or may not be very
+	 * different from the original feed.
+	 *
+	 * @access public
+	 * @since 1.0 Preview Release
+	 * @param bool $enable Enable XML dump
+	 */
+	function enable_xml_dump($enable = false)
+	{
+		$this->xml_dump = (bool) $enable;
+	}
+
+	/**
+	 * Enables/disables caching in SimplePie.
+	 *
+	 * This option allows you to disable caching all-together in SimplePie.
+	 * However, disabling the cache can lead to longer load times.
+	 *
+	 * @access public
+	 * @since 1.0 Preview Release
+	 * @param bool $enable Enable caching
+	 */
+	function enable_cache($enable = true)
+	{
+		$this->cache = (bool) $enable;
+	}
+
+	/**
+	 * Set the length of time (in seconds) that the contents of a feed
+	 * will be cached.
+	 *
+	 * @access public
+	 * @param int $seconds The feed content cache duration.
+	 */
+	function set_cache_duration($seconds = 3600)
+	{
+		$this->cache_duration = (int) $seconds;
+	}
+
+	/**
+	 * Set the length of time (in seconds) that the autodiscovered feed
+	 * URL will be cached.
+	 *
+	 * @access public
+	 * @param int $seconds The autodiscovered feed URL cache duration.
+	 */
+	function set_autodiscovery_cache_duration($seconds = 604800)
+	{
+		$this->autodiscovery_cache_duration = (int) $seconds;
+	}
+
+	/**
+	 * Set the file system location where the cached files should be stored.
+	 *
+	 * @access public
+	 * @param string $location The file system location.
+	 */
+	function set_cache_location($location = './cache')
+	{
+		$this->cache_location = (string) $location;
+	}
+
+	/**
+	 * Determines whether feed items should be sorted into reverse chronological order.
+	 *
+	 * @access public
+	 * @param bool $enable Sort as reverse chronological order.
+	 */
+	function enable_order_by_date($enable = true)
+	{
+		$this->order_by_date = (bool) $enable;
+	}
+
+	/**
+	 * Allows you to override the character encoding reported by the feed.
+	 *
+	 * @access public
+	 * @param string $encoding Character encoding.
+	 */
+	function set_input_encoding($encoding = false)
+	{
+		if ($encoding)
+		{
+			$this->input_encoding = (string) $encoding;
+		}
+		else
+		{
+			$this->input_encoding = false;
+		}
+	}
+
+	/**
+	 * Set how much feed autodiscovery to do
+	 *
+	 * @access public
+	 * @see SIMPLEPIE_LOCATOR_NONE
+	 * @see SIMPLEPIE_LOCATOR_AUTODISCOVERY
+	 * @see SIMPLEPIE_LOCATOR_LOCAL_EXTENSION
+	 * @see SIMPLEPIE_LOCATOR_LOCAL_BODY
+	 * @see SIMPLEPIE_LOCATOR_REMOTE_EXTENSION
+	 * @see SIMPLEPIE_LOCATOR_REMOTE_BODY
+	 * @see SIMPLEPIE_LOCATOR_ALL
+	 * @param int $level Feed Autodiscovery Level (level can be a
+	 * combination of the above constants, see bitwise OR operator)
+	 */
+	function set_autodiscovery_level($level = SIMPLEPIE_LOCATOR_ALL)
+	{
+		$this->autodiscovery = (int) $level;
+	}
+
+	/**
+	 * Allows you to change which class SimplePie uses for caching.
+	 * Useful when you are overloading or extending SimplePie's default classes.
+	 *
+	 * @access public
+	 * @param string $class Name of custom class.
+	 * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
+	 * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+	 */
+	function set_cache_class($class = 'SimplePie_Cache')
+	{
+		if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Cache'))
+		{
+			$this->cache_class = $class;
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * Allows you to change which class SimplePie uses for auto-discovery.
+	 * Useful when you are overloading or extending SimplePie's default classes.
+	 *
+	 * @access public
+	 * @param string $class Name of custom class.
+	 * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
+	 * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+	 */
+	function set_locator_class($class = 'SimplePie_Locator')
+	{
+		if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Locator'))
+		{
+			$this->locator_class = $class;
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * Allows you to change which class SimplePie uses for XML parsing.
+	 * Useful when you are overloading or extending SimplePie's default classes.
+	 *
+	 * @access public
+	 * @param string $class Name of custom class.
+	 * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
+	 * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+	 */
+	function set_parser_class($class = 'SimplePie_Parser')
+	{
+		if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Parser'))
+		{
+			$this->parser_class = $class;
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * Allows you to change which class SimplePie uses for remote file fetching.
+	 * Useful when you are overloading or extending SimplePie's default classes.
+	 *
+	 * @access public
+	 * @param string $class Name of custom class.
+	 * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
+	 * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+	 */
+	function set_file_class($class = 'SimplePie_File')
+	{
+		if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_File'))
+		{
+			$this->file_class = $class;
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * Allows you to change which class SimplePie uses for data sanitization.
+	 * Useful when you are overloading or extending SimplePie's default classes.
+	 *
+	 * @access public
+	 * @param string $class Name of custom class.
+	 * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
+	 * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+	 */
+	function set_sanitize_class($class = 'SimplePie_Sanitize')
+	{
+		if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Sanitize'))
+		{
+			$this->sanitize =& new $class;
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * Allows you to change which class SimplePie uses for handling feed items.
+	 * Useful when you are overloading or extending SimplePie's default classes.
+	 *
+	 * @access public
+	 * @param string $class Name of custom class.
+	 * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
+	 * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+	 */
+	function set_item_class($class = 'SimplePie_Item')
+	{
+		if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Item'))
+		{
+			$this->item_class = $class;
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * Allows you to change which class SimplePie uses for handling author data.
+	 * Useful when you are overloading or extending SimplePie's default classes.
+	 *
+	 * @access public
+	 * @param string $class Name of custom class.
+	 * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
+	 * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+	 */
+	function set_author_class($class = 'SimplePie_Author')
+	{
+		if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Author'))
+		{
+			$this->author_class = $class;
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * Allows you to change which class SimplePie uses for handling category data.
+	 * Useful when you are overloading or extending SimplePie's default classes.
+	 *
+	 * @access public
+	 * @param string $class Name of custom class.
+	 * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
+	 * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+	 */
+	function set_category_class($class = 'SimplePie_Category')
+	{
+		if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Category'))
+		{
+			$this->category_class = $class;
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * Allows you to change which class SimplePie uses for feed enclosures.
+	 * Useful when you are overloading or extending SimplePie's default classes.
+	 *
+	 * @access public
+	 * @param string $class Name of custom class.
+	 * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
+	 * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+	 */
+	function set_enclosure_class($class = 'SimplePie_Enclosure')
+	{
+		if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Enclosure'))
+		{
+			$this->enclosure_class = $class;
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * Allows you to change which class SimplePie uses for <media:text> captions
+	 * Useful when you are overloading or extending SimplePie's default classes.
+	 *
+	 * @access public
+	 * @param string $class Name of custom class.
+	 * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
+	 * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+	 */
+	function set_caption_class($class = 'SimplePie_Caption')
+	{
+		if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Caption'))
+		{
+			$this->caption_class = $class;
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * Allows you to change which class SimplePie uses for <media:copyright>
+	 * Useful when you are overloading or extending SimplePie's default classes.
+	 *
+	 * @access public
+	 * @param string $class Name of custom class.
+	 * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
+	 * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+	 */
+	function set_copyright_class($class = 'SimplePie_Copyright')
+	{
+		if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Copyright'))
+		{
+			$this->copyright_class = $class;
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * Allows you to change which class SimplePie uses for <media:credit>
+	 * Useful when you are overloading or extending SimplePie's default classes.
+	 *
+	 * @access public
+	 * @param string $class Name of custom class.
+	 * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
+	 * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+	 */
+	function set_credit_class($class = 'SimplePie_Credit')
+	{
+		if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Credit'))
+		{
+			$this->credit_class = $class;
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * Allows you to change which class SimplePie uses for <media:rating>
+	 * Useful when you are overloading or extending SimplePie's default classes.
+	 *
+	 * @access public
+	 * @param string $class Name of custom class.
+	 * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
+	 * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+	 */
+	function set_rating_class($class = 'SimplePie_Rating')
+	{
+		if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Rating'))
+		{
+			$this->rating_class = $class;
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * Allows you to change which class SimplePie uses for <media:restriction>
+	 * Useful when you are overloading or extending SimplePie's default classes.
+	 *
+	 * @access public
+	 * @param string $class Name of custom class.
+	 * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
+	 * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+	 */
+	function set_restriction_class($class = 'SimplePie_Restriction')
+	{
+		if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Restriction'))
+		{
+			$this->restriction_class = $class;
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * Allows you to change which class SimplePie uses for content-type sniffing.
+	 * Useful when you are overloading or extending SimplePie's default classes.
+	 *
+	 * @access public
+	 * @param string $class Name of custom class.
+	 * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
+	 * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+	 */
+	function set_content_type_sniffer_class($class = 'SimplePie_Content_Type_Sniffer')
+	{
+		if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Content_Type_Sniffer'))
+		{
+			$this->content_type_sniffer_class = $class;
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * Allows you to change which class SimplePie uses item sources.
+	 * Useful when you are overloading or extending SimplePie's default classes.
+	 *
+	 * @access public
+	 * @param string $class Name of custom class.
+	 * @link http://php.net/manual/en/keyword.extends.php PHP4 extends documentation
+	 * @link http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.extends PHP5 extends documentation
+	 */
+	function set_source_class($class = 'SimplePie_Source')
+	{
+		if (SimplePie_Misc::is_subclass_of($class, 'SimplePie_Source'))
+		{
+			$this->source_class = $class;
+			return true;
+		}
+		return false;
+	}
+
+	/**
+	 * Allows you to override the default user agent string.
+	 *
+	 * @access public
+	 * @param string $ua New user agent string.
+	 */
+	function set_useragent($ua = SIMPLEPIE_USERAGENT)
+	{
+		$this->useragent = (string) $ua;
+	}
+
+	/**
+	 * Set callback function to create cache filename with
+	 *
+	 * @access public
+	 * @param mixed $function Callback function
+	 */
+	function set_cache_name_function($function = 'md5')
+	{
+		if (is_callable($function))
+		{
+			$this->cache_name_function = $function;
+		}
+	}
+
+	/**
+	 * Set javascript query string parameter
+	 *
+	 * @access public
+	 * @param mixed $get Javascript query string parameter
+	 */
+	function set_javascript($get = 'js')
+	{
+		if ($get)
+		{
+			$this->javascript = (string) $get;
+		}
+		else
+		{
+			$this->javascript = false;
+		}
+	}
+
+	/**
+	 * Set options to make SP as fast as possible.  Forgoes a
+	 * substantial amount of data sanitization in favor of speed.
+	 *
+	 * @access public
+	 * @param bool $set Whether to set them or not
+	 */
+	function set_stupidly_fast($set = false)
+	{
+		if ($set)
+		{
+			$this->enable_order_by_date(false);
+			$this->remove_div(false);
+			$this->strip_comments(false);
+			$this->strip_htmltags(false);
+			$this->strip_attributes(false);
+			$this->set_image_handler(false);
+		}
+	}
+
+	/**
+	 * Set maximum number of feeds to check with autodiscovery
+	 *
+	 * @access public
+	 * @param int $max Maximum number of feeds to check
+	 */
+	function set_max_checked_feeds($max = 10)
+	{
+		$this->max_checked_feeds = (int) $max;
+	}
+
+	function remove_div($enable = true)
+	{
+		$this->sanitize->remove_div($enable);
+	}
+
+	function strip_htmltags($tags = '', $encode = null)
+	{
+		if ($tags === '')
+		{
+			$tags = $this->strip_htmltags;
+		}
+		$this->sanitize->strip_htmltags($tags);
+		if ($encode !== null)
+		{
+			$this->sanitize->encode_instead_of_strip($tags);
+		}
+	}
+
+	function encode_instead_of_strip($enable = true)
+	{
+		$this->sanitize->encode_instead_of_strip($enable);
+	}
+
+	function strip_attributes($attribs = '')
+	{
+		if ($attribs === '')
+		{
+			$attribs = $this->strip_attributes;
+		}
+		$this->sanitize->strip_attributes($attribs);
+	}
+
+	function set_output_encoding($encoding = 'UTF-8')
+	{
+		$this->sanitize->set_output_encoding($encoding);
+	}
+
+	function strip_comments($strip = false)
+	{
+		$this->sanitize->strip_comments($strip);
+	}
+
+	/**
+	 * Set element/attribute key/value pairs of HTML attributes
+	 * containing URLs that need to be resolved relative to the feed
+	 *
+	 * @access public
+	 * @since 1.0
+	 * @param array $element_attribute Element/attribute key/value pairs
+	 */
+	function set_url_replacements($element_attribute = array('a' => 'href', 'area' => 'href', 'blockquote' => 'cite', 'del' => 'cite', 'form' => 'action', 'img' => array('longdesc', 'src'), 'input' => 'src', 'ins' => 'cite', 'q' => 'cite'))
+	{
+		$this->sanitize->set_url_replacements($element_attribute);
+	}
+
+	/**
+	 * Set the handler to enable the display of cached favicons.
+	 *
+	 * @access public
+	 * @param str $page Web-accessible path to the handler_favicon.php file.
+	 * @param str $qs The query string that the value should be passed to.
+	 */
+	function set_favicon_handler($page = false, $qs = 'i')
+	{
+		if ($page !== false)
+		{
+			$this->favicon_handler = $page . '?' . $qs . '=';
+		}
+		else
+		{
+			$this->favicon_handler = '';
+		}
+	}
+
+	/**
+	 * Set the handler to enable the display of cached images.
+	 *
+	 * @access public
+	 * @param str $page Web-accessible path to the handler_image.php file.
+	 * @param str $qs The query string that the value should be passed to.
+	 */
+	function set_image_handler($page = false, $qs = 'i')
+	{
+		if ($page !== false)
+		{
+			$this->sanitize->set_image_handler($page . '?' . $qs . '=');
+		}
+		else
+		{
+			$this->image_handler = '';
+		}
+	}
+
+	/**
+	 * Set the limit for items returned per-feed with multifeeds.
+	 *
+	 * @access public
+	 * @param integer $limit The maximum number of items to return.
+	 */
+	function set_item_limit($limit = 0)
+	{
+		$this->item_limit = (int) $limit;
+	}
+
+	function init()
+	{
+		// Check absolute bare minimum requirements.
+		if ((function_exists('version_compare') && version_compare(PHP_VERSION, '4.3.0', '<')) || !extension_loaded('xml') || !extension_loaded('pcre'))
+		{
+			return false;
+		}
+		// Then check the xml extension is sane (i.e., libxml 2.7.x issue on PHP < 5.2.9 and libxml 2.7.0 to 2.7.2 on any version) if we don't have xmlreader.
+		elseif (!extension_loaded('xmlreader'))
+		{
+			static $xml_is_sane = null;
+			if ($xml_is_sane === null)
+			{
+				$parser_check = xml_parser_create();
+				xml_parse_into_struct($parser_check, '<foo>&amp;</foo>', $values);
+				xml_parser_free($parser_check);
+				$xml_is_sane = isset($values[0]['value']);
+			}
+			if (!$xml_is_sane)
+			{
+				return false;
+			}
+		}
+
+		if (isset($_GET[$this->javascript]))
+		{
+			SimplePie_Misc::output_javascript();
+			exit;
+		}
+
+		// Pass whatever was set with config options over to the sanitizer.
+		$this->sanitize->pass_cache_data($this->cache, $this->cache_location, $this->cache_name_function, $this->cache_class);
+		$this->sanitize->pass_file_data($this->file_class, $this->timeout, $this->useragent, $this->force_fsockopen);
+
+		if ($this->feed_url !== null || $this->raw_data !== null)
+		{
+			$this->data = array();
+			$this->multifeed_objects = array();
+			$cache = false;
+
+			if ($this->feed_url !== null)
+			{
+				$parsed_feed_url = SimplePie_Misc::parse_url($this->feed_url);
+				// Decide whether to enable caching
+				if ($this->cache && $parsed_feed_url['scheme'] !== '')
+				{
+					$cache = call_user_func(array($this->cache_class, 'create'), $this->cache_location, call_user_func($this->cache_name_function, $this->feed_url), 'spc');
+				}
+				// If it's enabled and we don't want an XML dump, use the cache
+				if ($cache && !$this->xml_dump)
+				{
+					// Load the Cache
+					$this->data = $cache->load();
+					if (!empty($this->data))
+					{
+						// If the cache is for an outdated build of SimplePie
+						if (!isset($this->data['build']) || $this->data['build'] !== SIMPLEPIE_BUILD)
+						{
+							$cache->unlink();
+							$this->data = array();
+						}
+						// If we've hit a collision just rerun it with caching disabled
+						elseif (isset($this->data['url']) && $this->data['url'] !== $this->feed_url)
+						{
+							$cache = false;
+							$this->data = array();
+						}
+						// If we've got a non feed_url stored (if the page isn't actually a feed, or is a redirect) use that URL.
+						elseif (isset($this->data['feed_url']))
+						{
+							// If the autodiscovery cache is still valid use it.
+							if ($cache->mtime() + $this->autodiscovery_cache_duration > time())
+							{
+								// Do not need to do feed autodiscovery yet.
+								if ($this->data['feed_url'] === $this->data['url'])
+								{
+									$cache->unlink();
+									$this->data = array();
+								}
+								else
+								{
+									$this->set_feed_url($this->data['feed_url']);
+									return $this->init();
+								}
+							}
+						}
+						// Check if the cache has been updated
+						elseif ($cache->mtime() + $this->cache_duration < time())
+						{
+							// If we have last-modified and/or etag set
+							if (isset($this->data['headers']['last-modified']) || isset($this->data['headers']['etag']))
+							{
+								$headers = array();
+								if (isset($this->data['headers']['last-modified']))
+								{
+									$headers['if-modified-since'] = $this->data['headers']['last-modified'];
+								}
+								if (isset($this->data['headers']['etag']))
+								{
+									$headers['if-none-match'] = '"' . $this->data['headers']['etag'] . '"';
+								}
+								$file =& new $this->file_class($this->feed_url, $this->timeout/10, 5, $headers, $this->useragent, $this->force_fsockopen);
+								if ($file->success)
+								{
+									if ($file->status_code === 304)
+									{
+										$cache->touch();
+										return true;
+									}
+									else
+									{
+										$headers = $file->headers;
+									}
+								}
+								else
+								{
+									unset($file);
+								}
+							}
+						}
+						// If the cache is still valid, just return true
+						else
+						{
+							return true;
+						}
+					}
+					// If the cache is empty, delete it
+					else
+					{
+						$cache->unlink();
+						$this->data = array();
+					}
+				}
+				// If we don't already have the file (it'll only exist if we've opened it to check if the cache has been modified), open it.
+				if (!isset($file))
+				{
+					if (is_a($this->file, 'SimplePie_File') && $this->file->url === $this->feed_url)
+					{
+						$file =& $this->file;
+					}
+					else
+					{
+						$file =& new $this->file_class($this->feed_url, $this->timeout, 5, null, $this->useragent, $this->force_fsockopen);
+					}
+				}
+				// If the file connection has an error, set SimplePie::error to that and quit
+				if (!$file->success && !($file->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($file->status_code === 200 || $file->status_code > 206 && $file->status_code < 300)))
+				{
+					$this->error = $file->error;
+					if (!empty($this->data))
+					{
+						return true;
+					}
+					else
+					{
+						return false;
+					}
+				}
+
+				if (!$this->force_feed)
+				{
+					// Check if the supplied URL is a feed, if it isn't, look for it.
+					$locate =& new $this->locator_class($file, $this->timeout, $this->useragent, $this->file_class, $this->max_checked_feeds, $this->content_type_sniffer_class);
+					if (!$locate->is_feed($file))
+					{
+						// We need to unset this so that if SimplePie::set_file() has been called that object is untouched
+						unset($file);
+						if ($file = $locate->find($this->autodiscovery, $this->all_discovered_feeds))
+						{
+							if ($cache)
+							{
+								$this->data = array('url' => $this->feed_url, 'feed_url' => $file->url, 'build' => SIMPLEPIE_BUILD);
+								if (!$cache->save($this))
+								{
+									trigger_error("$this->cache_location is not writeable. Make sure you've set the correct relative or absolute path, and that the location is server-writable.", E_USER_WARNING);
+								}
+								$cache = call_user_func(array($this->cache_class, 'create'), $this->cache_location, call_user_func($this->cache_name_function, $file->url), 'spc');
+							}
+							$this->feed_url = $file->url;
+						}
+						else
+						{
+							$this->error = "A feed could not be found at $this->feed_url. A feed with an invalid mime type may fall victim to this error, or " . SIMPLEPIE_NAME . " was unable to auto-discover it.. Use force_feed() if you are certain this URL is a real feed.";
+							SimplePie_Misc::error($this->error, E_USER_NOTICE, __FILE__, __LINE__);
+							return false;
+						}
+					}
+					$locate = null;
+				}
+
+				$headers = $file->headers;
+				$data = $file->body;
+				$sniffer =& new $this->content_type_sniffer_class($file);
+				$sniffed = $sniffer->get_type();
+			}
+			else
+			{
+				$data = $this->raw_data;
+			}
+
+			// Set up array of possible encodings
+			$encodings = array();
+
+			// First check to see if input has been overridden.
+			if ($this->input_encoding !== false)
+			{
+				$encodings[] = $this->input_encoding;
+			}
+
+			$application_types = array('application/xml', 'application/xml-dtd', 'application/xml-external-parsed-entity');
+			$text_types = array('text/xml', 'text/xml-external-parsed-entity');
+
+			// RFC 3023 (only applies to sniffed content)
+			if (isset($sniffed))
+			{
+				if (in_array($sniffed, $application_types) || substr($sniffed, 0, 12) === 'application/' && substr($sniffed, -4) === '+xml')
+				{
+					if (isset($headers['content-type']) && preg_match('/;\x20?charset=([^;]*)/i', $headers['content-type'], $charset))
+					{
+						$encodings[] = strtoupper($charset[1]);
+					}
+					$encodings = array_merge($encodings, SimplePie_Misc::xml_encoding($data));
+					$encodings[] = 'UTF-8';
+				}
+				elseif (in_array($sniffed, $text_types) || substr($sniffed, 0, 5) === 'text/' && substr($sniffed, -4) === '+xml')
+				{
+					if (isset($headers['content-type']) && preg_match('/;\x20?charset=([^;]*)/i', $headers['content-type'], $charset))
+					{
+						$encodings[] = $charset[1];
+					}
+					$encodings[] = 'US-ASCII';
+				}
+				// Text MIME-type default
+				elseif (substr($sniffed, 0, 5) === 'text/')
+				{
+					$encodings[] = 'US-ASCII';
+				}
+			}
+
+			// Fallback to XML 1.0 Appendix F.1/UTF-8/ISO-8859-1
+			$encodings = array_merge($encodings, SimplePie_Misc::xml_encoding($data));
+			$encodings[] = 'UTF-8';
+			$encodings[] = 'ISO-8859-1';
+
+			// There's no point in trying an encoding twice
+			$encodings = array_unique($encodings);
+
+			// If we want the XML, just output that with the most likely encoding and quit
+			if ($this->xml_dump)
+			{
+				header('Content-type: text/xml; charset=' . $encodings[0]);
+				echo $data;
+				exit;
+			}
+
+			// Loop through each possible encoding, till we return something, or run out of possibilities
+			foreach ($encodings as $encoding)
+			{
+				// Change the encoding to UTF-8 (as we always use UTF-8 internally)
+				if ($utf8_data = SimplePie_Misc::change_encoding($data, $encoding, 'UTF-8'))
+				{
+					// Create new parser
+					$parser =& new $this->parser_class();
+
+					// If it's parsed fine
+					if ($parser->parse($utf8_data, 'UTF-8'))
+					{
+						$this->data = $parser->get_data();
+						if ($this->get_type() & ~SIMPLEPIE_TYPE_NONE)
+						{
+							if (isset($headers))
+							{
+								$this->data['headers'] = $headers;
+							}
+							$this->data['build'] = SIMPLEPIE_BUILD;
+
+							// Cache the file if caching is enabled
+							if ($cache && !$cache->save($this))
+							{
+								trigger_error("$this->cache_location is not writeable. Make sure you've set the correct relative or absolute path, and that the location is server-writable.", E_USER_WARNING);
+							}
+							return true;
+						}
+						else
+						{
+							$this->error = "A feed could not be found at $this->feed_url. This does not appear to be a valid RSS or Atom feed.";
+							SimplePie_Misc::error($this->error, E_USER_NOTICE, __FILE__, __LINE__);
+							return false;
+						}
+					}
+				}
+			}
+			if (isset($parser))
+			{
+				// We have an error, just set SimplePie_Misc::error to it and quit
+				$this->error = sprintf('This XML document is invalid, likely due to invalid characters. XML error: %s at line %d, column %d', $parser->get_error_string(), $parser->get_current_line(), $parser->get_current_column());
+			}
+			else
+			{
+				$this->error = 'The data could not be converted to UTF-8. You MUST have either the iconv or mbstring extension installed. Upgrading to PHP 5.x (which includes iconv) is highly recommended.';
+			}
+			SimplePie_Misc::error($this->error, E_USER_NOTICE, __FILE__, __LINE__);
+			return false;
+		}
+		elseif (!empty($this->multifeed_url))
+		{
+			$i = 0;
+			$success = 0;
+			$this->multifeed_objects = array();
+			foreach ($this->multifeed_url as $url)
+			{
+				if (SIMPLEPIE_PHP5)
+				{
+					// This keyword needs to defy coding standards for PHP4 compatibility
+					$this->multifeed_objects[$i] = clone($this);
+				}
+				else
+				{
+					$this->multifeed_objects[$i] = $this;
+				}
+				$this->multifeed_objects[$i]->set_feed_url($url);
+				$success |= $this->multifeed_objects[$i]->init();
+				$i++;
+			}
+			return (bool) $success;
+		}
+		else
+		{
+			return false;
+		}
+	}
+
+	/**
+	 * Return the error message for the occured error
+	 *
+	 * @access public
+	 * @return string Error message
+	 */
+	function error()
+	{
+		return $this->error;
+	}
+
+	function get_encoding()
+	{
+		return $this->sanitize->output_encoding;
+	}
+
+	function handle_content_type($mime = 'text/html')
+	{
+		if (!headers_sent())
+		{
+			$header = "Content-type: $mime;";
+			if ($this->get_encoding())
+			{
+				$header .= ' charset=' . $this->get_encoding();
+			}
+			else
+			{
+				$header .= ' charset=UTF-8';
+			}
+			header($header);
+		}
+	}
+
+	function get_type()
+	{
+		if (!isset($this->data['type']))
+		{
+			$this->data['type'] = SIMPLEPIE_TYPE_ALL;
+			if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed']))
+			{
+				$this->data['type'] &= SIMPLEPIE_TYPE_ATOM_10;
+			}
+			elseif (isset($this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed']))
+			{
+				$this->data['type'] &= SIMPLEPIE_TYPE_ATOM_03;
+			}
+			elseif (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF']))
+			{
+				if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_10]['channel'])
+				|| isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_10]['image'])
+				|| isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_10]['item'])
+				|| isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_10]['textinput']))
+				{
+					$this->data['type'] &= SIMPLEPIE_TYPE_RSS_10;
+				}
+				if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_090]['channel'])
+				|| isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_090]['image'])
+				|| isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_090]['item'])
+				|| isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_090]['textinput']))
+				{
+					$this->data['type'] &= SIMPLEPIE_TYPE_RSS_090;
+				}
+			}
+			elseif (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss']))
+			{
+				$this->data['type'] &= SIMPLEPIE_TYPE_RSS_ALL;
+				if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['attribs']['']['version']))
+				{
+					switch (trim($this->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['attribs']['']['version']))
+					{
+						case '0.91':
+							$this->data['type'] &= SIMPLEPIE_TYPE_RSS_091;
+							if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_20]['skiphours']['hour'][0]['data']))
+							{
+								switch (trim($this->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_20]['skiphours']['hour'][0]['data']))
+								{
+									case '0':
+										$this->data['type'] &= SIMPLEPIE_TYPE_RSS_091_NETSCAPE;
+										break;
+
+									case '24':
+										$this->data['type'] &= SIMPLEPIE_TYPE_RSS_091_USERLAND;
+										break;
+								}
+							}
+							break;
+
+						case '0.92':
+							$this->data['type'] &= SIMPLEPIE_TYPE_RSS_092;
+							break;
+
+						case '0.93':
+							$this->data['type'] &= SIMPLEPIE_TYPE_RSS_093;
+							break;
+
+						case '0.94':
+							$this->data['type'] &= SIMPLEPIE_TYPE_RSS_094;
+							break;
+
+						case '2.0':
+							$this->data['type'] &= SIMPLEPIE_TYPE_RSS_20;
+							break;
+					}
+				}
+			}
+			else
+			{
+				$this->data['type'] = SIMPLEPIE_TYPE_NONE;
+			}
+		}
+		return $this->data['type'];
+	}
+
+	/**
+	 * Returns the URL for the favicon of the feed's website.
+	 *
+	 * @todo Cache atom:icon
+	 * @access public
+	 * @since 1.0
+	 */
+	function get_favicon()
+	{
+		if ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'icon'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
+		}
+		elseif (($url = $this->get_link()) !== null && preg_match('/^http(s)?:\/\//i', $url))
+		{
+			$favicon = SimplePie_Misc::absolutize_url('/favicon.ico', $url);
+
+			if ($this->cache && $this->favicon_handler)
+			{
+				$favicon_filename = call_user_func($this->cache_name_function, $favicon);
+				$cache = call_user_func(array($this->cache_class, 'create'), $this->cache_location, $favicon_filename, 'spi');
+
+				if ($cache->load())
+				{
+					return $this->sanitize($this->favicon_handler . $favicon_filename, SIMPLEPIE_CONSTRUCT_IRI);
+				}
+				else
+				{
+					$file =& new $this->file_class($favicon, $this->timeout / 10, 5, array('X-FORWARDED-FOR' => $_SERVER['REMOTE_ADDR']), $this->useragent, $this->force_fsockopen);
+
+					if ($file->success && ($file->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($file->status_code === 200 || $file->status_code > 206 && $file->status_code < 300)) && strlen($file->body) > 0)
+					{
+						$sniffer =& new $this->content_type_sniffer_class($file);
+						if (substr($sniffer->get_type(), 0, 6) === 'image/')
+						{
+							if ($cache->save(array('headers' => $file->headers, 'body' => $file->body)))
+							{
+								return $this->sanitize($this->favicon_handler . $favicon_filename, SIMPLEPIE_CONSTRUCT_IRI);
+							}
+							else
+							{
+								trigger_error("$cache->name is not writeable. Make sure you've set the correct relative or absolute path, and that the location is server-writable.", E_USER_WARNING);
+								return $this->sanitize($favicon, SIMPLEPIE_CONSTRUCT_IRI);
+							}
+						}
+						// not an image
+						else
+						{
+							return false;
+						}
+					}
+				}
+			}
+			else
+			{
+				return $this->sanitize($favicon, SIMPLEPIE_CONSTRUCT_IRI);
+			}
+		}
+		return false;
+	}
+
+	/**
+	 * @todo If we have a perm redirect we should return the new URL
+	 * @todo When we make the above change, let's support <itunes:new-feed-url> as well
+	 * @todo Also, |atom:link|@rel=self
+	 */
+	function subscribe_url()
+	{
+		if ($this->feed_url !== null)
+		{
+			return $this->sanitize($this->feed_url, SIMPLEPIE_CONSTRUCT_IRI);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function subscribe_feed()
+	{
+		if ($this->feed_url !== null)
+		{
+			return $this->sanitize(SimplePie_Misc::fix_protocol($this->feed_url, 2), SIMPLEPIE_CONSTRUCT_IRI);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function subscribe_outlook()
+	{
+		if ($this->feed_url !== null)
+		{
+			return $this->sanitize('outlook' . SimplePie_Misc::fix_protocol($this->feed_url, 2), SIMPLEPIE_CONSTRUCT_IRI);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function subscribe_podcast()
+	{
+		if ($this->feed_url !== null)
+		{
+			return $this->sanitize(SimplePie_Misc::fix_protocol($this->feed_url, 3), SIMPLEPIE_CONSTRUCT_IRI);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function subscribe_itunes()
+	{
+		if ($this->feed_url !== null)
+		{
+			return $this->sanitize(SimplePie_Misc::fix_protocol($this->feed_url, 4), SIMPLEPIE_CONSTRUCT_IRI);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	/**
+	 * Creates the subscribe_* methods' return data
+	 *
+	 * @access private
+	 * @param string $feed_url String to prefix to the feed URL
+	 * @param string $site_url String to prefix to the site URL (and
+	 * suffix to the feed URL)
+	 * @return mixed URL if feed exists, false otherwise
+	 */
+	function subscribe_service($feed_url, $site_url = null)
+	{
+		if ($this->subscribe_url())
+		{
+			$return = $feed_url . rawurlencode($this->feed_url);
+			if ($site_url !== null && $this->get_link() !== null)
+			{
+				$return .= $site_url . rawurlencode($this->get_link());
+			}
+			return $this->sanitize($return, SIMPLEPIE_CONSTRUCT_IRI);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function subscribe_aol()
+	{
+		return $this->subscribe_service('http://feeds.my.aol.com/add.jsp?url=');
+	}
+
+	function subscribe_bloglines()
+	{
+		return $this->subscribe_service('http://www.bloglines.com/sub/');
+	}
+
+	function subscribe_eskobo()
+	{
+		return $this->subscribe_service('http://www.eskobo.com/?AddToMyPage=');
+	}
+
+	function subscribe_feedfeeds()
+	{
+		return $this->subscribe_service('http://www.feedfeeds.com/add?feed=');
+	}
+
+	function subscribe_feedster()
+	{
+		return $this->subscribe_service('http://www.feedster.com/myfeedster.php?action=addrss&confirm=no&rssurl=');
+	}
+
+	function subscribe_google()
+	{
+		return $this->subscribe_service('http://fusion.google.com/add?feedurl=');
+	}
+
+	function subscribe_gritwire()
+	{
+		return $this->subscribe_service('http://my.gritwire.com/feeds/addExternalFeed.aspx?FeedUrl=');
+	}
+
+	function subscribe_msn()
+	{
+		return $this->subscribe_service('http://my.msn.com/addtomymsn.armx?id=rss&ut=', '&ru=');
+	}
+
+	function subscribe_netvibes()
+	{
+		return $this->subscribe_service('http://www.netvibes.com/subscribe.php?url=');
+	}
+
+	function subscribe_newsburst()
+	{
+		return $this->subscribe_service('http://www.newsburst.com/Source/?add=');
+	}
+
+	function subscribe_newsgator()
+	{
+		return $this->subscribe_service('http://www.newsgator.com/ngs/subscriber/subext.aspx?url=');
+	}
+
+	function subscribe_odeo()
+	{
+		return $this->subscribe_service('http://www.odeo.com/listen/subscribe?feed=');
+	}
+
+	function subscribe_podnova()
+	{
+		return $this->subscribe_service('http://www.podnova.com/index_your_podcasts.srf?action=add&url=');
+	}
+
+	function subscribe_rojo()
+	{
+		return $this->subscribe_service('http://www.rojo.com/add-subscription?resource=');
+	}
+
+	function subscribe_yahoo()
+	{
+		return $this->subscribe_service('http://add.my.yahoo.com/rss?url=');
+	}
+
+	function get_feed_tags($namespace, $tag)
+	{
+		$type = $this->get_type();
+		if ($type & SIMPLEPIE_TYPE_ATOM_10)
+		{
+			if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0]['child'][$namespace][$tag]))
+			{
+				return $this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0]['child'][$namespace][$tag];
+			}
+		}
+		if ($type & SIMPLEPIE_TYPE_ATOM_03)
+		{
+			if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0]['child'][$namespace][$tag]))
+			{
+				return $this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0]['child'][$namespace][$tag];
+			}
+		}
+		if ($type & SIMPLEPIE_TYPE_RSS_RDF)
+		{
+			if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][$namespace][$tag]))
+			{
+				return $this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['child'][$namespace][$tag];
+			}
+		}
+		if ($type & SIMPLEPIE_TYPE_RSS_SYNDICATION)
+		{
+			if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['child'][$namespace][$tag]))
+			{
+				return $this->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['child'][$namespace][$tag];
+			}
+		}
+		return null;
+	}
+
+	function get_channel_tags($namespace, $tag)
+	{
+		$type = $this->get_type();
+		if ($type & SIMPLEPIE_TYPE_ATOM_ALL)
+		{
+			if ($return = $this->get_feed_tags($namespace, $tag))
+			{
+				return $return;
+			}
+		}
+		if ($type & SIMPLEPIE_TYPE_RSS_10)
+		{
+			if ($channel = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'channel'))
+			{
+				if (isset($channel[0]['child'][$namespace][$tag]))
+				{
+					return $channel[0]['child'][$namespace][$tag];
+				}
+			}
+		}
+		if ($type & SIMPLEPIE_TYPE_RSS_090)
+		{
+			if ($channel = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'channel'))
+			{
+				if (isset($channel[0]['child'][$namespace][$tag]))
+				{
+					return $channel[0]['child'][$namespace][$tag];
+				}
+			}
+		}
+		if ($type & SIMPLEPIE_TYPE_RSS_SYNDICATION)
+		{
+			if ($channel = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'channel'))
+			{
+				if (isset($channel[0]['child'][$namespace][$tag]))
+				{
+					return $channel[0]['child'][$namespace][$tag];
+				}
+			}
+		}
+		return null;
+	}
+
+	function get_image_tags($namespace, $tag)
+	{
+		$type = $this->get_type();
+		if ($type & SIMPLEPIE_TYPE_RSS_10)
+		{
+			if ($image = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'image'))
+			{
+				if (isset($image[0]['child'][$namespace][$tag]))
+				{
+					return $image[0]['child'][$namespace][$tag];
+				}
+			}
+		}
+		if ($type & SIMPLEPIE_TYPE_RSS_090)
+		{
+			if ($image = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'image'))
+			{
+				if (isset($image[0]['child'][$namespace][$tag]))
+				{
+					return $image[0]['child'][$namespace][$tag];
+				}
+			}
+		}
+		if ($type & SIMPLEPIE_TYPE_RSS_SYNDICATION)
+		{
+			if ($image = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'image'))
+			{
+				if (isset($image[0]['child'][$namespace][$tag]))
+				{
+					return $image[0]['child'][$namespace][$tag];
+				}
+			}
+		}
+		return null;
+	}
+
+	function get_base($element = array())
+	{
+		if (!($this->get_type() & SIMPLEPIE_TYPE_RSS_SYNDICATION) && !empty($element['xml_base_explicit']) && isset($element['xml_base']))
+		{
+			return $element['xml_base'];
+		}
+		elseif ($this->get_link() !== null)
+		{
+			return $this->get_link();
+		}
+		else
+		{
+			return $this->subscribe_url();
+		}
+	}
+
+	function sanitize($data, $type, $base = '')
+	{
+		return $this->sanitize->sanitize($data, $type, $base);
+	}
+
+	function get_title()
+	{
+		if ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'title'))
+		{
+			return $this->sanitize($return[0]['data'], SimplePie_Misc::atom_10_construct_type($return[0]['attribs']), $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'title'))
+		{
+			return $this->sanitize($return[0]['data'], SimplePie_Misc::atom_03_construct_type($return[0]['attribs']), $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'title'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'title'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'title'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'title'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'title'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_category($key = 0)
+	{
+		$categories = $this->get_categories();
+		if (isset($categories[$key]))
+		{
+			return $categories[$key];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_categories()
+	{
+		$categories = array();
+
+		foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'category') as $category)
+		{
+			$term = null;
+			$scheme = null;
+			$label = null;
+			if (isset($category['attribs']['']['term']))
+			{
+				$term = $this->sanitize($category['attribs']['']['term'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if (isset($category['attribs']['']['scheme']))
+			{
+				$scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if (isset($category['attribs']['']['label']))
+			{
+				$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			$categories[] =& new $this->category_class($term, $scheme, $label);
+		}
+		foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'category') as $category)
+		{
+			// This is really the label, but keep this as the term also for BC.
+			// Label will also work on retrieving because that falls back to term.
+			$term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			if (isset($category['attribs']['']['domain']))
+			{
+				$scheme = $this->sanitize($category['attribs']['']['domain'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			else
+			{
+				$scheme = null;
+			}
+			$categories[] =& new $this->category_class($term, $scheme, null);
+		}
+		foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'subject') as $category)
+		{
+			$categories[] =& new $this->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+		}
+		foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'subject') as $category)
+		{
+			$categories[] =& new $this->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+		}
+
+		if (!empty($categories))
+		{
+			return SimplePie_Misc::array_unique($categories);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_author($key = 0)
+	{
+		$authors = $this->get_authors();
+		if (isset($authors[$key]))
+		{
+			return $authors[$key];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_authors()
+	{
+		$authors = array();
+		foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'author') as $author)
+		{
+			$name = null;
+			$uri = null;
+			$email = null;
+			if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']))
+			{
+				$name = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data']))
+			{
+				$uri = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]));
+			}
+			if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data']))
+			{
+				$email = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if ($name !== null || $email !== null || $uri !== null)
+			{
+				$authors[] =& new $this->author_class($name, $uri, $email);
+			}
+		}
+		if ($author = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'author'))
+		{
+			$name = null;
+			$url = null;
+			$email = null;
+			if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data']))
+			{
+				$name = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data']))
+			{
+				$url = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]));
+			}
+			if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data']))
+			{
+				$email = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if ($name !== null || $email !== null || $url !== null)
+			{
+				$authors[] =& new $this->author_class($name, $url, $email);
+			}
+		}
+		foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'creator') as $author)
+		{
+			$authors[] =& new $this->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+		}
+		foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'creator') as $author)
+		{
+			$authors[] =& new $this->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+		}
+		foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'author') as $author)
+		{
+			$authors[] =& new $this->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+		}
+
+		if (!empty($authors))
+		{
+			return SimplePie_Misc::array_unique($authors);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_contributor($key = 0)
+	{
+		$contributors = $this->get_contributors();
+		if (isset($contributors[$key]))
+		{
+			return $contributors[$key];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_contributors()
+	{
+		$contributors = array();
+		foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'contributor') as $contributor)
+		{
+			$name = null;
+			$uri = null;
+			$email = null;
+			if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']))
+			{
+				$name = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data']))
+			{
+				$uri = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]));
+			}
+			if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data']))
+			{
+				$email = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if ($name !== null || $email !== null || $uri !== null)
+			{
+				$contributors[] =& new $this->author_class($name, $uri, $email);
+			}
+		}
+		foreach ((array) $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'contributor') as $contributor)
+		{
+			$name = null;
+			$url = null;
+			$email = null;
+			if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data']))
+			{
+				$name = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data']))
+			{
+				$url = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]));
+			}
+			if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data']))
+			{
+				$email = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if ($name !== null || $email !== null || $url !== null)
+			{
+				$contributors[] =& new $this->author_class($name, $url, $email);
+			}
+		}
+
+		if (!empty($contributors))
+		{
+			return SimplePie_Misc::array_unique($contributors);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_link($key = 0, $rel = 'alternate')
+	{
+		$links = $this->get_links($rel);
+		if (isset($links[$key]))
+		{
+			return $links[$key];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	/**
+	 * Added for parity between the parent-level and the item/entry-level.
+	 */
+	function get_permalink()
+	{
+		return $this->get_link(0);
+	}
+
+	function get_links($rel = 'alternate')
+	{
+		if (!isset($this->data['links']))
+		{
+			$this->data['links'] = array();
+			if ($links = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'link'))
+			{
+				foreach ($links as $link)
+				{
+					if (isset($link['attribs']['']['href']))
+					{
+						$link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate';
+						$this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
+					}
+				}
+			}
+			if ($links = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'link'))
+			{
+				foreach ($links as $link)
+				{
+					if (isset($link['attribs']['']['href']))
+					{
+						$link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate';
+						$this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
+
+					}
+				}
+			}
+			if ($links = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'link'))
+			{
+				$this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
+			}
+			if ($links = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'link'))
+			{
+				$this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
+			}
+			if ($links = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'link'))
+			{
+				$this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
+			}
+
+			$keys = array_keys($this->data['links']);
+			foreach ($keys as $key)
+			{
+				if (SimplePie_Misc::is_isegment_nz_nc($key))
+				{
+					if (isset($this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]))
+					{
+						$this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] = array_merge($this->data['links'][$key], $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]);
+						$this->data['links'][$key] =& $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key];
+					}
+					else
+					{
+						$this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] =& $this->data['links'][$key];
+					}
+				}
+				elseif (substr($key, 0, 41) === SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY)
+				{
+					$this->data['links'][substr($key, 41)] =& $this->data['links'][$key];
+				}
+				$this->data['links'][$key] = array_unique($this->data['links'][$key]);
+			}
+		}
+
+		if (isset($this->data['links'][$rel]))
+		{
+			return $this->data['links'][$rel];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_all_discovered_feeds()
+	{
+		return $this->all_discovered_feeds;
+	}
+
+	function get_description()
+	{
+		if ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'subtitle'))
+		{
+			return $this->sanitize($return[0]['data'], SimplePie_Misc::atom_10_construct_type($return[0]['attribs']), $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'tagline'))
+		{
+			return $this->sanitize($return[0]['data'], SimplePie_Misc::atom_03_construct_type($return[0]['attribs']), $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'description'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'description'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'description'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'description'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'description'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'summary'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'subtitle'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_copyright()
+	{
+		if ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'rights'))
+		{
+			return $this->sanitize($return[0]['data'], SimplePie_Misc::atom_10_construct_type($return[0]['attribs']), $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'copyright'))
+		{
+			return $this->sanitize($return[0]['data'], SimplePie_Misc::atom_03_construct_type($return[0]['attribs']), $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'copyright'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'rights'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'rights'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_language()
+	{
+		if ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'language'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_11, 'language'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_DC_10, 'language'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif (isset($this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0]['xml_lang']))
+		{
+			return $this->sanitize($this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0]['xml_lang'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif (isset($this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0]['xml_lang']))
+		{
+			return $this->sanitize($this->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0]['xml_lang'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif (isset($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['xml_lang']))
+		{
+			return $this->sanitize($this->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]['xml_lang'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif (isset($this->data['headers']['content-language']))
+		{
+			return $this->sanitize($this->data['headers']['content-language'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_latitude()
+	{
+		
+		if ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'lat'))
+		{
+			return (float) $return[0]['data'];
+		}
+		elseif (($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
+		{
+			return (float) $match[1];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_longitude()
+	{
+		if ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'long'))
+		{
+			return (float) $return[0]['data'];
+		}
+		elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'lon'))
+		{
+			return (float) $return[0]['data'];
+		}
+		elseif (($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
+		{
+			return (float) $match[2];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_image_title()
+	{
+		if ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'title'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'title'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'title'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_DC_11, 'title'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_DC_10, 'title'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_image_url()
+	{
+		if ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'image'))
+		{
+			return $this->sanitize($return[0]['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI);
+		}
+		elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'logo'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'icon'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'url'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'url'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'url'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_image_link()
+	{
+		if ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'link'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'link'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'link'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_image_width()
+	{
+		if ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'width'))
+		{
+			return round($return[0]['data']);
+		}
+		elseif ($this->get_type() & SIMPLEPIE_TYPE_RSS_SYNDICATION && $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'url'))
+		{
+			return 88.0;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_image_height()
+	{
+		if ($return = $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'height'))
+		{
+			return round($return[0]['data']);
+		}
+		elseif ($this->get_type() & SIMPLEPIE_TYPE_RSS_SYNDICATION && $this->get_image_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'url'))
+		{
+			return 31.0;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_item_quantity($max = 0)
+	{
+		$max = (int) $max;
+		$qty = count($this->get_items());
+		if ($max === 0)
+		{
+			return $qty;
+		}
+		else
+		{
+			return ($qty > $max) ? $max : $qty;
+		}
+	}
+
+	function get_item($key = 0)
+	{
+		$items = $this->get_items();
+		if (isset($items[$key]))
+		{
+			return $items[$key];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_items($start = 0, $end = 0)
+	{
+		if (!isset($this->data['items']))
+		{
+			if (!empty($this->multifeed_objects))
+			{
+				$this->data['items'] = SimplePie::merge_items($this->multifeed_objects, $start, $end, $this->item_limit);
+			}
+			else
+			{
+				$this->data['items'] = array();
+				if ($items = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'entry'))
+				{
+					$keys = array_keys($items);
+					foreach ($keys as $key)
+					{
+						$this->data['items'][] =& new $this->item_class($this, $items[$key]);
+					}
+				}
+				if ($items = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'entry'))
+				{
+					$keys = array_keys($items);
+					foreach ($keys as $key)
+					{
+						$this->data['items'][] =& new $this->item_class($this, $items[$key]);
+					}
+				}
+				if ($items = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'item'))
+				{
+					$keys = array_keys($items);
+					foreach ($keys as $key)
+					{
+						$this->data['items'][] =& new $this->item_class($this, $items[$key]);
+					}
+				}
+				if ($items = $this->get_feed_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'item'))
+				{
+					$keys = array_keys($items);
+					foreach ($keys as $key)
+					{
+						$this->data['items'][] =& new $this->item_class($this, $items[$key]);
+					}
+				}
+				if ($items = $this->get_channel_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'item'))
+				{
+					$keys = array_keys($items);
+					foreach ($keys as $key)
+					{
+						$this->data['items'][] =& new $this->item_class($this, $items[$key]);
+					}
+				}
+			}
+		}
+
+		if (!empty($this->data['items']))
+		{
+			// If we want to order it by date, check if all items have a date, and then sort it
+			if ($this->order_by_date && empty($this->multifeed_objects))
+			{
+				if (!isset($this->data['ordered_items']))
+				{
+					$do_sort = true;
+					foreach ($this->data['items'] as $item)
+					{
+						if (!$item->get_date('U'))
+						{
+							$do_sort = false;
+							break;
+						}
+					}
+					$item = null;
+					$this->data['ordered_items'] = $this->data['items'];
+					if ($do_sort)
+					{
+						usort($this->data['ordered_items'], array(&$this, 'sort_items'));
+					}
+				}
+				$items = $this->data['ordered_items'];
+			}
+			else
+			{
+				$items = $this->data['items'];
+			}
+
+			// Slice the data as desired
+			if ($end === 0)
+			{
+				return array_slice($items, $start);
+			}
+			else
+			{
+				return array_slice($items, $start, $end);
+			}
+		}
+		else
+		{
+			return array();
+		}
+	}
+
+	/**
+	 * @static
+	 */
+	function sort_items($a, $b)
+	{
+		return $a->get_date('U') <= $b->get_date('U');
+	}
+
+	/**
+	 * @static
+	 */
+	function merge_items($urls, $start = 0, $end = 0, $limit = 0)
+	{
+		if (is_array($urls) && sizeof($urls) > 0)
+		{
+			$items = array();
+			foreach ($urls as $arg)
+			{
+				if (is_a($arg, 'SimplePie'))
+				{
+					$items = array_merge($items, $arg->get_items(0, $limit));
+				}
+				else
+				{
+					trigger_error('Arguments must be SimplePie objects', E_USER_WARNING);
+				}
+			}
+
+			$do_sort = true;
+			foreach ($items as $item)
+			{
+				if (!$item->get_date('U'))
+				{
+					$do_sort = false;
+					break;
+				}
+			}
+			$item = null;
+			if ($do_sort)
+			{
+				usort($items, array('SimplePie', 'sort_items'));
+			}
+
+			if ($end === 0)
+			{
+				return array_slice($items, $start);
+			}
+			else
+			{
+				return array_slice($items, $start, $end);
+			}
+		}
+		else
+		{
+			trigger_error('Cannot merge zero SimplePie objects', E_USER_WARNING);
+			return array();
+		}
+	}
+}
+
+class SimplePie_Item
+{
+	var $feed;
+	var $data = array();
+
+	function SimplePie_Item($feed, $data)
+	{
+		$this->feed = $feed;
+		$this->data = $data;
+	}
+
+	function __toString()
+	{
+		return md5(serialize($this->data));
+	}
+
+	/**
+	 * Remove items that link back to this before destroying this object
+	 */
+	function __destruct()
+	{
+		if ((version_compare(PHP_VERSION, '5.3', '<') || !gc_enabled()) && !ini_get('zend.ze1_compatibility_mode'))
+		{
+			unset($this->feed);
+		}
+	}
+
+	function get_item_tags($namespace, $tag)
+	{
+		if (isset($this->data['child'][$namespace][$tag]))
+		{
+			return $this->data['child'][$namespace][$tag];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_base($element = array())
+	{
+		return $this->feed->get_base($element);
+	}
+
+	function sanitize($data, $type, $base = '')
+	{
+		return $this->feed->sanitize($data, $type, $base);
+	}
+
+	function get_feed()
+	{
+		return $this->feed;
+	}
+
+	function get_id($hash = false)
+	{
+		if (!$hash)
+		{
+			if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'id'))
+			{
+				return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'id'))
+			{
+				return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'guid'))
+			{
+				return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'identifier'))
+			{
+				return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'identifier'))
+			{
+				return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			elseif (($return = $this->get_permalink()) !== null)
+			{
+				return $return;
+			}
+			elseif (($return = $this->get_title()) !== null)
+			{
+				return $return;
+			}
+		}
+		if ($this->get_permalink() !== null || $this->get_title() !== null)
+		{
+			return md5($this->get_permalink() . $this->get_title());
+		}
+		else
+		{
+			return md5(serialize($this->data));
+		}
+	}
+
+	function get_title()
+	{
+		if (!isset($this->data['title']))
+		{
+			if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'title'))
+			{
+				$this->data['title'] = $this->sanitize($return[0]['data'], SimplePie_Misc::atom_10_construct_type($return[0]['attribs']), $this->get_base($return[0]));
+			}
+			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'title'))
+			{
+				$this->data['title'] = $this->sanitize($return[0]['data'], SimplePie_Misc::atom_03_construct_type($return[0]['attribs']), $this->get_base($return[0]));
+			}
+			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'title'))
+			{
+				$this->data['title'] = $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+			}
+			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'title'))
+			{
+				$this->data['title'] = $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+			}
+			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'title'))
+			{
+				$this->data['title'] = $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+			}
+			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'title'))
+			{
+				$this->data['title'] = $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'title'))
+			{
+				$this->data['title'] = $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			else
+			{
+				$this->data['title'] = null;
+			}
+		}
+		return $this->data['title'];
+	}
+
+	function get_description($description_only = false)
+	{
+		if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'summary'))
+		{
+			return $this->sanitize($return[0]['data'], SimplePie_Misc::atom_10_construct_type($return[0]['attribs']), $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'summary'))
+		{
+			return $this->sanitize($return[0]['data'], SimplePie_Misc::atom_03_construct_type($return[0]['attribs']), $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'description'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'description'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'description'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'description'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'summary'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'subtitle'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif (!$description_only)
+		{
+			return $this->get_content(true);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_content($content_only = false)
+	{
+		if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'content'))
+		{
+			return $this->sanitize($return[0]['data'], SimplePie_Misc::atom_10_content_construct_type($return[0]['attribs']), $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'content'))
+		{
+			return $this->sanitize($return[0]['data'], SimplePie_Misc::atom_03_construct_type($return[0]['attribs']), $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_10_MODULES_CONTENT, 'encoded'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
+		}
+		elseif (!$content_only)
+		{
+			return $this->get_description(true);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_category($key = 0)
+	{
+		$categories = $this->get_categories();
+		if (isset($categories[$key]))
+		{
+			return $categories[$key];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_categories()
+	{
+		$categories = array();
+
+		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'category') as $category)
+		{
+			$term = null;
+			$scheme = null;
+			$label = null;
+			if (isset($category['attribs']['']['term']))
+			{
+				$term = $this->sanitize($category['attribs']['']['term'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if (isset($category['attribs']['']['scheme']))
+			{
+				$scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if (isset($category['attribs']['']['label']))
+			{
+				$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			$categories[] =& new $this->feed->category_class($term, $scheme, $label);
+		}
+		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'category') as $category)
+		{
+			// This is really the label, but keep this as the term also for BC.
+			// Label will also work on retrieving because that falls back to term.
+			$term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			if (isset($category['attribs']['']['domain']))
+			{
+				$scheme = $this->sanitize($category['attribs']['']['domain'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			else
+			{
+				$scheme = null;
+			}
+			$categories[] =& new $this->feed->category_class($term, $scheme, null);
+		}
+		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'subject') as $category)
+		{
+			$categories[] =& new $this->feed->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+		}
+		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'subject') as $category)
+		{
+			$categories[] =& new $this->feed->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+		}
+
+		if (!empty($categories))
+		{
+			return SimplePie_Misc::array_unique($categories);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_author($key = 0)
+	{
+		$authors = $this->get_authors();
+		if (isset($authors[$key]))
+		{
+			return $authors[$key];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_contributor($key = 0)
+	{
+		$contributors = $this->get_contributors();
+		if (isset($contributors[$key]))
+		{
+			return $contributors[$key];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_contributors()
+	{
+		$contributors = array();
+		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'contributor') as $contributor)
+		{
+			$name = null;
+			$uri = null;
+			$email = null;
+			if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']))
+			{
+				$name = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data']))
+			{
+				$uri = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]));
+			}
+			if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data']))
+			{
+				$email = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if ($name !== null || $email !== null || $uri !== null)
+			{
+				$contributors[] =& new $this->feed->author_class($name, $uri, $email);
+			}
+		}
+		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'contributor') as $contributor)
+		{
+			$name = null;
+			$url = null;
+			$email = null;
+			if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data']))
+			{
+				$name = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data']))
+			{
+				$url = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]));
+			}
+			if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data']))
+			{
+				$email = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if ($name !== null || $email !== null || $url !== null)
+			{
+				$contributors[] =& new $this->feed->author_class($name, $url, $email);
+			}
+		}
+
+		if (!empty($contributors))
+		{
+			return SimplePie_Misc::array_unique($contributors);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_authors()
+	{
+		$authors = array();
+		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'author') as $author)
+		{
+			$name = null;
+			$uri = null;
+			$email = null;
+			if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']))
+			{
+				$name = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data']))
+			{
+				$uri = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]));
+			}
+			if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data']))
+			{
+				$email = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if ($name !== null || $email !== null || $uri !== null)
+			{
+				$authors[] =& new $this->feed->author_class($name, $uri, $email);
+			}
+		}
+		if ($author = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'author'))
+		{
+			$name = null;
+			$url = null;
+			$email = null;
+			if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data']))
+			{
+				$name = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data']))
+			{
+				$url = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]));
+			}
+			if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data']))
+			{
+				$email = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if ($name !== null || $email !== null || $url !== null)
+			{
+				$authors[] =& new $this->feed->author_class($name, $url, $email);
+			}
+		}
+		if ($author = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'author'))
+		{
+			$authors[] =& new $this->feed->author_class(null, null, $this->sanitize($author[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
+		}
+		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'creator') as $author)
+		{
+			$authors[] =& new $this->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+		}
+		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'creator') as $author)
+		{
+			$authors[] =& new $this->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+		}
+		foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'author') as $author)
+		{
+			$authors[] =& new $this->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+		}
+
+		if (!empty($authors))
+		{
+			return SimplePie_Misc::array_unique($authors);
+		}
+		elseif (($source = $this->get_source()) && ($authors = $source->get_authors()))
+		{
+			return $authors;
+		}
+		elseif ($authors = $this->feed->get_authors())
+		{
+			return $authors;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_copyright()
+	{
+		if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'rights'))
+		{
+			return $this->sanitize($return[0]['data'], SimplePie_Misc::atom_10_construct_type($return[0]['attribs']), $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'rights'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'rights'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_date($date_format = 'j F Y, g:i a')
+	{
+		if (!isset($this->data['date']))
+		{
+			if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'published'))
+			{
+				$this->data['date']['raw'] = $return[0]['data'];
+			}
+			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'updated'))
+			{
+				$this->data['date']['raw'] = $return[0]['data'];
+			}
+			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'issued'))
+			{
+				$this->data['date']['raw'] = $return[0]['data'];
+			}
+			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'created'))
+			{
+				$this->data['date']['raw'] = $return[0]['data'];
+			}
+			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'modified'))
+			{
+				$this->data['date']['raw'] = $return[0]['data'];
+			}
+			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'pubDate'))
+			{
+				$this->data['date']['raw'] = $return[0]['data'];
+			}
+			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'date'))
+			{
+				$this->data['date']['raw'] = $return[0]['data'];
+			}
+			elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'date'))
+			{
+				$this->data['date']['raw'] = $return[0]['data'];
+			}
+
+			if (!empty($this->data['date']['raw']))
+			{
+				$parser = SimplePie_Parse_Date::get();
+				$this->data['date']['parsed'] = $parser->parse($this->data['date']['raw']);
+			}
+			else
+			{
+				$this->data['date'] = null;
+			}
+		}
+		if ($this->data['date'])
+		{
+			$date_format = (string) $date_format;
+			switch ($date_format)
+			{
+				case '':
+					return $this->sanitize($this->data['date']['raw'], SIMPLEPIE_CONSTRUCT_TEXT);
+
+				case 'U':
+					return $this->data['date']['parsed'];
+
+				default:
+					return date($date_format, $this->data['date']['parsed']);
+			}
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_local_date($date_format = '%c')
+	{
+		if (!$date_format)
+		{
+			return $this->sanitize($this->get_date(''), SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif (($date = $this->get_date('U')) !== null)
+		{
+			return strftime($date_format, $date);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_permalink()
+	{
+		$link = $this->get_link();
+		$enclosure = $this->get_enclosure(0);
+		if ($link !== null)
+		{
+			return $link;
+		}
+		elseif ($enclosure !== null)
+		{
+			return $enclosure->get_link();
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_link($key = 0, $rel = 'alternate')
+	{
+		$links = $this->get_links($rel);
+		if ($links[$key] !== null)
+		{
+			return $links[$key];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_links($rel = 'alternate')
+	{
+		if (!isset($this->data['links']))
+		{
+			$this->data['links'] = array();
+			foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'link') as $link)
+			{
+				if (isset($link['attribs']['']['href']))
+				{
+					$link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate';
+					$this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
+
+				}
+			}
+			foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'link') as $link)
+			{
+				if (isset($link['attribs']['']['href']))
+				{
+					$link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate';
+					$this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
+				}
+			}
+			if ($links = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'link'))
+			{
+				$this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
+			}
+			if ($links = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'link'))
+			{
+				$this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
+			}
+			if ($links = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'link'))
+			{
+				$this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
+			}
+			if ($links = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'guid'))
+			{
+				if (!isset($links[0]['attribs']['']['isPermaLink']) || strtolower(trim($links[0]['attribs']['']['isPermaLink'])) === 'true')
+				{
+					$this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
+				}
+			}
+
+			$keys = array_keys($this->data['links']);
+			foreach ($keys as $key)
+			{
+				if (SimplePie_Misc::is_isegment_nz_nc($key))
+				{
+					if (isset($this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]))
+					{
+						$this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] = array_merge($this->data['links'][$key], $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]);
+						$this->data['links'][$key] =& $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key];
+					}
+					else
+					{
+						$this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] =& $this->data['links'][$key];
+					}
+				}
+				elseif (substr($key, 0, 41) === SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY)
+				{
+					$this->data['links'][substr($key, 41)] =& $this->data['links'][$key];
+				}
+				$this->data['links'][$key] = array_unique($this->data['links'][$key]);
+			}
+		}
+		if (isset($this->data['links'][$rel]))
+		{
+			return $this->data['links'][$rel];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	/**
+	 * @todo Add ability to prefer one type of content over another (in a media group).
+	 */
+	function get_enclosure($key = 0, $prefer = null)
+	{
+		$enclosures = $this->get_enclosures();
+		if (isset($enclosures[$key]))
+		{
+			return $enclosures[$key];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	/**
+	 * Grabs all available enclosures (podcasts, etc.)
+	 *
+	 * Supports the <enclosure> RSS tag, as well as Media RSS and iTunes RSS.
+	 *
+	 * At this point, we're pretty much assuming that all enclosures for an item are the same content.  Anything else is too complicated to properly support.
+	 *
+	 * @todo Add support for end-user defined sorting of enclosures by type/handler (so we can prefer the faster-loading FLV over MP4).
+	 * @todo If an element exists at a level, but it's value is empty, we should fall back to the value from the parent (if it exists).
+	 */
+	function get_enclosures()
+	{
+		if (!isset($this->data['enclosures']))
+		{
+			$this->data['enclosures'] = array();
+
+			// Elements
+			$captions_parent = null;
+			$categories_parent = null;
+			$copyrights_parent = null;
+			$credits_parent = null;
+			$description_parent = null;
+			$duration_parent = null;
+			$hashes_parent = null;
+			$keywords_parent = null;
+			$player_parent = null;
+			$ratings_parent = null;
+			$restrictions_parent = null;
+			$thumbnails_parent = null;
+			$title_parent = null;
+
+			// Let's do the channel and item-level ones first, and just re-use them if we need to.
+			$parent = $this->get_feed();
+
+			// CAPTIONS
+			if ($captions = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'text'))
+			{
+				foreach ($captions as $caption)
+				{
+					$caption_type = null;
+					$caption_lang = null;
+					$caption_startTime = null;
+					$caption_endTime = null;
+					$caption_text = null;
+					if (isset($caption['attribs']['']['type']))
+					{
+						$caption_type = $this->sanitize($caption['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					if (isset($caption['attribs']['']['lang']))
+					{
+						$caption_lang = $this->sanitize($caption['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					if (isset($caption['attribs']['']['start']))
+					{
+						$caption_startTime = $this->sanitize($caption['attribs']['']['start'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					if (isset($caption['attribs']['']['end']))
+					{
+						$caption_endTime = $this->sanitize($caption['attribs']['']['end'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					if (isset($caption['data']))
+					{
+						$caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					$captions_parent[] =& new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text);
+				}
+			}
+			elseif ($captions = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'text'))
+			{
+				foreach ($captions as $caption)
+				{
+					$caption_type = null;
+					$caption_lang = null;
+					$caption_startTime = null;
+					$caption_endTime = null;
+					$caption_text = null;
+					if (isset($caption['attribs']['']['type']))
+					{
+						$caption_type = $this->sanitize($caption['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					if (isset($caption['attribs']['']['lang']))
+					{
+						$caption_lang = $this->sanitize($caption['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					if (isset($caption['attribs']['']['start']))
+					{
+						$caption_startTime = $this->sanitize($caption['attribs']['']['start'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					if (isset($caption['attribs']['']['end']))
+					{
+						$caption_endTime = $this->sanitize($caption['attribs']['']['end'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					if (isset($caption['data']))
+					{
+						$caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					$captions_parent[] =& new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text);
+				}
+			}
+			if (is_array($captions_parent))
+			{
+				$captions_parent = array_values(SimplePie_Misc::array_unique($captions_parent));
+			}
+
+			// CATEGORIES
+			foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'category') as $category)
+			{
+				$term = null;
+				$scheme = null;
+				$label = null;
+				if (isset($category['data']))
+				{
+					$term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+				}
+				if (isset($category['attribs']['']['scheme']))
+				{
+					$scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+				}
+				else
+				{
+					$scheme = 'http://search.yahoo.com/mrss/category_schema';
+				}
+				if (isset($category['attribs']['']['label']))
+				{
+					$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
+				}
+				$categories_parent[] =& new $this->feed->category_class($term, $scheme, $label);
+			}
+			foreach ((array) $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'category') as $category)
+			{
+				$term = null;
+				$scheme = null;
+				$label = null;
+				if (isset($category['data']))
+				{
+					$term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+				}
+				if (isset($category['attribs']['']['scheme']))
+				{
+					$scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+				}
+				else
+				{
+					$scheme = 'http://search.yahoo.com/mrss/category_schema';
+				}
+				if (isset($category['attribs']['']['label']))
+				{
+					$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
+				}
+				$categories_parent[] =& new $this->feed->category_class($term, $scheme, $label);
+			}
+			foreach ((array) $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'category') as $category)
+			{
+				$term = null;
+				$scheme = 'http://www.itunes.com/dtds/podcast-1.0.dtd';
+				$label = null;
+				if (isset($category['attribs']['']['text']))
+				{
+					$label = $this->sanitize($category['attribs']['']['text'], SIMPLEPIE_CONSTRUCT_TEXT);
+				}
+				$categories_parent[] =& new $this->feed->category_class($term, $scheme, $label);
+
+				if (isset($category['child'][SIMPLEPIE_NAMESPACE_ITUNES]['category']))
+				{
+					foreach ((array) $category['child'][SIMPLEPIE_NAMESPACE_ITUNES]['category'] as $subcategory)
+					{
+						if (isset($subcategory['attribs']['']['text']))
+						{
+							$label = $this->sanitize($subcategory['attribs']['']['text'], SIMPLEPIE_CONSTRUCT_TEXT);
+						}
+						$categories_parent[] =& new $this->feed->category_class($term, $scheme, $label);
+					}
+				}
+			}
+			if (is_array($categories_parent))
+			{
+				$categories_parent = array_values(SimplePie_Misc::array_unique($categories_parent));
+			}
+
+			// COPYRIGHT
+			if ($copyright = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'copyright'))
+			{
+				$copyright_url = null;
+				$copyright_label = null;
+				if (isset($copyright[0]['attribs']['']['url']))
+				{
+					$copyright_url = $this->sanitize($copyright[0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT);
+				}
+				if (isset($copyright[0]['data']))
+				{
+					$copyright_label = $this->sanitize($copyright[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+				}
+				$copyrights_parent =& new $this->feed->copyright_class($copyright_url, $copyright_label);
+			}
+			elseif ($copyright = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'copyright'))
+			{
+				$copyright_url = null;
+				$copyright_label = null;
+				if (isset($copyright[0]['attribs']['']['url']))
+				{
+					$copyright_url = $this->sanitize($copyright[0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT);
+				}
+				if (isset($copyright[0]['data']))
+				{
+					$copyright_label = $this->sanitize($copyright[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+				}
+				$copyrights_parent =& new $this->feed->copyright_class($copyright_url, $copyright_label);
+			}
+
+			// CREDITS
+			if ($credits = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'credit'))
+			{
+				foreach ($credits as $credit)
+				{
+					$credit_role = null;
+					$credit_scheme = null;
+					$credit_name = null;
+					if (isset($credit['attribs']['']['role']))
+					{
+						$credit_role = $this->sanitize($credit['attribs']['']['role'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					if (isset($credit['attribs']['']['scheme']))
+					{
+						$credit_scheme = $this->sanitize($credit['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					else
+					{
+						$credit_scheme = 'urn:ebu';
+					}
+					if (isset($credit['data']))
+					{
+						$credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					$credits_parent[] =& new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name);
+				}
+			}
+			elseif ($credits = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'credit'))
+			{
+				foreach ($credits as $credit)
+				{
+					$credit_role = null;
+					$credit_scheme = null;
+					$credit_name = null;
+					if (isset($credit['attribs']['']['role']))
+					{
+						$credit_role = $this->sanitize($credit['attribs']['']['role'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					if (isset($credit['attribs']['']['scheme']))
+					{
+						$credit_scheme = $this->sanitize($credit['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					else
+					{
+						$credit_scheme = 'urn:ebu';
+					}
+					if (isset($credit['data']))
+					{
+						$credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					$credits_parent[] =& new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name);
+				}
+			}
+			if (is_array($credits_parent))
+			{
+				$credits_parent = array_values(SimplePie_Misc::array_unique($credits_parent));
+			}
+
+			// DESCRIPTION
+			if ($description_parent = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'description'))
+			{
+				if (isset($description_parent[0]['data']))
+				{
+					$description_parent = $this->sanitize($description_parent[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+				}
+			}
+			elseif ($description_parent = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'description'))
+			{
+				if (isset($description_parent[0]['data']))
+				{
+					$description_parent = $this->sanitize($description_parent[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+				}
+			}
+
+			// DURATION
+			if ($duration_parent = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'duration'))
+			{
+				$seconds = null;
+				$minutes = null;
+				$hours = null;
+				if (isset($duration_parent[0]['data']))
+				{
+					$temp = explode(':', $this->sanitize($duration_parent[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
+					if (sizeof($temp) > 0)
+					{
+						(int) $seconds = array_pop($temp);
+					}
+					if (sizeof($temp) > 0)
+					{
+						(int) $minutes = array_pop($temp);
+						$seconds += $minutes * 60;
+					}
+					if (sizeof($temp) > 0)
+					{
+						(int) $hours = array_pop($temp);
+						$seconds += $hours * 3600;
+					}
+					unset($temp);
+					$duration_parent = $seconds;
+				}
+			}
+
+			// HASHES
+			if ($hashes_iterator = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'hash'))
+			{
+				foreach ($hashes_iterator as $hash)
+				{
+					$value = null;
+					$algo = null;
+					if (isset($hash['data']))
+					{
+						$value = $this->sanitize($hash['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					if (isset($hash['attribs']['']['algo']))
+					{
+						$algo = $this->sanitize($hash['attribs']['']['algo'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					else
+					{
+						$algo = 'md5';
+					}
+					$hashes_parent[] = $algo.':'.$value;
+				}
+			}
+			elseif ($hashes_iterator = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'hash'))
+			{
+				foreach ($hashes_iterator as $hash)
+				{
+					$value = null;
+					$algo = null;
+					if (isset($hash['data']))
+					{
+						$value = $this->sanitize($hash['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					if (isset($hash['attribs']['']['algo']))
+					{
+						$algo = $this->sanitize($hash['attribs']['']['algo'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					else
+					{
+						$algo = 'md5';
+					}
+					$hashes_parent[] = $algo.':'.$value;
+				}
+			}
+			if (is_array($hashes_parent))
+			{
+				$hashes_parent = array_values(SimplePie_Misc::array_unique($hashes_parent));
+			}
+
+			// KEYWORDS
+			if ($keywords = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'keywords'))
+			{
+				if (isset($keywords[0]['data']))
+				{
+					$temp = explode(',', $this->sanitize($keywords[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
+					foreach ($temp as $word)
+					{
+						$keywords_parent[] = trim($word);
+					}
+				}
+				unset($temp);
+			}
+			elseif ($keywords = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'keywords'))
+			{
+				if (isset($keywords[0]['data']))
+				{
+					$temp = explode(',', $this->sanitize($keywords[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
+					foreach ($temp as $word)
+					{
+						$keywords_parent[] = trim($word);
+					}
+				}
+				unset($temp);
+			}
+			elseif ($keywords = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'keywords'))
+			{
+				if (isset($keywords[0]['data']))
+				{
+					$temp = explode(',', $this->sanitize($keywords[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
+					foreach ($temp as $word)
+					{
+						$keywords_parent[] = trim($word);
+					}
+				}
+				unset($temp);
+			}
+			elseif ($keywords = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'keywords'))
+			{
+				if (isset($keywords[0]['data']))
+				{
+					$temp = explode(',', $this->sanitize($keywords[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
+					foreach ($temp as $word)
+					{
+						$keywords_parent[] = trim($word);
+					}
+				}
+				unset($temp);
+			}
+			if (is_array($keywords_parent))
+			{
+				$keywords_parent = array_values(SimplePie_Misc::array_unique($keywords_parent));
+			}
+
+			// PLAYER
+			if ($player_parent = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'player'))
+			{
+				if (isset($player_parent[0]['attribs']['']['url']))
+				{
+					$player_parent = $this->sanitize($player_parent[0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+				}
+			}
+			elseif ($player_parent = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'player'))
+			{
+				if (isset($player_parent[0]['attribs']['']['url']))
+				{
+					$player_parent = $this->sanitize($player_parent[0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+				}
+			}
+
+			// RATINGS
+			if ($ratings = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'rating'))
+			{
+				foreach ($ratings as $rating)
+				{
+					$rating_scheme = null;
+					$rating_value = null;
+					if (isset($rating['attribs']['']['scheme']))
+					{
+						$rating_scheme = $this->sanitize($rating['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					else
+					{
+						$rating_scheme = 'urn:simple';
+					}
+					if (isset($rating['data']))
+					{
+						$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					$ratings_parent[] =& new $this->feed->rating_class($rating_scheme, $rating_value);
+				}
+			}
+			elseif ($ratings = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'explicit'))
+			{
+				foreach ($ratings as $rating)
+				{
+					$rating_scheme = 'urn:itunes';
+					$rating_value = null;
+					if (isset($rating['data']))
+					{
+						$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					$ratings_parent[] =& new $this->feed->rating_class($rating_scheme, $rating_value);
+				}
+			}
+			elseif ($ratings = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'rating'))
+			{
+				foreach ($ratings as $rating)
+				{
+					$rating_scheme = null;
+					$rating_value = null;
+					if (isset($rating['attribs']['']['scheme']))
+					{
+						$rating_scheme = $this->sanitize($rating['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					else
+					{
+						$rating_scheme = 'urn:simple';
+					}
+					if (isset($rating['data']))
+					{
+						$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					$ratings_parent[] =& new $this->feed->rating_class($rating_scheme, $rating_value);
+				}
+			}
+			elseif ($ratings = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'explicit'))
+			{
+				foreach ($ratings as $rating)
+				{
+					$rating_scheme = 'urn:itunes';
+					$rating_value = null;
+					if (isset($rating['data']))
+					{
+						$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					$ratings_parent[] =& new $this->feed->rating_class($rating_scheme, $rating_value);
+				}
+			}
+			if (is_array($ratings_parent))
+			{
+				$ratings_parent = array_values(SimplePie_Misc::array_unique($ratings_parent));
+			}
+
+			// RESTRICTIONS
+			if ($restrictions = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'restriction'))
+			{
+				foreach ($restrictions as $restriction)
+				{
+					$restriction_relationship = null;
+					$restriction_type = null;
+					$restriction_value = null;
+					if (isset($restriction['attribs']['']['relationship']))
+					{
+						$restriction_relationship = $this->sanitize($restriction['attribs']['']['relationship'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					if (isset($restriction['attribs']['']['type']))
+					{
+						$restriction_type = $this->sanitize($restriction['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					if (isset($restriction['data']))
+					{
+						$restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					$restrictions_parent[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
+				}
+			}
+			elseif ($restrictions = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'block'))
+			{
+				foreach ($restrictions as $restriction)
+				{
+					$restriction_relationship = 'allow';
+					$restriction_type = null;
+					$restriction_value = 'itunes';
+					if (isset($restriction['data']) && strtolower($restriction['data']) === 'yes')
+					{
+						$restriction_relationship = 'deny';
+					}
+					$restrictions_parent[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
+				}
+			}
+			elseif ($restrictions = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'restriction'))
+			{
+				foreach ($restrictions as $restriction)
+				{
+					$restriction_relationship = null;
+					$restriction_type = null;
+					$restriction_value = null;
+					if (isset($restriction['attribs']['']['relationship']))
+					{
+						$restriction_relationship = $this->sanitize($restriction['attribs']['']['relationship'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					if (isset($restriction['attribs']['']['type']))
+					{
+						$restriction_type = $this->sanitize($restriction['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					if (isset($restriction['data']))
+					{
+						$restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					$restrictions_parent[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
+				}
+			}
+			elseif ($restrictions = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'block'))
+			{
+				foreach ($restrictions as $restriction)
+				{
+					$restriction_relationship = 'allow';
+					$restriction_type = null;
+					$restriction_value = 'itunes';
+					if (isset($restriction['data']) && strtolower($restriction['data']) === 'yes')
+					{
+						$restriction_relationship = 'deny';
+					}
+					$restrictions_parent[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
+				}
+			}
+			if (is_array($restrictions_parent))
+			{
+				$restrictions_parent = array_values(SimplePie_Misc::array_unique($restrictions_parent));
+			}
+
+			// THUMBNAILS
+			if ($thumbnails = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'thumbnail'))
+			{
+				foreach ($thumbnails as $thumbnail)
+				{
+					if (isset($thumbnail['attribs']['']['url']))
+					{
+						$thumbnails_parent[] = $this->sanitize($thumbnail['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+					}
+				}
+			}
+			elseif ($thumbnails = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'thumbnail'))
+			{
+				foreach ($thumbnails as $thumbnail)
+				{
+					if (isset($thumbnail['attribs']['']['url']))
+					{
+						$thumbnails_parent[] = $this->sanitize($thumbnail['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+					}
+				}
+			}
+
+			// TITLES
+			if ($title_parent = $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'title'))
+			{
+				if (isset($title_parent[0]['data']))
+				{
+					$title_parent = $this->sanitize($title_parent[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+				}
+			}
+			elseif ($title_parent = $parent->get_channel_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'title'))
+			{
+				if (isset($title_parent[0]['data']))
+				{
+					$title_parent = $this->sanitize($title_parent[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+				}
+			}
+
+			// Clear the memory
+			unset($parent);
+
+			// Attributes
+			$bitrate = null;
+			$channels = null;
+			$duration = null;
+			$expression = null;
+			$framerate = null;
+			$height = null;
+			$javascript = null;
+			$lang = null;
+			$length = null;
+			$medium = null;
+			$samplingrate = null;
+			$type = null;
+			$url = null;
+			$width = null;
+
+			// Elements
+			$captions = null;
+			$categories = null;
+			$copyrights = null;
+			$credits = null;
+			$description = null;
+			$hashes = null;
+			$keywords = null;
+			$player = null;
+			$ratings = null;
+			$restrictions = null;
+			$thumbnails = null;
+			$title = null;
+
+			// If we have media:group tags, loop through them.
+			foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_MEDIARSS, 'group') as $group)
+			{
+				if(isset($group['child']) && isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['content']))
+				{
+					// If we have media:content tags, loop through them.
+					foreach ((array) $group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['content'] as $content)
+					{
+						if (isset($content['attribs']['']['url']))
+						{
+							// Attributes
+							$bitrate = null;
+							$channels = null;
+							$duration = null;
+							$expression = null;
+							$framerate = null;
+							$height = null;
+							$javascript = null;
+							$lang = null;
+							$length = null;
+							$medium = null;
+							$samplingrate = null;
+							$type = null;
+							$url = null;
+							$width = null;
+
+							// Elements
+							$captions = null;
+							$categories = null;
+							$copyrights = null;
+							$credits = null;
+							$description = null;
+							$hashes = null;
+							$keywords = null;
+							$player = null;
+							$ratings = null;
+							$restrictions = null;
+							$thumbnails = null;
+							$title = null;
+
+							// Start checking the attributes of media:content
+							if (isset($content['attribs']['']['bitrate']))
+							{
+								$bitrate = $this->sanitize($content['attribs']['']['bitrate'], SIMPLEPIE_CONSTRUCT_TEXT);
+							}
+							if (isset($content['attribs']['']['channels']))
+							{
+								$channels = $this->sanitize($content['attribs']['']['channels'], SIMPLEPIE_CONSTRUCT_TEXT);
+							}
+							if (isset($content['attribs']['']['duration']))
+							{
+								$duration = $this->sanitize($content['attribs']['']['duration'], SIMPLEPIE_CONSTRUCT_TEXT);
+							}
+							else
+							{
+								$duration = $duration_parent;
+							}
+							if (isset($content['attribs']['']['expression']))
+							{
+								$expression = $this->sanitize($content['attribs']['']['expression'], SIMPLEPIE_CONSTRUCT_TEXT);
+							}
+							if (isset($content['attribs']['']['framerate']))
+							{
+								$framerate = $this->sanitize($content['attribs']['']['framerate'], SIMPLEPIE_CONSTRUCT_TEXT);
+							}
+							if (isset($content['attribs']['']['height']))
+							{
+								$height = $this->sanitize($content['attribs']['']['height'], SIMPLEPIE_CONSTRUCT_TEXT);
+							}
+							if (isset($content['attribs']['']['lang']))
+							{
+								$lang = $this->sanitize($content['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
+							}
+							if (isset($content['attribs']['']['fileSize']))
+							{
+								$length = ceil($content['attribs']['']['fileSize']);
+							}
+							if (isset($content['attribs']['']['medium']))
+							{
+								$medium = $this->sanitize($content['attribs']['']['medium'], SIMPLEPIE_CONSTRUCT_TEXT);
+							}
+							if (isset($content['attribs']['']['samplingrate']))
+							{
+								$samplingrate = $this->sanitize($content['attribs']['']['samplingrate'], SIMPLEPIE_CONSTRUCT_TEXT);
+							}
+							if (isset($content['attribs']['']['type']))
+							{
+								$type = $this->sanitize($content['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+							}
+							if (isset($content['attribs']['']['width']))
+							{
+								$width = $this->sanitize($content['attribs']['']['width'], SIMPLEPIE_CONSTRUCT_TEXT);
+							}
+							$url = $this->sanitize($content['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+
+							// Checking the other optional media: elements. Priority: media:content, media:group, item, channel
+
+							// CAPTIONS
+							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text']))
+							{
+								foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text'] as $caption)
+								{
+									$caption_type = null;
+									$caption_lang = null;
+									$caption_startTime = null;
+									$caption_endTime = null;
+									$caption_text = null;
+									if (isset($caption['attribs']['']['type']))
+									{
+										$caption_type = $this->sanitize($caption['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									if (isset($caption['attribs']['']['lang']))
+									{
+										$caption_lang = $this->sanitize($caption['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									if (isset($caption['attribs']['']['start']))
+									{
+										$caption_startTime = $this->sanitize($caption['attribs']['']['start'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									if (isset($caption['attribs']['']['end']))
+									{
+										$caption_endTime = $this->sanitize($caption['attribs']['']['end'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									if (isset($caption['data']))
+									{
+										$caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									$captions[] =& new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text);
+								}
+								if (is_array($captions))
+								{
+									$captions = array_values(SimplePie_Misc::array_unique($captions));
+								}
+							}
+							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text']))
+							{
+								foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text'] as $caption)
+								{
+									$caption_type = null;
+									$caption_lang = null;
+									$caption_startTime = null;
+									$caption_endTime = null;
+									$caption_text = null;
+									if (isset($caption['attribs']['']['type']))
+									{
+										$caption_type = $this->sanitize($caption['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									if (isset($caption['attribs']['']['lang']))
+									{
+										$caption_lang = $this->sanitize($caption['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									if (isset($caption['attribs']['']['start']))
+									{
+										$caption_startTime = $this->sanitize($caption['attribs']['']['start'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									if (isset($caption['attribs']['']['end']))
+									{
+										$caption_endTime = $this->sanitize($caption['attribs']['']['end'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									if (isset($caption['data']))
+									{
+										$caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									$captions[] =& new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text);
+								}
+								if (is_array($captions))
+								{
+									$captions = array_values(SimplePie_Misc::array_unique($captions));
+								}
+							}
+							else
+							{
+								$captions = $captions_parent;
+							}
+
+							// CATEGORIES
+							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category']))
+							{
+								foreach ((array) $content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category'] as $category)
+								{
+									$term = null;
+									$scheme = null;
+									$label = null;
+									if (isset($category['data']))
+									{
+										$term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									if (isset($category['attribs']['']['scheme']))
+									{
+										$scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									else
+									{
+										$scheme = 'http://search.yahoo.com/mrss/category_schema';
+									}
+									if (isset($category['attribs']['']['label']))
+									{
+										$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									$categories[] =& new $this->feed->category_class($term, $scheme, $label);
+								}
+							}
+							if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category']))
+							{
+								foreach ((array) $group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category'] as $category)
+								{
+									$term = null;
+									$scheme = null;
+									$label = null;
+									if (isset($category['data']))
+									{
+										$term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									if (isset($category['attribs']['']['scheme']))
+									{
+										$scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									else
+									{
+										$scheme = 'http://search.yahoo.com/mrss/category_schema';
+									}
+									if (isset($category['attribs']['']['label']))
+									{
+										$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									$categories[] =& new $this->feed->category_class($term, $scheme, $label);
+								}
+							}
+							if (is_array($categories) && is_array($categories_parent))
+							{
+								$categories = array_values(SimplePie_Misc::array_unique(array_merge($categories, $categories_parent)));
+							}
+							elseif (is_array($categories))
+							{
+								$categories = array_values(SimplePie_Misc::array_unique($categories));
+							}
+							elseif (is_array($categories_parent))
+							{
+								$categories = array_values(SimplePie_Misc::array_unique($categories_parent));
+							}
+
+							// COPYRIGHTS
+							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright']))
+							{
+								$copyright_url = null;
+								$copyright_label = null;
+								if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url']))
+								{
+									$copyright_url = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT);
+								}
+								if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data']))
+								{
+									$copyright_label = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+								}
+								$copyrights =& new $this->feed->copyright_class($copyright_url, $copyright_label);
+							}
+							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright']))
+							{
+								$copyright_url = null;
+								$copyright_label = null;
+								if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url']))
+								{
+									$copyright_url = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT);
+								}
+								if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data']))
+								{
+									$copyright_label = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+								}
+								$copyrights =& new $this->feed->copyright_class($copyright_url, $copyright_label);
+							}
+							else
+							{
+								$copyrights = $copyrights_parent;
+							}
+
+							// CREDITS
+							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit']))
+							{
+								foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit'] as $credit)
+								{
+									$credit_role = null;
+									$credit_scheme = null;
+									$credit_name = null;
+									if (isset($credit['attribs']['']['role']))
+									{
+										$credit_role = $this->sanitize($credit['attribs']['']['role'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									if (isset($credit['attribs']['']['scheme']))
+									{
+										$credit_scheme = $this->sanitize($credit['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									else
+									{
+										$credit_scheme = 'urn:ebu';
+									}
+									if (isset($credit['data']))
+									{
+										$credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									$credits[] =& new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name);
+								}
+								if (is_array($credits))
+								{
+									$credits = array_values(SimplePie_Misc::array_unique($credits));
+								}
+							}
+							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit']))
+							{
+								foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit'] as $credit)
+								{
+									$credit_role = null;
+									$credit_scheme = null;
+									$credit_name = null;
+									if (isset($credit['attribs']['']['role']))
+									{
+										$credit_role = $this->sanitize($credit['attribs']['']['role'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									if (isset($credit['attribs']['']['scheme']))
+									{
+										$credit_scheme = $this->sanitize($credit['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									else
+									{
+										$credit_scheme = 'urn:ebu';
+									}
+									if (isset($credit['data']))
+									{
+										$credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									$credits[] =& new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name);
+								}
+								if (is_array($credits))
+								{
+									$credits = array_values(SimplePie_Misc::array_unique($credits));
+								}
+							}
+							else
+							{
+								$credits = $credits_parent;
+							}
+
+							// DESCRIPTION
+							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description']))
+							{
+								$description = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+							}
+							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description']))
+							{
+								$description = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+							}
+							else
+							{
+								$description = $description_parent;
+							}
+
+							// HASHES
+							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash']))
+							{
+								foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash'] as $hash)
+								{
+									$value = null;
+									$algo = null;
+									if (isset($hash['data']))
+									{
+										$value = $this->sanitize($hash['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									if (isset($hash['attribs']['']['algo']))
+									{
+										$algo = $this->sanitize($hash['attribs']['']['algo'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									else
+									{
+										$algo = 'md5';
+									}
+									$hashes[] = $algo.':'.$value;
+								}
+								if (is_array($hashes))
+								{
+									$hashes = array_values(SimplePie_Misc::array_unique($hashes));
+								}
+							}
+							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash']))
+							{
+								foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash'] as $hash)
+								{
+									$value = null;
+									$algo = null;
+									if (isset($hash['data']))
+									{
+										$value = $this->sanitize($hash['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									if (isset($hash['attribs']['']['algo']))
+									{
+										$algo = $this->sanitize($hash['attribs']['']['algo'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									else
+									{
+										$algo = 'md5';
+									}
+									$hashes[] = $algo.':'.$value;
+								}
+								if (is_array($hashes))
+								{
+									$hashes = array_values(SimplePie_Misc::array_unique($hashes));
+								}
+							}
+							else
+							{
+								$hashes = $hashes_parent;
+							}
+
+							// KEYWORDS
+							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords']))
+							{
+								if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data']))
+								{
+									$temp = explode(',', $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
+									foreach ($temp as $word)
+									{
+										$keywords[] = trim($word);
+									}
+									unset($temp);
+								}
+								if (is_array($keywords))
+								{
+									$keywords = array_values(SimplePie_Misc::array_unique($keywords));
+								}
+							}
+							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords']))
+							{
+								if (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data']))
+								{
+									$temp = explode(',', $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
+									foreach ($temp as $word)
+									{
+										$keywords[] = trim($word);
+									}
+									unset($temp);
+								}
+								if (is_array($keywords))
+								{
+									$keywords = array_values(SimplePie_Misc::array_unique($keywords));
+								}
+							}
+							else
+							{
+								$keywords = $keywords_parent;
+							}
+
+							// PLAYER
+							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player']))
+							{
+								$player = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+							}
+							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player']))
+							{
+								$player = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+							}
+							else
+							{
+								$player = $player_parent;
+							}
+
+							// RATINGS
+							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating']))
+							{
+								foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating'] as $rating)
+								{
+									$rating_scheme = null;
+									$rating_value = null;
+									if (isset($rating['attribs']['']['scheme']))
+									{
+										$rating_scheme = $this->sanitize($rating['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									else
+									{
+										$rating_scheme = 'urn:simple';
+									}
+									if (isset($rating['data']))
+									{
+										$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									$ratings[] =& new $this->feed->rating_class($rating_scheme, $rating_value);
+								}
+								if (is_array($ratings))
+								{
+									$ratings = array_values(SimplePie_Misc::array_unique($ratings));
+								}
+							}
+							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating']))
+							{
+								foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating'] as $rating)
+								{
+									$rating_scheme = null;
+									$rating_value = null;
+									if (isset($rating['attribs']['']['scheme']))
+									{
+										$rating_scheme = $this->sanitize($rating['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									else
+									{
+										$rating_scheme = 'urn:simple';
+									}
+									if (isset($rating['data']))
+									{
+										$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									$ratings[] =& new $this->feed->rating_class($rating_scheme, $rating_value);
+								}
+								if (is_array($ratings))
+								{
+									$ratings = array_values(SimplePie_Misc::array_unique($ratings));
+								}
+							}
+							else
+							{
+								$ratings = $ratings_parent;
+							}
+
+							// RESTRICTIONS
+							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction']))
+							{
+								foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction'] as $restriction)
+								{
+									$restriction_relationship = null;
+									$restriction_type = null;
+									$restriction_value = null;
+									if (isset($restriction['attribs']['']['relationship']))
+									{
+										$restriction_relationship = $this->sanitize($restriction['attribs']['']['relationship'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									if (isset($restriction['attribs']['']['type']))
+									{
+										$restriction_type = $this->sanitize($restriction['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									if (isset($restriction['data']))
+									{
+										$restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									$restrictions[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
+								}
+								if (is_array($restrictions))
+								{
+									$restrictions = array_values(SimplePie_Misc::array_unique($restrictions));
+								}
+							}
+							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction']))
+							{
+								foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction'] as $restriction)
+								{
+									$restriction_relationship = null;
+									$restriction_type = null;
+									$restriction_value = null;
+									if (isset($restriction['attribs']['']['relationship']))
+									{
+										$restriction_relationship = $this->sanitize($restriction['attribs']['']['relationship'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									if (isset($restriction['attribs']['']['type']))
+									{
+										$restriction_type = $this->sanitize($restriction['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									if (isset($restriction['data']))
+									{
+										$restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+									}
+									$restrictions[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
+								}
+								if (is_array($restrictions))
+								{
+									$restrictions = array_values(SimplePie_Misc::array_unique($restrictions));
+								}
+							}
+							else
+							{
+								$restrictions = $restrictions_parent;
+							}
+
+							// THUMBNAILS
+							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail']))
+							{
+								foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail'] as $thumbnail)
+								{
+									$thumbnails[] = $this->sanitize($thumbnail['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+								}
+								if (is_array($thumbnails))
+								{
+									$thumbnails = array_values(SimplePie_Misc::array_unique($thumbnails));
+								}
+							}
+							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail']))
+							{
+								foreach ($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail'] as $thumbnail)
+								{
+									$thumbnails[] = $this->sanitize($thumbnail['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+								}
+								if (is_array($thumbnails))
+								{
+									$thumbnails = array_values(SimplePie_Misc::array_unique($thumbnails));
+								}
+							}
+							else
+							{
+								$thumbnails = $thumbnails_parent;
+							}
+
+							// TITLES
+							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title']))
+							{
+								$title = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+							}
+							elseif (isset($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title']))
+							{
+								$title = $this->sanitize($group['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+							}
+							else
+							{
+								$title = $title_parent;
+							}
+
+							$this->data['enclosures'][] =& new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions, $categories, $channels, $copyrights, $credits, $description, $duration, $expression, $framerate, $hashes, $height, $keywords, $lang, $medium, $player, $ratings, $restrictions, $samplingrate, $thumbnails, $title, $width);
+						}
+					}
+				}
+			}
+
+			// If we have standalone media:content tags, loop through them.
+			if (isset($this->data['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['content']))
+			{
+				foreach ((array) $this->data['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['content'] as $content)
+				{
+					if (isset($content['attribs']['']['url']))
+					{
+						// Attributes
+						$bitrate = null;
+						$channels = null;
+						$duration = null;
+						$expression = null;
+						$framerate = null;
+						$height = null;
+						$javascript = null;
+						$lang = null;
+						$length = null;
+						$medium = null;
+						$samplingrate = null;
+						$type = null;
+						$url = null;
+						$width = null;
+
+						// Elements
+						$captions = null;
+						$categories = null;
+						$copyrights = null;
+						$credits = null;
+						$description = null;
+						$hashes = null;
+						$keywords = null;
+						$player = null;
+						$ratings = null;
+						$restrictions = null;
+						$thumbnails = null;
+						$title = null;
+
+						// Start checking the attributes of media:content
+						if (isset($content['attribs']['']['bitrate']))
+						{
+							$bitrate = $this->sanitize($content['attribs']['']['bitrate'], SIMPLEPIE_CONSTRUCT_TEXT);
+						}
+						if (isset($content['attribs']['']['channels']))
+						{
+							$channels = $this->sanitize($content['attribs']['']['channels'], SIMPLEPIE_CONSTRUCT_TEXT);
+						}
+						if (isset($content['attribs']['']['duration']))
+						{
+							$duration = $this->sanitize($content['attribs']['']['duration'], SIMPLEPIE_CONSTRUCT_TEXT);
+						}
+						else
+						{
+							$duration = $duration_parent;
+						}
+						if (isset($content['attribs']['']['expression']))
+						{
+							$expression = $this->sanitize($content['attribs']['']['expression'], SIMPLEPIE_CONSTRUCT_TEXT);
+						}
+						if (isset($content['attribs']['']['framerate']))
+						{
+							$framerate = $this->sanitize($content['attribs']['']['framerate'], SIMPLEPIE_CONSTRUCT_TEXT);
+						}
+						if (isset($content['attribs']['']['height']))
+						{
+							$height = $this->sanitize($content['attribs']['']['height'], SIMPLEPIE_CONSTRUCT_TEXT);
+						}
+						if (isset($content['attribs']['']['lang']))
+						{
+							$lang = $this->sanitize($content['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
+						}
+						if (isset($content['attribs']['']['fileSize']))
+						{
+							$length = ceil($content['attribs']['']['fileSize']);
+						}
+						if (isset($content['attribs']['']['medium']))
+						{
+							$medium = $this->sanitize($content['attribs']['']['medium'], SIMPLEPIE_CONSTRUCT_TEXT);
+						}
+						if (isset($content['attribs']['']['samplingrate']))
+						{
+							$samplingrate = $this->sanitize($content['attribs']['']['samplingrate'], SIMPLEPIE_CONSTRUCT_TEXT);
+						}
+						if (isset($content['attribs']['']['type']))
+						{
+							$type = $this->sanitize($content['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+						}
+						if (isset($content['attribs']['']['width']))
+						{
+							$width = $this->sanitize($content['attribs']['']['width'], SIMPLEPIE_CONSTRUCT_TEXT);
+						}
+						$url = $this->sanitize($content['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+
+						// Checking the other optional media: elements. Priority: media:content, media:group, item, channel
+
+						// CAPTIONS
+						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text']))
+						{
+							foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['text'] as $caption)
+							{
+								$caption_type = null;
+								$caption_lang = null;
+								$caption_startTime = null;
+								$caption_endTime = null;
+								$caption_text = null;
+								if (isset($caption['attribs']['']['type']))
+								{
+									$caption_type = $this->sanitize($caption['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+								}
+								if (isset($caption['attribs']['']['lang']))
+								{
+									$caption_lang = $this->sanitize($caption['attribs']['']['lang'], SIMPLEPIE_CONSTRUCT_TEXT);
+								}
+								if (isset($caption['attribs']['']['start']))
+								{
+									$caption_startTime = $this->sanitize($caption['attribs']['']['start'], SIMPLEPIE_CONSTRUCT_TEXT);
+								}
+								if (isset($caption['attribs']['']['end']))
+								{
+									$caption_endTime = $this->sanitize($caption['attribs']['']['end'], SIMPLEPIE_CONSTRUCT_TEXT);
+								}
+								if (isset($caption['data']))
+								{
+									$caption_text = $this->sanitize($caption['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+								}
+								$captions[] =& new $this->feed->caption_class($caption_type, $caption_lang, $caption_startTime, $caption_endTime, $caption_text);
+							}
+							if (is_array($captions))
+							{
+								$captions = array_values(SimplePie_Misc::array_unique($captions));
+							}
+						}
+						else
+						{
+							$captions = $captions_parent;
+						}
+
+						// CATEGORIES
+						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category']))
+						{
+							foreach ((array) $content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['category'] as $category)
+							{
+								$term = null;
+								$scheme = null;
+								$label = null;
+								if (isset($category['data']))
+								{
+									$term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+								}
+								if (isset($category['attribs']['']['scheme']))
+								{
+									$scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+								}
+								else
+								{
+									$scheme = 'http://search.yahoo.com/mrss/category_schema';
+								}
+								if (isset($category['attribs']['']['label']))
+								{
+									$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
+								}
+								$categories[] =& new $this->feed->category_class($term, $scheme, $label);
+							}
+						}
+						if (is_array($categories) && is_array($categories_parent))
+						{
+							$categories = array_values(SimplePie_Misc::array_unique(array_merge($categories, $categories_parent)));
+						}
+						elseif (is_array($categories))
+						{
+							$categories = array_values(SimplePie_Misc::array_unique($categories));
+						}
+						elseif (is_array($categories_parent))
+						{
+							$categories = array_values(SimplePie_Misc::array_unique($categories_parent));
+						}
+						else
+						{
+							$categories = null;
+						}
+
+						// COPYRIGHTS
+						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright']))
+						{
+							$copyright_url = null;
+							$copyright_label = null;
+							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url']))
+							{
+								$copyright_url = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_TEXT);
+							}
+							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data']))
+							{
+								$copyright_label = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['copyright'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+							}
+							$copyrights =& new $this->feed->copyright_class($copyright_url, $copyright_label);
+						}
+						else
+						{
+							$copyrights = $copyrights_parent;
+						}
+
+						// CREDITS
+						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit']))
+						{
+							foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['credit'] as $credit)
+							{
+								$credit_role = null;
+								$credit_scheme = null;
+								$credit_name = null;
+								if (isset($credit['attribs']['']['role']))
+								{
+									$credit_role = $this->sanitize($credit['attribs']['']['role'], SIMPLEPIE_CONSTRUCT_TEXT);
+								}
+								if (isset($credit['attribs']['']['scheme']))
+								{
+									$credit_scheme = $this->sanitize($credit['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+								}
+								else
+								{
+									$credit_scheme = 'urn:ebu';
+								}
+								if (isset($credit['data']))
+								{
+									$credit_name = $this->sanitize($credit['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+								}
+								$credits[] =& new $this->feed->credit_class($credit_role, $credit_scheme, $credit_name);
+							}
+							if (is_array($credits))
+							{
+								$credits = array_values(SimplePie_Misc::array_unique($credits));
+							}
+						}
+						else
+						{
+							$credits = $credits_parent;
+						}
+
+						// DESCRIPTION
+						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description']))
+						{
+							$description = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['description'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+						}
+						else
+						{
+							$description = $description_parent;
+						}
+
+						// HASHES
+						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash']))
+						{
+							foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['hash'] as $hash)
+							{
+								$value = null;
+								$algo = null;
+								if (isset($hash['data']))
+								{
+									$value = $this->sanitize($hash['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+								}
+								if (isset($hash['attribs']['']['algo']))
+								{
+									$algo = $this->sanitize($hash['attribs']['']['algo'], SIMPLEPIE_CONSTRUCT_TEXT);
+								}
+								else
+								{
+									$algo = 'md5';
+								}
+								$hashes[] = $algo.':'.$value;
+							}
+							if (is_array($hashes))
+							{
+								$hashes = array_values(SimplePie_Misc::array_unique($hashes));
+							}
+						}
+						else
+						{
+							$hashes = $hashes_parent;
+						}
+
+						// KEYWORDS
+						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords']))
+						{
+							if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data']))
+							{
+								$temp = explode(',', $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['keywords'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT));
+								foreach ($temp as $word)
+								{
+									$keywords[] = trim($word);
+								}
+								unset($temp);
+							}
+							if (is_array($keywords))
+							{
+								$keywords = array_values(SimplePie_Misc::array_unique($keywords));
+							}
+						}
+						else
+						{
+							$keywords = $keywords_parent;
+						}
+
+						// PLAYER
+						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player']))
+						{
+							$player = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['player'][0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+						}
+						else
+						{
+							$player = $player_parent;
+						}
+
+						// RATINGS
+						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating']))
+						{
+							foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['rating'] as $rating)
+							{
+								$rating_scheme = null;
+								$rating_value = null;
+								if (isset($rating['attribs']['']['scheme']))
+								{
+									$rating_scheme = $this->sanitize($rating['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+								}
+								else
+								{
+									$rating_scheme = 'urn:simple';
+								}
+								if (isset($rating['data']))
+								{
+									$rating_value = $this->sanitize($rating['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+								}
+								$ratings[] =& new $this->feed->rating_class($rating_scheme, $rating_value);
+							}
+							if (is_array($ratings))
+							{
+								$ratings = array_values(SimplePie_Misc::array_unique($ratings));
+							}
+						}
+						else
+						{
+							$ratings = $ratings_parent;
+						}
+
+						// RESTRICTIONS
+						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction']))
+						{
+							foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['restriction'] as $restriction)
+							{
+								$restriction_relationship = null;
+								$restriction_type = null;
+								$restriction_value = null;
+								if (isset($restriction['attribs']['']['relationship']))
+								{
+									$restriction_relationship = $this->sanitize($restriction['attribs']['']['relationship'], SIMPLEPIE_CONSTRUCT_TEXT);
+								}
+								if (isset($restriction['attribs']['']['type']))
+								{
+									$restriction_type = $this->sanitize($restriction['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+								}
+								if (isset($restriction['data']))
+								{
+									$restriction_value = $this->sanitize($restriction['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+								}
+								$restrictions[] =& new $this->feed->restriction_class($restriction_relationship, $restriction_type, $restriction_value);
+							}
+							if (is_array($restrictions))
+							{
+								$restrictions = array_values(SimplePie_Misc::array_unique($restrictions));
+							}
+						}
+						else
+						{
+							$restrictions = $restrictions_parent;
+						}
+
+						// THUMBNAILS
+						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail']))
+						{
+							foreach ($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['thumbnail'] as $thumbnail)
+							{
+								$thumbnails[] = $this->sanitize($thumbnail['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI);
+							}
+							if (is_array($thumbnails))
+							{
+								$thumbnails = array_values(SimplePie_Misc::array_unique($thumbnails));
+							}
+						}
+						else
+						{
+							$thumbnails = $thumbnails_parent;
+						}
+
+						// TITLES
+						if (isset($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title']))
+						{
+							$title = $this->sanitize($content['child'][SIMPLEPIE_NAMESPACE_MEDIARSS]['title'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+						}
+						else
+						{
+							$title = $title_parent;
+						}
+
+						$this->data['enclosures'][] =& new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions, $categories, $channels, $copyrights, $credits, $description, $duration, $expression, $framerate, $hashes, $height, $keywords, $lang, $medium, $player, $ratings, $restrictions, $samplingrate, $thumbnails, $title, $width);
+					}
+				}
+			}
+
+			foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'link') as $link)
+			{
+				if (isset($link['attribs']['']['href']) && !empty($link['attribs']['']['rel']) && $link['attribs']['']['rel'] === 'enclosure')
+				{
+					// Attributes
+					$bitrate = null;
+					$channels = null;
+					$duration = null;
+					$expression = null;
+					$framerate = null;
+					$height = null;
+					$javascript = null;
+					$lang = null;
+					$length = null;
+					$medium = null;
+					$samplingrate = null;
+					$type = null;
+					$url = null;
+					$width = null;
+
+					$url = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
+					if (isset($link['attribs']['']['type']))
+					{
+						$type = $this->sanitize($link['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					if (isset($link['attribs']['']['length']))
+					{
+						$length = ceil($link['attribs']['']['length']);
+					}
+
+					// Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor
+					$this->data['enclosures'][] =& new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width);
+				}
+			}
+
+			foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'link') as $link)
+			{
+				if (isset($link['attribs']['']['href']) && !empty($link['attribs']['']['rel']) && $link['attribs']['']['rel'] === 'enclosure')
+				{
+					// Attributes
+					$bitrate = null;
+					$channels = null;
+					$duration = null;
+					$expression = null;
+					$framerate = null;
+					$height = null;
+					$javascript = null;
+					$lang = null;
+					$length = null;
+					$medium = null;
+					$samplingrate = null;
+					$type = null;
+					$url = null;
+					$width = null;
+
+					$url = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
+					if (isset($link['attribs']['']['type']))
+					{
+						$type = $this->sanitize($link['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					if (isset($link['attribs']['']['length']))
+					{
+						$length = ceil($link['attribs']['']['length']);
+					}
+
+					// Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor
+					$this->data['enclosures'][] =& new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width);
+				}
+			}
+
+			if ($enclosure = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'enclosure'))
+			{
+				if (isset($enclosure[0]['attribs']['']['url']))
+				{
+					// Attributes
+					$bitrate = null;
+					$channels = null;
+					$duration = null;
+					$expression = null;
+					$framerate = null;
+					$height = null;
+					$javascript = null;
+					$lang = null;
+					$length = null;
+					$medium = null;
+					$samplingrate = null;
+					$type = null;
+					$url = null;
+					$width = null;
+
+					$url = $this->sanitize($enclosure[0]['attribs']['']['url'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($enclosure[0]));
+					if (isset($enclosure[0]['attribs']['']['type']))
+					{
+						$type = $this->sanitize($enclosure[0]['attribs']['']['type'], SIMPLEPIE_CONSTRUCT_TEXT);
+					}
+					if (isset($enclosure[0]['attribs']['']['length']))
+					{
+						$length = ceil($enclosure[0]['attribs']['']['length']);
+					}
+
+					// Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor
+					$this->data['enclosures'][] =& new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width);
+				}
+			}
+
+			if (sizeof($this->data['enclosures']) === 0 && ($url || $type || $length || $bitrate || $captions_parent || $categories_parent || $channels || $copyrights_parent || $credits_parent || $description_parent || $duration_parent || $expression || $framerate || $hashes_parent || $height || $keywords_parent || $lang || $medium || $player_parent || $ratings_parent || $restrictions_parent || $samplingrate || $thumbnails_parent || $title_parent || $width))
+			{
+				// Since we don't have group or content for these, we'll just pass the '*_parent' variables directly to the constructor
+				$this->data['enclosures'][] =& new $this->feed->enclosure_class($url, $type, $length, $this->feed->javascript, $bitrate, $captions_parent, $categories_parent, $channels, $copyrights_parent, $credits_parent, $description_parent, $duration_parent, $expression, $framerate, $hashes_parent, $height, $keywords_parent, $lang, $medium, $player_parent, $ratings_parent, $restrictions_parent, $samplingrate, $thumbnails_parent, $title_parent, $width);
+			}
+
+			$this->data['enclosures'] = array_values(SimplePie_Misc::array_unique($this->data['enclosures']));
+		}
+		if (!empty($this->data['enclosures']))
+		{
+			return $this->data['enclosures'];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_latitude()
+	{
+		if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'lat'))
+		{
+			return (float) $return[0]['data'];
+		}
+		elseif (($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
+		{
+			return (float) $match[1];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_longitude()
+	{
+		if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'long'))
+		{
+			return (float) $return[0]['data'];
+		}
+		elseif ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'lon'))
+		{
+			return (float) $return[0]['data'];
+		}
+		elseif (($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
+		{
+			return (float) $match[2];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_source()
+	{
+		if ($return = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'source'))
+		{
+			return new $this->feed->source_class($this, $return[0]);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	/**
+	 * Creates the add_to_* methods' return data
+	 *
+	 * @access private
+	 * @param string $item_url String to prefix to the item permalink
+	 * @param string $title_url String to prefix to the item title
+	 * (and suffix to the item permalink)
+	 * @return mixed URL if feed exists, false otherwise
+	 */
+	function add_to_service($item_url, $title_url = null, $summary_url = null)
+	{
+		if ($this->get_permalink() !== null)
+		{
+			$return = $item_url . rawurlencode($this->get_permalink());
+			if ($title_url !== null && $this->get_title() !== null)
+			{
+				$return .= $title_url . rawurlencode($this->get_title());
+			}
+			if ($summary_url !== null && $this->get_description() !== null)
+			{
+				$return .= $summary_url . rawurlencode($this->get_description());
+			}
+			return $this->sanitize($return, SIMPLEPIE_CONSTRUCT_IRI);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function add_to_blinklist()
+	{
+		return $this->add_to_service('http://www.blinklist.com/index.php?Action=Blink/addblink.php&Description=&Url=', '&Title=');
+	}
+
+	function add_to_blogmarks()
+	{
+		return $this->add_to_service('http://blogmarks.net/my/new.php?mini=1&simple=1&url=', '&title=');
+	}
+
+	function add_to_delicious()
+	{
+		return $this->add_to_service('http://del.icio.us/post/?v=4&url=', '&title=');
+	}
+
+	function add_to_digg()
+	{
+		return $this->add_to_service('http://digg.com/submit?url=', '&title=', '&bodytext=');
+	}
+
+	function add_to_furl()
+	{
+		return $this->add_to_service('http://www.furl.net/storeIt.jsp?u=', '&t=');
+	}
+
+	function add_to_magnolia()
+	{
+		return $this->add_to_service('http://ma.gnolia.com/bookmarklet/add?url=', '&title=');
+	}
+
+	function add_to_myweb20()
+	{
+		return $this->add_to_service('http://myweb2.search.yahoo.com/myresults/bookmarklet?u=', '&t=');
+	}
+
+	function add_to_newsvine()
+	{
+		return $this->add_to_service('http://www.newsvine.com/_wine/save?u=', '&h=');
+	}
+
+	function add_to_reddit()
+	{
+		return $this->add_to_service('http://reddit.com/submit?url=', '&title=');
+	}
+
+	function add_to_segnalo()
+	{
+		return $this->add_to_service('http://segnalo.com/post.html.php?url=', '&title=');
+	}
+
+	function add_to_simpy()
+	{
+		return $this->add_to_service('http://www.simpy.com/simpy/LinkAdd.do?href=', '&title=');
+	}
+
+	function add_to_spurl()
+	{
+		return $this->add_to_service('http://www.spurl.net/spurl.php?v=3&url=', '&title=');
+	}
+
+	function add_to_wists()
+	{
+		return $this->add_to_service('http://wists.com/r.php?c=&r=', '&title=');
+	}
+
+	function search_technorati()
+	{
+		return $this->add_to_service('http://www.technorati.com/search/');
+	}
+}
+
+class SimplePie_Source
+{
+	var $item;
+	var $data = array();
+
+	function SimplePie_Source($item, $data)
+	{
+		$this->item = $item;
+		$this->data = $data;
+	}
+
+	function __toString()
+	{
+		return md5(serialize($this->data));
+	}
+
+	function get_source_tags($namespace, $tag)
+	{
+		if (isset($this->data['child'][$namespace][$tag]))
+		{
+			return $this->data['child'][$namespace][$tag];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_base($element = array())
+	{
+		return $this->item->get_base($element);
+	}
+
+	function sanitize($data, $type, $base = '')
+	{
+		return $this->item->sanitize($data, $type, $base);
+	}
+
+	function get_item()
+	{
+		return $this->item;
+	}
+
+	function get_title()
+	{
+		if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'title'))
+		{
+			return $this->sanitize($return[0]['data'], SimplePie_Misc::atom_10_construct_type($return[0]['attribs']), $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'title'))
+		{
+			return $this->sanitize($return[0]['data'], SimplePie_Misc::atom_03_construct_type($return[0]['attribs']), $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'title'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'title'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'title'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'title'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'title'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_category($key = 0)
+	{
+		$categories = $this->get_categories();
+		if (isset($categories[$key]))
+		{
+			return $categories[$key];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_categories()
+	{
+		$categories = array();
+
+		foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'category') as $category)
+		{
+			$term = null;
+			$scheme = null;
+			$label = null;
+			if (isset($category['attribs']['']['term']))
+			{
+				$term = $this->sanitize($category['attribs']['']['term'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if (isset($category['attribs']['']['scheme']))
+			{
+				$scheme = $this->sanitize($category['attribs']['']['scheme'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if (isset($category['attribs']['']['label']))
+			{
+				$label = $this->sanitize($category['attribs']['']['label'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			$categories[] =& new $this->item->feed->category_class($term, $scheme, $label);
+		}
+		foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'category') as $category)
+		{
+			// This is really the label, but keep this as the term also for BC.
+			// Label will also work on retrieving because that falls back to term.
+			$term = $this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			if (isset($category['attribs']['']['domain']))
+			{
+				$scheme = $this->sanitize($category['attribs']['']['domain'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			else
+			{
+				$scheme = null;
+			}
+			$categories[] =& new $this->item->feed->category_class($term, $scheme, null);
+		}
+		foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'subject') as $category)
+		{
+			$categories[] =& new $this->item->feed->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+		}
+		foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'subject') as $category)
+		{
+			$categories[] =& new $this->item->feed->category_class($this->sanitize($category['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+		}
+
+		if (!empty($categories))
+		{
+			return SimplePie_Misc::array_unique($categories);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_author($key = 0)
+	{
+		$authors = $this->get_authors();
+		if (isset($authors[$key]))
+		{
+			return $authors[$key];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_authors()
+	{
+		$authors = array();
+		foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'author') as $author)
+		{
+			$name = null;
+			$uri = null;
+			$email = null;
+			if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']))
+			{
+				$name = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data']))
+			{
+				$uri = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]));
+			}
+			if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data']))
+			{
+				$email = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if ($name !== null || $email !== null || $uri !== null)
+			{
+				$authors[] =& new $this->item->feed->author_class($name, $uri, $email);
+			}
+		}
+		if ($author = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'author'))
+		{
+			$name = null;
+			$url = null;
+			$email = null;
+			if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data']))
+			{
+				$name = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data']))
+			{
+				$url = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]));
+			}
+			if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data']))
+			{
+				$email = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if ($name !== null || $email !== null || $url !== null)
+			{
+				$authors[] =& new $this->item->feed->author_class($name, $url, $email);
+			}
+		}
+		foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'creator') as $author)
+		{
+			$authors[] =& new $this->item->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+		}
+		foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'creator') as $author)
+		{
+			$authors[] =& new $this->item->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+		}
+		foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'author') as $author)
+		{
+			$authors[] =& new $this->item->feed->author_class($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null);
+		}
+
+		if (!empty($authors))
+		{
+			return SimplePie_Misc::array_unique($authors);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_contributor($key = 0)
+	{
+		$contributors = $this->get_contributors();
+		if (isset($contributors[$key]))
+		{
+			return $contributors[$key];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_contributors()
+	{
+		$contributors = array();
+		foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'contributor') as $contributor)
+		{
+			$name = null;
+			$uri = null;
+			$email = null;
+			if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data']))
+			{
+				$name = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data']))
+			{
+				$uri = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]));
+			}
+			if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data']))
+			{
+				$email = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if ($name !== null || $email !== null || $uri !== null)
+			{
+				$contributors[] =& new $this->item->feed->author_class($name, $uri, $email);
+			}
+		}
+		foreach ((array) $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'contributor') as $contributor)
+		{
+			$name = null;
+			$url = null;
+			$email = null;
+			if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data']))
+			{
+				$name = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data']))
+			{
+				$url = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]));
+			}
+			if (isset($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data']))
+			{
+				$email = $this->sanitize($contributor['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+			}
+			if ($name !== null || $email !== null || $url !== null)
+			{
+				$contributors[] =& new $this->item->feed->author_class($name, $url, $email);
+			}
+		}
+
+		if (!empty($contributors))
+		{
+			return SimplePie_Misc::array_unique($contributors);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_link($key = 0, $rel = 'alternate')
+	{
+		$links = $this->get_links($rel);
+		if (isset($links[$key]))
+		{
+			return $links[$key];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	/**
+	 * Added for parity between the parent-level and the item/entry-level.
+	 */
+	function get_permalink()
+	{
+		return $this->get_link(0);
+	}
+
+	function get_links($rel = 'alternate')
+	{
+		if (!isset($this->data['links']))
+		{
+			$this->data['links'] = array();
+			if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'link'))
+			{
+				foreach ($links as $link)
+				{
+					if (isset($link['attribs']['']['href']))
+					{
+						$link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate';
+						$this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
+					}
+				}
+			}
+			if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'link'))
+			{
+				foreach ($links as $link)
+				{
+					if (isset($link['attribs']['']['href']))
+					{
+						$link_rel = (isset($link['attribs']['']['rel'])) ? $link['attribs']['']['rel'] : 'alternate';
+						$this->data['links'][$link_rel][] = $this->sanitize($link['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($link));
+
+					}
+				}
+			}
+			if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'link'))
+			{
+				$this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
+			}
+			if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'link'))
+			{
+				$this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
+			}
+			if ($links = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'link'))
+			{
+				$this->data['links']['alternate'][] = $this->sanitize($links[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($links[0]));
+			}
+
+			$keys = array_keys($this->data['links']);
+			foreach ($keys as $key)
+			{
+				if (SimplePie_Misc::is_isegment_nz_nc($key))
+				{
+					if (isset($this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]))
+					{
+						$this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] = array_merge($this->data['links'][$key], $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key]);
+						$this->data['links'][$key] =& $this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key];
+					}
+					else
+					{
+						$this->data['links'][SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY . $key] =& $this->data['links'][$key];
+					}
+				}
+				elseif (substr($key, 0, 41) === SIMPLEPIE_IANA_LINK_RELATIONS_REGISTRY)
+				{
+					$this->data['links'][substr($key, 41)] =& $this->data['links'][$key];
+				}
+				$this->data['links'][$key] = array_unique($this->data['links'][$key]);
+			}
+		}
+
+		if (isset($this->data['links'][$rel]))
+		{
+			return $this->data['links'][$rel];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_description()
+	{
+		if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'subtitle'))
+		{
+			return $this->sanitize($return[0]['data'], SimplePie_Misc::atom_10_construct_type($return[0]['attribs']), $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'tagline'))
+		{
+			return $this->sanitize($return[0]['data'], SimplePie_Misc::atom_03_construct_type($return[0]['attribs']), $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_10, 'description'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_090, 'description'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'description'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_MAYBE_HTML, $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'description'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'description'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'summary'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'subtitle'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_HTML, $this->get_base($return[0]));
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_copyright()
+	{
+		if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'rights'))
+		{
+			return $this->sanitize($return[0]['data'], SimplePie_Misc::atom_10_construct_type($return[0]['attribs']), $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'copyright'))
+		{
+			return $this->sanitize($return[0]['data'], SimplePie_Misc::atom_03_construct_type($return[0]['attribs']), $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'copyright'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'rights'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'rights'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_language()
+	{
+		if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'language'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_11, 'language'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_DC_10, 'language'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		elseif (isset($this->data['xml_lang']))
+		{
+			return $this->sanitize($this->data['xml_lang'], SIMPLEPIE_CONSTRUCT_TEXT);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_latitude()
+	{
+		if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'lat'))
+		{
+			return (float) $return[0]['data'];
+		}
+		elseif (($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
+		{
+			return (float) $match[1];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_longitude()
+	{
+		if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'long'))
+		{
+			return (float) $return[0]['data'];
+		}
+		elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_W3C_BASIC_GEO, 'lon'))
+		{
+			return (float) $return[0]['data'];
+		}
+		elseif (($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_GEORSS, 'point')) && preg_match('/^((?:-)?[0-9]+(?:\.[0-9]+)) ((?:-)?[0-9]+(?:\.[0-9]+))$/', trim($return[0]['data']), $match))
+		{
+			return (float) $match[2];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_image_url()
+	{
+		if ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'image'))
+		{
+			return $this->sanitize($return[0]['attribs']['']['href'], SIMPLEPIE_CONSTRUCT_IRI);
+		}
+		elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'logo'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
+		}
+		elseif ($return = $this->get_source_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'icon'))
+		{
+			return $this->sanitize($return[0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($return[0]));
+		}
+		else
+		{
+			return null;
+		}
+	}
+}
+
+class SimplePie_Author
+{
+	var $name;
+	var $link;
+	var $email;
+
+	// Constructor, used to input the data
+	function SimplePie_Author($name = null, $link = null, $email = null)
+	{
+		$this->name = $name;
+		$this->link = $link;
+		$this->email = $email;
+	}
+
+	function __toString()
+	{
+		// There is no $this->data here
+		return md5(serialize($this));
+	}
+
+	function get_name()
+	{
+		if ($this->name !== null)
+		{
+			return $this->name;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_link()
+	{
+		if ($this->link !== null)
+		{
+			return $this->link;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_email()
+	{
+		if ($this->email !== null)
+		{
+			return $this->email;
+		}
+		else
+		{
+			return null;
+		}
+	}
+}
+
+class SimplePie_Category
+{
+	var $term;
+	var $scheme;
+	var $label;
+
+	// Constructor, used to input the data
+	function SimplePie_Category($term = null, $scheme = null, $label = null)
+	{
+		$this->term = $term;
+		$this->scheme = $scheme;
+		$this->label = $label;
+	}
+
+	function __toString()
+	{
+		// There is no $this->data here
+		return md5(serialize($this));
+	}
+
+	function get_term()
+	{
+		if ($this->term !== null)
+		{
+			return $this->term;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_scheme()
+	{
+		if ($this->scheme !== null)
+		{
+			return $this->scheme;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_label()
+	{
+		if ($this->label !== null)
+		{
+			return $this->label;
+		}
+		else
+		{
+			return $this->get_term();
+		}
+	}
+}
+
+class SimplePie_Enclosure
+{
+	var $bitrate;
+	var $captions;
+	var $categories;
+	var $channels;
+	var $copyright;
+	var $credits;
+	var $description;
+	var $duration;
+	var $expression;
+	var $framerate;
+	var $handler;
+	var $hashes;
+	var $height;
+	var $javascript;
+	var $keywords;
+	var $lang;
+	var $length;
+	var $link;
+	var $medium;
+	var $player;
+	var $ratings;
+	var $restrictions;
+	var $samplingrate;
+	var $thumbnails;
+	var $title;
+	var $type;
+	var $width;
+
+	// Constructor, used to input the data
+	function SimplePie_Enclosure($link = null, $type = null, $length = null, $javascript = null, $bitrate = null, $captions = null, $categories = null, $channels = null, $copyright = null, $credits = null, $description = null, $duration = null, $expression = null, $framerate = null, $hashes = null, $height = null, $keywords = null, $lang = null, $medium = null, $player = null, $ratings = null, $restrictions = null, $samplingrate = null, $thumbnails = null, $title = null, $width = null)
+	{
+		$this->bitrate = $bitrate;
+		$this->captions = $captions;
+		$this->categories = $categories;
+		$this->channels = $channels;
+		$this->copyright = $copyright;
+		$this->credits = $credits;
+		$this->description = $description;
+		$this->duration = $duration;
+		$this->expression = $expression;
+		$this->framerate = $framerate;
+		$this->hashes = $hashes;
+		$this->height = $height;
+		$this->javascript = $javascript;
+		$this->keywords = $keywords;
+		$this->lang = $lang;
+		$this->length = $length;
+		$this->link = $link;
+		$this->medium = $medium;
+		$this->player = $player;
+		$this->ratings = $ratings;
+		$this->restrictions = $restrictions;
+		$this->samplingrate = $samplingrate;
+		$this->thumbnails = $thumbnails;
+		$this->title = $title;
+		$this->type = $type;
+		$this->width = $width;
+		if (class_exists('idna_convert'))
+		{
+			$idn =& new idna_convert;
+			$parsed = SimplePie_Misc::parse_url($link);
+			$this->link = SimplePie_Misc::compress_parse_url($parsed['scheme'], $idn->encode($parsed['authority']), $parsed['path'], $parsed['query'], $parsed['fragment']);
+		}
+		$this->handler = $this->get_handler(); // Needs to load last
+	}
+
+	function __toString()
+	{
+		// There is no $this->data here
+		return md5(serialize($this));
+	}
+
+	function get_bitrate()
+	{
+		if ($this->bitrate !== null)
+		{
+			return $this->bitrate;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_caption($key = 0)
+	{
+		$captions = $this->get_captions();
+		if (isset($captions[$key]))
+		{
+			return $captions[$key];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_captions()
+	{
+		if ($this->captions !== null)
+		{
+			return $this->captions;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_category($key = 0)
+	{
+		$categories = $this->get_categories();
+		if (isset($categories[$key]))
+		{
+			return $categories[$key];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_categories()
+	{
+		if ($this->categories !== null)
+		{
+			return $this->categories;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_channels()
+	{
+		if ($this->channels !== null)
+		{
+			return $this->channels;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_copyright()
+	{
+		if ($this->copyright !== null)
+		{
+			return $this->copyright;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_credit($key = 0)
+	{
+		$credits = $this->get_credits();
+		if (isset($credits[$key]))
+		{
+			return $credits[$key];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_credits()
+	{
+		if ($this->credits !== null)
+		{
+			return $this->credits;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_description()
+	{
+		if ($this->description !== null)
+		{
+			return $this->description;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_duration($convert = false)
+	{
+		if ($this->duration !== null)
+		{
+			if ($convert)
+			{
+				$time = SimplePie_Misc::time_hms($this->duration);
+				return $time;
+			}
+			else
+			{
+				return $this->duration;
+			}
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_expression()
+	{
+		if ($this->expression !== null)
+		{
+			return $this->expression;
+		}
+		else
+		{
+			return 'full';
+		}
+	}
+
+	function get_extension()
+	{
+		if ($this->link !== null)
+		{
+			$url = SimplePie_Misc::parse_url($this->link);
+			if ($url['path'] !== '')
+			{
+				return pathinfo($url['path'], PATHINFO_EXTENSION);
+			}
+		}
+		return null;
+	}
+
+	function get_framerate()
+	{
+		if ($this->framerate !== null)
+		{
+			return $this->framerate;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_handler()
+	{
+		return $this->get_real_type(true);
+	}
+
+	function get_hash($key = 0)
+	{
+		$hashes = $this->get_hashes();
+		if (isset($hashes[$key]))
+		{
+			return $hashes[$key];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_hashes()
+	{
+		if ($this->hashes !== null)
+		{
+			return $this->hashes;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_height()
+	{
+		if ($this->height !== null)
+		{
+			return $this->height;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_language()
+	{
+		if ($this->lang !== null)
+		{
+			return $this->lang;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_keyword($key = 0)
+	{
+		$keywords = $this->get_keywords();
+		if (isset($keywords[$key]))
+		{
+			return $keywords[$key];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_keywords()
+	{
+		if ($this->keywords !== null)
+		{
+			return $this->keywords;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_length()
+	{
+		if ($this->length !== null)
+		{
+			return $this->length;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_link()
+	{
+		if ($this->link !== null)
+		{
+			return urldecode($this->link);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_medium()
+	{
+		if ($this->medium !== null)
+		{
+			return $this->medium;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_player()
+	{
+		if ($this->player !== null)
+		{
+			return $this->player;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_rating($key = 0)
+	{
+		$ratings = $this->get_ratings();
+		if (isset($ratings[$key]))
+		{
+			return $ratings[$key];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_ratings()
+	{
+		if ($this->ratings !== null)
+		{
+			return $this->ratings;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_restriction($key = 0)
+	{
+		$restrictions = $this->get_restrictions();
+		if (isset($restrictions[$key]))
+		{
+			return $restrictions[$key];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_restrictions()
+	{
+		if ($this->restrictions !== null)
+		{
+			return $this->restrictions;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_sampling_rate()
+	{
+		if ($this->samplingrate !== null)
+		{
+			return $this->samplingrate;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_size()
+	{
+		$length = $this->get_length();
+		if ($length !== null)
+		{
+			return round($length/1048576, 2);
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_thumbnail($key = 0)
+	{
+		$thumbnails = $this->get_thumbnails();
+		if (isset($thumbnails[$key]))
+		{
+			return $thumbnails[$key];
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_thumbnails()
+	{
+		if ($this->thumbnails !== null)
+		{
+			return $this->thumbnails;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_title()
+	{
+		if ($this->title !== null)
+		{
+			return $this->title;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_type()
+	{
+		if ($this->type !== null)
+		{
+			return $this->type;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_width()
+	{
+		if ($this->width !== null)
+		{
+			return $this->width;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function native_embed($options='')
+	{
+		return $this->embed($options, true);
+	}
+
+	/**
+	 * @todo If the dimensions for media:content are defined, use them when width/height are set to 'auto'.
+	 */
+	function embed($options = '', $native = false)
+	{
+		// Set up defaults
+		$audio = '';
+		$video = '';
+		$alt = '';
+		$altclass = '';
+		$loop = 'false';
+		$width = 'auto';
+		$height = 'auto';
+		$bgcolor = '#ffffff';
+		$mediaplayer = '';
+		$widescreen = false;
+		$handler = $this->get_handler();
+		$type = $this->get_real_type();
+
+		// Process options and reassign values as necessary
+		if (is_array($options))
+		{
+			extract($options);
+		}
+		else
+		{
+			$options = explode(',', $options);
+			foreach($options as $option)
+			{
+				$opt = explode(':', $option, 2);
+				if (isset($opt[0], $opt[1]))
+				{
+					$opt[0] = trim($opt[0]);
+					$opt[1] = trim($opt[1]);
+					switch ($opt[0])
+					{
+						case 'audio':
+							$audio = $opt[1];
+							break;
+
+						case 'video':
+							$video = $opt[1];
+							break;
+
+						case 'alt':
+							$alt = $opt[1];
+							break;
+
+						case 'altclass':
+							$altclass = $opt[1];
+							break;
+
+						case 'loop':
+							$loop = $opt[1];
+							break;
+
+						case 'width':
+							$width = $opt[1];
+							break;
+
+						case 'height':
+							$height = $opt[1];
+							break;
+
+						case 'bgcolor':
+							$bgcolor = $opt[1];
+							break;
+
+						case 'mediaplayer':
+							$mediaplayer = $opt[1];
+							break;
+
+						case 'widescreen':
+							$widescreen = $opt[1];
+							break;
+					}
+				}
+			}
+		}
+
+		$mime = explode('/', $type, 2);
+		$mime = $mime[0];
+
+		// Process values for 'auto'
+		if ($width === 'auto')
+		{
+			if ($mime === 'video')
+			{
+				if ($height === 'auto')
+				{
+					$width = 480;
+				}
+				elseif ($widescreen)
+				{
+					$width = round((intval($height)/9)*16);
+				}
+				else
+				{
+					$width = round((intval($height)/3)*4);
+				}
+			}
+			else
+			{
+				$width = '100%';
+			}
+		}
+
+		if ($height === 'auto')
+		{
+			if ($mime === 'audio')
+			{
+				$height = 0;
+			}
+			elseif ($mime === 'video')
+			{
+				if ($width === 'auto')
+				{
+					if ($widescreen)
+					{
+						$height = 270;
+					}
+					else
+					{
+						$height = 360;
+					}
+				}
+				elseif ($widescreen)
+				{
+					$height = round((intval($width)/16)*9);
+				}
+				else
+				{
+					$height = round((intval($width)/4)*3);
+				}
+			}
+			else
+			{
+				$height = 376;
+			}
+		}
+		elseif ($mime === 'audio')
+		{
+			$height = 0;
+		}
+
+		// Set proper placeholder value
+		if ($mime === 'audio')
+		{
+			$placeholder = $audio;
+		}
+		elseif ($mime === 'video')
+		{
+			$placeholder = $video;
+		}
+
+		$embed = '';
+
+		// Make sure the JS library is included
+		if (!$native)
+		{
+			static $javascript_outputted = null;
+			if (!$javascript_outputted && $this->javascript)
+			{
+				$embed .= '<script type="text/javascript" src="?' . htmlspecialchars($this->javascript) . '"></script>';
+				$javascript_outputted = true;
+			}
+		}
+
+		// Odeo Feed MP3's
+		if ($handler === 'odeo')
+		{
+			if ($native)
+			{
+				$embed .= '<embed src="http://odeo.com/flash/audio_player_fullsize.swf" pluginspage="http://adobe.com/go/getflashplayer" type="application/x-shockwave-flash" quality="high" width="440" height="80" wmode="transparent" allowScriptAccess="any" flashvars="valid_sample_rate=true&external_url=' . $this->get_link() . '"></embed>';
+			}
+			else
+			{
+				$embed .= '<script type="text/javascript">embed_odeo("' . $this->get_link() . '");</script>';
+			}
+		}
+
+		// Flash
+		elseif ($handler === 'flash')
+		{
+			if ($native)
+			{
+				$embed .= "<embed src=\"" . $this->get_link() . "\" pluginspage=\"http://adobe.com/go/getflashplayer\" type=\"$type\" quality=\"high\" width=\"$width\" height=\"$height\" bgcolor=\"$bgcolor\" loop=\"$loop\"></embed>";
+			}
+			else
+			{
+				$embed .= "<script type='text/javascript'>embed_flash('$bgcolor', '$width', '$height', '" . $this->get_link() . "', '$loop', '$type');</script>";
+			}
+		}
+
+		// Flash Media Player file types.
+		// Preferred handler for MP3 file types.
+		elseif ($handler === 'fmedia' || ($handler === 'mp3' && $mediaplayer !== ''))
+		{
+			$height += 20;
+			if ($native)
+			{
+				$embed .= "<embed src=\"$mediaplayer\" pluginspage=\"http://adobe.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" quality=\"high\" width=\"$width\" height=\"$height\" wmode=\"transparent\" flashvars=\"file=" . rawurlencode($this->get_link().'?file_extension=.'.$this->get_extension()) . "&autostart=false&repeat=$loop&showdigits=true&showfsbutton=false\"></embed>";
+			}
+			else
+			{
+				$embed .= "<script type='text/javascript'>embed_flv('$width', '$height', '" . rawurlencode($this->get_link().'?file_extension=.'.$this->get_extension()) . "', '$placeholder', '$loop', '$mediaplayer');</script>";
+			}
+		}
+
+		// QuickTime 7 file types.  Need to test with QuickTime 6.
+		// Only handle MP3's if the Flash Media Player is not present.
+		elseif ($handler === 'quicktime' || ($handler === 'mp3' && $mediaplayer === ''))
+		{
+			$height += 16;
+			if ($native)
+			{
+				if ($placeholder !== '')
+				{
+					$embed .= "<embed type=\"$type\" style=\"cursor:hand; cursor:pointer;\" href=\"" . $this->get_link() . "\" src=\"$placeholder\" width=\"$width\" height=\"$height\" autoplay=\"false\" target=\"myself\" controller=\"false\" loop=\"$loop\" scale=\"aspect\" bgcolor=\"$bgcolor\" pluginspage=\"http://apple.com/quicktime/download/\"></embed>";
+				}
+				else
+				{
+					$embed .= "<embed type=\"$type\" style=\"cursor:hand; cursor:pointer;\" src=\"" . $this->get_link() . "\" width=\"$width\" height=\"$height\" autoplay=\"false\" target=\"myself\" controller=\"true\" loop=\"$loop\" scale=\"aspect\" bgcolor=\"$bgcolor\" pluginspage=\"http://apple.com/quicktime/download/\"></embed>";
+				}
+			}
+			else
+			{
+				$embed .= "<script type='text/javascript'>embed_quicktime('$type', '$bgcolor', '$width', '$height', '" . $this->get_link() . "', '$placeholder', '$loop');</script>";
+			}
+		}
+
+		// Windows Media
+		elseif ($handler === 'wmedia')
+		{
+			$height += 45;
+			if ($native)
+			{
+				$embed .= "<embed type=\"application/x-mplayer2\" src=\"" . $this->get_link() . "\" autosize=\"1\" width=\"$width\" height=\"$height\" showcontrols=\"1\" showstatusbar=\"0\" showdisplay=\"0\" autostart=\"0\"></embed>";
+			}
+			else
+			{
+				$embed .= "<script type='text/javascript'>embed_wmedia('$width', '$height', '" . $this->get_link() . "');</script>";
+			}
+		}
+
+		// Everything else
+		else $embed .= '<a href="' . $this->get_link() . '" class="' . $altclass . '">' . $alt . '</a>';
+
+		return $embed;
+	}
+
+	function get_real_type($find_handler = false)
+	{
+		// If it's Odeo, let's get it out of the way.
+		if (substr(strtolower($this->get_link()), 0, 15) === 'http://odeo.com')
+		{
+			return 'odeo';
+		}
+
+		// Mime-types by handler.
+		$types_flash = array('application/x-shockwave-flash', 'application/futuresplash'); // Flash
+		$types_fmedia = array('video/flv', 'video/x-flv','flv-application/octet-stream'); // Flash Media Player
+		$types_quicktime = array('audio/3gpp', 'audio/3gpp2', 'audio/aac', 'audio/x-aac', 'audio/aiff', 'audio/x-aiff', 'audio/mid', 'audio/midi', 'audio/x-midi', 'audio/mp4', 'audio/m4a', 'audio/x-m4a', 'audio/wav', 'audio/x-wav', 'video/3gpp', 'video/3gpp2', 'video/m4v', 'video/x-m4v', 'video/mp4', 'video/mpeg', 'video/x-mpeg', 'video/quicktime', 'video/sd-video'); // QuickTime
+		$types_wmedia = array('application/asx', 'application/x-mplayer2', 'audio/x-ms-wma', 'audio/x-ms-wax', 'video/x-ms-asf-plugin', 'video/x-ms-asf', 'video/x-ms-wm', 'video/x-ms-wmv', 'video/x-ms-wvx'); // Windows Media
+		$types_mp3 = array('audio/mp3', 'audio/x-mp3', 'audio/mpeg', 'audio/x-mpeg'); // MP3
+
+		if ($this->get_type() !== null)
+		{
+			$type = strtolower($this->type);
+		}
+		else
+		{
+			$type = null;
+		}
+
+		// If we encounter an unsupported mime-type, check the file extension and guess intelligently.
+		if (!in_array($type, array_merge($types_flash, $types_fmedia, $types_quicktime, $types_wmedia, $types_mp3)))
+		{
+			switch (strtolower($this->get_extension()))
+			{
+				// Audio mime-types
+				case 'aac':
+				case 'adts':
+					$type = 'audio/acc';
+					break;
+
+				case 'aif':
+				case 'aifc':
+				case 'aiff':
+				case 'cdda':
+					$type = 'audio/aiff';
+					break;
+
+				case 'bwf':
+					$type = 'audio/wav';
+					break;
+
+				case 'kar':
+				case 'mid':
+				case 'midi':
+				case 'smf':
+					$type = 'audio/midi';
+					break;
+
+				case 'm4a':
+					$type = 'audio/x-m4a';
+					break;
+
+				case 'mp3':
+				case 'swa':
+					$type = 'audio/mp3';
+					break;
+
+				case 'wav':
+					$type = 'audio/wav';
+					break;
+
+				case 'wax':
+					$type = 'audio/x-ms-wax';
+					break;
+
+				case 'wma':
+					$type = 'audio/x-ms-wma';
+					break;
+
+				// Video mime-types
+				case '3gp':
+				case '3gpp':
+					$type = 'video/3gpp';
+					break;
+
+				case '3g2':
+				case '3gp2':
+					$type = 'video/3gpp2';
+					break;
+
+				case 'asf':
+					$type = 'video/x-ms-asf';
+					break;
+
+				case 'flv':
+					$type = 'video/x-flv';
+					break;
+
+				case 'm1a':
+				case 'm1s':
+				case 'm1v':
+				case 'm15':
+				case 'm75':
+				case 'mp2':
+				case 'mpa':
+				case 'mpeg':
+				case 'mpg':
+				case 'mpm':
+				case 'mpv':
+					$type = 'video/mpeg';
+					break;
+
+				case 'm4v':
+					$type = 'video/x-m4v';
+					break;
+
+				case 'mov':
+				case 'qt':
+					$type = 'video/quicktime';
+					break;
+
+				case 'mp4':
+				case 'mpg4':
+					$type = 'video/mp4';
+					break;
+
+				case 'sdv':
+					$type = 'video/sd-video';
+					break;
+
+				case 'wm':
+					$type = 'video/x-ms-wm';
+					break;
+
+				case 'wmv':
+					$type = 'video/x-ms-wmv';
+					break;
+
+				case 'wvx':
+					$type = 'video/x-ms-wvx';
+					break;
+
+				// Flash mime-types
+				case 'spl':
+					$type = 'application/futuresplash';
+					break;
+
+				case 'swf':
+					$type = 'application/x-shockwave-flash';
+					break;
+			}
+		}
+
+		if ($find_handler)
+		{
+			if (in_array($type, $types_flash))
+			{
+				return 'flash';
+			}
+			elseif (in_array($type, $types_fmedia))
+			{
+				return 'fmedia';
+			}
+			elseif (in_array($type, $types_quicktime))
+			{
+				return 'quicktime';
+			}
+			elseif (in_array($type, $types_wmedia))
+			{
+				return 'wmedia';
+			}
+			elseif (in_array($type, $types_mp3))
+			{
+				return 'mp3';
+			}
+			else
+			{
+				return null;
+			}
+		}
+		else
+		{
+			return $type;
+		}
+	}
+}
+
+class SimplePie_Caption
+{
+	var $type;
+	var $lang;
+	var $startTime;
+	var $endTime;
+	var $text;
+
+	// Constructor, used to input the data
+	function SimplePie_Caption($type = null, $lang = null, $startTime = null, $endTime = null, $text = null)
+	{
+		$this->type = $type;
+		$this->lang = $lang;
+		$this->startTime = $startTime;
+		$this->endTime = $endTime;
+		$this->text = $text;
+	}
+
+	function __toString()
+	{
+		// There is no $this->data here
+		return md5(serialize($this));
+	}
+
+	function get_endtime()
+	{
+		if ($this->endTime !== null)
+		{
+			return $this->endTime;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_language()
+	{
+		if ($this->lang !== null)
+		{
+			return $this->lang;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_starttime()
+	{
+		if ($this->startTime !== null)
+		{
+			return $this->startTime;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_text()
+	{
+		if ($this->text !== null)
+		{
+			return $this->text;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_type()
+	{
+		if ($this->type !== null)
+		{
+			return $this->type;
+		}
+		else
+		{
+			return null;
+		}
+	}
+}
+
+class SimplePie_Credit
+{
+	var $role;
+	var $scheme;
+	var $name;
+
+	// Constructor, used to input the data
+	function SimplePie_Credit($role = null, $scheme = null, $name = null)
+	{
+		$this->role = $role;
+		$this->scheme = $scheme;
+		$this->name = $name;
+	}
+
+	function __toString()
+	{
+		// There is no $this->data here
+		return md5(serialize($this));
+	}
+
+	function get_role()
+	{
+		if ($this->role !== null)
+		{
+			return $this->role;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_scheme()
+	{
+		if ($this->scheme !== null)
+		{
+			return $this->scheme;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_name()
+	{
+		if ($this->name !== null)
+		{
+			return $this->name;
+		}
+		else
+		{
+			return null;
+		}
+	}
+}
+
+class SimplePie_Copyright
+{
+	var $url;
+	var $label;
+
+	// Constructor, used to input the data
+	function SimplePie_Copyright($url = null, $label = null)
+	{
+		$this->url = $url;
+		$this->label = $label;
+	}
+
+	function __toString()
+	{
+		// There is no $this->data here
+		return md5(serialize($this));
+	}
+
+	function get_url()
+	{
+		if ($this->url !== null)
+		{
+			return $this->url;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_attribution()
+	{
+		if ($this->label !== null)
+		{
+			return $this->label;
+		}
+		else
+		{
+			return null;
+		}
+	}
+}
+
+class SimplePie_Rating
+{
+	var $scheme;
+	var $value;
+
+	// Constructor, used to input the data
+	function SimplePie_Rating($scheme = null, $value = null)
+	{
+		$this->scheme = $scheme;
+		$this->value = $value;
+	}
+
+	function __toString()
+	{
+		// There is no $this->data here
+		return md5(serialize($this));
+	}
+
+	function get_scheme()
+	{
+		if ($this->scheme !== null)
+		{
+			return $this->scheme;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_value()
+	{
+		if ($this->value !== null)
+		{
+			return $this->value;
+		}
+		else
+		{
+			return null;
+		}
+	}
+}
+
+class SimplePie_Restriction
+{
+	var $relationship;
+	var $type;
+	var $value;
+
+	// Constructor, used to input the data
+	function SimplePie_Restriction($relationship = null, $type = null, $value = null)
+	{
+		$this->relationship = $relationship;
+		$this->type = $type;
+		$this->value = $value;
+	}
+
+	function __toString()
+	{
+		// There is no $this->data here
+		return md5(serialize($this));
+	}
+
+	function get_relationship()
+	{
+		if ($this->relationship !== null)
+		{
+			return $this->relationship;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_type()
+	{
+		if ($this->type !== null)
+		{
+			return $this->type;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	function get_value()
+	{
+		if ($this->value !== null)
+		{
+			return $this->value;
+		}
+		else
+		{
+			return null;
+		}
+	}
+}
+
+/**
+ * @todo Move to properly supporting RFC2616 (HTTP/1.1)
+ */
+class SimplePie_File
+{
+	var $url;
+	var $useragent;
+	var $success = true;
+	var $headers = array();
+	var $body;
+	var $status_code;
+	var $redirects = 0;
+	var $error;
+	var $method = SIMPLEPIE_FILE_SOURCE_NONE;
+
+	function SimplePie_File($url, $timeout = 10, $redirects = 5, $headers = null, $useragent = null, $force_fsockopen = false)
+	{
+		if (class_exists('idna_convert'))
+		{
+			$idn =& new idna_convert;
+			$parsed = SimplePie_Misc::parse_url($url);
+			$url = SimplePie_Misc::compress_parse_url($parsed['scheme'], $idn->encode($parsed['authority']), $parsed['path'], $parsed['query'], $parsed['fragment']);
+		}
+		$this->url = $url;
+		$this->useragent = $useragent;
+		if (preg_match('/^http(s)?:\/\//i', $url))
+		{
+			if ($useragent === null)
+			{
+				$useragent = ini_get('user_agent');
+				$this->useragent = $useragent;
+			}
+			if (!is_array($headers))
+			{
+				$headers = array();
+			}
+			if (!$force_fsockopen && function_exists('curl_exec'))
+			{
+				$this->method = SIMPLEPIE_FILE_SOURCE_REMOTE | SIMPLEPIE_FILE_SOURCE_CURL;
+				$fp = curl_init();
+				$headers2 = array();
+				foreach ($headers as $key => $value)
+				{
+					$headers2[] = "$key: $value";
+				}
+				if (version_compare(SimplePie_Misc::get_curl_version(), '7.10.5', '>='))
+				{
+					curl_setopt($fp, CURLOPT_ENCODING, '');
+				}
+				curl_setopt($fp, CURLOPT_URL, $url);
+				curl_setopt($fp, CURLOPT_HEADER, 1);
+				curl_setopt($fp, CURLOPT_RETURNTRANSFER, 1);
+				curl_setopt($fp, CURLOPT_TIMEOUT, $timeout);
+				curl_setopt($fp, CURLOPT_CONNECTTIMEOUT, $timeout);
+				curl_setopt($fp, CURLOPT_REFERER, $url);
+				curl_setopt($fp, CURLOPT_USERAGENT, $useragent);
+				curl_setopt($fp, CURLOPT_HTTPHEADER, $headers2);
+				if (!ini_get('open_basedir') && !ini_get('safe_mode') && version_compare(SimplePie_Misc::get_curl_version(), '7.15.2', '>='))
+				{
+					curl_setopt($fp, CURLOPT_FOLLOWLOCATION, 1);
+					curl_setopt($fp, CURLOPT_MAXREDIRS, $redirects);
+				}
+
+				$this->headers = curl_exec($fp);
+				if (curl_errno($fp) === 23 || curl_errno($fp) === 61)
+				{
+					curl_setopt($fp, CURLOPT_ENCODING, 'none');
+					$this->headers = curl_exec($fp);
+				}
+				if (curl_errno($fp))
+				{
+					$this->error = 'cURL error ' . curl_errno($fp) . ': ' . curl_error($fp);
+					$this->success = false;
+				}
+				else
+				{
+					$info = curl_getinfo($fp);
+					curl_close($fp);
+					$this->headers = explode("\r\n\r\n", $this->headers, $info['redirect_count'] + 1);
+					$this->headers = array_pop($this->headers);
+					$parser =& new SimplePie_HTTP_Parser($this->headers);
+					if ($parser->parse())
+					{
+						$this->headers = $parser->headers;
+						$this->body = $parser->body;
+						$this->status_code = $parser->status_code;
+						if ((in_array($this->status_code, array(300, 301, 302, 303, 307)) || $this->status_code > 307 && $this->status_code < 400) && isset($this->headers['location']) && $this->redirects < $redirects)
+						{
+							$this->redirects++;
+							$location = SimplePie_Misc::absolutize_url($this->headers['location'], $url);
+							return $this->SimplePie_File($location, $timeout, $redirects, $headers, $useragent, $force_fsockopen);
+						}
+					}
+				}
+			}
+			else
+			{
+				$this->method = SIMPLEPIE_FILE_SOURCE_REMOTE | SIMPLEPIE_FILE_SOURCE_FSOCKOPEN;
+				$url_parts = parse_url($url);
+				if (isset($url_parts['scheme']) && strtolower($url_parts['scheme']) === 'https')
+				{
+					$url_parts['host'] = "ssl://$url_parts[host]";
+					$url_parts['port'] = 443;
+				}
+				if (!isset($url_parts['port']))
+				{
+					$url_parts['port'] = 80;
+				}
+				$fp = @fsockopen($url_parts['host'], $url_parts['port'], $errno, $errstr, $timeout);
+				if (!$fp)
+				{
+					$this->error = 'fsockopen error: ' . $errstr;
+					$this->success = false;
+				}
+				else
+				{
+					stream_set_timeout($fp, $timeout);
+					if (isset($url_parts['path']))
+					{
+						if (isset($url_parts['query']))
+						{
+							$get = "$url_parts[path]?$url_parts[query]";
+						}
+						else
+						{
+							$get = $url_parts['path'];
+						}
+					}
+					else
+					{
+						$get = '/';
+					}
+					$out = "GET $get HTTP/1.0\r\n";
+					$out .= "Host: $url_parts[host]\r\n";
+					$out .= "User-Agent: $useragent\r\n";
+					if (extension_loaded('zlib'))
+					{
+						$out .= "Accept-Encoding: x-gzip,gzip,deflate\r\n";
+					}
+
+					if (isset($url_parts['user']) && isset($url_parts['pass']))
+					{
+						$out .= "Authorization: Basic " . base64_encode("$url_parts[user]:$url_parts[pass]") . "\r\n";
+					}
+					foreach ($headers as $key => $value)
+					{
+						$out .= "$key: $value\r\n";
+					}
+					$out .= "Connection: Close\r\n\r\n";
+					fwrite($fp, $out);
+
+					$info = stream_get_meta_data($fp);
+
+					$this->headers = '';
+					while (!$info['eof'] && !$info['timed_out'])
+					{
+						$this->headers .= fread($fp, 1160);
+						$info = stream_get_meta_data($fp);
+					}
+					if (!$info['timed_out'])
+					{
+						$parser =& new SimplePie_HTTP_Parser($this->headers);
+						if ($parser->parse())
+						{
+							$this->headers = $parser->headers;
+							$this->body = $parser->body;
+							$this->status_code = $parser->status_code;
+							if ((in_array($this->status_code, array(300, 301, 302, 303, 307)) || $this->status_code > 307 && $this->status_code < 400) && isset($this->headers['location']) && $this->redirects < $redirects)
+							{
+								$this->redirects++;
+								$location = SimplePie_Misc::absolutize_url($this->headers['location'], $url);
+								return $this->SimplePie_File($location, $timeout, $redirects, $headers, $useragent, $force_fsockopen);
+							}
+							if (isset($this->headers['content-encoding']))
+							{
+								// Hey, we act dumb elsewhere, so let's do that here too
+								switch (strtolower(trim($this->headers['content-encoding'], "\x09\x0A\x0D\x20")))
+								{
+									case 'gzip':
+									case 'x-gzip':
+										$decoder =& new SimplePie_gzdecode($this->body);
+										if (!$decoder->parse())
+										{
+											$this->error = 'Unable to decode HTTP "gzip" stream';
+											$this->success = false;
+										}
+										else
+										{
+											$this->body = $decoder->data;
+										}
+										break;
+
+									case 'deflate':
+										if (($body = gzuncompress($this->body)) === false)
+										{
+											if (($body = gzinflate($this->body)) === false)
+											{
+												$this->error = 'Unable to decode HTTP "deflate" stream';
+												$this->success = false;
+											}
+										}
+										$this->body = $body;
+										break;
+
+									default:
+										$this->error = 'Unknown content coding';
+										$this->success = false;
+								}
+							}
+						}
+					}
+					else
+					{
+						$this->error = 'fsocket timed out';
+						$this->success = false;
+					}
+					fclose($fp);
+				}
+			}
+		}
+		else
+		{
+			$this->method = SIMPLEPIE_FILE_SOURCE_LOCAL | SIMPLEPIE_FILE_SOURCE_FILE_GET_CONTENTS;
+			if (!$this->body = file_get_contents($url))
+			{
+				$this->error = 'file_get_contents could not read the file';
+				$this->success = false;
+			}
+		}
+	}
+}
+
+/**
+ * HTTP Response Parser
+ *
+ * @package SimplePie
+ */
+class SimplePie_HTTP_Parser
+{
+	/**
+	 * HTTP Version
+	 *
+	 * @access public
+	 * @var float
+	 */
+	var $http_version = 0.0;
+
+	/**
+	 * Status code
+	 *
+	 * @access public
+	 * @var int
+	 */
+	var $status_code = 0;
+
+	/**
+	 * Reason phrase
+	 *
+	 * @access public
+	 * @var string
+	 */
+	var $reason = '';
+
+	/**
+	 * Key/value pairs of the headers
+	 *
+	 * @access public
+	 * @var array
+	 */
+	var $headers = array();
+
+	/**
+	 * Body of the response
+	 *
+	 * @access public
+	 * @var string
+	 */
+	var $body = '';
+
+	/**
+	 * Current state of the state machine
+	 *
+	 * @access private
+	 * @var string
+	 */
+	var $state = 'http_version';
+
+	/**
+	 * Input data
+	 *
+	 * @access private
+	 * @var string
+	 */
+	var $data = '';
+
+	/**
+	 * Input data length (to avoid calling strlen() everytime this is needed)
+	 *
+	 * @access private
+	 * @var int
+	 */
+	var $data_length = 0;
+
+	/**
+	 * Current position of the pointer
+	 *
+	 * @var int
+	 * @access private
+	 */
+	var $position = 0;
+
+	/**
+	 * Name of the hedaer currently being parsed
+	 *
+	 * @access private
+	 * @var string
+	 */
+	var $name = '';
+
+	/**
+	 * Value of the hedaer currently being parsed
+	 *
+	 * @access private
+	 * @var string
+	 */
+	var $value = '';
+
+	/**
+	 * Create an instance of the class with the input data
+	 *
+	 * @access public
+	 * @param string $data Input data
+	 */
+	function SimplePie_HTTP_Parser($data)
+	{
+		$this->data = $data;
+		$this->data_length = strlen($this->data);
+	}
+
+	/**
+	 * Parse the input data
+	 *
+	 * @access public
+	 * @return bool true on success, false on failure
+	 */
+	function parse()
+	{
+		while ($this->state && $this->state !== 'emit' && $this->has_data())
+		{
+			$state = $this->state;
+			$this->$state();
+		}
+		$this->data = '';
+		if ($this->state === 'emit' || $this->state === 'body')
+		{
+			return true;
+		}
+		else
+		{
+			$this->http_version = '';
+			$this->status_code = '';
+			$this->reason = '';
+			$this->headers = array();
+			$this->body = '';
+			return false;
+		}
+	}
+
+	/**
+	 * Check whether there is data beyond the pointer
+	 *
+	 * @access private
+	 * @return bool true if there is further data, false if not
+	 */
+	function has_data()
+	{
+		return (bool) ($this->position < $this->data_length);
+	}
+
+	/**
+	 * See if the next character is LWS
+	 *
+	 * @access private
+	 * @return bool true if the next character is LWS, false if not
+	 */
+	function is_linear_whitespace()
+	{
+		return (bool) ($this->data[$this->position] === "\x09"
+			|| $this->data[$this->position] === "\x20"
+			|| ($this->data[$this->position] === "\x0A"
+				&& isset($this->data[$this->position + 1])
+				&& ($this->data[$this->position + 1] === "\x09" || $this->data[$this->position + 1] === "\x20")));
+	}
+
+	/**
+	 * Parse the HTTP version
+	 *
+	 * @access private
+	 */
+	function http_version()
+	{
+		if (strpos($this->data, "\x0A") !== false && strtoupper(substr($this->data, 0, 5)) === 'HTTP/')
+		{
+			$len = strspn($this->data, '0123456789.', 5);
+			$this->http_version = substr($this->data, 5, $len);
+			$this->position += 5 + $len;
+			if (substr_count($this->http_version, '.') <= 1)
+			{
+				$this->http_version = (float) $this->http_version;
+				$this->position += strspn($this->data, "\x09\x20", $this->position);
+				$this->state = 'status';
+			}
+			else
+			{
+				$this->state = false;
+			}
+		}
+		else
+		{
+			$this->state = false;
+		}
+	}
+
+	/**
+	 * Parse the status code
+	 *
+	 * @access private
+	 */
+	function status()
+	{
+		if ($len = strspn($this->data, '0123456789', $this->position))
+		{
+			$this->status_code = (int) substr($this->data, $this->position, $len);
+			$this->position += $len;
+			$this->state = 'reason';
+		}
+		else
+		{
+			$this->state = false;
+		}
+	}
+
+	/**
+	 * Parse the reason phrase
+	 *
+	 * @access private
+	 */
+	function reason()
+	{
+		$len = strcspn($this->data, "\x0A", $this->position);
+		$this->reason = trim(substr($this->data, $this->position, $len), "\x09\x0D\x20");
+		$this->position += $len + 1;
+		$this->state = 'new_line';
+	}
+
+	/**
+	 * Deal with a new line, shifting data around as needed
+	 *
+	 * @access private
+	 */
+	function new_line()
+	{
+		$this->value = trim($this->value, "\x0D\x20");
+		if ($this->name !== '' && $this->value !== '')
+		{
+			$this->name = strtolower($this->name);
+			if (isset($this->headers[$this->name]))
+			{
+				$this->headers[$this->name] .= ', ' . $this->value;
+			}
+			else
+			{
+				$this->headers[$this->name] = $this->value;
+			}
+		}
+		$this->name = '';
+		$this->value = '';
+		if (substr($this->data[$this->position], 0, 2) === "\x0D\x0A")
+		{
+			$this->position += 2;
+			$this->state = 'body';
+		}
+		elseif ($this->data[$this->position] === "\x0A")
+		{
+			$this->position++;
+			$this->state = 'body';
+		}
+		else
+		{
+			$this->state = 'name';
+		}
+	}
+
+	/**
+	 * Parse a header name
+	 *
+	 * @access private
+	 */
+	function name()
+	{
+		$len = strcspn($this->data, "\x0A:", $this->position);
+		if (isset($this->data[$this->position + $len]))
+		{
+			if ($this->data[$this->position + $len] === "\x0A")
+			{
+				$this->position += $len;
+				$this->state = 'new_line';
+			}
+			else
+			{
+				$this->name = substr($this->data, $this->position, $len);
+				$this->position += $len + 1;
+				$this->state = 'value';
+			}
+		}
+		else
+		{
+			$this->state = false;
+		}
+	}
+
+	/**
+	 * Parse LWS, replacing consecutive LWS characters with a single space
+	 *
+	 * @access private
+	 */
+	function linear_whitespace()
+	{
+		do
+		{
+			if (substr($this->data, $this->position, 2) === "\x0D\x0A")
+			{
+				$this->position += 2;
+			}
+			elseif ($this->data[$this->position] === "\x0A")
+			{
+				$this->position++;
+			}
+			$this->position += strspn($this->data, "\x09\x20", $this->position);
+		} while ($this->has_data() && $this->is_linear_whitespace());
+		$this->value .= "\x20";
+	}
+
+	/**
+	 * See what state to move to while within non-quoted header values
+	 *
+	 * @access private
+	 */
+	function value()
+	{
+		if ($this->is_linear_whitespace())
+		{
+			$this->linear_whitespace();
+		}
+		else
+		{
+			switch ($this->data[$this->position])
+			{
+				case '"':
+					$this->position++;
+					$this->state = 'quote';
+					break;
+
+				case "\x0A":
+					$this->position++;
+					$this->state = 'new_line';
+					break;
+
+				default:
+					$this->state = 'value_char';
+					break;
+			}
+		}
+	}
+
+	/**
+	 * Parse a header value while outside quotes
+	 *
+	 * @access private
+	 */
+	function value_char()
+	{
+		$len = strcspn($this->data, "\x09\x20\x0A\"", $this->position);
+		$this->value .= substr($this->data, $this->position, $len);
+		$this->position += $len;
+		$this->state = 'value';
+	}
+
+	/**
+	 * See what state to move to while within quoted header values
+	 *
+	 * @access private
+	 */
+	function quote()
+	{
+		if ($this->is_linear_whitespace())
+		{
+			$this->linear_whitespace();
+		}
+		else
+		{
+			switch ($this->data[$this->position])
+			{
+				case '"':
+					$this->position++;
+					$this->state = 'value';
+					break;
+
+				case "\x0A":
+					$this->position++;
+					$this->state = 'new_line';
+					break;
+
+				case '\\':
+					$this->position++;
+					$this->state = 'quote_escaped';
+					break;
+
+				default:
+					$this->state = 'quote_char';
+					break;
+			}
+		}
+	}
+
+	/**
+	 * Parse a header value while within quotes
+	 *
+	 * @access private
+	 */
+	function quote_char()
+	{
+		$len = strcspn($this->data, "\x09\x20\x0A\"\\", $this->position);
+		$this->value .= substr($this->data, $this->position, $len);
+		$this->position += $len;
+		$this->state = 'value';
+	}
+
+	/**
+	 * Parse an escaped character within quotes
+	 *
+	 * @access private
+	 */
+	function quote_escaped()
+	{
+		$this->value .= $this->data[$this->position];
+		$this->position++;
+		$this->state = 'quote';
+	}
+
+	/**
+	 * Parse the body
+	 *
+	 * @access private
+	 */
+	function body()
+	{
+		$this->body = substr($this->data, $this->position);
+		$this->state = 'emit';
+	}
+}
+
+/**
+ * gzdecode
+ *
+ * @package SimplePie
+ */
+class SimplePie_gzdecode
+{
+	/**
+	 * Compressed data
+	 *
+	 * @access private
+	 * @see gzdecode::$data
+	 */
+	var $compressed_data;
+
+	/**
+	 * Size of compressed data
+	 *
+	 * @access private
+	 */
+	var $compressed_size;
+
+	/**
+	 * Minimum size of a valid gzip string
+	 *
+	 * @access private
+	 */
+	var $min_compressed_size = 18;
+
+	/**
+	 * Current position of pointer
+	 *
+	 * @access private
+	 */
+	var $position = 0;
+
+	/**
+	 * Flags (FLG)
+	 *
+	 * @access private
+	 */
+	var $flags;
+
+	/**
+	 * Uncompressed data
+	 *
+	 * @access public
+	 * @see gzdecode::$compressed_data
+	 */
+	var $data;
+
+	/**
+	 * Modified time
+	 *
+	 * @access public
+	 */
+	var $MTIME;
+
+	/**
+	 * Extra Flags
+	 *
+	 * @access public
+	 */
+	var $XFL;
+
+	/**
+	 * Operating System
+	 *
+	 * @access public
+	 */
+	var $OS;
+
+	/**
+	 * Subfield ID 1
+	 *
+	 * @access public
+	 * @see gzdecode::$extra_field
+	 * @see gzdecode::$SI2
+	 */
+	var $SI1;
+
+	/**
+	 * Subfield ID 2
+	 *
+	 * @access public
+	 * @see gzdecode::$extra_field
+	 * @see gzdecode::$SI1
+	 */
+	var $SI2;
+
+	/**
+	 * Extra field content
+	 *
+	 * @access public
+	 * @see gzdecode::$SI1
+	 * @see gzdecode::$SI2
+	 */
+	var $extra_field;
+
+	/**
+	 * Original filename
+	 *
+	 * @access public
+	 */
+	var $filename;
+
+	/**
+	 * Human readable comment
+	 *
+	 * @access public
+	 */
+	var $comment;
+
+	/**
+	 * Don't allow anything to be set
+	 *
+	 * @access public
+	 */
+	function __set($name, $value)
+	{
+		trigger_error("Cannot write property $name", E_USER_ERROR);
+	}
+
+	/**
+	 * Set the compressed string and related properties
+	 *
+	 * @access public
+	 */
+	function SimplePie_gzdecode($data)
+	{
+		$this->compressed_data = $data;
+		$this->compressed_size = strlen($data);
+	}
+
+	/**
+	 * Decode the GZIP stream
+	 *
+	 * @access public
+	 */
+	function parse()
+	{
+		if ($this->compressed_size >= $this->min_compressed_size)
+		{
+			// Check ID1, ID2, and CM
+			if (substr($this->compressed_data, 0, 3) !== "\x1F\x8B\x08")
+			{
+				return false;
+			}
+
+			// Get the FLG (FLaGs)
+			$this->flags = ord($this->compressed_data[3]);
+
+			// FLG bits above (1 << 4) are reserved
+			if ($this->flags > 0x1F)
+			{
+				return false;
+			}
+
+			// Advance the pointer after the above
+			$this->position += 4;
+
+			// MTIME
+			$mtime = substr($this->compressed_data, $this->position, 4);
+			// Reverse the string if we're on a big-endian arch because l is the only signed long and is machine endianness
+			if (current(unpack('S', "\x00\x01")) === 1)
+			{
+				$mtime = strrev($mtime);
+			}
+			$this->MTIME = current(unpack('l', $mtime));
+			$this->position += 4;
+
+			// Get the XFL (eXtra FLags)
+			$this->XFL = ord($this->compressed_data[$this->position++]);
+
+			// Get the OS (Operating System)
+			$this->OS = ord($this->compressed_data[$this->position++]);
+
+			// Parse the FEXTRA
+			if ($this->flags & 4)
+			{
+				// Read subfield IDs
+				$this->SI1 = $this->compressed_data[$this->position++];
+				$this->SI2 = $this->compressed_data[$this->position++];
+
+				// SI2 set to zero is reserved for future use
+				if ($this->SI2 === "\x00")
+				{
+					return false;
+				}
+
+				// Get the length of the extra field
+				$len = current(unpack('v', substr($this->compressed_data, $this->position, 2)));
+				$position += 2;
+
+				// Check the length of the string is still valid
+				$this->min_compressed_size += $len + 4;
+				if ($this->compressed_size >= $this->min_compressed_size)
+				{
+					// Set the extra field to the given data
+					$this->extra_field = substr($this->compressed_data, $this->position, $len);
+					$this->position += $len;
+				}
+				else
+				{
+					return false;
+				}
+			}
+
+			// Parse the FNAME
+			if ($this->flags & 8)
+			{
+				// Get the length of the filename
+				$len = strcspn($this->compressed_data, "\x00", $this->position);
+
+				// Check the length of the string is still valid
+				$this->min_compressed_size += $len + 1;
+				if ($this->compressed_size >= $this->min_compressed_size)
+				{
+					// Set the original filename to the given string
+					$this->filename = substr($this->compressed_data, $this->position, $len);
+					$this->position += $len + 1;
+				}
+				else
+				{
+					return false;
+				}
+			}
+
+			// Parse the FCOMMENT
+			if ($this->flags & 16)
+			{
+				// Get the length of the comment
+				$len = strcspn($this->compressed_data, "\x00", $this->position);
+
+				// Check the length of the string is still valid
+				$this->min_compressed_size += $len + 1;
+				if ($this->compressed_size >= $this->min_compressed_size)
+				{
+					// Set the original comment to the given string
+					$this->comment = substr($this->compressed_data, $this->position, $len);
+					$this->position += $len + 1;
+				}
+				else
+				{
+					return false;
+				}
+			}
+
+			// Parse the FHCRC
+			if ($this->flags & 2)
+			{
+				// Check the length of the string is still valid
+				$this->min_compressed_size += $len + 2;
+				if ($this->compressed_size >= $this->min_compressed_size)
+				{
+					// Read the CRC
+					$crc = current(unpack('v', substr($this->compressed_data, $this->position, 2)));
+
+					// Check the CRC matches
+					if ((crc32(substr($this->compressed_data, 0, $this->position)) & 0xFFFF) === $crc)
+					{
+						$this->position += 2;
+					}
+					else
+					{
+						return false;
+					}
+				}
+				else
+				{
+					return false;
+				}
+			}
+
+			// Decompress the actual data
+			if (($this->data = gzinflate(substr($this->compressed_data, $this->position, -8))) === false)
+			{
+				return false;
+			}
+			else
+			{
+				$this->position = $this->compressed_size - 8;
+			}
+
+			// Check CRC of data
+			$crc = current(unpack('V', substr($this->compressed_data, $this->position, 4)));
+			$this->position += 4;
+			/*if (extension_loaded('hash') && sprintf('%u', current(unpack('V', hash('crc32b', $this->data)))) !== sprintf('%u', $crc))
+			{
+				return false;
+			}*/
+
+			// Check ISIZE of data
+			$isize = current(unpack('V', substr($this->compressed_data, $this->position, 4)));
+			$this->position += 4;
+			if (sprintf('%u', strlen($this->data) & 0xFFFFFFFF) !== sprintf('%u', $isize))
+			{
+				return false;
+			}
+
+			// Wow, against all odds, we've actually got a valid gzip string
+			return true;
+		}
+		else
+		{
+			return false;
+		}
+	}
+}
+
+class SimplePie_Cache
+{
+	/**
+	 * Don't call the constructor. Please.
+	 *
+	 * @access private
+	 */
+	function SimplePie_Cache()
+	{
+		trigger_error('Please call SimplePie_Cache::create() instead of the constructor', E_USER_ERROR);
+	}
+
+	/**
+	 * Create a new SimplePie_Cache object
+	 *
+	 * @static
+	 * @access public
+	 */
+	function create($location, $filename, $extension)
+	{
+		$location_iri =& new SimplePie_IRI($location);
+		switch ($location_iri->get_scheme())
+		{
+			case 'mysql':
+				if (extension_loaded('mysql'))
+				{
+					return new SimplePie_Cache_MySQL($location_iri, $filename, $extension);
+				}
+				break;
+
+			default:
+				return new SimplePie_Cache_File($location, $filename, $extension);
+		}
+	}
+}
+
+class SimplePie_Cache_File
+{
+	var $location;
+	var $filename;
+	var $extension;
+	var $name;
+
+	function SimplePie_Cache_File($location, $filename, $extension)
+	{
+		$this->location = $location;
+		$this->filename = $filename;
+		$this->extension = $extension;
+		$this->name = "$this->location/$this->filename.$this->extension";
+	}
+
+	function save($data)
+	{
+		if (file_exists($this->name) && is_writeable($this->name) || file_exists($this->location) && is_writeable($this->location))
+		{
+			if (is_a($data, 'SimplePie'))
+			{
+				$data = $data->data;
+			}
+
+			$data = serialize($data);
+
+			if (function_exists('file_put_contents'))
+			{
+				return (bool) file_put_contents($this->name, $data);
+			}
+			else
+			{
+				$fp = fopen($this->name, 'wb');
+				if ($fp)
+				{
+					fwrite($fp, $data);
+					fclose($fp);
+					return true;
+				}
+			}
+		}
+		return false;
+	}
+
+	function load()
+	{
+		if (file_exists($this->name) && is_readable($this->name))
+		{
+			return unserialize(file_get_contents($this->name));
+		}
+		return false;
+	}
+
+	function mtime()
+	{
+		if (file_exists($this->name))
+		{
+			return filemtime($this->name);
+		}
+		return false;
+	}
+
+	function touch()
+	{
+		if (file_exists($this->name))
+		{
+			return touch($this->name);
+		}
+		return false;
+	}
+
+	function unlink()
+	{
+		if (file_exists($this->name))
+		{
+			return unlink($this->name);
+		}
+		return false;
+	}
+}
+
+class SimplePie_Cache_DB
+{
+	function prepare_simplepie_object_for_cache($data)
+	{
+		$items = $data->get_items();
+		$items_by_id = array();
+
+		if (!empty($items))
+		{
+			foreach ($items as $item)
+			{
+				$items_by_id[$item->get_id()] = $item;
+			}
+
+			if (count($items_by_id) !== count($items))
+			{
+				$items_by_id = array();
+				foreach ($items as $item)
+				{
+					$items_by_id[$item->get_id(true)] = $item;
+				}
+			}
+
+			if (isset($data->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0]))
+			{
+				$channel =& $data->data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0];
+			}
+			elseif (isset($data->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0]))
+			{
+				$channel =& $data->data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0];
+			}
+			elseif (isset($data->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]))
+			{
+				$channel =& $data->data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0];
+			}
+			elseif (isset($data->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_20]['channel'][0]))
+			{
+				$channel =& $data->data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]['child'][SIMPLEPIE_NAMESPACE_RSS_20]['channel'][0];
+			}
+			else
+			{
+				$channel = null;
+			}
+
+			if ($channel !== null)
+			{
+				if (isset($channel['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['entry']))
+				{
+					unset($channel['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['entry']);
+				}
+				if (isset($channel['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['entry']))
+				{
+					unset($channel['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['entry']);
+				}
+				if (isset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_10]['item']))
+				{
+					unset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_10]['item']);
+				}
+				if (isset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_090]['item']))
+				{
+					unset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_090]['item']);
+				}
+				if (isset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_20]['item']))
+				{
+					unset($channel['child'][SIMPLEPIE_NAMESPACE_RSS_20]['item']);
+				}
+			}
+			if (isset($data->data['items']))
+			{
+				unset($data->data['items']);
+			}
+			if (isset($data->data['ordered_items']))
+			{
+				unset($data->data['ordered_items']);
+			}
+		}
+		return array(serialize($data->data), $items_by_id);
+	}
+}
+
+class SimplePie_Cache_MySQL extends SimplePie_Cache_DB
+{
+	var $mysql;
+	var $options;
+	var $id;
+
+	function SimplePie_Cache_MySQL($mysql_location, $name, $extension)
+	{
+		$host = $mysql_location->get_host();
+		if (SimplePie_Misc::stripos($host, 'unix(') === 0 && substr($host, -1) === ')')
+		{
+			$server = ':' . substr($host, 5, -1);
+		}
+		else
+		{
+			$server = $host;
+			if ($mysql_location->get_port() !== null)
+			{
+				$server .= ':' . $mysql_location->get_port();
+			}
+		}
+
+		if (strpos($mysql_location->get_userinfo(), ':') !== false)
+		{
+			list($username, $password) = explode(':', $mysql_location->get_userinfo(), 2);
+		}
+		else
+		{
+			$username = $mysql_location->get_userinfo();
+			$password = null;
+		}
+
+		if ($this->mysql = mysql_connect($server, $username, $password))
+		{
+			$this->id = $name . $extension;
+			$this->options = SimplePie_Misc::parse_str($mysql_location->get_query());
+			if (!isset($this->options['prefix'][0]))
+			{
+				$this->options['prefix'][0] = '';
+			}
+
+			if (mysql_select_db(ltrim($mysql_location->get_path(), '/'))
+				&& mysql_query('SET NAMES utf8')
+				&& ($query = mysql_unbuffered_query('SHOW TABLES')))
+			{
+				$db = array();
+				while ($row = mysql_fetch_row($query))
+				{
+					$db[] = $row[0];
+				}
+
+				if (!in_array($this->options['prefix'][0] . 'cache_data', $db))
+				{
+					if (!mysql_query('CREATE TABLE `' . $this->options['prefix'][0] . 'cache_data` (`id` TEXT CHARACTER SET utf8 NOT NULL, `items` SMALLINT NOT NULL DEFAULT 0, `data` BLOB NOT NULL, `mtime` INT UNSIGNED NOT NULL, UNIQUE (`id`(125)))'))
+					{
+						$this->mysql = null;
+					}
+				}
+
+				if (!in_array($this->options['prefix'][0] . 'items', $db))
+				{
+					if (!mysql_query('CREATE TABLE `' . $this->options['prefix'][0] . 'items` (`feed_id` TEXT CHARACTER SET utf8 NOT NULL, `id` TEXT CHARACTER SET utf8 NOT NULL, `data` TEXT CHARACTER SET utf8 NOT NULL, `posted` INT UNSIGNED NOT NULL, INDEX `feed_id` (`feed_id`(125)))'))
+					{
+						$this->mysql = null;
+					}
+				}
+			}
+			else
+			{
+				$this->mysql = null;
+			}
+		}
+	}
+
+	function save($data)
+	{
+		if ($this->mysql)
+		{
+			$feed_id = "'" . mysql_real_escape_string($this->id) . "'";
+
+			if (is_a($data, 'SimplePie'))
+			{
+				if (SIMPLEPIE_PHP5)
+				{
+					// This keyword needs to defy coding standards for PHP4 compatibility
+					$data = clone($data);
+				}
+
+				$prepared = $this->prepare_simplepie_object_for_cache($data);
+
+				if ($query = mysql_query('SELECT `id` FROM `' . $this->options['prefix'][0] . 'cache_data` WHERE `id` = ' . $feed_id, $this->mysql))
+				{
+					if (mysql_num_rows($query))
+					{
+						$items = count($prepared[1]);
+						if ($items)
+						{
+							$sql = 'UPDATE `' . $this->options['prefix'][0] . 'cache_data` SET `items` = ' . $items . ', `data` = \'' . mysql_real_escape_string($prepared[0]) . '\', `mtime` = ' . time() . ' WHERE `id` = ' . $feed_id;
+						}
+						else
+						{
+							$sql = 'UPDATE `' . $this->options['prefix'][0] . 'cache_data` SET `data` = \'' . mysql_real_escape_string($prepared[0]) . '\', `mtime` = ' . time() . ' WHERE `id` = ' . $feed_id;
+						}
+
+						if (!mysql_query($sql, $this->mysql))
+						{
+							return false;
+						}
+					}
+					elseif (!mysql_query('INSERT INTO `' . $this->options['prefix'][0] . 'cache_data` (`id`, `items`, `data`, `mtime`) VALUES(' . $feed_id . ', ' . count($prepared[1]) . ', \'' . mysql_real_escape_string($prepared[0]) . '\', ' . time() . ')', $this->mysql))
+					{
+						return false;
+					}
+
+					$ids = array_keys($prepared[1]);
+					if (!empty($ids))
+					{
+						foreach ($ids as $id)
+						{
+							$database_ids[] = mysql_real_escape_string($id);
+						}
+
+						if ($query = mysql_unbuffered_query('SELECT `id` FROM `' . $this->options['prefix'][0] . 'items` WHERE `id` = \'' . implode('\' OR `id` = \'', $database_ids) . '\' AND `feed_id` = ' . $feed_id, $this->mysql))
+						{
+							$existing_ids = array();
+							while ($row = mysql_fetch_row($query))
+							{
+								$existing_ids[] = $row[0];
+							}
+
+							$new_ids = array_diff($ids, $existing_ids);
+
+							foreach ($new_ids as $new_id)
+							{
+								if (!($date = $prepared[1][$new_id]->get_date('U')))
+								{
+									$date = time();
+								}
+
+								if (!mysql_query('INSERT INTO `' . $this->options['prefix'][0] . 'items` (`feed_id`, `id`, `data`, `posted`) VALUES(' . $feed_id . ', \'' . mysql_real_escape_string($new_id) . '\', \'' . mysql_real_escape_string(serialize($prepared[1][$new_id]->data)) . '\', ' . $date . ')', $this->mysql))
+								{
+									return false;
+								}
+							}
+							return true;
+						}
+					}
+					else
+					{
+						return true;
+					}
+				}
+			}
+			elseif ($query = mysql_query('SELECT `id` FROM `' . $this->options['prefix'][0] . 'cache_data` WHERE `id` = ' . $feed_id, $this->mysql))
+			{
+				if (mysql_num_rows($query))
+				{
+					if (mysql_query('UPDATE `' . $this->options['prefix'][0] . 'cache_data` SET `items` = 0, `data` = \'' . mysql_real_escape_string(serialize($data)) . '\', `mtime` = ' . time() . ' WHERE `id` = ' . $feed_id, $this->mysql))
+					{
+						return true;
+					}
+				}
+				elseif (mysql_query('INSERT INTO `' . $this->options['prefix'][0] . 'cache_data` (`id`, `items`, `data`, `mtime`) VALUES(\'' . mysql_real_escape_string($this->id) . '\', 0, \'' . mysql_real_escape_string(serialize($data)) . '\', ' . time() . ')', $this->mysql))
+				{
+					return true;
+				}
+			}
+		}
+		return false;
+	}
+
+	function load()
+	{
+		if ($this->mysql && ($query = mysql_query('SELECT `items`, `data` FROM `' . $this->options['prefix'][0] . 'cache_data` WHERE `id` = \'' . mysql_real_escape_string($this->id) . "'", $this->mysql)) && ($row = mysql_fetch_row($query)))
+		{
+			$data = unserialize($row[1]);
+
+			if (isset($this->options['items'][0]))
+			{
+				$items = (int) $this->options['items'][0];
+			}
+			else
+			{
+				$items = (int) $row[0];
+			}
+
+			if ($items !== 0)
+			{
+				if (isset($data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0]))
+				{
+					$feed =& $data['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['feed'][0];
+				}
+				elseif (isset($data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0]))
+				{
+					$feed =& $data['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['feed'][0];
+				}
+				elseif (isset($data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0]))
+				{
+					$feed =& $data['child'][SIMPLEPIE_NAMESPACE_RDF]['RDF'][0];
+				}
+				elseif (isset($data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0]))
+				{
+					$feed =& $data['child'][SIMPLEPIE_NAMESPACE_RSS_20]['rss'][0];
+				}
+				else
+				{
+					$feed = null;
+				}
+
+				if ($feed !== null)
+				{
+					$sql = 'SELECT `data` FROM `' . $this->options['prefix'][0] . 'items` WHERE `feed_id` = \'' . mysql_real_escape_string($this->id) . '\' ORDER BY `posted` DESC';
+					if ($items > 0)
+					{
+						$sql .= ' LIMIT ' . $items;
+					}
+
+					if ($query = mysql_unbuffered_query($sql, $this->mysql))
+					{
+						while ($row = mysql_fetch_row($query))
+						{
+							$feed['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['entry'][] = unserialize($row[0]);
+						}
+					}
+					else
+					{
+						return false;
+					}
+				}
+			}
+			return $data;
+		}
+		return false;
+	}
+
+	function mtime()
+	{
+		if ($this->mysql && ($query = mysql_query('SELECT `mtime` FROM `' . $this->options['prefix'][0] . 'cache_data` WHERE `id` = \'' . mysql_real_escape_string($this->id) . "'", $this->mysql)) && ($row = mysql_fetch_row($query)))
+		{
+			return $row[0];
+		}
+		else
+		{
+			return false;
+		}
+	}
+
+	function touch()
+	{
+		if ($this->mysql && ($query = mysql_query('UPDATE `' . $this->options['prefix'][0] . 'cache_data` SET `mtime` = ' . time() . ' WHERE `id` = \'' . mysql_real_escape_string($this->id) . "'", $this->mysql)) && mysql_affected_rows($this->mysql))
+		{
+			return true;
+		}
+		else
+		{
+			return false;
+		}
+	}
+
+	function unlink()
+	{
+		if ($this->mysql && ($query = mysql_query('DELETE FROM `' . $this->options['prefix'][0] . 'cache_data` WHERE `id` = \'' . mysql_real_escape_string($this->id) . "'", $this->mysql)) && ($query2 = mysql_query('DELETE FROM `' . $this->options['prefix'][0] . 'items` WHERE `feed_id` = \'' . mysql_real_escape_string($this->id) . "'", $this->mysql)))
+		{
+			return true;
+		}
+		else
+		{
+			return false;
+		}
+	}
+}
+
+class SimplePie_Misc
+{
+	function time_hms($seconds)
+	{
+		$time = '';
+
+		$hours = floor($seconds / 3600);
+		$remainder = $seconds % 3600;
+		if ($hours > 0)
+		{
+			$time .= $hours.':';
+		}
+
+		$minutes = floor($remainder / 60);
+		$seconds = $remainder % 60;
+		if ($minutes < 10 && $hours > 0)
+		{
+			$minutes = '0' . $minutes;
+		}
+		if ($seconds < 10)
+		{
+			$seconds = '0' . $seconds;
+		}
+
+		$time .= $minutes.':';
+		$time .= $seconds;
+
+		return $time;
+	}
+
+	function absolutize_url($relative, $base)
+	{
+		$iri = SimplePie_IRI::absolutize(new SimplePie_IRI($base), $relative);
+		return $iri->get_iri();
+	}
+
+	function remove_dot_segments($input)
+	{
+		$output = '';
+		while (strpos($input, './') !== false || strpos($input, '/.') !== false || $input === '.' || $input === '..')
+		{
+			// A: If the input buffer begins with a prefix of "../" or "./", then remove that prefix from the input buffer; otherwise,
+			if (strpos($input, '../') === 0)
+			{
+				$input = substr($input, 3);
+			}
+			elseif (strpos($input, './') === 0)
+			{
+				$input = substr($input, 2);
+			}
+			// B: if the input buffer begins with a prefix of "/./" or "/.", where "." is a complete path segment, then replace that prefix with "/" in the input buffer; otherwise,
+			elseif (strpos($input, '/./') === 0)
+			{
+				$input = substr_replace($input, '/', 0, 3);
+			}
+			elseif ($input === '/.')
+			{
+				$input = '/';
+			}
+			// C: if the input buffer begins with a prefix of "/../" or "/..", where ".." is a complete path segment, then replace that prefix with "/" in the input buffer and remove the last segment and its preceding "/" (if any) from the output buffer; otherwise,
+			elseif (strpos($input, '/../') === 0)
+			{
+				$input = substr_replace($input, '/', 0, 4);
+				$output = substr_replace($output, '', strrpos($output, '/'));
+			}
+			elseif ($input === '/..')
+			{
+				$input = '/';
+				$output = substr_replace($output, '', strrpos($output, '/'));
+			}
+			// D: if the input buffer consists only of "." or "..", then remove that from the input buffer; otherwise,
+			elseif ($input === '.' || $input === '..')
+			{
+				$input = '';
+			}
+			// E: move the first path segment in the input buffer to the end of the output buffer, including the initial "/" character (if any) and any subsequent characters up to, but not including, the next "/" character or the end of the input buffer
+			elseif (($pos = strpos($input, '/', 1)) !== false)
+			{
+				$output .= substr($input, 0, $pos);
+				$input = substr_replace($input, '', 0, $pos);
+			}
+			else
+			{
+				$output .= $input;
+				$input = '';
+			}
+		}
+		return $output . $input;
+	}
+
+	function get_element($realname, $string)
+	{
+		$return = array();
+		$name = preg_quote($realname, '/');
+		if (preg_match_all("/<($name)" . SIMPLEPIE_PCRE_HTML_ATTRIBUTE . "(>(.*)<\/$name>|(\/)?>)/siU", $string, $matches, PREG_SET_ORDER | PREG_OFFSET_CAPTURE))
+		{
+			for ($i = 0, $total_matches = count($matches); $i < $total_matches; $i++)
+			{
+				$return[$i]['tag'] = $realname;
+				$return[$i]['full'] = $matches[$i][0][0];
+				$return[$i]['offset'] = $matches[$i][0][1];
+				if (strlen($matches[$i][3][0]) <= 2)
+				{
+					$return[$i]['self_closing'] = true;
+				}
+				else
+				{
+					$return[$i]['self_closing'] = false;
+					$return[$i]['content'] = $matches[$i][4][0];
+				}
+				$return[$i]['attribs'] = array();
+				if (isset($matches[$i][2][0]) && preg_match_all('/[\x09\x0A\x0B\x0C\x0D\x20]+([^\x09\x0A\x0B\x0C\x0D\x20\x2F\x3E][^\x09\x0A\x0B\x0C\x0D\x20\x2F\x3D\x3E]*)(?:[\x09\x0A\x0B\x0C\x0D\x20]*=[\x09\x0A\x0B\x0C\x0D\x20]*(?:"([^"]*)"|\'([^\']*)\'|([^\x09\x0A\x0B\x0C\x0D\x20\x22\x27\x3E][^\x09\x0A\x0B\x0C\x0D\x20\x3E]*)?))?/', ' ' . $matches[$i][2][0] . ' ', $attribs, PREG_SET_ORDER))
+				{
+					for ($j = 0, $total_attribs = count($attribs); $j < $total_attribs; $j++)
+					{
+						if (count($attribs[$j]) === 2)
+						{
+							$attribs[$j][2] = $attribs[$j][1];
+						}
+						$return[$i]['attribs'][strtolower($attribs[$j][1])]['data'] = SimplePie_Misc::entities_decode(end($attribs[$j]), 'UTF-8');
+					}
+				}
+			}
+		}
+		return $return;
+	}
+
+	function element_implode($element)
+	{
+		$full = "<$element[tag]";
+		foreach ($element['attribs'] as $key => $value)
+		{
+			$key = strtolower($key);
+			$full .= " $key=\"" . htmlspecialchars($value['data']) . '"';
+		}
+		if ($element['self_closing'])
+		{
+			$full .= ' />';
+		}
+		else
+		{
+			$full .= ">$element[content]</$element[tag]>";
+		}
+		return $full;
+	}
+
+	function error($message, $level, $file, $line)
+	{
+		if ((ini_get('error_reporting') & $level) > 0)
+		{
+			switch ($level)
+			{
+				case E_USER_ERROR:
+					$note = 'PHP Error';
+					break;
+				case E_USER_WARNING:
+					$note = 'PHP Warning';
+					break;
+				case E_USER_NOTICE:
+					$note = 'PHP Notice';
+					break;
+				default:
+					$note = 'Unknown Error';
+					break;
+			}
+
+			$log_error = true;
+			if (!function_exists('error_log'))
+			{
+				$log_error = false;
+			}
+
+			$log_file = @ini_get('error_log');
+			if (!empty($log_file) && ('syslog' != $log_file) && !@is_writable($log_file))
+			{
+				$log_error = false;
+			}
+
+			if ($log_error)
+			{
+				@error_log("$note: $message in $file on line $line", 0);
+			}
+		}
+
+		return $message;
+	}
+
+	/**
+	 * If a file has been cached, retrieve and display it.
+	 *
+	 * This is most useful for caching images (get_favicon(), etc.),
+	 * however it works for all cached files.  This WILL NOT display ANY
+	 * file/image/page/whatever, but rather only display what has already
+	 * been cached by SimplePie.
+	 *
+	 * @access public
+	 * @see SimplePie::get_favicon()
+	 * @param str $identifier_url URL that is used to identify the content.
+	 * This may or may not be the actual URL of the live content.
+	 * @param str $cache_location Location of SimplePie's cache.  Defaults
+	 * to './cache'.
+	 * @param str $cache_extension The file extension that the file was
+	 * cached with.  Defaults to 'spc'.
+	 * @param str $cache_class Name of the cache-handling class being used
+	 * in SimplePie.  Defaults to 'SimplePie_Cache', and should be left
+	 * as-is unless you've overloaded the class.
+	 * @param str $cache_name_function Obsolete. Exists for backwards
+	 * compatibility reasons only.
+	 */
+	function display_cached_file($identifier_url, $cache_location = './cache', $cache_extension = 'spc', $cache_class = 'SimplePie_Cache', $cache_name_function = 'md5')
+	{
+		$cache = call_user_func(array($cache_class, 'create'), $cache_location, $identifier_url, $cache_extension);
+
+		if ($file = $cache->load())
+		{
+			if (isset($file['headers']['content-type']))
+			{
+				header('Content-type:' . $file['headers']['content-type']);
+			}
+			else
+			{
+				header('Content-type: application/octet-stream');
+			}
+			header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 604800) . ' GMT'); // 7 days
+			echo $file['body'];
+			exit;
+		}
+
+		die('Cached file for ' . $identifier_url . ' cannot be found.');
+	}
+
+	function fix_protocol($url, $http = 1)
+	{
+		$url = SimplePie_Misc::normalize_url($url);
+		$parsed = SimplePie_Misc::parse_url($url);
+		if ($parsed['scheme'] !== '' && $parsed['scheme'] !== 'http' && $parsed['scheme'] !== 'https')
+		{
+			return SimplePie_Misc::fix_protocol(SimplePie_Misc::compress_parse_url('http', $parsed['authority'], $parsed['path'], $parsed['query'], $parsed['fragment']), $http);
+		}
+
+		if ($parsed['scheme'] === '' && $parsed['authority'] === '' && !file_exists($url))
+		{
+			return SimplePie_Misc::fix_protocol(SimplePie_Misc::compress_parse_url('http', $parsed['path'], '', $parsed['query'], $parsed['fragment']), $http);
+		}
+
+		if ($http === 2 && $parsed['scheme'] !== '')
+		{
+			return "feed:$url";
+		}
+		elseif ($http === 3 && strtolower($parsed['scheme']) === 'http')
+		{
+			return substr_replace($url, 'podcast', 0, 4);
+		}
+		elseif ($http === 4 && strtolower($parsed['scheme']) === 'http')
+		{
+			return substr_replace($url, 'itpc', 0, 4);
+		}
+		else
+		{
+			return $url;
+		}
+	}
+
+	function parse_url($url)
+	{
+		$iri =& new SimplePie_IRI($url);
+		return array(
+			'scheme' => (string) $iri->get_scheme(),
+			'authority' => (string) $iri->get_authority(),
+			'path' => (string) $iri->get_path(),
+			'query' => (string) $iri->get_query(),
+			'fragment' => (string) $iri->get_fragment()
+		);
+	}
+
+	function compress_parse_url($scheme = '', $authority = '', $path = '', $query = '', $fragment = '')
+	{
+		$iri =& new SimplePie_IRI('');
+		$iri->set_scheme($scheme);
+		$iri->set_authority($authority);
+		$iri->set_path($path);
+		$iri->set_query($query);
+		$iri->set_fragment($fragment);
+		return $iri->get_iri();
+	}
+
+	function normalize_url($url)
+	{
+		$iri =& new SimplePie_IRI($url);
+		return $iri->get_iri();
+	}
+
+	function percent_encoding_normalization($match)
+	{
+		$integer = hexdec($match[1]);
+		if ($integer >= 0x41 && $integer <= 0x5A || $integer >= 0x61 && $integer <= 0x7A || $integer >= 0x30 && $integer <= 0x39 || $integer === 0x2D || $integer === 0x2E || $integer === 0x5F || $integer === 0x7E)
+		{
+			return chr($integer);
+		}
+		else
+		{
+			return strtoupper($match[0]);
+		}
+	}
+
+	/**
+	 * Remove bad UTF-8 bytes
+	 *
+	 * PCRE Pattern to locate bad bytes in a UTF-8 string comes from W3C
+	 * FAQ: Multilingual Forms (modified to include full ASCII range)
+	 *
+	 * @author Geoffrey Sneddon
+	 * @see http://www.w3.org/International/questions/qa-forms-utf-8
+	 * @param string $str String to remove bad UTF-8 bytes from
+	 * @return string UTF-8 string
+	 */
+	function utf8_bad_replace($str)
+	{
+		if (function_exists('iconv') && ($return = @iconv('UTF-8', 'UTF-8//IGNORE', $str)))
+		{
+			return $return;
+		}
+		elseif (function_exists('mb_convert_encoding') && ($return = @mb_convert_encoding($str, 'UTF-8', 'UTF-8')))
+		{
+			return $return;
+		}
+		elseif (preg_match_all('/(?:[\x00-\x7F]|[\xC2-\xDF][\x80-\xBF]|\xE0[\xA0-\xBF][\x80-\xBF]|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}|\xED[\x80-\x9F][\x80-\xBF]|\xF0[\x90-\xBF][\x80-\xBF]{2}|[\xF1-\xF3][\x80-\xBF]{3}|\xF4[\x80-\x8F][\x80-\xBF]{2})+/', $str, $matches))
+		{
+			return implode("\xEF\xBF\xBD", $matches[0]);
+		}
+		elseif ($str !== '')
+		{
+			return "\xEF\xBF\xBD";
+		}
+		else
+		{
+			return '';
+		}
+	}
+
+	/**
+	 * Converts a Windows-1252 encoded string to a UTF-8 encoded string
+	 *
+	 * @static
+	 * @access public
+	 * @param string $string Windows-1252 encoded string
+	 * @return string UTF-8 encoded string
+	 */
+	function windows_1252_to_utf8($string)
+	{
+		static $convert_table = array("\x80" => "\xE2\x82\xAC", "\x81" => "\xEF\xBF\xBD", "\x82" => "\xE2\x80\x9A", "\x83" => "\xC6\x92", "\x84" => "\xE2\x80\x9E", "\x85" => "\xE2\x80\xA6", "\x86" => "\xE2\x80\xA0", "\x87" => "\xE2\x80\xA1", "\x88" => "\xCB\x86", "\x89" => "\xE2\x80\xB0", "\x8A" => "\xC5\xA0", "\x8B" => "\xE2\x80\xB9", "\x8C" => "\xC5\x92", "\x8D" => "\xEF\xBF\xBD", "\x8E" => "\xC5\xBD", "\x8F" => "\xEF\xBF\xBD", "\x90" => "\xEF\xBF\xBD", "\x91" => "\xE2\x80\x98", "\x92" => "\xE2\x80\x99", "\x93" => "\xE2\x80\x9C", "\x94" => "\xE2\x80\x9D", "\x95" => "\xE2\x80\xA2", "\x96" => "\xE2\x80\x93", "\x97" => "\xE2\x80\x94", "\x98" => "\xCB\x9C", "\x99" => "\xE2\x84\xA2", "\x9A" => "\xC5\xA1", "\x9B" => "\xE2\x80\xBA", "\x9C" => "\xC5\x93", "\x9D" => "\xEF\xBF\xBD", "\x9E" => "\xC5\xBE", "\x9F" => "\xC5\xB8", "\xA0" => "\xC2\xA0", "\xA1" => "\xC2\xA1", "\xA2" => "\xC2\xA2", "\xA3" => "\xC2\xA3", "\xA4" => "\xC2\xA4", "\xA5" => "\xC2\xA5", "\xA6" => "\xC2\xA6", "\xA7" => "\xC2\xA7", "\xA8" => "\xC2\xA8", "\xA9" => "\xC2\xA9", "\xAA" => "\xC2\xAA", "\xAB" => "\xC2\xAB", "\xAC" => "\xC2\xAC", "\xAD" => "\xC2\xAD", "\xAE" => "\xC2\xAE", "\xAF" => "\xC2\xAF", "\xB0" => "\xC2\xB0", "\xB1" => "\xC2\xB1", "\xB2" => "\xC2\xB2", "\xB3" => "\xC2\xB3", "\xB4" => "\xC2\xB4", "\xB5" => "\xC2\xB5", "\xB6" => "\xC2\xB6", "\xB7" => "\xC2\xB7", "\xB8" => "\xC2\xB8", "\xB9" => "\xC2\xB9", "\xBA" => "\xC2\xBA", "\xBB" => "\xC2\xBB", "\xBC" => "\xC2\xBC", "\xBD" => "\xC2\xBD", "\xBE" => "\xC2\xBE", "\xBF" => "\xC2\xBF", "\xC0" => "\xC3\x80", "\xC1" => "\xC3\x81", "\xC2" => "\xC3\x82", "\xC3" => "\xC3\x83", "\xC4" => "\xC3\x84", "\xC5" => "\xC3\x85", "\xC6" => "\xC3\x86", "\xC7" => "\xC3\x87", "\xC8" => "\xC3\x88", "\xC9" => "\xC3\x89", "\xCA" => "\xC3\x8A", "\xCB" => "\xC3\x8B", "\xCC" => "\xC3\x8C", "\xCD" => "\xC3\x8D", "\xCE" => "\xC3\x8E", "\xCF" => "\xC3\x8F", "\xD0" => "\xC3\x90", "\xD1" => "\xC3\x91", "\xD2" => "\xC3\x92", "\xD3" => "\xC3\x93", "\xD4" => "\xC3\x94", "\xD5" => "\xC3\x95", "\xD6" => "\xC3\x96", "\xD7" => "\xC3\x97", "\xD8" => "\xC3\x98", "\xD9" => "\xC3\x99", "\xDA" => "\xC3\x9A", "\xDB" => "\xC3\x9B", "\xDC" => "\xC3\x9C", "\xDD" => "\xC3\x9D", "\xDE" => "\xC3\x9E", "\xDF" => "\xC3\x9F", "\xE0" => "\xC3\xA0", "\xE1" => "\xC3\xA1", "\xE2" => "\xC3\xA2", "\xE3" => "\xC3\xA3", "\xE4" => "\xC3\xA4", "\xE5" => "\xC3\xA5", "\xE6" => "\xC3\xA6", "\xE7" => "\xC3\xA7", "\xE8" => "\xC3\xA8", "\xE9" => "\xC3\xA9", "\xEA" => "\xC3\xAA", "\xEB" => "\xC3\xAB", "\xEC" => "\xC3\xAC", "\xED" => "\xC3\xAD", "\xEE" => "\xC3\xAE", "\xEF" => "\xC3\xAF", "\xF0" => "\xC3\xB0", "\xF1" => "\xC3\xB1", "\xF2" => "\xC3\xB2", "\xF3" => "\xC3\xB3", "\xF4" => "\xC3\xB4", "\xF5" => "\xC3\xB5", "\xF6" => "\xC3\xB6", "\xF7" => "\xC3\xB7", "\xF8" => "\xC3\xB8", "\xF9" => "\xC3\xB9", "\xFA" => "\xC3\xBA", "\xFB" => "\xC3\xBB", "\xFC" => "\xC3\xBC", "\xFD" => "\xC3\xBD", "\xFE" => "\xC3\xBE", "\xFF" => "\xC3\xBF");
+
+		return strtr($string, $convert_table);
+	}
+
+	function change_encoding($data, $input, $output)
+	{
+		$input = SimplePie_Misc::encoding($input);
+		$output = SimplePie_Misc::encoding($output);
+
+		// We fail to fail on non US-ASCII bytes
+		if ($input === 'US-ASCII')
+		{
+			static $non_ascii_octects = '';
+			if (!$non_ascii_octects)
+			{
+				for ($i = 0x80; $i <= 0xFF; $i++)
+				{
+					$non_ascii_octects .= chr($i);
+				}
+			}
+			$data = substr($data, 0, strcspn($data, $non_ascii_octects));
+		}
+
+		// This is first, as behaviour of this is completely predictable
+		if ($input === 'Windows-1252' && $output === 'UTF-8')
+		{
+			return SimplePie_Misc::windows_1252_to_utf8($data);
+		}
+		// This is second, as behaviour of this varies only with PHP version (the middle part of this expression checks the encoding is supported).
+		elseif (function_exists('mb_convert_encoding') && @mb_convert_encoding("\x80", 'UTF-16BE', $input) !== "\x00\x80" && ($return = @mb_convert_encoding($data, $output, $input)))
+		{
+			return $return;
+		}
+		// This is last, as behaviour of this varies with OS userland and PHP version
+		elseif (function_exists('iconv') && ($return = @iconv($input, $output, $data)))
+		{
+			return $return;
+		}
+		// If we can't do anything, just fail
+		else
+		{
+			return false;
+		}
+	}
+
+	function encoding($charset)
+	{
+		// Normalization from UTS #22
+		switch (strtolower(preg_replace('/(?:[^a-zA-Z0-9]+|([^0-9])0+)/', '\1', $charset)))
+		{
+			case 'adobestandardencoding':
+			case 'csadobestandardencoding':
+				return 'Adobe-Standard-Encoding';
+
+			case 'adobesymbolencoding':
+			case 'cshppsmath':
+				return 'Adobe-Symbol-Encoding';
+
+			case 'ami1251':
+			case 'amiga1251':
+				return 'Amiga-1251';
+
+			case 'ansix31101983':
+			case 'csat5001983':
+			case 'csiso99naplps':
+			case 'isoir99':
+			case 'naplps':
+				return 'ANSI_X3.110-1983';
+
+			case 'arabic7':
+			case 'asmo449':
+			case 'csiso89asmo449':
+			case 'iso9036':
+			case 'isoir89':
+				return 'ASMO_449';
+
+			case 'big5':
+			case 'csbig5':
+			case 'xxbig5':
+				return 'Big5';
+
+			case 'big5hkscs':
+				return 'Big5-HKSCS';
+
+			case 'bocu1':
+			case 'csbocu1':
+				return 'BOCU-1';
+
+			case 'brf':
+			case 'csbrf':
+				return 'BRF';
+
+			case 'bs4730':
+			case 'csiso4unitedkingdom':
+			case 'gb':
+			case 'iso646gb':
+			case 'isoir4':
+			case 'uk':
+				return 'BS_4730';
+
+			case 'bsviewdata':
+			case 'csiso47bsviewdata':
+			case 'isoir47':
+				return 'BS_viewdata';
+
+			case 'cesu8':
+			case 'cscesu8':
+				return 'CESU-8';
+
+			case 'ca':
+			case 'csa71':
+			case 'csaz243419851':
+			case 'csiso121canadian1':
+			case 'iso646ca':
+			case 'isoir121':
+				return 'CSA_Z243.4-1985-1';
+
+			case 'csa72':
+			case 'csaz243419852':
+			case 'csiso122canadian2':
+			case 'iso646ca2':
+			case 'isoir122':
+				return 'CSA_Z243.4-1985-2';
+
+			case 'csaz24341985gr':
+			case 'csiso123csaz24341985gr':
+			case 'isoir123':
+				return 'CSA_Z243.4-1985-gr';
+
+			case 'csiso139csn369103':
+			case 'csn369103':
+			case 'isoir139':
+				return 'CSN_369103';
+
+			case 'csdecmcs':
+			case 'dec':
+			case 'decmcs':
+				return 'DEC-MCS';
+
+			case 'csiso21german':
+			case 'de':
+			case 'din66003':
+			case 'iso646de':
+			case 'isoir21':
+				return 'DIN_66003';
+
+			case 'csdkus':
+			case 'dkus':
+				return 'dk-us';
+
+			case 'csiso646danish':
+			case 'dk':
+			case 'ds2089':
+			case 'iso646dk':
+				return 'DS_2089';
+
+			case 'csibmebcdicatde':
+			case 'ebcdicatde':
+				return 'EBCDIC-AT-DE';
+
+			case 'csebcdicatdea':
+			case 'ebcdicatdea':
+				return 'EBCDIC-AT-DE-A';
+
+			case 'csebcdiccafr':
+			case 'ebcdiccafr':
+				return 'EBCDIC-CA-FR';
+
+			case 'csebcdicdkno':
+			case 'ebcdicdkno':
+				return 'EBCDIC-DK-NO';
+
+			case 'csebcdicdknoa':
+			case 'ebcdicdknoa':
+				return 'EBCDIC-DK-NO-A';
+
+			case 'csebcdices':
+			case 'ebcdices':
+				return 'EBCDIC-ES';
+
+			case 'csebcdicesa':
+			case 'ebcdicesa':
+				return 'EBCDIC-ES-A';
+
+			case 'csebcdicess':
+			case 'ebcdicess':
+				return 'EBCDIC-ES-S';
+
+			case 'csebcdicfise':
+			case 'ebcdicfise':
+				return 'EBCDIC-FI-SE';
+
+			case 'csebcdicfisea':
+			case 'ebcdicfisea':
+				return 'EBCDIC-FI-SE-A';
+
+			case 'csebcdicfr':
+			case 'ebcdicfr':
+				return 'EBCDIC-FR';
+
+			case 'csebcdicit':
+			case 'ebcdicit':
+				return 'EBCDIC-IT';
+
+			case 'csebcdicpt':
+			case 'ebcdicpt':
+				return 'EBCDIC-PT';
+
+			case 'csebcdicuk':
+			case 'ebcdicuk':
+				return 'EBCDIC-UK';
+
+			case 'csebcdicus':
+			case 'ebcdicus':
+				return 'EBCDIC-US';
+
+			case 'csiso111ecmacyrillic':
+			case 'ecmacyrillic':
+			case 'isoir111':
+			case 'koi8e':
+				return 'ECMA-cyrillic';
+
+			case 'csiso17spanish':
+			case 'es':
+			case 'iso646es':
+			case 'isoir17':
+				return 'ES';
+
+			case 'csiso85spanish2':
+			case 'es2':
+			case 'iso646es2':
+			case 'isoir85':
+				return 'ES2';
+
+			case 'cseucfixwidjapanese':
+			case 'extendedunixcodefixedwidthforjapanese':
+				return 'Extended_UNIX_Code_Fixed_Width_for_Japanese';
+
+			case 'cseucpkdfmtjapanese':
+			case 'eucjp':
+			case 'extendedunixcodepackedformatforjapanese':
+				return 'Extended_UNIX_Code_Packed_Format_for_Japanese';
+
+			case 'gb18030':
+				return 'GB18030';
+
+			case 'chinese':
+			case 'cp936':
+			case 'csgb2312':
+			case 'csiso58gb231280':
+			case 'gb2312':
+			case 'gb231280':
+			case 'gbk':
+			case 'isoir58':
+			case 'ms936':
+			case 'windows936':
+				return 'GBK';
+
+			case 'cn':
+			case 'csiso57gb1988':
+			case 'gb198880':
+			case 'iso646cn':
+			case 'isoir57':
+				return 'GB_1988-80';
+
+			case 'csiso153gost1976874':
+			case 'gost1976874':
+			case 'isoir153':
+			case 'stsev35888':
+				return 'GOST_19768-74';
+
+			case 'csiso150':
+			case 'csiso150greekccitt':
+			case 'greekccitt':
+			case 'isoir150':
+				return 'greek-ccitt';
+
+			case 'csiso88greek7':
+			case 'greek7':
+			case 'isoir88':
+				return 'greek7';
+
+			case 'csiso18greek7old':
+			case 'greek7old':
+			case 'isoir18':
+				return 'greek7-old';
+
+			case 'cshpdesktop':
+			case 'hpdesktop':
+				return 'HP-DeskTop';
+
+			case 'cshplegal':
+			case 'hplegal':
+				return 'HP-Legal';
+
+			case 'cshpmath8':
+			case 'hpmath8':
+				return 'HP-Math8';
+
+			case 'cshppifont':
+			case 'hppifont':
+				return 'HP-Pi-font';
+
+			case 'cshproman8':
+			case 'hproman8':
+			case 'r8':
+			case 'roman8':
+				return 'hp-roman8';
+
+			case 'hzgb2312':
+				return 'HZ-GB-2312';
+
+			case 'csibmsymbols':
+			case 'ibmsymbols':
+				return 'IBM-Symbols';
+
+			case 'csibmthai':
+			case 'ibmthai':
+				return 'IBM-Thai';
+
+			case 'ccsid858':
+			case 'cp858':
+			case 'ibm858':
+			case 'pcmultilingual850euro':
+				return 'IBM00858';
+
+			case 'ccsid924':
+			case 'cp924':
+			case 'ebcdiclatin9euro':
+			case 'ibm924':
+				return 'IBM00924';
+
+			case 'ccsid1140':
+			case 'cp1140':
+			case 'ebcdicus37euro':
+			case 'ibm1140':
+				return 'IBM01140';
+
+			case 'ccsid1141':
+			case 'cp1141':
+			case 'ebcdicde273euro':
+			case 'ibm1141':
+				return 'IBM01141';
+
+			case 'ccsid1142':
+			case 'cp1142':
+			case 'ebcdicdk277euro':
+			case 'ebcdicno277euro':
+			case 'ibm1142':
+				return 'IBM01142';
+
+			case 'ccsid1143':
+			case 'cp1143':
+			case 'ebcdicfi278euro':
+			case 'ebcdicse278euro':
+			case 'ibm1143':
+				return 'IBM01143';
+
+			case 'ccsid1144':
+			case 'cp1144':
+			case 'ebcdicit280euro':
+			case 'ibm1144':
+				return 'IBM01144';
+
+			case 'ccsid1145':
+			case 'cp1145':
+			case 'ebcdices284euro':
+			case 'ibm1145':
+				return 'IBM01145';
+
+			case 'ccsid1146':
+			case 'cp1146':
+			case 'ebcdicgb285euro':
+			case 'ibm1146':
+				return 'IBM01146';
+
+			case 'ccsid1147':
+			case 'cp1147':
+			case 'ebcdicfr297euro':
+			case 'ibm1147':
+				return 'IBM01147';
+
+			case 'ccsid1148':
+			case 'cp1148':
+			case 'ebcdicinternational500euro':
+			case 'ibm1148':
+				return 'IBM01148';
+
+			case 'ccsid1149':
+			case 'cp1149':
+			case 'ebcdicis871euro':
+			case 'ibm1149':
+				return 'IBM01149';
+
+			case 'cp37':
+			case 'csibm37':
+			case 'ebcdiccpca':
+			case 'ebcdiccpnl':
+			case 'ebcdiccpus':
+			case 'ebcdiccpwt':
+			case 'ibm37':
+				return 'IBM037';
+
+			case 'cp38':
+			case 'csibm38':
+			case 'ebcdicint':
+			case 'ibm38':
+				return 'IBM038';
+
+			case 'cp273':
+			case 'csibm273':
+			case 'ibm273':
+				return 'IBM273';
+
+			case 'cp274':
+			case 'csibm274':
+			case 'ebcdicbe':
+			case 'ibm274':
+				return 'IBM274';
+
+			case 'cp275':
+			case 'csibm275':
+			case 'ebcdicbr':
+			case 'ibm275':
+				return 'IBM275';
+
+			case 'csibm277':
+			case 'ebcdiccpdk':
+			case 'ebcdiccpno':
+			case 'ibm277':
+				return 'IBM277';
+
+			case 'cp278':
+			case 'csibm278':
+			case 'ebcdiccpfi':
+			case 'ebcdiccpse':
+			case 'ibm278':
+				return 'IBM278';
+
+			case 'cp280':
+			case 'csibm280':
+			case 'ebcdiccpit':
+			case 'ibm280':
+				return 'IBM280';
+
+			case 'cp281':
+			case 'csibm281':
+			case 'ebcdicjpe':
+			case 'ibm281':
+				return 'IBM281';
+
+			case 'cp284':
+			case 'csibm284':
+			case 'ebcdiccpes':
+			case 'ibm284':
+				return 'IBM284';
+
+			case 'cp285':
+			case 'csibm285':
+			case 'ebcdiccpgb':
+			case 'ibm285':
+				return 'IBM285';
+
+			case 'cp290':
+			case 'csibm290':
+			case 'ebcdicjpkana':
+			case 'ibm290':
+				return 'IBM290';
+
+			case 'cp297':
+			case 'csibm297':
+			case 'ebcdiccpfr':
+			case 'ibm297':
+				return 'IBM297';
+
+			case 'cp420':
+			case 'csibm420':
+			case 'ebcdiccpar1':
+			case 'ibm420':
+				return 'IBM420';
+
+			case 'cp423':
+			case 'csibm423':
+			case 'ebcdiccpgr':
+			case 'ibm423':
+				return 'IBM423';
+
+			case 'cp424':
+			case 'csibm424':
+			case 'ebcdiccphe':
+			case 'ibm424':
+				return 'IBM424';
+
+			case '437':
+			case 'cp437':
+			case 'cspc8codepage437':
+			case 'ibm437':
+				return 'IBM437';
+
+			case 'cp500':
+			case 'csibm500':
+			case 'ebcdiccpbe':
+			case 'ebcdiccpch':
+			case 'ibm500':
+				return 'IBM500';
+
+			case 'cp775':
+			case 'cspc775baltic':
+			case 'ibm775':
+				return 'IBM775';
+
+			case '850':
+			case 'cp850':
+			case 'cspc850multilingual':
+			case 'ibm850':
+				return 'IBM850';
+
+			case '851':
+			case 'cp851':
+			case 'csibm851':
+			case 'ibm851':
+				return 'IBM851';
+
+			case '852':
+			case 'cp852':
+			case 'cspcp852':
+			case 'ibm852':
+				return 'IBM852';
+
+			case '855':
+			case 'cp855':
+			case 'csibm855':
+			case 'ibm855':
+				return 'IBM855';
+
+			case '857':
+			case 'cp857':
+			case 'csibm857':
+			case 'ibm857':
+				return 'IBM857';
+
+			case '860':
+			case 'cp860':
+			case 'csibm860':
+			case 'ibm860':
+				return 'IBM860';
+
+			case '861':
+			case 'cp861':
+			case 'cpis':
+			case 'csibm861':
+			case 'ibm861':
+				return 'IBM861';
+
+			case '862':
+			case 'cp862':
+			case 'cspc862latinhebrew':
+			case 'ibm862':
+				return 'IBM862';
+
+			case '863':
+			case 'cp863':
+			case 'csibm863':
+			case 'ibm863':
+				return 'IBM863';
+
+			case 'cp864':
+			case 'csibm864':
+			case 'ibm864':
+				return 'IBM864';
+
+			case '865':
+			case 'cp865':
+			case 'csibm865':
+			case 'ibm865':
+				return 'IBM865';
+
+			case '866':
+			case 'cp866':
+			case 'csibm866':
+			case 'ibm866':
+				return 'IBM866';
+
+			case 'cp868':
+			case 'cpar':
+			case 'csibm868':
+			case 'ibm868':
+				return 'IBM868';
+
+			case '869':
+			case 'cp869':
+			case 'cpgr':
+			case 'csibm869':
+			case 'ibm869':
+				return 'IBM869';
+
+			case 'cp870':
+			case 'csibm870':
+			case 'ebcdiccproece':
+			case 'ebcdiccpyu':
+			case 'ibm870':
+				return 'IBM870';
+
+			case 'cp871':
+			case 'csibm871':
+			case 'ebcdiccpis':
+			case 'ibm871':
+				return 'IBM871';
+
+			case 'cp880':
+			case 'csibm880':
+			case 'ebcdiccyrillic':
+			case 'ibm880':
+				return 'IBM880';
+
+			case 'cp891':
+			case 'csibm891':
+			case 'ibm891':
+				return 'IBM891';
+
+			case 'cp903':
+			case 'csibm903':
+			case 'ibm903':
+				return 'IBM903';
+
+			case '904':
+			case 'cp904':
+			case 'csibbm904':
+			case 'ibm904':
+				return 'IBM904';
+
+			case 'cp905':
+			case 'csibm905':
+			case 'ebcdiccptr':
+			case 'ibm905':
+				return 'IBM905';
+
+			case 'cp918':
+			case 'csibm918':
+			case 'ebcdiccpar2':
+			case 'ibm918':
+				return 'IBM918';
+
+			case 'cp1026':
+			case 'csibm1026':
+			case 'ibm1026':
+				return 'IBM1026';
+
+			case 'ibm1047':
+				return 'IBM1047';
+
+			case 'csiso143iecp271':
+			case 'iecp271':
+			case 'isoir143':
+				return 'IEC_P27-1';
+
+			case 'csiso49inis':
+			case 'inis':
+			case 'isoir49':
+				return 'INIS';
+
+			case 'csiso50inis8':
+			case 'inis8':
+			case 'isoir50':
+				return 'INIS-8';
+
+			case 'csiso51iniscyrillic':
+			case 'iniscyrillic':
+			case 'isoir51':
+				return 'INIS-cyrillic';
+
+			case 'csinvariant':
+			case 'invariant':
+				return 'INVARIANT';
+
+			case 'iso2022cn':
+				return 'ISO-2022-CN';
+
+			case 'iso2022cnext':
+				return 'ISO-2022-CN-EXT';
+
+			case 'csiso2022jp':
+			case 'iso2022jp':
+				return 'ISO-2022-JP';
+
+			case 'csiso2022jp2':
+			case 'iso2022jp2':
+				return 'ISO-2022-JP-2';
+
+			case 'csiso2022kr':
+			case 'iso2022kr':
+				return 'ISO-2022-KR';
+
+			case 'cswindows30latin1':
+			case 'iso88591windows30latin1':
+				return 'ISO-8859-1-Windows-3.0-Latin-1';
+
+			case 'cswindows31latin1':
+			case 'iso88591windows31latin1':
+				return 'ISO-8859-1-Windows-3.1-Latin-1';
+
+			case 'csisolatin2':
+			case 'iso88592':
+			case 'iso885921987':
+			case 'isoir101':
+			case 'l2':
+			case 'latin2':
+				return 'ISO-8859-2';
+
+			case 'cswindows31latin2':
+			case 'iso88592windowslatin2':
+				return 'ISO-8859-2-Windows-Latin-2';
+
+			case 'csisolatin3':
+			case 'iso88593':
+			case 'iso885931988':
+			case 'isoir109':
+			case 'l3':
+			case 'latin3':
+				return 'ISO-8859-3';
+
+			case 'csisolatin4':
+			case 'iso88594':
+			case 'iso885941988':
+			case 'isoir110':
+			case 'l4':
+			case 'latin4':
+				return 'ISO-8859-4';
+
+			case 'csisolatincyrillic':
+			case 'cyrillic':
+			case 'iso88595':
+			case 'iso885951988':
+			case 'isoir144':
+				return 'ISO-8859-5';
+
+			case 'arabic':
+			case 'asmo708':
+			case 'csisolatinarabic':
+			case 'ecma114':
+			case 'iso88596':
+			case 'iso885961987':
+			case 'isoir127':
+				return 'ISO-8859-6';
+
+			case 'csiso88596e':
+			case 'iso88596e':
+				return 'ISO-8859-6-E';
+
+			case 'csiso88596i':
+			case 'iso88596i':
+				return 'ISO-8859-6-I';
+
+			case 'csisolatingreek':
+			case 'ecma118':
+			case 'elot928':
+			case 'greek':
+			case 'greek8':
+			case 'iso88597':
+			case 'iso885971987':
+			case 'isoir126':
+				return 'ISO-8859-7';
+
+			case 'csisolatinhebrew':
+			case 'hebrew':
+			case 'iso88598':
+			case 'iso885981988':
+			case 'isoir138':
+				return 'ISO-8859-8';
+
+			case 'csiso88598e':
+			case 'iso88598e':
+				return 'ISO-8859-8-E';
+
+			case 'csiso88598i':
+			case 'iso88598i':
+				return 'ISO-8859-8-I';
+
+			case 'cswindows31latin5':
+			case 'iso88599windowslatin5':
+				return 'ISO-8859-9-Windows-Latin-5';
+
+			case 'csisolatin6':
+			case 'iso885910':
+			case 'iso8859101992':
+			case 'isoir157':
+			case 'l6':
+			case 'latin6':
+				return 'ISO-8859-10';
+
+			case 'iso885913':
+				return 'ISO-8859-13';
+
+			case 'iso885914':
+			case 'iso8859141998':
+			case 'isoceltic':
+			case 'isoir199':
+			case 'l8':
+			case 'latin8':
+				return 'ISO-8859-14';
+
+			case 'iso885915':
+			case 'latin9':
+				return 'ISO-8859-15';
+
+			case 'iso885916':
+			case 'iso8859162001':
+			case 'isoir226':
+			case 'l10':
+			case 'latin10':
+				return 'ISO-8859-16';
+
+			case 'iso10646j1':
+				return 'ISO-10646-J-1';
+
+			case 'csunicode':
+			case 'iso10646ucs2':
+				return 'ISO-10646-UCS-2';
+
+			case 'csucs4':
+			case 'iso10646ucs4':
+				return 'ISO-10646-UCS-4';
+
+			case 'csunicodeascii':
+			case 'iso10646ucsbasic':
+				return 'ISO-10646-UCS-Basic';
+
+			case 'csunicodelatin1':
+			case 'iso10646':
+			case 'iso10646unicodelatin1':
+				return 'ISO-10646-Unicode-Latin1';
+
+			case 'csiso10646utf1':
+			case 'iso10646utf1':
+				return 'ISO-10646-UTF-1';
+
+			case 'csiso115481':
+			case 'iso115481':
+			case 'isotr115481':
+				return 'ISO-11548-1';
+
+			case 'csiso90':
+			case 'isoir90':
+				return 'iso-ir-90';
+
+			case 'csunicodeibm1261':
+			case 'isounicodeibm1261':
+				return 'ISO-Unicode-IBM-1261';
+
+			case 'csunicodeibm1264':
+			case 'isounicodeibm1264':
+				return 'ISO-Unicode-IBM-1264';
+
+			case 'csunicodeibm1265':
+			case 'isounicodeibm1265':
+				return 'ISO-Unicode-IBM-1265';
+
+			case 'csunicodeibm1268':
+			case 'isounicodeibm1268':
+				return 'ISO-Unicode-IBM-1268';
+
+			case 'csunicodeibm1276':
+			case 'isounicodeibm1276':
+				return 'ISO-Unicode-IBM-1276';
+
+			case 'csiso646basic1983':
+			case 'iso646basic1983':
+			case 'ref':
+				return 'ISO_646.basic:1983';
+
+			case 'csiso2intlrefversion':
+			case 'irv':
+			case 'iso646irv1983':
+			case 'isoir2':
+				return 'ISO_646.irv:1983';
+
+			case 'csiso2033':
+			case 'e13b':
+			case 'iso20331983':
+			case 'isoir98':
+				return 'ISO_2033-1983';
+
+			case 'csiso5427cyrillic':
+			case 'iso5427':
+			case 'isoir37':
+				return 'ISO_5427';
+
+			case 'iso5427cyrillic1981':
+			case 'iso54271981':
+			case 'isoir54':
+				return 'ISO_5427:1981';
+
+			case 'csiso5428greek':
+			case 'iso54281980':
+			case 'isoir55':
+				return 'ISO_5428:1980';
+
+			case 'csiso6937add':
+			case 'iso6937225':
+			case 'isoir152':
+				return 'ISO_6937-2-25';
+
+			case 'csisotextcomm':
+			case 'iso69372add':
+			case 'isoir142':
+				return 'ISO_6937-2-add';
+
+			case 'csiso8859supp':
+			case 'iso8859supp':
+			case 'isoir154':
+			case 'latin125':
+				return 'ISO_8859-supp';
+
+			case 'csiso10367box':
+			case 'iso10367box':
+			case 'isoir155':
+				return 'ISO_10367-box';
+
+			case 'csiso15italian':
+			case 'iso646it':
+			case 'isoir15':
+			case 'it':
+				return 'IT';
+
+			case 'csiso13jisc6220jp':
+			case 'isoir13':
+			case 'jisc62201969':
+			case 'jisc62201969jp':
+			case 'katakana':
+			case 'x2017':
+				return 'JIS_C6220-1969-jp';
+
+			case 'csiso14jisc6220ro':
+			case 'iso646jp':
+			case 'isoir14':
+			case 'jisc62201969ro':
+			case 'jp':
+				return 'JIS_C6220-1969-ro';
+
+			case 'csiso42jisc62261978':
+			case 'isoir42':
+			case 'jisc62261978':
+				return 'JIS_C6226-1978';
+
+			case 'csiso87jisx208':
+			case 'isoir87':
+			case 'jisc62261983':
+			case 'jisx2081983':
+			case 'x208':
+				return 'JIS_C6226-1983';
+
+			case 'csiso91jisc62291984a':
+			case 'isoir91':
+			case 'jisc62291984a':
+			case 'jpocra':
+				return 'JIS_C6229-1984-a';
+
+			case 'csiso92jisc62991984b':
+			case 'iso646jpocrb':
+			case 'isoir92':
+			case 'jisc62291984b':
+			case 'jpocrb':
+				return 'JIS_C6229-1984-b';
+
+			case 'csiso93jis62291984badd':
+			case 'isoir93':
+			case 'jisc62291984badd':
+			case 'jpocrbadd':
+				return 'JIS_C6229-1984-b-add';
+
+			case 'csiso94jis62291984hand':
+			case 'isoir94':
+			case 'jisc62291984hand':
+			case 'jpocrhand':
+				return 'JIS_C6229-1984-hand';
+
+			case 'csiso95jis62291984handadd':
+			case 'isoir95':
+			case 'jisc62291984handadd':
+			case 'jpocrhandadd':
+				return 'JIS_C6229-1984-hand-add';
+
+			case 'csiso96jisc62291984kana':
+			case 'isoir96':
+			case 'jisc62291984kana':
+				return 'JIS_C6229-1984-kana';
+
+			case 'csjisencoding':
+			case 'jisencoding':
+				return 'JIS_Encoding';
+
+			case 'cshalfwidthkatakana':
+			case 'jisx201':
+			case 'x201':
+				return 'JIS_X0201';
+
+			case 'csiso159jisx2121990':
+			case 'isoir159':
+			case 'jisx2121990':
+			case 'x212':
+				return 'JIS_X0212-1990';
+
+			case 'csiso141jusib1002':
+			case 'iso646yu':
+			case 'isoir141':
+			case 'js':
+			case 'jusib1002':
+			case 'yu':
+				return 'JUS_I.B1.002';
+
+			case 'csiso147macedonian':
+			case 'isoir147':
+			case 'jusib1003mac':
+			case 'macedonian':
+				return 'JUS_I.B1.003-mac';
+
+			case 'csiso146serbian':
+			case 'isoir146':
+			case 'jusib1003serb':
+			case 'serbian':
+				return 'JUS_I.B1.003-serb';
+
+			case 'koi7switched':
+				return 'KOI7-switched';
+
+			case 'cskoi8r':
+			case 'koi8r':
+				return 'KOI8-R';
+
+			case 'koi8u':
+				return 'KOI8-U';
+
+			case 'csksc5636':
+			case 'iso646kr':
+			case 'ksc5636':
+				return 'KSC5636';
+
+			case 'cskz1048':
+			case 'kz1048':
+			case 'rk1048':
+			case 'strk10482002':
+				return 'KZ-1048';
+
+			case 'csiso19latingreek':
+			case 'isoir19':
+			case 'latingreek':
+				return 'latin-greek';
+
+			case 'csiso27latingreek1':
+			case 'isoir27':
+			case 'latingreek1':
+				return 'Latin-greek-1';
+
+			case 'csiso158lap':
+			case 'isoir158':
+			case 'lap':
+			case 'latinlap':
+				return 'latin-lap';
+
+			case 'csmacintosh':
+			case 'mac':
+			case 'macintosh':
+				return 'macintosh';
+
+			case 'csmicrosoftpublishing':
+			case 'microsoftpublishing':
+				return 'Microsoft-Publishing';
+
+			case 'csmnem':
+			case 'mnem':
+				return 'MNEM';
+
+			case 'csmnemonic':
+			case 'mnemonic':
+				return 'MNEMONIC';
+
+			case 'csiso86hungarian':
+			case 'hu':
+			case 'iso646hu':
+			case 'isoir86':
+			case 'msz77953':
+				return 'MSZ_7795.3';
+
+			case 'csnatsdano':
+			case 'isoir91':
+			case 'natsdano':
+				return 'NATS-DANO';
+
+			case 'csnatsdanoadd':
+			case 'isoir92':
+			case 'natsdanoadd':
+				return 'NATS-DANO-ADD';
+
+			case 'csnatssefi':
+			case 'isoir81':
+			case 'natssefi':
+				return 'NATS-SEFI';
+
+			case 'csnatssefiadd':
+			case 'isoir82':
+			case 'natssefiadd':
+				return 'NATS-SEFI-ADD';
+
+			case 'csiso151cuba':
+			case 'cuba':
+			case 'iso646cu':
+			case 'isoir151':
+			case 'ncnc1081':
+				return 'NC_NC00-10:81';
+
+			case 'csiso69french':
+			case 'fr':
+			case 'iso646fr':
+			case 'isoir69':
+			case 'nfz62010':
+				return 'NF_Z_62-010';
+
+			case 'csiso25french':
+			case 'iso646fr1':
+			case 'isoir25':
+			case 'nfz620101973':
+				return 'NF_Z_62-010_(1973)';
+
+			case 'csiso60danishnorwegian':
+			case 'csiso60norwegian1':
+			case 'iso646no':
+			case 'isoir60':
+			case 'no':
+			case 'ns45511':
+				return 'NS_4551-1';
+
+			case 'csiso61norwegian2':
+			case 'iso646no2':
+			case 'isoir61':
+			case 'no2':
+			case 'ns45512':
+				return 'NS_4551-2';
+
+			case 'osdebcdicdf3irv':
+				return 'OSD_EBCDIC_DF03_IRV';
+
+			case 'osdebcdicdf41':
+				return 'OSD_EBCDIC_DF04_1';
+
+			case 'osdebcdicdf415':
+				return 'OSD_EBCDIC_DF04_15';
+
+			case 'cspc8danishnorwegian':
+			case 'pc8danishnorwegian':
+				return 'PC8-Danish-Norwegian';
+
+			case 'cspc8turkish':
+			case 'pc8turkish':
+				return 'PC8-Turkish';
+
+			case 'csiso16portuguese':
+			case 'iso646pt':
+			case 'isoir16':
+			case 'pt':
+				return 'PT';
+
+			case 'csiso84portuguese2':
+			case 'iso646pt2':
+			case 'isoir84':
+			case 'pt2':
+				return 'PT2';
+
+			case 'cp154':
+			case 'csptcp154':
+			case 'cyrillicasian':
+			case 'pt154':
+			case 'ptcp154':
+				return 'PTCP154';
+
+			case 'scsu':
+				return 'SCSU';
+
+			case 'csiso10swedish':
+			case 'fi':
+			case 'iso646fi':
+			case 'iso646se':
+			case 'isoir10':
+			case 'se':
+			case 'sen850200b':
+				return 'SEN_850200_B';
+
+			case 'csiso11swedishfornames':
+			case 'iso646se2':
+			case 'isoir11':
+			case 'se2':
+			case 'sen850200c':
+				return 'SEN_850200_C';
+
+			case 'csshiftjis':
+			case 'mskanji':
+			case 'shiftjis':
+				return 'Shift_JIS';
+
+			case 'csiso102t617bit':
+			case 'isoir102':
+			case 't617bit':
+				return 'T.61-7bit';
+
+			case 'csiso103t618bit':
+			case 'isoir103':
+			case 't61':
+			case 't618bit':
+				return 'T.61-8bit';
+
+			case 'csiso128t101g2':
+			case 'isoir128':
+			case 't101g2':
+				return 'T.101-G2';
+
+			case 'cstscii':
+			case 'tscii':
+				return 'TSCII';
+
+			case 'csunicode11':
+			case 'unicode11':
+				return 'UNICODE-1-1';
+
+			case 'csunicode11utf7':
+			case 'unicode11utf7':
+				return 'UNICODE-1-1-UTF-7';
+
+			case 'csunknown8bit':
+			case 'unknown8bit':
+				return 'UNKNOWN-8BIT';
+
+			case 'ansix341968':
+			case 'ansix341986':
+			case 'ascii':
+			case 'cp367':
+			case 'csascii':
+			case 'ibm367':
+			case 'iso646irv1991':
+			case 'iso646us':
+			case 'isoir6':
+			case 'us':
+			case 'usascii':
+				return 'US-ASCII';
+
+			case 'csusdk':
+			case 'usdk':
+				return 'us-dk';
+
+			case 'utf7':
+				return 'UTF-7';
+
+			case 'utf8':
+				return 'UTF-8';
+
+			case 'utf16':
+				return 'UTF-16';
+
+			case 'utf16be':
+				return 'UTF-16BE';
+
+			case 'utf16le':
+				return 'UTF-16LE';
+
+			case 'utf32':
+				return 'UTF-32';
+
+			case 'utf32be':
+				return 'UTF-32BE';
+
+			case 'utf32le':
+				return 'UTF-32LE';
+
+			case 'csventurainternational':
+			case 'venturainternational':
+				return 'Ventura-International';
+
+			case 'csventuramath':
+			case 'venturamath':
+				return 'Ventura-Math';
+
+			case 'csventuraus':
+			case 'venturaus':
+				return 'Ventura-US';
+
+			case 'csiso70videotexsupp1':
+			case 'isoir70':
+			case 'videotexsuppl':
+				return 'videotex-suppl';
+
+			case 'csviqr':
+			case 'viqr':
+				return 'VIQR';
+
+			case 'csviscii':
+			case 'viscii':
+				return 'VISCII';
+
+			case 'cswindows31j':
+			case 'windows31j':
+				return 'Windows-31J';
+
+			case 'iso885911':
+			case 'tis620':
+				return 'windows-874';
+
+			case 'cseuckr':
+			case 'csksc56011987':
+			case 'euckr':
+			case 'isoir149':
+			case 'korean':
+			case 'ksc5601':
+			case 'ksc56011987':
+			case 'ksc56011989':
+			case 'windows949':
+				return 'windows-949';
+
+			case 'windows1250':
+				return 'windows-1250';
+
+			case 'windows1251':
+				return 'windows-1251';
+
+			case 'cp819':
+			case 'csisolatin1':
+			case 'ibm819':
+			case 'iso88591':
+			case 'iso885911987':
+			case 'isoir100':
+			case 'l1':
+			case 'latin1':
+			case 'windows1252':
+				return 'windows-1252';
+
+			case 'windows1253':
+				return 'windows-1253';
+
+			case 'csisolatin5':
+			case 'iso88599':
+			case 'iso885991989':
+			case 'isoir148':
+			case 'l5':
+			case 'latin5':
+			case 'windows1254':
+				return 'windows-1254';
+
+			case 'windows1255':
+				return 'windows-1255';
+
+			case 'windows1256':
+				return 'windows-1256';
+
+			case 'windows1257':
+				return 'windows-1257';
+
+			case 'windows1258':
+				return 'windows-1258';
+
+			default:
+				return $charset;
+		}
+	}
+
+	function get_curl_version()
+	{
+		if (is_array($curl = curl_version()))
+		{
+			$curl = $curl['version'];
+		}
+		elseif (substr($curl, 0, 5) === 'curl/')
+		{
+			$curl = substr($curl, 5, strcspn($curl, "\x09\x0A\x0B\x0C\x0D", 5));
+		}
+		elseif (substr($curl, 0, 8) === 'libcurl/')
+		{
+			$curl = substr($curl, 8, strcspn($curl, "\x09\x0A\x0B\x0C\x0D", 8));
+		}
+		else
+		{
+			$curl = 0;
+		}
+		return $curl;
+	}
+
+	function is_subclass_of($class1, $class2)
+	{
+		if (func_num_args() !== 2)
+		{
+			trigger_error('Wrong parameter count for SimplePie_Misc::is_subclass_of()', E_USER_WARNING);
+		}
+		elseif (version_compare(PHP_VERSION, '5.0.3', '>=') || is_object($class1))
+		{
+			return is_subclass_of($class1, $class2);
+		}
+		elseif (is_string($class1) && is_string($class2))
+		{
+			if (class_exists($class1))
+			{
+				if (class_exists($class2))
+				{
+					$class2 = strtolower($class2);
+					while ($class1 = strtolower(get_parent_class($class1)))
+					{
+						if ($class1 === $class2)
+						{
+							return true;
+						}
+					}
+				}
+			}
+			else
+			{
+				trigger_error('Unknown class passed as parameter', E_USER_WARNNG);
+			}
+		}
+		return false;
+	}
+
+	/**
+	 * Strip HTML comments
+	 *
+	 * @access public
+	 * @param string $data Data to strip comments from
+	 * @return string Comment stripped string
+	 */
+	function strip_comments($data)
+	{
+		$output = '';
+		while (($start = strpos($data, '<!--')) !== false)
+		{
+			$output .= substr($data, 0, $start);
+			if (($end = strpos($data, '-->', $start)) !== false)
+			{
+				$data = substr_replace($data, '', 0, $end + 3);
+			}
+			else
+			{
+				$data = '';
+			}
+		}
+		return $output . $data;
+	}
+
+	function parse_date($dt)
+	{
+		$parser = SimplePie_Parse_Date::get();
+		return $parser->parse($dt);
+	}
+
+	/**
+	 * Decode HTML entities
+	 *
+	 * @static
+	 * @access public
+	 * @param string $data Input data
+	 * @return string Output data
+	 */
+	function entities_decode($data)
+	{
+		$decoder =& new SimplePie_Decode_HTML_Entities($data);
+		return $decoder->parse();
+	}
+
+	/**
+	 * Remove RFC822 comments
+	 *
+	 * @access public
+	 * @param string $data Data to strip comments from
+	 * @return string Comment stripped string
+	 */
+	function uncomment_rfc822($string)
+	{
+		$string = (string) $string;
+		$position = 0;
+		$length = strlen($string);
+		$depth = 0;
+
+		$output = '';
+
+		while ($position < $length && ($pos = strpos($string, '(', $position)) !== false)
+		{
+			$output .= substr($string, $position, $pos - $position);
+			$position = $pos + 1;
+			if ($string[$pos - 1] !== '\\')
+			{
+				$depth++;
+				while ($depth && $position < $length)
+				{
+					$position += strcspn($string, '()', $position);
+					if ($string[$position - 1] === '\\')
+					{
+						$position++;
+						continue;
+					}
+					elseif (isset($string[$position]))
+					{
+						switch ($string[$position])
+						{
+							case '(':
+								$depth++;
+								break;
+
+							case ')':
+								$depth--;
+								break;
+						}
+						$position++;
+					}
+					else
+					{
+						break;
+					}
+				}
+			}
+			else
+			{
+				$output .= '(';
+			}
+		}
+		$output .= substr($string, $position);
+
+		return $output;
+	}
+
+	function parse_mime($mime)
+	{
+		if (($pos = strpos($mime, ';')) === false)
+		{
+			return trim($mime);
+		}
+		else
+		{
+			return trim(substr($mime, 0, $pos));
+		}
+	}
+
+	function htmlspecialchars_decode($string, $quote_style)
+	{
+		if (function_exists('htmlspecialchars_decode'))
+		{
+			return htmlspecialchars_decode($string, $quote_style);
+		}
+		else
+		{
+			return strtr($string, array_flip(get_html_translation_table(HTML_SPECIALCHARS, $quote_style)));
+		}
+	}
+
+	function atom_03_construct_type($attribs)
+	{
+		if (isset($attribs['']['mode']) && strtolower(trim($attribs['']['mode']) === 'base64'))
+		{
+			$mode = SIMPLEPIE_CONSTRUCT_BASE64;
+		}
+		else
+		{
+			$mode = SIMPLEPIE_CONSTRUCT_NONE;
+		}
+		if (isset($attribs['']['type']))
+		{
+			switch (strtolower(trim($attribs['']['type'])))
+			{
+				case 'text':
+				case 'text/plain':
+					return SIMPLEPIE_CONSTRUCT_TEXT | $mode;
+
+				case 'html':
+				case 'text/html':
+					return SIMPLEPIE_CONSTRUCT_HTML | $mode;
+
+				case 'xhtml':
+				case 'application/xhtml+xml':
+					return SIMPLEPIE_CONSTRUCT_XHTML | $mode;
+
+				default:
+					return SIMPLEPIE_CONSTRUCT_NONE | $mode;
+			}
+		}
+		else
+		{
+			return SIMPLEPIE_CONSTRUCT_TEXT | $mode;
+		}
+	}
+
+	function atom_10_construct_type($attribs)
+	{
+		if (isset($attribs['']['type']))
+		{
+			switch (strtolower(trim($attribs['']['type'])))
+			{
+				case 'text':
+					return SIMPLEPIE_CONSTRUCT_TEXT;
+
+				case 'html':
+					return SIMPLEPIE_CONSTRUCT_HTML;
+
+				case 'xhtml':
+					return SIMPLEPIE_CONSTRUCT_XHTML;
+
+				default:
+					return SIMPLEPIE_CONSTRUCT_NONE;
+			}
+		}
+		return SIMPLEPIE_CONSTRUCT_TEXT;
+	}
+
+	function atom_10_content_construct_type($attribs)
+	{
+		if (isset($attribs['']['type']))
+		{
+			$type = strtolower(trim($attribs['']['type']));
+			switch ($type)
+			{
+				case 'text':
+					return SIMPLEPIE_CONSTRUCT_TEXT;
+
+				case 'html':
+					return SIMPLEPIE_CONSTRUCT_HTML;
+
+				case 'xhtml':
+					return SIMPLEPIE_CONSTRUCT_XHTML;
+			}
+			if (in_array(substr($type, -4), array('+xml', '/xml')) || substr($type, 0, 5) === 'text/')
+			{
+				return SIMPLEPIE_CONSTRUCT_NONE;
+			}
+			else
+			{
+				return SIMPLEPIE_CONSTRUCT_BASE64;
+			}
+		}
+		else
+		{
+			return SIMPLEPIE_CONSTRUCT_TEXT;
+		}
+	}
+
+	function is_isegment_nz_nc($string)
+	{
+		return (bool) preg_match('/^([A-Za-z0-9\-._~\x{A0}-\x{D7FF}\x{F900}-\x{FDCF}\x{FDF0}-\x{FFEF}\x{10000}-\x{1FFFD}\x{20000}-\x{2FFFD}\x{30000}-\x{3FFFD}\x{40000}-\x{4FFFD}\x{50000}-\x{5FFFD}\x{60000}-\x{6FFFD}\x{70000}-\x{7FFFD}\x{80000}-\x{8FFFD}\x{90000}-\x{9FFFD}\x{A0000}-\x{AFFFD}\x{B0000}-\x{BFFFD}\x{C0000}-\x{CFFFD}\x{D0000}-\x{DFFFD}\x{E1000}-\x{EFFFD}!$&\'()*+,;=@]|(%[0-9ABCDEF]{2}))+$/u', $string);
+	}
+
+	function space_seperated_tokens($string)
+	{
+		$space_characters = "\x20\x09\x0A\x0B\x0C\x0D";
+		$string_length = strlen($string);
+
+		$position = strspn($string, $space_characters);
+		$tokens = array();
+
+		while ($position < $string_length)
+		{
+			$len = strcspn($string, $space_characters, $position);
+			$tokens[] = substr($string, $position, $len);
+			$position += $len;
+			$position += strspn($string, $space_characters, $position);
+		}
+
+		return $tokens;
+	}
+
+	function array_unique($array)
+	{
+		if (version_compare(PHP_VERSION, '5.2', '>='))
+		{
+			return array_unique($array);
+		}
+		else
+		{
+			$array = (array) $array;
+			$new_array = array();
+			$new_array_strings = array();
+			foreach ($array as $key => $value)
+			{
+				if (is_object($value))
+				{
+					if (method_exists($value, '__toString'))
+					{
+						$cmp = $value->__toString();
+					}
+					else
+					{
+						trigger_error('Object of class ' . get_class($value) . ' could not be converted to string', E_USER_ERROR);
+					}
+				}
+				elseif (is_array($value))
+				{
+					$cmp = (string) reset($value);
+				}
+				else
+				{
+					$cmp = (string) $value;
+				}
+				if (!in_array($cmp, $new_array_strings))
+				{
+					$new_array[$key] = $value;
+					$new_array_strings[] = $cmp;
+				}
+			}
+			return $new_array;
+		}
+	}
+
+	/**
+	 * Converts a unicode codepoint to a UTF-8 character
+	 *
+	 * @static
+	 * @access public
+	 * @param int $codepoint Unicode codepoint
+	 * @return string UTF-8 character
+	 */
+	function codepoint_to_utf8($codepoint)
+	{
+		$codepoint = (int) $codepoint;
+		if ($codepoint < 0)
+		{
+			return false;
+		}
+		else if ($codepoint <= 0x7f)
+		{
+			return chr($codepoint);
+		}
+		else if ($codepoint <= 0x7ff)
+		{
+			return chr(0xc0 | ($codepoint >> 6)) . chr(0x80 | ($codepoint & 0x3f));
+		}
+		else if ($codepoint <= 0xffff)
+		{
+			return chr(0xe0 | ($codepoint >> 12)) . chr(0x80 | (($codepoint >> 6) & 0x3f)) . chr(0x80 | ($codepoint & 0x3f));
+		}
+		else if ($codepoint <= 0x10ffff)
+		{
+			return chr(0xf0 | ($codepoint >> 18)) . chr(0x80 | (($codepoint >> 12) & 0x3f)) . chr(0x80 | (($codepoint >> 6) & 0x3f)) . chr(0x80 | ($codepoint & 0x3f));
+		}
+		else
+		{
+			// U+FFFD REPLACEMENT CHARACTER
+			return "\xEF\xBF\xBD";
+		}
+	}
+
+	/**
+	 * Re-implementation of PHP 5's stripos()
+	 *
+	 * Returns the numeric position of the first occurrence of needle in the
+	 * haystack string.
+	 *
+	 * @static
+	 * @access string
+	 * @param object $haystack
+	 * @param string $needle Note that the needle may be a string of one or more
+	 *     characters. If needle is not a string, it is converted to an integer
+	 *     and applied as the ordinal value of a character.
+	 * @param int $offset The optional offset parameter allows you to specify which
+	 *     character in haystack to start searching. The position returned is still
+	 *     relative to the beginning of haystack.
+	 * @return bool If needle is not found, stripos() will return boolean false.
+	 */
+	function stripos($haystack, $needle, $offset = 0)
+	{
+		if (function_exists('stripos'))
+		{
+			return stripos($haystack, $needle, $offset);
+		}
+		else
+		{
+			if (is_string($needle))
+			{
+				$needle = strtolower($needle);
+			}
+			elseif (is_int($needle) || is_bool($needle) || is_double($needle))
+			{
+				$needle = strtolower(chr($needle));
+			}
+			else
+			{
+				trigger_error('needle is not a string or an integer', E_USER_WARNING);
+				return false;
+			}
+
+			return strpos(strtolower($haystack), $needle, $offset);
+		}
+	}
+
+	/**
+	 * Similar to parse_str()
+	 *
+	 * Returns an associative array of name/value pairs, where the value is an
+	 * array of values that have used the same name
+	 *
+	 * @static
+	 * @access string
+	 * @param string $str The input string.
+	 * @return array
+	 */
+	function parse_str($str)
+	{
+		$return = array();
+		$str = explode('&', $str);
+
+		foreach ($str as $section)
+		{
+			if (strpos($section, '=') !== false)
+			{
+				list($name, $value) = explode('=', $section, 2);
+				$return[urldecode($name)][] = urldecode($value);
+			}
+			else
+			{
+				$return[urldecode($section)][] = null;
+			}
+		}
+
+		return $return;
+	}
+
+	/**
+	 * Detect XML encoding, as per XML 1.0 Appendix F.1
+	 *
+	 * @todo Add support for EBCDIC
+	 * @param string $data XML data
+	 * @return array Possible encodings
+	 */
+	function xml_encoding($data)
+	{
+		// UTF-32 Big Endian BOM
+		if (substr($data, 0, 4) === "\x00\x00\xFE\xFF")
+		{
+			$encoding[] = 'UTF-32BE';
+		}
+		// UTF-32 Little Endian BOM
+		elseif (substr($data, 0, 4) === "\xFF\xFE\x00\x00")
+		{
+			$encoding[] = 'UTF-32LE';
+		}
+		// UTF-16 Big Endian BOM
+		elseif (substr($data, 0, 2) === "\xFE\xFF")
+		{
+			$encoding[] = 'UTF-16BE';
+		}
+		// UTF-16 Little Endian BOM
+		elseif (substr($data, 0, 2) === "\xFF\xFE")
+		{
+			$encoding[] = 'UTF-16LE';
+		}
+		// UTF-8 BOM
+		elseif (substr($data, 0, 3) === "\xEF\xBB\xBF")
+		{
+			$encoding[] = 'UTF-8';
+		}
+		// UTF-32 Big Endian Without BOM
+		elseif (substr($data, 0, 20) === "\x00\x00\x00\x3C\x00\x00\x00\x3F\x00\x00\x00\x78\x00\x00\x00\x6D\x00\x00\x00\x6C")
+		{
+			if ($pos = strpos($data, "\x00\x00\x00\x3F\x00\x00\x00\x3E"))
+			{
+				$parser =& new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 20), 'UTF-32BE', 'UTF-8'));
+				if ($parser->parse())
+				{
+					$encoding[] = $parser->encoding;
+				}
+			}
+			$encoding[] = 'UTF-32BE';
+		}
+		// UTF-32 Little Endian Without BOM
+		elseif (substr($data, 0, 20) === "\x3C\x00\x00\x00\x3F\x00\x00\x00\x78\x00\x00\x00\x6D\x00\x00\x00\x6C\x00\x00\x00")
+		{
+			if ($pos = strpos($data, "\x3F\x00\x00\x00\x3E\x00\x00\x00"))
+			{
+				$parser =& new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 20), 'UTF-32LE', 'UTF-8'));
+				if ($parser->parse())
+				{
+					$encoding[] = $parser->encoding;
+				}
+			}
+			$encoding[] = 'UTF-32LE';
+		}
+		// UTF-16 Big Endian Without BOM
+		elseif (substr($data, 0, 10) === "\x00\x3C\x00\x3F\x00\x78\x00\x6D\x00\x6C")
+		{
+			if ($pos = strpos($data, "\x00\x3F\x00\x3E"))
+			{
+				$parser =& new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 10), 'UTF-16BE', 'UTF-8'));
+				if ($parser->parse())
+				{
+					$encoding[] = $parser->encoding;
+				}
+			}
+			$encoding[] = 'UTF-16BE';
+		}
+		// UTF-16 Little Endian Without BOM
+		elseif (substr($data, 0, 10) === "\x3C\x00\x3F\x00\x78\x00\x6D\x00\x6C\x00")
+		{
+			if ($pos = strpos($data, "\x3F\x00\x3E\x00"))
+			{
+				$parser =& new SimplePie_XML_Declaration_Parser(SimplePie_Misc::change_encoding(substr($data, 20, $pos - 10), 'UTF-16LE', 'UTF-8'));
+				if ($parser->parse())
+				{
+					$encoding[] = $parser->encoding;
+				}
+			}
+			$encoding[] = 'UTF-16LE';
+		}
+		// US-ASCII (or superset)
+		elseif (substr($data, 0, 5) === "\x3C\x3F\x78\x6D\x6C")
+		{
+			if ($pos = strpos($data, "\x3F\x3E"))
+			{
+				$parser =& new SimplePie_XML_Declaration_Parser(substr($data, 5, $pos - 5));
+				if ($parser->parse())
+				{
+					$encoding[] = $parser->encoding;
+				}
+			}
+			$encoding[] = 'UTF-8';
+		}
+		// Fallback to UTF-8
+		else
+		{
+			$encoding[] = 'UTF-8';
+		}
+		return $encoding;
+	}
+
+	function output_javascript()
+	{
+		if (function_exists('ob_gzhandler'))
+		{
+			ob_start('ob_gzhandler');
+		}
+		header('Content-type: text/javascript; charset: UTF-8');
+		header('Cache-Control: must-revalidate');
+		header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 604800) . ' GMT'); // 7 days
+		?>
+function embed_odeo(link) {
+	document.writeln('<embed src="http://odeo.com/flash/audio_player_fullsize.swf" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" quality="high" width="440" height="80" wmode="transparent" allowScriptAccess="any" flashvars="valid_sample_rate=true&external_url='+link+'"></embed>');
+}
+
+function embed_quicktime(type, bgcolor, width, height, link, placeholder, loop) {
+	if (placeholder != '') {
+		document.writeln('<embed type="'+type+'" style="cursor:hand; cursor:pointer;" href="'+link+'" src="'+placeholder+'" width="'+width+'" height="'+height+'" autoplay="false" target="myself" controller="false" loop="'+loop+'" scale="aspect" bgcolor="'+bgcolor+'" pluginspage="http://www.apple.com/quicktime/download/"></embed>');
+	}
+	else {
+		document.writeln('<embed type="'+type+'" style="cursor:hand; cursor:pointer;" src="'+link+'" width="'+width+'" height="'+height+'" autoplay="false" target="myself" controller="true" loop="'+loop+'" scale="aspect" bgcolor="'+bgcolor+'" pluginspage="http://www.apple.com/quicktime/download/"></embed>');
+	}
+}
+
+function embed_flash(bgcolor, width, height, link, loop, type) {
+	document.writeln('<embed src="'+link+'" pluginspage="http://www.macromedia.com/go/getflashplayer" type="'+type+'" quality="high" width="'+width+'" height="'+height+'" bgcolor="'+bgcolor+'" loop="'+loop+'"></embed>');
+}
+
+function embed_flv(width, height, link, placeholder, loop, player) {
+	document.writeln('<embed src="'+player+'" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" quality="high" width="'+width+'" height="'+height+'" wmode="transparent" flashvars="file='+link+'&autostart=false&repeat='+loop+'&showdigits=true&showfsbutton=false"></embed>');
+}
+
+function embed_wmedia(width, height, link) {
+	document.writeln('<embed type="application/x-mplayer2" src="'+link+'" autosize="1" width="'+width+'" height="'+height+'" showcontrols="1" showstatusbar="0" showdisplay="0" autostart="0"></embed>');
+}
+		<?php
+	}
+}
+
+/**
+ * Decode HTML Entities
+ *
+ * This implements HTML5 as of revision 967 (2007-06-28)
+ *
+ * @package SimplePie
+ */
+class SimplePie_Decode_HTML_Entities
+{
+	/**
+	 * Data to be parsed
+	 *
+	 * @access private
+	 * @var string
+	 */
+	var $data = '';
+
+	/**
+	 * Currently consumed bytes
+	 *
+	 * @access private
+	 * @var string
+	 */
+	var $consumed = '';
+
+	/**
+	 * Position of the current byte being parsed
+	 *
+	 * @access private
+	 * @var int
+	 */
+	var $position = 0;
+
+	/**
+	 * Create an instance of the class with the input data
+	 *
+	 * @access public
+	 * @param string $data Input data
+	 */
+	function SimplePie_Decode_HTML_Entities($data)
+	{
+		$this->data = $data;
+	}
+
+	/**
+	 * Parse the input data
+	 *
+	 * @access public
+	 * @return string Output data
+	 */
+	function parse()
+	{
+		while (($this->position = strpos($this->data, '&', $this->position)) !== false)
+		{
+			$this->consume();
+			$this->entity();
+			$this->consumed = '';
+		}
+		return $this->data;
+	}
+
+	/**
+	 * Consume the next byte
+	 *
+	 * @access private
+	 * @return mixed The next byte, or false, if there is no more data
+	 */
+	function consume()
+	{
+		if (isset($this->data[$this->position]))
+		{
+			$this->consumed .= $this->data[$this->position];
+			return $this->data[$this->position++];
+		}
+		else
+		{
+			return false;
+		}
+	}
+
+	/**
+	 * Consume a range of characters
+	 *
+	 * @access private
+	 * @param string $chars Characters to consume
+	 * @return mixed A series of characters that match the range, or false
+	 */
+	function consume_range($chars)
+	{
+		if ($len = strspn($this->data, $chars, $this->position))
+		{
+			$data = substr($this->data, $this->position, $len);
+			$this->consumed .= $data;
+			$this->position += $len;
+			return $data;
+		}
+		else
+		{
+			return false;
+		}
+	}
+
+	/**
+	 * Unconsume one byte
+	 *
+	 * @access private
+	 */
+	function unconsume()
+	{
+		$this->consumed = substr($this->consumed, 0, -1);
+		$this->position--;
+	}
+
+	/**
+	 * Decode an entity
+	 *
+	 * @access private
+	 */
+	function entity()
+	{
+		switch ($this->consume())
+		{
+			case "\x09":
+			case "\x0A":
+			case "\x0B":
+			case "\x0B":
+			case "\x0C":
+			case "\x20":
+			case "\x3C":
+			case "\x26":
+			case false:
+				break;
+
+			case "\x23":
+				switch ($this->consume())
+				{
+					case "\x78":
+					case "\x58":
+						$range = '0123456789ABCDEFabcdef';
+						$hex = true;
+						break;
+
+					default:
+						$range = '0123456789';
+						$hex = false;
+						$this->unconsume();
+						break;
+				}
+
+				if ($codepoint = $this->consume_range($range))
+				{
+					static $windows_1252_specials = array(0x0D => "\x0A", 0x80 => "\xE2\x82\xAC", 0x81 => "\xEF\xBF\xBD", 0x82 => "\xE2\x80\x9A", 0x83 => "\xC6\x92", 0x84 => "\xE2\x80\x9E", 0x85 => "\xE2\x80\xA6", 0x86 => "\xE2\x80\xA0", 0x87 => "\xE2\x80\xA1", 0x88 => "\xCB\x86", 0x89 => "\xE2\x80\xB0", 0x8A => "\xC5\xA0", 0x8B => "\xE2\x80\xB9", 0x8C => "\xC5\x92", 0x8D => "\xEF\xBF\xBD", 0x8E => "\xC5\xBD", 0x8F => "\xEF\xBF\xBD", 0x90 => "\xEF\xBF\xBD", 0x91 => "\xE2\x80\x98", 0x92 => "\xE2\x80\x99", 0x93 => "\xE2\x80\x9C", 0x94 => "\xE2\x80\x9D", 0x95 => "\xE2\x80\xA2", 0x96 => "\xE2\x80\x93", 0x97 => "\xE2\x80\x94", 0x98 => "\xCB\x9C", 0x99 => "\xE2\x84\xA2", 0x9A => "\xC5\xA1", 0x9B => "\xE2\x80\xBA", 0x9C => "\xC5\x93", 0x9D => "\xEF\xBF\xBD", 0x9E => "\xC5\xBE", 0x9F => "\xC5\xB8");
+
+					if ($hex)
+					{
+						$codepoint = hexdec($codepoint);
+					}
+					else
+					{
+						$codepoint = intval($codepoint);
+					}
+
+					if (isset($windows_1252_specials[$codepoint]))
+					{
+						$replacement = $windows_1252_specials[$codepoint];
+					}
+					else
+					{
+						$replacement = SimplePie_Misc::codepoint_to_utf8($codepoint);
+					}
+
+					if (!in_array($this->consume(), array(';', false), true))
+					{
+						$this->unconsume();
+					}
+
+					$consumed_length = strlen($this->consumed);
+					$this->data = substr_replace($this->data, $replacement, $this->position - $consumed_length, $consumed_length);
+					$this->position += strlen($replacement) - $consumed_length;
+				}
+				break;
+
+			default:
+				static $entities = array('Aacute' => "\xC3\x81", 'aacute' => "\xC3\xA1", 'Aacute;' => "\xC3\x81", 'aacute;' => "\xC3\xA1", 'Acirc' => "\xC3\x82", 'acirc' => "\xC3\xA2", 'Acirc;' => "\xC3\x82", 'acirc;' => "\xC3\xA2", 'acute' => "\xC2\xB4", 'acute;' => "\xC2\xB4", 'AElig' => "\xC3\x86", 'aelig' => "\xC3\xA6", 'AElig;' => "\xC3\x86", 'aelig;' => "\xC3\xA6", 'Agrave' => "\xC3\x80", 'agrave' => "\xC3\xA0", 'Agrave;' => "\xC3\x80", 'agrave;' => "\xC3\xA0", 'alefsym;' => "\xE2\x84\xB5", 'Alpha;' => "\xCE\x91", 'alpha;' => "\xCE\xB1", 'AMP' => "\x26", 'amp' => "\x26", 'AMP;' => "\x26", 'amp;' => "\x26", 'and;' => "\xE2\x88\xA7", 'ang;' => "\xE2\x88\xA0", 'apos;' => "\x27", 'Aring' => "\xC3\x85", 'aring' => "\xC3\xA5", 'Aring;' => "\xC3\x85", 'aring;' => "\xC3\xA5", 'asymp;' => "\xE2\x89\x88", 'Atilde' => "\xC3\x83", 'atilde' => "\xC3\xA3", 'Atilde;' => "\xC3\x83", 'atilde;' => "\xC3\xA3", 'Auml' => "\xC3\x84", 'auml' => "\xC3\xA4", 'Auml;' => "\xC3\x84", 'auml;' => "\xC3\xA4", 'bdquo;' => "\xE2\x80\x9E", 'Beta;' => "\xCE\x92", 'beta;' => "\xCE\xB2", 'brvbar' => "\xC2\xA6", 'brvbar;' => "\xC2\xA6", 'bull;' => "\xE2\x80\xA2", 'cap;' => "\xE2\x88\xA9", 'Ccedil' => "\xC3\x87", 'ccedil' => "\xC3\xA7", 'Ccedil;' => "\xC3\x87", 'ccedil;' => "\xC3\xA7", 'cedil' => "\xC2\xB8", 'cedil;' => "\xC2\xB8", 'cent' => "\xC2\xA2", 'cent;' => "\xC2\xA2", 'Chi;' => "\xCE\xA7", 'chi;' => "\xCF\x87", 'circ;' => "\xCB\x86", 'clubs;' => "\xE2\x99\xA3", 'cong;' => "\xE2\x89\x85", 'COPY' => "\xC2\xA9", 'copy' => "\xC2\xA9", 'COPY;' => "\xC2\xA9", 'copy;' => "\xC2\xA9", 'crarr;' => "\xE2\x86\xB5", 'cup;' => "\xE2\x88\xAA", 'curren' => "\xC2\xA4", 'curren;' => "\xC2\xA4", 'Dagger;' => "\xE2\x80\xA1", 'dagger;' => "\xE2\x80\xA0", 'dArr;' => "\xE2\x87\x93", 'darr;' => "\xE2\x86\x93", 'deg' => "\xC2\xB0", 'deg;' => "\xC2\xB0", 'Delta;' => "\xCE\x94", 'delta;' => "\xCE\xB4", 'diams;' => "\xE2\x99\xA6", 'divide' => "\xC3\xB7", 'divide;' => "\xC3\xB7", 'Eacute' => "\xC3\x89", 'eacute' => "\xC3\xA9", 'Eacute;' => "\xC3\x89", 'eacute;' => "\xC3\xA9", 'Ecirc' => "\xC3\x8A", 'ecirc' => "\xC3\xAA", 'Ecirc;' => "\xC3\x8A", 'ecirc;' => "\xC3\xAA", 'Egrave' => "\xC3\x88", 'egrave' => "\xC3\xA8", 'Egrave;' => "\xC3\x88", 'egrave;' => "\xC3\xA8", 'empty;' => "\xE2\x88\x85", 'emsp;' => "\xE2\x80\x83", 'ensp;' => "\xE2\x80\x82", 'Epsilon;' => "\xCE\x95", 'epsilon;' => "\xCE\xB5", 'equiv;' => "\xE2\x89\xA1", 'Eta;' => "\xCE\x97", 'eta;' => "\xCE\xB7", 'ETH' => "\xC3\x90", 'eth' => "\xC3\xB0", 'ETH;' => "\xC3\x90", 'eth;' => "\xC3\xB0", 'Euml' => "\xC3\x8B", 'euml' => "\xC3\xAB", 'Euml;' => "\xC3\x8B", 'euml;' => "\xC3\xAB", 'euro;' => "\xE2\x82\xAC", 'exist;' => "\xE2\x88\x83", 'fnof;' => "\xC6\x92", 'forall;' => "\xE2\x88\x80", 'frac12' => "\xC2\xBD", 'frac12;' => "\xC2\xBD", 'frac14' => "\xC2\xBC", 'frac14;' => "\xC2\xBC", 'frac34' => "\xC2\xBE", 'frac34;' => "\xC2\xBE", 'frasl;' => "\xE2\x81\x84", 'Gamma;' => "\xCE\x93", 'gamma;' => "\xCE\xB3", 'ge;' => "\xE2\x89\xA5", 'GT' => "\x3E", 'gt' => "\x3E", 'GT;' => "\x3E", 'gt;' => "\x3E", 'hArr;' => "\xE2\x87\x94", 'harr;' => "\xE2\x86\x94", 'hearts;' => "\xE2\x99\xA5", 'hellip;' => "\xE2\x80\xA6", 'Iacute' => "\xC3\x8D", 'iacute' => "\xC3\xAD", 'Iacute;' => "\xC3\x8D", 'iacute;' => "\xC3\xAD", 'Icirc' => "\xC3\x8E", 'icirc' => "\xC3\xAE", 'Icirc;' => "\xC3\x8E", 'icirc;' => "\xC3\xAE", 'iexcl' => "\xC2\xA1", 'iexcl;' => "\xC2\xA1", 'Igrave' => "\xC3\x8C", 'igrave' => "\xC3\xAC", 'Igrave;' => "\xC3\x8C", 'igrave;' => "\xC3\xAC", 'image;' => "\xE2\x84\x91", 'infin;' => "\xE2\x88\x9E", 'int;' => "\xE2\x88\xAB", 'Iota;' => "\xCE\x99", 'iota;' => "\xCE\xB9", 'iquest' => "\xC2\xBF", 'iquest;' => "\xC2\xBF", 'isin;' => "\xE2\x88\x88", 'Iuml' => "\xC3\x8F", 'iuml' => "\xC3\xAF", 'Iuml;' => "\xC3\x8F", 'iuml;' => "\xC3\xAF", 'Kappa;' => "\xCE\x9A", 'kappa;' => "\xCE\xBA", 'Lambda;' => "\xCE\x9B", 'lambda;' => "\xCE\xBB", 'lang;' => "\xE3\x80\x88", 'laquo' => "\xC2\xAB", 'laquo;' => "\xC2\xAB", 'lArr;' => "\xE2\x87\x90", 'larr;' => "\xE2\x86\x90", 'lceil;' => "\xE2\x8C\x88", 'ldquo;' => "\xE2\x80\x9C", 'le;' => "\xE2\x89\xA4", 'lfloor;' => "\xE2\x8C\x8A", 'lowast;' => "\xE2\x88\x97", 'loz;' => "\xE2\x97\x8A", 'lrm;' => "\xE2\x80\x8E", 'lsaquo;' => "\xE2\x80\xB9", 'lsquo;' => "\xE2\x80\x98", 'LT' => "\x3C", 'lt' => "\x3C", 'LT;' => "\x3C", 'lt;' => "\x3C", 'macr' => "\xC2\xAF", 'macr;' => "\xC2\xAF", 'mdash;' => "\xE2\x80\x94", 'micro' => "\xC2\xB5", 'micro;' => "\xC2\xB5", 'middot' => "\xC2\xB7", 'middot;' => "\xC2\xB7", 'minus;' => "\xE2\x88\x92", 'Mu;' => "\xCE\x9C", 'mu;' => "\xCE\xBC", 'nabla;' => "\xE2\x88\x87", 'nbsp' => "\xC2\xA0", 'nbsp;' => "\xC2\xA0", 'ndash;' => "\xE2\x80\x93", 'ne;' => "\xE2\x89\xA0", 'ni;' => "\xE2\x88\x8B", 'not' => "\xC2\xAC", 'not;' => "\xC2\xAC", 'notin;' => "\xE2\x88\x89", 'nsub;' => "\xE2\x8A\x84", 'Ntilde' => "\xC3\x91", 'ntilde' => "\xC3\xB1", 'Ntilde;' => "\xC3\x91", 'ntilde;' => "\xC3\xB1", 'Nu;' => "\xCE\x9D", 'nu;' => "\xCE\xBD", 'Oacute' => "\xC3\x93", 'oacute' => "\xC3\xB3", 'Oacute;' => "\xC3\x93", 'oacute;' => "\xC3\xB3", 'Ocirc' => "\xC3\x94", 'ocirc' => "\xC3\xB4", 'Ocirc;' => "\xC3\x94", 'ocirc;' => "\xC3\xB4", 'OElig;' => "\xC5\x92", 'oelig;' => "\xC5\x93", 'Ograve' => "\xC3\x92", 'ograve' => "\xC3\xB2", 'Ograve;' => "\xC3\x92", 'ograve;' => "\xC3\xB2", 'oline;' => "\xE2\x80\xBE", 'Omega;' => "\xCE\xA9", 'omega;' => "\xCF\x89", 'Omicron;' => "\xCE\x9F", 'omicron;' => "\xCE\xBF", 'oplus;' => "\xE2\x8A\x95", 'or;' => "\xE2\x88\xA8", 'ordf' => "\xC2\xAA", 'ordf;' => "\xC2\xAA", 'ordm' => "\xC2\xBA", 'ordm;' => "\xC2\xBA", 'Oslash' => "\xC3\x98", 'oslash' => "\xC3\xB8", 'Oslash;' => "\xC3\x98", 'oslash;' => "\xC3\xB8", 'Otilde' => "\xC3\x95", 'otilde' => "\xC3\xB5", 'Otilde;' => "\xC3\x95", 'otilde;' => "\xC3\xB5", 'otimes;' => "\xE2\x8A\x97", 'Ouml' => "\xC3\x96", 'ouml' => "\xC3\xB6", 'Ouml;' => "\xC3\x96", 'ouml;' => "\xC3\xB6", 'para' => "\xC2\xB6", 'para;' => "\xC2\xB6", 'part;' => "\xE2\x88\x82", 'permil;' => "\xE2\x80\xB0", 'perp;' => "\xE2\x8A\xA5", 'Phi;' => "\xCE\xA6", 'phi;' => "\xCF\x86", 'Pi;' => "\xCE\xA0", 'pi;' => "\xCF\x80", 'piv;' => "\xCF\x96", 'plusmn' => "\xC2\xB1", 'plusmn;' => "\xC2\xB1", 'pound' => "\xC2\xA3", 'pound;' => "\xC2\xA3", 'Prime;' => "\xE2\x80\xB3", 'prime;' => "\xE2\x80\xB2", 'prod;' => "\xE2\x88\x8F", 'prop;' => "\xE2\x88\x9D", 'Psi;' => "\xCE\xA8", 'psi;' => "\xCF\x88", 'QUOT' => "\x22", 'quot' => "\x22", 'QUOT;' => "\x22", 'quot;' => "\x22", 'radic;' => "\xE2\x88\x9A", 'rang;' => "\xE3\x80\x89", 'raquo' => "\xC2\xBB", 'raquo;' => "\xC2\xBB", 'rArr;' => "\xE2\x87\x92", 'rarr;' => "\xE2\x86\x92", 'rceil;' => "\xE2\x8C\x89", 'rdquo;' => "\xE2\x80\x9D", 'real;' => "\xE2\x84\x9C", 'REG' => "\xC2\xAE", 'reg' => "\xC2\xAE", 'REG;' => "\xC2\xAE", 'reg;' => "\xC2\xAE", 'rfloor;' => "\xE2\x8C\x8B", 'Rho;' => "\xCE\xA1", 'rho;' => "\xCF\x81", 'rlm;' => "\xE2\x80\x8F", 'rsaquo;' => "\xE2\x80\xBA", 'rsquo;' => "\xE2\x80\x99", 'sbquo;' => "\xE2\x80\x9A", 'Scaron;' => "\xC5\xA0", 'scaron;' => "\xC5\xA1", 'sdot;' => "\xE2\x8B\x85", 'sect' => "\xC2\xA7", 'sect;' => "\xC2\xA7", 'shy' => "\xC2\xAD", 'shy;' => "\xC2\xAD", 'Sigma;' => "\xCE\xA3", 'sigma;' => "\xCF\x83", 'sigmaf;' => "\xCF\x82", 'sim;' => "\xE2\x88\xBC", 'spades;' => "\xE2\x99\xA0", 'sub;' => "\xE2\x8A\x82", 'sube;' => "\xE2\x8A\x86", 'sum;' => "\xE2\x88\x91", 'sup;' => "\xE2\x8A\x83", 'sup1' => "\xC2\xB9", 'sup1;' => "\xC2\xB9", 'sup2' => "\xC2\xB2", 'sup2;' => "\xC2\xB2", 'sup3' => "\xC2\xB3", 'sup3;' => "\xC2\xB3", 'supe;' => "\xE2\x8A\x87", 'szlig' => "\xC3\x9F", 'szlig;' => "\xC3\x9F", 'Tau;' => "\xCE\xA4", 'tau;' => "\xCF\x84", 'there4;' => "\xE2\x88\xB4", 'Theta;' => "\xCE\x98", 'theta;' => "\xCE\xB8", 'thetasym;' => "\xCF\x91", 'thinsp;' => "\xE2\x80\x89", 'THORN' => "\xC3\x9E", 'thorn' => "\xC3\xBE", 'THORN;' => "\xC3\x9E", 'thorn;' => "\xC3\xBE", 'tilde;' => "\xCB\x9C", 'times' => "\xC3\x97", 'times;' => "\xC3\x97", 'TRADE;' => "\xE2\x84\xA2", 'trade;' => "\xE2\x84\xA2", 'Uacute' => "\xC3\x9A", 'uacute' => "\xC3\xBA", 'Uacute;' => "\xC3\x9A", 'uacute;' => "\xC3\xBA", 'uArr;' => "\xE2\x87\x91", 'uarr;' => "\xE2\x86\x91", 'Ucirc' => "\xC3\x9B", 'ucirc' => "\xC3\xBB", 'Ucirc;' => "\xC3\x9B", 'ucirc;' => "\xC3\xBB", 'Ugrave' => "\xC3\x99", 'ugrave' => "\xC3\xB9", 'Ugrave;' => "\xC3\x99", 'ugrave;' => "\xC3\xB9", 'uml' => "\xC2\xA8", 'uml;' => "\xC2\xA8", 'upsih;' => "\xCF\x92", 'Upsilon;' => "\xCE\xA5", 'upsilon;' => "\xCF\x85", 'Uuml' => "\xC3\x9C", 'uuml' => "\xC3\xBC", 'Uuml;' => "\xC3\x9C", 'uuml;' => "\xC3\xBC", 'weierp;' => "\xE2\x84\x98", 'Xi;' => "\xCE\x9E", 'xi;' => "\xCE\xBE", 'Yacute' => "\xC3\x9D", 'yacute' => "\xC3\xBD", 'Yacute;' => "\xC3\x9D", 'yacute;' => "\xC3\xBD", 'yen' => "\xC2\xA5", 'yen;' => "\xC2\xA5", 'yuml' => "\xC3\xBF", 'Yuml;' => "\xC5\xB8", 'yuml;' => "\xC3\xBF", 'Zeta;' => "\xCE\x96", 'zeta;' => "\xCE\xB6", 'zwj;' => "\xE2\x80\x8D", 'zwnj;' => "\xE2\x80\x8C");
+
+				for ($i = 0, $match = null; $i < 9 && $this->consume() !== false; $i++)
+				{
+					$consumed = substr($this->consumed, 1);
+					if (isset($entities[$consumed]))
+					{
+						$match = $consumed;
+					}
+				}
+
+				if ($match !== null)
+				{
+ 					$this->data = substr_replace($this->data, $entities[$match], $this->position - strlen($consumed) - 1, strlen($match) + 1);
+					$this->position += strlen($entities[$match]) - strlen($consumed) - 1;
+				}
+				break;
+		}
+	}
+}
+
+/**
+ * IRI parser/serialiser
+ *
+ * @package SimplePie
+ */
+class SimplePie_IRI
+{
+	/**
+	 * Scheme
+	 *
+	 * @access private
+	 * @var string
+	 */
+	var $scheme;
+
+	/**
+	 * User Information
+	 *
+	 * @access private
+	 * @var string
+	 */
+	var $userinfo;
+
+	/**
+	 * Host
+	 *
+	 * @access private
+	 * @var string
+	 */
+	var $host;
+
+	/**
+	 * Port
+	 *
+	 * @access private
+	 * @var string
+	 */
+	var $port;
+
+	/**
+	 * Path
+	 *
+	 * @access private
+	 * @var string
+	 */
+	var $path;
+
+	/**
+	 * Query
+	 *
+	 * @access private
+	 * @var string
+	 */
+	var $query;
+
+	/**
+	 * Fragment
+	 *
+	 * @access private
+	 * @var string
+	 */
+	var $fragment;
+
+	/**
+	 * Whether the object represents a valid IRI
+	 *
+	 * @access private
+	 * @var array
+	 */
+	var $valid = array();
+
+	/**
+	 * Return the entire IRI when you try and read the object as a string
+	 *
+	 * @access public
+	 * @return string
+	 */
+	function __toString()
+	{
+		return $this->get_iri();
+	}
+
+	/**
+	 * Create a new IRI object, from a specified string
+	 *
+	 * @access public
+	 * @param string $iri
+	 * @return SimplePie_IRI
+	 */
+	function SimplePie_IRI($iri)
+	{
+		$iri = (string) $iri;
+		if ($iri !== '')
+		{
+			$parsed = $this->parse_iri($iri);
+			$this->set_scheme($parsed['scheme']);
+			$this->set_authority($parsed['authority']);
+			$this->set_path($parsed['path']);
+			$this->set_query($parsed['query']);
+			$this->set_fragment($parsed['fragment']);
+		}
+	}
+
+	/**
+	 * Create a new IRI object by resolving a relative IRI
+	 *
+	 * @static
+	 * @access public
+	 * @param SimplePie_IRI $base Base IRI
+	 * @param string $relative Relative IRI
+	 * @return SimplePie_IRI
+	 */
+	function absolutize($base, $relative)
+	{
+		$relative = (string) $relative;
+		if ($relative !== '')
+		{
+			$relative =& new SimplePie_IRI($relative);
+			if ($relative->get_scheme() !== null)
+			{
+				$target = $relative;
+			}
+			elseif ($base->get_iri() !== null)
+			{
+				if ($relative->get_authority() !== null)
+				{
+					$target = $relative;
+					$target->set_scheme($base->get_scheme());
+				}
+				else
+				{
+					$target =& new SimplePie_IRI('');
+					$target->set_scheme($base->get_scheme());
+					$target->set_userinfo($base->get_userinfo());
+					$target->set_host($base->get_host());
+					$target->set_port($base->get_port());
+					if ($relative->get_path() !== null)
+					{
+						if (strpos($relative->get_path(), '/') === 0)
+						{
+							$target->set_path($relative->get_path());
+						}
+						elseif (($base->get_userinfo() !== null || $base->get_host() !== null || $base->get_port() !== null) && $base->get_path() === null)
+						{
+							$target->set_path('/' . $relative->get_path());
+						}
+						elseif (($last_segment = strrpos($base->get_path(), '/')) !== false)
+						{
+							$target->set_path(substr($base->get_path(), 0, $last_segment + 1) . $relative->get_path());
+						}
+						else
+						{
+							$target->set_path($relative->get_path());
+						}
+						$target->set_query($relative->get_query());
+					}
+					else
+					{
+						$target->set_path($base->get_path());
+						if ($relative->get_query() !== null)
+						{
+							$target->set_query($relative->get_query());
+						}
+						elseif ($base->get_query() !== null)
+						{
+							$target->set_query($base->get_query());
+						}
+					}
+				}
+				$target->set_fragment($relative->get_fragment());
+			}
+			else
+			{
+				// No base URL, just return the relative URL
+				$target = $relative;
+			}
+		}
+		else
+		{
+			$target = $base;
+		}
+		return $target;
+	}
+
+	/**
+	 * Parse an IRI into scheme/authority/path/query/fragment segments
+	 *
+	 * @access private
+	 * @param string $iri
+	 * @return array
+	 */
+	function parse_iri($iri)
+	{
+		preg_match('/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/', $iri, $match);
+		for ($i = count($match); $i <= 9; $i++)
+		{
+			$match[$i] = '';
+		}
+		return array('scheme' => $match[2], 'authority' => $match[4], 'path' => $match[5], 'query' => $match[7], 'fragment' => $match[9]);
+	}
+
+	/**
+	 * Remove dot segments from a path
+	 *
+	 * @access private
+	 * @param string $input
+	 * @return string
+	 */
+	function remove_dot_segments($input)
+	{
+		$output = '';
+		while (strpos($input, './') !== false || strpos($input, '/.') !== false || $input === '.' || $input === '..')
+		{
+			// A: If the input buffer begins with a prefix of "../" or "./", then remove that prefix from the input buffer; otherwise,
+			if (strpos($input, '../') === 0)
+			{
+				$input = substr($input, 3);
+			}
+			elseif (strpos($input, './') === 0)
+			{
+				$input = substr($input, 2);
+			}
+			// B: if the input buffer begins with a prefix of "/./" or "/.", where "." is a complete path segment, then replace that prefix with "/" in the input buffer; otherwise,
+			elseif (strpos($input, '/./') === 0)
+			{
+				$input = substr_replace($input, '/', 0, 3);
+			}
+			elseif ($input === '/.')
+			{
+				$input = '/';
+			}
+			// C: if the input buffer begins with a prefix of "/../" or "/..", where ".." is a complete path segment, then replace that prefix with "/" in the input buffer and remove the last segment and its preceding "/" (if any) from the output buffer; otherwise,
+			elseif (strpos($input, '/../') === 0)
+			{
+				$input = substr_replace($input, '/', 0, 4);
+				$output = substr_replace($output, '', strrpos($output, '/'));
+			}
+			elseif ($input === '/..')
+			{
+				$input = '/';
+				$output = substr_replace($output, '', strrpos($output, '/'));
+			}
+			// D: if the input buffer consists only of "." or "..", then remove that from the input buffer; otherwise,
+			elseif ($input === '.' || $input === '..')
+			{
+				$input = '';
+			}
+			// E: move the first path segment in the input buffer to the end of the output buffer, including the initial "/" character (if any) and any subsequent characters up to, but not including, the next "/" character or the end of the input buffer
+			elseif (($pos = strpos($input, '/', 1)) !== false)
+			{
+				$output .= substr($input, 0, $pos);
+				$input = substr_replace($input, '', 0, $pos);
+			}
+			else
+			{
+				$output .= $input;
+				$input = '';
+			}
+		}
+		return $output . $input;
+	}
+
+	/**
+	 * Replace invalid character with percent encoding
+	 *
+	 * @access private
+	 * @param string $string Input string
+	 * @param string $valid_chars Valid characters
+	 * @param int $case Normalise case
+	 * @return string
+	 */
+	function replace_invalid_with_pct_encoding($string, $valid_chars, $case = SIMPLEPIE_SAME_CASE)
+	{
+		// Normalise case
+		if ($case & SIMPLEPIE_LOWERCASE)
+		{
+			$string = strtolower($string);
+		}
+		elseif ($case & SIMPLEPIE_UPPERCASE)
+		{
+			$string = strtoupper($string);
+		}
+
+		// Store position and string length (to avoid constantly recalculating this)
+		$position = 0;
+		$strlen = strlen($string);
+
+		// Loop as long as we have invalid characters, advancing the position to the next invalid character
+		while (($position += strspn($string, $valid_chars, $position)) < $strlen)
+		{
+			// If we have a % character
+			if ($string[$position] === '%')
+			{
+				// If we have a pct-encoded section
+				if ($position + 2 < $strlen && strspn($string, '0123456789ABCDEFabcdef', $position + 1, 2) === 2)
+				{
+					// Get the the represented character
+					$chr = chr(hexdec(substr($string, $position + 1, 2)));
+
+					// If the character is valid, replace the pct-encoded with the actual character while normalising case
+					if (strpos($valid_chars, $chr) !== false)
+					{
+						if ($case & SIMPLEPIE_LOWERCASE)
+						{
+							$chr = strtolower($chr);
+						}
+						elseif ($case & SIMPLEPIE_UPPERCASE)
+						{
+							$chr = strtoupper($chr);
+						}
+						$string = substr_replace($string, $chr, $position, 3);
+						$strlen -= 2;
+						$position++;
+					}
+
+					// Otherwise just normalise the pct-encoded to uppercase
+					else
+					{
+						$string = substr_replace($string, strtoupper(substr($string, $position + 1, 2)), $position + 1, 2);
+						$position += 3;
+					}
+				}
+				// If we don't have a pct-encoded section, just replace the % with its own esccaped form
+				else
+				{
+					$string = substr_replace($string, '%25', $position, 1);
+					$strlen += 2;
+					$position += 3;
+				}
+			}
+			// If we have an invalid character, change into its pct-encoded form
+			else
+			{
+				$replacement = sprintf("%%%02X", ord($string[$position]));
+				$string = str_replace($string[$position], $replacement, $string);
+				$strlen = strlen($string);
+			}
+		}
+		return $string;
+	}
+
+	/**
+	 * Check if the object represents a valid IRI
+	 *
+	 * @access public
+	 * @return bool
+	 */
+	function is_valid()
+	{
+		return array_sum($this->valid) === count($this->valid);
+	}
+
+	/**
+	 * Set the scheme. Returns true on success, false on failure (if there are
+	 * any invalid characters).
+	 *
+	 * @access public
+	 * @param string $scheme
+	 * @return bool
+	 */
+	function set_scheme($scheme)
+	{
+		if ($scheme === null || $scheme === '')
+		{
+			$this->scheme = null;
+		}
+		else
+		{
+			$len = strlen($scheme);
+			switch (true)
+			{
+				case $len > 1:
+					if (!strspn($scheme, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-.', 1))
+					{
+						$this->scheme = null;
+						$this->valid[__FUNCTION__] = false;
+						return false;
+					}
+
+				case $len > 0:
+					if (!strspn($scheme, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', 0, 1))
+					{
+						$this->scheme = null;
+						$this->valid[__FUNCTION__] = false;
+						return false;
+					}
+			}
+			$this->scheme = strtolower($scheme);
+		}
+		$this->valid[__FUNCTION__] = true;
+		return true;
+	}
+
+	/**
+	 * Set the authority. Returns true on success, false on failure (if there are
+	 * any invalid characters).
+	 *
+	 * @access public
+	 * @param string $authority
+	 * @return bool
+	 */
+	function set_authority($authority)
+	{
+		if (($userinfo_end = strrpos($authority, '@')) !== false)
+		{
+			$userinfo = substr($authority, 0, $userinfo_end);
+			$authority = substr($authority, $userinfo_end + 1);
+		}
+		else
+		{
+			$userinfo = null;
+		}
+
+		if (($port_start = strpos($authority, ':')) !== false)
+		{
+			$port = substr($authority, $port_start + 1);
+			$authority = substr($authority, 0, $port_start);
+		}
+		else
+		{
+			$port = null;
+		}
+
+		return $this->set_userinfo($userinfo) && $this->set_host($authority) && $this->set_port($port);
+	}
+
+	/**
+	 * Set the userinfo.
+	 *
+	 * @access public
+	 * @param string $userinfo
+	 * @return bool
+	 */
+	function set_userinfo($userinfo)
+	{
+		if ($userinfo === null || $userinfo === '')
+		{
+			$this->userinfo = null;
+		}
+		else
+		{
+			$this->userinfo = $this->replace_invalid_with_pct_encoding($userinfo, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~!$&\'()*+,;=:');
+		}
+		$this->valid[__FUNCTION__] = true;
+		return true;
+	}
+
+	/**
+	 * Set the host. Returns true on success, false on failure (if there are
+	 * any invalid characters).
+	 *
+	 * @access public
+	 * @param string $host
+	 * @return bool
+	 */
+	function set_host($host)
+	{
+		if ($host === null || $host === '')
+		{
+			$this->host = null;
+			$this->valid[__FUNCTION__] = true;
+			return true;
+		}
+		elseif ($host[0] === '[' && substr($host, -1) === ']')
+		{
+			if (Net_IPv6::checkIPv6(substr($host, 1, -1)))
+			{
+				$this->host = $host;
+				$this->valid[__FUNCTION__] = true;
+				return true;
+			}
+			else
+			{
+				$this->host = null;
+				$this->valid[__FUNCTION__] = false;
+				return false;
+			}
+		}
+		else
+		{
+			$this->host = $this->replace_invalid_with_pct_encoding($host, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~!$&\'()*+,;=', SIMPLEPIE_LOWERCASE);
+			$this->valid[__FUNCTION__] = true;
+			return true;
+		}
+	}
+
+	/**
+	 * Set the port. Returns true on success, false on failure (if there are
+	 * any invalid characters).
+	 *
+	 * @access public
+	 * @param string $port
+	 * @return bool
+	 */
+	function set_port($port)
+	{
+		if ($port === null || $port === '')
+		{
+			$this->port = null;
+			$this->valid[__FUNCTION__] = true;
+			return true;
+		}
+		elseif (strspn($port, '0123456789') === strlen($port))
+		{
+			$this->port = (int) $port;
+			$this->valid[__FUNCTION__] = true;
+			return true;
+		}
+		else
+		{
+			$this->port = null;
+			$this->valid[__FUNCTION__] = false;
+			return false;
+		}
+	}
+
+	/**
+	 * Set the path.
+	 *
+	 * @access public
+	 * @param string $path
+	 * @return bool
+	 */
+	function set_path($path)
+	{
+		if ($path === null || $path === '')
+		{
+			$this->path = null;
+			$this->valid[__FUNCTION__] = true;
+			return true;
+		}
+		elseif (substr($path, 0, 2) === '//' && $this->userinfo === null && $this->host === null && $this->port === null)
+		{
+			$this->path = null;
+			$this->valid[__FUNCTION__] = false;
+			return false;
+		}
+		else
+		{
+			$this->path = $this->replace_invalid_with_pct_encoding($path, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~!$&\'()*+,;=@/');
+			if ($this->scheme !== null)
+			{
+				$this->path = $this->remove_dot_segments($this->path);
+			}
+			$this->valid[__FUNCTION__] = true;
+			return true;
+		}
+	}
+
+	/**
+	 * Set the query.
+	 *
+	 * @access public
+	 * @param string $query
+	 * @return bool
+	 */
+	function set_query($query)
+	{
+		if ($query === null || $query === '')
+		{
+			$this->query = null;
+		}
+		else
+		{
+			$this->query = $this->replace_invalid_with_pct_encoding($query, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~!$\'()*+,;:@/?');
+		}
+		$this->valid[__FUNCTION__] = true;
+		return true;
+	}
+
+	/**
+	 * Set the fragment.
+	 *
+	 * @access public
+	 * @param string $fragment
+	 * @return bool
+	 */
+	function set_fragment($fragment)
+	{
+		if ($fragment === null || $fragment === '')
+		{
+			$this->fragment = null;
+		}
+		else
+		{
+			$this->fragment = $this->replace_invalid_with_pct_encoding($fragment, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~!$&\'()*+,;=:@/?');
+		}
+		$this->valid[__FUNCTION__] = true;
+		return true;
+	}
+
+	/**
+	 * Get the complete IRI
+	 *
+	 * @access public
+	 * @return string
+	 */
+	function get_iri()
+	{
+		$iri = '';
+		if ($this->scheme !== null)
+		{
+			$iri .= $this->scheme . ':';
+		}
+		if (($authority = $this->get_authority()) !== null)
+		{
+			$iri .= '//' . $authority;
+		}
+		if ($this->path !== null)
+		{
+			$iri .= $this->path;
+		}
+		if ($this->query !== null)
+		{
+			$iri .= '?' . $this->query;
+		}
+		if ($this->fragment !== null)
+		{
+			$iri .= '#' . $this->fragment;
+		}
+
+		if ($iri !== '')
+		{
+			return $iri;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	/**
+	 * Get the scheme
+	 *
+	 * @access public
+	 * @return string
+	 */
+	function get_scheme()
+	{
+		return $this->scheme;
+	}
+
+	/**
+	 * Get the complete authority
+	 *
+	 * @access public
+	 * @return string
+	 */
+	function get_authority()
+	{
+		$authority = '';
+		if ($this->userinfo !== null)
+		{
+			$authority .= $this->userinfo . '@';
+		}
+		if ($this->host !== null)
+		{
+			$authority .= $this->host;
+		}
+		if ($this->port !== null)
+		{
+			$authority .= ':' . $this->port;
+		}
+
+		if ($authority !== '')
+		{
+			return $authority;
+		}
+		else
+		{
+			return null;
+		}
+	}
+
+	/**
+	 * Get the user information
+	 *
+	 * @access public
+	 * @return string
+	 */
+	function get_userinfo()
+	{
+		return $this->userinfo;
+	}
+
+	/**
+	 * Get the host
+	 *
+	 * @access public
+	 * @return string
+	 */
+	function get_host()
+	{
+		return $this->host;
+	}
+
+	/**
+	 * Get the port
+	 *
+	 * @access public
+	 * @return string
+	 */
+	function get_port()
+	{
+		return $this->port;
+	}
+
+	/**
+	 * Get the path
+	 *
+	 * @access public
+	 * @return string
+	 */
+	function get_path()
+	{
+		return $this->path;
+	}
+
+	/**
+	 * Get the query
+	 *
+	 * @access public
+	 * @return string
+	 */
+	function get_query()
+	{
+		return $this->query;
+	}
+
+	/**
+	 * Get the fragment
+	 *
+	 * @access public
+	 * @return string
+	 */
+	function get_fragment()
+	{
+		return $this->fragment;
+	}
+}
+
+/**
+ * Class to validate and to work with IPv6 addresses.
+ *
+ * @package SimplePie
+ * @copyright 2003-2005 The PHP Group
+ * @license http://www.opensource.org/licenses/bsd-license.php
+ * @link http://pear.php.net/package/Net_IPv6
+ * @author Alexander Merz <alexander.merz@web.de>
+ * @author elfrink at introweb dot nl
+ * @author Josh Peck <jmp at joshpeck dot org>
+ * @author Geoffrey Sneddon <geoffers@gmail.com>
+ */
+class SimplePie_Net_IPv6
+{
+	/**
+	 * Removes a possible existing netmask specification of an IP address.
+	 *
+	 * @param string $ip the (compressed) IP as Hex representation
+	 * @return string the IP the without netmask
+	 * @since 1.1.0
+	 * @access public
+	 * @static
+	 */
+	function removeNetmaskSpec($ip)
+	{
+		if (strpos($ip, '/') !== false)
+		{
+			list($addr, $nm) = explode('/', $ip);
+		}
+		else
+		{
+			$addr = $ip;
+		}
+		return $addr;
+	}
+
+	/**
+	 * Uncompresses an IPv6 address
+	 *
+	 * RFC 2373 allows you to compress zeros in an address to '::'. This
+	 * function expects an valid IPv6 address and expands the '::' to
+	 * the required zeros.
+	 *
+	 * Example:	 FF01::101	->	FF01:0:0:0:0:0:0:101
+	 *			 ::1		->	0:0:0:0:0:0:0:1
+	 *
+	 * @access public
+	 * @static
+	 * @param string $ip a valid IPv6-address (hex format)
+	 * @return string the uncompressed IPv6-address (hex format)
+	 */
+	function Uncompress($ip)
+	{
+		$uip = SimplePie_Net_IPv6::removeNetmaskSpec($ip);
+		$c1 = -1;
+		$c2 = -1;
+		if (strpos($ip, '::') !== false)
+		{
+			list($ip1, $ip2) = explode('::', $ip);
+			if ($ip1 === '')
+			{
+				$c1 = -1;
+			}
+			else
+			{
+				$pos = 0;
+				if (($pos = substr_count($ip1, ':')) > 0)
+				{
+					$c1 = $pos;
+				}
+				else
+				{
+					$c1 = 0;
+				}
+			}
+			if ($ip2 === '')
+			{
+				$c2 = -1;
+			}
+			else
+			{
+				$pos = 0;
+				if (($pos = substr_count($ip2, ':')) > 0)
+				{
+					$c2 = $pos;
+				}
+				else
+				{
+					$c2 = 0;
+				}
+			}
+			if (strstr($ip2, '.'))
+			{
+				$c2++;
+			}
+			// ::
+			if ($c1 === -1 && $c2 === -1)
+			{
+				$uip = '0:0:0:0:0:0:0:0';
+			}
+			// ::xxx
+			else if ($c1 === -1)
+			{
+				$fill = str_repeat('0:', 7 - $c2);
+				$uip =	str_replace('::', $fill, $uip);
+			}
+			// xxx::
+			else if ($c2 === -1)
+			{
+				$fill = str_repeat(':0', 7 - $c1);
+				$uip =	str_replace('::', $fill, $uip);
+			}
+			// xxx::xxx
+			else
+			{
+				$fill = str_repeat(':0:', 6 - $c2 - $c1);
+				$uip =	str_replace('::', $fill, $uip);
+				$uip =	str_replace('::', ':', $uip);
+			}
+		}
+		return $uip;
+	}
+
+	/**
+	 * Splits an IPv6 address into the IPv6 and a possible IPv4 part
+	 *
+	 * RFC 2373 allows you to note the last two parts of an IPv6 address as
+	 * an IPv4 compatible address
+	 *
+	 * Example:	 0:0:0:0:0:0:13.1.68.3
+	 *			 0:0:0:0:0:FFFF:129.144.52.38
+	 *
+	 * @access public
+	 * @static
+	 * @param string $ip a valid IPv6-address (hex format)
+	 * @return array [0] contains the IPv6 part, [1] the IPv4 part (hex format)
+	 */
+	function SplitV64($ip)
+	{
+		$ip = SimplePie_Net_IPv6::Uncompress($ip);
+		if (strstr($ip, '.'))
+		{
+			$pos = strrpos($ip, ':');
+			$ip[$pos] = '_';
+			$ipPart = explode('_', $ip);
+			return $ipPart;
+		}
+		else
+		{
+			return array($ip, '');
+		}
+	}
+
+	/**
+	 * Checks an IPv6 address
+	 *
+	 * Checks if the given IP is IPv6-compatible
+	 *
+	 * @access public
+	 * @static
+	 * @param string $ip a valid IPv6-address
+	 * @return bool true if $ip is an IPv6 address
+	 */
+	function checkIPv6($ip)
+	{
+		$ipPart = SimplePie_Net_IPv6::SplitV64($ip);
+		$count = 0;
+		if (!empty($ipPart[0]))
+		{
+			$ipv6 = explode(':', $ipPart[0]);
+			for ($i = 0; $i < count($ipv6); $i++)
+			{
+				$dec = hexdec($ipv6[$i]);
+				$hex = strtoupper(preg_replace('/^[0]{1,3}(.*[0-9a-fA-F])$/', '\\1', $ipv6[$i]));
+				if ($ipv6[$i] >= 0 && $dec <= 65535 && $hex === strtoupper(dechex($dec)))
+				{
+					$count++;
+				}
+			}
+			if ($count === 8)
+			{
+				return true;
+			}
+			elseif ($count === 6 && !empty($ipPart[1]))
+			{
+				$ipv4 = explode('.', $ipPart[1]);
+				$count = 0;
+				foreach ($ipv4 as $ipv4_part)
+				{
+					if ($ipv4_part >= 0 && $ipv4_part <= 255 && preg_match('/^\d{1,3}$/', $ipv4_part))
+					{
+						$count++;
+					}
+				}
+				if ($count === 4)
+				{
+					return true;
+				}
+			}
+			else
+			{
+				return false;
+			}
+
+		}
+		else
+		{
+			return false;
+		}
+	}
+}
+
+/**
+ * Date Parser
+ *
+ * @package SimplePie
+ */
+class SimplePie_Parse_Date
+{
+	/**
+	 * Input data
+	 *
+	 * @access protected
+	 * @var string
+	 */
+	var $date;
+
+	/**
+	 * List of days, calendar day name => ordinal day number in the week
+	 *
+	 * @access protected
+	 * @var array
+	 */
+	var $day = array(
+		// English
+		'mon' => 1,
+		'monday' => 1,
+		'tue' => 2,
+		'tuesday' => 2,
+		'wed' => 3,
+		'wednesday' => 3,
+		'thu' => 4,
+		'thursday' => 4,
+		'fri' => 5,
+		'friday' => 5,
+		'sat' => 6,
+		'saturday' => 6,
+		'sun' => 7,
+		'sunday' => 7,
+		// Dutch
+		'maandag' => 1,
+		'dinsdag' => 2,
+		'woensdag' => 3,
+		'donderdag' => 4,
+		'vrijdag' => 5,
+		'zaterdag' => 6,
+		'zondag' => 7,
+		// French
+		'lundi' => 1,
+		'mardi' => 2,
+		'mercredi' => 3,
+		'jeudi' => 4,
+		'vendredi' => 5,
+		'samedi' => 6,
+		'dimanche' => 7,
+		// German
+		'montag' => 1,
+		'dienstag' => 2,
+		'mittwoch' => 3,
+		'donnerstag' => 4,
+		'freitag' => 5,
+		'samstag' => 6,
+		'sonnabend' => 6,
+		'sonntag' => 7,
+		// Italian
+		'lunedì' => 1,
+		'martedì' => 2,
+		'mercoledì' => 3,
+		'giovedì' => 4,
+		'venerdì' => 5,
+		'sabato' => 6,
+		'domenica' => 7,
+		// Spanish
+		'lunes' => 1,
+		'martes' => 2,
+		'miércoles' => 3,
+		'jueves' => 4,
+		'viernes' => 5,
+		'sábado' => 6,
+		'domingo' => 7,
+		// Finnish
+		'maanantai' => 1,
+		'tiistai' => 2,
+		'keskiviikko' => 3,
+		'torstai' => 4,
+		'perjantai' => 5,
+		'lauantai' => 6,
+		'sunnuntai' => 7,
+		// Hungarian
+		'hétfő' => 1,
+		'kedd' => 2,
+		'szerda' => 3,
+		'csütörtok' => 4,
+		'péntek' => 5,
+		'szombat' => 6,
+		'vasárnap' => 7,
+		// Greek
+		'Δευ' => 1,
+		'Τρι' => 2,
+		'Τετ' => 3,
+		'Πεμ' => 4,
+		'Παρ' => 5,
+		'Σαβ' => 6,
+		'Κυρ' => 7,
+	);
+
+	/**
+	 * List of months, calendar month name => calendar month number
+	 *
+	 * @access protected
+	 * @var array
+	 */
+	var $month = array(
+		// English
+		'jan' => 1,
+		'january' => 1,
+		'feb' => 2,
+		'february' => 2,
+		'mar' => 3,
+		'march' => 3,
+		'apr' => 4,
+		'april' => 4,
+		'may' => 5,
+		// No long form of May
+		'jun' => 6,
+		'june' => 6,
+		'jul' => 7,
+		'july' => 7,
+		'aug' => 8,
+		'august' => 8,
+		'sep' => 9,
+		'september' => 8,
+		'oct' => 10,
+		'october' => 10,
+		'nov' => 11,
+		'november' => 11,
+		'dec' => 12,
+		'december' => 12,
+		// Dutch
+		'januari' => 1,
+		'februari' => 2,
+		'maart' => 3,
+		'april' => 4,
+		'mei' => 5,
+		'juni' => 6,
+		'juli' => 7,
+		'augustus' => 8,
+		'september' => 9,
+		'oktober' => 10,
+		'november' => 11,
+		'december' => 12,
+		// French
+		'janvier' => 1,
+		'février' => 2,
+		'mars' => 3,
+		'avril' => 4,
+		'mai' => 5,
+		'juin' => 6,
+		'juillet' => 7,
+		'août' => 8,
+		'septembre' => 9,
+		'octobre' => 10,
+		'novembre' => 11,
+		'décembre' => 12,
+		// German
+		'januar' => 1,
+		'februar' => 2,
+		'märz' => 3,
+		'april' => 4,
+		'mai' => 5,
+		'juni' => 6,
+		'juli' => 7,
+		'august' => 8,
+		'september' => 9,
+		'oktober' => 10,
+		'november' => 11,
+		'dezember' => 12,
+		// Italian
+		'gennaio' => 1,
+		'febbraio' => 2,
+		'marzo' => 3,
+		'aprile' => 4,
+		'maggio' => 5,
+		'giugno' => 6,
+		'luglio' => 7,
+		'agosto' => 8,
+		'settembre' => 9,
+		'ottobre' => 10,
+		'novembre' => 11,
+		'dicembre' => 12,
+		// Spanish
+		'enero' => 1,
+		'febrero' => 2,
+		'marzo' => 3,
+		'abril' => 4,
+		'mayo' => 5,
+		'junio' => 6,
+		'julio' => 7,
+		'agosto' => 8,
+		'septiembre' => 9,
+		'setiembre' => 9,
+		'octubre' => 10,
+		'noviembre' => 11,
+		'diciembre' => 12,
+		// Finnish
+		'tammikuu' => 1,
+		'helmikuu' => 2,
+		'maaliskuu' => 3,
+		'huhtikuu' => 4,
+		'toukokuu' => 5,
+		'kesäkuu' => 6,
+		'heinäkuu' => 7,
+		'elokuu' => 8,
+		'suuskuu' => 9,
+		'lokakuu' => 10,
+		'marras' => 11,
+		'joulukuu' => 12,
+		// Hungarian
+		'január' => 1,
+		'február' => 2,
+		'március' => 3,
+		'április' => 4,
+		'május' => 5,
+		'június' => 6,
+		'július' => 7,
+		'augusztus' => 8,
+		'szeptember' => 9,
+		'október' => 10,
+		'november' => 11,
+		'december' => 12,
+		// Greek
+		'Ιαν' => 1,
+		'Φεβ' => 2,
+		'Μάώ' => 3,
+		'Μαώ' => 3,
+		'Απρ' => 4,
+		'Μάι' => 5,
+		'Μαϊ' => 5,
+		'Μαι' => 5,
+		'Ιούν' => 6,
+		'Ιον' => 6,
+		'Ιούλ' => 7,
+		'Ιολ' => 7,
+		'Αύγ' => 8,
+		'Αυγ' => 8,
+		'Σεπ' => 9,
+		'Οκτ' => 10,
+		'Νοέ' => 11,
+		'Δεκ' => 12,
+	);
+
+	/**
+	 * List of timezones, abbreviation => offset from UTC
+	 *
+	 * @access protected
+	 * @var array
+	 */
+	var $timezone = array(
+		'ACDT' => 37800,
+		'ACIT' => 28800,
+		'ACST' => 34200,
+		'ACT' => -18000,
+		'ACWDT' => 35100,
+		'ACWST' => 31500,
+		'AEDT' => 39600,
+		'AEST' => 36000,
+		'AFT' => 16200,
+		'AKDT' => -28800,
+		'AKST' => -32400,
+		'AMDT' => 18000,
+		'AMT' => -14400,
+		'ANAST' => 46800,
+		'ANAT' => 43200,
+		'ART' => -10800,
+		'AZOST' => -3600,
+		'AZST' => 18000,
+		'AZT' => 14400,
+		'BIOT' => 21600,
+		'BIT' => -43200,
+		'BOT' => -14400,
+		'BRST' => -7200,
+		'BRT' => -10800,
+		'BST' => 3600,
+		'BTT' => 21600,
+		'CAST' => 18000,
+		'CAT' => 7200,
+		'CCT' => 23400,
+		'CDT' => -18000,
+		'CEDT' => 7200,
+		'CET' => 3600,
+		'CGST' => -7200,
+		'CGT' => -10800,
+		'CHADT' => 49500,
+		'CHAST' => 45900,
+		'CIST' => -28800,
+		'CKT' => -36000,
+		'CLDT' => -10800,
+		'CLST' => -14400,
+		'COT' => -18000,
+		'CST' => -21600,
+		'CVT' => -3600,
+		'CXT' => 25200,
+		'DAVT' => 25200,
+		'DTAT' => 36000,
+		'EADT' => -18000,
+		'EAST' => -21600,
+		'EAT' => 10800,
+		'ECT' => -18000,
+		'EDT' => -14400,
+		'EEST' => 10800,
+		'EET' => 7200,
+		'EGT' => -3600,
+		'EKST' => 21600,
+		'EST' => -18000,
+		'FJT' => 43200,
+		'FKDT' => -10800,
+		'FKST' => -14400,
+		'FNT' => -7200,
+		'GALT' => -21600,
+		'GEDT' => 14400,
+		'GEST' => 10800,
+		'GFT' => -10800,
+		'GILT' => 43200,
+		'GIT' => -32400,
+		'GST' => 14400,
+		'GST' => -7200,
+		'GYT' => -14400,
+		'HAA' => -10800,
+		'HAC' => -18000,
+		'HADT' => -32400,
+		'HAE' => -14400,
+		'HAP' => -25200,
+		'HAR' => -21600,
+		'HAST' => -36000,
+		'HAT' => -9000,
+		'HAY' => -28800,
+		'HKST' => 28800,
+		'HMT' => 18000,
+		'HNA' => -14400,
+		'HNC' => -21600,
+		'HNE' => -18000,
+		'HNP' => -28800,
+		'HNR' => -25200,
+		'HNT' => -12600,
+		'HNY' => -32400,
+		'IRDT' => 16200,
+		'IRKST' => 32400,
+		'IRKT' => 28800,
+		'IRST' => 12600,
+		'JFDT' => -10800,
+		'JFST' => -14400,
+		'JST' => 32400,
+		'KGST' => 21600,
+		'KGT' => 18000,
+		'KOST' => 39600,
+		'KOVST' => 28800,
+		'KOVT' => 25200,
+		'KRAST' => 28800,
+		'KRAT' => 25200,
+		'KST' => 32400,
+		'LHDT' => 39600,
+		'LHST' => 37800,
+		'LINT' => 50400,
+		'LKT' => 21600,
+		'MAGST' => 43200,
+		'MAGT' => 39600,
+		'MAWT' => 21600,
+		'MDT' => -21600,
+		'MESZ' => 7200,
+		'MEZ' => 3600,
+		'MHT' => 43200,
+		'MIT' => -34200,
+		'MNST' => 32400,
+		'MSDT' => 14400,
+		'MSST' => 10800,
+		'MST' => -25200,
+		'MUT' => 14400,
+		'MVT' => 18000,
+		'MYT' => 28800,
+		'NCT' => 39600,
+		'NDT' => -9000,
+		'NFT' => 41400,
+		'NMIT' => 36000,
+		'NOVST' => 25200,
+		'NOVT' => 21600,
+		'NPT' => 20700,
+		'NRT' => 43200,
+		'NST' => -12600,
+		'NUT' => -39600,
+		'NZDT' => 46800,
+		'NZST' => 43200,
+		'OMSST' => 25200,
+		'OMST' => 21600,
+		'PDT' => -25200,
+		'PET' => -18000,
+		'PETST' => 46800,
+		'PETT' => 43200,
+		'PGT' => 36000,
+		'PHOT' => 46800,
+		'PHT' => 28800,
+		'PKT' => 18000,
+		'PMDT' => -7200,
+		'PMST' => -10800,
+		'PONT' => 39600,
+		'PST' => -28800,
+		'PWT' => 32400,
+		'PYST' => -10800,
+		'PYT' => -14400,
+		'RET' => 14400,
+		'ROTT' => -10800,
+		'SAMST' => 18000,
+		'SAMT' => 14400,
+		'SAST' => 7200,
+		'SBT' => 39600,
+		'SCDT' => 46800,
+		'SCST' => 43200,
+		'SCT' => 14400,
+		'SEST' => 3600,
+		'SGT' => 28800,
+		'SIT' => 28800,
+		'SRT' => -10800,
+		'SST' => -39600,
+		'SYST' => 10800,
+		'SYT' => 7200,
+		'TFT' => 18000,
+		'THAT' => -36000,
+		'TJT' => 18000,
+		'TKT' => -36000,
+		'TMT' => 18000,
+		'TOT' => 46800,
+		'TPT' => 32400,
+		'TRUT' => 36000,
+		'TVT' => 43200,
+		'TWT' => 28800,
+		'UYST' => -7200,
+		'UYT' => -10800,
+		'UZT' => 18000,
+		'VET' => -14400,
+		'VLAST' => 39600,
+		'VLAT' => 36000,
+		'VOST' => 21600,
+		'VUT' => 39600,
+		'WAST' => 7200,
+		'WAT' => 3600,
+		'WDT' => 32400,
+		'WEST' => 3600,
+		'WFT' => 43200,
+		'WIB' => 25200,
+		'WIT' => 32400,
+		'WITA' => 28800,
+		'WKST' => 18000,
+		'WST' => 28800,
+		'YAKST' => 36000,
+		'YAKT' => 32400,
+		'YAPT' => 36000,
+		'YEKST' => 21600,
+		'YEKT' => 18000,
+	);
+
+	/**
+	 * Cached PCRE for SimplePie_Parse_Date::$day
+	 *
+	 * @access protected
+	 * @var string
+	 */
+	var $day_pcre;
+
+	/**
+	 * Cached PCRE for SimplePie_Parse_Date::$month
+	 *
+	 * @access protected
+	 * @var string
+	 */
+	var $month_pcre;
+
+	/**
+	 * Array of user-added callback methods
+	 *
+	 * @access private
+	 * @var array
+	 */
+	var $built_in = array();
+
+	/**
+	 * Array of user-added callback methods
+	 *
+	 * @access private
+	 * @var array
+	 */
+	var $user = array();
+
+	/**
+	 * Create new SimplePie_Parse_Date object, and set self::day_pcre,
+	 * self::month_pcre, and self::built_in
+	 *
+	 * @access private
+	 */
+	function SimplePie_Parse_Date()
+	{
+		$this->day_pcre = '(' . implode(array_keys($this->day), '|') . ')';
+		$this->month_pcre = '(' . implode(array_keys($this->month), '|') . ')';
+
+		static $cache;
+		if (!isset($cache[get_class($this)]))
+		{
+			$all_methods = get_class_methods($this);
+
+			foreach ($all_methods as $method)
+			{
+				if (strtolower(substr($method, 0, 5)) === 'date_')
+				{
+					$cache[get_class($this)][] = $method;
+				}
+			}
+		}
+
+		foreach ($cache[get_class($this)] as $method)
+		{
+			$this->built_in[] = $method;
+		}
+	}
+
+	/**
+	 * Get the object
+	 *
+	 * @access public
+	 */
+	function get()
+	{
+		static $object;
+		if (!$object)
+		{
+			$object =& new SimplePie_Parse_Date;
+		}
+		return $object;
+	}
+
+	/**
+	 * Parse a date
+	 *
+	 * @final
+	 * @access public
+	 * @param string $date Date to parse
+	 * @return int Timestamp corresponding to date string, or false on failure
+	 */
+	function parse($date)
+	{
+		foreach ($this->user as $method)
+		{
+			if (($returned = call_user_func($method, $date)) !== false)
+			{
+				return $returned;
+			}
+		}
+
+		foreach ($this->built_in as $method)
+		{
+			if (($returned = call_user_func(array(&$this, $method), $date)) !== false)
+			{
+				return $returned;
+			}
+		}
+
+		return false;
+	}
+
+	/**
+	 * Add a callback method to parse a date
+	 *
+	 * @final
+	 * @access public
+	 * @param callback $callback
+	 */
+	function add_callback($callback)
+	{
+		if (is_callable($callback))
+		{
+			$this->user[] = $callback;
+		}
+		else
+		{
+			trigger_error('User-supplied function must be a valid callback', E_USER_WARNING);
+		}
+	}
+
+	/**
+	 * Parse a superset of W3C-DTF (allows hyphens and colons to be omitted, as
+	 * well as allowing any of upper or lower case "T", horizontal tabs, or
+	 * spaces to be used as the time seperator (including more than one))
+	 *
+	 * @access protected
+	 * @return int Timestamp
+	 */
+	function date_w3cdtf($date)
+	{
+		static $pcre;
+		if (!$pcre)
+		{
+			$year = '([0-9]{4})';
+			$month = $day = $hour = $minute = $second = '([0-9]{2})';
+			$decimal = '([0-9]*)';
+			$zone = '(?:(Z)|([+\-])([0-9]{1,2}):?([0-9]{1,2}))';
+			$pcre = '/^' . $year . '(?:-?' . $month . '(?:-?' . $day . '(?:[Tt\x09\x20]+' . $hour . '(?::?' . $minute . '(?::?' . $second . '(?:.' . $decimal . ')?)?)?' . $zone . ')?)?)?$/';
+		}
+		if (preg_match($pcre, $date, $match))
+		{
+			/*
+			Capturing subpatterns:
+			1: Year
+			2: Month
+			3: Day
+			4: Hour
+			5: Minute
+			6: Second
+			7: Decimal fraction of a second
+			8: Zulu
+			9: Timezone ±
+			10: Timezone hours
+			11: Timezone minutes
+			*/
+
+			// Fill in empty matches
+			for ($i = count($match); $i <= 3; $i++)
+			{
+				$match[$i] = '1';
+			}
+
+			for ($i = count($match); $i <= 7; $i++)
+			{
+				$match[$i] = '0';
+			}
+
+			// Numeric timezone
+			if (isset($match[9]) && $match[9] !== '')
+			{
+				$timezone = $match[10] * 3600;
+				$timezone += $match[11] * 60;
+				if ($match[9] === '-')
+				{
+					$timezone = 0 - $timezone;
+				}
+			}
+			else
+			{
+				$timezone = 0;
+			}
+
+			// Convert the number of seconds to an integer, taking decimals into account
+			$second = round($match[6] + $match[7] / pow(10, strlen($match[7])));
+
+			return gmmktime($match[4], $match[5], $second, $match[2], $match[3], $match[1]) - $timezone;
+		}
+		else
+		{
+			return false;
+		}
+	}
+
+	/**
+	 * Remove RFC822 comments
+	 *
+	 * @access protected
+	 * @param string $data Data to strip comments from
+	 * @return string Comment stripped string
+	 */
+	function remove_rfc2822_comments($string)
+	{
+		$string = (string) $string;
+		$position = 0;
+		$length = strlen($string);
+		$depth = 0;
+
+		$output = '';
+
+		while ($position < $length && ($pos = strpos($string, '(', $position)) !== false)
+		{
+			$output .= substr($string, $position, $pos - $position);
+			$position = $pos + 1;
+			if ($string[$pos - 1] !== '\\')
+			{
+				$depth++;
+				while ($depth && $position < $length)
+				{
+					$position += strcspn($string, '()', $position);
+					if ($string[$position - 1] === '\\')
+					{
+						$position++;
+						continue;
+					}
+					elseif (isset($string[$position]))
+					{
+						switch ($string[$position])
+						{
+							case '(':
+								$depth++;
+								break;
+
+							case ')':
+								$depth--;
+								break;
+						}
+						$position++;
+					}
+					else
+					{
+						break;
+					}
+				}
+			}
+			else
+			{
+				$output .= '(';
+			}
+		}
+		$output .= substr($string, $position);
+
+		return $output;
+	}
+
+	/**
+	 * Parse RFC2822's date format
+	 *
+	 * @access protected
+	 * @return int Timestamp
+	 */
+	function date_rfc2822($date)
+	{
+		static $pcre;
+		if (!$pcre)
+		{
+			$wsp = '[\x09\x20]';
+			$fws = '(?:' . $wsp . '+|' . $wsp . '*(?:\x0D\x0A' . $wsp . '+)+)';
+			$optional_fws = $fws . '?';
+			$day_name = $this->day_pcre;
+			$month = $this->month_pcre;
+			$day = '([0-9]{1,2})';
+			$hour = $minute = $second = '([0-9]{2})';
+			$year = '([0-9]{2,4})';
+			$num_zone = '([+\-])([0-9]{2})([0-9]{2})';
+			$character_zone = '([A-Z]{1,5})';
+			$zone = '(?:' . $num_zone . '|' . $character_zone . ')';
+			$pcre = '/(?:' . $optional_fws . $day_name . $optional_fws . ',)?' . $optional_fws . $day . $fws . $month . $fws . $year . $fws . $hour . $optional_fws . ':' . $optional_fws . $minute . '(?:' . $optional_fws . ':' . $optional_fws . $second . ')?' . $fws . $zone . '/i';
+		}
+		if (preg_match($pcre, $this->remove_rfc2822_comments($date), $match))
+		{
+			/*
+			Capturing subpatterns:
+			1: Day name
+			2: Day
+			3: Month
+			4: Year
+			5: Hour
+			6: Minute
+			7: Second
+			8: Timezone ±
+			9: Timezone hours
+			10: Timezone minutes
+			11: Alphabetic timezone
+			*/
+
+			// Find the month number
+			$month = $this->month[strtolower($match[3])];
+
+			// Numeric timezone
+			if ($match[8] !== '')
+			{
+				$timezone = $match[9] * 3600;
+				$timezone += $match[10] * 60;
+				if ($match[8] === '-')
+				{
+					$timezone = 0 - $timezone;
+				}
+			}
+			// Character timezone
+			elseif (isset($this->timezone[strtoupper($match[11])]))
+			{
+				$timezone = $this->timezone[strtoupper($match[11])];
+			}
+			// Assume everything else to be -0000
+			else
+			{
+				$timezone = 0;
+			}
+
+			// Deal with 2/3 digit years
+			if ($match[4] < 50)
+			{
+				$match[4] += 2000;
+			}
+			elseif ($match[4] < 1000)
+			{
+				$match[4] += 1900;
+			}
+
+			// Second is optional, if it is empty set it to zero
+			if ($match[7] !== '')
+			{
+				$second = $match[7];
+			}
+			else
+			{
+				$second = 0;
+			}
+
+			return gmmktime($match[5], $match[6], $second, $month, $match[2], $match[4]) - $timezone;
+		}
+		else
+		{
+			return false;
+		}
+	}
+
+	/**
+	 * Parse RFC850's date format
+	 *
+	 * @access protected
+	 * @return int Timestamp
+	 */
+	function date_rfc850($date)
+	{
+		static $pcre;
+		if (!$pcre)
+		{
+			$space = '[\x09\x20]+';
+			$day_name = $this->day_pcre;
+			$month = $this->month_pcre;
+			$day = '([0-9]{1,2})';
+			$year = $hour = $minute = $second = '([0-9]{2})';
+			$zone = '([A-Z]{1,5})';
+			$pcre = '/^' . $day_name . ',' . $space . $day . '-' . $month . '-' . $year . $space . $hour . ':' . $minute . ':' . $second . $space . $zone . '$/i';
+		}
+		if (preg_match($pcre, $date, $match))
+		{
+			/*
+			Capturing subpatterns:
+			1: Day name
+			2: Day
+			3: Month
+			4: Year
+			5: Hour
+			6: Minute
+			7: Second
+			8: Timezone
+			*/
+
+			// Month
+			$month = $this->month[strtolower($match[3])];
+
+			// Character timezone
+			if (isset($this->timezone[strtoupper($match[8])]))
+			{
+				$timezone = $this->timezone[strtoupper($match[8])];
+			}
+			// Assume everything else to be -0000
+			else
+			{
+				$timezone = 0;
+			}
+
+			// Deal with 2 digit year
+			if ($match[4] < 50)
+			{
+				$match[4] += 2000;
+			}
+			else
+			{
+				$match[4] += 1900;
+			}
+
+			return gmmktime($match[5], $match[6], $match[7], $month, $match[2], $match[4]) - $timezone;
+		}
+		else
+		{
+			return false;
+		}
+	}
+
+	/**
+	 * Parse C99's asctime()'s date format
+	 *
+	 * @access protected
+	 * @return int Timestamp
+	 */
+	function date_asctime($date)
+	{
+		static $pcre;
+		if (!$pcre)
+		{
+			$space = '[\x09\x20]+';
+			$wday_name = $this->day_pcre;
+			$mon_name = $this->month_pcre;
+			$day = '([0-9]{1,2})';
+			$hour = $sec = $min = '([0-9]{2})';
+			$year = '([0-9]{4})';
+			$terminator = '\x0A?\x00?';
+			$pcre = '/^' . $wday_name . $space . $mon_name . $space . $day . $space . $hour . ':' . $min . ':' . $sec . $space . $year . $terminator . '$/i';
+		}
+		if (preg_match($pcre, $date, $match))
+		{
+			/*
+			Capturing subpatterns:
+			1: Day name
+			2: Month
+			3: Day
+			4: Hour
+			5: Minute
+			6: Second
+			7: Year
+			*/
+
+			$month = $this->month[strtolower($match[2])];
+			return gmmktime($match[4], $match[5], $match[6], $month, $match[3], $match[7]);
+		}
+		else
+		{
+			return false;
+		}
+	}
+
+	/**
+	 * Parse dates using strtotime()
+	 *
+	 * @access protected
+	 * @return int Timestamp
+	 */
+	function date_strtotime($date)
+	{
+		$strtotime = strtotime($date);
+		if ($strtotime === -1 || $strtotime === false)
+		{
+			return false;
+		}
+		else
+		{
+			return $strtotime;
+		}
+	}
+}
+
+/**
+ * Content-type sniffing
+ *
+ * @package SimplePie
+ */
+class SimplePie_Content_Type_Sniffer
+{
+	/**
+	 * File object
+	 *
+	 * @var SimplePie_File
+	 * @access private
+	 */
+	var $file;
+
+	/**
+	 * Create an instance of the class with the input file
+	 *
+	 * @access public
+	 * @param SimplePie_Content_Type_Sniffer $file Input file
+	 */
+	function SimplePie_Content_Type_Sniffer($file)
+	{
+		$this->file = $file;
+	}
+
+	/**
+	 * Get the Content-Type of the specified file
+	 *
+	 * @access public
+	 * @return string Actual Content-Type
+	 */
+	function get_type()
+	{
+		if (isset($this->file->headers['content-type']))
+		{
+			if (!isset($this->file->headers['content-encoding'])
+				&& ($this->file->headers['content-type'] === 'text/plain'
+					|| $this->file->headers['content-type'] === 'text/plain; charset=ISO-8859-1'
+					|| $this->file->headers['content-type'] === 'text/plain; charset=iso-8859-1'))
+			{
+				return $this->text_or_binary();
+			}
+
+			if (($pos = strpos($this->file->headers['content-type'], ';')) !== false)
+			{
+				$official = substr($this->file->headers['content-type'], 0, $pos);
+			}
+			else
+			{
+				$official = $this->file->headers['content-type'];
+			}
+			$official = strtolower($official);
+
+			if ($official === 'unknown/unknown'
+				|| $official === 'application/unknown')
+			{
+				return $this->unknown();
+			}
+			elseif (substr($official, -4) === '+xml'
+				|| $official === 'text/xml'
+				|| $official === 'application/xml')
+			{
+				return $official;
+			}
+			elseif (substr($official, 0, 6) === 'image/')
+			{
+				if ($return = $this->image())
+				{
+					return $return;
+				}
+				else
+				{
+					return $official;
+				}
+			}
+			elseif ($official === 'text/html')
+			{
+				return $this->feed_or_html();
+			}
+			else
+			{
+				return $official;
+			}
+		}
+		else
+		{
+			return $this->unknown();
+		}
+	}
+
+	/**
+	 * Sniff text or binary
+	 *
+	 * @access private
+	 * @return string Actual Content-Type
+	 */
+	function text_or_binary()
+	{
+		if (substr($this->file->body, 0, 2) === "\xFE\xFF"
+			|| substr($this->file->body, 0, 2) === "\xFF\xFE"
+			|| substr($this->file->body, 0, 4) === "\x00\x00\xFE\xFF"
+			|| substr($this->file->body, 0, 3) === "\xEF\xBB\xBF")
+		{
+			return 'text/plain';
+		}
+		elseif (preg_match('/[\x00-\x08\x0E-\x1A\x1C-\x1F]/', $this->file->body))
+		{
+			return 'application/octect-stream';
+		}
+		else
+		{
+			return 'text/plain';
+		}
+	}
+
+	/**
+	 * Sniff unknown
+	 *
+	 * @access private
+	 * @return string Actual Content-Type
+	 */
+	function unknown()
+	{
+		$ws = strspn($this->file->body, "\x09\x0A\x0B\x0C\x0D\x20");
+		if (strtolower(substr($this->file->body, $ws, 14)) === '<!doctype html'
+			|| strtolower(substr($this->file->body, $ws, 5)) === '<html'
+			|| strtolower(substr($this->file->body, $ws, 7)) === '<script')
+		{
+			return 'text/html';
+		}
+		elseif (substr($this->file->body, 0, 5) === '%PDF-')
+		{
+			return 'application/pdf';
+		}
+		elseif (substr($this->file->body, 0, 11) === '%!PS-Adobe-')
+		{
+			return 'application/postscript';
+		}
+		elseif (substr($this->file->body, 0, 6) === 'GIF87a'
+			|| substr($this->file->body, 0, 6) === 'GIF89a')
+		{
+			return 'image/gif';
+		}
+		elseif (substr($this->file->body, 0, 8) === "\x89\x50\x4E\x47\x0D\x0A\x1A\x0A")
+		{
+			return 'image/png';
+		}
+		elseif (substr($this->file->body, 0, 3) === "\xFF\xD8\xFF")
+		{
+			return 'image/jpeg';
+		}
+		elseif (substr($this->file->body, 0, 2) === "\x42\x4D")
+		{
+			return 'image/bmp';
+		}
+		else
+		{
+			return $this->text_or_binary();
+		}
+	}
+
+	/**
+	 * Sniff images
+	 *
+	 * @access private
+	 * @return string Actual Content-Type
+	 */
+	function image()
+	{
+		if (substr($this->file->body, 0, 6) === 'GIF87a'
+			|| substr($this->file->body, 0, 6) === 'GIF89a')
+		{
+			return 'image/gif';
+		}
+		elseif (substr($this->file->body, 0, 8) === "\x89\x50\x4E\x47\x0D\x0A\x1A\x0A")
+		{
+			return 'image/png';
+		}
+		elseif (substr($this->file->body, 0, 3) === "\xFF\xD8\xFF")
+		{
+			return 'image/jpeg';
+		}
+		elseif (substr($this->file->body, 0, 2) === "\x42\x4D")
+		{
+			return 'image/bmp';
+		}
+		else
+		{
+			return false;
+		}
+	}
+
+	/**
+	 * Sniff HTML
+	 *
+	 * @access private
+	 * @return string Actual Content-Type
+	 */
+	function feed_or_html()
+	{
+		$len = strlen($this->file->body);
+		$pos = strspn($this->file->body, "\x09\x0A\x0D\x20");
+
+		while ($pos < $len)
+		{
+			switch ($this->file->body[$pos])
+			{
+				case "\x09":
+				case "\x0A":
+				case "\x0D":
+				case "\x20":
+					$pos += strspn($this->file->body, "\x09\x0A\x0D\x20", $pos);
+					continue 2;
+
+				case '<':
+					$pos++;
+					break;
+
+				default:
+					return 'text/html';
+			}
+
+			if (substr($this->file->body, $pos, 3) === '!--')
+			{
+				$pos += 3;
+				if ($pos < $len && ($pos = strpos($this->file->body, '-->', $pos)) !== false)
+				{
+					$pos += 3;
+				}
+				else
+				{
+					return 'text/html';
+				}
+			}
+			elseif (substr($this->file->body, $pos, 1) === '!')
+			{
+				if ($pos < $len && ($pos = strpos($this->file->body, '>', $pos)) !== false)
+				{
+					$pos++;
+				}
+				else
+				{
+					return 'text/html';
+				}
+			}
+			elseif (substr($this->file->body, $pos, 1) === '?')
+			{
+				if ($pos < $len && ($pos = strpos($this->file->body, '?>', $pos)) !== false)
+				{
+					$pos += 2;
+				}
+				else
+				{
+					return 'text/html';
+				}
+			}
+			elseif (substr($this->file->body, $pos, 3) === 'rss'
+				|| substr($this->file->body, $pos, 7) === 'rdf:RDF')
+			{
+				return 'application/rss+xml';
+			}
+			elseif (substr($this->file->body, $pos, 4) === 'feed')
+			{
+				return 'application/atom+xml';
+			}
+			else
+			{
+				return 'text/html';
+			}
+		}
+
+		return 'text/html';
+	}
+}
+
+/**
+ * Parses the XML Declaration
+ *
+ * @package SimplePie
+ */
+class SimplePie_XML_Declaration_Parser
+{
+	/**
+	 * XML Version
+	 *
+	 * @access public
+	 * @var string
+	 */
+	var $version = '1.0';
+
+	/**
+	 * Encoding
+	 *
+	 * @access public
+	 * @var string
+	 */
+	var $encoding = 'UTF-8';
+
+	/**
+	 * Standalone
+	 *
+	 * @access public
+	 * @var bool
+	 */
+	var $standalone = false;
+
+	/**
+	 * Current state of the state machine
+	 *
+	 * @access private
+	 * @var string
+	 */
+	var $state = 'before_version_name';
+
+	/**
+	 * Input data
+	 *
+	 * @access private
+	 * @var string
+	 */
+	var $data = '';
+
+	/**
+	 * Input data length (to avoid calling strlen() everytime this is needed)
+	 *
+	 * @access private
+	 * @var int
+	 */
+	var $data_length = 0;
+
+	/**
+	 * Current position of the pointer
+	 *
+	 * @var int
+	 * @access private
+	 */
+	var $position = 0;
+
+	/**
+	 * Create an instance of the class with the input data
+	 *
+	 * @access public
+	 * @param string $data Input data
+	 */
+	function SimplePie_XML_Declaration_Parser($data)
+	{
+		$this->data = $data;
+		$this->data_length = strlen($this->data);
+	}
+
+	/**
+	 * Parse the input data
+	 *
+	 * @access public
+	 * @return bool true on success, false on failure
+	 */
+	function parse()
+	{
+		while ($this->state && $this->state !== 'emit' && $this->has_data())
+		{
+			$state = $this->state;
+			$this->$state();
+		}
+		$this->data = '';
+		if ($this->state === 'emit')
+		{
+			return true;
+		}
+		else
+		{
+			$this->version = '';
+			$this->encoding = '';
+			$this->standalone = '';
+			return false;
+		}
+	}
+
+	/**
+	 * Check whether there is data beyond the pointer
+	 *
+	 * @access private
+	 * @return bool true if there is further data, false if not
+	 */
+	function has_data()
+	{
+		return (bool) ($this->position < $this->data_length);
+	}
+
+	/**
+	 * Advance past any whitespace
+	 *
+	 * @return int Number of whitespace characters passed
+	 */
+	function skip_whitespace()
+	{
+		$whitespace = strspn($this->data, "\x09\x0A\x0D\x20", $this->position);
+		$this->position += $whitespace;
+		return $whitespace;
+	}
+
+	/**
+	 * Read value
+	 */
+	function get_value()
+	{
+		$quote = substr($this->data, $this->position, 1);
+		if ($quote === '"' || $quote === "'")
+		{
+			$this->position++;
+			$len = strcspn($this->data, $quote, $this->position);
+			if ($this->has_data())
+			{
+				$value = substr($this->data, $this->position, $len);
+				$this->position += $len + 1;
+				return $value;
+			}
+		}
+		return false;
+	}
+
+	function before_version_name()
+	{
+		if ($this->skip_whitespace())
+		{
+			$this->state = 'version_name';
+		}
+		else
+		{
+			$this->state = false;
+		}
+	}
+
+	function version_name()
+	{
+		if (substr($this->data, $this->position, 7) === 'version')
+		{
+			$this->position += 7;
+			$this->skip_whitespace();
+			$this->state = 'version_equals';
+		}
+		else
+		{
+			$this->state = false;
+		}
+	}
+
+	function version_equals()
+	{
+		if (substr($this->data, $this->position, 1) === '=')
+		{
+			$this->position++;
+			$this->skip_whitespace();
+			$this->state = 'version_value';
+		}
+		else
+		{
+			$this->state = false;
+		}
+	}
+
+	function version_value()
+	{
+		if ($this->version = $this->get_value())
+		{
+			$this->skip_whitespace();
+			if ($this->has_data())
+			{
+				$this->state = 'encoding_name';
+			}
+			else
+			{
+				$this->state = 'emit';
+			}
+		}
+		else
+		{
+			$this->state = false;
+		}
+	}
+
+	function encoding_name()
+	{
+		if (substr($this->data, $this->position, 8) === 'encoding')
+		{
+			$this->position += 8;
+			$this->skip_whitespace();
+			$this->state = 'encoding_equals';
+		}
+		else
+		{
+			$this->state = 'standalone_name';
+		}
+	}
+
+	function encoding_equals()
+	{
+		if (substr($this->data, $this->position, 1) === '=')
+		{
+			$this->position++;
+			$this->skip_whitespace();
+			$this->state = 'encoding_value';
+		}
+		else
+		{
+			$this->state = false;
+		}
+	}
+
+	function encoding_value()
+	{
+		if ($this->encoding = $this->get_value())
+		{
+			$this->skip_whitespace();
+			if ($this->has_data())
+			{
+				$this->state = 'standalone_name';
+			}
+			else
+			{
+				$this->state = 'emit';
+			}
+		}
+		else
+		{
+			$this->state = false;
+		}
+	}
+
+	function standalone_name()
+	{
+		if (substr($this->data, $this->position, 10) === 'standalone')
+		{
+			$this->position += 10;
+			$this->skip_whitespace();
+			$this->state = 'standalone_equals';
+		}
+		else
+		{
+			$this->state = false;
+		}
+	}
+
+	function standalone_equals()
+	{
+		if (substr($this->data, $this->position, 1) === '=')
+		{
+			$this->position++;
+			$this->skip_whitespace();
+			$this->state = 'standalone_value';
+		}
+		else
+		{
+			$this->state = false;
+		}
+	}
+
+	function standalone_value()
+	{
+		if ($standalone = $this->get_value())
+		{
+			switch ($standalone)
+			{
+				case 'yes':
+					$this->standalone = true;
+					break;
+
+				case 'no':
+					$this->standalone = false;
+					break;
+
+				default:
+					$this->state = false;
+					return;
+			}
+
+			$this->skip_whitespace();
+			if ($this->has_data())
+			{
+				$this->state = false;
+			}
+			else
+			{
+				$this->state = 'emit';
+			}
+		}
+		else
+		{
+			$this->state = false;
+		}
+	}
+}
+
+class SimplePie_Locator
+{
+	var $useragent;
+	var $timeout;
+	var $file;
+	var $local = array();
+	var $elsewhere = array();
+	var $file_class = 'SimplePie_File';
+	var $cached_entities = array();
+	var $http_base;
+	var $base;
+	var $base_location = 0;
+	var $checked_feeds = 0;
+	var $max_checked_feeds = 10;
+	var $content_type_sniffer_class = 'SimplePie_Content_Type_Sniffer';
+
+	function SimplePie_Locator(&$file, $timeout = 10, $useragent = null, $file_class = 'SimplePie_File', $max_checked_feeds = 10, $content_type_sniffer_class = 'SimplePie_Content_Type_Sniffer')
+	{
+		$this->file =& $file;
+		$this->file_class = $file_class;
+		$this->useragent = $useragent;
+		$this->timeout = $timeout;
+		$this->max_checked_feeds = $max_checked_feeds;
+		$this->content_type_sniffer_class = $content_type_sniffer_class;
+	}
+
+	function find($type = SIMPLEPIE_LOCATOR_ALL, &$working)
+	{
+		if ($this->is_feed($this->file))
+		{
+			return $this->file;
+		}
+
+		if ($this->file->method & SIMPLEPIE_FILE_SOURCE_REMOTE)
+		{
+			$sniffer =& new $this->content_type_sniffer_class($this->file);
+			if ($sniffer->get_type() !== 'text/html')
+			{
+				return null;
+			}
+		}
+
+		if ($type & ~SIMPLEPIE_LOCATOR_NONE)
+		{
+			$this->get_base();
+		}
+
+		if ($type & SIMPLEPIE_LOCATOR_AUTODISCOVERY && $working = $this->autodiscovery())
+		{
+			return $working[0];
+		}
+
+		if ($type & (SIMPLEPIE_LOCATOR_LOCAL_EXTENSION | SIMPLEPIE_LOCATOR_LOCAL_BODY | SIMPLEPIE_LOCATOR_REMOTE_EXTENSION | SIMPLEPIE_LOCATOR_REMOTE_BODY) && $this->get_links())
+		{
+			if ($type & SIMPLEPIE_LOCATOR_LOCAL_EXTENSION && $working = $this->extension($this->local))
+			{
+				return $working;
+			}
+
+			if ($type & SIMPLEPIE_LOCATOR_LOCAL_BODY && $working = $this->body($this->local))
+			{
+				return $working;
+			}
+
+			if ($type & SIMPLEPIE_LOCATOR_REMOTE_EXTENSION && $working = $this->extension($this->elsewhere))
+			{
+				return $working;
+			}
+
+			if ($type & SIMPLEPIE_LOCATOR_REMOTE_BODY && $working = $this->body($this->elsewhere))
+			{
+				return $working;
+			}
+		}
+		return null;
+	}
+
+	function is_feed(&$file)
+	{
+		if ($file->method & SIMPLEPIE_FILE_SOURCE_REMOTE)
+		{
+			$sniffer =& new $this->content_type_sniffer_class($file);
+			$sniffed = $sniffer->get_type();
+			if (in_array($sniffed, array('application/rss+xml', 'application/rdf+xml', 'text/rdf', 'application/atom+xml', 'text/xml', 'application/xml')))
+			{
+				return true;
+			}
+			else
+			{
+				return false;
+			}
+		}
+		elseif ($file->method & SIMPLEPIE_FILE_SOURCE_LOCAL)
+		{
+			return true;
+		}
+		else
+		{
+			return false;
+		}
+	}
+
+	function get_base()
+	{
+		$this->http_base = $this->file->url;
+		$this->base = $this->http_base;
+		$elements = SimplePie_Misc::get_element('base', $this->file->body);
+		foreach ($elements as $element)
+		{
+			if ($element['attribs']['href']['data'] !== '')
+			{
+				$this->base = SimplePie_Misc::absolutize_url(trim($element['attribs']['href']['data']), $this->http_base);
+				$this->base_location = $element['offset'];
+				break;
+			}
+		}
+	}
+
+	function autodiscovery()
+	{
+		$links = array_merge(SimplePie_Misc::get_element('link', $this->file->body), SimplePie_Misc::get_element('a', $this->file->body), SimplePie_Misc::get_element('area', $this->file->body));
+		$done = array();
+		$feeds = array();
+		foreach ($links as $link)
+		{
+			if ($this->checked_feeds === $this->max_checked_feeds)
+			{
+				break;
+			}
+			if (isset($link['attribs']['href']['data']) && isset($link['attribs']['rel']['data']))
+			{
+				$rel = array_unique(SimplePie_Misc::space_seperated_tokens(strtolower($link['attribs']['rel']['data'])));
+
+				if ($this->base_location < $link['offset'])
+				{
+					$href = SimplePie_Misc::absolutize_url(trim($link['attribs']['href']['data']), $this->base);
+				}
+				else
+				{
+					$href = SimplePie_Misc::absolutize_url(trim($link['attribs']['href']['data']), $this->http_base);
+				}
+
+				if (!in_array($href, $done) && in_array('feed', $rel) || (in_array('alternate', $rel) && !empty($link['attribs']['type']['data']) && in_array(strtolower(SimplePie_Misc::parse_mime($link['attribs']['type']['data'])), array('application/rss+xml', 'application/atom+xml'))) && !isset($feeds[$href]))
+				{
+					$this->checked_feeds++;
+					$feed =& new $this->file_class($href, $this->timeout, 5, null, $this->useragent);
+					if ($feed->success && ($feed->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($feed->status_code === 200 || $feed->status_code > 206 && $feed->status_code < 300)) && $this->is_feed($feed))
+					{
+						$feeds[$href] = $feed;
+					}
+				}
+				$done[] = $href;
+			}
+		}
+
+		if (!empty($feeds))
+		{
+			return array_values($feeds);
+		}
+		else {
+			return null;
+		}
+	}
+
+	function get_links()
+	{
+		$links = SimplePie_Misc::get_element('a', $this->file->body);
+		foreach ($links as $link)
+		{
+			if (isset($link['attribs']['href']['data']))
+			{
+				$href = trim($link['attribs']['href']['data']);
+				$parsed = SimplePie_Misc::parse_url($href);
+				if ($parsed['scheme'] === '' || preg_match('/^(http(s)|feed)?$/i', $parsed['scheme']))
+				{
+					if ($this->base_location < $link['offset'])
+					{
+						$href = SimplePie_Misc::absolutize_url(trim($link['attribs']['href']['data']), $this->base);
+					}
+					else
+					{
+						$href = SimplePie_Misc::absolutize_url(trim($link['attribs']['href']['data']), $this->http_base);
+					}
+
+					$current = SimplePie_Misc::parse_url($this->file->url);
+
+					if ($parsed['authority'] === '' || $parsed['authority'] === $current['authority'])
+					{
+						$this->local[] = $href;
+					}
+					else
+					{
+						$this->elsewhere[] = $href;
+					}
+				}
+			}
+		}
+		$this->local = array_unique($this->local);
+		$this->elsewhere = array_unique($this->elsewhere);
+		if (!empty($this->local) || !empty($this->elsewhere))
+		{
+			return true;
+		}
+		return null;
+	}
+
+	function extension(&$array)
+	{
+		foreach ($array as $key => $value)
+		{
+			if ($this->checked_feeds === $this->max_checked_feeds)
+			{
+				break;
+			}
+			if (in_array(strtolower(strrchr($value, '.')), array('.rss', '.rdf', '.atom', '.xml')))
+			{
+				$this->checked_feeds++;
+				$feed =& new $this->file_class($value, $this->timeout, 5, null, $this->useragent);
+				if ($feed->success && ($feed->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($feed->status_code === 200 || $feed->status_code > 206 && $feed->status_code < 300)) && $this->is_feed($feed))
+				{
+					return $feed;
+				}
+				else
+				{
+					unset($array[$key]);
+				}
+			}
+		}
+		return null;
+	}
+
+	function body(&$array)
+	{
+		foreach ($array as $key => $value)
+		{
+			if ($this->checked_feeds === $this->max_checked_feeds)
+			{
+				break;
+			}
+			if (preg_match('/(rss|rdf|atom|xml)/i', $value))
+			{
+				$this->checked_feeds++;
+				$feed =& new $this->file_class($value, $this->timeout, 5, null, $this->useragent);
+				if ($feed->success && ($feed->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($feed->status_code === 200 || $feed->status_code > 206 && $feed->status_code < 300)) && $this->is_feed($feed))
+				{
+					return $feed;
+				}
+				else
+				{
+					unset($array[$key]);
+				}
+			}
+		}
+		return null;
+	}
+}
+
+class SimplePie_Parser
+{
+	var $error_code;
+	var $error_string;
+	var $current_line;
+	var $current_column;
+	var $current_byte;
+	var $separator = ' ';
+	var $namespace = array('');
+	var $element = array('');
+	var $xml_base = array('');
+	var $xml_base_explicit = array(false);
+	var $xml_lang = array('');
+	var $data = array();
+	var $datas = array(array());
+	var $current_xhtml_construct = -1;
+	var $encoding;
+
+	function parse(&$data, $encoding)
+	{
+		// Use UTF-8 if we get passed US-ASCII, as every US-ASCII character is a UTF-8 character
+		if (strtoupper($encoding) === 'US-ASCII')
+		{
+			$this->encoding = 'UTF-8';
+		}
+		else
+		{
+			$this->encoding = $encoding;
+		}
+
+		// Strip BOM:
+		// UTF-32 Big Endian BOM
+		if (substr($data, 0, 4) === "\x00\x00\xFE\xFF")
+		{
+			$data = substr($data, 4);
+		}
+		// UTF-32 Little Endian BOM
+		elseif (substr($data, 0, 4) === "\xFF\xFE\x00\x00")
+		{
+			$data = substr($data, 4);
+		}
+		// UTF-16 Big Endian BOM
+		elseif (substr($data, 0, 2) === "\xFE\xFF")
+		{
+			$data = substr($data, 2);
+		}
+		// UTF-16 Little Endian BOM
+		elseif (substr($data, 0, 2) === "\xFF\xFE")
+		{
+			$data = substr($data, 2);
+		}
+		// UTF-8 BOM
+		elseif (substr($data, 0, 3) === "\xEF\xBB\xBF")
+		{
+			$data = substr($data, 3);
+		}
+
+		if (substr($data, 0, 5) === '<?xml' && strspn(substr($data, 5, 1), "\x09\x0A\x0D\x20") && ($pos = strpos($data, '?>')) !== false)
+		{
+			$declaration =& new SimplePie_XML_Declaration_Parser(substr($data, 5, $pos - 5));
+			if ($declaration->parse())
+			{
+				$data = substr($data, $pos + 2);
+				$data = '<?xml version="' . $declaration->version . '" encoding="' . $encoding . '" standalone="' . (($declaration->standalone) ? 'yes' : 'no') . '"?>' . $data;
+			}
+			else
+			{
+				$this->error_string = 'SimplePie bug! Please report this!';
+				return false;
+			}
+		}
+
+		$return = true;
+
+		static $xml_is_sane = null;
+		if ($xml_is_sane === null)
+		{
+			$parser_check = xml_parser_create();
+			xml_parse_into_struct($parser_check, '<foo>&amp;</foo>', $values);
+			xml_parser_free($parser_check);
+			$xml_is_sane = isset($values[0]['value']);
+		}
+
+		// Create the parser
+		if ($xml_is_sane)
+		{
+			$xml = xml_parser_create_ns($this->encoding, $this->separator);
+			xml_parser_set_option($xml, XML_OPTION_SKIP_WHITE, 1);
+			xml_parser_set_option($xml, XML_OPTION_CASE_FOLDING, 0);
+			xml_set_object($xml, $this);
+			xml_set_character_data_handler($xml, 'cdata');
+			xml_set_element_handler($xml, 'tag_open', 'tag_close');
+
+			// Parse!
+			if (!xml_parse($xml, $data, true))
+			{
+				$this->error_code = xml_get_error_code($xml);
+				$this->error_string = xml_error_string($this->error_code);
+				$return = false;
+			}
+			$this->current_line = xml_get_current_line_number($xml);
+			$this->current_column = xml_get_current_column_number($xml);
+			$this->current_byte = xml_get_current_byte_index($xml);
+			xml_parser_free($xml);
+			return $return;
+		}
+		else
+		{
+			libxml_clear_errors();
+			$xml =& new XMLReader();
+			$xml->xml($data);
+			while (@$xml->read())
+			{
+				switch ($xml->nodeType)
+				{
+
+					case constant('XMLReader::END_ELEMENT'):
+						if ($xml->namespaceURI !== '')
+						{
+							$tagName = "{$xml->namespaceURI}{$this->separator}{$xml->localName}";
+						}
+						else
+						{
+							$tagName = $xml->localName;
+						}
+						$this->tag_close(null, $tagName);
+						break;
+					case constant('XMLReader::ELEMENT'):
+						$empty = $xml->isEmptyElement;
+						if ($xml->namespaceURI !== '')
+						{
+							$tagName = "{$xml->namespaceURI}{$this->separator}{$xml->localName}";
+						}
+						else
+						{
+							$tagName = $xml->localName;
+						}
+						$attributes = array();
+						while ($xml->moveToNextAttribute())
+						{
+							if ($xml->namespaceURI !== '')
+							{
+								$attrName = "{$xml->namespaceURI}{$this->separator}{$xml->localName}";
+							}
+							else
+							{
+								$attrName = $xml->localName;
+							}
+							$attributes[$attrName] = $xml->value;
+						}
+						$this->tag_open(null, $tagName, $attributes);
+						if ($empty)
+						{
+							$this->tag_close(null, $tagName);
+						}
+						break;
+					case constant('XMLReader::TEXT'):
+
+					case constant('XMLReader::CDATA'):
+						$this->cdata(null, $xml->value);
+						break;
+				}
+			}
+			if ($error = libxml_get_last_error())
+			{
+				$this->error_code = $error->code;
+				$this->error_string = $error->message;
+				$this->current_line = $error->line;
+				$this->current_column = $error->column;
+				return false;
+			}
+			else
+			{
+				return true;
+			}
+		}
+	}
+
+	function get_error_code()
+	{
+		return $this->error_code;
+	}
+
+	function get_error_string()
+	{
+		return $this->error_string;
+	}
+
+	function get_current_line()
+	{
+		return $this->current_line;
+	}
+
+	function get_current_column()
+	{
+		return $this->current_column;
+	}
+
+	function get_current_byte()
+	{
+		return $this->current_byte;
+	}
+
+	function get_data()
+	{
+		return $this->data;
+	}
+
+	function tag_open($parser, $tag, $attributes)
+	{
+		list($this->namespace[], $this->element[]) = $this->split_ns($tag);
+
+		$attribs = array();
+		foreach ($attributes as $name => $value)
+		{
+			list($attrib_namespace, $attribute) = $this->split_ns($name);
+			$attribs[$attrib_namespace][$attribute] = $value;
+		}
+
+		if (isset($attribs[SIMPLEPIE_NAMESPACE_XML]['base']))
+		{
+			$this->xml_base[] = SimplePie_Misc::absolutize_url($attribs[SIMPLEPIE_NAMESPACE_XML]['base'], end($this->xml_base));
+			$this->xml_base_explicit[] = true;
+		}
+		else
+		{
+			$this->xml_base[] = end($this->xml_base);
+			$this->xml_base_explicit[] = end($this->xml_base_explicit);
+		}
+
+		if (isset($attribs[SIMPLEPIE_NAMESPACE_XML]['lang']))
+		{
+			$this->xml_lang[] = $attribs[SIMPLEPIE_NAMESPACE_XML]['lang'];
+		}
+		else
+		{
+			$this->xml_lang[] = end($this->xml_lang);
+		}
+
+		if ($this->current_xhtml_construct >= 0)
+		{
+			$this->current_xhtml_construct++;
+			if (end($this->namespace) === SIMPLEPIE_NAMESPACE_XHTML)
+			{
+				$this->data['data'] .= '<' . end($this->element);
+				if (isset($attribs['']))
+				{
+					foreach ($attribs[''] as $name => $value)
+					{
+						$this->data['data'] .= ' ' . $name . '="' . htmlspecialchars($value, ENT_COMPAT, $this->encoding) . '"';
+					}
+				}
+				$this->data['data'] .= '>';
+			}
+		}
+		else
+		{
+			$this->datas[] =& $this->data;
+			$this->data =& $this->data['child'][end($this->namespace)][end($this->element)][];
+			$this->data = array('data' => '', 'attribs' => $attribs, 'xml_base' => end($this->xml_base), 'xml_base_explicit' => end($this->xml_base_explicit), 'xml_lang' => end($this->xml_lang));
+			if ((end($this->namespace) === SIMPLEPIE_NAMESPACE_ATOM_03 && in_array(end($this->element), array('title', 'tagline', 'copyright', 'info', 'summary', 'content')) && isset($attribs['']['mode']) && $attribs['']['mode'] === 'xml')
+			|| (end($this->namespace) === SIMPLEPIE_NAMESPACE_ATOM_10 && in_array(end($this->element), array('rights', 'subtitle', 'summary', 'info', 'title', 'content')) && isset($attribs['']['type']) && $attribs['']['type'] === 'xhtml'))
+			{
+				$this->current_xhtml_construct = 0;
+			}
+		}
+	}
+
+	function cdata($parser, $cdata)
+	{
+		if ($this->current_xhtml_construct >= 0)
+		{
+			$this->data['data'] .= htmlspecialchars($cdata, ENT_QUOTES, $this->encoding);
+		}
+		else
+		{
+			$this->data['data'] .= $cdata;
+		}
+	}
+
+	function tag_close($parser, $tag)
+	{
+		if ($this->current_xhtml_construct >= 0)
+		{
+			$this->current_xhtml_construct--;
+			if (end($this->namespace) === SIMPLEPIE_NAMESPACE_XHTML && !in_array(end($this->element), array('area', 'base', 'basefont', 'br', 'col', 'frame', 'hr', 'img', 'input', 'isindex', 'link', 'meta', 'param')))
+			{
+				$this->data['data'] .= '</' . end($this->element) . '>';
+			}
+		}
+		if ($this->current_xhtml_construct === -1)
+		{
+			$this->data =& $this->datas[count($this->datas) - 1];
+			array_pop($this->datas);
+		}
+
+		array_pop($this->element);
+		array_pop($this->namespace);
+		array_pop($this->xml_base);
+		array_pop($this->xml_base_explicit);
+		array_pop($this->xml_lang);
+	}
+
+	function split_ns($string)
+	{
+		static $cache = array();
+		if (!isset($cache[$string]))
+		{
+			if ($pos = strpos($string, $this->separator))
+			{
+				static $separator_length;
+				if (!$separator_length)
+				{
+					$separator_length = strlen($this->separator);
+				}
+				$namespace = substr($string, 0, $pos);
+				$local_name = substr($string, $pos + $separator_length);
+				if (strtolower($namespace) === SIMPLEPIE_NAMESPACE_ITUNES)
+				{
+					$namespace = SIMPLEPIE_NAMESPACE_ITUNES;
+				}
+
+				// Normalize the Media RSS namespaces
+				if ($namespace === SIMPLEPIE_NAMESPACE_MEDIARSS_WRONG)
+				{
+					$namespace = SIMPLEPIE_NAMESPACE_MEDIARSS;
+				}
+				$cache[$string] = array($namespace, $local_name);
+			}
+			else
+			{
+				$cache[$string] = array('', $string);
+			}
+		}
+		return $cache[$string];
+	}
+}
+
+/**
+ * @todo Move to using an actual HTML parser (this will allow tags to be properly stripped, and to switch between HTML and XHTML), this will also make it easier to shorten a string while preserving HTML tags
+ */
+class SimplePie_Sanitize
+{
+	// Private vars
+	var $base;
+
+	// Options
+	var $remove_div = true;
+	var $image_handler = '';
+	var $strip_htmltags = array('base', 'blink', 'body', 'doctype', 'embed', 'font', 'form', 'frame', 'frameset', 'html', 'iframe', 'input', 'marquee', 'meta', 'noscript', 'object', 'param', 'script', 'style');
+	var $encode_instead_of_strip = false;
+	var $strip_attributes = array('bgsound', 'class', 'expr', 'id', 'style', 'onclick', 'onerror', 'onfinish', 'onmouseover', 'onmouseout', 'onfocus', 'onblur', 'lowsrc', 'dynsrc');
+	var $strip_comments = false;
+	var $output_encoding = 'UTF-8';
+	var $enable_cache = true;
+	var $cache_location = './cache';
+	var $cache_name_function = 'md5';
+	var $cache_class = 'SimplePie_Cache';
+	var $file_class = 'SimplePie_File';
+	var $timeout = 10;
+	var $useragent = '';
+	var $force_fsockopen = false;
+
+	var $replace_url_attributes = array(
+		'a' => 'href',
+		'area' => 'href',
+		'blockquote' => 'cite',
+		'del' => 'cite',
+		'form' => 'action',
+		'img' => array('longdesc', 'src'),
+		'input' => 'src',
+		'ins' => 'cite',
+		'q' => 'cite'
+	);
+
+	function remove_div($enable = true)
+	{
+		$this->remove_div = (bool) $enable;
+	}
+
+	function set_image_handler($page = false)
+	{
+		if ($page)
+		{
+			$this->image_handler = (string) $page;
+		}
+		else
+		{
+			$this->image_handler = false;
+		}
+	}
+
+	function pass_cache_data($enable_cache = true, $cache_location = './cache', $cache_name_function = 'md5', $cache_class = 'SimplePie_Cache')
+	{
+		if (isset($enable_cache))
+		{
+			$this->enable_cache = (bool) $enable_cache;
+		}
+
+		if ($cache_location)
+		{
+			$this->cache_location = (string) $cache_location;
+		}
+
+		if ($cache_name_function)
+		{
+			$this->cache_name_function = (string) $cache_name_function;
+		}
+
+		if ($cache_class)
+		{
+			$this->cache_class = (string) $cache_class;
+		}
+	}
+
+	function pass_file_data($file_class = 'SimplePie_File', $timeout = 10, $useragent = '', $force_fsockopen = false)
+	{
+		if ($file_class)
+		{
+			$this->file_class = (string) $file_class;
+		}
+
+		if ($timeout)
+		{
+			$this->timeout = (string) $timeout;
+		}
+
+		if ($useragent)
+		{
+			$this->useragent = (string) $useragent;
+		}
+
+		if ($force_fsockopen)
+		{
+			$this->force_fsockopen = (string) $force_fsockopen;
+		}
+	}
+
+	function strip_htmltags($tags = array('base', 'blink', 'body', 'doctype', 'embed', 'font', 'form', 'frame', 'frameset', 'html', 'iframe', 'input', 'marquee', 'meta', 'noscript', 'object', 'param', 'script', 'style'))
+	{
+		if ($tags)
+		{
+			if (is_array($tags))
+			{
+				$this->strip_htmltags = $tags;
+			}
+			else
+			{
+				$this->strip_htmltags = explode(',', $tags);
+			}
+		}
+		else
+		{
+			$this->strip_htmltags = false;
+		}
+	}
+
+	function encode_instead_of_strip($encode = false)
+	{
+		$this->encode_instead_of_strip = (bool) $encode;
+	}
+
+	function strip_attributes($attribs = array('bgsound', 'class', 'expr', 'id', 'style', 'onclick', 'onerror', 'onfinish', 'onmouseover', 'onmouseout', 'onfocus', 'onblur', 'lowsrc', 'dynsrc'))
+	{
+		if ($attribs)
+		{
+			if (is_array($attribs))
+			{
+				$this->strip_attributes = $attribs;
+			}
+			else
+			{
+				$this->strip_attributes = explode(',', $attribs);
+			}
+		}
+		else
+		{
+			$this->strip_attributes = false;
+		}
+	}
+
+	function strip_comments($strip = false)
+	{
+		$this->strip_comments = (bool) $strip;
+	}
+
+	function set_output_encoding($encoding = 'UTF-8')
+	{
+		$this->output_encoding = (string) $encoding;
+	}
+
+	/**
+	 * Set element/attribute key/value pairs of HTML attributes
+	 * containing URLs that need to be resolved relative to the feed
+	 *
+	 * @access public
+	 * @since 1.0
+	 * @param array $element_attribute Element/attribute key/value pairs
+	 */
+	function set_url_replacements($element_attribute = array('a' => 'href', 'area' => 'href', 'blockquote' => 'cite', 'del' => 'cite', 'form' => 'action', 'img' => array('longdesc', 'src'), 'input' => 'src', 'ins' => 'cite', 'q' => 'cite'))
+	{
+		$this->replace_url_attributes = (array) $element_attribute;
+	}
+
+	function sanitize($data, $type, $base = '')
+	{
+		$data = trim($data);
+		if ($data !== '' || $type & SIMPLEPIE_CONSTRUCT_IRI)
+		{
+			if ($type & SIMPLEPIE_CONSTRUCT_MAYBE_HTML)
+			{
+				if (preg_match('/(&(#(x[0-9a-fA-F]+|[0-9]+)|[a-zA-Z0-9]+)|<\/[A-Za-z][^\x09\x0A\x0B\x0C\x0D\x20\x2F\x3E]*' . SIMPLEPIE_PCRE_HTML_ATTRIBUTE . '>)/', $data))
+				{
+					$type |= SIMPLEPIE_CONSTRUCT_HTML;
+				}
+				else
+				{
+					$type |= SIMPLEPIE_CONSTRUCT_TEXT;
+				}
+			}
+
+			if ($type & SIMPLEPIE_CONSTRUCT_BASE64)
+			{
+				$data = base64_decode($data);
+			}
+
+			if ($type & SIMPLEPIE_CONSTRUCT_XHTML)
+			{
+				if ($this->remove_div)
+				{
+					$data = preg_replace('/^<div' . SIMPLEPIE_PCRE_XML_ATTRIBUTE . '>/', '', $data);
+					$data = preg_replace('/<\/div>$/', '', $data);
+				}
+				else
+				{
+					$data = preg_replace('/^<div' . SIMPLEPIE_PCRE_XML_ATTRIBUTE . '>/', '<div>', $data);
+				}
+			}
+
+			if ($type & (SIMPLEPIE_CONSTRUCT_HTML | SIMPLEPIE_CONSTRUCT_XHTML))
+			{
+				// Strip comments
+				if ($this->strip_comments)
+				{
+					$data = SimplePie_Misc::strip_comments($data);
+				}
+
+				// Strip out HTML tags and attributes that might cause various security problems.
+				// Based on recommendations by Mark Pilgrim at:
+				// http://diveintomark.org/archives/2003/06/12/how_to_consume_rss_safely
+				if ($this->strip_htmltags)
+				{
+					foreach ($this->strip_htmltags as $tag)
+					{
+						$pcre = "/<($tag)" . SIMPLEPIE_PCRE_HTML_ATTRIBUTE . "(>(.*)<\/$tag" . SIMPLEPIE_PCRE_HTML_ATTRIBUTE . '>|(\/)?>)/siU';
+						while (preg_match($pcre, $data))
+						{
+							$data = preg_replace_callback($pcre, array(&$this, 'do_strip_htmltags'), $data);
+						}
+					}
+				}
+
+				if ($this->strip_attributes)
+				{
+					foreach ($this->strip_attributes as $attrib)
+					{
+						$data = preg_replace('/(<[A-Za-z][^\x09\x0A\x0B\x0C\x0D\x20\x2F\x3E]*)' . SIMPLEPIE_PCRE_HTML_ATTRIBUTE . trim($attrib) . '(?:\s*=\s*(?:"(?:[^"]*)"|\'(?:[^\']*)\'|(?:[^\x09\x0A\x0B\x0C\x0D\x20\x22\x27\x3E][^\x09\x0A\x0B\x0C\x0D\x20\x3E]*)?))?' . SIMPLEPIE_PCRE_HTML_ATTRIBUTE . '>/', '\1\2\3>', $data);
+					}
+				}
+
+				// Replace relative URLs
+				$this->base = $base;
+				foreach ($this->replace_url_attributes as $element => $attributes)
+				{
+					$data = $this->replace_urls($data, $element, $attributes);
+				}
+
+				// If image handling (caching, etc.) is enabled, cache and rewrite all the image tags.
+				if (isset($this->image_handler) && ((string) $this->image_handler) !== '' && $this->enable_cache)
+				{
+					$images = SimplePie_Misc::get_element('img', $data);
+					foreach ($images as $img)
+					{
+						if (isset($img['attribs']['src']['data']))
+						{
+							$image_url = call_user_func($this->cache_name_function, $img['attribs']['src']['data']);
+							$cache = call_user_func(array($this->cache_class, 'create'), $this->cache_location, $image_url, 'spi');
+
+							if ($cache->load())
+							{
+								$img['attribs']['src']['data'] = $this->image_handler . $image_url;
+								$data = str_replace($img['full'], SimplePie_Misc::element_implode($img), $data);
+							}
+							else
+							{
+								$file =& new $this->file_class($img['attribs']['src']['data'], $this->timeout, 5, array('X-FORWARDED-FOR' => $_SERVER['REMOTE_ADDR']), $this->useragent, $this->force_fsockopen);
+								$headers = $file->headers;
+
+								if ($file->success && ($file->method & SIMPLEPIE_FILE_SOURCE_REMOTE === 0 || ($file->status_code === 200 || $file->status_code > 206 && $file->status_code < 300)))
+								{
+									if ($cache->save(array('headers' => $file->headers, 'body' => $file->body)))
+									{
+										$img['attribs']['src']['data'] = $this->image_handler . $image_url;
+										$data = str_replace($img['full'], SimplePie_Misc::element_implode($img), $data);
+									}
+									else
+									{
+										trigger_error("$this->cache_location is not writeable. Make sure you've set the correct relative or absolute path, and that the location is server-writable.", E_USER_WARNING);
+									}
+								}
+							}
+						}
+					}
+				}
+
+				// Having (possibly) taken stuff out, there may now be whitespace at the beginning/end of the data
+				$data = trim($data);
+			}
+
+			if ($type & SIMPLEPIE_CONSTRUCT_IRI)
+			{
+				$data = SimplePie_Misc::absolutize_url($data, $base);
+			}
+
+			if ($type & (SIMPLEPIE_CONSTRUCT_TEXT | SIMPLEPIE_CONSTRUCT_IRI))
+			{
+				$data = htmlspecialchars($data, ENT_COMPAT, 'UTF-8');
+			}
+
+			if ($this->output_encoding !== 'UTF-8')
+			{
+				$data = SimplePie_Misc::change_encoding($data, 'UTF-8', $this->output_encoding);
+			}
+		}
+		return $data;
+	}
+
+	function replace_urls($data, $tag, $attributes)
+	{
+		if (!is_array($this->strip_htmltags) || !in_array($tag, $this->strip_htmltags))
+		{
+			$elements = SimplePie_Misc::get_element($tag, $data);
+			foreach ($elements as $element)
+			{
+				if (is_array($attributes))
+				{
+					foreach ($attributes as $attribute)
+					{
+						if (isset($element['attribs'][$attribute]['data']))
+						{
+							$element['attribs'][$attribute]['data'] = SimplePie_Misc::absolutize_url($element['attribs'][$attribute]['data'], $this->base);
+							$new_element = SimplePie_Misc::element_implode($element);
+							$data = str_replace($element['full'], $new_element, $data);
+							$element['full'] = $new_element;
+						}
+					}
+				}
+				elseif (isset($element['attribs'][$attributes]['data']))
+				{
+					$element['attribs'][$attributes]['data'] = SimplePie_Misc::absolutize_url($element['attribs'][$attributes]['data'], $this->base);
+					$data = str_replace($element['full'], SimplePie_Misc::element_implode($element), $data);
+				}
+			}
+		}
+		return $data;
+	}
+
+	function do_strip_htmltags($match)
+	{
+		if ($this->encode_instead_of_strip)
+		{
+			if (isset($match[4]) && !in_array(strtolower($match[1]), array('script', 'style')))
+			{
+				$match[1] = htmlspecialchars($match[1], ENT_COMPAT, 'UTF-8');
+				$match[2] = htmlspecialchars($match[2], ENT_COMPAT, 'UTF-8');
+				return "&lt;$match[1]$match[2]&gt;$match[3]&lt;/$match[1]&gt;";
+			}
+			else
+			{
+				return htmlspecialchars($match[0], ENT_COMPAT, 'UTF-8');
+			}
+		}
+		elseif (isset($match[4]) && !in_array(strtolower($match[1]), array('script', 'style')))
+		{
+			return $match[4];
+		}
+		else
+		{
+			return '';
+		}
+	}
+}
+
+?>
diff --git a/simplepie/test/absolutize/RFC3986.5.4/README b/simplepie/test/absolutize/RFC3986.5.4/README
new file mode 100644
index 0000000000..385dc74f8a
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/README
@@ -0,0 +1 @@
+The tests enclosed within come from RFC 3986 section 5.4 and all share the same base URL
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/abnormal/1.php b/simplepie/test/absolutize/RFC3986.5.4/abnormal/1.php
new file mode 100644
index 0000000000..f55e62d8be
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/abnormal/1.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Abnormal_1 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = '../../../g';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/g';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/abnormal/10.php b/simplepie/test/absolutize/RFC3986.5.4/abnormal/10.php
new file mode 100644
index 0000000000..668cda63cd
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/abnormal/10.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Abnormal_10 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = './g/.';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/g/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/abnormal/11.php b/simplepie/test/absolutize/RFC3986.5.4/abnormal/11.php
new file mode 100644
index 0000000000..eda10a60bb
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/abnormal/11.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Abnormal_11 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = 'g/./h';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/g/h';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/abnormal/12.php b/simplepie/test/absolutize/RFC3986.5.4/abnormal/12.php
new file mode 100644
index 0000000000..b66d71f604
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/abnormal/12.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Abnormal_12 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = 'g/../h';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/h';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/abnormal/13.php b/simplepie/test/absolutize/RFC3986.5.4/abnormal/13.php
new file mode 100644
index 0000000000..06b5e326ca
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/abnormal/13.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Abnormal_13 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = 'g;x=1/./y';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/g;x=1/y';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/abnormal/14.php b/simplepie/test/absolutize/RFC3986.5.4/abnormal/14.php
new file mode 100644
index 0000000000..4a40af5adc
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/abnormal/14.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Abnormal_14 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = 'g;x=1/../y';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/y';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/abnormal/15.php b/simplepie/test/absolutize/RFC3986.5.4/abnormal/15.php
new file mode 100644
index 0000000000..bef790e701
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/abnormal/15.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Abnormal_15 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = 'g?y/./x';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/g?y/./x';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/abnormal/16.php b/simplepie/test/absolutize/RFC3986.5.4/abnormal/16.php
new file mode 100644
index 0000000000..932cda4b56
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/abnormal/16.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Abnormal_16 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = 'g?y/../x';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/g?y/../x';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/abnormal/17.php b/simplepie/test/absolutize/RFC3986.5.4/abnormal/17.php
new file mode 100644
index 0000000000..8d626b68ff
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/abnormal/17.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Abnormal_17 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = 'g#s/./x';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/g#s/./x';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/abnormal/18.php b/simplepie/test/absolutize/RFC3986.5.4/abnormal/18.php
new file mode 100644
index 0000000000..7a53018cf0
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/abnormal/18.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Abnormal_18 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = 'g#s/../x';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/g#s/../x';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/abnormal/19.php b/simplepie/test/absolutize/RFC3986.5.4/abnormal/19.php
new file mode 100644
index 0000000000..289c1abc26
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/abnormal/19.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Abnormal_19 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = 'http:g';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http:g';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/abnormal/2.php b/simplepie/test/absolutize/RFC3986.5.4/abnormal/2.php
new file mode 100644
index 0000000000..9a05345545
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/abnormal/2.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Abnormal_2 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = '../../../../g';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/g';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/abnormal/3.php b/simplepie/test/absolutize/RFC3986.5.4/abnormal/3.php
new file mode 100644
index 0000000000..f96f5468f4
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/abnormal/3.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Abnormal_3 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = '/./g';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/g';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/abnormal/4.php b/simplepie/test/absolutize/RFC3986.5.4/abnormal/4.php
new file mode 100644
index 0000000000..64e359fe63
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/abnormal/4.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Abnormal_4 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = '/../g';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/g';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/abnormal/5.php b/simplepie/test/absolutize/RFC3986.5.4/abnormal/5.php
new file mode 100644
index 0000000000..dfd8e42bee
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/abnormal/5.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Abnormal_5 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = 'g.';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/g.';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/abnormal/6.php b/simplepie/test/absolutize/RFC3986.5.4/abnormal/6.php
new file mode 100644
index 0000000000..3125b00448
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/abnormal/6.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Abnormal_6 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = '.g';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/.g';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/abnormal/7.php b/simplepie/test/absolutize/RFC3986.5.4/abnormal/7.php
new file mode 100644
index 0000000000..82f97b0ceb
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/abnormal/7.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Abnormal_7 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = 'g..';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/g..';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/abnormal/8.php b/simplepie/test/absolutize/RFC3986.5.4/abnormal/8.php
new file mode 100644
index 0000000000..836ede0769
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/abnormal/8.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Abnormal_8 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = '..g';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/..g';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/abnormal/9.php b/simplepie/test/absolutize/RFC3986.5.4/abnormal/9.php
new file mode 100644
index 0000000000..4917d4ceb7
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/abnormal/9.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Abnormal_9 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = './../g';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/g';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/base.php b/simplepie/test/absolutize/RFC3986.5.4/base.php
new file mode 100644
index 0000000000..913aeec9dd
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/base.php
@@ -0,0 +1,25 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986 extends SimplePie_Absolutize_Test
+{
+	function SimplePie_Absolutize_Test_RFC3986()
+	{
+		// Ugly hack so it only applies to this and none of its children
+		if (!is_subclass_of($this, 'SimplePie_Absolutize_Test_RFC3986'))
+		{
+			$this->test = false;
+		}
+		// Only call the parent constructor if it exists
+		if (is_callable(array('parent', 'SimplePie_Absolutize_Test')))
+		{
+			parent::SimplePie_Absolutize_Test();
+		}
+	}
+	
+	function init()
+	{
+		$this->data['base'] = 'http://a/b/c/d;p?q';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/normal/1.php b/simplepie/test/absolutize/RFC3986.5.4/normal/1.php
new file mode 100644
index 0000000000..0550ff0304
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/normal/1.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Normal_1 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = 'g:h';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'g:h';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/normal/10.php b/simplepie/test/absolutize/RFC3986.5.4/normal/10.php
new file mode 100644
index 0000000000..86eab935cc
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/normal/10.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Normal_10 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = 'g#s';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/g#s';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/normal/11.php b/simplepie/test/absolutize/RFC3986.5.4/normal/11.php
new file mode 100644
index 0000000000..caa262bff3
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/normal/11.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Normal_11 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = 'g?y#s';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/g?y#s';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/normal/12.php b/simplepie/test/absolutize/RFC3986.5.4/normal/12.php
new file mode 100644
index 0000000000..8425386a46
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/normal/12.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Normal_12 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = ';x';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/;x';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/normal/13.php b/simplepie/test/absolutize/RFC3986.5.4/normal/13.php
new file mode 100644
index 0000000000..8fc6249302
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/normal/13.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Normal_13 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = 'g;x';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/g;x';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/normal/14.php b/simplepie/test/absolutize/RFC3986.5.4/normal/14.php
new file mode 100644
index 0000000000..bef64c3c24
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/normal/14.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Normal_14 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = 'g;x?y#s';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/g;x?y#s';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/normal/15.php b/simplepie/test/absolutize/RFC3986.5.4/normal/15.php
new file mode 100644
index 0000000000..d3af1a4e5b
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/normal/15.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Normal_15 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = '';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/d;p?q';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/normal/16.php b/simplepie/test/absolutize/RFC3986.5.4/normal/16.php
new file mode 100644
index 0000000000..d511971e1d
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/normal/16.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Normal_16 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = '.';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/normal/17.php b/simplepie/test/absolutize/RFC3986.5.4/normal/17.php
new file mode 100644
index 0000000000..0c4581bcce
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/normal/17.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Normal_17 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = './';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/normal/18.php b/simplepie/test/absolutize/RFC3986.5.4/normal/18.php
new file mode 100644
index 0000000000..8e25cc5d04
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/normal/18.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Normal_18 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = '..';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/normal/19.php b/simplepie/test/absolutize/RFC3986.5.4/normal/19.php
new file mode 100644
index 0000000000..53cd164d7f
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/normal/19.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Normal_19 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = '../';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/normal/2.php b/simplepie/test/absolutize/RFC3986.5.4/normal/2.php
new file mode 100644
index 0000000000..c98f815e05
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/normal/2.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Normal_2 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = 'g';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/g';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/normal/20.php b/simplepie/test/absolutize/RFC3986.5.4/normal/20.php
new file mode 100644
index 0000000000..3a3348ad32
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/normal/20.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Normal_20 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = '../g';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/g';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/normal/21.php b/simplepie/test/absolutize/RFC3986.5.4/normal/21.php
new file mode 100644
index 0000000000..e6bd90001c
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/normal/21.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Normal_21 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = '../..';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/normal/22.php b/simplepie/test/absolutize/RFC3986.5.4/normal/22.php
new file mode 100644
index 0000000000..0a6cf97328
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/normal/22.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Normal_22 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = '../../';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/normal/23.php b/simplepie/test/absolutize/RFC3986.5.4/normal/23.php
new file mode 100644
index 0000000000..fcd90f01e0
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/normal/23.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Normal_23 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = '../../g';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/g';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/normal/3.php b/simplepie/test/absolutize/RFC3986.5.4/normal/3.php
new file mode 100644
index 0000000000..d5401736cc
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/normal/3.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Normal_3 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = './g';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/g';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/normal/4.php b/simplepie/test/absolutize/RFC3986.5.4/normal/4.php
new file mode 100644
index 0000000000..9eff412aa4
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/normal/4.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Normal_4 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = 'g/';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/g/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/normal/5.php b/simplepie/test/absolutize/RFC3986.5.4/normal/5.php
new file mode 100644
index 0000000000..82681cb64b
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/normal/5.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Normal_5 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = '/g';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/g';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/normal/6.php b/simplepie/test/absolutize/RFC3986.5.4/normal/6.php
new file mode 100644
index 0000000000..5aaef804bf
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/normal/6.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Normal_6 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = '//g';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://g';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/normal/7.php b/simplepie/test/absolutize/RFC3986.5.4/normal/7.php
new file mode 100644
index 0000000000..e97ecd3729
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/normal/7.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Normal_7 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = '?y';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/d;p?y';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/normal/8.php b/simplepie/test/absolutize/RFC3986.5.4/normal/8.php
new file mode 100644
index 0000000000..0ac6fe46c6
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/normal/8.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Normal_8 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = 'g?y';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/g?y';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/RFC3986.5.4/normal/9.php b/simplepie/test/absolutize/RFC3986.5.4/normal/9.php
new file mode 100644
index 0000000000..d790df845e
--- /dev/null
+++ b/simplepie/test/absolutize/RFC3986.5.4/normal/9.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Absolutize_Test_RFC3986_Normal_9 extends SimplePie_Absolutize_Test_RFC3986
+{
+	function data()
+	{
+		$this->data['relative'] = '#s';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/d;p?q#s';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/SPtests/bugs/1091.0.1.php b/simplepie/test/absolutize/SPtests/bugs/1091.0.1.php
new file mode 100644
index 0000000000..5c781eeeae
--- /dev/null
+++ b/simplepie/test/absolutize/SPtests/bugs/1091.0.1.php
@@ -0,0 +1,17 @@
+<?php
+
+class SimplePie_Absolutize_Test_Bug_1091_Test_0_1 extends SimplePie_Absolutize_Test
+{
+	function data()
+	{
+		$this->data['base'] = 'http://example.com';
+		$this->data['relative'] = '//example.net';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.net';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/SPtests/bugs/1091.0.php b/simplepie/test/absolutize/SPtests/bugs/1091.0.php
new file mode 100644
index 0000000000..a81eb060d0
--- /dev/null
+++ b/simplepie/test/absolutize/SPtests/bugs/1091.0.php
@@ -0,0 +1,17 @@
+<?php
+
+class SimplePie_Absolutize_Test_Bug_1091_Test_0 extends SimplePie_Absolutize_Test
+{
+	function data()
+	{
+		$this->data['base'] = 'http:g';
+		$this->data['relative'] = 'a';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http:a';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/SPtests/bugs/274.0.php b/simplepie/test/absolutize/SPtests/bugs/274.0.php
new file mode 100644
index 0000000000..95bf7897c0
--- /dev/null
+++ b/simplepie/test/absolutize/SPtests/bugs/274.0.php
@@ -0,0 +1,17 @@
+<?php
+
+class SimplePie_Absolutize_Test_Bug_274_Test_0 extends SimplePie_Absolutize_Test
+{
+	function data()
+	{
+		$this->data['base'] = 'http://a/b/';
+		$this->data['relative'] = 'c';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/SPtests/bugs/274.1.php b/simplepie/test/absolutize/SPtests/bugs/274.1.php
new file mode 100644
index 0000000000..409b3feab7
--- /dev/null
+++ b/simplepie/test/absolutize/SPtests/bugs/274.1.php
@@ -0,0 +1,17 @@
+<?php
+
+class SimplePie_Absolutize_Test_Bug_274_Test_1 extends SimplePie_Absolutize_Test
+{
+	function data()
+	{
+		$this->data['base'] = 'http://a/';
+		$this->data['relative'] = 'b';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/SPtests/bugs/274.2.php b/simplepie/test/absolutize/SPtests/bugs/274.2.php
new file mode 100644
index 0000000000..c3b159e987
--- /dev/null
+++ b/simplepie/test/absolutize/SPtests/bugs/274.2.php
@@ -0,0 +1,17 @@
+<?php
+
+class SimplePie_Absolutize_Test_Bug_274_Test_2 extends SimplePie_Absolutize_Test
+{
+	function data()
+	{
+		$this->data['base'] = 'http://a/';
+		$this->data['relative'] = '/b';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/SPtests/bugs/274.3.php b/simplepie/test/absolutize/SPtests/bugs/274.3.php
new file mode 100644
index 0000000000..4b268e44fc
--- /dev/null
+++ b/simplepie/test/absolutize/SPtests/bugs/274.3.php
@@ -0,0 +1,17 @@
+<?php
+
+class SimplePie_Absolutize_Test_Bug_274_Test_3 extends SimplePie_Absolutize_Test
+{
+	function data()
+	{
+		$this->data['base'] = 'http://a/b';
+		$this->data['relative'] = 'c';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/c';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/SPtests/bugs/579.0.php b/simplepie/test/absolutize/SPtests/bugs/579.0.php
new file mode 100644
index 0000000000..b899d973f4
--- /dev/null
+++ b/simplepie/test/absolutize/SPtests/bugs/579.0.php
@@ -0,0 +1,17 @@
+<?php
+
+class SimplePie_Absolutize_Test_Bug_579_Test_0 extends SimplePie_Absolutize_Test
+{
+	function data()
+	{
+		$this->data['base'] = 'http://a/b/';
+		$this->data['relative'] = "b\x0Ac";
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/b%0Ac';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/SPtests/bugs/691.0.php b/simplepie/test/absolutize/SPtests/bugs/691.0.php
new file mode 100644
index 0000000000..1c268e65e2
--- /dev/null
+++ b/simplepie/test/absolutize/SPtests/bugs/691.0.php
@@ -0,0 +1,17 @@
+<?php
+
+class SimplePie_Absolutize_Test_Bug_691_Test_0 extends SimplePie_Absolutize_Test
+{
+	function data()
+	{
+		$this->data['base'] = 'http://a/b/c';
+		$this->data['relative'] = 'zero://a/b/c';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'zero://a/b/c';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/SPtests/bugs/691.1.php b/simplepie/test/absolutize/SPtests/bugs/691.1.php
new file mode 100644
index 0000000000..af7d04194a
--- /dev/null
+++ b/simplepie/test/absolutize/SPtests/bugs/691.1.php
@@ -0,0 +1,17 @@
+<?php
+
+class SimplePie_Absolutize_Test_Bug_691_Test_1 extends SimplePie_Absolutize_Test
+{
+	function data()
+	{
+		$this->data['base'] = 'http://a/b/c';
+		$this->data['relative'] = '//0';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://0';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/SPtests/bugs/691.2.php b/simplepie/test/absolutize/SPtests/bugs/691.2.php
new file mode 100644
index 0000000000..c3ce0855d6
--- /dev/null
+++ b/simplepie/test/absolutize/SPtests/bugs/691.2.php
@@ -0,0 +1,17 @@
+<?php
+
+class SimplePie_Absolutize_Test_Bug_691_Test_2 extends SimplePie_Absolutize_Test
+{
+	function data()
+	{
+		$this->data['base'] = 'http://a/b/c';
+		$this->data['relative'] = '0';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/0';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/SPtests/bugs/691.3.php b/simplepie/test/absolutize/SPtests/bugs/691.3.php
new file mode 100644
index 0000000000..2bfd95a1dd
--- /dev/null
+++ b/simplepie/test/absolutize/SPtests/bugs/691.3.php
@@ -0,0 +1,17 @@
+<?php
+
+class SimplePie_Absolutize_Test_Bug_691_Test_3 extends SimplePie_Absolutize_Test
+{
+	function data()
+	{
+		$this->data['base'] = 'http://a/b/c';
+		$this->data['relative'] = '?0';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c?0';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/SPtests/bugs/691.4.php b/simplepie/test/absolutize/SPtests/bugs/691.4.php
new file mode 100644
index 0000000000..9c82198c60
--- /dev/null
+++ b/simplepie/test/absolutize/SPtests/bugs/691.4.php
@@ -0,0 +1,17 @@
+<?php
+
+class SimplePie_Absolutize_Test_Bug_691_Test_4 extends SimplePie_Absolutize_Test
+{
+	function data()
+	{
+		$this->data['base'] = 'http://a/b/c';
+		$this->data['relative'] = '#0';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c#0';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/SPtests/bugs/691.5.php b/simplepie/test/absolutize/SPtests/bugs/691.5.php
new file mode 100644
index 0000000000..10a93b95bb
--- /dev/null
+++ b/simplepie/test/absolutize/SPtests/bugs/691.5.php
@@ -0,0 +1,17 @@
+<?php
+
+class SimplePie_Absolutize_Test_Bug_691_Test_5 extends SimplePie_Absolutize_Test
+{
+	function data()
+	{
+		$this->data['base'] = 'zero://a/b/c';
+		$this->data['relative'] = 'd';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'zero://a/b/d';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/SPtests/bugs/691.6.php b/simplepie/test/absolutize/SPtests/bugs/691.6.php
new file mode 100644
index 0000000000..6a9ef397f0
--- /dev/null
+++ b/simplepie/test/absolutize/SPtests/bugs/691.6.php
@@ -0,0 +1,17 @@
+<?php
+
+class SimplePie_Absolutize_Test_Bug_691_Test_6 extends SimplePie_Absolutize_Test
+{
+	function data()
+	{
+		$this->data['base'] = 'http://0/b/c';
+		$this->data['relative'] = 'd';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://0/b/d';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/SPtests/bugs/691.7.php b/simplepie/test/absolutize/SPtests/bugs/691.7.php
new file mode 100644
index 0000000000..ab51d74994
--- /dev/null
+++ b/simplepie/test/absolutize/SPtests/bugs/691.7.php
@@ -0,0 +1,17 @@
+<?php
+
+class SimplePie_Absolutize_Test_Bug_691_Test_7 extends SimplePie_Absolutize_Test
+{
+	function data()
+	{
+		$this->data['base'] = 'http://a/b/c?0';
+		$this->data['relative'] = 'd';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/d';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/SPtests/bugs/691.8.php b/simplepie/test/absolutize/SPtests/bugs/691.8.php
new file mode 100644
index 0000000000..4c1ee0eb84
--- /dev/null
+++ b/simplepie/test/absolutize/SPtests/bugs/691.8.php
@@ -0,0 +1,17 @@
+<?php
+
+class SimplePie_Absolutize_Test_Bug_691_Test_8 extends SimplePie_Absolutize_Test
+{
+	function data()
+	{
+		$this->data['base'] = 'http://a/b/c#0';
+		$this->data['relative'] = 'd';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/d';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/absolutize/SPtests/bugs/pct_encoding_invalid_second_char.php b/simplepie/test/absolutize/SPtests/bugs/pct_encoding_invalid_second_char.php
new file mode 100644
index 0000000000..75dc2bb109
--- /dev/null
+++ b/simplepie/test/absolutize/SPtests/bugs/pct_encoding_invalid_second_char.php
@@ -0,0 +1,17 @@
+<?php
+
+class SimplePie_Absolutize_Test_Bug_Pct_Encoding_Invalid_Second_Char extends SimplePie_Absolutize_Test
+{
+	function data()
+	{
+		$this->data['base'] = 'http://a/b/c/d';
+		$this->data['relative'] = 'f%0o';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://a/b/c/f%250o';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/background.gif b/simplepie/test/background.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a18a1f902fa8b6f08b505ef9f03078684d4b8700
GIT binary patch
literal 4536
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
V3KfiASQ@?P9F3uKUwL@I{ujn0accko

literal 0
HcmV?d00001

diff --git a/simplepie/test/date/RFC3339/1.php b/simplepie/test/date/RFC3339/1.php
new file mode 100644
index 0000000000..3ae32bcc6a
--- /dev/null
+++ b/simplepie/test/date/RFC3339/1.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC3339_1 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = '1985-04-12T23:20:50.52Z';
+	}
+	
+	function expected()
+	{
+		$this->expected = 482196051;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/RFC3339/2.php b/simplepie/test/date/RFC3339/2.php
new file mode 100644
index 0000000000..682c48e9d1
--- /dev/null
+++ b/simplepie/test/date/RFC3339/2.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC3339_2 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = '1996-12-19T16:39:57-08:00';
+	}
+	
+	function expected()
+	{
+		$this->expected = 851042397;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/RFC3339/3.php b/simplepie/test/date/RFC3339/3.php
new file mode 100644
index 0000000000..241739a7a8
--- /dev/null
+++ b/simplepie/test/date/RFC3339/3.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC3339_3 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = '1996-12-20T00:39:57Z';
+	}
+	
+	function expected()
+	{
+		$this->expected = 851042397;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/RFC3339/README b/simplepie/test/date/RFC3339/README
new file mode 100644
index 0000000000..da6e9bd7ba
--- /dev/null
+++ b/simplepie/test/date/RFC3339/README
@@ -0,0 +1 @@
+The tests enclosed within come from RFC 3339 section 5.8
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/invalid/four_digit_year.php b/simplepie/test/date/SPtests/RFC2822/invalid/four_digit_year.php
new file mode 100644
index 0000000000..b0208821fd
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/invalid/four_digit_year.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_Four_Digit_Year extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 1994 13:15:30 GMT';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/invalid/full_name_of_day.php b/simplepie/test/date/SPtests/RFC2822/invalid/full_name_of_day.php
new file mode 100644
index 0000000000..9874d526fc
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/invalid/full_name_of_day.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_Full_Name_Of_Day extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Friday, 05 Nov 94 13:15:30 GMT';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/invalid/invalid_day.php b/simplepie/test/date/SPtests/RFC2822/invalid/invalid_day.php
new file mode 100644
index 0000000000..0af95f3b67
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/invalid/invalid_day.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_Invalid_Day extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Vendredi, 05 Nov 94 13:15:30 GMT';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/invalid/invalid_timezone.php b/simplepie/test/date/SPtests/RFC2822/invalid/invalid_timezone.php
new file mode 100644
index 0000000000..753633b3e1
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/invalid/invalid_timezone.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_Invalid_Timezone extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 UTC';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/invalid/mismatch_name_of_day.php b/simplepie/test/date/SPtests/RFC2822/invalid/mismatch_name_of_day.php
new file mode 100644
index 0000000000..02054cdf62
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/invalid/mismatch_name_of_day.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_Mismatch_Name_Of_Day extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Mon, 05 Nov 94 13:15:30 GMT';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/1.php b/simplepie/test/date/SPtests/RFC2822/valid/1.php
new file mode 100644
index 0000000000..c8a65b6287
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/1.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_1 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 GMT';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/10.php b/simplepie/test/date/SPtests/RFC2822/valid/10.php
new file mode 100644
index 0000000000..fbae6451d2
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/10.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_10 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 06:15:30 MST';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/11.php b/simplepie/test/date/SPtests/RFC2822/valid/11.php
new file mode 100644
index 0000000000..635fe2a986
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/11.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_11 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 07:15:30 MDT';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/12.php b/simplepie/test/date/SPtests/RFC2822/valid/12.php
new file mode 100644
index 0000000000..7afa82e597
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/12.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_12 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 05:15:30 PST';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/13.php b/simplepie/test/date/SPtests/RFC2822/valid/13.php
new file mode 100644
index 0000000000..dfdaa34669
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/13.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_13 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 06:15:30 PDT';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/14.php b/simplepie/test/date/SPtests/RFC2822/valid/14.php
new file mode 100644
index 0000000000..f45b660aff
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/14.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_14 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 A';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/15.php b/simplepie/test/date/SPtests/RFC2822/valid/15.php
new file mode 100644
index 0000000000..ecf32ebc62
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/15.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_15 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 B';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/16.php b/simplepie/test/date/SPtests/RFC2822/valid/16.php
new file mode 100644
index 0000000000..1defa0f563
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/16.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_16 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 C';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/17.php b/simplepie/test/date/SPtests/RFC2822/valid/17.php
new file mode 100644
index 0000000000..c14bc9e6e4
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/17.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_17 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 D';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/18.php b/simplepie/test/date/SPtests/RFC2822/valid/18.php
new file mode 100644
index 0000000000..1ef5016623
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/18.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_18 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 E';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/19.php b/simplepie/test/date/SPtests/RFC2822/valid/19.php
new file mode 100644
index 0000000000..4cd0909095
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/19.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_19 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 F';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/2.php b/simplepie/test/date/SPtests/RFC2822/valid/2.php
new file mode 100644
index 0000000000..c9f76e202f
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/2.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_2 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = '05 Nov 94 13:15:30 GMT';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/20.php b/simplepie/test/date/SPtests/RFC2822/valid/20.php
new file mode 100644
index 0000000000..b60f499dc3
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/20.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_20 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 G';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/21.php b/simplepie/test/date/SPtests/RFC2822/valid/21.php
new file mode 100644
index 0000000000..c689c547d6
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/21.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_21 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 H';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/22.php b/simplepie/test/date/SPtests/RFC2822/valid/22.php
new file mode 100644
index 0000000000..9dfb091b02
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/22.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_22 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 I';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/23.php b/simplepie/test/date/SPtests/RFC2822/valid/23.php
new file mode 100644
index 0000000000..7fb0c81c35
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/23.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_23 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 K';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/24.php b/simplepie/test/date/SPtests/RFC2822/valid/24.php
new file mode 100644
index 0000000000..a90fe568fc
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/24.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_24 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 L';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/25.php b/simplepie/test/date/SPtests/RFC2822/valid/25.php
new file mode 100644
index 0000000000..525440d457
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/25.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_25 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 M';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/26.php b/simplepie/test/date/SPtests/RFC2822/valid/26.php
new file mode 100644
index 0000000000..95a6475f81
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/26.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_26 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 N';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/27.php b/simplepie/test/date/SPtests/RFC2822/valid/27.php
new file mode 100644
index 0000000000..d13d391640
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/27.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_27 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 O';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/28.php b/simplepie/test/date/SPtests/RFC2822/valid/28.php
new file mode 100644
index 0000000000..9ef9d6c92f
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/28.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_28 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 P';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/29.php b/simplepie/test/date/SPtests/RFC2822/valid/29.php
new file mode 100644
index 0000000000..8ef58be10f
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/29.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_29 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 Q';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/3.php b/simplepie/test/date/SPtests/RFC2822/valid/3.php
new file mode 100644
index 0000000000..fcb29201f4
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/3.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_3 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 5 Nov 94 13:15:30 GMT';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/30.php b/simplepie/test/date/SPtests/RFC2822/valid/30.php
new file mode 100644
index 0000000000..d28f23cd0b
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/30.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_30 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 R';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/31.php b/simplepie/test/date/SPtests/RFC2822/valid/31.php
new file mode 100644
index 0000000000..af1f5adcc7
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/31.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_31 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 S';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/32.php b/simplepie/test/date/SPtests/RFC2822/valid/32.php
new file mode 100644
index 0000000000..da2067903d
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/32.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_32 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 T';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/33.php b/simplepie/test/date/SPtests/RFC2822/valid/33.php
new file mode 100644
index 0000000000..1c92362d40
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/33.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_33 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 U';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/34.php b/simplepie/test/date/SPtests/RFC2822/valid/34.php
new file mode 100644
index 0000000000..cf3ecb3435
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/34.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_34 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 V';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/35.php b/simplepie/test/date/SPtests/RFC2822/valid/35.php
new file mode 100644
index 0000000000..900401323a
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/35.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_35 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 W';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/36.php b/simplepie/test/date/SPtests/RFC2822/valid/36.php
new file mode 100644
index 0000000000..2f9c015bc2
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/36.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_36 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 X';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/37.php b/simplepie/test/date/SPtests/RFC2822/valid/37.php
new file mode 100644
index 0000000000..a509406827
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/37.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_37 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 Y';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/38.php b/simplepie/test/date/SPtests/RFC2822/valid/38.php
new file mode 100644
index 0000000000..fc8a1d80c0
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/38.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_38 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 Z';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/39.php b/simplepie/test/date/SPtests/RFC2822/valid/39.php
new file mode 100644
index 0000000000..975a348d88
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/39.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_39 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 +0000';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/4.php b/simplepie/test/date/SPtests/RFC2822/valid/4.php
new file mode 100644
index 0000000000..c6767f83cf
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/4.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_4 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15 GMT';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041300;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/40.php b/simplepie/test/date/SPtests/RFC2822/valid/40.php
new file mode 100644
index 0000000000..78e5be9fb1
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/40.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_40 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 -0000';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/41.php b/simplepie/test/date/SPtests/RFC2822/valid/41.php
new file mode 100644
index 0000000000..d5bdfe40b5
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/41.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_41 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 14:15:30 +0100';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/42.php b/simplepie/test/date/SPtests/RFC2822/valid/42.php
new file mode 100644
index 0000000000..eeae5e18e3
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/42.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_42 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 12:15:30 -0100';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/43.php b/simplepie/test/date/SPtests/RFC2822/valid/43.php
new file mode 100644
index 0000000000..f97a2f1025
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/43.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_43 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri(day), 05 Nov(ember) 94 13:15:30 GMT';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/44.php b/simplepie/test/date/SPtests/RFC2822/valid/44.php
new file mode 100644
index 0000000000..d12b919b0b
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/44.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_44 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri(day), 05 Nov(ember) 94 13:15:30 A';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/5.php b/simplepie/test/date/SPtests/RFC2822/valid/5.php
new file mode 100644
index 0000000000..cbb13360cd
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/5.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_5 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 13:15:30 UT';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/6.php b/simplepie/test/date/SPtests/RFC2822/valid/6.php
new file mode 100644
index 0000000000..d89efb0eb6
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/6.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_6 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 08:15:30 EST';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/7.php b/simplepie/test/date/SPtests/RFC2822/valid/7.php
new file mode 100644
index 0000000000..f6574c7c92
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/7.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_7 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 09:15:30 EDT';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/8.php b/simplepie/test/date/SPtests/RFC2822/valid/8.php
new file mode 100644
index 0000000000..2b6a1afa18
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/8.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_8 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 07:15:30 CST';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/RFC2822/valid/9.php b/simplepie/test/date/SPtests/RFC2822/valid/9.php
new file mode 100644
index 0000000000..bfb5d37c8c
--- /dev/null
+++ b/simplepie/test/date/SPtests/RFC2822/valid/9.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_RFC2822_9 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'Fri, 05 Nov 94 08:15:30 CDT';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/bugs/157.0.php b/simplepie/test/date/SPtests/bugs/157.0.php
new file mode 100644
index 0000000000..e08a62bc3c
--- /dev/null
+++ b/simplepie/test/date/SPtests/bugs/157.0.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_Bug_157_Test_0 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = 'meep';
+	}
+	
+	function expected()
+	{
+		$this->expected = false;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/SPtests/bugs/259.0.php b/simplepie/test/date/SPtests/bugs/259.0.php
new file mode 100644
index 0000000000..a50c7f35fc
--- /dev/null
+++ b/simplepie/test/date/SPtests/bugs/259.0.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_Bug_259_Test_0 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = '1994-11-05T08:15:30-0500';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/W3CDTF/1.php b/simplepie/test/date/W3CDTF/1.php
new file mode 100644
index 0000000000..d11a59f388
--- /dev/null
+++ b/simplepie/test/date/W3CDTF/1.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_W3CDTF_1 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = '1994-11-05T08:15:30-05:00';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/W3CDTF/2.php b/simplepie/test/date/W3CDTF/2.php
new file mode 100644
index 0000000000..9904e2ba18
--- /dev/null
+++ b/simplepie/test/date/W3CDTF/2.php
@@ -0,0 +1,16 @@
+<?php
+
+class SimplePie_Date_Test_W3CDTF_2 extends SimplePie_Date_Test
+{
+	function data()
+	{
+		$this->data = '1994-11-05T13:15:30Z';
+	}
+	
+	function expected()
+	{
+		$this->expected = 784041330;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/date/W3CDTF/README b/simplepie/test/date/W3CDTF/README
new file mode 100644
index 0000000000..4ace48d487
--- /dev/null
+++ b/simplepie/test/date/W3CDTF/README
@@ -0,0 +1 @@
+The tests enclosed within come from the W3C Date and Time Formats note
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/atom/0.3/dc/1.0/subject.php b/simplepie/test/feed_category_label/SPtests/atom/0.3/dc/1.0/subject.php
new file mode 100644
index 0000000000..735222265c
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/atom/0.3/dc/1.0/subject.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_Atom_03_DC_10_Subject extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<dc:subject>Feed Category</dc:subject>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/atom/0.3/dc/1.1/subject.php b/simplepie/test/feed_category_label/SPtests/atom/0.3/dc/1.1/subject.php
new file mode 100644
index 0000000000..81c0fc3d53
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/atom/0.3/dc/1.1/subject.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_Atom_03_DC_11_Subject extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<dc:subject>Feed Category</dc:subject>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/atom/1.0/dc/1.0/subject.php b/simplepie/test/feed_category_label/SPtests/atom/1.0/dc/1.0/subject.php
new file mode 100644
index 0000000000..ffe2eb68d4
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/atom/1.0/dc/1.0/subject.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_Atom_10_DC_10_Subject extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<dc:subject>Feed Category</dc:subject>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/atom/1.0/dc/1.1/subject.php b/simplepie/test/feed_category_label/SPtests/atom/1.0/dc/1.1/subject.php
new file mode 100644
index 0000000000..89fd41849b
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/atom/1.0/dc/1.1/subject.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_Atom_10_DC_11_Subject extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<dc:subject>Feed Category</dc:subject>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/atom/1.0/label.php b/simplepie/test/feed_category_label/SPtests/atom/1.0/label.php
new file mode 100644
index 0000000000..eacf3706fa
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/atom/1.0/label.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_Atom_10_Category_Label extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<category label="Feed Category"/>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/atom/1.0/term.php b/simplepie/test/feed_category_label/SPtests/atom/1.0/term.php
new file mode 100644
index 0000000000..d387f69d42
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/atom/1.0/term.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_Atom_10_Category_Term extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<category term="Feed Category"/>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/bugs/21.0.php b/simplepie/test/feed_category_label/SPtests/bugs/21.0.php
new file mode 100644
index 0000000000..1091385d4f
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/bugs/21.0.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_Bug_21_Test_0 extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<category term="Example category"/>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/0.90/atom/1.0/label.php b/simplepie/test/feed_category_label/SPtests/rss/0.90/atom/1.0/label.php
new file mode 100644
index 0000000000..2b91b39161
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/0.90/atom/1.0/label.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_090_Atom_10_Category_Label extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:category label="Feed Category"/>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/0.90/atom/1.0/term.php b/simplepie/test/feed_category_label/SPtests/rss/0.90/atom/1.0/term.php
new file mode 100644
index 0000000000..cc797910cb
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/0.90/atom/1.0/term.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_090_Atom_10_Category_Term extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:category term="Feed Category"/>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/0.90/dc/1.0/subject.php b/simplepie/test/feed_category_label/SPtests/rss/0.90/dc/1.0/subject.php
new file mode 100644
index 0000000000..92b50d29ef
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/0.90/dc/1.0/subject.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_090_DC_10_Subject extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:subject>Feed Category</dc:subject>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/0.90/dc/1.1/subject.php b/simplepie/test/feed_category_label/SPtests/rss/0.90/dc/1.1/subject.php
new file mode 100644
index 0000000000..e75f4b8bc7
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/0.90/dc/1.1/subject.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_090_DC_11_Subject extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:subject>Feed Category</dc:subject>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/0.91-netscape/atom/1.0/label.php b/simplepie/test/feed_category_label/SPtests/rss/0.91-netscape/atom/1.0/label.php
new file mode 100644
index 0000000000..0570fa8b77
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/0.91-netscape/atom/1.0/label.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_091_Netscape_Atom_10_Category_Label extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:category label="Feed Category"/>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/0.91-netscape/atom/1.0/term.php b/simplepie/test/feed_category_label/SPtests/rss/0.91-netscape/atom/1.0/term.php
new file mode 100644
index 0000000000..51ce0f0ddc
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/0.91-netscape/atom/1.0/term.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_091_Netscape_Atom_10_Category_Term extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:category term="Feed Category"/>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/0.91-netscape/dc/1.0/subject.php b/simplepie/test/feed_category_label/SPtests/rss/0.91-netscape/dc/1.0/subject.php
new file mode 100644
index 0000000000..dde6bea496
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/0.91-netscape/dc/1.0/subject.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_091_Netscape_DC_10_Subject extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:subject>Feed Category</dc:subject>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/0.91-netscape/dc/1.1/subject.php b/simplepie/test/feed_category_label/SPtests/rss/0.91-netscape/dc/1.1/subject.php
new file mode 100644
index 0000000000..6678e1dd6d
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/0.91-netscape/dc/1.1/subject.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_091_Netscape_DC_11_Subject extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:subject>Feed Category</dc:subject>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/0.91-userland/atom/1.0/label.php b/simplepie/test/feed_category_label/SPtests/rss/0.91-userland/atom/1.0/label.php
new file mode 100644
index 0000000000..e144ba9527
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/0.91-userland/atom/1.0/label.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_091_Userland_Atom_10_Category_Label extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:category label="Feed Category"/>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/0.91-userland/atom/1.0/term.php b/simplepie/test/feed_category_label/SPtests/rss/0.91-userland/atom/1.0/term.php
new file mode 100644
index 0000000000..034502990e
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/0.91-userland/atom/1.0/term.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_091_Userland_Atom_10_Category_Term extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:category term="Feed Category"/>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/0.91-userland/dc/1.0/subject.php b/simplepie/test/feed_category_label/SPtests/rss/0.91-userland/dc/1.0/subject.php
new file mode 100644
index 0000000000..30be08cb1c
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/0.91-userland/dc/1.0/subject.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_091_Userland_DC_10_Subject extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:subject>Feed Category</dc:subject>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/0.91-userland/dc/1.1/subject.php b/simplepie/test/feed_category_label/SPtests/rss/0.91-userland/dc/1.1/subject.php
new file mode 100644
index 0000000000..2f3e7b9ced
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/0.91-userland/dc/1.1/subject.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_091_Userland_DC_11_Subject extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:subject>Feed Category</dc:subject>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/0.92/atom/1.0/label.php b/simplepie/test/feed_category_label/SPtests/rss/0.92/atom/1.0/label.php
new file mode 100644
index 0000000000..38af20b99f
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/0.92/atom/1.0/label.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_092_Atom_10_Category_Label extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:category label="Feed Category"/>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/0.92/atom/1.0/term.php b/simplepie/test/feed_category_label/SPtests/rss/0.92/atom/1.0/term.php
new file mode 100644
index 0000000000..2539a6d7b4
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/0.92/atom/1.0/term.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_092_Atom_10_Category_Term extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:category term="Feed Category"/>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/0.92/dc/1.0/subject.php b/simplepie/test/feed_category_label/SPtests/rss/0.92/dc/1.0/subject.php
new file mode 100644
index 0000000000..0decfee444
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/0.92/dc/1.0/subject.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_092_DC_10_Subject extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:subject>Feed Category</dc:subject>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/0.92/dc/1.1/subject.php b/simplepie/test/feed_category_label/SPtests/rss/0.92/dc/1.1/subject.php
new file mode 100644
index 0000000000..1108b4fa8d
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/0.92/dc/1.1/subject.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_092_DC_11_Subject extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:subject>Feed Category</dc:subject>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/1.0/atom/1.0/label.php b/simplepie/test/feed_category_label/SPtests/rss/1.0/atom/1.0/label.php
new file mode 100644
index 0000000000..6c171bd038
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/1.0/atom/1.0/label.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_10_Atom_10_Category_Label extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:category label="Feed Category"/>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/1.0/atom/1.0/term.php b/simplepie/test/feed_category_label/SPtests/rss/1.0/atom/1.0/term.php
new file mode 100644
index 0000000000..78923a5e68
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/1.0/atom/1.0/term.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_10_Atom_10_Category_Term extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:category term="Feed Category"/>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/1.0/dc/1.0/subject.php b/simplepie/test/feed_category_label/SPtests/rss/1.0/dc/1.0/subject.php
new file mode 100644
index 0000000000..169e56027d
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/1.0/dc/1.0/subject.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_10_DC_10_Subject extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:subject>Feed Category</dc:subject>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/1.0/dc/1.1/subject.php b/simplepie/test/feed_category_label/SPtests/rss/1.0/dc/1.1/subject.php
new file mode 100644
index 0000000000..845b8d6c93
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/1.0/dc/1.1/subject.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_10_DC_11_Subject extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:subject>Feed Category</dc:subject>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/2.0/atom/1.0/label.php b/simplepie/test/feed_category_label/SPtests/rss/2.0/atom/1.0/label.php
new file mode 100644
index 0000000000..24b8d6555d
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/2.0/atom/1.0/label.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_20_Atom_10_Category_Label extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:category label="Feed Category"/>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/2.0/atom/1.0/term.php b/simplepie/test/feed_category_label/SPtests/rss/2.0/atom/1.0/term.php
new file mode 100644
index 0000000000..99e166c73b
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/2.0/atom/1.0/term.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_20_Atom_10_Category_Term extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:category term="Feed Category"/>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/2.0/category.php b/simplepie/test/feed_category_label/SPtests/rss/2.0/category.php
new file mode 100644
index 0000000000..5bd28af3ab
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/2.0/category.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_20_Category extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<category>Feed Category</category>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/2.0/dc/1.0/subject.php b/simplepie/test/feed_category_label/SPtests/rss/2.0/dc/1.0/subject.php
new file mode 100644
index 0000000000..b13e9f5cba
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/2.0/dc/1.0/subject.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_20_DC_10_Subject extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:subject>Feed Category</dc:subject>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_category_label/SPtests/rss/2.0/dc/1.1/subject.php b/simplepie/test/feed_category_label/SPtests/rss/2.0/dc/1.1/subject.php
new file mode 100644
index 0000000000..edaee1a07d
--- /dev/null
+++ b/simplepie/test/feed_category_label/SPtests/rss/2.0/dc/1.1/subject.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Category_Label_Test_RSS_20_DC_11_Subject extends SimplePie_Feed_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:subject>Feed Category</dc:subject>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/atom/0.3/dc/1.0/rights.php b/simplepie/test/feed_copyright/SPtests/atom/0.3/dc/1.0/rights.php
new file mode 100644
index 0000000000..fc3058b0d9
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/atom/0.3/dc/1.0/rights.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_Atom_03_DC_10 extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<dc:rights>Example Copyright Information</dc:rights>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/atom/0.3/dc/1.1/rights.php b/simplepie/test/feed_copyright/SPtests/atom/0.3/dc/1.1/rights.php
new file mode 100644
index 0000000000..65a26725c3
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/atom/0.3/dc/1.1/rights.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_Atom_03_DC_11 extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<dc:rights>Example Copyright Information</dc:rights>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/atom/1.0/dc/1.0/rights.php b/simplepie/test/feed_copyright/SPtests/atom/1.0/dc/1.0/rights.php
new file mode 100644
index 0000000000..6b1cd5dd17
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/atom/1.0/dc/1.0/rights.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_Atom_10_DC_10 extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<dc:rights>Example Copyright Information</dc:rights>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/atom/1.0/dc/1.1/rights.php b/simplepie/test/feed_copyright/SPtests/atom/1.0/dc/1.1/rights.php
new file mode 100644
index 0000000000..98bcde9481
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/atom/1.0/dc/1.1/rights.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_Atom_10_DC_11 extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<dc:rights>Example Copyright Information</dc:rights>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/atom/1.0/rights.php b/simplepie/test/feed_copyright/SPtests/atom/1.0/rights.php
new file mode 100644
index 0000000000..3e0b7f6f04
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/atom/1.0/rights.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_Atom_10_Rights extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<rights>Example Copyright Information</rights>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/rss/0.90/atom/1.0/rights.php b/simplepie/test/feed_copyright/SPtests/rss/0.90/atom/1.0/rights.php
new file mode 100644
index 0000000000..c45fb268ce
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/rss/0.90/atom/1.0/rights.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_RSS_090_Atom_10_Rights extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:rights>Example Copyright Information</a:rights>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/rss/0.90/dc/1.0/rights.php b/simplepie/test/feed_copyright/SPtests/rss/0.90/dc/1.0/rights.php
new file mode 100644
index 0000000000..b5b5df1a3e
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/rss/0.90/dc/1.0/rights.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_RSS_090_DC_10_Rights extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:rights>Example Copyright Information</dc:rights>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/rss/0.90/dc/1.1/rights.php b/simplepie/test/feed_copyright/SPtests/rss/0.90/dc/1.1/rights.php
new file mode 100644
index 0000000000..528d5b56d0
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/rss/0.90/dc/1.1/rights.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_RSS_090_DC_11_Rights extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:rights>Example Copyright Information</dc:rights>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/rss/0.91-netscape/atom/1.0/rights.php b/simplepie/test/feed_copyright/SPtests/rss/0.91-netscape/atom/1.0/rights.php
new file mode 100644
index 0000000000..718aa88624
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/rss/0.91-netscape/atom/1.0/rights.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_RSS_091_Netscape_Atom_10_Rights extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:rights>Example Copyright Information</a:rights>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/rss/0.91-netscape/copyright.php b/simplepie/test/feed_copyright/SPtests/rss/0.91-netscape/copyright.php
new file mode 100644
index 0000000000..cceec1f2d8
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/rss/0.91-netscape/copyright.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_RSS_091_Netscape_Copyright extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91">
+	<channel>
+		<copyright>Example Copyright Information</copyright>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/rss/0.91-netscape/dc/1.0/rights.php b/simplepie/test/feed_copyright/SPtests/rss/0.91-netscape/dc/1.0/rights.php
new file mode 100644
index 0000000000..7422cde33e
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/rss/0.91-netscape/dc/1.0/rights.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_RSS_091_Netscape_DC_10_Rights extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:rights>Example Copyright Information</dc:rights>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/rss/0.91-netscape/dc/1.1/rights.php b/simplepie/test/feed_copyright/SPtests/rss/0.91-netscape/dc/1.1/rights.php
new file mode 100644
index 0000000000..5506ee84f6
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/rss/0.91-netscape/dc/1.1/rights.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_RSS_091_Netscape_DC_11_Rights extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:rights>Example Copyright Information</dc:rights>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/rss/0.91-userland/atom/1.0/rights.php b/simplepie/test/feed_copyright/SPtests/rss/0.91-userland/atom/1.0/rights.php
new file mode 100644
index 0000000000..32a1efa807
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/rss/0.91-userland/atom/1.0/rights.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_RSS_091_Userland_Atom_10_Rights extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:rights>Example Copyright Information</a:rights>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/rss/0.91-userland/copyright.php b/simplepie/test/feed_copyright/SPtests/rss/0.91-userland/copyright.php
new file mode 100644
index 0000000000..2da3ceb0b2
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/rss/0.91-userland/copyright.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_RSS_091_Userland_Copyright extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91">
+	<channel>
+		<copyright>Example Copyright Information</copyright>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/rss/0.91-userland/dc/1.0/rights.php b/simplepie/test/feed_copyright/SPtests/rss/0.91-userland/dc/1.0/rights.php
new file mode 100644
index 0000000000..44daa979ee
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/rss/0.91-userland/dc/1.0/rights.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_RSS_091_Userland_DC_10_Rights extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:rights>Example Copyright Information</dc:rights>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/rss/0.91-userland/dc/1.1/rights.php b/simplepie/test/feed_copyright/SPtests/rss/0.91-userland/dc/1.1/rights.php
new file mode 100644
index 0000000000..aaa13264b5
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/rss/0.91-userland/dc/1.1/rights.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_RSS_091_Userland_DC_11_Rights extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:rights>Example Copyright Information</dc:rights>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/rss/0.92/atom/1.0/rights.php b/simplepie/test/feed_copyright/SPtests/rss/0.92/atom/1.0/rights.php
new file mode 100644
index 0000000000..8b70888ea0
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/rss/0.92/atom/1.0/rights.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_RSS_092_Atom_10_Rights extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:rights>Example Copyright Information</a:rights>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/rss/0.92/copyright.php b/simplepie/test/feed_copyright/SPtests/rss/0.92/copyright.php
new file mode 100644
index 0000000000..f364e7b3cc
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/rss/0.92/copyright.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_RSS_092_Copyright extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92">
+	<channel>
+		<copyright>Example Copyright Information</copyright>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/rss/0.92/dc/1.0/rights.php b/simplepie/test/feed_copyright/SPtests/rss/0.92/dc/1.0/rights.php
new file mode 100644
index 0000000000..68a8a5c9a0
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/rss/0.92/dc/1.0/rights.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_RSS_092_DC_10_Rights extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:rights>Example Copyright Information</dc:rights>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/rss/0.92/dc/1.1/rights.php b/simplepie/test/feed_copyright/SPtests/rss/0.92/dc/1.1/rights.php
new file mode 100644
index 0000000000..6607d1674f
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/rss/0.92/dc/1.1/rights.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_RSS_092_DC_11_Rights extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:rights>Example Copyright Information</dc:rights>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/rss/1.0/atom/1.0/rights.php b/simplepie/test/feed_copyright/SPtests/rss/1.0/atom/1.0/rights.php
new file mode 100644
index 0000000000..4f8a2f343d
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/rss/1.0/atom/1.0/rights.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_RSS_10_Atom_10_Rights extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:rights>Example Copyright Information</a:rights>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/rss/1.0/dc/1.0/rights.php b/simplepie/test/feed_copyright/SPtests/rss/1.0/dc/1.0/rights.php
new file mode 100644
index 0000000000..efa34b39b4
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/rss/1.0/dc/1.0/rights.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_RSS_10_DC_10_Rights extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:rights>Example Copyright Information</dc:rights>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/rss/1.0/dc/1.1/rights.php b/simplepie/test/feed_copyright/SPtests/rss/1.0/dc/1.1/rights.php
new file mode 100644
index 0000000000..803f5e0240
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/rss/1.0/dc/1.1/rights.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_RSS_10_DC_11_Rights extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:rights>Example Copyright Information</dc:rights>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/rss/2.0/atom/1.0/rights.php b/simplepie/test/feed_copyright/SPtests/rss/2.0/atom/1.0/rights.php
new file mode 100644
index 0000000000..cd2e63764d
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/rss/2.0/atom/1.0/rights.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_RSS_20_Atom_10_Rights extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:rights>Example Copyright Information</a:rights>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/rss/2.0/copyright.php b/simplepie/test/feed_copyright/SPtests/rss/2.0/copyright.php
new file mode 100644
index 0000000000..273424bf45
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/rss/2.0/copyright.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_RSS_20_Copyright extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<copyright>Example Copyright Information</copyright>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/rss/2.0/dc/1.0/rights.php b/simplepie/test/feed_copyright/SPtests/rss/2.0/dc/1.0/rights.php
new file mode 100644
index 0000000000..e866e6708a
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/rss/2.0/dc/1.0/rights.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_RSS_20_DC_10_Rights extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:rights>Example Copyright Information</dc:rights>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_copyright/SPtests/rss/2.0/dc/1.1/rights.php b/simplepie/test/feed_copyright/SPtests/rss/2.0/dc/1.1/rights.php
new file mode 100644
index 0000000000..9c251592c2
--- /dev/null
+++ b/simplepie/test/feed_copyright/SPtests/rss/2.0/dc/1.1/rights.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Copyright_Test_RSS_20_DC_11_Rights extends SimplePie_Feed_Copyright_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:rights>Example Copyright Information</dc:rights>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example Copyright Information';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/atom/0.3/dc/1.0/description.php b/simplepie/test/feed_description/SPtests/atom/0.3/dc/1.0/description.php
new file mode 100644
index 0000000000..c6fc4cd31c
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/atom/0.3/dc/1.0/description.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Description_Test_Atom_03_DC_10_Description extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<dc:description>Feed Description</dc:description>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/atom/0.3/dc/1.1/description.php b/simplepie/test/feed_description/SPtests/atom/0.3/dc/1.1/description.php
new file mode 100644
index 0000000000..3b466a4fff
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/atom/0.3/dc/1.1/description.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Description_Test_Atom_03_DC_11_Description extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<dc:description>Feed Description</dc:description>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/atom/0.3/tagline.php b/simplepie/test/feed_description/SPtests/atom/0.3/tagline.php
new file mode 100644
index 0000000000..41ddd356bc
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/atom/0.3/tagline.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Description_Test_Atom_03_Tagline extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<tagline>Feed Description</tagline>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/atom/1.0/dc/1.0/description.php b/simplepie/test/feed_description/SPtests/atom/1.0/dc/1.0/description.php
new file mode 100644
index 0000000000..ebd9f0e42c
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/atom/1.0/dc/1.0/description.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Description_Test_Atom_10_DC_10_Description extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<dc:description>Feed Description</dc:description>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/atom/1.0/dc/1.1/description.php b/simplepie/test/feed_description/SPtests/atom/1.0/dc/1.1/description.php
new file mode 100644
index 0000000000..31e4d277b0
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/atom/1.0/dc/1.1/description.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Description_Test_Atom_10_DC_11_Description extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<dc:description>Feed Description</dc:description>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/atom/1.0/subtitle.php b/simplepie/test/feed_description/SPtests/atom/1.0/subtitle.php
new file mode 100644
index 0000000000..da830bf804
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/atom/1.0/subtitle.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Description_Test_Atom_10_Subtitle extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<subtitle>Feed Description</subtitle>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/0.90/atom/0.3/tagline.php b/simplepie/test/feed_description/SPtests/rss/0.90/atom/0.3/tagline.php
new file mode 100644
index 0000000000..e6cb8aba38
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/0.90/atom/0.3/tagline.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_090_Atom_03_Tagline extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<a:tagline>Feed Description</a:tagline>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/0.90/atom/1.0/subtitle.php b/simplepie/test/feed_description/SPtests/rss/0.90/atom/1.0/subtitle.php
new file mode 100644
index 0000000000..3824094e53
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/0.90/atom/1.0/subtitle.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_090_Atom_10_Subtitle extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:subtitle>Feed Description</a:subtitle>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/0.90/dc/1.0/description.php b/simplepie/test/feed_description/SPtests/rss/0.90/dc/1.0/description.php
new file mode 100644
index 0000000000..12170525cd
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/0.90/dc/1.0/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_090_DC_10_Description extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:description>Feed Description</dc:description>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/0.90/dc/1.1/description.php b/simplepie/test/feed_description/SPtests/rss/0.90/dc/1.1/description.php
new file mode 100644
index 0000000000..3db65728c3
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/0.90/dc/1.1/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_090_DC_11_Description extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:description>Feed Description</dc:description>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/0.90/description.php b/simplepie/test/feed_description/SPtests/rss/0.90/description.php
new file mode 100644
index 0000000000..52d7cf0c35
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/0.90/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_090_Description extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/">
+	<channel>
+		<description>Feed Description</description>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/0.91-netscape/atom/0.3/tagline.php b/simplepie/test/feed_description/SPtests/rss/0.91-netscape/atom/0.3/tagline.php
new file mode 100644
index 0000000000..d8eedbc3d4
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/0.91-netscape/atom/0.3/tagline.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_091_Netscape_Atom_03_Tagline extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<a:tagline>Feed Description</a:tagline>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/0.91-netscape/atom/1.0/subtitle.php b/simplepie/test/feed_description/SPtests/rss/0.91-netscape/atom/1.0/subtitle.php
new file mode 100644
index 0000000000..9339d490e5
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/0.91-netscape/atom/1.0/subtitle.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_091_Netscape_Atom_10_Subtitle extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:subtitle>Feed Description</a:subtitle>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/0.91-netscape/dc/1.0/description.php b/simplepie/test/feed_description/SPtests/rss/0.91-netscape/dc/1.0/description.php
new file mode 100644
index 0000000000..ba0cca2514
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/0.91-netscape/dc/1.0/description.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_091_Netscape_DC_10_Description extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:description>Feed Description</dc:description>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/0.91-netscape/dc/1.1/description.php b/simplepie/test/feed_description/SPtests/rss/0.91-netscape/dc/1.1/description.php
new file mode 100644
index 0000000000..10592c12f9
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/0.91-netscape/dc/1.1/description.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_091_Netscape_DC_11_Description extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:description>Feed Description</dc:description>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/0.91-netscape/description.php b/simplepie/test/feed_description/SPtests/rss/0.91-netscape/description.php
new file mode 100644
index 0000000000..291854d278
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/0.91-netscape/description.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_091_Netscape_Description extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91">
+	<channel>
+		<description>Feed Description</description>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/0.91-userland/atom/0.3/tagline.php b/simplepie/test/feed_description/SPtests/rss/0.91-userland/atom/0.3/tagline.php
new file mode 100644
index 0000000000..2a44a8eb3b
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/0.91-userland/atom/0.3/tagline.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_091_Userland_Atom_03_Tagline extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<a:tagline>Feed Description</a:tagline>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/0.91-userland/atom/1.0/subtitle.php b/simplepie/test/feed_description/SPtests/rss/0.91-userland/atom/1.0/subtitle.php
new file mode 100644
index 0000000000..dab053e14e
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/0.91-userland/atom/1.0/subtitle.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_091_Userland_Atom_10_Subtitle extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:subtitle>Feed Description</a:subtitle>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/0.91-userland/dc/1.0/description.php b/simplepie/test/feed_description/SPtests/rss/0.91-userland/dc/1.0/description.php
new file mode 100644
index 0000000000..652b7a6427
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/0.91-userland/dc/1.0/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_091_Userland_DC_10_Description extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:description>Feed Description</dc:description>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/0.91-userland/dc/1.1/description.php b/simplepie/test/feed_description/SPtests/rss/0.91-userland/dc/1.1/description.php
new file mode 100644
index 0000000000..653a6cfe4f
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/0.91-userland/dc/1.1/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_091_Userland_DC_11_Description extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:description>Feed Description</dc:description>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/0.91-userland/description.php b/simplepie/test/feed_description/SPtests/rss/0.91-userland/description.php
new file mode 100644
index 0000000000..afc408b57c
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/0.91-userland/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_091_Userland_Description extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91">
+	<channel>
+		<description>Feed Description</description>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/0.92/atom/0.3/tagline.php b/simplepie/test/feed_description/SPtests/rss/0.92/atom/0.3/tagline.php
new file mode 100644
index 0000000000..6573f30da7
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/0.92/atom/0.3/tagline.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_092_Atom_03_Tagline extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<a:tagline>Feed Description</a:tagline>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/0.92/atom/1.0/subtitle.php b/simplepie/test/feed_description/SPtests/rss/0.92/atom/1.0/subtitle.php
new file mode 100644
index 0000000000..168185e2e8
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/0.92/atom/1.0/subtitle.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_092_Atom_10_Subtitle extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:subtitle>Feed Description</a:subtitle>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/0.92/dc/1.0/description.php b/simplepie/test/feed_description/SPtests/rss/0.92/dc/1.0/description.php
new file mode 100644
index 0000000000..690a52c549
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/0.92/dc/1.0/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_092_DC_10_Description extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:description>Feed Description</dc:description>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/0.92/dc/1.1/description.php b/simplepie/test/feed_description/SPtests/rss/0.92/dc/1.1/description.php
new file mode 100644
index 0000000000..27e3e6bc38
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/0.92/dc/1.1/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_092_DC_11_Description extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:description>Feed Description</dc:description>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/0.92/description.php b/simplepie/test/feed_description/SPtests/rss/0.92/description.php
new file mode 100644
index 0000000000..ac17b67ce1
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/0.92/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_092_Description extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92">
+	<channel>
+		<description>Feed Description</description>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/1.0/atom/0.3/tagline.php b/simplepie/test/feed_description/SPtests/rss/1.0/atom/0.3/tagline.php
new file mode 100644
index 0000000000..4a86e3baeb
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/1.0/atom/0.3/tagline.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_10_Atom_03_Tagline extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<a:tagline>Feed Description</a:tagline>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/1.0/atom/1.0/subtitle.php b/simplepie/test/feed_description/SPtests/rss/1.0/atom/1.0/subtitle.php
new file mode 100644
index 0000000000..c193059de4
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/1.0/atom/1.0/subtitle.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_10_Atom_10_Subtitle extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:subtitle>Feed Description</a:subtitle>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/1.0/dc/1.0/description.php b/simplepie/test/feed_description/SPtests/rss/1.0/dc/1.0/description.php
new file mode 100644
index 0000000000..79135f67ac
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/1.0/dc/1.0/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_10_DC_10_Description extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:description>Feed Description</dc:description>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/1.0/dc/1.1/description.php b/simplepie/test/feed_description/SPtests/rss/1.0/dc/1.1/description.php
new file mode 100644
index 0000000000..dd4e64dd74
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/1.0/dc/1.1/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_10_DC_11_Description extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:description>Feed Description</dc:description>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/1.0/description.php b/simplepie/test/feed_description/SPtests/rss/1.0/description.php
new file mode 100644
index 0000000000..82a2479a30
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/1.0/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_10_Description extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/">
+	<channel>
+		<description>Feed Description</description>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/2.0/atom/0.3/tagline.php b/simplepie/test/feed_description/SPtests/rss/2.0/atom/0.3/tagline.php
new file mode 100644
index 0000000000..7e13698d59
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/2.0/atom/0.3/tagline.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_20_Atom_03_Tagline extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<a:tagline>Feed Description</a:tagline>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/2.0/atom/1.0/subtitle.php b/simplepie/test/feed_description/SPtests/rss/2.0/atom/1.0/subtitle.php
new file mode 100644
index 0000000000..91807079b8
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/2.0/atom/1.0/subtitle.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_20_Atom_10_Subtitle extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:subtitle>Feed Description</a:subtitle>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/2.0/dc/1.0/description.php b/simplepie/test/feed_description/SPtests/rss/2.0/dc/1.0/description.php
new file mode 100644
index 0000000000..4b094096e2
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/2.0/dc/1.0/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_20_DC_10_Description extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:description>Feed Description</dc:description>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/2.0/dc/1.1/description.php b/simplepie/test/feed_description/SPtests/rss/2.0/dc/1.1/description.php
new file mode 100644
index 0000000000..00088e8e22
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/2.0/dc/1.1/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_20_DC_11_Description extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:description>Feed Description</dc:description>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_description/SPtests/rss/2.0/description.php b/simplepie/test/feed_description/SPtests/rss/2.0/description.php
new file mode 100644
index 0000000000..1364082f8c
--- /dev/null
+++ b/simplepie/test/feed_description/SPtests/rss/2.0/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Description_Test_RSS_20_Description extends SimplePie_Feed_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<description>Feed Description</description>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_height/SPtests/atom/1.0/icon-default.php b/simplepie/test/feed_image_height/SPtests/atom/1.0/icon-default.php
new file mode 100644
index 0000000000..32e821fb48
--- /dev/null
+++ b/simplepie/test/feed_image_height/SPtests/atom/1.0/icon-default.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Image_Height_Test_Atom_10_Icon_Default extends SimplePie_Feed_Image_Height_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<icon>http://example.com/</icon>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
diff --git a/simplepie/test/feed_image_height/SPtests/atom/1.0/logo-default.php b/simplepie/test/feed_image_height/SPtests/atom/1.0/logo-default.php
new file mode 100644
index 0000000000..d3d31c3b4a
--- /dev/null
+++ b/simplepie/test/feed_image_height/SPtests/atom/1.0/logo-default.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Image_Height_Test_Atom_10_Logo_Default extends SimplePie_Feed_Image_Height_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<logo>http://example.com/</logo>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
diff --git a/simplepie/test/feed_image_height/SPtests/rss/0.90/atom/1.0/icon-default.php b/simplepie/test/feed_image_height/SPtests/rss/0.90/atom/1.0/icon-default.php
new file mode 100644
index 0000000000..c8251bebf9
--- /dev/null
+++ b/simplepie/test/feed_image_height/SPtests/rss/0.90/atom/1.0/icon-default.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Height_Test_RSS_090_Atom_10_Icon_Default extends SimplePie_Feed_Image_Height_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:icon>http://example.com/</a:icon>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
diff --git a/simplepie/test/feed_image_height/SPtests/rss/0.90/atom/1.0/logo-default.php b/simplepie/test/feed_image_height/SPtests/rss/0.90/atom/1.0/logo-default.php
new file mode 100644
index 0000000000..207f9d9f29
--- /dev/null
+++ b/simplepie/test/feed_image_height/SPtests/rss/0.90/atom/1.0/logo-default.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Height_Test_RSS_090_Atom_10_Logo_Default extends SimplePie_Feed_Image_Height_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:logo>http://example.com/</a:logo>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
diff --git a/simplepie/test/feed_image_height/SPtests/rss/0.90/url-default.php b/simplepie/test/feed_image_height/SPtests/rss/0.90/url-default.php
new file mode 100644
index 0000000000..f267b84303
--- /dev/null
+++ b/simplepie/test/feed_image_height/SPtests/rss/0.90/url-default.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Height_Test_RSS_090_URL_Default extends SimplePie_Feed_Image_Height_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/">
+	<image>
+		<url>http://example.com/</url>
+	</image>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
diff --git a/simplepie/test/feed_image_height/SPtests/rss/0.91-netscape/atom/1.0/icon-default.php b/simplepie/test/feed_image_height/SPtests/rss/0.91-netscape/atom/1.0/icon-default.php
new file mode 100644
index 0000000000..842b9fd54c
--- /dev/null
+++ b/simplepie/test/feed_image_height/SPtests/rss/0.91-netscape/atom/1.0/icon-default.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Image_Height_Test_RSS_091_Netscape_Atom_10_Icon_Default extends SimplePie_Feed_Image_Height_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:icon>http://example.com/</a:icon>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_height/SPtests/rss/0.91-netscape/atom/1.0/logo-default.php b/simplepie/test/feed_image_height/SPtests/rss/0.91-netscape/atom/1.0/logo-default.php
new file mode 100644
index 0000000000..73a878c9a5
--- /dev/null
+++ b/simplepie/test/feed_image_height/SPtests/rss/0.91-netscape/atom/1.0/logo-default.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Image_Height_Test_RSS_091_Netscape_Atom_10_Logo_Default extends SimplePie_Feed_Image_Height_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:logo>http://example.com/</a:logo>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_height/SPtests/rss/0.91-netscape/height.php b/simplepie/test/feed_image_height/SPtests/rss/0.91-netscape/height.php
new file mode 100644
index 0000000000..7e3cbe8a14
--- /dev/null
+++ b/simplepie/test/feed_image_height/SPtests/rss/0.91-netscape/height.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_Feed_Image_Height_Test_RSS_091_Netscape_Height extends SimplePie_Feed_Image_Height_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91">
+	<channel>
+		<image>
+			<height>100</height>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 100.0;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_height/SPtests/rss/0.91-netscape/url-default.php b/simplepie/test/feed_image_height/SPtests/rss/0.91-netscape/url-default.php
new file mode 100644
index 0000000000..43fea9a40b
--- /dev/null
+++ b/simplepie/test/feed_image_height/SPtests/rss/0.91-netscape/url-default.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_Feed_Image_Height_Test_RSS_091_Netscape_URL_Default extends SimplePie_Feed_Image_Height_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91">
+	<channel>
+		<image>
+			<url>http://example.com/</url>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 31.0;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_height/SPtests/rss/0.91-userland/atom/1.0/icon-default.php b/simplepie/test/feed_image_height/SPtests/rss/0.91-userland/atom/1.0/icon-default.php
new file mode 100644
index 0000000000..7e0222c096
--- /dev/null
+++ b/simplepie/test/feed_image_height/SPtests/rss/0.91-userland/atom/1.0/icon-default.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Height_Test_RSS_091_Userland_Atom_10_Icon_Default extends SimplePie_Feed_Image_Height_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:icon>http://example.com/</a:icon>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_height/SPtests/rss/0.91-userland/atom/1.0/logo-default.php b/simplepie/test/feed_image_height/SPtests/rss/0.91-userland/atom/1.0/logo-default.php
new file mode 100644
index 0000000000..8e3f16024a
--- /dev/null
+++ b/simplepie/test/feed_image_height/SPtests/rss/0.91-userland/atom/1.0/logo-default.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Height_Test_RSS_091_Userland_Atom_10_Logo_Default extends SimplePie_Feed_Image_Height_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:logo>http://example.com/</a:logo>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_height/SPtests/rss/0.91-userland/height.php b/simplepie/test/feed_image_height/SPtests/rss/0.91-userland/height.php
new file mode 100644
index 0000000000..5b7ba7311d
--- /dev/null
+++ b/simplepie/test/feed_image_height/SPtests/rss/0.91-userland/height.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_Height_Test_RSS_091_Userland_Height extends SimplePie_Feed_Image_Height_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91">
+	<channel>
+		<image>
+			<height>100</height>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 100.0;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_height/SPtests/rss/0.91-userland/url-default.php b/simplepie/test/feed_image_height/SPtests/rss/0.91-userland/url-default.php
new file mode 100644
index 0000000000..4eafec9d48
--- /dev/null
+++ b/simplepie/test/feed_image_height/SPtests/rss/0.91-userland/url-default.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_Height_Test_RSS_091_Userland_URL_Default extends SimplePie_Feed_Image_Height_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91">
+	<channel>
+		<image>
+			<url>http://example.com/</url>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 31.0;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_height/SPtests/rss/0.92/atom/1.0/icon-default.php b/simplepie/test/feed_image_height/SPtests/rss/0.92/atom/1.0/icon-default.php
new file mode 100644
index 0000000000..f1a4d70b43
--- /dev/null
+++ b/simplepie/test/feed_image_height/SPtests/rss/0.92/atom/1.0/icon-default.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Height_Test_RSS_092_Atom_10_Icon_Default extends SimplePie_Feed_Image_Height_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:icon>http://example.com/</a:icon>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_height/SPtests/rss/0.92/atom/1.0/logo-default.php b/simplepie/test/feed_image_height/SPtests/rss/0.92/atom/1.0/logo-default.php
new file mode 100644
index 0000000000..c4e27f3daa
--- /dev/null
+++ b/simplepie/test/feed_image_height/SPtests/rss/0.92/atom/1.0/logo-default.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Height_Test_RSS_092_Atom_10_Logo_Default extends SimplePie_Feed_Image_Height_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:logo>http://example.com/</a:logo>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_height/SPtests/rss/0.92/height.php b/simplepie/test/feed_image_height/SPtests/rss/0.92/height.php
new file mode 100644
index 0000000000..fc284167ca
--- /dev/null
+++ b/simplepie/test/feed_image_height/SPtests/rss/0.92/height.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_Height_Test_RSS_092_Height extends SimplePie_Feed_Image_Height_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92">
+	<channel>
+		<image>
+			<height>100</height>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 100.0;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_height/SPtests/rss/0.92/url-default.php b/simplepie/test/feed_image_height/SPtests/rss/0.92/url-default.php
new file mode 100644
index 0000000000..97dbd11699
--- /dev/null
+++ b/simplepie/test/feed_image_height/SPtests/rss/0.92/url-default.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_Height_Test_RSS_092_URL_Default extends SimplePie_Feed_Image_Height_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92">
+	<channel>
+		<image>
+			<url>http://example.com/</url>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 31.0;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_height/SPtests/rss/1.0/atom/1.0/icon-default.php b/simplepie/test/feed_image_height/SPtests/rss/1.0/atom/1.0/icon-default.php
new file mode 100644
index 0000000000..0db5227029
--- /dev/null
+++ b/simplepie/test/feed_image_height/SPtests/rss/1.0/atom/1.0/icon-default.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Height_Test_RSS_10_Atom_10_Icon_Default extends SimplePie_Feed_Image_Height_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:icon>http://example.com/</a:icon>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_height/SPtests/rss/1.0/atom/1.0/logo-default.php b/simplepie/test/feed_image_height/SPtests/rss/1.0/atom/1.0/logo-default.php
new file mode 100644
index 0000000000..41f76403c1
--- /dev/null
+++ b/simplepie/test/feed_image_height/SPtests/rss/1.0/atom/1.0/logo-default.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Height_Test_RSS_10_Atom_10_Logo_Default extends SimplePie_Feed_Image_Height_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:logo>http://example.com/</a:logo>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_height/SPtests/rss/1.0/url-default.php b/simplepie/test/feed_image_height/SPtests/rss/1.0/url-default.php
new file mode 100644
index 0000000000..f96878c68a
--- /dev/null
+++ b/simplepie/test/feed_image_height/SPtests/rss/1.0/url-default.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Height_Test_RSS_10_URL_Default extends SimplePie_Feed_Image_Height_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/">
+	<image>
+		<url>http://example.com/</url>
+	</image>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_height/SPtests/rss/2.0/atom/1.0/icon-default.php b/simplepie/test/feed_image_height/SPtests/rss/2.0/atom/1.0/icon-default.php
new file mode 100644
index 0000000000..71cd42c237
--- /dev/null
+++ b/simplepie/test/feed_image_height/SPtests/rss/2.0/atom/1.0/icon-default.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Height_Test_RSS_20_Atom_10_Icon_Default extends SimplePie_Feed_Image_Height_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:icon>http://example.com/</a:icon>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_height/SPtests/rss/2.0/atom/1.0/logo-default.php b/simplepie/test/feed_image_height/SPtests/rss/2.0/atom/1.0/logo-default.php
new file mode 100644
index 0000000000..77a9514ded
--- /dev/null
+++ b/simplepie/test/feed_image_height/SPtests/rss/2.0/atom/1.0/logo-default.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Height_Test_RSS_20_Atom_10_Logo_Default extends SimplePie_Feed_Image_Height_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:logo>http://example.com/</a:logo>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_height/SPtests/rss/2.0/height.php b/simplepie/test/feed_image_height/SPtests/rss/2.0/height.php
new file mode 100644
index 0000000000..02d80e8714
--- /dev/null
+++ b/simplepie/test/feed_image_height/SPtests/rss/2.0/height.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_Height_Test_RSS_20_Height extends SimplePie_Feed_Image_Height_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<image>
+			<height>100</height>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 100.0;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_height/SPtests/rss/2.0/url-default.php b/simplepie/test/feed_image_height/SPtests/rss/2.0/url-default.php
new file mode 100644
index 0000000000..e603375cc3
--- /dev/null
+++ b/simplepie/test/feed_image_height/SPtests/rss/2.0/url-default.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_Height_Test_RSS_20_URL_Default extends SimplePie_Feed_Image_Height_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<image>
+			<url>http://example.com/</url>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 31.0;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_link/SPtests/rss/0.90/link.php b/simplepie/test/feed_image_link/SPtests/rss/0.90/link.php
new file mode 100644
index 0000000000..ddcc914089
--- /dev/null
+++ b/simplepie/test/feed_image_link/SPtests/rss/0.90/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Link_Test_RSS_090_Link extends SimplePie_Feed_Image_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/">
+	<image>
+		<link>http://example.com/</link>
+	</image>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_link/SPtests/rss/0.91-netscape/link.php b/simplepie/test/feed_image_link/SPtests/rss/0.91-netscape/link.php
new file mode 100644
index 0000000000..0b7515ef44
--- /dev/null
+++ b/simplepie/test/feed_image_link/SPtests/rss/0.91-netscape/link.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_Feed_Image_Link_Test_RSS_091_Netscape_Link extends SimplePie_Feed_Image_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91">
+	<channel>
+		<image>
+			<link>http://example.com/</link>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_link/SPtests/rss/0.91-userland/link.php b/simplepie/test/feed_image_link/SPtests/rss/0.91-userland/link.php
new file mode 100644
index 0000000000..14827b59b7
--- /dev/null
+++ b/simplepie/test/feed_image_link/SPtests/rss/0.91-userland/link.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_Link_Test_RSS_091_Userland_Link extends SimplePie_Feed_Image_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91">
+	<channel>
+		<image>
+			<link>http://example.com/</link>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_link/SPtests/rss/0.92/link.php b/simplepie/test/feed_image_link/SPtests/rss/0.92/link.php
new file mode 100644
index 0000000000..3a59984a74
--- /dev/null
+++ b/simplepie/test/feed_image_link/SPtests/rss/0.92/link.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_Link_Test_RSS_092_Link extends SimplePie_Feed_Image_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92">
+	<channel>
+		<image>
+			<link>http://example.com/</link>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_link/SPtests/rss/1.0/link.php b/simplepie/test/feed_image_link/SPtests/rss/1.0/link.php
new file mode 100644
index 0000000000..a30f6bc8e6
--- /dev/null
+++ b/simplepie/test/feed_image_link/SPtests/rss/1.0/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Link_Test_RSS_10_Link extends SimplePie_Feed_Image_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/">
+	<image>
+		<link>http://example.com/</link>
+	</image>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_link/SPtests/rss/2.0/link.php b/simplepie/test/feed_image_link/SPtests/rss/2.0/link.php
new file mode 100644
index 0000000000..75c8deb33d
--- /dev/null
+++ b/simplepie/test/feed_image_link/SPtests/rss/2.0/link.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_Link_Test_RSS_20_Link extends SimplePie_Feed_Image_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<image>
+			<link>http://example.com/</link>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_title/SPtests/rss/0.90/dc/1.0/title.php b/simplepie/test/feed_image_title/SPtests/rss/0.90/dc/1.0/title.php
new file mode 100644
index 0000000000..cbcde3e400
--- /dev/null
+++ b/simplepie/test/feed_image_title/SPtests/rss/0.90/dc/1.0/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Title_Test_RSS_090_DC_10_Title extends SimplePie_Feed_Image_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<image>
+		<dc:title>Image Title</dc:title>
+	</image>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Image Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_title/SPtests/rss/0.90/dc/1.1/title.php b/simplepie/test/feed_image_title/SPtests/rss/0.90/dc/1.1/title.php
new file mode 100644
index 0000000000..314a3e9bb9
--- /dev/null
+++ b/simplepie/test/feed_image_title/SPtests/rss/0.90/dc/1.1/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Title_Test_RSS_090_DC_11_Title extends SimplePie_Feed_Image_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<image>
+		<dc:title>Image Title</dc:title>
+	</image>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Image Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_title/SPtests/rss/0.90/title.php b/simplepie/test/feed_image_title/SPtests/rss/0.90/title.php
new file mode 100644
index 0000000000..c7c54124ef
--- /dev/null
+++ b/simplepie/test/feed_image_title/SPtests/rss/0.90/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Title_Test_RSS_090_Title extends SimplePie_Feed_Image_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/">
+	<image>
+		<title>Image Title</title>
+	</image>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Image Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_title/SPtests/rss/0.91-netscape/dc/1.0/title.php b/simplepie/test/feed_image_title/SPtests/rss/0.91-netscape/dc/1.0/title.php
new file mode 100644
index 0000000000..d355feb01d
--- /dev/null
+++ b/simplepie/test/feed_image_title/SPtests/rss/0.91-netscape/dc/1.0/title.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_Feed_Image_Title_Test_RSS_091_Netscape_DC_10_Title extends SimplePie_Feed_Image_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<image>
+			<dc:title>Image Title</dc:title>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Image Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_title/SPtests/rss/0.91-netscape/dc/1.1/title.php b/simplepie/test/feed_image_title/SPtests/rss/0.91-netscape/dc/1.1/title.php
new file mode 100644
index 0000000000..d79d83653e
--- /dev/null
+++ b/simplepie/test/feed_image_title/SPtests/rss/0.91-netscape/dc/1.1/title.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_Feed_Image_Title_Test_RSS_091_Netscape_DC_11_Title extends SimplePie_Feed_Image_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<image>
+			<dc:title>Image Title</dc:title>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Image Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_title/SPtests/rss/0.91-netscape/title.php b/simplepie/test/feed_image_title/SPtests/rss/0.91-netscape/title.php
new file mode 100644
index 0000000000..6a380a9b0e
--- /dev/null
+++ b/simplepie/test/feed_image_title/SPtests/rss/0.91-netscape/title.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_Feed_Image_Title_Test_RSS_091_Netscape_Title extends SimplePie_Feed_Image_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91">
+	<channel>
+		<image>
+			<title>Image Title</title>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Image Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_title/SPtests/rss/0.91-userland/dc/1.0/title.php b/simplepie/test/feed_image_title/SPtests/rss/0.91-userland/dc/1.0/title.php
new file mode 100644
index 0000000000..243b7436a4
--- /dev/null
+++ b/simplepie/test/feed_image_title/SPtests/rss/0.91-userland/dc/1.0/title.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_Title_Test_RSS_091_Userland_DC_10_Title extends SimplePie_Feed_Image_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<image>
+			<dc:title>Image Title</dc:title>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Image Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_title/SPtests/rss/0.91-userland/dc/1.1/title.php b/simplepie/test/feed_image_title/SPtests/rss/0.91-userland/dc/1.1/title.php
new file mode 100644
index 0000000000..356cba89ef
--- /dev/null
+++ b/simplepie/test/feed_image_title/SPtests/rss/0.91-userland/dc/1.1/title.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_Title_Test_RSS_091_Userland_DC_11_Title extends SimplePie_Feed_Image_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<image>
+			<dc:title>Image Title</dc:title>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Image Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_title/SPtests/rss/0.91-userland/title.php b/simplepie/test/feed_image_title/SPtests/rss/0.91-userland/title.php
new file mode 100644
index 0000000000..4e989d0855
--- /dev/null
+++ b/simplepie/test/feed_image_title/SPtests/rss/0.91-userland/title.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_Title_Test_RSS_091_Userland_Title extends SimplePie_Feed_Image_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91">
+	<channel>
+		<image>
+			<title>Image Title</title>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Image Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_title/SPtests/rss/0.92/dc/1.0/title.php b/simplepie/test/feed_image_title/SPtests/rss/0.92/dc/1.0/title.php
new file mode 100644
index 0000000000..4f57e51674
--- /dev/null
+++ b/simplepie/test/feed_image_title/SPtests/rss/0.92/dc/1.0/title.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_Title_Test_RSS_092_DC_10_Title extends SimplePie_Feed_Image_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<image>
+			<dc:title>Image Title</dc:title>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Image Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_title/SPtests/rss/0.92/dc/1.1/title.php b/simplepie/test/feed_image_title/SPtests/rss/0.92/dc/1.1/title.php
new file mode 100644
index 0000000000..61c2e5c054
--- /dev/null
+++ b/simplepie/test/feed_image_title/SPtests/rss/0.92/dc/1.1/title.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_Title_Test_RSS_092_DC_11_Title extends SimplePie_Feed_Image_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<image>
+			<dc:title>Image Title</dc:title>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Image Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_title/SPtests/rss/0.92/title.php b/simplepie/test/feed_image_title/SPtests/rss/0.92/title.php
new file mode 100644
index 0000000000..5051689847
--- /dev/null
+++ b/simplepie/test/feed_image_title/SPtests/rss/0.92/title.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_Title_Test_RSS_092_Title extends SimplePie_Feed_Image_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92">
+	<channel>
+		<image>
+			<title>Image Title</title>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Image Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_title/SPtests/rss/1.0/dc/1.0/title.php b/simplepie/test/feed_image_title/SPtests/rss/1.0/dc/1.0/title.php
new file mode 100644
index 0000000000..bdebd712ee
--- /dev/null
+++ b/simplepie/test/feed_image_title/SPtests/rss/1.0/dc/1.0/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Title_Test_RSS_10_DC_10_Title extends SimplePie_Feed_Image_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<image>
+		<dc:title>Image Title</dc:title>
+	</image>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Image Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_title/SPtests/rss/1.0/dc/1.1/title.php b/simplepie/test/feed_image_title/SPtests/rss/1.0/dc/1.1/title.php
new file mode 100644
index 0000000000..1333d49616
--- /dev/null
+++ b/simplepie/test/feed_image_title/SPtests/rss/1.0/dc/1.1/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Title_Test_RSS_10_DC_11_Title extends SimplePie_Feed_Image_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<image>
+		<dc:title>Image Title</dc:title>
+	</image>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Image Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_title/SPtests/rss/1.0/title.php b/simplepie/test/feed_image_title/SPtests/rss/1.0/title.php
new file mode 100644
index 0000000000..a0f167e763
--- /dev/null
+++ b/simplepie/test/feed_image_title/SPtests/rss/1.0/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Title_Test_RSS_10_Title extends SimplePie_Feed_Image_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/">
+	<image>
+		<title>Image Title</title>
+	</image>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Image Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_title/SPtests/rss/2.0/dc/1.0/title.php b/simplepie/test/feed_image_title/SPtests/rss/2.0/dc/1.0/title.php
new file mode 100644
index 0000000000..23d39e6527
--- /dev/null
+++ b/simplepie/test/feed_image_title/SPtests/rss/2.0/dc/1.0/title.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_Title_Test_RSS_20_DC_10_Title extends SimplePie_Feed_Image_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<image>
+			<dc:title>Image Title</dc:title>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Image Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_title/SPtests/rss/2.0/dc/1.1/title.php b/simplepie/test/feed_image_title/SPtests/rss/2.0/dc/1.1/title.php
new file mode 100644
index 0000000000..0f34fbcbac
--- /dev/null
+++ b/simplepie/test/feed_image_title/SPtests/rss/2.0/dc/1.1/title.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_Title_Test_RSS_20_DC_11_Title extends SimplePie_Feed_Image_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<image>
+			<dc:title>Image Title</dc:title>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Image Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_title/SPtests/rss/2.0/title.php b/simplepie/test/feed_image_title/SPtests/rss/2.0/title.php
new file mode 100644
index 0000000000..1eef83666d
--- /dev/null
+++ b/simplepie/test/feed_image_title/SPtests/rss/2.0/title.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_Title_Test_RSS_20_Title extends SimplePie_Feed_Image_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<image>
+			<title>Image Title</title>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Image Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_url/SPtests/atom/1.0/icon.php b/simplepie/test/feed_image_url/SPtests/atom/1.0/icon.php
new file mode 100644
index 0000000000..c532ea0723
--- /dev/null
+++ b/simplepie/test/feed_image_url/SPtests/atom/1.0/icon.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Image_URL_Test_Atom_10_Icon extends SimplePie_Feed_Image_URL_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<icon>http://example.com/</icon>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_url/SPtests/atom/1.0/logo.php b/simplepie/test/feed_image_url/SPtests/atom/1.0/logo.php
new file mode 100644
index 0000000000..bd557474f7
--- /dev/null
+++ b/simplepie/test/feed_image_url/SPtests/atom/1.0/logo.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Image_URL_Test_Atom_10_Logo extends SimplePie_Feed_Image_URL_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<logo>http://example.com/</logo>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_url/SPtests/rss/0.90/atom/1.0/icon.php b/simplepie/test/feed_image_url/SPtests/rss/0.90/atom/1.0/icon.php
new file mode 100644
index 0000000000..4dc802b954
--- /dev/null
+++ b/simplepie/test/feed_image_url/SPtests/rss/0.90/atom/1.0/icon.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_URL_Test_RSS_090_Atom_10_Icon extends SimplePie_Feed_Image_URL_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:icon>http://example.com/</a:icon>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_url/SPtests/rss/0.90/atom/1.0/logo.php b/simplepie/test/feed_image_url/SPtests/rss/0.90/atom/1.0/logo.php
new file mode 100644
index 0000000000..d3a390c8a0
--- /dev/null
+++ b/simplepie/test/feed_image_url/SPtests/rss/0.90/atom/1.0/logo.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_URL_Test_RSS_090_Atom_10_Logo extends SimplePie_Feed_Image_URL_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:logo>http://example.com/</a:logo>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_url/SPtests/rss/0.90/url.php b/simplepie/test/feed_image_url/SPtests/rss/0.90/url.php
new file mode 100644
index 0000000000..16c0615ae6
--- /dev/null
+++ b/simplepie/test/feed_image_url/SPtests/rss/0.90/url.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_URL_Test_RSS_090_URL extends SimplePie_Feed_Image_URL_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/">
+	<image>
+		<url>http://example.com/</url>
+	</image>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_url/SPtests/rss/0.91-netscape/atom/1.0/icon.php b/simplepie/test/feed_image_url/SPtests/rss/0.91-netscape/atom/1.0/icon.php
new file mode 100644
index 0000000000..ded856a722
--- /dev/null
+++ b/simplepie/test/feed_image_url/SPtests/rss/0.91-netscape/atom/1.0/icon.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Image_URL_Test_RSS_091_Netscape_Atom_10_Icon extends SimplePie_Feed_Image_URL_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:icon>http://example.com/</a:icon>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_url/SPtests/rss/0.91-netscape/atom/1.0/logo.php b/simplepie/test/feed_image_url/SPtests/rss/0.91-netscape/atom/1.0/logo.php
new file mode 100644
index 0000000000..1e4bdabb82
--- /dev/null
+++ b/simplepie/test/feed_image_url/SPtests/rss/0.91-netscape/atom/1.0/logo.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Image_URL_Test_RSS_091_Netscape_Atom_10_Logo extends SimplePie_Feed_Image_URL_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:logo>http://example.com/</a:logo>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_url/SPtests/rss/0.91-netscape/url.php b/simplepie/test/feed_image_url/SPtests/rss/0.91-netscape/url.php
new file mode 100644
index 0000000000..2db6903e37
--- /dev/null
+++ b/simplepie/test/feed_image_url/SPtests/rss/0.91-netscape/url.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_Feed_Image_URL_Test_RSS_091_Netscape_URL extends SimplePie_Feed_Image_URL_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91">
+	<channel>
+		<image>
+			<url>http://example.com/</url>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_url/SPtests/rss/0.91-userland/atom/1.0/icon.php b/simplepie/test/feed_image_url/SPtests/rss/0.91-userland/atom/1.0/icon.php
new file mode 100644
index 0000000000..fc898fefec
--- /dev/null
+++ b/simplepie/test/feed_image_url/SPtests/rss/0.91-userland/atom/1.0/icon.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_URL_Test_RSS_091_Userland_Atom_10_Icon extends SimplePie_Feed_Image_URL_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:icon>http://example.com/</a:icon>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_url/SPtests/rss/0.91-userland/atom/1.0/logo.php b/simplepie/test/feed_image_url/SPtests/rss/0.91-userland/atom/1.0/logo.php
new file mode 100644
index 0000000000..c9134c60aa
--- /dev/null
+++ b/simplepie/test/feed_image_url/SPtests/rss/0.91-userland/atom/1.0/logo.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_URL_Test_RSS_091_Userland_Atom_10_Logo extends SimplePie_Feed_Image_URL_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:logo>http://example.com/</a:logo>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_url/SPtests/rss/0.91-userland/url.php b/simplepie/test/feed_image_url/SPtests/rss/0.91-userland/url.php
new file mode 100644
index 0000000000..e6e19fc5a0
--- /dev/null
+++ b/simplepie/test/feed_image_url/SPtests/rss/0.91-userland/url.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_URL_Test_RSS_091_Userland_URL extends SimplePie_Feed_Image_URL_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91">
+	<channel>
+		<image>
+			<url>http://example.com/</url>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_url/SPtests/rss/0.92/atom/1.0/icon.php b/simplepie/test/feed_image_url/SPtests/rss/0.92/atom/1.0/icon.php
new file mode 100644
index 0000000000..61e0a2fd5a
--- /dev/null
+++ b/simplepie/test/feed_image_url/SPtests/rss/0.92/atom/1.0/icon.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_URL_Test_RSS_092_Atom_10_Icon extends SimplePie_Feed_Image_URL_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:icon>http://example.com/</a:icon>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_url/SPtests/rss/0.92/atom/1.0/logo.php b/simplepie/test/feed_image_url/SPtests/rss/0.92/atom/1.0/logo.php
new file mode 100644
index 0000000000..82cc9bc7a9
--- /dev/null
+++ b/simplepie/test/feed_image_url/SPtests/rss/0.92/atom/1.0/logo.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_URL_Test_RSS_092_Atom_10_Logo extends SimplePie_Feed_Image_URL_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:logo>http://example.com/</a:logo>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_url/SPtests/rss/0.92/url.php b/simplepie/test/feed_image_url/SPtests/rss/0.92/url.php
new file mode 100644
index 0000000000..a8aa09f795
--- /dev/null
+++ b/simplepie/test/feed_image_url/SPtests/rss/0.92/url.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_URL_Test_RSS_092_URL extends SimplePie_Feed_Image_URL_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92">
+	<channel>
+		<image>
+			<url>http://example.com/</url>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_url/SPtests/rss/1.0/atom/1.0/icon.php b/simplepie/test/feed_image_url/SPtests/rss/1.0/atom/1.0/icon.php
new file mode 100644
index 0000000000..18018b0941
--- /dev/null
+++ b/simplepie/test/feed_image_url/SPtests/rss/1.0/atom/1.0/icon.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_URL_Test_RSS_10_Atom_10_Icon extends SimplePie_Feed_Image_URL_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:icon>http://example.com/</a:icon>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_url/SPtests/rss/1.0/atom/1.0/logo.php b/simplepie/test/feed_image_url/SPtests/rss/1.0/atom/1.0/logo.php
new file mode 100644
index 0000000000..a66cbd8eb1
--- /dev/null
+++ b/simplepie/test/feed_image_url/SPtests/rss/1.0/atom/1.0/logo.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_URL_Test_RSS_10_Atom_10_Logo extends SimplePie_Feed_Image_URL_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:logo>http://example.com/</a:logo>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_url/SPtests/rss/1.0/url.php b/simplepie/test/feed_image_url/SPtests/rss/1.0/url.php
new file mode 100644
index 0000000000..58ce1fdeb1
--- /dev/null
+++ b/simplepie/test/feed_image_url/SPtests/rss/1.0/url.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_URL_Test_RSS_10_URL extends SimplePie_Feed_Image_URL_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/">
+	<image>
+		<url>http://example.com/</url>
+	</image>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_url/SPtests/rss/2.0/atom/1.0/icon.php b/simplepie/test/feed_image_url/SPtests/rss/2.0/atom/1.0/icon.php
new file mode 100644
index 0000000000..7393af860d
--- /dev/null
+++ b/simplepie/test/feed_image_url/SPtests/rss/2.0/atom/1.0/icon.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_URL_Test_RSS_20_Atom_10_Icon extends SimplePie_Feed_Image_URL_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:icon>http://example.com/</a:icon>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_url/SPtests/rss/2.0/atom/1.0/logo.php b/simplepie/test/feed_image_url/SPtests/rss/2.0/atom/1.0/logo.php
new file mode 100644
index 0000000000..775db35163
--- /dev/null
+++ b/simplepie/test/feed_image_url/SPtests/rss/2.0/atom/1.0/logo.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_URL_Test_RSS_20_Atom_10_Logo extends SimplePie_Feed_Image_URL_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:logo>http://example.com/</a:logo>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_url/SPtests/rss/2.0/url.php b/simplepie/test/feed_image_url/SPtests/rss/2.0/url.php
new file mode 100644
index 0000000000..b8301ef712
--- /dev/null
+++ b/simplepie/test/feed_image_url/SPtests/rss/2.0/url.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_URL_Test_RSS_20_URL extends SimplePie_Feed_Image_URL_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<image>
+			<url>http://example.com/</url>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_width/SPtests/atom/1.0/icon-default.php b/simplepie/test/feed_image_width/SPtests/atom/1.0/icon-default.php
new file mode 100644
index 0000000000..e409a08f3e
--- /dev/null
+++ b/simplepie/test/feed_image_width/SPtests/atom/1.0/icon-default.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Image_Width_Test_Atom_10_Icon_Default extends SimplePie_Feed_Image_Width_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<icon>http://example.com/</icon>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
diff --git a/simplepie/test/feed_image_width/SPtests/atom/1.0/logo-default.php b/simplepie/test/feed_image_width/SPtests/atom/1.0/logo-default.php
new file mode 100644
index 0000000000..36a63866fc
--- /dev/null
+++ b/simplepie/test/feed_image_width/SPtests/atom/1.0/logo-default.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Image_Width_Test_Atom_10_Logo_Default extends SimplePie_Feed_Image_Width_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<logo>http://example.com/</logo>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
diff --git a/simplepie/test/feed_image_width/SPtests/rss/0.90/atom/1.0/icon-default.php b/simplepie/test/feed_image_width/SPtests/rss/0.90/atom/1.0/icon-default.php
new file mode 100644
index 0000000000..efa0f5ae17
--- /dev/null
+++ b/simplepie/test/feed_image_width/SPtests/rss/0.90/atom/1.0/icon-default.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Width_Test_RSS_090_Atom_10_Icon extends SimplePie_Feed_Image_Width_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:icon>http://example.com/</a:icon>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_width/SPtests/rss/0.90/atom/1.0/logo-default.php b/simplepie/test/feed_image_width/SPtests/rss/0.90/atom/1.0/logo-default.php
new file mode 100644
index 0000000000..c9e93afcb7
--- /dev/null
+++ b/simplepie/test/feed_image_width/SPtests/rss/0.90/atom/1.0/logo-default.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Width_Test_RSS_090_Atom_10_Logo extends SimplePie_Feed_Image_Width_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:logo>http://example.com/</a:logo>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_width/SPtests/rss/0.90/url-default.php b/simplepie/test/feed_image_width/SPtests/rss/0.90/url-default.php
new file mode 100644
index 0000000000..075fa6d6ec
--- /dev/null
+++ b/simplepie/test/feed_image_width/SPtests/rss/0.90/url-default.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Width_Test_RSS_090 extends SimplePie_Feed_Image_Width_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/">
+	<image>
+		<url>http://example.com/</url>
+	</image>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_width/SPtests/rss/0.91-netscape/atom/1.0/icon-default.php b/simplepie/test/feed_image_width/SPtests/rss/0.91-netscape/atom/1.0/icon-default.php
new file mode 100644
index 0000000000..e60f592651
--- /dev/null
+++ b/simplepie/test/feed_image_width/SPtests/rss/0.91-netscape/atom/1.0/icon-default.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Image_Width_Test_RSS_091_Netscape_Atom_10_Icon extends SimplePie_Feed_Image_Width_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:icon>http://example.com/</a:icon>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_width/SPtests/rss/0.91-netscape/atom/1.0/logo-default.php b/simplepie/test/feed_image_width/SPtests/rss/0.91-netscape/atom/1.0/logo-default.php
new file mode 100644
index 0000000000..7abbe210eb
--- /dev/null
+++ b/simplepie/test/feed_image_width/SPtests/rss/0.91-netscape/atom/1.0/logo-default.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Image_Width_Test_RSS_091_Netscape_Atom_10_Logo extends SimplePie_Feed_Image_Width_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:logo>http://example.com/</a:logo>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_width/SPtests/rss/0.91-netscape/url-default.php b/simplepie/test/feed_image_width/SPtests/rss/0.91-netscape/url-default.php
new file mode 100644
index 0000000000..4849fcdfc8
--- /dev/null
+++ b/simplepie/test/feed_image_width/SPtests/rss/0.91-netscape/url-default.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_Feed_Image_Width_Test_RSS_091_Netscape extends SimplePie_Feed_Image_Width_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91">
+	<channel>
+		<image>
+			<url>http://example.com/</url>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 88.0;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_width/SPtests/rss/0.91-netscape/width.php b/simplepie/test/feed_image_width/SPtests/rss/0.91-netscape/width.php
new file mode 100644
index 0000000000..608147fda0
--- /dev/null
+++ b/simplepie/test/feed_image_width/SPtests/rss/0.91-netscape/width.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_Feed_Image_Width_Test_RSS_091_Netscape_Width extends SimplePie_Feed_Image_Width_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91">
+	<channel>
+		<image>
+			<width>100</width>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 100.0;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_width/SPtests/rss/0.91-userland/atom/1.0/icon-default.php b/simplepie/test/feed_image_width/SPtests/rss/0.91-userland/atom/1.0/icon-default.php
new file mode 100644
index 0000000000..351b8d8311
--- /dev/null
+++ b/simplepie/test/feed_image_width/SPtests/rss/0.91-userland/atom/1.0/icon-default.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Width_Test_RSS_091_Userland_Atom_10_Icon extends SimplePie_Feed_Image_Width_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:icon>http://example.com/</a:icon>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_width/SPtests/rss/0.91-userland/atom/1.0/logo-default.php b/simplepie/test/feed_image_width/SPtests/rss/0.91-userland/atom/1.0/logo-default.php
new file mode 100644
index 0000000000..7b35b750a8
--- /dev/null
+++ b/simplepie/test/feed_image_width/SPtests/rss/0.91-userland/atom/1.0/logo-default.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Width_Test_RSS_091_Userland_Atom_10_Logo extends SimplePie_Feed_Image_Width_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:logo>http://example.com/</a:logo>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_width/SPtests/rss/0.91-userland/url-default.php b/simplepie/test/feed_image_width/SPtests/rss/0.91-userland/url-default.php
new file mode 100644
index 0000000000..49010e0744
--- /dev/null
+++ b/simplepie/test/feed_image_width/SPtests/rss/0.91-userland/url-default.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_Width_Test_RSS_091_Userland extends SimplePie_Feed_Image_Width_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91">
+	<channel>
+		<image>
+			<url>http://example.com/</url>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 88.0;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_width/SPtests/rss/0.91-userland/width.php b/simplepie/test/feed_image_width/SPtests/rss/0.91-userland/width.php
new file mode 100644
index 0000000000..84749ffd75
--- /dev/null
+++ b/simplepie/test/feed_image_width/SPtests/rss/0.91-userland/width.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_Width_Test_RSS_091_Userland_Width extends SimplePie_Feed_Image_Width_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91">
+	<channel>
+		<image>
+			<width>100</width>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 100.0;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_width/SPtests/rss/0.92/atom/1.0/icon-default.php b/simplepie/test/feed_image_width/SPtests/rss/0.92/atom/1.0/icon-default.php
new file mode 100644
index 0000000000..ddbbb4e94a
--- /dev/null
+++ b/simplepie/test/feed_image_width/SPtests/rss/0.92/atom/1.0/icon-default.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Width_Test_RSS_092_Atom_10_Icon extends SimplePie_Feed_Image_Width_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:icon>http://example.com/</a:icon>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_width/SPtests/rss/0.92/atom/1.0/logo-default.php b/simplepie/test/feed_image_width/SPtests/rss/0.92/atom/1.0/logo-default.php
new file mode 100644
index 0000000000..b30d364f3d
--- /dev/null
+++ b/simplepie/test/feed_image_width/SPtests/rss/0.92/atom/1.0/logo-default.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Width_Test_RSS_092_Atom_10_Logo extends SimplePie_Feed_Image_Width_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:logo>http://example.com/</a:logo>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_width/SPtests/rss/0.92/url-default.php b/simplepie/test/feed_image_width/SPtests/rss/0.92/url-default.php
new file mode 100644
index 0000000000..c0b17b5627
--- /dev/null
+++ b/simplepie/test/feed_image_width/SPtests/rss/0.92/url-default.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_Width_Test_RSS_092 extends SimplePie_Feed_Image_Width_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92">
+	<channel>
+		<image>
+			<url>http://example.com/</url>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 88.0;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_width/SPtests/rss/0.92/width.php b/simplepie/test/feed_image_width/SPtests/rss/0.92/width.php
new file mode 100644
index 0000000000..6bf6f45d5f
--- /dev/null
+++ b/simplepie/test/feed_image_width/SPtests/rss/0.92/width.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_Width_Test_RSS_092_Width extends SimplePie_Feed_Image_Width_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92">
+	<channel>
+		<image>
+			<width>100</width>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 100.0;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_width/SPtests/rss/1.0/atom/1.0/icon-default.php b/simplepie/test/feed_image_width/SPtests/rss/1.0/atom/1.0/icon-default.php
new file mode 100644
index 0000000000..39571a4760
--- /dev/null
+++ b/simplepie/test/feed_image_width/SPtests/rss/1.0/atom/1.0/icon-default.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Width_Test_RSS_10_Atom_10_Icon extends SimplePie_Feed_Image_Width_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:icon>http://example.com/</a:icon>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_width/SPtests/rss/1.0/atom/1.0/logo-default.php b/simplepie/test/feed_image_width/SPtests/rss/1.0/atom/1.0/logo-default.php
new file mode 100644
index 0000000000..cdb34bd222
--- /dev/null
+++ b/simplepie/test/feed_image_width/SPtests/rss/1.0/atom/1.0/logo-default.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Width_Test_RSS_10_Atom_10_Logo extends SimplePie_Feed_Image_Width_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:logo>http://example.com/</a:logo>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_width/SPtests/rss/1.0/url-default.php b/simplepie/test/feed_image_width/SPtests/rss/1.0/url-default.php
new file mode 100644
index 0000000000..4ad0bf41e2
--- /dev/null
+++ b/simplepie/test/feed_image_width/SPtests/rss/1.0/url-default.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Width_Test_RSS_10 extends SimplePie_Feed_Image_Width_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/">
+	<image>
+		<url>http://example.com/</url>
+	</image>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_width/SPtests/rss/2.0/atom/1.0/icon-default.php b/simplepie/test/feed_image_width/SPtests/rss/2.0/atom/1.0/icon-default.php
new file mode 100644
index 0000000000..152c324181
--- /dev/null
+++ b/simplepie/test/feed_image_width/SPtests/rss/2.0/atom/1.0/icon-default.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Width_Test_RSS_20_Atom_10_Icon extends SimplePie_Feed_Image_Width_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:icon>http://example.com/</a:icon>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_width/SPtests/rss/2.0/atom/1.0/logo-default.php b/simplepie/test/feed_image_width/SPtests/rss/2.0/atom/1.0/logo-default.php
new file mode 100644
index 0000000000..112985a68d
--- /dev/null
+++ b/simplepie/test/feed_image_width/SPtests/rss/2.0/atom/1.0/logo-default.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Image_Width_Test_RSS_20_Atom_10_Logo extends SimplePie_Feed_Image_Width_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:logo>http://example.com/</a:logo>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_width/SPtests/rss/2.0/url-default.php b/simplepie/test/feed_image_width/SPtests/rss/2.0/url-default.php
new file mode 100644
index 0000000000..bc9bf7da9c
--- /dev/null
+++ b/simplepie/test/feed_image_width/SPtests/rss/2.0/url-default.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_Width_Test_RSS_20 extends SimplePie_Feed_Image_Width_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<image>
+			<url>http://example.com/</url>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 88.0;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_image_width/SPtests/rss/2.0/width.php b/simplepie/test/feed_image_width/SPtests/rss/2.0/width.php
new file mode 100644
index 0000000000..3572f9a8bd
--- /dev/null
+++ b/simplepie/test/feed_image_width/SPtests/rss/2.0/width.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Image_Width_Test_RSS_20_Width extends SimplePie_Feed_Image_Width_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<image>
+			<width>100</width>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 100.0;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_language/SPtests/atom/0.3/dc/1.0/language.php b/simplepie/test/feed_language/SPtests/atom/0.3/dc/1.0/language.php
new file mode 100644
index 0000000000..a338cd68aa
--- /dev/null
+++ b/simplepie/test/feed_language/SPtests/atom/0.3/dc/1.0/language.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Language_Test_Atom_03_DC_10_Language extends SimplePie_Feed_Language_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<dc:language>en-GB</dc:language>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'en-GB';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_language/SPtests/atom/0.3/dc/1.1/language.php b/simplepie/test/feed_language/SPtests/atom/0.3/dc/1.1/language.php
new file mode 100644
index 0000000000..3e9b8f28ba
--- /dev/null
+++ b/simplepie/test/feed_language/SPtests/atom/0.3/dc/1.1/language.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Language_Test_Atom_03_DC_11_Language extends SimplePie_Feed_Language_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<dc:language>en-GB</dc:language>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'en-GB';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_language/SPtests/atom/0.3/xml_lang.php b/simplepie/test/feed_language/SPtests/atom/0.3/xml_lang.php
new file mode 100644
index 0000000000..c8f16e5863
--- /dev/null
+++ b/simplepie/test/feed_language/SPtests/atom/0.3/xml_lang.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Language_Test_Atom_03_xmllang extends SimplePie_Feed_Language_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xml:lang="en-GB">
+	<title>Feed Title</title>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'en-GB';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_language/SPtests/atom/1.0/dc/1.0/language.php b/simplepie/test/feed_language/SPtests/atom/1.0/dc/1.0/language.php
new file mode 100644
index 0000000000..4088618774
--- /dev/null
+++ b/simplepie/test/feed_language/SPtests/atom/1.0/dc/1.0/language.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Language_Test_Atom_10_DC_10_Language extends SimplePie_Feed_Language_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<dc:language>en-GB</dc:language>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'en-GB';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_language/SPtests/atom/1.0/dc/1.1/language.php b/simplepie/test/feed_language/SPtests/atom/1.0/dc/1.1/language.php
new file mode 100644
index 0000000000..0fd63dbfa9
--- /dev/null
+++ b/simplepie/test/feed_language/SPtests/atom/1.0/dc/1.1/language.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Language_Test_Atom_10_DC_11_Language extends SimplePie_Feed_Language_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<dc:language>en-GB</dc:language>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'en-GB';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_language/SPtests/atom/1.0/xml_lang.php b/simplepie/test/feed_language/SPtests/atom/1.0/xml_lang.php
new file mode 100644
index 0000000000..b8dd959a1e
--- /dev/null
+++ b/simplepie/test/feed_language/SPtests/atom/1.0/xml_lang.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Language_Test_Atom_10_xmllang extends SimplePie_Feed_Language_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
+	<title>Feed Title</title>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'en-GB';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_language/SPtests/rss/0.90/dc/1.0/language.php b/simplepie/test/feed_language/SPtests/rss/0.90/dc/1.0/language.php
new file mode 100644
index 0000000000..1fb9378f05
--- /dev/null
+++ b/simplepie/test/feed_language/SPtests/rss/0.90/dc/1.0/language.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Language_Test_RSS_090_DC_10_Language extends SimplePie_Feed_Language_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:language>en-GB</dc:language>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'en-GB';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_language/SPtests/rss/0.90/dc/1.1/language.php b/simplepie/test/feed_language/SPtests/rss/0.90/dc/1.1/language.php
new file mode 100644
index 0000000000..7bd5409add
--- /dev/null
+++ b/simplepie/test/feed_language/SPtests/rss/0.90/dc/1.1/language.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Language_Test_RSS_090_DC_11_Language extends SimplePie_Feed_Language_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:language>en-GB</dc:language>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'en-GB';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_language/SPtests/rss/0.91-netscape/dc/1.0/language.php b/simplepie/test/feed_language/SPtests/rss/0.91-netscape/dc/1.0/language.php
new file mode 100644
index 0000000000..852c3b344d
--- /dev/null
+++ b/simplepie/test/feed_language/SPtests/rss/0.91-netscape/dc/1.0/language.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Language_Test_RSS_091_Netscape_DC_10_Language extends SimplePie_Feed_Language_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:language>en-GB</dc:language>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'en-GB';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_language/SPtests/rss/0.91-netscape/dc/1.1/language.php b/simplepie/test/feed_language/SPtests/rss/0.91-netscape/dc/1.1/language.php
new file mode 100644
index 0000000000..dfccbad995
--- /dev/null
+++ b/simplepie/test/feed_language/SPtests/rss/0.91-netscape/dc/1.1/language.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Language_Test_RSS_091_Netscape_DC_11_Language extends SimplePie_Feed_Language_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:language>en-GB</dc:language>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'en-GB';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_language/SPtests/rss/0.91-netscape/language.php b/simplepie/test/feed_language/SPtests/rss/0.91-netscape/language.php
new file mode 100644
index 0000000000..2da182f566
--- /dev/null
+++ b/simplepie/test/feed_language/SPtests/rss/0.91-netscape/language.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Language_Test_RSS_091_Netscape_Language extends SimplePie_Feed_Language_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91">
+	<channel>
+		<language>en-GB</language>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'en-GB';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_language/SPtests/rss/0.91-userland/dc/1.0/language.php b/simplepie/test/feed_language/SPtests/rss/0.91-userland/dc/1.0/language.php
new file mode 100644
index 0000000000..b0db9c0b2e
--- /dev/null
+++ b/simplepie/test/feed_language/SPtests/rss/0.91-userland/dc/1.0/language.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Language_Test_RSS_091_Userland_DC_10_Language extends SimplePie_Feed_Language_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:language>en-GB</dc:language>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'en-GB';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_language/SPtests/rss/0.91-userland/dc/1.1/language.php b/simplepie/test/feed_language/SPtests/rss/0.91-userland/dc/1.1/language.php
new file mode 100644
index 0000000000..3de203ba42
--- /dev/null
+++ b/simplepie/test/feed_language/SPtests/rss/0.91-userland/dc/1.1/language.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Language_Test_RSS_091_Userland_DC_11_Language extends SimplePie_Feed_Language_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:language>en-GB</dc:language>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'en-GB';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_language/SPtests/rss/0.91-userland/language.php b/simplepie/test/feed_language/SPtests/rss/0.91-userland/language.php
new file mode 100644
index 0000000000..d3b5cb5e14
--- /dev/null
+++ b/simplepie/test/feed_language/SPtests/rss/0.91-userland/language.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Language_Test_RSS_091_Userland_Language extends SimplePie_Feed_Language_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91">
+	<channel>
+		<language>en-GB</language>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'en-GB';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_language/SPtests/rss/0.92/dc/1.0/language.php b/simplepie/test/feed_language/SPtests/rss/0.92/dc/1.0/language.php
new file mode 100644
index 0000000000..f2fa9cb1b0
--- /dev/null
+++ b/simplepie/test/feed_language/SPtests/rss/0.92/dc/1.0/language.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Language_Test_RSS_092_DC_10_Language extends SimplePie_Feed_Language_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:language>en-GB</dc:language>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'en-GB';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_language/SPtests/rss/0.92/dc/1.1/language.php b/simplepie/test/feed_language/SPtests/rss/0.92/dc/1.1/language.php
new file mode 100644
index 0000000000..3aaa4bd6c8
--- /dev/null
+++ b/simplepie/test/feed_language/SPtests/rss/0.92/dc/1.1/language.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Language_Test_RSS_092_DC_11_Language extends SimplePie_Feed_Language_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:language>en-GB</dc:language>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'en-GB';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_language/SPtests/rss/0.92/language.php b/simplepie/test/feed_language/SPtests/rss/0.92/language.php
new file mode 100644
index 0000000000..6292787f97
--- /dev/null
+++ b/simplepie/test/feed_language/SPtests/rss/0.92/language.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Language_Test_RSS_092_Language extends SimplePie_Feed_Language_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92">
+	<channel>
+		<language>en-GB</language>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'en-GB';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_language/SPtests/rss/1.0/dc/1.0/language.php b/simplepie/test/feed_language/SPtests/rss/1.0/dc/1.0/language.php
new file mode 100644
index 0000000000..c038f0b368
--- /dev/null
+++ b/simplepie/test/feed_language/SPtests/rss/1.0/dc/1.0/language.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Language_Test_RSS_10_DC_10_Language extends SimplePie_Feed_Language_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:language>en-GB</dc:language>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'en-GB';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_language/SPtests/rss/1.0/dc/1.1/language.php b/simplepie/test/feed_language/SPtests/rss/1.0/dc/1.1/language.php
new file mode 100644
index 0000000000..2e5163ea11
--- /dev/null
+++ b/simplepie/test/feed_language/SPtests/rss/1.0/dc/1.1/language.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Language_Test_RSS_10_DC_11_Language extends SimplePie_Feed_Language_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:language>en-GB</dc:language>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'en-GB';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_language/SPtests/rss/2.0/dc/1.0/language.php b/simplepie/test/feed_language/SPtests/rss/2.0/dc/1.0/language.php
new file mode 100644
index 0000000000..2afed9d88a
--- /dev/null
+++ b/simplepie/test/feed_language/SPtests/rss/2.0/dc/1.0/language.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Language_Test_RSS_20_DC_10_Language extends SimplePie_Feed_Language_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:language>en-GB</dc:language>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'en-GB';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_language/SPtests/rss/2.0/dc/1.1/language.php b/simplepie/test/feed_language/SPtests/rss/2.0/dc/1.1/language.php
new file mode 100644
index 0000000000..1dec610057
--- /dev/null
+++ b/simplepie/test/feed_language/SPtests/rss/2.0/dc/1.1/language.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Language_Test_RSS_20_DC_11_Language extends SimplePie_Feed_Language_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:language>en-GB</dc:language>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'en-GB';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_language/SPtests/rss/2.0/language.php b/simplepie/test/feed_language/SPtests/rss/2.0/language.php
new file mode 100644
index 0000000000..99cd84fc27
--- /dev/null
+++ b/simplepie/test/feed_language/SPtests/rss/2.0/language.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Language_Test_RSS_20_Language extends SimplePie_Feed_Language_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<language>en-GB</language>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'en-GB';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_link/SPtests/atom/0.3/link.php b/simplepie/test/feed_link/SPtests/atom/0.3/link.php
new file mode 100644
index 0000000000..9f69b5a438
--- /dev/null
+++ b/simplepie/test/feed_link/SPtests/atom/0.3/link.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Link_Test_Atom_03_Link extends SimplePie_Feed_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<link href="http://example.com/"/>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_link/SPtests/atom/0.3/link_@rel_alternate.php b/simplepie/test/feed_link/SPtests/atom/0.3/link_@rel_alternate.php
new file mode 100644
index 0000000000..f4b5736e6c
--- /dev/null
+++ b/simplepie/test/feed_link/SPtests/atom/0.3/link_@rel_alternate.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Link_Test_Atom_03_Link_Alternate extends SimplePie_Feed_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<link href="http://example.com/" rel="alternate"/>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_link/SPtests/atom/1.0/link.php b/simplepie/test/feed_link/SPtests/atom/1.0/link.php
new file mode 100644
index 0000000000..7c528c9b55
--- /dev/null
+++ b/simplepie/test/feed_link/SPtests/atom/1.0/link.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Link_Test_Atom_10_Link extends SimplePie_Feed_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<link href="http://example.com/"/>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_link/SPtests/atom/1.0/link_@rel_absolute_iri.php b/simplepie/test/feed_link/SPtests/atom/1.0/link_@rel_absolute_iri.php
new file mode 100644
index 0000000000..c91cc0e164
--- /dev/null
+++ b/simplepie/test/feed_link/SPtests/atom/1.0/link_@rel_absolute_iri.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Link_Test_Atom_10_Link_Absolute_IRI extends SimplePie_Feed_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<link href="http://example.com/" rel="http://www.iana.org/assignments/relation/alternate"/>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_link/SPtests/atom/1.0/link_@rel_alternate.php b/simplepie/test/feed_link/SPtests/atom/1.0/link_@rel_alternate.php
new file mode 100644
index 0000000000..8e1ede1003
--- /dev/null
+++ b/simplepie/test/feed_link/SPtests/atom/1.0/link_@rel_alternate.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Link_Test_Atom_10_Link_Relative_IRI extends SimplePie_Feed_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<link href="http://example.com/" rel="alternate"/>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_link/SPtests/rss/0.90/atom/0.3/link.php b/simplepie/test/feed_link/SPtests/rss/0.90/atom/0.3/link.php
new file mode 100644
index 0000000000..2f048b9f9e
--- /dev/null
+++ b/simplepie/test/feed_link/SPtests/rss/0.90/atom/0.3/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Link_Test_RSS_090_Atom_03_Link extends SimplePie_Feed_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<a:link href="http://example.com/"/>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_link/SPtests/rss/0.90/atom/1.0/link.php b/simplepie/test/feed_link/SPtests/rss/0.90/atom/1.0/link.php
new file mode 100644
index 0000000000..47ed9d8525
--- /dev/null
+++ b/simplepie/test/feed_link/SPtests/rss/0.90/atom/1.0/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Link_Test_RSS_090_Atom_10_Link extends SimplePie_Feed_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:link href="http://example.com/"/>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_link/SPtests/rss/0.90/link.php b/simplepie/test/feed_link/SPtests/rss/0.90/link.php
new file mode 100644
index 0000000000..35088b5170
--- /dev/null
+++ b/simplepie/test/feed_link/SPtests/rss/0.90/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Link_Test_RSS_090_Link extends SimplePie_Feed_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/">
+	<channel>
+		<link>http://example.com/</link>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_link/SPtests/rss/0.91-netscape/atom/0.3/link.php b/simplepie/test/feed_link/SPtests/rss/0.91-netscape/atom/0.3/link.php
new file mode 100644
index 0000000000..c50a8ed790
--- /dev/null
+++ b/simplepie/test/feed_link/SPtests/rss/0.91-netscape/atom/0.3/link.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Link_Test_RSS_091_Netscape_Atom_03_Link extends SimplePie_Feed_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<a:link href="http://example.com/"/>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_link/SPtests/rss/0.91-netscape/atom/1.0/link.php b/simplepie/test/feed_link/SPtests/rss/0.91-netscape/atom/1.0/link.php
new file mode 100644
index 0000000000..58ac9f4864
--- /dev/null
+++ b/simplepie/test/feed_link/SPtests/rss/0.91-netscape/atom/1.0/link.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Link_Test_RSS_091_Netscape_Atom_10_Link extends SimplePie_Feed_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:link href="http://example.com/"/>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_link/SPtests/rss/0.91-netscape/link.php b/simplepie/test/feed_link/SPtests/rss/0.91-netscape/link.php
new file mode 100644
index 0000000000..bebc3b2c16
--- /dev/null
+++ b/simplepie/test/feed_link/SPtests/rss/0.91-netscape/link.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Link_Test_RSS_091_Netscape_Link extends SimplePie_Feed_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91">
+	<channel>
+		<link>http://example.com/</link>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_link/SPtests/rss/0.91-userland/atom/0.3/link.php b/simplepie/test/feed_link/SPtests/rss/0.91-userland/atom/0.3/link.php
new file mode 100644
index 0000000000..737a1fb382
--- /dev/null
+++ b/simplepie/test/feed_link/SPtests/rss/0.91-userland/atom/0.3/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Link_Test_RSS_091_Userland_Atom_03_Link extends SimplePie_Feed_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<a:link href="http://example.com/"/>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_link/SPtests/rss/0.91-userland/atom/1.0/link.php b/simplepie/test/feed_link/SPtests/rss/0.91-userland/atom/1.0/link.php
new file mode 100644
index 0000000000..b168918b08
--- /dev/null
+++ b/simplepie/test/feed_link/SPtests/rss/0.91-userland/atom/1.0/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Link_Test_RSS_091_Userland_Atom_10_Link extends SimplePie_Feed_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:link href="http://example.com/"/>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_link/SPtests/rss/0.91-userland/link.php b/simplepie/test/feed_link/SPtests/rss/0.91-userland/link.php
new file mode 100644
index 0000000000..ce1709cbdf
--- /dev/null
+++ b/simplepie/test/feed_link/SPtests/rss/0.91-userland/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Link_Test_RSS_091_Userland_Link extends SimplePie_Feed_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91">
+	<channel>
+		<link>http://example.com/</link>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_link/SPtests/rss/0.92/atom/0.3/link.php b/simplepie/test/feed_link/SPtests/rss/0.92/atom/0.3/link.php
new file mode 100644
index 0000000000..94bcd514f4
--- /dev/null
+++ b/simplepie/test/feed_link/SPtests/rss/0.92/atom/0.3/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Link_Test_RSS_092_Atom_03_Link extends SimplePie_Feed_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<a:link href="http://example.com/"/>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_link/SPtests/rss/0.92/atom/1.0/link.php b/simplepie/test/feed_link/SPtests/rss/0.92/atom/1.0/link.php
new file mode 100644
index 0000000000..ecfd94feb6
--- /dev/null
+++ b/simplepie/test/feed_link/SPtests/rss/0.92/atom/1.0/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Link_Test_RSS_092_Atom_10_Link extends SimplePie_Feed_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:link href="http://example.com/"/>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_link/SPtests/rss/0.92/link.php b/simplepie/test/feed_link/SPtests/rss/0.92/link.php
new file mode 100644
index 0000000000..10d3a675a8
--- /dev/null
+++ b/simplepie/test/feed_link/SPtests/rss/0.92/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Link_Test_RSS_092_Link extends SimplePie_Feed_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92">
+	<channel>
+		<link>http://example.com/</link>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_link/SPtests/rss/1.0/atom/0.3/link.php b/simplepie/test/feed_link/SPtests/rss/1.0/atom/0.3/link.php
new file mode 100644
index 0000000000..f64c9f5306
--- /dev/null
+++ b/simplepie/test/feed_link/SPtests/rss/1.0/atom/0.3/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Link_Test_RSS_10_Atom_03_Link extends SimplePie_Feed_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<a:link href="http://example.com/"/>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_link/SPtests/rss/1.0/atom/1.0/link.php b/simplepie/test/feed_link/SPtests/rss/1.0/atom/1.0/link.php
new file mode 100644
index 0000000000..9317d00371
--- /dev/null
+++ b/simplepie/test/feed_link/SPtests/rss/1.0/atom/1.0/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Link_Test_RSS_10_Atom_10_Link extends SimplePie_Feed_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:link href="http://example.com/"/>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_link/SPtests/rss/1.0/link.php b/simplepie/test/feed_link/SPtests/rss/1.0/link.php
new file mode 100644
index 0000000000..fefa7a9474
--- /dev/null
+++ b/simplepie/test/feed_link/SPtests/rss/1.0/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Link_Test_RSS_10_Link extends SimplePie_Feed_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/">
+	<channel>
+		<link>http://example.com/</link>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_link/SPtests/rss/2.0/atom/0.3/link.php b/simplepie/test/feed_link/SPtests/rss/2.0/atom/0.3/link.php
new file mode 100644
index 0000000000..5f9e76189b
--- /dev/null
+++ b/simplepie/test/feed_link/SPtests/rss/2.0/atom/0.3/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Link_Test_RSS_20_Atom_03_Link extends SimplePie_Feed_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<a:link href="http://example.com/"/>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_link/SPtests/rss/2.0/atom/1.0/link.php b/simplepie/test/feed_link/SPtests/rss/2.0/atom/1.0/link.php
new file mode 100644
index 0000000000..cb7aeccdd7
--- /dev/null
+++ b/simplepie/test/feed_link/SPtests/rss/2.0/atom/1.0/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Link_Test_RSS_20_Atom_10_Link extends SimplePie_Feed_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:link href="http://example.com/"/>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_link/SPtests/rss/2.0/link.php b/simplepie/test/feed_link/SPtests/rss/2.0/link.php
new file mode 100644
index 0000000000..125c33bfcc
--- /dev/null
+++ b/simplepie/test/feed_link/SPtests/rss/2.0/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Link_Test_RSS_20_Link extends SimplePie_Feed_Link_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<link>http://example.com/</link>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/atom/0.3/dc/1.0/title.php b/simplepie/test/feed_title/SPtests/atom/0.3/dc/1.0/title.php
new file mode 100644
index 0000000000..ab0a13978e
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/atom/0.3/dc/1.0/title.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Title_Test_Atom_03_DC_10_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<dc:title>Feed Title</dc:title>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/atom/0.3/dc/1.1/title.php b/simplepie/test/feed_title/SPtests/atom/0.3/dc/1.1/title.php
new file mode 100644
index 0000000000..20db9d9a1e
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/atom/0.3/dc/1.1/title.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Title_Test_Atom_03_DC_11_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<dc:title>Feed Title</dc:title>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/atom/0.3/title.php b/simplepie/test/feed_title/SPtests/atom/0.3/title.php
new file mode 100644
index 0000000000..236afed1a6
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/atom/0.3/title.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Title_Test_Atom_03_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<title>Feed Title</title>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/atom/1.0/dc/1.0/title.php b/simplepie/test/feed_title/SPtests/atom/1.0/dc/1.0/title.php
new file mode 100644
index 0000000000..c95b5e70c6
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/atom/1.0/dc/1.0/title.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Title_Test_Atom_10_DC_10_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<dc:title>Feed Title</dc:title>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/atom/1.0/dc/1.1/title.php b/simplepie/test/feed_title/SPtests/atom/1.0/dc/1.1/title.php
new file mode 100644
index 0000000000..a67f909250
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/atom/1.0/dc/1.1/title.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Title_Test_Atom_10_DC_11_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<dc:title>Feed Title</dc:title>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/atom/1.0/title.php b/simplepie/test/feed_title/SPtests/atom/1.0/title.php
new file mode 100644
index 0000000000..bfbf2aeedb
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/atom/1.0/title.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Title_Test_Atom_10_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<title>Feed Title</title>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/bugs/16.0.php b/simplepie/test/feed_title/SPtests/bugs/16.0.php
new file mode 100644
index 0000000000..ab92612ae4
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/bugs/16.0.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_Feed_Title_Test_Bug_16_Test_0 extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" 
+"http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91">
+	<channel>
+		<title>Feed with DOCTYPE</title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed with DOCTYPE';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/bugs/174.0.php b/simplepie/test/feed_title/SPtests/bugs/174.0.php
new file mode 100644
index 0000000000..9625463b77
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/bugs/174.0.php
@@ -0,0 +1,20 @@
+<?php
+
+class SimplePie_Feed_Title_Test_Bug_174_Test_0 extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<?xml version = "1.0" encoding = "UTF-8" ?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+	<title>Spaces in prolog</title>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Spaces in prolog';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/bugs/18.0.php b/simplepie/test/feed_title/SPtests/bugs/18.0.php
new file mode 100644
index 0000000000..5f63db2520
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/bugs/18.0.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_Feed_Title_Test_Bug_18_Test_0 extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<title>Channel title</title>
+		<image>
+			<title>Image title</title>
+		</image>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Channel title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/bugs/18.1.php b/simplepie/test/feed_title/SPtests/bugs/18.1.php
new file mode 100644
index 0000000000..d51c3d3df7
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/bugs/18.1.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_Feed_Title_Test_Bug_18_Test_1 extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<image>
+			<title>Image title</title>
+		</image>
+		<title>Channel title</title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Channel title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/bugs/20.0.php b/simplepie/test/feed_title/SPtests/bugs/20.0.php
new file mode 100644
index 0000000000..4d1c394b54
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/bugs/20.0.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Title_Test_Bug_20_Test_0 extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<a:feed xmlns:a="http://www.w3.org/2005/Atom" xmlns="http://www.w3.org/1999/xhtml">
+	<a:title>Non-default namespace</a:title>
+</a:feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Non-default namespace';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/bugs/20.1.php b/simplepie/test/feed_title/SPtests/bugs/20.1.php
new file mode 100644
index 0000000000..f46fc622bd
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/bugs/20.1.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Title_Test_Bug_20_Test_1 extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<a:feed xmlns:a="http://www.w3.org/2005/Atom" xmlns="http://www.w3.org/1999/xhtml">
+	<a:title type="xhtml"><div>Non-default namespace</div></a:title>
+</a:feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Non-default namespace';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/bugs/20.2.php b/simplepie/test/feed_title/SPtests/bugs/20.2.php
new file mode 100644
index 0000000000..ed7d75e424
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/bugs/20.2.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Title_Test_Bug_20_Test_2 extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:h="http://www.w3.org/1999/xhtml">
+	<title type="xhtml"><h:div>Non-default namespace</h:div></title>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Non-default namespace';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/bugs/272.0.php b/simplepie/test/feed_title/SPtests/bugs/272.0.php
new file mode 100644
index 0000000000..5bd7316135
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/bugs/272.0.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Title_Test_Bug_272_Test_0 extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<title>Ampersand: <![CDATA[&]]></title>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Ampersand: &amp;';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/bugs/272.1.php b/simplepie/test/feed_title/SPtests/bugs/272.1.php
new file mode 100644
index 0000000000..5beda2ded4
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/bugs/272.1.php
@@ -0,0 +1,19 @@
+<?php
+
+class SimplePie_Feed_Title_Test_Bug_272_Test_1 extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<title><![CDATA[&]]>: Ampersand</title>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = '&amp;: Ampersand';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/0.90/atom/0.3/title.php b/simplepie/test/feed_title/SPtests/rss/0.90/atom/0.3/title.php
new file mode 100644
index 0000000000..146f566f3b
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/0.90/atom/0.3/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_090_Atom_03_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<a:title>Feed Title</a:title>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/0.90/atom/1.0/title.php b/simplepie/test/feed_title/SPtests/rss/0.90/atom/1.0/title.php
new file mode 100644
index 0000000000..6e6ce93876
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/0.90/atom/1.0/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_090_Atom_10_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:title>Feed Title</a:title>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/0.90/dc/1.0/title.php b/simplepie/test/feed_title/SPtests/rss/0.90/dc/1.0/title.php
new file mode 100644
index 0000000000..e359b34dba
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/0.90/dc/1.0/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_090_DC_10_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:title>Feed Title</dc:title>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/0.90/dc/1.1/title.php b/simplepie/test/feed_title/SPtests/rss/0.90/dc/1.1/title.php
new file mode 100644
index 0000000000..a060e3c6f3
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/0.90/dc/1.1/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_090_DC_11_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:title>Feed Title</dc:title>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/0.90/title.php b/simplepie/test/feed_title/SPtests/rss/0.90/title.php
new file mode 100644
index 0000000000..cfde01d282
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/0.90/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_090_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/">
+	<channel>
+		<title>Feed Title</title>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/0.91-netscape/atom/0.3/title.php b/simplepie/test/feed_title/SPtests/rss/0.91-netscape/atom/0.3/title.php
new file mode 100644
index 0000000000..51e0ef7497
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/0.91-netscape/atom/0.3/title.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_091_Netscape_Atom_03_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<a:title>Feed Title</a:title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/0.91-netscape/atom/1.0/title.php b/simplepie/test/feed_title/SPtests/rss/0.91-netscape/atom/1.0/title.php
new file mode 100644
index 0000000000..2daf561f6e
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/0.91-netscape/atom/1.0/title.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_091_Netscape_Atom_10_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:title>Feed Title</a:title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/0.91-netscape/dc/1.0/title.php b/simplepie/test/feed_title/SPtests/rss/0.91-netscape/dc/1.0/title.php
new file mode 100644
index 0000000000..c95fcd4d86
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/0.91-netscape/dc/1.0/title.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_091_Netscape_DC_10_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:title>Feed Title</dc:title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/0.91-netscape/dc/1.1/title.php b/simplepie/test/feed_title/SPtests/rss/0.91-netscape/dc/1.1/title.php
new file mode 100644
index 0000000000..b5c9c52118
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/0.91-netscape/dc/1.1/title.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_091_Netscape_DC_11_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:title>Feed Title</dc:title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/0.91-netscape/title.php b/simplepie/test/feed_title/SPtests/rss/0.91-netscape/title.php
new file mode 100644
index 0000000000..928bbbe81f
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/0.91-netscape/title.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_091_Netscape_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91">
+	<channel>
+		<title>Feed Title</title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/0.91-userland/atom/0.3/title.php b/simplepie/test/feed_title/SPtests/rss/0.91-userland/atom/0.3/title.php
new file mode 100644
index 0000000000..b104820c00
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/0.91-userland/atom/0.3/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_091_Userland_Atom_03_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<a:title>Feed Title</a:title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/0.91-userland/atom/1.0/title.php b/simplepie/test/feed_title/SPtests/rss/0.91-userland/atom/1.0/title.php
new file mode 100644
index 0000000000..f109e13de5
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/0.91-userland/atom/1.0/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_091_Userland_Atom_10_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:title>Feed Title</a:title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/0.91-userland/dc/1.0/title.php b/simplepie/test/feed_title/SPtests/rss/0.91-userland/dc/1.0/title.php
new file mode 100644
index 0000000000..2d6e60833c
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/0.91-userland/dc/1.0/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_091_Userland_DC_10_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:title>Feed Title</dc:title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/0.91-userland/dc/1.1/title.php b/simplepie/test/feed_title/SPtests/rss/0.91-userland/dc/1.1/title.php
new file mode 100644
index 0000000000..6436bb4465
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/0.91-userland/dc/1.1/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_091_Userland_DC_11_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:title>Feed Title</dc:title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/0.91-userland/title.php b/simplepie/test/feed_title/SPtests/rss/0.91-userland/title.php
new file mode 100644
index 0000000000..5ce3b1d4e5
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/0.91-userland/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_091_Userland_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91">
+	<channel>
+		<title>Feed Title</title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/0.92/atom/0.3/title.php b/simplepie/test/feed_title/SPtests/rss/0.92/atom/0.3/title.php
new file mode 100644
index 0000000000..48209c77b2
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/0.92/atom/0.3/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_092_Atom_03_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<a:title>Feed Title</a:title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/0.92/atom/1.0/title.php b/simplepie/test/feed_title/SPtests/rss/0.92/atom/1.0/title.php
new file mode 100644
index 0000000000..7af135c4d3
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/0.92/atom/1.0/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_092_Atom_10_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:title>Feed Title</a:title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/0.92/dc/1.0/title.php b/simplepie/test/feed_title/SPtests/rss/0.92/dc/1.0/title.php
new file mode 100644
index 0000000000..dac1d51ef5
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/0.92/dc/1.0/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_092_DC_10_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:title>Feed Title</dc:title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/0.92/dc/1.1/title.php b/simplepie/test/feed_title/SPtests/rss/0.92/dc/1.1/title.php
new file mode 100644
index 0000000000..48ad28654c
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/0.92/dc/1.1/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_092_DC_11_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:title>Feed Title</dc:title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/0.92/title.php b/simplepie/test/feed_title/SPtests/rss/0.92/title.php
new file mode 100644
index 0000000000..fe948f0d38
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/0.92/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_092_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92">
+	<channel>
+		<title>Feed Title</title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/1.0/atom/0.3/title.php b/simplepie/test/feed_title/SPtests/rss/1.0/atom/0.3/title.php
new file mode 100644
index 0000000000..753863a245
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/1.0/atom/0.3/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_10_Atom_03_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<a:title>Feed Title</a:title>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/1.0/atom/1.0/title.php b/simplepie/test/feed_title/SPtests/rss/1.0/atom/1.0/title.php
new file mode 100644
index 0000000000..8b8bfe95f7
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/1.0/atom/1.0/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_10_Atom_10_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:title>Feed Title</a:title>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/1.0/dc/1.0/title.php b/simplepie/test/feed_title/SPtests/rss/1.0/dc/1.0/title.php
new file mode 100644
index 0000000000..2239c10f6f
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/1.0/dc/1.0/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_10_DC_10_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:title>Feed Title</dc:title>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/1.0/dc/1.1/title.php b/simplepie/test/feed_title/SPtests/rss/1.0/dc/1.1/title.php
new file mode 100644
index 0000000000..d764d27155
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/1.0/dc/1.1/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_10_DC_11_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:title>Feed Title</dc:title>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/1.0/title.php b/simplepie/test/feed_title/SPtests/rss/1.0/title.php
new file mode 100644
index 0000000000..bcf55cf8a6
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/1.0/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_10_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/">
+	<channel>
+		<title>Feed Title</title>
+	</channel>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/2.0/atom/0.3/title.php b/simplepie/test/feed_title/SPtests/rss/2.0/atom/0.3/title.php
new file mode 100644
index 0000000000..deda0f1e72
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/2.0/atom/0.3/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_20_Atom_03_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<a:title>Feed Title</a:title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/2.0/atom/1.0/title.php b/simplepie/test/feed_title/SPtests/rss/2.0/atom/1.0/title.php
new file mode 100644
index 0000000000..b71cfa2b90
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/2.0/atom/1.0/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_20_Atom_10_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<a:title>Feed Title</a:title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/2.0/dc/1.0/title.php b/simplepie/test/feed_title/SPtests/rss/2.0/dc/1.0/title.php
new file mode 100644
index 0000000000..e84fb0c8fe
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/2.0/dc/1.0/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_20_DC_10_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<dc:title>Feed Title</dc:title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/2.0/dc/1.1/title.php b/simplepie/test/feed_title/SPtests/rss/2.0/dc/1.1/title.php
new file mode 100644
index 0000000000..2a7dd59d83
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/2.0/dc/1.1/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_20_DC_11_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<dc:title>Feed Title</dc:title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/SPtests/rss/2.0/title.php b/simplepie/test/feed_title/SPtests/rss/2.0/title.php
new file mode 100644
index 0000000000..a2659932c8
--- /dev/null
+++ b/simplepie/test/feed_title/SPtests/rss/2.0/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_Feed_Title_Test_RSS_20_Title extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<title>Feed Title</title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Feed Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/rss-profile/1.php b/simplepie/test/feed_title/rss-profile/1.php
new file mode 100644
index 0000000000..a9580571c5
--- /dev/null
+++ b/simplepie/test/feed_title/rss-profile/1.php
@@ -0,0 +1,21 @@
+<?php
+
+class RSS_Profile_Title_1 extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<title>AT&#x26;T</title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'AT&amp;T';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/rss-profile/2.php b/simplepie/test/feed_title/rss-profile/2.php
new file mode 100644
index 0000000000..e7635c9af5
--- /dev/null
+++ b/simplepie/test/feed_title/rss-profile/2.php
@@ -0,0 +1,21 @@
+<?php
+
+class RSS_Profile_Title_2 extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<title>Bill &#x26; Ted\'s Excellent Adventure</title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Bill &amp; Ted\'s Excellent Adventure';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/rss-profile/3.php b/simplepie/test/feed_title/rss-profile/3.php
new file mode 100644
index 0000000000..2b150591e5
--- /dev/null
+++ b/simplepie/test/feed_title/rss-profile/3.php
@@ -0,0 +1,21 @@
+<?php
+
+class RSS_Profile_Title_3 extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<title>The &#x26;amp; entity</title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'The &amp;amp; entity';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/rss-profile/4.php b/simplepie/test/feed_title/rss-profile/4.php
new file mode 100644
index 0000000000..d46435ada4
--- /dev/null
+++ b/simplepie/test/feed_title/rss-profile/4.php
@@ -0,0 +1,21 @@
+<?php
+
+class RSS_Profile_Title_4 extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<title>I &#x3C;3 Phil Ringnalda</title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'I &lt;3 Phil Ringnalda';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/rss-profile/5.php b/simplepie/test/feed_title/rss-profile/5.php
new file mode 100644
index 0000000000..ca4d28cc7b
--- /dev/null
+++ b/simplepie/test/feed_title/rss-profile/5.php
@@ -0,0 +1,21 @@
+<?php
+
+class RSS_Profile_Title_5 extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<title>A &#x3C; B</title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'A &lt; B';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/rss-profile/6.php b/simplepie/test/feed_title/rss-profile/6.php
new file mode 100644
index 0000000000..525ca2052f
--- /dev/null
+++ b/simplepie/test/feed_title/rss-profile/6.php
@@ -0,0 +1,21 @@
+<?php
+
+class RSS_Profile_Title_6 extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<title>A&#x3C;B</title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'A&lt;B';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/feed_title/rss-profile/7.php b/simplepie/test/feed_title/rss-profile/7.php
new file mode 100644
index 0000000000..26d699b75d
--- /dev/null
+++ b/simplepie/test/feed_title/rss-profile/7.php
@@ -0,0 +1,21 @@
+<?php
+
+class RSS_Profile_Title_7 extends SimplePie_Feed_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<title>Nice &#x3C;gorilla&#x3E; what\'s he weigh?</title>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Nice &lt;gorilla&gt; what\'s he weigh?';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/atom/0.3/dc/1.0/creator.php b/simplepie/test/first_item_author_name/SPtests/atom/0.3/dc/1.0/creator.php
new file mode 100644
index 0000000000..c095916edc
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/atom/0.3/dc/1.0/creator.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_Atom_03_DC_10_Creator extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<entry>
+		<dc:creator>Item Author</dc:creator>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/atom/0.3/dc/1.1/creator.php b/simplepie/test/first_item_author_name/SPtests/atom/0.3/dc/1.1/creator.php
new file mode 100644
index 0000000000..d113d437df
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/atom/0.3/dc/1.1/creator.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_Atom_03_DC_11_Creator extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<entry>
+		<dc:creator>Item Author</dc:creator>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/atom/0.3/feed.php b/simplepie/test/first_item_author_name/SPtests/atom/0.3/feed.php
new file mode 100644
index 0000000000..9227ed53a3
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/atom/0.3/feed.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Atom_03_Inheritance_Feed_Name extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<author>
+		<name>Item Author</name>
+	</author>
+	<entry>
+		<title>Item Title</title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/atom/0.3/name.php b/simplepie/test/first_item_author_name/SPtests/atom/0.3/name.php
new file mode 100644
index 0000000000..85b59cc8a6
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/atom/0.3/name.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_Atom_03_Name extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<entry>
+		<author>
+			<name>Item Author</name>
+		</author>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/atom/1.0/dc/1.0/creator.php b/simplepie/test/first_item_author_name/SPtests/atom/1.0/dc/1.0/creator.php
new file mode 100644
index 0000000000..46e152993f
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/atom/1.0/dc/1.0/creator.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_Atom_10_DC_10_Creator extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<entry>
+		<dc:creator>Item Author</dc:creator>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/atom/1.0/dc/1.1/creator.php b/simplepie/test/first_item_author_name/SPtests/atom/1.0/dc/1.1/creator.php
new file mode 100644
index 0000000000..ef57ca7d5a
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/atom/1.0/dc/1.1/creator.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_Atom_10_DC_11_Creator extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<entry>
+		<dc:creator>Item Author</dc:creator>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/atom/1.0/feed.php b/simplepie/test/first_item_author_name/SPtests/atom/1.0/feed.php
new file mode 100644
index 0000000000..cc85070665
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/atom/1.0/feed.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Atom_10_Inheritance_Feed_Name extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<author>
+		<name>Item Author</name>
+	</author>
+	<entry>
+		<title>Item Title</title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/atom/1.0/name.php b/simplepie/test/first_item_author_name/SPtests/atom/1.0/name.php
new file mode 100644
index 0000000000..6bdbee31e8
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/atom/1.0/name.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_Atom_10_Name extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<author>
+			<name>Item Author</name>
+		</author>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/atom/1.0/source.php b/simplepie/test/first_item_author_name/SPtests/atom/1.0/source.php
new file mode 100644
index 0000000000..34a59d7d53
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/atom/1.0/source.php
@@ -0,0 +1,25 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Atom_10_Inheritance_Source_Name extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<source>
+			<author>
+				<name>Item Author</name>
+			</author>
+		</source>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/0.90/atom/0.3/name.php b/simplepie/test/first_item_author_name/SPtests/rss/0.90/atom/0.3/name.php
new file mode 100644
index 0000000000..98c19b55d2
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/0.90/atom/0.3/name.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_090_Atom_03_Name extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://purl.org/atom/ns#">
+	<item>
+		<a:author>
+			<a:name>Item Author</a:name>
+		</a:author>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/0.90/atom/1.0/name.php b/simplepie/test/first_item_author_name/SPtests/rss/0.90/atom/1.0/name.php
new file mode 100644
index 0000000000..5e9f2f3e06
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/0.90/atom/1.0/name.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_090_Atom_10_Name extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:author>
+			<a:name>Item Author</a:name>
+		</a:author>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/0.90/dc/1.0/creator.php b/simplepie/test/first_item_author_name/SPtests/rss/0.90/dc/1.0/creator.php
new file mode 100644
index 0000000000..36fec5ca83
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/0.90/dc/1.0/creator.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_090_DC_10_Creator extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<item>
+		<dc:creator>Item Author</dc:creator>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/0.90/dc/1.1/creator.php b/simplepie/test/first_item_author_name/SPtests/rss/0.90/dc/1.1/creator.php
new file mode 100644
index 0000000000..1468447aa4
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/0.90/dc/1.1/creator.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_090_DC_11_Creator extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<item>
+		<dc:creator>Item Author</dc:creator>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/0.91-netscape/atom/0.3/name.php b/simplepie/test/first_item_author_name/SPtests/rss/0.91-netscape/atom/0.3/name.php
new file mode 100644
index 0000000000..0103bb1ead
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/0.91-netscape/atom/0.3/name.php
@@ -0,0 +1,26 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_091_Netscape_Atom_03_Name extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:author>
+				<a:name>Item Author</a:name>
+			</a:author>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/0.91-netscape/atom/1.0/name.php b/simplepie/test/first_item_author_name/SPtests/rss/0.91-netscape/atom/1.0/name.php
new file mode 100644
index 0000000000..14e96823f9
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/0.91-netscape/atom/1.0/name.php
@@ -0,0 +1,26 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_091_Netscape_Atom_10_Name extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:author>
+				<a:name>Item Author</a:name>
+			</a:author>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/0.91-netscape/dc/1.0/creator.php b/simplepie/test/first_item_author_name/SPtests/rss/0.91-netscape/dc/1.0/creator.php
new file mode 100644
index 0000000000..bb5b6ba33b
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/0.91-netscape/dc/1.0/creator.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_091_Netscape_DC_10_Creator extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:creator>Item Author</dc:creator>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/0.91-netscape/dc/1.1/creator.php b/simplepie/test/first_item_author_name/SPtests/rss/0.91-netscape/dc/1.1/creator.php
new file mode 100644
index 0000000000..8e07922080
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/0.91-netscape/dc/1.1/creator.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_091_Netscape_DC_11_Creator extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:creator>Item Author</dc:creator>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/0.91-userland/atom/0.3/name.php b/simplepie/test/first_item_author_name/SPtests/rss/0.91-userland/atom/0.3/name.php
new file mode 100644
index 0000000000..ce3a62058e
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/0.91-userland/atom/0.3/name.php
@@ -0,0 +1,25 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_091_Userland_Atom_03_Name extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:author>
+				<a:name>Item Author</a:name>
+			</a:author>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/0.91-userland/atom/1.0/name.php b/simplepie/test/first_item_author_name/SPtests/rss/0.91-userland/atom/1.0/name.php
new file mode 100644
index 0000000000..4645cd09c9
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/0.91-userland/atom/1.0/name.php
@@ -0,0 +1,25 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_091_Userland_Atom_10_Name extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:author>
+				<a:name>Item Author</a:name>
+			</a:author>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/0.91-userland/dc/1.0/creator.php b/simplepie/test/first_item_author_name/SPtests/rss/0.91-userland/dc/1.0/creator.php
new file mode 100644
index 0000000000..75c5ddc384
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/0.91-userland/dc/1.0/creator.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_091_Userland_DC_10_Creator extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:creator>Item Author</dc:creator>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/0.91-userland/dc/1.1/creator.php b/simplepie/test/first_item_author_name/SPtests/rss/0.91-userland/dc/1.1/creator.php
new file mode 100644
index 0000000000..58ad0a22f3
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/0.91-userland/dc/1.1/creator.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_091_Userland_DC_11_Creator extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:creator>Item Author</dc:creator>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/0.92/atom/0.3/name.php b/simplepie/test/first_item_author_name/SPtests/rss/0.92/atom/0.3/name.php
new file mode 100644
index 0000000000..083b406269
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/0.92/atom/0.3/name.php
@@ -0,0 +1,25 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_092_Atom_03_Name extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:author>
+				<a:name>Item Author</a:name>
+			</a:author>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/0.92/atom/1.0/name.php b/simplepie/test/first_item_author_name/SPtests/rss/0.92/atom/1.0/name.php
new file mode 100644
index 0000000000..41a0176241
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/0.92/atom/1.0/name.php
@@ -0,0 +1,25 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_092_Atom_10_Name extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:author>
+				<a:name>Item Author</a:name>
+			</a:author>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/0.92/dc/1.0/creator.php b/simplepie/test/first_item_author_name/SPtests/rss/0.92/dc/1.0/creator.php
new file mode 100644
index 0000000000..dbf9f8ba6d
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/0.92/dc/1.0/creator.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_092_DC_10_Creator extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:creator>Item Author</dc:creator>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/0.92/dc/1.1/creator.php b/simplepie/test/first_item_author_name/SPtests/rss/0.92/dc/1.1/creator.php
new file mode 100644
index 0000000000..1cdfdfd9b2
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/0.92/dc/1.1/creator.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_092_DC_11_Creator extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:creator>Item Author</dc:creator>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/1.0/atom/0.3/name.php b/simplepie/test/first_item_author_name/SPtests/rss/1.0/atom/0.3/name.php
new file mode 100644
index 0000000000..42f9125732
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/1.0/atom/0.3/name.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_10_Atom_03_Name extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://purl.org/atom/ns#">
+	<item>
+		<a:author>
+			<a:name>Item Author</a:name>
+		</a:author>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/1.0/atom/1.0/name.php b/simplepie/test/first_item_author_name/SPtests/rss/1.0/atom/1.0/name.php
new file mode 100644
index 0000000000..927d365d77
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/1.0/atom/1.0/name.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_10_Atom_10_Name extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:author>
+			<a:name>Item Author</a:name>
+		</a:author>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/1.0/dc/1.0/creator.php b/simplepie/test/first_item_author_name/SPtests/rss/1.0/dc/1.0/creator.php
new file mode 100644
index 0000000000..9193b8b07c
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/1.0/dc/1.0/creator.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_10_DC_10_Creator extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<item>
+		<dc:creator>Item Author</dc:creator>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/1.0/dc/1.1/creator.php b/simplepie/test/first_item_author_name/SPtests/rss/1.0/dc/1.1/creator.php
new file mode 100644
index 0000000000..e66373a572
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/1.0/dc/1.1/creator.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_10_DC_11_Creator extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<item>
+		<dc:creator>Item Author</dc:creator>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/2.0/atom/0.3/name.php b/simplepie/test/first_item_author_name/SPtests/rss/2.0/atom/0.3/name.php
new file mode 100644
index 0000000000..2a9b6b7a18
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/2.0/atom/0.3/name.php
@@ -0,0 +1,25 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_20_Atom_03_Name extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:author>
+				<a:name>Item Author</a:name>
+			</a:author>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/2.0/atom/1.0/name.php b/simplepie/test/first_item_author_name/SPtests/rss/2.0/atom/1.0/name.php
new file mode 100644
index 0000000000..fc0d9df842
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/2.0/atom/1.0/name.php
@@ -0,0 +1,25 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_20_Atom_10_Name extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:author>
+				<a:name>Item Author</a:name>
+			</a:author>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/2.0/author.php b/simplepie/test/first_item_author_name/SPtests/rss/2.0/author.php
new file mode 100644
index 0000000000..cf0c7fce2d
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/2.0/author.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_20_Author extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<item>
+			<author>example@example.com (Item Author)</author>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/2.0/dc/1.0/creator.php b/simplepie/test/first_item_author_name/SPtests/rss/2.0/dc/1.0/creator.php
new file mode 100644
index 0000000000..35c64dee0f
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/2.0/dc/1.0/creator.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_20_DC_10_Creator extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:creator>Item Author</dc:creator>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_author_name/SPtests/rss/2.0/dc/1.1/creator.php b/simplepie/test/first_item_author_name/SPtests/rss/2.0/dc/1.1/creator.php
new file mode 100644
index 0000000000..18e4e67f49
--- /dev/null
+++ b/simplepie/test/first_item_author_name/SPtests/rss/2.0/dc/1.1/creator.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Author_Name_Test_RSS_20_DC_11_Creator extends SimplePie_First_Item_Author_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:creator>Item Author</dc:creator>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Author';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/atom/0.3/dc/1.0/subject.php b/simplepie/test/first_item_category_label/SPtests/atom/0.3/dc/1.0/subject.php
new file mode 100644
index 0000000000..8f39d5f5c7
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/atom/0.3/dc/1.0/subject.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_Atom_03_DC_10_Subject extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<entry>
+		<dc:subject>Item Category</dc:subject>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/atom/0.3/dc/1.1/subject.php b/simplepie/test/first_item_category_label/SPtests/atom/0.3/dc/1.1/subject.php
new file mode 100644
index 0000000000..72bcfe2930
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/atom/0.3/dc/1.1/subject.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_Atom_03_DC_11_Subject extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<entry>
+		<dc:subject>Item Category</dc:subject>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/atom/1.0/dc/1.0/subject.php b/simplepie/test/first_item_category_label/SPtests/atom/1.0/dc/1.0/subject.php
new file mode 100644
index 0000000000..d72d6f9d51
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/atom/1.0/dc/1.0/subject.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_Atom_10_DC_10_Subject extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<entry>
+		<dc:subject>Item Category</dc:subject>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/atom/1.0/dc/1.1/subject.php b/simplepie/test/first_item_category_label/SPtests/atom/1.0/dc/1.1/subject.php
new file mode 100644
index 0000000000..9850757a99
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/atom/1.0/dc/1.1/subject.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_Atom_10_DC_11_Subject extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<entry>
+		<dc:subject>Item Category</dc:subject>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/atom/1.0/label.php b/simplepie/test/first_item_category_label/SPtests/atom/1.0/label.php
new file mode 100644
index 0000000000..1f2eb256f9
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/atom/1.0/label.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_Atom_10_Category_Label extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<category label="Item Category"/>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/atom/1.0/term.php b/simplepie/test/first_item_category_label/SPtests/atom/1.0/term.php
new file mode 100644
index 0000000000..0689665ce4
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/atom/1.0/term.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_Atom_10_Category_Term extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<category term="Item Category"/>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/bugs/21.0.php b/simplepie/test/first_item_category_label/SPtests/bugs/21.0.php
new file mode 100644
index 0000000000..774020471a
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/bugs/21.0.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_Bug_21_Test_0 extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<category term="Example category"/>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Example category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/0.90/atom/1.0/label.php b/simplepie/test/first_item_category_label/SPtests/rss/0.90/atom/1.0/label.php
new file mode 100644
index 0000000000..4897dbdc5a
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/0.90/atom/1.0/label.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_090_Atom_10_Category_Label extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:category label="Item Category"/>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/0.90/atom/1.0/term.php b/simplepie/test/first_item_category_label/SPtests/rss/0.90/atom/1.0/term.php
new file mode 100644
index 0000000000..5cffbd7ea1
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/0.90/atom/1.0/term.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_090_Atom_10_Category_Term extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:category term="Item Category"/>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/0.90/dc/1.0/subject.php b/simplepie/test/first_item_category_label/SPtests/rss/0.90/dc/1.0/subject.php
new file mode 100644
index 0000000000..ed415507a8
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/0.90/dc/1.0/subject.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_090_DC_10_Subject extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<item>
+		<dc:subject>Item Category</dc:subject>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/0.90/dc/1.1/subject.php b/simplepie/test/first_item_category_label/SPtests/rss/0.90/dc/1.1/subject.php
new file mode 100644
index 0000000000..6979f957fe
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/0.90/dc/1.1/subject.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_090_DC_11_Subject extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<item>
+		<dc:subject>Item Category</dc:subject>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/0.91-netscape/atom/1.0/label.php b/simplepie/test/first_item_category_label/SPtests/rss/0.91-netscape/atom/1.0/label.php
new file mode 100644
index 0000000000..cbd00ec023
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/0.91-netscape/atom/1.0/label.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_091_Netscape_Atom_10_Category_Label extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:category label="Item Category"/>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/0.91-netscape/atom/1.0/term.php b/simplepie/test/first_item_category_label/SPtests/rss/0.91-netscape/atom/1.0/term.php
new file mode 100644
index 0000000000..d1c3522e29
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/0.91-netscape/atom/1.0/term.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_091_Netscape_Atom_10_Category_Term extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:category term="Item Category"/>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/0.91-netscape/dc/1.0/subject.php b/simplepie/test/first_item_category_label/SPtests/rss/0.91-netscape/dc/1.0/subject.php
new file mode 100644
index 0000000000..6a1a93e4e6
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/0.91-netscape/dc/1.0/subject.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_091_Netscape_DC_10_Subject extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:subject>Item Category</dc:subject>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/0.91-netscape/dc/1.1/subject.php b/simplepie/test/first_item_category_label/SPtests/rss/0.91-netscape/dc/1.1/subject.php
new file mode 100644
index 0000000000..9cfb63341c
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/0.91-netscape/dc/1.1/subject.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_091_Netscape_DC_11_Subject extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:subject>Item Category</dc:subject>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/0.91-userland/atom/1.0/label.php b/simplepie/test/first_item_category_label/SPtests/rss/0.91-userland/atom/1.0/label.php
new file mode 100644
index 0000000000..bc9b9ed848
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/0.91-userland/atom/1.0/label.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_091_Userland_Atom_10_Category_Label extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:category label="Item Category"/>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/0.91-userland/atom/1.0/term.php b/simplepie/test/first_item_category_label/SPtests/rss/0.91-userland/atom/1.0/term.php
new file mode 100644
index 0000000000..aacd5c8525
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/0.91-userland/atom/1.0/term.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_091_Userland_Atom_10_Category_Term extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:category term="Item Category"/>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/0.91-userland/dc/1.0/subject.php b/simplepie/test/first_item_category_label/SPtests/rss/0.91-userland/dc/1.0/subject.php
new file mode 100644
index 0000000000..5dfb246972
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/0.91-userland/dc/1.0/subject.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_091_Userland_DC_10_Subject extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:subject>Item Category</dc:subject>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/0.91-userland/dc/1.1/subject.php b/simplepie/test/first_item_category_label/SPtests/rss/0.91-userland/dc/1.1/subject.php
new file mode 100644
index 0000000000..6f583b7600
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/0.91-userland/dc/1.1/subject.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_091_Userland_DC_11_Subject extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:subject>Item Category</dc:subject>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/0.92/atom/1.0/label.php b/simplepie/test/first_item_category_label/SPtests/rss/0.92/atom/1.0/label.php
new file mode 100644
index 0000000000..9713aaae54
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/0.92/atom/1.0/label.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_092_Atom_10_Category_Label extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:category label="Item Category"/>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/0.92/atom/1.0/term.php b/simplepie/test/first_item_category_label/SPtests/rss/0.92/atom/1.0/term.php
new file mode 100644
index 0000000000..bc426d0dab
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/0.92/atom/1.0/term.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_092_Atom_10_Category_Term extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:category term="Item Category"/>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/0.92/category.php b/simplepie/test/first_item_category_label/SPtests/rss/0.92/category.php
new file mode 100644
index 0000000000..1ede844910
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/0.92/category.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_092_Category extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92">
+	<channel>
+		<item>
+			<category>Item Category</category>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/0.92/dc/1.0/subject.php b/simplepie/test/first_item_category_label/SPtests/rss/0.92/dc/1.0/subject.php
new file mode 100644
index 0000000000..28d0994220
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/0.92/dc/1.0/subject.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_092_DC_10_Subject extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:subject>Item Category</dc:subject>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/0.92/dc/1.1/subject.php b/simplepie/test/first_item_category_label/SPtests/rss/0.92/dc/1.1/subject.php
new file mode 100644
index 0000000000..bf41df8ac6
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/0.92/dc/1.1/subject.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_092_DC_11_Subject extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:subject>Item Category</dc:subject>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/1.0/atom/1.0/label.php b/simplepie/test/first_item_category_label/SPtests/rss/1.0/atom/1.0/label.php
new file mode 100644
index 0000000000..101ef33960
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/1.0/atom/1.0/label.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_10_Atom_10_Category_Label extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:category label="Item Category"/>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/1.0/atom/1.0/term.php b/simplepie/test/first_item_category_label/SPtests/rss/1.0/atom/1.0/term.php
new file mode 100644
index 0000000000..fa57fb34e6
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/1.0/atom/1.0/term.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_10_Atom_10_Category_Term extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:category term="Item Category"/>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/1.0/dc/1.0/subject.php b/simplepie/test/first_item_category_label/SPtests/rss/1.0/dc/1.0/subject.php
new file mode 100644
index 0000000000..7e2d5c6fdb
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/1.0/dc/1.0/subject.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_10_DC_10_Subject extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<item>
+		<dc:subject>Item Category</dc:subject>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/1.0/dc/1.1/subject.php b/simplepie/test/first_item_category_label/SPtests/rss/1.0/dc/1.1/subject.php
new file mode 100644
index 0000000000..1839c18f06
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/1.0/dc/1.1/subject.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_10_DC_11_Subject extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<item>
+		<dc:subject>Item Category</dc:subject>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/2.0/atom/1.0/label.php b/simplepie/test/first_item_category_label/SPtests/rss/2.0/atom/1.0/label.php
new file mode 100644
index 0000000000..41c2cd6c63
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/2.0/atom/1.0/label.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_20_Atom_10_Category_Label extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:category label="Item Category"/>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/2.0/atom/1.0/term.php b/simplepie/test/first_item_category_label/SPtests/rss/2.0/atom/1.0/term.php
new file mode 100644
index 0000000000..b257106e4a
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/2.0/atom/1.0/term.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_20_Atom_10_Category_Term extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:category term="Item Category"/>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/2.0/category.php b/simplepie/test/first_item_category_label/SPtests/rss/2.0/category.php
new file mode 100644
index 0000000000..c691b2395f
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/2.0/category.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_20_Category extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<item>
+			<category>Item Category</category>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/2.0/dc/1.0/subject.php b/simplepie/test/first_item_category_label/SPtests/rss/2.0/dc/1.0/subject.php
new file mode 100644
index 0000000000..26f43606d4
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/2.0/dc/1.0/subject.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_20_DC_10_Subject extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:subject>Item Category</dc:subject>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_category_label/SPtests/rss/2.0/dc/1.1/subject.php b/simplepie/test/first_item_category_label/SPtests/rss/2.0/dc/1.1/subject.php
new file mode 100644
index 0000000000..8c8ab3f597
--- /dev/null
+++ b/simplepie/test/first_item_category_label/SPtests/rss/2.0/dc/1.1/subject.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Category_Label_Test_RSS_20_DC_11_Subject extends SimplePie_First_Item_Category_Label_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:subject>Item Category</dc:subject>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Category';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/atom/0.3/content.php b/simplepie/test/first_item_content/SPtests/atom/0.3/content.php
new file mode 100644
index 0000000000..7c7efb32d6
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/atom/0.3/content.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_Atom_03_Content extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<entry>
+		<content>Item Description</content>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/atom/0.3/dc/1.0/description.php b/simplepie/test/first_item_content/SPtests/atom/0.3/dc/1.0/description.php
new file mode 100644
index 0000000000..d964440c23
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/atom/0.3/dc/1.0/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_Atom_03_DC_10_Description extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<entry>
+		<dc:description>Item Description</dc:description>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/atom/0.3/dc/1.1/description.php b/simplepie/test/first_item_content/SPtests/atom/0.3/dc/1.1/description.php
new file mode 100644
index 0000000000..79a91f4d82
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/atom/0.3/dc/1.1/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_Atom_03_DC_11_Description extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<entry>
+		<dc:description>Item Description</dc:description>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/atom/0.3/summary.php b/simplepie/test/first_item_content/SPtests/atom/0.3/summary.php
new file mode 100644
index 0000000000..420f007024
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/atom/0.3/summary.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_Atom_03_Summary extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<entry>
+		<summary>Item Description</summary>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/atom/1.0/content.php b/simplepie/test/first_item_content/SPtests/atom/1.0/content.php
new file mode 100644
index 0000000000..a35d9bac84
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/atom/1.0/content.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_Atom_10_Content extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<content>Item Description</content>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/atom/1.0/dc/1.0/description.php b/simplepie/test/first_item_content/SPtests/atom/1.0/dc/1.0/description.php
new file mode 100644
index 0000000000..37ec188f25
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/atom/1.0/dc/1.0/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_Atom_10_DC_10_Description extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<entry>
+		<dc:description>Item Description</dc:description>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/atom/1.0/dc/1.1/description.php b/simplepie/test/first_item_content/SPtests/atom/1.0/dc/1.1/description.php
new file mode 100644
index 0000000000..dca7893cf1
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/atom/1.0/dc/1.1/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_Atom_10_DC_11_Description extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<entry>
+		<dc:description>Item Description</dc:description>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/atom/1.0/summary.php b/simplepie/test/first_item_content/SPtests/atom/1.0/summary.php
new file mode 100644
index 0000000000..42028baac8
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/atom/1.0/summary.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_Atom_10_Summary extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<summary>Item Description</summary>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.90/atom/0.3/content.php b/simplepie/test/first_item_content/SPtests/rss/0.90/atom/0.3/content.php
new file mode 100644
index 0000000000..ee5a6226c0
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.90/atom/0.3/content.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_090_Atom_03_Content extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://purl.org/atom/ns#">
+	<item>
+		<a:content>Item Description</a:content>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.90/atom/0.3/summary.php b/simplepie/test/first_item_content/SPtests/rss/0.90/atom/0.3/summary.php
new file mode 100644
index 0000000000..f1d8a56eb6
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.90/atom/0.3/summary.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_090_Atom_03_Summary extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://purl.org/atom/ns#">
+	<item>
+		<a:summary>Item Description</a:summary>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.90/atom/1.0/content.php b/simplepie/test/first_item_content/SPtests/rss/0.90/atom/1.0/content.php
new file mode 100644
index 0000000000..4c12dcb54c
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.90/atom/1.0/content.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_090_Atom_10_Content extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:content>Item Description</a:content>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.90/atom/1.0/summary.php b/simplepie/test/first_item_content/SPtests/rss/0.90/atom/1.0/summary.php
new file mode 100644
index 0000000000..cc6de11ea5
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.90/atom/1.0/summary.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_090_Atom_10_Summary extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:summary>Item Description</a:summary>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.90/dc/1.0/description.php b/simplepie/test/first_item_content/SPtests/rss/0.90/dc/1.0/description.php
new file mode 100644
index 0000000000..26c18ca295
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.90/dc/1.0/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_090_DC_10_Description extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<item>
+		<dc:description>Item Description</dc:description>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.90/dc/1.1/description.php b/simplepie/test/first_item_content/SPtests/rss/0.90/dc/1.1/description.php
new file mode 100644
index 0000000000..495efcba0d
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.90/dc/1.1/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_090_DC_11_Description extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<item>
+		<dc:description>Item Description</dc:description>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.90/description.php b/simplepie/test/first_item_content/SPtests/rss/0.90/description.php
new file mode 100644
index 0000000000..cbf6096f5c
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.90/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_090_Description extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/">
+	<item>
+		<description>Item Description</description>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.91-netscape/atom/0.3/content.php b/simplepie/test/first_item_content/SPtests/rss/0.91-netscape/atom/0.3/content.php
new file mode 100644
index 0000000000..9ddd307508
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.91-netscape/atom/0.3/content.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_091_Netscape_Atom_03_Content extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:content>Item Description</a:content>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.91-netscape/atom/0.3/summary.php b/simplepie/test/first_item_content/SPtests/rss/0.91-netscape/atom/0.3/summary.php
new file mode 100644
index 0000000000..1833d359f1
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.91-netscape/atom/0.3/summary.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_091_Netscape_Atom_03_Summary extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:summary>Item Description</a:summary>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.91-netscape/atom/1.0/content.php b/simplepie/test/first_item_content/SPtests/rss/0.91-netscape/atom/1.0/content.php
new file mode 100644
index 0000000000..7a4ac164ee
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.91-netscape/atom/1.0/content.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_091_Netscape_Atom_10_Content extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:content>Item Description</a:content>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.91-netscape/atom/1.0/summary.php b/simplepie/test/first_item_content/SPtests/rss/0.91-netscape/atom/1.0/summary.php
new file mode 100644
index 0000000000..e90f938e86
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.91-netscape/atom/1.0/summary.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_091_Netscape_Atom_10_Summary extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:summary>Item Description</a:summary>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.91-netscape/dc/1.0/description.php b/simplepie/test/first_item_content/SPtests/rss/0.91-netscape/dc/1.0/description.php
new file mode 100644
index 0000000000..9606684c8b
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.91-netscape/dc/1.0/description.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_091_Netscape_DC_10_Description extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:description>Item Description</dc:description>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.91-netscape/dc/1.1/description.php b/simplepie/test/first_item_content/SPtests/rss/0.91-netscape/dc/1.1/description.php
new file mode 100644
index 0000000000..5b9a2aede3
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.91-netscape/dc/1.1/description.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_091_Netscape_DC_11_Description extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:description>Item Description</dc:description>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.91-netscape/description.php b/simplepie/test/first_item_content/SPtests/rss/0.91-netscape/description.php
new file mode 100644
index 0000000000..0b1e8e618a
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.91-netscape/description.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_091_Netscape_Description extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91">
+	<channel>
+		<item>
+			<description>Item Description</description>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.91-userland/atom/0.3/content.php b/simplepie/test/first_item_content/SPtests/rss/0.91-userland/atom/0.3/content.php
new file mode 100644
index 0000000000..4287801e7b
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.91-userland/atom/0.3/content.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_091_Userland_Atom_03_Content extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:content>Item Description</a:content>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.91-userland/atom/0.3/summary.php b/simplepie/test/first_item_content/SPtests/rss/0.91-userland/atom/0.3/summary.php
new file mode 100644
index 0000000000..690a0eced8
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.91-userland/atom/0.3/summary.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_091_Userland_Atom_03_Summary extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:summary>Item Description</a:summary>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.91-userland/atom/1.0/content.php b/simplepie/test/first_item_content/SPtests/rss/0.91-userland/atom/1.0/content.php
new file mode 100644
index 0000000000..cab5aa6e93
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.91-userland/atom/1.0/content.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_091_Userland_Atom_10_Content extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:content>Item Description</a:content>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.91-userland/atom/1.0/summary.php b/simplepie/test/first_item_content/SPtests/rss/0.91-userland/atom/1.0/summary.php
new file mode 100644
index 0000000000..f0f50d0a01
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.91-userland/atom/1.0/summary.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_091_Userland_Atom_10_Summary extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:summary>Item Description</a:summary>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.91-userland/dc/1.0/description.php b/simplepie/test/first_item_content/SPtests/rss/0.91-userland/dc/1.0/description.php
new file mode 100644
index 0000000000..4a63d5e4fa
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.91-userland/dc/1.0/description.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_091_Userland_DC_10_Description extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:description>Item Description</dc:description>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.91-userland/dc/1.1/description.php b/simplepie/test/first_item_content/SPtests/rss/0.91-userland/dc/1.1/description.php
new file mode 100644
index 0000000000..d745953fb2
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.91-userland/dc/1.1/description.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_091_Userland_DC_11_Description extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:description>Item Description</dc:description>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.91-userland/description.php b/simplepie/test/first_item_content/SPtests/rss/0.91-userland/description.php
new file mode 100644
index 0000000000..70353eeb92
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.91-userland/description.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_091_Userland_Description extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91">
+	<channel>
+		<item>
+			<description>Item Description</description>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.92/atom/0.3/content.php b/simplepie/test/first_item_content/SPtests/rss/0.92/atom/0.3/content.php
new file mode 100644
index 0000000000..728dfb2d54
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.92/atom/0.3/content.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_092_Atom_03_Content extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:content>Item Description</a:content>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.92/atom/0.3/summary.php b/simplepie/test/first_item_content/SPtests/rss/0.92/atom/0.3/summary.php
new file mode 100644
index 0000000000..195ef36010
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.92/atom/0.3/summary.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_092_Atom_03_Summary extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:summary>Item Description</a:summary>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.92/atom/1.0/content.php b/simplepie/test/first_item_content/SPtests/rss/0.92/atom/1.0/content.php
new file mode 100644
index 0000000000..f242785236
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.92/atom/1.0/content.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_092_Atom_10_Content extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:content>Item Description</a:content>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.92/atom/1.0/summary.php b/simplepie/test/first_item_content/SPtests/rss/0.92/atom/1.0/summary.php
new file mode 100644
index 0000000000..4f6c314501
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.92/atom/1.0/summary.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_092_Atom_10_Summary extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:summary>Item Description</a:summary>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.92/dc/1.0/description.php b/simplepie/test/first_item_content/SPtests/rss/0.92/dc/1.0/description.php
new file mode 100644
index 0000000000..8e5519261a
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.92/dc/1.0/description.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_092_DC_10_Description extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:description>Item Description</dc:description>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.92/dc/1.1/description.php b/simplepie/test/first_item_content/SPtests/rss/0.92/dc/1.1/description.php
new file mode 100644
index 0000000000..831b7c5a34
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.92/dc/1.1/description.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_092_DC_11_Description extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:description>Item Description</dc:description>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/0.92/description.php b/simplepie/test/first_item_content/SPtests/rss/0.92/description.php
new file mode 100644
index 0000000000..eacb8ccfd3
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/0.92/description.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_092_Description extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92">
+	<channel>
+		<item>
+			<description>Item Description</description>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/1.0/atom/0.3/content.php b/simplepie/test/first_item_content/SPtests/rss/1.0/atom/0.3/content.php
new file mode 100644
index 0000000000..bbb324a6e3
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/1.0/atom/0.3/content.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_10_Atom_03_Content extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://purl.org/atom/ns#">
+	<item>
+		<a:content>Item Description</a:content>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/1.0/atom/0.3/summary.php b/simplepie/test/first_item_content/SPtests/rss/1.0/atom/0.3/summary.php
new file mode 100644
index 0000000000..522508bf9a
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/1.0/atom/0.3/summary.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_10_Atom_03_Summary extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://purl.org/atom/ns#">
+	<item>
+		<a:summary>Item Description</a:summary>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/1.0/atom/1.0/content.php b/simplepie/test/first_item_content/SPtests/rss/1.0/atom/1.0/content.php
new file mode 100644
index 0000000000..6d63fd1573
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/1.0/atom/1.0/content.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_10_Atom_10_Content extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:content>Item Description</a:content>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/1.0/atom/1.0/summary.php b/simplepie/test/first_item_content/SPtests/rss/1.0/atom/1.0/summary.php
new file mode 100644
index 0000000000..7d252362f5
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/1.0/atom/1.0/summary.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_10_Atom_10_Summary extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:summary>Item Description</a:summary>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/1.0/dc/1.0/description.php b/simplepie/test/first_item_content/SPtests/rss/1.0/dc/1.0/description.php
new file mode 100644
index 0000000000..8e7ea6a913
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/1.0/dc/1.0/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_10_DC_10_Description extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<item>
+		<dc:description>Item Description</dc:description>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/1.0/dc/1.1/description.php b/simplepie/test/first_item_content/SPtests/rss/1.0/dc/1.1/description.php
new file mode 100644
index 0000000000..b648349b5b
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/1.0/dc/1.1/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_10_DC_11_Description extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<item>
+		<dc:description>Item Description</dc:description>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/1.0/description.php b/simplepie/test/first_item_content/SPtests/rss/1.0/description.php
new file mode 100644
index 0000000000..c38cb6a4d9
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/1.0/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_10_Description extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/">
+	<item>
+		<description>Item Description</description>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/2.0/atom/0.3/content.php b/simplepie/test/first_item_content/SPtests/rss/2.0/atom/0.3/content.php
new file mode 100644
index 0000000000..9d8d7a436b
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/2.0/atom/0.3/content.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_20_Atom_03_Content extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:content>Item Description</a:content>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/2.0/atom/0.3/summary.php b/simplepie/test/first_item_content/SPtests/rss/2.0/atom/0.3/summary.php
new file mode 100644
index 0000000000..3964ec9b3b
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/2.0/atom/0.3/summary.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_20_Atom_03_Summary extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:summary>Item Description</a:summary>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/2.0/atom/1.0/content.php b/simplepie/test/first_item_content/SPtests/rss/2.0/atom/1.0/content.php
new file mode 100644
index 0000000000..fac5d7d8f2
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/2.0/atom/1.0/content.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_20_Atom_10_Content extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:content>Item Description</a:content>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/2.0/atom/1.0/summary.php b/simplepie/test/first_item_content/SPtests/rss/2.0/atom/1.0/summary.php
new file mode 100644
index 0000000000..13e8b73184
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/2.0/atom/1.0/summary.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_20_Atom_10_Summary extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:summary>Item Description</a:summary>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/2.0/dc/1.0/description.php b/simplepie/test/first_item_content/SPtests/rss/2.0/dc/1.0/description.php
new file mode 100644
index 0000000000..a4844832e5
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/2.0/dc/1.0/description.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_20_DC_10_Description extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:description>Item Description</dc:description>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/2.0/dc/1.1/description.php b/simplepie/test/first_item_content/SPtests/rss/2.0/dc/1.1/description.php
new file mode 100644
index 0000000000..27eae4f7a3
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/2.0/dc/1.1/description.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_20_DC_11_Description extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:description>Item Description</dc:description>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_content/SPtests/rss/2.0/description.php b/simplepie/test/first_item_content/SPtests/rss/2.0/description.php
new file mode 100644
index 0000000000..bdbb248b02
--- /dev/null
+++ b/simplepie/test/first_item_content/SPtests/rss/2.0/description.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Content_Test_RSS_20_Description extends SimplePie_First_Item_Content_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<item>
+			<description>Item Description</description>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_contributor_name/SPtests/atom/0.3/name.php b/simplepie/test/first_item_contributor_name/SPtests/atom/0.3/name.php
new file mode 100644
index 0000000000..5dc4380e12
--- /dev/null
+++ b/simplepie/test/first_item_contributor_name/SPtests/atom/0.3/name.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Contributor_Name_Test_Atom_03_Name extends SimplePie_First_Item_Contributor_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<entry>
+		<contributor>
+			<name>Item Contributor</name>
+		</contributor>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Contributor';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_contributor_name/SPtests/atom/1.0/name.php b/simplepie/test/first_item_contributor_name/SPtests/atom/1.0/name.php
new file mode 100644
index 0000000000..25185c5145
--- /dev/null
+++ b/simplepie/test/first_item_contributor_name/SPtests/atom/1.0/name.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Contributor_Name_Test_Atom_10_Name extends SimplePie_First_Item_Contributor_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<contributor>
+			<name>Item Contributor</name>
+		</contributor>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Contributor';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_contributor_name/SPtests/rss/0.90/atom/0.3/name.php b/simplepie/test/first_item_contributor_name/SPtests/rss/0.90/atom/0.3/name.php
new file mode 100644
index 0000000000..281edd0654
--- /dev/null
+++ b/simplepie/test/first_item_contributor_name/SPtests/rss/0.90/atom/0.3/name.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Contributor_Name_Test_RSS_090_Atom_03_Name extends SimplePie_First_Item_Contributor_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://purl.org/atom/ns#">
+	<item>
+		<a:contributor>
+			<a:name>Item Contributor</a:name>
+		</a:contributor>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Contributor';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_contributor_name/SPtests/rss/0.90/atom/1.0/name.php b/simplepie/test/first_item_contributor_name/SPtests/rss/0.90/atom/1.0/name.php
new file mode 100644
index 0000000000..a03949c2cf
--- /dev/null
+++ b/simplepie/test/first_item_contributor_name/SPtests/rss/0.90/atom/1.0/name.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Contributor_Name_Test_RSS_090_Atom_10_Name extends SimplePie_First_Item_Contributor_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:contributor>
+			<a:name>Item Contributor</a:name>
+		</a:contributor>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Contributor';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_contributor_name/SPtests/rss/0.91-netscape/atom/0.3/name.php b/simplepie/test/first_item_contributor_name/SPtests/rss/0.91-netscape/atom/0.3/name.php
new file mode 100644
index 0000000000..58f3cc079a
--- /dev/null
+++ b/simplepie/test/first_item_contributor_name/SPtests/rss/0.91-netscape/atom/0.3/name.php
@@ -0,0 +1,26 @@
+<?php
+
+class SimplePie_First_Item_Contributor_Name_Test_RSS_091_Netscape_Atom_03_Name extends SimplePie_First_Item_Contributor_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:contributor>
+				<a:name>Item Contributor</a:name>
+			</a:contributor>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Contributor';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_contributor_name/SPtests/rss/0.91-netscape/atom/1.0/name.php b/simplepie/test/first_item_contributor_name/SPtests/rss/0.91-netscape/atom/1.0/name.php
new file mode 100644
index 0000000000..3cfc61c57f
--- /dev/null
+++ b/simplepie/test/first_item_contributor_name/SPtests/rss/0.91-netscape/atom/1.0/name.php
@@ -0,0 +1,26 @@
+<?php
+
+class SimplePie_First_Item_Contributor_Name_Test_RSS_091_Netscape_Atom_10_Name extends SimplePie_First_Item_Contributor_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:contributor>
+				<a:name>Item Contributor</a:name>
+			</a:contributor>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Contributor';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_contributor_name/SPtests/rss/0.91-userland/atom/0.3/name.php b/simplepie/test/first_item_contributor_name/SPtests/rss/0.91-userland/atom/0.3/name.php
new file mode 100644
index 0000000000..18d9764ab5
--- /dev/null
+++ b/simplepie/test/first_item_contributor_name/SPtests/rss/0.91-userland/atom/0.3/name.php
@@ -0,0 +1,25 @@
+<?php
+
+class SimplePie_First_Item_Contributor_Name_Test_RSS_091_Userland_Atom_03_Name extends SimplePie_First_Item_Contributor_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:contributor>
+				<a:name>Item Contributor</a:name>
+			</a:contributor>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Contributor';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_contributor_name/SPtests/rss/0.91-userland/atom/1.0/name.php b/simplepie/test/first_item_contributor_name/SPtests/rss/0.91-userland/atom/1.0/name.php
new file mode 100644
index 0000000000..4978f7c6ed
--- /dev/null
+++ b/simplepie/test/first_item_contributor_name/SPtests/rss/0.91-userland/atom/1.0/name.php
@@ -0,0 +1,25 @@
+<?php
+
+class SimplePie_First_Item_Contributor_Name_Test_RSS_091_Userland_Atom_10_Name extends SimplePie_First_Item_Contributor_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:contributor>
+				<a:name>Item Contributor</a:name>
+			</a:contributor>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Contributor';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_contributor_name/SPtests/rss/0.92/atom/0.3/name.php b/simplepie/test/first_item_contributor_name/SPtests/rss/0.92/atom/0.3/name.php
new file mode 100644
index 0000000000..f1d4c6002b
--- /dev/null
+++ b/simplepie/test/first_item_contributor_name/SPtests/rss/0.92/atom/0.3/name.php
@@ -0,0 +1,25 @@
+<?php
+
+class SimplePie_First_Item_Contributor_Name_Test_RSS_092_Atom_03_Name extends SimplePie_First_Item_Contributor_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:contributor>
+				<a:name>Item Contributor</a:name>
+			</a:contributor>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Contributor';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_contributor_name/SPtests/rss/0.92/atom/1.0/name.php b/simplepie/test/first_item_contributor_name/SPtests/rss/0.92/atom/1.0/name.php
new file mode 100644
index 0000000000..0f3f7ed540
--- /dev/null
+++ b/simplepie/test/first_item_contributor_name/SPtests/rss/0.92/atom/1.0/name.php
@@ -0,0 +1,25 @@
+<?php
+
+class SimplePie_First_Item_Contributor_Name_Test_RSS_092_Atom_10_Name extends SimplePie_First_Item_Contributor_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:contributor>
+				<a:name>Item Contributor</a:name>
+			</a:contributor>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Contributor';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_contributor_name/SPtests/rss/1.0/atom/0.3/name.php b/simplepie/test/first_item_contributor_name/SPtests/rss/1.0/atom/0.3/name.php
new file mode 100644
index 0000000000..25386d641c
--- /dev/null
+++ b/simplepie/test/first_item_contributor_name/SPtests/rss/1.0/atom/0.3/name.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Contributor_Name_Test_RSS_10_Atom_03_Name extends SimplePie_First_Item_Contributor_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://purl.org/atom/ns#">
+	<item>
+		<a:contributor>
+			<a:name>Item Contributor</a:name>
+		</a:contributor>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Contributor';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_contributor_name/SPtests/rss/1.0/atom/1.0/name.php b/simplepie/test/first_item_contributor_name/SPtests/rss/1.0/atom/1.0/name.php
new file mode 100644
index 0000000000..f925e1d0eb
--- /dev/null
+++ b/simplepie/test/first_item_contributor_name/SPtests/rss/1.0/atom/1.0/name.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Contributor_Name_Test_RSS_10_Atom_10_Name extends SimplePie_First_Item_Contributor_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:contributor>
+			<a:name>Item Contributor</a:name>
+		</a:contributor>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Contributor';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_contributor_name/SPtests/rss/2.0/atom/0.3/name.php b/simplepie/test/first_item_contributor_name/SPtests/rss/2.0/atom/0.3/name.php
new file mode 100644
index 0000000000..228307f11e
--- /dev/null
+++ b/simplepie/test/first_item_contributor_name/SPtests/rss/2.0/atom/0.3/name.php
@@ -0,0 +1,25 @@
+<?php
+
+class SimplePie_First_Item_Contributor_Name_Test_RSS_20_Atom_03_Name extends SimplePie_First_Item_Contributor_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:contributor>
+				<a:name>Item Contributor</a:name>
+			</a:contributor>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Contributor';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_contributor_name/SPtests/rss/2.0/atom/1.0/name.php b/simplepie/test/first_item_contributor_name/SPtests/rss/2.0/atom/1.0/name.php
new file mode 100644
index 0000000000..16a49e81f3
--- /dev/null
+++ b/simplepie/test/first_item_contributor_name/SPtests/rss/2.0/atom/1.0/name.php
@@ -0,0 +1,25 @@
+<?php
+
+class SimplePie_First_Item_Contributor_Name_Test_RSS_20_Atom_10_Name extends SimplePie_First_Item_Contributor_Name_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:contributor>
+				<a:name>Item Contributor</a:name>
+			</a:contributor>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Contributor';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/atom/0.3/created.php b/simplepie/test/first_item_date/SPtests/atom/0.3/created.php
new file mode 100644
index 0000000000..11536de7b1
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/atom/0.3/created.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_Atom_03_Created extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<entry>
+		<created>2007-01-11T16:00:00Z</created>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/atom/0.3/dc/1.0/date.php b/simplepie/test/first_item_date/SPtests/atom/0.3/dc/1.0/date.php
new file mode 100644
index 0000000000..c0ef7e379e
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/atom/0.3/dc/1.0/date.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_Atom_03_DC_10_Date extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<entry>
+		<dc:date>2007-01-11T16:00:00Z</dc:date>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/atom/0.3/dc/1.1/date.php b/simplepie/test/first_item_date/SPtests/atom/0.3/dc/1.1/date.php
new file mode 100644
index 0000000000..fe865c0b76
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/atom/0.3/dc/1.1/date.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_Atom_03_DC_11_Date extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<entry>
+		<dc:date>2007-01-11T16:00:00Z</dc:date>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/atom/0.3/issued.php b/simplepie/test/first_item_date/SPtests/atom/0.3/issued.php
new file mode 100644
index 0000000000..003c60f6d4
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/atom/0.3/issued.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_Atom_03_Issued extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<entry>
+		<issued>2007-01-11T16:00:00Z</issued>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/atom/0.3/modified.php b/simplepie/test/first_item_date/SPtests/atom/0.3/modified.php
new file mode 100644
index 0000000000..3d52614e77
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/atom/0.3/modified.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_Atom_03_Modified extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<entry>
+		<modified>2007-01-11T16:00:00Z</modified>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/atom/1.0/dc/1.0/date.php b/simplepie/test/first_item_date/SPtests/atom/1.0/dc/1.0/date.php
new file mode 100644
index 0000000000..ae950d3420
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/atom/1.0/dc/1.0/date.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_Atom_10_DC_10_Date extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<entry>
+		<dc:date>2007-01-11T16:00:00Z</dc:date>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/atom/1.0/dc/1.1/date.php b/simplepie/test/first_item_date/SPtests/atom/1.0/dc/1.1/date.php
new file mode 100644
index 0000000000..12b2aff763
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/atom/1.0/dc/1.1/date.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_Atom_10_DC_11_Date extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<entry>
+		<dc:date>2007-01-11T16:00:00Z</dc:date>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/atom/1.0/published.php b/simplepie/test/first_item_date/SPtests/atom/1.0/published.php
new file mode 100644
index 0000000000..2aa2311ee0
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/atom/1.0/published.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_Atom_10_Published extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<published>2007-01-11T16:00:00Z</published>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/atom/1.0/updated.php b/simplepie/test/first_item_date/SPtests/atom/1.0/updated.php
new file mode 100644
index 0000000000..e94af475a3
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/atom/1.0/updated.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_Atom_10_Updated extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<updated>2007-01-11T16:00:00Z</updated>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/bugs/876.0.php b/simplepie/test/first_item_date/SPtests/bugs/876.0.php
new file mode 100644
index 0000000000..8e01cdd004
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/bugs/876.0.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_Bug_876_Test_0 extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<item>
+			<pubDate></pubDate>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = null;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.90/atom/0.3/created.php b/simplepie/test/first_item_date/SPtests/rss/0.90/atom/0.3/created.php
new file mode 100644
index 0000000000..46ecaa346a
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.90/atom/0.3/created.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_090_Atom_03_Created extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://purl.org/atom/ns#">
+	<item>
+		<a:created>2007-01-11T16:00:00Z</a:created>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.90/atom/0.3/issued.php b/simplepie/test/first_item_date/SPtests/rss/0.90/atom/0.3/issued.php
new file mode 100644
index 0000000000..42c5f968c0
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.90/atom/0.3/issued.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_090_Atom_03_Issued extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://purl.org/atom/ns#">
+	<item>
+		<a:issued>2007-01-11T16:00:00Z</a:issued>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.90/atom/0.3/modified.php b/simplepie/test/first_item_date/SPtests/rss/0.90/atom/0.3/modified.php
new file mode 100644
index 0000000000..835cde9a42
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.90/atom/0.3/modified.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_090_Atom_03_Modified extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://purl.org/atom/ns#">
+	<item>
+		<a:modified>2007-01-11T16:00:00Z</a:modified>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.90/atom/1.0/published.php b/simplepie/test/first_item_date/SPtests/rss/0.90/atom/1.0/published.php
new file mode 100644
index 0000000000..695911ac04
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.90/atom/1.0/published.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_090_Atom_10_Published extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:published>2007-01-11T16:00:00Z</a:published>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.90/atom/1.0/updated.php b/simplepie/test/first_item_date/SPtests/rss/0.90/atom/1.0/updated.php
new file mode 100644
index 0000000000..dfc04231a4
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.90/atom/1.0/updated.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_090_Atom_10_Updated extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:updated>2007-01-11T16:00:00Z</a:updated>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.90/dc/1.0/date.php b/simplepie/test/first_item_date/SPtests/rss/0.90/dc/1.0/date.php
new file mode 100644
index 0000000000..ef4dd3605c
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.90/dc/1.0/date.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_090_DC_10_Date extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<item>
+		<dc:date>2007-01-11T16:00:00Z</dc:date>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.90/dc/1.1/date.php b/simplepie/test/first_item_date/SPtests/rss/0.90/dc/1.1/date.php
new file mode 100644
index 0000000000..f87766f55a
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.90/dc/1.1/date.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_090_DC_11_Date extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<item>
+		<dc:date>2007-01-11T16:00:00Z</dc:date>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.91-netscape/atom/0.3/created.php b/simplepie/test/first_item_date/SPtests/rss/0.91-netscape/atom/0.3/created.php
new file mode 100644
index 0000000000..641b8eb71c
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.91-netscape/atom/0.3/created.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_091_Netscape_Atom_03_Created extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:created>2007-01-11T16:00:00Z</a:created>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.91-netscape/atom/0.3/issued.php b/simplepie/test/first_item_date/SPtests/rss/0.91-netscape/atom/0.3/issued.php
new file mode 100644
index 0000000000..9d5068c44c
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.91-netscape/atom/0.3/issued.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_091_Netscape_Atom_03_Issued extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:issued>2007-01-11T16:00:00Z</a:issued>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.91-netscape/atom/0.3/modified.php b/simplepie/test/first_item_date/SPtests/rss/0.91-netscape/atom/0.3/modified.php
new file mode 100644
index 0000000000..7e11d8bc12
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.91-netscape/atom/0.3/modified.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_091_Netscape_Atom_03_Modified extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:modified>2007-01-11T16:00:00Z</a:modified>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.91-netscape/atom/1.0/published.php b/simplepie/test/first_item_date/SPtests/rss/0.91-netscape/atom/1.0/published.php
new file mode 100644
index 0000000000..4de5d2aa74
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.91-netscape/atom/1.0/published.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_091_Netscape_Atom_10_Published extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:published>2007-01-11T16:00:00Z</a:published>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.91-netscape/atom/1.0/updated.php b/simplepie/test/first_item_date/SPtests/rss/0.91-netscape/atom/1.0/updated.php
new file mode 100644
index 0000000000..21f48c0d22
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.91-netscape/atom/1.0/updated.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_091_Netscape_Atom_10_Updated extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:updated>2007-01-11T16:00:00Z</a:updated>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.91-netscape/dc/1.0/date.php b/simplepie/test/first_item_date/SPtests/rss/0.91-netscape/dc/1.0/date.php
new file mode 100644
index 0000000000..ab2eab16ce
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.91-netscape/dc/1.0/date.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_091_Netscape_DC_10_Date extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:date>2007-01-11T16:00:00Z</dc:date>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.91-netscape/dc/1.1/date.php b/simplepie/test/first_item_date/SPtests/rss/0.91-netscape/dc/1.1/date.php
new file mode 100644
index 0000000000..777febe1bd
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.91-netscape/dc/1.1/date.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_091_Netscape_DC_11_Date extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:date>2007-01-11T16:00:00Z</dc:date>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.91-userland/atom/0.3/created.php b/simplepie/test/first_item_date/SPtests/rss/0.91-userland/atom/0.3/created.php
new file mode 100644
index 0000000000..d851d34ecb
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.91-userland/atom/0.3/created.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_091_Userland_Atom_03_Created extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:created>2007-01-11T16:00:00Z</a:created>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.91-userland/atom/0.3/issued.php b/simplepie/test/first_item_date/SPtests/rss/0.91-userland/atom/0.3/issued.php
new file mode 100644
index 0000000000..ed543b49b2
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.91-userland/atom/0.3/issued.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_091_Userland_Atom_03_Issued extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:issued>2007-01-11T16:00:00Z</a:issued>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.91-userland/atom/0.3/modified.php b/simplepie/test/first_item_date/SPtests/rss/0.91-userland/atom/0.3/modified.php
new file mode 100644
index 0000000000..b852522953
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.91-userland/atom/0.3/modified.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_091_Userland_Atom_03_Modified extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:modified>2007-01-11T16:00:00Z</a:modified>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.91-userland/atom/1.0/published.php b/simplepie/test/first_item_date/SPtests/rss/0.91-userland/atom/1.0/published.php
new file mode 100644
index 0000000000..452dc2f900
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.91-userland/atom/1.0/published.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_091_Userland_Atom_10_Published extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:published>2007-01-11T16:00:00Z</a:published>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.91-userland/atom/1.0/updated.php b/simplepie/test/first_item_date/SPtests/rss/0.91-userland/atom/1.0/updated.php
new file mode 100644
index 0000000000..14acc746fe
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.91-userland/atom/1.0/updated.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_091_Userland_Atom_10_Updated extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:updated>2007-01-11T16:00:00Z</a:updated>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.91-userland/dc/1.0/date.php b/simplepie/test/first_item_date/SPtests/rss/0.91-userland/dc/1.0/date.php
new file mode 100644
index 0000000000..540704e5ae
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.91-userland/dc/1.0/date.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_091_Userland_DC_10_Date extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:date>2007-01-11T16:00:00Z</dc:date>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.91-userland/dc/1.1/date.php b/simplepie/test/first_item_date/SPtests/rss/0.91-userland/dc/1.1/date.php
new file mode 100644
index 0000000000..7d38369d6b
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.91-userland/dc/1.1/date.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_091_Userland_DC_11_Date extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:date>2007-01-11T16:00:00Z</dc:date>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.92/atom/0.3/created.php b/simplepie/test/first_item_date/SPtests/rss/0.92/atom/0.3/created.php
new file mode 100644
index 0000000000..1b2a871853
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.92/atom/0.3/created.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_092_Atom_03_Created extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:created>2007-01-11T16:00:00Z</a:created>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.92/atom/0.3/issued.php b/simplepie/test/first_item_date/SPtests/rss/0.92/atom/0.3/issued.php
new file mode 100644
index 0000000000..bf891fc8d7
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.92/atom/0.3/issued.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_092_Atom_03_Issued extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:issued>2007-01-11T16:00:00Z</a:issued>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.92/atom/0.3/modified.php b/simplepie/test/first_item_date/SPtests/rss/0.92/atom/0.3/modified.php
new file mode 100644
index 0000000000..652cdb883f
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.92/atom/0.3/modified.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_092_Atom_03_Modified extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:modified>2007-01-11T16:00:00Z</a:modified>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.92/atom/1.0/published.php b/simplepie/test/first_item_date/SPtests/rss/0.92/atom/1.0/published.php
new file mode 100644
index 0000000000..5440557794
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.92/atom/1.0/published.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_092_Atom_10_Published extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:published>2007-01-11T16:00:00Z</a:published>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.92/atom/1.0/updated.php b/simplepie/test/first_item_date/SPtests/rss/0.92/atom/1.0/updated.php
new file mode 100644
index 0000000000..2c39fdf5b3
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.92/atom/1.0/updated.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_092_Atom_10_Updated extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:updated>2007-01-11T16:00:00Z</a:updated>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.92/dc/1.0/date.php b/simplepie/test/first_item_date/SPtests/rss/0.92/dc/1.0/date.php
new file mode 100644
index 0000000000..3b76563e2b
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.92/dc/1.0/date.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_092_DC_10_Date extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:date>2007-01-11T16:00:00Z</dc:date>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/0.92/dc/1.1/date.php b/simplepie/test/first_item_date/SPtests/rss/0.92/dc/1.1/date.php
new file mode 100644
index 0000000000..466df46880
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/0.92/dc/1.1/date.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_092_DC_11_Date extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:date>2007-01-11T16:00:00Z</dc:date>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/1.0/atom/0.3/created.php b/simplepie/test/first_item_date/SPtests/rss/1.0/atom/0.3/created.php
new file mode 100644
index 0000000000..b3f7db7e23
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/1.0/atom/0.3/created.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_10_Atom_03_Created extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://purl.org/atom/ns#">
+	<item>
+		<a:created>2007-01-11T16:00:00Z</a:created>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/1.0/atom/0.3/issued.php b/simplepie/test/first_item_date/SPtests/rss/1.0/atom/0.3/issued.php
new file mode 100644
index 0000000000..7d59d4d991
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/1.0/atom/0.3/issued.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_10_Atom_03_Issued extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://purl.org/atom/ns#">
+	<item>
+		<a:issued>2007-01-11T16:00:00Z</a:issued>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/1.0/atom/0.3/modified.php b/simplepie/test/first_item_date/SPtests/rss/1.0/atom/0.3/modified.php
new file mode 100644
index 0000000000..fa6b3a9325
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/1.0/atom/0.3/modified.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_10_Atom_03_Modified extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://purl.org/atom/ns#">
+	<item>
+		<a:modified>2007-01-11T16:00:00Z</a:modified>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/1.0/atom/1.0/published.php b/simplepie/test/first_item_date/SPtests/rss/1.0/atom/1.0/published.php
new file mode 100644
index 0000000000..cc5bea3dc2
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/1.0/atom/1.0/published.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_10_Atom_10_Published extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:published>2007-01-11T16:00:00Z</a:published>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/1.0/atom/1.0/updated.php b/simplepie/test/first_item_date/SPtests/rss/1.0/atom/1.0/updated.php
new file mode 100644
index 0000000000..e578c58fd8
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/1.0/atom/1.0/updated.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_10_Atom_10_Updated extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:updated>2007-01-11T16:00:00Z</a:updated>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/1.0/dc/1.0/date.php b/simplepie/test/first_item_date/SPtests/rss/1.0/dc/1.0/date.php
new file mode 100644
index 0000000000..5d3e6170bc
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/1.0/dc/1.0/date.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_10_DC_10_Date extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<item>
+		<dc:date>2007-01-11T16:00:00Z</dc:date>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/1.0/dc/1.1/date.php b/simplepie/test/first_item_date/SPtests/rss/1.0/dc/1.1/date.php
new file mode 100644
index 0000000000..d897a418c6
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/1.0/dc/1.1/date.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_10_DC_11_Date extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<item>
+		<dc:date>2007-01-11T16:00:00Z</dc:date>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/2.0/atom/0.3/created.php b/simplepie/test/first_item_date/SPtests/rss/2.0/atom/0.3/created.php
new file mode 100644
index 0000000000..27206e6c2f
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/2.0/atom/0.3/created.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_20_Atom_03_Created extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:created>2007-01-11T16:00:00Z</a:created>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/2.0/atom/0.3/issued.php b/simplepie/test/first_item_date/SPtests/rss/2.0/atom/0.3/issued.php
new file mode 100644
index 0000000000..feb659ea74
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/2.0/atom/0.3/issued.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_20_Atom_03_Issued extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:issued>2007-01-11T16:00:00Z</a:issued>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/2.0/atom/0.3/modified.php b/simplepie/test/first_item_date/SPtests/rss/2.0/atom/0.3/modified.php
new file mode 100644
index 0000000000..8636075f05
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/2.0/atom/0.3/modified.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_20_Atom_03_Modified extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:modified>2007-01-11T16:00:00Z</a:modified>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/2.0/atom/1.0/published.php b/simplepie/test/first_item_date/SPtests/rss/2.0/atom/1.0/published.php
new file mode 100644
index 0000000000..6af2c9f101
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/2.0/atom/1.0/published.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_20_Atom_10_Published extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:published>2007-01-11T16:00:00Z</a:published>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/2.0/atom/1.0/updated.php b/simplepie/test/first_item_date/SPtests/rss/2.0/atom/1.0/updated.php
new file mode 100644
index 0000000000..67fc954d08
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/2.0/atom/1.0/updated.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_20_Atom_10_Updated extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:updated>2007-01-11T16:00:00Z</a:updated>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/2.0/dc/1.0/date.php b/simplepie/test/first_item_date/SPtests/rss/2.0/dc/1.0/date.php
new file mode 100644
index 0000000000..2b7741f99e
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/2.0/dc/1.0/date.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_20_DC_10_Date extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:date>2007-01-11T16:00:00Z</dc:date>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/2.0/dc/1.1/date.php b/simplepie/test/first_item_date/SPtests/rss/2.0/dc/1.1/date.php
new file mode 100644
index 0000000000..658e140f34
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/2.0/dc/1.1/date.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_20_DC_11_Date extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:date>2007-01-11T16:00:00Z</dc:date>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_date/SPtests/rss/2.0/pubdate.php b/simplepie/test/first_item_date/SPtests/rss/2.0/pubdate.php
new file mode 100644
index 0000000000..797b1a951b
--- /dev/null
+++ b/simplepie/test/first_item_date/SPtests/rss/2.0/pubdate.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Date_Test_RSS_20_pubDate extends SimplePie_First_Item_Date_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<item>
+			<pubDate>2007-01-11T16:00:00Z</pubDate>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 1168531200;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/atom/0.3/content.php b/simplepie/test/first_item_description/SPtests/atom/0.3/content.php
new file mode 100644
index 0000000000..9ac11e32a8
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/atom/0.3/content.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_Atom_03_Content extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<entry>
+		<content>Item Description</content>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/atom/0.3/dc/1.0/description.php b/simplepie/test/first_item_description/SPtests/atom/0.3/dc/1.0/description.php
new file mode 100644
index 0000000000..e02d402c85
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/atom/0.3/dc/1.0/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_Atom_03_DC_10_Description extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<entry>
+		<dc:description>Item Description</dc:description>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/atom/0.3/dc/1.1/description.php b/simplepie/test/first_item_description/SPtests/atom/0.3/dc/1.1/description.php
new file mode 100644
index 0000000000..cdc8b2154d
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/atom/0.3/dc/1.1/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_Atom_03_DC_11_Description extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<entry>
+		<dc:description>Item Description</dc:description>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/atom/0.3/summary.php b/simplepie/test/first_item_description/SPtests/atom/0.3/summary.php
new file mode 100644
index 0000000000..6db7f6b50d
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/atom/0.3/summary.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_Atom_03_Summary extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<entry>
+		<summary>Item Description</summary>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/atom/1.0/content.php b/simplepie/test/first_item_description/SPtests/atom/1.0/content.php
new file mode 100644
index 0000000000..4a31402091
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/atom/1.0/content.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_Atom_10_Content extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<content>Item Description</content>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/atom/1.0/dc/1.0/description.php b/simplepie/test/first_item_description/SPtests/atom/1.0/dc/1.0/description.php
new file mode 100644
index 0000000000..3bed47f970
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/atom/1.0/dc/1.0/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_Atom_10_DC_10_Description extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<entry>
+		<dc:description>Item Description</dc:description>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/atom/1.0/dc/1.1/description.php b/simplepie/test/first_item_description/SPtests/atom/1.0/dc/1.1/description.php
new file mode 100644
index 0000000000..8c2ce46b03
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/atom/1.0/dc/1.1/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_Atom_10_DC_11_Description extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<entry>
+		<dc:description>Item Description</dc:description>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/atom/1.0/summary.php b/simplepie/test/first_item_description/SPtests/atom/1.0/summary.php
new file mode 100644
index 0000000000..1c08a0687c
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/atom/1.0/summary.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_Atom_10_Summary extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<summary>Item Description</summary>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.90/atom/0.3/content.php b/simplepie/test/first_item_description/SPtests/rss/0.90/atom/0.3/content.php
new file mode 100644
index 0000000000..e4a5a43f5e
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.90/atom/0.3/content.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_090_Atom_03_Content extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://purl.org/atom/ns#">
+	<item>
+		<a:content>Item Description</a:content>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.90/atom/0.3/summary.php b/simplepie/test/first_item_description/SPtests/rss/0.90/atom/0.3/summary.php
new file mode 100644
index 0000000000..b24991f129
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.90/atom/0.3/summary.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_090_Atom_03_Summary extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://purl.org/atom/ns#">
+	<item>
+		<a:summary>Item Description</a:summary>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.90/atom/1.0/content.php b/simplepie/test/first_item_description/SPtests/rss/0.90/atom/1.0/content.php
new file mode 100644
index 0000000000..2ed7024318
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.90/atom/1.0/content.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_090_Atom_10_Content extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:content>Item Description</a:content>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.90/atom/1.0/summary.php b/simplepie/test/first_item_description/SPtests/rss/0.90/atom/1.0/summary.php
new file mode 100644
index 0000000000..68a7dcc59d
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.90/atom/1.0/summary.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_090_Atom_10_Summary extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:summary>Item Description</a:summary>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.90/dc/1.0/description.php b/simplepie/test/first_item_description/SPtests/rss/0.90/dc/1.0/description.php
new file mode 100644
index 0000000000..dfdcd57222
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.90/dc/1.0/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_090_DC_10_Description extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<item>
+		<dc:description>Item Description</dc:description>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.90/dc/1.1/description.php b/simplepie/test/first_item_description/SPtests/rss/0.90/dc/1.1/description.php
new file mode 100644
index 0000000000..53e050510c
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.90/dc/1.1/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_090_DC_11_Description extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<item>
+		<dc:description>Item Description</dc:description>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.90/description.php b/simplepie/test/first_item_description/SPtests/rss/0.90/description.php
new file mode 100644
index 0000000000..2acaa7f0fb
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.90/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_090_Description extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/">
+	<item>
+		<description>Item Description</description>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.91-netscape/atom/0.3/content.php b/simplepie/test/first_item_description/SPtests/rss/0.91-netscape/atom/0.3/content.php
new file mode 100644
index 0000000000..f7fd152622
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.91-netscape/atom/0.3/content.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_091_Netscape_Atom_03_Content extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:content>Item Description</a:content>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.91-netscape/atom/0.3/summary.php b/simplepie/test/first_item_description/SPtests/rss/0.91-netscape/atom/0.3/summary.php
new file mode 100644
index 0000000000..d839aa9e15
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.91-netscape/atom/0.3/summary.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_091_Netscape_Atom_03_Summary extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:summary>Item Description</a:summary>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.91-netscape/atom/1.0/content.php b/simplepie/test/first_item_description/SPtests/rss/0.91-netscape/atom/1.0/content.php
new file mode 100644
index 0000000000..f182dfc669
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.91-netscape/atom/1.0/content.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_091_Netscape_Atom_10_Content extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:content>Item Description</a:content>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.91-netscape/atom/1.0/summary.php b/simplepie/test/first_item_description/SPtests/rss/0.91-netscape/atom/1.0/summary.php
new file mode 100644
index 0000000000..5e5f2a8a58
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.91-netscape/atom/1.0/summary.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_091_Netscape_Atom_10_Summary extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:summary>Item Description</a:summary>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.91-netscape/dc/1.0/description.php b/simplepie/test/first_item_description/SPtests/rss/0.91-netscape/dc/1.0/description.php
new file mode 100644
index 0000000000..216cb39c0c
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.91-netscape/dc/1.0/description.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_091_Netscape_DC_10_Description extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:description>Item Description</dc:description>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.91-netscape/dc/1.1/description.php b/simplepie/test/first_item_description/SPtests/rss/0.91-netscape/dc/1.1/description.php
new file mode 100644
index 0000000000..e706be1ffe
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.91-netscape/dc/1.1/description.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_091_Netscape_DC_11_Description extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:description>Item Description</dc:description>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.91-netscape/description.php b/simplepie/test/first_item_description/SPtests/rss/0.91-netscape/description.php
new file mode 100644
index 0000000000..8886ac35b8
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.91-netscape/description.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_091_Netscape_Description extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91">
+	<channel>
+		<item>
+			<description>Item Description</description>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.91-userland/atom/0.3/content.php b/simplepie/test/first_item_description/SPtests/rss/0.91-userland/atom/0.3/content.php
new file mode 100644
index 0000000000..0a03018875
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.91-userland/atom/0.3/content.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_091_Userland_Atom_03_Content extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:content>Item Description</a:content>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.91-userland/atom/0.3/summary.php b/simplepie/test/first_item_description/SPtests/rss/0.91-userland/atom/0.3/summary.php
new file mode 100644
index 0000000000..a0a9e6f341
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.91-userland/atom/0.3/summary.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_091_Userland_Atom_03_Summary extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:summary>Item Description</a:summary>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.91-userland/atom/1.0/content.php b/simplepie/test/first_item_description/SPtests/rss/0.91-userland/atom/1.0/content.php
new file mode 100644
index 0000000000..c3eae044a9
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.91-userland/atom/1.0/content.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_091_Userland_Atom_10_Content extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:content>Item Description</a:content>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.91-userland/atom/1.0/summary.php b/simplepie/test/first_item_description/SPtests/rss/0.91-userland/atom/1.0/summary.php
new file mode 100644
index 0000000000..27b66ce70d
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.91-userland/atom/1.0/summary.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_091_Userland_Atom_10_Summary extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:summary>Item Description</a:summary>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.91-userland/dc/1.0/description.php b/simplepie/test/first_item_description/SPtests/rss/0.91-userland/dc/1.0/description.php
new file mode 100644
index 0000000000..d25e0cd612
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.91-userland/dc/1.0/description.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_091_Userland_DC_10_Description extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:description>Item Description</dc:description>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.91-userland/dc/1.1/description.php b/simplepie/test/first_item_description/SPtests/rss/0.91-userland/dc/1.1/description.php
new file mode 100644
index 0000000000..8fb97cf719
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.91-userland/dc/1.1/description.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_091_Userland_DC_11_Description extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:description>Item Description</dc:description>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.91-userland/description.php b/simplepie/test/first_item_description/SPtests/rss/0.91-userland/description.php
new file mode 100644
index 0000000000..f01c5ff5c8
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.91-userland/description.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_091_Userland_Description extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91">
+	<channel>
+		<item>
+			<description>Item Description</description>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.92/atom/0.3/content.php b/simplepie/test/first_item_description/SPtests/rss/0.92/atom/0.3/content.php
new file mode 100644
index 0000000000..c906a96a79
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.92/atom/0.3/content.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_092_Atom_03_Content extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:content>Item Description</a:content>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.92/atom/0.3/summary.php b/simplepie/test/first_item_description/SPtests/rss/0.92/atom/0.3/summary.php
new file mode 100644
index 0000000000..da2a88f703
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.92/atom/0.3/summary.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_092_Atom_03_Summary extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:summary>Item Description</a:summary>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.92/atom/1.0/content.php b/simplepie/test/first_item_description/SPtests/rss/0.92/atom/1.0/content.php
new file mode 100644
index 0000000000..d245f0037a
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.92/atom/1.0/content.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_092_Atom_10_Content extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:content>Item Description</a:content>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.92/atom/1.0/summary.php b/simplepie/test/first_item_description/SPtests/rss/0.92/atom/1.0/summary.php
new file mode 100644
index 0000000000..9ea440e879
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.92/atom/1.0/summary.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_092_Atom_10_Summary extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:summary>Item Description</a:summary>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.92/dc/1.0/description.php b/simplepie/test/first_item_description/SPtests/rss/0.92/dc/1.0/description.php
new file mode 100644
index 0000000000..09a9f6027d
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.92/dc/1.0/description.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_092_DC_10_Description extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:description>Item Description</dc:description>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.92/dc/1.1/description.php b/simplepie/test/first_item_description/SPtests/rss/0.92/dc/1.1/description.php
new file mode 100644
index 0000000000..56e1f83519
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.92/dc/1.1/description.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_092_DC_11_Description extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:description>Item Description</dc:description>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/0.92/description.php b/simplepie/test/first_item_description/SPtests/rss/0.92/description.php
new file mode 100644
index 0000000000..76d7a02229
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/0.92/description.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_092_Description extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92">
+	<channel>
+		<item>
+			<description>Item Description</description>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/1.0/atom/0.3/content.php b/simplepie/test/first_item_description/SPtests/rss/1.0/atom/0.3/content.php
new file mode 100644
index 0000000000..e3f5cb7bfa
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/1.0/atom/0.3/content.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_10_Atom_03_Content extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://purl.org/atom/ns#">
+	<item>
+		<a:content>Item Description</a:content>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/1.0/atom/0.3/summary.php b/simplepie/test/first_item_description/SPtests/rss/1.0/atom/0.3/summary.php
new file mode 100644
index 0000000000..f920bc9a58
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/1.0/atom/0.3/summary.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_10_Atom_03_Summary extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://purl.org/atom/ns#">
+	<item>
+		<a:summary>Item Description</a:summary>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/1.0/atom/1.0/content.php b/simplepie/test/first_item_description/SPtests/rss/1.0/atom/1.0/content.php
new file mode 100644
index 0000000000..1a68571d45
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/1.0/atom/1.0/content.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_10_Atom_10_Content extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:content>Item Description</a:content>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/1.0/atom/1.0/summary.php b/simplepie/test/first_item_description/SPtests/rss/1.0/atom/1.0/summary.php
new file mode 100644
index 0000000000..3e9190464c
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/1.0/atom/1.0/summary.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_10_Atom_10_Summary extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:summary>Item Description</a:summary>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/1.0/dc/1.0/description.php b/simplepie/test/first_item_description/SPtests/rss/1.0/dc/1.0/description.php
new file mode 100644
index 0000000000..187d4f11e2
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/1.0/dc/1.0/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_10_DC_10_Description extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<item>
+		<dc:description>Item Description</dc:description>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/1.0/dc/1.1/description.php b/simplepie/test/first_item_description/SPtests/rss/1.0/dc/1.1/description.php
new file mode 100644
index 0000000000..487cf5cc32
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/1.0/dc/1.1/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_10_DC_11_Description extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<item>
+		<dc:description>Item Description</dc:description>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/1.0/description.php b/simplepie/test/first_item_description/SPtests/rss/1.0/description.php
new file mode 100644
index 0000000000..21ec6f0c5c
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/1.0/description.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_10_Description extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/">
+	<item>
+		<description>Item Description</description>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/2.0/atom/0.3/content.php b/simplepie/test/first_item_description/SPtests/rss/2.0/atom/0.3/content.php
new file mode 100644
index 0000000000..29bf9f2c41
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/2.0/atom/0.3/content.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_20_Atom_03_Content extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:content>Item Description</a:content>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/2.0/atom/0.3/summary.php b/simplepie/test/first_item_description/SPtests/rss/2.0/atom/0.3/summary.php
new file mode 100644
index 0000000000..f853e231ab
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/2.0/atom/0.3/summary.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_20_Atom_03_Summary extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:summary>Item Description</a:summary>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/2.0/atom/1.0/content.php b/simplepie/test/first_item_description/SPtests/rss/2.0/atom/1.0/content.php
new file mode 100644
index 0000000000..d712ece73a
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/2.0/atom/1.0/content.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_20_Atom_10_Content extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:content>Item Description</a:content>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/2.0/atom/1.0/summary.php b/simplepie/test/first_item_description/SPtests/rss/2.0/atom/1.0/summary.php
new file mode 100644
index 0000000000..ab0aa2d206
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/2.0/atom/1.0/summary.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_20_Atom_10_Summary extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:summary>Item Description</a:summary>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/2.0/dc/1.0/description.php b/simplepie/test/first_item_description/SPtests/rss/2.0/dc/1.0/description.php
new file mode 100644
index 0000000000..19fa60a635
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/2.0/dc/1.0/description.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_20_DC_10_Description extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:description>Item Description</dc:description>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/2.0/dc/1.1/description.php b/simplepie/test/first_item_description/SPtests/rss/2.0/dc/1.1/description.php
new file mode 100644
index 0000000000..08e5c1795a
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/2.0/dc/1.1/description.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_20_DC_11_Description extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:description>Item Description</dc:description>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_description/SPtests/rss/2.0/description.php b/simplepie/test/first_item_description/SPtests/rss/2.0/description.php
new file mode 100644
index 0000000000..d2b16bef2d
--- /dev/null
+++ b/simplepie/test/first_item_description/SPtests/rss/2.0/description.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Description_Test_RSS_20_Description extends SimplePie_First_Item_Description_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<item>
+			<description>Item Description</description>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Description';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/atom/0.3/dc/1.0/identifier.php b/simplepie/test/first_item_id/SPtests/atom/0.3/dc/1.0/identifier.php
new file mode 100644
index 0000000000..44a34d499d
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/atom/0.3/dc/1.0/identifier.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_Atom_03_DC_10_Identifier extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<entry>
+		<dc:identifier>http://example.com/</dc:identifier>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/atom/0.3/dc/1.1/identifier.php b/simplepie/test/first_item_id/SPtests/atom/0.3/dc/1.1/identifier.php
new file mode 100644
index 0000000000..ddb9ca094b
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/atom/0.3/dc/1.1/identifier.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_Atom_03_DC_11_Identifier extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<entry>
+		<dc:identifier>http://example.com/</dc:identifier>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/atom/0.3/id.php b/simplepie/test/first_item_id/SPtests/atom/0.3/id.php
new file mode 100644
index 0000000000..de783213a0
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/atom/0.3/id.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_Atom_03_ID extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<entry>
+		<id>http://example.com/</id>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/atom/1.0/dc/1.0/identifier.php b/simplepie/test/first_item_id/SPtests/atom/1.0/dc/1.0/identifier.php
new file mode 100644
index 0000000000..cdba6bf0d5
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/atom/1.0/dc/1.0/identifier.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_Atom_10_DC_10_Identifier extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<entry>
+		<dc:identifier>http://example.com/</dc:identifier>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/atom/1.0/dc/1.1/identifier.php b/simplepie/test/first_item_id/SPtests/atom/1.0/dc/1.1/identifier.php
new file mode 100644
index 0000000000..e1f8d40c77
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/atom/1.0/dc/1.1/identifier.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_Atom_10_DC_11_Identifier extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<entry>
+		<dc:identifier>http://example.com/</dc:identifier>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/atom/1.0/id.php b/simplepie/test/first_item_id/SPtests/atom/1.0/id.php
new file mode 100644
index 0000000000..f9bd4e2b96
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/atom/1.0/id.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_Atom_10_ID extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<id>http://example.com/</id>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/0.90/atom/0.3/id.php b/simplepie/test/first_item_id/SPtests/rss/0.90/atom/0.3/id.php
new file mode 100644
index 0000000000..fd7065463a
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/0.90/atom/0.3/id.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_090_Atom_03_ID extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://purl.org/atom/ns#">
+	<item>
+		<a:id>http://example.com/</a:id>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/0.90/atom/1.0/id.php b/simplepie/test/first_item_id/SPtests/rss/0.90/atom/1.0/id.php
new file mode 100644
index 0000000000..d78046f252
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/0.90/atom/1.0/id.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_090_Atom_10_ID extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:id>http://example.com/</a:id>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/0.90/dc/1.0/identifier.php b/simplepie/test/first_item_id/SPtests/rss/0.90/dc/1.0/identifier.php
new file mode 100644
index 0000000000..7e873436bb
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/0.90/dc/1.0/identifier.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_090_DC_10_Identifier extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<item>
+		<dc:identifier>http://example.com/</dc:identifier>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/0.90/dc/1.1/identifier.php b/simplepie/test/first_item_id/SPtests/rss/0.90/dc/1.1/identifier.php
new file mode 100644
index 0000000000..6a6b7a3995
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/0.90/dc/1.1/identifier.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_090_DC_11_Identifier extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<item>
+		<dc:identifier>http://example.com/</dc:identifier>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/0.91-netscape/atom/0.3/id.php b/simplepie/test/first_item_id/SPtests/rss/0.91-netscape/atom/0.3/id.php
new file mode 100644
index 0000000000..0d2396fcea
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/0.91-netscape/atom/0.3/id.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_091_Netscape_Atom_03_ID extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:id>http://example.com/</a:id>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/0.91-netscape/atom/1.0/id.php b/simplepie/test/first_item_id/SPtests/rss/0.91-netscape/atom/1.0/id.php
new file mode 100644
index 0000000000..982f0712df
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/0.91-netscape/atom/1.0/id.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_091_Netscape_Atom_10_ID extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:id>http://example.com/</a:id>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/0.91-netscape/dc/1.0/identifier.php b/simplepie/test/first_item_id/SPtests/rss/0.91-netscape/dc/1.0/identifier.php
new file mode 100644
index 0000000000..693b10ec7e
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/0.91-netscape/dc/1.0/identifier.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_091_Netscape_DC_10_Identifier extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:identifier>http://example.com/</dc:identifier>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/0.91-netscape/dc/1.1/identifier.php b/simplepie/test/first_item_id/SPtests/rss/0.91-netscape/dc/1.1/identifier.php
new file mode 100644
index 0000000000..0e1683b2c9
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/0.91-netscape/dc/1.1/identifier.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_091_Netscape_DC_11_Identifier extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:identifier>http://example.com/</dc:identifier>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/0.91-userland/atom/0.3/id.php b/simplepie/test/first_item_id/SPtests/rss/0.91-userland/atom/0.3/id.php
new file mode 100644
index 0000000000..0ef6eabcbb
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/0.91-userland/atom/0.3/id.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_091_Userland_Atom_03_ID extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:id>http://example.com/</a:id>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/0.91-userland/atom/1.0/id.php b/simplepie/test/first_item_id/SPtests/rss/0.91-userland/atom/1.0/id.php
new file mode 100644
index 0000000000..36a4a00f5a
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/0.91-userland/atom/1.0/id.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_091_Userland_Atom_10_ID extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:id>http://example.com/</a:id>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/0.91-userland/dc/1.0/identifier.php b/simplepie/test/first_item_id/SPtests/rss/0.91-userland/dc/1.0/identifier.php
new file mode 100644
index 0000000000..f5b6b114f8
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/0.91-userland/dc/1.0/identifier.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_091_Userland_DC_10_Identifier extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:identifier>http://example.com/</dc:identifier>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/0.91-userland/dc/1.1/identifier.php b/simplepie/test/first_item_id/SPtests/rss/0.91-userland/dc/1.1/identifier.php
new file mode 100644
index 0000000000..c9668f27d7
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/0.91-userland/dc/1.1/identifier.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_091_Userland_DC_11_Identifier extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:identifier>http://example.com/</dc:identifier>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/0.92/atom/0.3/id.php b/simplepie/test/first_item_id/SPtests/rss/0.92/atom/0.3/id.php
new file mode 100644
index 0000000000..b8fefd284b
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/0.92/atom/0.3/id.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_092_Atom_03_ID extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:id>http://example.com/</a:id>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/0.92/atom/1.0/id.php b/simplepie/test/first_item_id/SPtests/rss/0.92/atom/1.0/id.php
new file mode 100644
index 0000000000..2dd2ee2b17
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/0.92/atom/1.0/id.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_092_Atom_10_ID extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:id>http://example.com/</a:id>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/0.92/dc/1.0/identifier.php b/simplepie/test/first_item_id/SPtests/rss/0.92/dc/1.0/identifier.php
new file mode 100644
index 0000000000..3d60d9a988
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/0.92/dc/1.0/identifier.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_092_DC_10_Identifier extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:identifier>http://example.com/</dc:identifier>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/0.92/dc/1.1/identifier.php b/simplepie/test/first_item_id/SPtests/rss/0.92/dc/1.1/identifier.php
new file mode 100644
index 0000000000..fb6989a470
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/0.92/dc/1.1/identifier.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_092_DC_11_Identifier extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:identifier>http://example.com/</dc:identifier>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/1.0/atom/0.3/id.php b/simplepie/test/first_item_id/SPtests/rss/1.0/atom/0.3/id.php
new file mode 100644
index 0000000000..095302d0f9
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/1.0/atom/0.3/id.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_10_Atom_03_ID extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://purl.org/atom/ns#">
+	<item>
+		<a:id>http://example.com/</a:id>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/1.0/atom/1.0/id.php b/simplepie/test/first_item_id/SPtests/rss/1.0/atom/1.0/id.php
new file mode 100644
index 0000000000..65fb43c45c
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/1.0/atom/1.0/id.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_10_Atom_10_ID extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:id>http://example.com/</a:id>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/1.0/dc/1.0/identifier.php b/simplepie/test/first_item_id/SPtests/rss/1.0/dc/1.0/identifier.php
new file mode 100644
index 0000000000..e9194ca294
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/1.0/dc/1.0/identifier.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_10_DC_10_Identifier extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<item>
+		<dc:identifier>http://example.com/</dc:identifier>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/1.0/dc/1.1/identifier.php b/simplepie/test/first_item_id/SPtests/rss/1.0/dc/1.1/identifier.php
new file mode 100644
index 0000000000..be2907fcbf
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/1.0/dc/1.1/identifier.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_10_DC_11_Identifier extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<item>
+		<dc:identifier>http://example.com/</dc:identifier>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/2.0/atom/0.3/id.php b/simplepie/test/first_item_id/SPtests/rss/2.0/atom/0.3/id.php
new file mode 100644
index 0000000000..5c090f750b
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/2.0/atom/0.3/id.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_20_Atom_03_ID extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:id>http://example.com/</a:id>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/2.0/atom/1.0/id.php b/simplepie/test/first_item_id/SPtests/rss/2.0/atom/1.0/id.php
new file mode 100644
index 0000000000..fb4cd54717
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/2.0/atom/1.0/id.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_20_Atom_10_ID extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:id>http://example.com/</a:id>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/2.0/dc/1.0/identifier.php b/simplepie/test/first_item_id/SPtests/rss/2.0/dc/1.0/identifier.php
new file mode 100644
index 0000000000..dc9e672693
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/2.0/dc/1.0/identifier.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_20_DC_10_Identifier extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:identifier>http://example.com/</dc:identifier>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/2.0/dc/1.1/identifier.php b/simplepie/test/first_item_id/SPtests/rss/2.0/dc/1.1/identifier.php
new file mode 100644
index 0000000000..3acc1bda79
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/2.0/dc/1.1/identifier.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_20_DC_11_Identifier extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:identifier>http://example.com/</dc:identifier>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_id/SPtests/rss/2.0/guid.php b/simplepie/test/first_item_id/SPtests/rss/2.0/guid.php
new file mode 100644
index 0000000000..9af6e3a767
--- /dev/null
+++ b/simplepie/test/first_item_id/SPtests/rss/2.0/guid.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_ID_Test_RSS_20_GUID extends SimplePie_First_Item_ID_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<item>
+			<guid>http://example.com/</guid>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_latitude/SPtests/atom/0.3/geo/lat.php b/simplepie/test/first_item_latitude/SPtests/atom/0.3/geo/lat.php
new file mode 100644
index 0000000000..fe187c6f97
--- /dev/null
+++ b/simplepie/test/first_item_latitude/SPtests/atom/0.3/geo/lat.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_First_Item_Latitude_Test_Atom_03_Geo_Lat extends SimplePie_First_Item_Latitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
+	<entry>
+		<geo:lat>55.701</geo:lat>
+		<geo:long>12.552</geo:long>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 55.701;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_latitude/SPtests/atom/0.3/georss/point.php b/simplepie/test/first_item_latitude/SPtests/atom/0.3/georss/point.php
new file mode 100644
index 0000000000..641c812a47
--- /dev/null
+++ b/simplepie/test/first_item_latitude/SPtests/atom/0.3/georss/point.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Latitude_Test_Atom_03_Georss_Point extends SimplePie_First_Item_Latitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:georss="http://www.georss.org/georss">
+	<entry>
+		<georss:point>55.701 12.552</georss:point>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 55.701;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_latitude/SPtests/atom/1.0/geo/lat.php b/simplepie/test/first_item_latitude/SPtests/atom/1.0/geo/lat.php
new file mode 100644
index 0000000000..fad25f8cfa
--- /dev/null
+++ b/simplepie/test/first_item_latitude/SPtests/atom/1.0/geo/lat.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_First_Item_Latitude_Test_Atom_10_Geo_Lat extends SimplePie_First_Item_Latitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
+	<entry>
+		<geo:lat>55.701</geo:lat>
+		<geo:long>12.552</geo:long>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 55.701;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_latitude/SPtests/atom/1.0/georss/point.php b/simplepie/test/first_item_latitude/SPtests/atom/1.0/georss/point.php
new file mode 100644
index 0000000000..10a028a92c
--- /dev/null
+++ b/simplepie/test/first_item_latitude/SPtests/atom/1.0/georss/point.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Latitude_Test_Atom_10_Georss_Point extends SimplePie_First_Item_Latitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:georss="http://www.georss.org/georss">
+	<entry>
+		<georss:point>55.701 12.552</georss:point>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 55.701;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_latitude/SPtests/rss/0.90/geo/lat.php b/simplepie/test/first_item_latitude/SPtests/rss/0.90/geo/lat.php
new file mode 100644
index 0000000000..2881be89e5
--- /dev/null
+++ b/simplepie/test/first_item_latitude/SPtests/rss/0.90/geo/lat.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_First_Item_Latitude_Test_RSS_090_Geo_Lat extends SimplePie_First_Item_Latitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
+	<item>
+		<geo:lat>55.701</geo:lat>
+		<geo:long>12.552</geo:long>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 55.701;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_latitude/SPtests/rss/0.90/georss/point.php b/simplepie/test/first_item_latitude/SPtests/rss/0.90/georss/point.php
new file mode 100644
index 0000000000..9cbfcbf867
--- /dev/null
+++ b/simplepie/test/first_item_latitude/SPtests/rss/0.90/georss/point.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Latitude_Test_RSS_090_Georss_Point extends SimplePie_First_Item_Latitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:georss="http://www.georss.org/georss">
+	<item>
+		<georss:point>55.701 12.552</georss:point>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 55.701;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_latitude/SPtests/rss/0.91-netscape/geo/lat.php b/simplepie/test/first_item_latitude/SPtests/rss/0.91-netscape/geo/lat.php
new file mode 100644
index 0000000000..9dad031db9
--- /dev/null
+++ b/simplepie/test/first_item_latitude/SPtests/rss/0.91-netscape/geo/lat.php
@@ -0,0 +1,25 @@
+<?php
+
+class SimplePie_First_Item_Latitude_Test_RSS_091_Netscape_Geo_Lat extends SimplePie_First_Item_Latitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
+	<channel>
+		<item>
+			<geo:lat>55.701</geo:lat>
+			<geo:long>12.552</geo:long>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 55.701;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_latitude/SPtests/rss/0.91-netscape/georss/point.php b/simplepie/test/first_item_latitude/SPtests/rss/0.91-netscape/georss/point.php
new file mode 100644
index 0000000000..eed539da65
--- /dev/null
+++ b/simplepie/test/first_item_latitude/SPtests/rss/0.91-netscape/georss/point.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Latitude_Test_RSS_091_Netscape_Georss_Point extends SimplePie_First_Item_Latitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:georss="http://www.georss.org/georss">
+	<channel>
+		<item>
+			<georss:point>55.701 12.552</georss:point>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 55.701;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_latitude/SPtests/rss/0.91-userland/geo/lat.php b/simplepie/test/first_item_latitude/SPtests/rss/0.91-userland/geo/lat.php
new file mode 100644
index 0000000000..b22e5c8080
--- /dev/null
+++ b/simplepie/test/first_item_latitude/SPtests/rss/0.91-userland/geo/lat.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Latitude_Test_RSS_091_Userland_Geo_Lat extends SimplePie_First_Item_Latitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
+	<channel>
+		<item>
+			<geo:lat>55.701</geo:lat>
+			<geo:long>12.552</geo:long>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 55.701;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_latitude/SPtests/rss/0.91-userland/georss/point.php b/simplepie/test/first_item_latitude/SPtests/rss/0.91-userland/georss/point.php
new file mode 100644
index 0000000000..49c9cf10bc
--- /dev/null
+++ b/simplepie/test/first_item_latitude/SPtests/rss/0.91-userland/georss/point.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Latitude_Test_RSS_091_Userland_Georss_Point extends SimplePie_First_Item_Latitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:georss="http://www.georss.org/georss">
+	<channel>
+		<item>
+			<georss:point>55.701 12.552</georss:point>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 55.701;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_latitude/SPtests/rss/0.92/geo/lat.php b/simplepie/test/first_item_latitude/SPtests/rss/0.92/geo/lat.php
new file mode 100644
index 0000000000..5c22e0278d
--- /dev/null
+++ b/simplepie/test/first_item_latitude/SPtests/rss/0.92/geo/lat.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Latitude_Test_RSS_092_Geo_Lat extends SimplePie_First_Item_Latitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
+	<channel>
+		<item>
+			<geo:lat>55.701</geo:lat>
+			<geo:long>12.552</geo:long>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 55.701;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_latitude/SPtests/rss/0.92/georss/point.php b/simplepie/test/first_item_latitude/SPtests/rss/0.92/georss/point.php
new file mode 100644
index 0000000000..70845a61c3
--- /dev/null
+++ b/simplepie/test/first_item_latitude/SPtests/rss/0.92/georss/point.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Latitude_Test_RSS_092_Georss_Point extends SimplePie_First_Item_Latitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:georss="http://www.georss.org/georss">
+	<channel>
+		<item>
+			<georss:point>55.701 12.552</georss:point>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 55.701;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_latitude/SPtests/rss/1.0/geo/lat.php b/simplepie/test/first_item_latitude/SPtests/rss/1.0/geo/lat.php
new file mode 100644
index 0000000000..bfe8aaedf5
--- /dev/null
+++ b/simplepie/test/first_item_latitude/SPtests/rss/1.0/geo/lat.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_First_Item_Latitude_Test_RSS_10_Geo_Lat extends SimplePie_First_Item_Latitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
+	<item>
+		<geo:lat>55.701</geo:lat>
+		<geo:long>12.552</geo:long>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 55.701;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_latitude/SPtests/rss/1.0/georss/point.php b/simplepie/test/first_item_latitude/SPtests/rss/1.0/georss/point.php
new file mode 100644
index 0000000000..e5da443303
--- /dev/null
+++ b/simplepie/test/first_item_latitude/SPtests/rss/1.0/georss/point.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Latitude_Test_RSS_10_Georss_Point extends SimplePie_First_Item_Latitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:georss="http://www.georss.org/georss">
+	<item>
+		<georss:point>55.701 12.552</georss:point>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 55.701;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_latitude/SPtests/rss/2.0/geo/lat.php b/simplepie/test/first_item_latitude/SPtests/rss/2.0/geo/lat.php
new file mode 100644
index 0000000000..0eb4cbf90d
--- /dev/null
+++ b/simplepie/test/first_item_latitude/SPtests/rss/2.0/geo/lat.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Latitude_Test_RSS_20_Geo_Lat extends SimplePie_First_Item_Latitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
+	<channel>
+		<item>
+			<geo:lat>55.701</geo:lat>
+			<geo:long>12.552</geo:long>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 55.701;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_latitude/SPtests/rss/2.0/georss/point.php b/simplepie/test/first_item_latitude/SPtests/rss/2.0/georss/point.php
new file mode 100644
index 0000000000..ccb54ba37b
--- /dev/null
+++ b/simplepie/test/first_item_latitude/SPtests/rss/2.0/georss/point.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Latitude_Test_RSS_20_Georss_Point extends SimplePie_First_Item_Latitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:georss="http://www.georss.org/georss">
+	<channel>
+		<item>
+			<georss:point>55.701 12.552</georss:point>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 55.701;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_longitude/SPtests/atom/0.3/geo/long.php b/simplepie/test/first_item_longitude/SPtests/atom/0.3/geo/long.php
new file mode 100644
index 0000000000..334fd1827b
--- /dev/null
+++ b/simplepie/test/first_item_longitude/SPtests/atom/0.3/geo/long.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_First_Item_Longitude_Test_Atom_03_Geo_Long extends SimplePie_First_Item_Longitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
+	<entry>
+		<geo:lat>55.701</geo:lat>
+		<geo:long>12.552</geo:long>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 12.552;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_longitude/SPtests/atom/0.3/georss/point.php b/simplepie/test/first_item_longitude/SPtests/atom/0.3/georss/point.php
new file mode 100644
index 0000000000..fec93693ba
--- /dev/null
+++ b/simplepie/test/first_item_longitude/SPtests/atom/0.3/georss/point.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Longitude_Test_Atom_03_Georss_Point extends SimplePie_First_Item_Longitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:georss="http://www.georss.org/georss">
+	<entry>
+		<georss:point>55.701 12.552</georss:point>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 12.552;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_longitude/SPtests/atom/1.0/geo/long.php b/simplepie/test/first_item_longitude/SPtests/atom/1.0/geo/long.php
new file mode 100644
index 0000000000..96cd8fe1a4
--- /dev/null
+++ b/simplepie/test/first_item_longitude/SPtests/atom/1.0/geo/long.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_First_Item_Longitude_Test_Atom_10_Geo_Long extends SimplePie_First_Item_Longitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
+	<entry>
+		<geo:lat>55.701</geo:lat>
+		<geo:long>12.552</geo:long>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 12.552;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_longitude/SPtests/atom/1.0/georss/point.php b/simplepie/test/first_item_longitude/SPtests/atom/1.0/georss/point.php
new file mode 100644
index 0000000000..a0e4864d86
--- /dev/null
+++ b/simplepie/test/first_item_longitude/SPtests/atom/1.0/georss/point.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Longitude_Test_Atom_10_Georss_Point extends SimplePie_First_Item_Longitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:georss="http://www.georss.org/georss">
+	<entry>
+		<georss:point>55.701 12.552</georss:point>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 12.552;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_longitude/SPtests/rss/0.90/geo/long.php b/simplepie/test/first_item_longitude/SPtests/rss/0.90/geo/long.php
new file mode 100644
index 0000000000..4656bbc9b2
--- /dev/null
+++ b/simplepie/test/first_item_longitude/SPtests/rss/0.90/geo/long.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_First_Item_Longitude_Test_RSS_090_Geo_Long extends SimplePie_First_Item_Longitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
+	<item>
+		<geo:lat>55.701</geo:lat>
+		<geo:long>12.552</geo:long>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 12.552;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_longitude/SPtests/rss/0.90/georss/point.php b/simplepie/test/first_item_longitude/SPtests/rss/0.90/georss/point.php
new file mode 100644
index 0000000000..4dfbf8d742
--- /dev/null
+++ b/simplepie/test/first_item_longitude/SPtests/rss/0.90/georss/point.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Longitude_Test_RSS_090_Georss_Point extends SimplePie_First_Item_Longitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:georss="http://www.georss.org/georss">
+	<item>
+		<georss:point>55.701 12.552</georss:point>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 12.552;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_longitude/SPtests/rss/0.91-netscape/geo/long.php b/simplepie/test/first_item_longitude/SPtests/rss/0.91-netscape/geo/long.php
new file mode 100644
index 0000000000..e2070c5c76
--- /dev/null
+++ b/simplepie/test/first_item_longitude/SPtests/rss/0.91-netscape/geo/long.php
@@ -0,0 +1,25 @@
+<?php
+
+class SimplePie_First_Item_Longitude_Test_RSS_091_Netscape_Geo_Long extends SimplePie_First_Item_Longitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
+	<channel>
+		<item>
+			<geo:lat>55.701</geo:lat>
+			<geo:long>12.552</geo:long>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 12.552;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_longitude/SPtests/rss/0.91-netscape/georss/point.php b/simplepie/test/first_item_longitude/SPtests/rss/0.91-netscape/georss/point.php
new file mode 100644
index 0000000000..343651ec2a
--- /dev/null
+++ b/simplepie/test/first_item_longitude/SPtests/rss/0.91-netscape/georss/point.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Longitude_Test_RSS_091_Netscape_Georss_Point extends SimplePie_First_Item_Longitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:georss="http://www.georss.org/georss">
+	<channel>
+		<item>
+			<georss:point>55.701 12.552</georss:point>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 12.552;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_longitude/SPtests/rss/0.91-userland/geo/long.php b/simplepie/test/first_item_longitude/SPtests/rss/0.91-userland/geo/long.php
new file mode 100644
index 0000000000..19f92d20bc
--- /dev/null
+++ b/simplepie/test/first_item_longitude/SPtests/rss/0.91-userland/geo/long.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Longitude_Test_RSS_091_Userland_Geo_Long extends SimplePie_First_Item_Longitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
+	<channel>
+		<item>
+			<geo:lat>55.701</geo:lat>
+			<geo:long>12.552</geo:long>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 12.552;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_longitude/SPtests/rss/0.91-userland/georss/point.php b/simplepie/test/first_item_longitude/SPtests/rss/0.91-userland/georss/point.php
new file mode 100644
index 0000000000..1bbc35d690
--- /dev/null
+++ b/simplepie/test/first_item_longitude/SPtests/rss/0.91-userland/georss/point.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Longitude_Test_RSS_091_Userland_Georss_Point extends SimplePie_First_Item_Longitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:georss="http://www.georss.org/georss">
+	<channel>
+		<item>
+			<georss:point>55.701 12.552</georss:point>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 12.552;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_longitude/SPtests/rss/0.92/geo/long.php b/simplepie/test/first_item_longitude/SPtests/rss/0.92/geo/long.php
new file mode 100644
index 0000000000..27a4ac88d6
--- /dev/null
+++ b/simplepie/test/first_item_longitude/SPtests/rss/0.92/geo/long.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Longitude_Test_RSS_092_Geo_Long extends SimplePie_First_Item_Longitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
+	<channel>
+		<item>
+			<geo:lat>55.701</geo:lat>
+			<geo:long>12.552</geo:long>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 12.552;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_longitude/SPtests/rss/0.92/georss/point.php b/simplepie/test/first_item_longitude/SPtests/rss/0.92/georss/point.php
new file mode 100644
index 0000000000..837e7d355c
--- /dev/null
+++ b/simplepie/test/first_item_longitude/SPtests/rss/0.92/georss/point.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Longitude_Test_RSS_092_Georss_Point extends SimplePie_First_Item_Longitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:georss="http://www.georss.org/georss">
+	<channel>
+		<item>
+			<georss:point>55.701 12.552</georss:point>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 12.552;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_longitude/SPtests/rss/1.0/geo/long.php b/simplepie/test/first_item_longitude/SPtests/rss/1.0/geo/long.php
new file mode 100644
index 0000000000..e7e6f302d0
--- /dev/null
+++ b/simplepie/test/first_item_longitude/SPtests/rss/1.0/geo/long.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_First_Item_Longitude_Test_RSS_10_Geo_Long extends SimplePie_First_Item_Longitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
+	<item>
+		<geo:lat>55.701</geo:lat>
+		<geo:long>12.552</geo:long>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 12.552;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_longitude/SPtests/rss/1.0/georss/point.php b/simplepie/test/first_item_longitude/SPtests/rss/1.0/georss/point.php
new file mode 100644
index 0000000000..536381ecea
--- /dev/null
+++ b/simplepie/test/first_item_longitude/SPtests/rss/1.0/georss/point.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Longitude_Test_RSS_10_Georss_Point extends SimplePie_First_Item_Longitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:georss="http://www.georss.org/georss">
+	<item>
+		<georss:point>55.701 12.552</georss:point>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 12.552;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_longitude/SPtests/rss/2.0/geo/long.php b/simplepie/test/first_item_longitude/SPtests/rss/2.0/geo/long.php
new file mode 100644
index 0000000000..f3ae64baba
--- /dev/null
+++ b/simplepie/test/first_item_longitude/SPtests/rss/2.0/geo/long.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Longitude_Test_RSS_20_Geo_Long extends SimplePie_First_Item_Longitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
+	<channel>
+		<item>
+			<geo:lat>55.701</geo:lat>
+			<geo:long>12.552</geo:long>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 12.552;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_longitude/SPtests/rss/2.0/georss/point.php b/simplepie/test/first_item_longitude/SPtests/rss/2.0/georss/point.php
new file mode 100644
index 0000000000..c1a7a94a44
--- /dev/null
+++ b/simplepie/test/first_item_longitude/SPtests/rss/2.0/georss/point.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Longitude_Test_RSS_20_Georss_Point extends SimplePie_First_Item_Longitude_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:georss="http://www.georss.org/georss">
+	<channel>
+		<item>
+			<georss:point>55.701 12.552</georss:point>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 12.552;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/atom/0.3/enclosure.php b/simplepie/test/first_item_permalink/SPtests/atom/0.3/enclosure.php
new file mode 100644
index 0000000000..0c849473f6
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/atom/0.3/enclosure.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_Atom_03_Enclosure extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<entry>
+		<link href="http://example.com/" rel="enclosure"/>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/atom/0.3/link.php b/simplepie/test/first_item_permalink/SPtests/atom/0.3/link.php
new file mode 100644
index 0000000000..d45380ec13
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/atom/0.3/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_Atom_03_Link extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<entry>
+		<link href="http://example.com/"/>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/atom/1.0/enclosure.php b/simplepie/test/first_item_permalink/SPtests/atom/1.0/enclosure.php
new file mode 100644
index 0000000000..1c27385c6f
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/atom/1.0/enclosure.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_Atom_10_Enclosure extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<link href="http://example.com/" rel="enclosure"/>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/atom/1.0/link.php b/simplepie/test/first_item_permalink/SPtests/atom/1.0/link.php
new file mode 100644
index 0000000000..f998b2cd6c
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/atom/1.0/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_Atom_10_Link extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<link href="http://example.com/"/>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/bugs/10.0.php b/simplepie/test/first_item_permalink/SPtests/bugs/10.0.php
new file mode 100644
index 0000000000..12f56b8c22
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/bugs/10.0.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_Bug_10_Test_0 extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<item>
+			<guid>http://example.com/</guid>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/bugs/10.1.php b/simplepie/test/first_item_permalink/SPtests/bugs/10.1.php
new file mode 100644
index 0000000000..78f115049f
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/bugs/10.1.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_Bug_10_Test_1 extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<item>
+			<guid isPermaLink="true">http://example.com/</guid>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/bugs/10.2.php b/simplepie/test/first_item_permalink/SPtests/bugs/10.2.php
new file mode 100644
index 0000000000..1611e3f7cc
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/bugs/10.2.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_Bug_10_Test_2 extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<item>
+			<guid isPermaLink="meep">http://example.com/</guid>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/bugs/10.3.php b/simplepie/test/first_item_permalink/SPtests/bugs/10.3.php
new file mode 100644
index 0000000000..ed9dbf4078
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/bugs/10.3.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_Bug_10_Test_3 extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<item>
+			<guid isPermaLink="false">http://example.com/</guid>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = NULL;
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/bugs/156.0.php b/simplepie/test/first_item_permalink/SPtests/bugs/156.0.php
new file mode 100644
index 0000000000..0f9c5151df
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/bugs/156.0.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_Bug_156_Test_0 extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<item>
+			<enclosure url="http://example.com/" length="1" type="audio/mpeg"/>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/bugs/176.0.php b/simplepie/test/first_item_permalink/SPtests/bugs/176.0.php
new file mode 100644
index 0000000000..a71dd32493
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/bugs/176.0.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_Bug_176_Test_0 extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<link rel="related" href="http://example.com/related"/>
+		<link rel="via" href="http://example.com/via"/>
+		<link rel="alternate" href="http://example.com/alternate"/>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/alternate';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/bugs/176.1.php b/simplepie/test/first_item_permalink/SPtests/bugs/176.1.php
new file mode 100644
index 0000000000..0c217d283f
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/bugs/176.1.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_Bug_176_Test_1 extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<link rel="alternate" href="http://example.com/alternate"/>
+		<link rel="related" href="http://example.com/related"/>
+		<link rel="via" href="http://example.com/via"/>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/alternate';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/bugs/176.2.php b/simplepie/test/first_item_permalink/SPtests/bugs/176.2.php
new file mode 100644
index 0000000000..6464d2a2a3
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/bugs/176.2.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_Bug_176_Test_2 extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<link rel="related" href="http://example.com/related"/>
+		<link rel="alternate" href="http://example.com/alternate"/>
+		<link rel="via" href="http://example.com/via"/>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/alternate';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/bugs/640.0.php b/simplepie/test/first_item_permalink/SPtests/bugs/640.0.php
new file mode 100644
index 0000000000..a897bc82e6
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/bugs/640.0.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_Bug_640_Test_0 extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xml:base="http://example.com/" >
+	<entry>
+		<link href=""/>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/rss/0.90/atom/0.3/link.php b/simplepie/test/first_item_permalink/SPtests/rss/0.90/atom/0.3/link.php
new file mode 100644
index 0000000000..fa52293bfa
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/rss/0.90/atom/0.3/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_RSS_090_Atom_03_Link extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://purl.org/atom/ns#">
+	<item>
+		<a:link href="http://example.com/"/>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/rss/0.90/atom/1.0/link.php b/simplepie/test/first_item_permalink/SPtests/rss/0.90/atom/1.0/link.php
new file mode 100644
index 0000000000..c5df9496bf
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/rss/0.90/atom/1.0/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_RSS_090_Atom_10_Link extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:link href="http://example.com/"/>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/rss/0.90/link.php b/simplepie/test/first_item_permalink/SPtests/rss/0.90/link.php
new file mode 100644
index 0000000000..72f585e4dc
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/rss/0.90/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_RSS_090_Link extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/">
+	<item>
+		<link>http://example.com/</link>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/rss/0.91-netscape/atom/0.3/link.php b/simplepie/test/first_item_permalink/SPtests/rss/0.91-netscape/atom/0.3/link.php
new file mode 100644
index 0000000000..0b7881ee82
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/rss/0.91-netscape/atom/0.3/link.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_RSS_091_Netscape_Atom_03_Link extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:link href="http://example.com/"/>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/rss/0.91-netscape/atom/1.0/link.php b/simplepie/test/first_item_permalink/SPtests/rss/0.91-netscape/atom/1.0/link.php
new file mode 100644
index 0000000000..11bb1e8a2d
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/rss/0.91-netscape/atom/1.0/link.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_RSS_091_Netscape_Atom_10_Link extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:link href="http://example.com/"/>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/rss/0.91-netscape/link.php b/simplepie/test/first_item_permalink/SPtests/rss/0.91-netscape/link.php
new file mode 100644
index 0000000000..5e5d36bca4
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/rss/0.91-netscape/link.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_RSS_091_Netscape_Link extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91">
+	<channel>
+		<item>
+			<link>http://example.com/</link>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/rss/0.91-userland/0.91-userland.php b/simplepie/test/first_item_permalink/SPtests/rss/0.91-userland/0.91-userland.php
new file mode 100644
index 0000000000..a559dade22
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/rss/0.91-userland/0.91-userland.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_RSS_091_Userland_Link extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91">
+	<channel>
+		<item>
+			<link>http://example.com/</link>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/rss/0.91-userland/atom0.3-enclosure.php b/simplepie/test/first_item_permalink/SPtests/rss/0.91-userland/atom0.3-enclosure.php
new file mode 100644
index 0000000000..4a95c94d37
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/rss/0.91-userland/atom0.3-enclosure.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_RSS_091_Userland_Atom_03_Link_Enclosure extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:link href="http://example.com/" rel="enclosure"/>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/rss/0.91-userland/atom0.3.php b/simplepie/test/first_item_permalink/SPtests/rss/0.91-userland/atom0.3.php
new file mode 100644
index 0000000000..be336dd2e0
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/rss/0.91-userland/atom0.3.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_RSS_091_Userland_Atom_03_Link extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:link href="http://example.com/"/>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/rss/0.91-userland/atom1.0-enclosure.php b/simplepie/test/first_item_permalink/SPtests/rss/0.91-userland/atom1.0-enclosure.php
new file mode 100644
index 0000000000..21dd730d24
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/rss/0.91-userland/atom1.0-enclosure.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_RSS_091_Userland_Atom_10_Link_Enclosure extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:link href="http://example.com/" rel="enclosure"/>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/rss/0.91-userland/atom1.0.php b/simplepie/test/first_item_permalink/SPtests/rss/0.91-userland/atom1.0.php
new file mode 100644
index 0000000000..61c07f3f11
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/rss/0.91-userland/atom1.0.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_RSS_091_Userland_Atom_10_Link extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:link href="http://example.com/"/>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/rss/0.92/atom/0.3/link.php b/simplepie/test/first_item_permalink/SPtests/rss/0.92/atom/0.3/link.php
new file mode 100644
index 0000000000..dbf60a01b6
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/rss/0.92/atom/0.3/link.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_RSS_092_Atom_03_Link extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:link href="http://example.com/"/>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/rss/0.92/atom/1.0/link.php b/simplepie/test/first_item_permalink/SPtests/rss/0.92/atom/1.0/link.php
new file mode 100644
index 0000000000..a289f29ac9
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/rss/0.92/atom/1.0/link.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_RSS_092_Atom_10_Link extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:link href="http://example.com/"/>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/rss/0.92/link.php b/simplepie/test/first_item_permalink/SPtests/rss/0.92/link.php
new file mode 100644
index 0000000000..b3ca8fd347
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/rss/0.92/link.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_RSS_092_Link extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92">
+	<channel>
+		<item>
+			<link>http://example.com/</link>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/rss/1.0/atom/0.3/link.php b/simplepie/test/first_item_permalink/SPtests/rss/1.0/atom/0.3/link.php
new file mode 100644
index 0000000000..9149aa8d8f
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/rss/1.0/atom/0.3/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_RSS_10_Atom_03_Link extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://purl.org/atom/ns#">
+	<item>
+		<a:link href="http://example.com/"/>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/rss/1.0/atom/1.0/link.php b/simplepie/test/first_item_permalink/SPtests/rss/1.0/atom/1.0/link.php
new file mode 100644
index 0000000000..7d64ed73c4
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/rss/1.0/atom/1.0/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_RSS_10_Atom_10_Link extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:link href="http://example.com/"/>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/rss/1.0/link.php b/simplepie/test/first_item_permalink/SPtests/rss/1.0/link.php
new file mode 100644
index 0000000000..2eb4b4fc03
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/rss/1.0/link.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_RSS_10_Link extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/">
+	<item>
+		<link>http://example.com/</link>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/rss/2.0/atom/0.3/link.php b/simplepie/test/first_item_permalink/SPtests/rss/2.0/atom/0.3/link.php
new file mode 100644
index 0000000000..881212b2a9
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/rss/2.0/atom/0.3/link.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_RSS_20_Atom_03_Link extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:link href="http://example.com/"/>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/rss/2.0/atom/1.0/link.php b/simplepie/test/first_item_permalink/SPtests/rss/2.0/atom/1.0/link.php
new file mode 100644
index 0000000000..224636dff5
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/rss/2.0/atom/1.0/link.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_RSS_20_Atom_10_Link extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:link href="http://example.com/"/>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/rss/2.0/enclosure.php b/simplepie/test/first_item_permalink/SPtests/rss/2.0/enclosure.php
new file mode 100644
index 0000000000..b58d06c050
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/rss/2.0/enclosure.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_RSS_20_Enclosure extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<item>
+			<enclosure url="http://example.com/" length="1" type="text/html"/>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/rss/2.0/link.php b/simplepie/test/first_item_permalink/SPtests/rss/2.0/link.php
new file mode 100644
index 0000000000..54734d94b0
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/rss/2.0/link.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_RSS_20_Link extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<item>
+			<link>http://example.com/</link>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/xmlbase/1.php b/simplepie/test/first_item_permalink/SPtests/xmlbase/1.php
new file mode 100644
index 0000000000..9e9be33cde
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/xmlbase/1.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_Atom_10_xmlbase_1 extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xml:base="http://example.com/">
+	<entry>
+		<link rel="alternate" href="/alternate"/>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/alternate';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/xmlbase/2.php b/simplepie/test/first_item_permalink/SPtests/xmlbase/2.php
new file mode 100644
index 0000000000..dccbbd79e3
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/xmlbase/2.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_Atom_10_xmlbase_2 extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry xml:base="http://example.com/">
+		<link rel="alternate" href="/alternate"/>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/alternate';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_permalink/SPtests/xmlbase/3.php b/simplepie/test/first_item_permalink/SPtests/xmlbase/3.php
new file mode 100644
index 0000000000..3cb4732c1b
--- /dev/null
+++ b/simplepie/test/first_item_permalink/SPtests/xmlbase/3.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Permalink_Test_Atom_10_xmlbase_3 extends SimplePie_First_Item_Permalink_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xml:base="http://example.org/">
+	<entry>
+		<link rel="alternate" href="//example.com/alternate"/>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'http://example.com/alternate';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/atom/0.3/dc/1.0/title.php b/simplepie/test/first_item_title/SPtests/atom/0.3/dc/1.0/title.php
new file mode 100644
index 0000000000..c70757657b
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/atom/0.3/dc/1.0/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_03_DC_10_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<entry>
+		<dc:title>Item Title</dc:title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/atom/0.3/dc/1.1/title.php b/simplepie/test/first_item_title/SPtests/atom/0.3/dc/1.1/title.php
new file mode 100644
index 0000000000..9c4bedb326
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/atom/0.3/dc/1.1/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_03_DC_11_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<entry>
+		<dc:title>Item Title</dc:title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/atom/0.3/title.php b/simplepie/test/first_item_title/SPtests/atom/0.3/title.php
new file mode 100644
index 0000000000..db7d19fb54
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/atom/0.3/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_03_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<entry>
+		<title>Item Title</title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/atom/1.0/dc/1.0/title.php b/simplepie/test/first_item_title/SPtests/atom/1.0/dc/1.0/title.php
new file mode 100644
index 0000000000..f9af26c080
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/atom/1.0/dc/1.0/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_10_DC_10_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<entry>
+		<dc:title>Item Title</dc:title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/atom/1.0/dc/1.1/title.php b/simplepie/test/first_item_title/SPtests/atom/1.0/dc/1.1/title.php
new file mode 100644
index 0000000000..db83ac9595
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/atom/1.0/dc/1.1/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_10_DC_11_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<entry>
+		<dc:title>Item Title</dc:title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/atom/1.0/title.php b/simplepie/test/first_item_title/SPtests/atom/1.0/title.php
new file mode 100644
index 0000000000..857fcd765a
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/atom/1.0/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_10_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title>Item Title</title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/bugs/174.0.php b/simplepie/test/first_item_title/SPtests/bugs/174.0.php
new file mode 100644
index 0000000000..a515e88f48
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/bugs/174.0.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Bug_174_Test_0 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<?xml version="1.0" encoding = "UTF-8" ?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title>Item Title</title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/bugs/179.0.10.1.php b/simplepie/test/first_item_title/SPtests/bugs/179.0.10.1.php
new file mode 100644
index 0000000000..5c046aba3f
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/bugs/179.0.10.1.php
@@ -0,0 +1,30 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Bug_179_Post_10_Test_1 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title>Title 1</title>
+		<updated>2003-12-15T18:30:02Z</updated>
+	</entry>
+	<entry>
+		<title>Title 2</title>
+		<updated>2003-12-14T18:30:02Z</updated>
+	</entry>
+	<entry>
+		<title>Title 3</title>
+		<updated>2003-12-13T18:30:02Z</updated>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Title 1';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/bugs/179.0.10.2.php b/simplepie/test/first_item_title/SPtests/bugs/179.0.10.2.php
new file mode 100644
index 0000000000..32dc55104f
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/bugs/179.0.10.2.php
@@ -0,0 +1,30 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Bug_179_Post_10_Test_2 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title>Title 2</title>
+		<updated>2003-12-14T18:30:02Z</updated>
+	</entry>
+	<entry>
+		<title>Title 1</title>
+		<updated>2003-12-15T18:30:02Z</updated>
+	</entry>
+	<entry>
+		<title>Title 3</title>
+		<updated>2003-12-13T18:30:02Z</updated>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Title 1';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/bugs/179.0.10.php b/simplepie/test/first_item_title/SPtests/bugs/179.0.10.php
new file mode 100644
index 0000000000..2d964696b8
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/bugs/179.0.10.php
@@ -0,0 +1,30 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Bug_179_Post_10_Test_0 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title>Title 1</title>
+		<updated>2003-12-13T18:30:02Z</updated>
+	</entry>
+	<entry>
+		<title>Title 2</title>
+		<updated>2003-12-13T18:30:02Z</updated>
+	</entry>
+	<entry>
+		<title>Title 3</title>
+		<updated>2003-12-13T18:30:02Z</updated>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Title 1';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/bugs/270.0.php b/simplepie/test/first_item_title/SPtests/bugs/270.0.php
new file mode 100644
index 0000000000..4e494133a0
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/bugs/270.0.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Bug_270_Test_0 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><![CDATA[<title>]]></div></content>
+		<title>The title</title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'The title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/bugs/431.0.php b/simplepie/test/first_item_title/SPtests/bugs/431.0.php
new file mode 100644
index 0000000000..691b0e7da8
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/bugs/431.0.php
@@ -0,0 +1,26 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Bug_431_Test_0 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<item>
+			<title>Item title</title>
+			<image>
+				<title>Image title</title>
+			</image>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/bugs/431.1.php b/simplepie/test/first_item_title/SPtests/bugs/431.1.php
new file mode 100644
index 0000000000..38f8ae34d3
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/bugs/431.1.php
@@ -0,0 +1,26 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Bug_431_Test_1 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<item>
+			<image>
+				<title>Image title</title>
+			</image>
+			<title>Item title</title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/bugs/475.0.php b/simplepie/test/first_item_title/SPtests/bugs/475.0.php
new file mode 100644
index 0000000000..17611a0a37
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/bugs/475.0.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Bug_475_Test_0 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<source>
+			<title>Source Title</title>
+		</source>
+		<title>Item Title</title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/bugs/475.1.php b/simplepie/test/first_item_title/SPtests/bugs/475.1.php
new file mode 100644
index 0000000000..9bcfa3968d
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/bugs/475.1.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Bug_475_Test_1 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title>Item Title</title>
+		<source>
+			<title>Source Title</title>
+		</source>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/bugs/475.2.php b/simplepie/test/first_item_title/SPtests/bugs/475.2.php
new file mode 100644
index 0000000000..388bc72d2c
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/bugs/475.2.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Bug_475_Test_2 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title>Item Title</title>
+		<x:foo xmlns:x="urn:foo">
+			<title>Extension Title</title>
+		</x:foo>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/bugs/475.3.php b/simplepie/test/first_item_title/SPtests/bugs/475.3.php
new file mode 100644
index 0000000000..d9d076bb2b
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/bugs/475.3.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Bug_475_Test_3 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<x:foo xmlns:x="urn:foo">
+			<title>Extension Title</title>
+		</x:foo>
+		<title>Item Title</title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/bugs/508.0.php b/simplepie/test/first_item_title/SPtests/bugs/508.0.php
new file mode 100644
index 0000000000..6d963b324f
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/bugs/508.0.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Bug_508_Test_0 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'
+<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title>Item <!--aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa--> Title</title>
+	</entry>
+</feed>
+';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item  Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/bugs/508.1.php b/simplepie/test/first_item_title/SPtests/bugs/508.1.php
new file mode 100644
index 0000000000..a40f411f6e
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/bugs/508.1.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Bug_508_Test_1 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'
+<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title>Item <!--aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa--><!--aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa--> Title</title>
+	</entry>
+</feed>
+';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item  Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/bugs/508.2.php b/simplepie/test/first_item_title/SPtests/bugs/508.2.php
new file mode 100644
index 0000000000..2785d76cc3
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/bugs/508.2.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Bug_508_Test_2 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'
+<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title>Itemaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <!--aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa--> Title</title>
+	</entry>
+</feed>
+';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Itemaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa  Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/bugs/508.3.php b/simplepie/test/first_item_title/SPtests/bugs/508.3.php
new file mode 100644
index 0000000000..2ead51e006
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/bugs/508.3.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Bug_508_Test_3 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'
+<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title>Itemaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <!--aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa--><!--aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa--> Title</title>
+	</entry>
+</feed>
+';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Itemaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa  Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/bugs/564.0.php b/simplepie/test/first_item_title/SPtests/bugs/564.0.php
new file mode 100644
index 0000000000..a814c296aa
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/bugs/564.0.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Bug_564_Test_0 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title type="html"><![CDATA[<blink>A<blink>B</blink>C</blink>]]></title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'ABC';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/bugs/629.0.php b/simplepie/test/first_item_title/SPtests/bugs/629.0.php
new file mode 100644
index 0000000000..82115daf7b
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/bugs/629.0.php
@@ -0,0 +1,26 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Bug_629_Test_0 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<x:foo xmlns:x="urn:foo">
+		<entry>
+			<title>Extension title</title>
+		</entry>
+	</x:foo>
+	<entry>
+		<title>Item title</title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/bugs/629.1.php b/simplepie/test/first_item_title/SPtests/bugs/629.1.php
new file mode 100644
index 0000000000..6966e9fb66
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/bugs/629.1.php
@@ -0,0 +1,26 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Bug_629_Test_1 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title>Item title</title>
+	</entry>
+	<x:foo xmlns:x="urn:foo">
+		<entry>
+			<title>Extension title</title>
+		</entry>
+	</x:foo>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/bugs/666.0.php b/simplepie/test/first_item_title/SPtests/bugs/666.0.php
new file mode 100644
index 0000000000..c5d4de1551
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/bugs/666.0.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Bug_666_Test_0 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/">
+	<channel>
+		<title>Feed Title</title>
+	</channel>
+	<item>
+		<title>Item Title</title>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/bugs/666.1.php b/simplepie/test/first_item_title/SPtests/bugs/666.1.php
new file mode 100644
index 0000000000..5e23fbbaa6
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/bugs/666.1.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Bug_666_Test_1 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/">
+	<channel>
+		<title>Feed Title</title>
+	</channel>
+	<item>
+		<title>Item Title</title>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/bugs/828.0.php b/simplepie/test/first_item_title/SPtests/bugs/828.0.php
new file mode 100644
index 0000000000..35d36b6730
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/bugs/828.0.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Bug_828_Test_0 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title>Item &lt;!-- Title</title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item &lt;!-- Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/bugs/968.0.php b/simplepie/test/first_item_title/SPtests/bugs/968.0.php
new file mode 100644
index 0000000000..6bed207a7c
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/bugs/968.0.php
@@ -0,0 +1,22 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Bug_968_Test_0 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = "\xFF\xFE" . chunk_split(
+'<?xml version="1.0" encoding="UTF-16LE"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title>Item Title</title>
+	</entry>
+</feed>', 1, "\x00");
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/atom/0.3/1.1.php b/simplepie/test/first_item_title/SPtests/entities/atom/0.3/1.1.php
new file mode 100644
index 0000000000..6c70c30131
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/atom/0.3/1.1.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_03_Title_HTML_1 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<entry>
+		<title type="text/html" mode="escaped">This &amp;amp; this</title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/atom/0.3/1.2.php b/simplepie/test/first_item_title/SPtests/entities/atom/0.3/1.2.php
new file mode 100644
index 0000000000..18d99d795a
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/atom/0.3/1.2.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_03_Title_Text_1 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<entry>
+		<title type="text/plain">This &amp;amp; this</title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/atom/0.3/1.3.php b/simplepie/test/first_item_title/SPtests/entities/atom/0.3/1.3.php
new file mode 100644
index 0000000000..33ffe3b13d
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/atom/0.3/1.3.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_03_Title_XHTML_1 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<entry>
+		<title type="application/xhtml+xml" mode="xml"><div xmlns="http://www.w3.org/1999/xhtml">This &amp;amp; this</div></title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/atom/0.3/2.1.php b/simplepie/test/first_item_title/SPtests/entities/atom/0.3/2.1.php
new file mode 100644
index 0000000000..bef4945e1b
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/atom/0.3/2.1.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_03_Title_HTML_2 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<entry>
+		<title type="text/html" mode="escaped"><![CDATA[This &amp;amp; this]]></title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/atom/0.3/2.2.php b/simplepie/test/first_item_title/SPtests/entities/atom/0.3/2.2.php
new file mode 100644
index 0000000000..f9da9e9a49
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/atom/0.3/2.2.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_03_Title_Text_2 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<entry>
+		<title type="text/plain"><![CDATA[This &amp;amp; this]]></title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/atom/0.3/2.3.php b/simplepie/test/first_item_title/SPtests/entities/atom/0.3/2.3.php
new file mode 100644
index 0000000000..05801eed16
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/atom/0.3/2.3.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_03_Title_XHTML_2 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<entry>
+		<title type="application/xhtml+xml" mode="xml"><div xmlns="http://www.w3.org/1999/xhtml"><![CDATA[This &amp;amp; this]]></div></title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/atom/0.3/3.1.php b/simplepie/test/first_item_title/SPtests/entities/atom/0.3/3.1.php
new file mode 100644
index 0000000000..43ff189b8a
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/atom/0.3/3.1.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_03_Title_HTML_3 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<entry>
+		<title type="text/html" mode="escaped">This <![CDATA[&amp;]]>amp; this</title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/atom/0.3/3.2.php b/simplepie/test/first_item_title/SPtests/entities/atom/0.3/3.2.php
new file mode 100644
index 0000000000..94fe1afef0
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/atom/0.3/3.2.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_03_Title_Text_3 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<entry>
+		<title type="text/plain">This <![CDATA[&amp;]]>amp; this</title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/atom/0.3/3.3.php b/simplepie/test/first_item_title/SPtests/entities/atom/0.3/3.3.php
new file mode 100644
index 0000000000..92ee35a906
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/atom/0.3/3.3.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_03_Title_XHTML_3 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed version="0.3" xmlns="http://purl.org/atom/ns#">
+	<entry>
+		<title type="application/xhtml+xml" mode="xml"><div xmlns="http://www.w3.org/1999/xhtml">This <![CDATA[&amp;]]>amp; this</div></title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/atom/1.0/1.1.php b/simplepie/test/first_item_title/SPtests/entities/atom/1.0/1.1.php
new file mode 100644
index 0000000000..8ebf20dd5b
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/atom/1.0/1.1.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_10_Title_HTML_1 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title type="html">This &amp;amp; this</title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/atom/1.0/1.2.php b/simplepie/test/first_item_title/SPtests/entities/atom/1.0/1.2.php
new file mode 100644
index 0000000000..e5634cb285
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/atom/1.0/1.2.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_10_Title_Text_1 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title type="text">This &amp;amp; this</title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/atom/1.0/1.3.php b/simplepie/test/first_item_title/SPtests/entities/atom/1.0/1.3.php
new file mode 100644
index 0000000000..789c2a580f
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/atom/1.0/1.3.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_10_Title_XHTML_1 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">This &amp;amp; this</div></title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/atom/1.0/2.1.php b/simplepie/test/first_item_title/SPtests/entities/atom/1.0/2.1.php
new file mode 100644
index 0000000000..481e29f57b
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/atom/1.0/2.1.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_10_Title_HTML_2 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title type="html"><![CDATA[This &amp;amp; this]]></title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/atom/1.0/2.2.php b/simplepie/test/first_item_title/SPtests/entities/atom/1.0/2.2.php
new file mode 100644
index 0000000000..4def434a09
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/atom/1.0/2.2.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_10_Title_Text_2 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title type="text"><![CDATA[This &amp;amp; this]]></title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/atom/1.0/2.3.php b/simplepie/test/first_item_title/SPtests/entities/atom/1.0/2.3.php
new file mode 100644
index 0000000000..9a6ce970dd
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/atom/1.0/2.3.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_10_Title_XHTML_2 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><![CDATA[This &amp;amp; this]]></div></title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/atom/1.0/3.1.php b/simplepie/test/first_item_title/SPtests/entities/atom/1.0/3.1.php
new file mode 100644
index 0000000000..0c3491e277
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/atom/1.0/3.1.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_10_Title_HTML_3 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title type="html">This <![CDATA[&amp;]]>amp; this</title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/atom/1.0/3.2.php b/simplepie/test/first_item_title/SPtests/entities/atom/1.0/3.2.php
new file mode 100644
index 0000000000..44961c42b4
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/atom/1.0/3.2.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_10_Title_Text_3 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title type="text">This <![CDATA[&amp;]]>amp; this</title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/atom/1.0/3.3.php b/simplepie/test/first_item_title/SPtests/entities/atom/1.0/3.3.php
new file mode 100644
index 0000000000..349e456498
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/atom/1.0/3.3.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_10_Title_XHTML_3 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">This <![CDATA[&amp;]]>amp; this</div></title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/rss/0.90/1.php b/simplepie/test/first_item_title/SPtests/entities/rss/0.90/1.php
new file mode 100644
index 0000000000..0f34ce7a68
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/rss/0.90/1.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_090_Title_1 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/">
+	<item>
+		<title>This &amp;amp; this</title>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/rss/0.90/2.php b/simplepie/test/first_item_title/SPtests/entities/rss/0.90/2.php
new file mode 100644
index 0000000000..37ab27f1cb
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/rss/0.90/2.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_090_Title_2 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/">
+	<item>
+		<title><![CDATA[This &amp;amp; this]]></title>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/rss/0.90/3.php b/simplepie/test/first_item_title/SPtests/entities/rss/0.90/3.php
new file mode 100644
index 0000000000..cd7d3ff8f6
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/rss/0.90/3.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_090_Title_3 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/">
+	<item>
+		<title>This <![CDATA[&amp;]]>amp; this</title>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/rss/0.91-netscape/1.php b/simplepie/test/first_item_title/SPtests/entities/rss/0.91-netscape/1.php
new file mode 100644
index 0000000000..8d96de3c97
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/rss/0.91-netscape/1.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_091_Netscape_Title_1 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91">
+	<channel>
+		<item>
+			<title>This &amp;amp; this</title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/rss/0.91-netscape/2.php b/simplepie/test/first_item_title/SPtests/entities/rss/0.91-netscape/2.php
new file mode 100644
index 0000000000..be9460b9f7
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/rss/0.91-netscape/2.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_091_Netscape_Title_2 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91">
+	<channel>
+		<item>
+			<title><![CDATA[This &amp;amp; this]]></title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/rss/0.91-netscape/3.php b/simplepie/test/first_item_title/SPtests/entities/rss/0.91-netscape/3.php
new file mode 100644
index 0000000000..60047dc0d4
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/rss/0.91-netscape/3.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_091_Netscape_Title_3 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91">
+	<channel>
+		<item>
+			<title>This <![CDATA[&amp;]]>amp; this</title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/rss/0.91-userland/1.php b/simplepie/test/first_item_title/SPtests/entities/rss/0.91-userland/1.php
new file mode 100644
index 0000000000..c98ba9379a
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/rss/0.91-userland/1.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_091_Userland_Title_1 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91">
+	<channel>
+		<item>
+			<title>This &amp;amp; this</title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/rss/0.91-userland/2.php b/simplepie/test/first_item_title/SPtests/entities/rss/0.91-userland/2.php
new file mode 100644
index 0000000000..62cabfbc63
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/rss/0.91-userland/2.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_091_Userland_Title_2 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91">
+	<channel>
+		<item>
+			<title><![CDATA[This &amp;amp; this]]></title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/rss/0.91-userland/3.php b/simplepie/test/first_item_title/SPtests/entities/rss/0.91-userland/3.php
new file mode 100644
index 0000000000..b5a93dbd76
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/rss/0.91-userland/3.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_091_Userland_Title_3 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91">
+	<channel>
+		<item>
+			<title>This <![CDATA[&amp;]]>amp; this</title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/rss/0.92/1.php b/simplepie/test/first_item_title/SPtests/entities/rss/0.92/1.php
new file mode 100644
index 0000000000..8e00ad68ee
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/rss/0.92/1.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_092_Title_1 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92">
+	<channel>
+		<item>
+			<title>This &amp;amp; this</title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/rss/0.92/2.php b/simplepie/test/first_item_title/SPtests/entities/rss/0.92/2.php
new file mode 100644
index 0000000000..7960a729cc
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/rss/0.92/2.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_092_Title_2 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92">
+	<channel>
+		<item>
+			<title><![CDATA[This &amp;amp; this]]></title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/rss/0.92/3.php b/simplepie/test/first_item_title/SPtests/entities/rss/0.92/3.php
new file mode 100644
index 0000000000..4f73082576
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/rss/0.92/3.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_092_Title_3 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92">
+	<channel>
+		<item>
+			<title>This <![CDATA[&amp;]]>amp; this</title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/rss/1.0/1.php b/simplepie/test/first_item_title/SPtests/entities/rss/1.0/1.php
new file mode 100644
index 0000000000..5c52070679
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/rss/1.0/1.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_10_Title_1 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/">
+	<item>
+		<title>This &amp;amp; this</title>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/rss/1.0/2.php b/simplepie/test/first_item_title/SPtests/entities/rss/1.0/2.php
new file mode 100644
index 0000000000..e8910cf878
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/rss/1.0/2.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_10_Title_2 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/">
+	<item>
+		<title><![CDATA[This &amp;amp; this]]></title>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/rss/1.0/3.php b/simplepie/test/first_item_title/SPtests/entities/rss/1.0/3.php
new file mode 100644
index 0000000000..e736e29fcf
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/rss/1.0/3.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_10_Title_3 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/">
+	<item>
+		<title>This <![CDATA[&amp;]]>amp; this</title>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/rss/2.0/1.php b/simplepie/test/first_item_title/SPtests/entities/rss/2.0/1.php
new file mode 100644
index 0000000000..9d552daf08
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/rss/2.0/1.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_20_Title_1 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<item>
+			<title>This &amp;amp; this</title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/rss/2.0/2.php b/simplepie/test/first_item_title/SPtests/entities/rss/2.0/2.php
new file mode 100644
index 0000000000..a79bd280ab
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/rss/2.0/2.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_20_Title_2 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<item>
+			<title><![CDATA[This &amp;amp; this]]></title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/entities/rss/2.0/3.php b/simplepie/test/first_item_title/SPtests/entities/rss/2.0/3.php
new file mode 100644
index 0000000000..241cd2f89b
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/entities/rss/2.0/3.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_20_Title_3 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<item>
+			<title>This <![CDATA[&amp;]]>amp; this</title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'This &amp;amp;amp; this';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/0.90/atom/0.3/title.php b/simplepie/test/first_item_title/SPtests/rss/0.90/atom/0.3/title.php
new file mode 100644
index 0000000000..42a72a3081
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/0.90/atom/0.3/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_090_Atom_03_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://purl.org/atom/ns#">
+	<item>
+		<a:title>Item Title</a:title>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/0.90/atom/1.0/title.php b/simplepie/test/first_item_title/SPtests/rss/0.90/atom/1.0/title.php
new file mode 100644
index 0000000000..544a6e83b6
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/0.90/atom/1.0/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_090_Atom_10_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:title>Item Title</a:title>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/0.90/dc/1.0/title.php b/simplepie/test/first_item_title/SPtests/rss/0.90/dc/1.0/title.php
new file mode 100644
index 0000000000..f718d06234
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/0.90/dc/1.0/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_090_DC_10_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<item>
+		<dc:title>Item Title</dc:title>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/0.90/dc/1.1/title.php b/simplepie/test/first_item_title/SPtests/rss/0.90/dc/1.1/title.php
new file mode 100644
index 0000000000..137c5917ef
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/0.90/dc/1.1/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_090_DC_11_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<item>
+		<dc:title>Item Title</dc:title>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/0.90/title.php b/simplepie/test/first_item_title/SPtests/rss/0.90/title.php
new file mode 100644
index 0000000000..64f2a45b1d
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/0.90/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_090_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/">
+	<item>
+		<title>Item Title</title>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/0.91-netscape/atom/0.3/title.php b/simplepie/test/first_item_title/SPtests/rss/0.91-netscape/atom/0.3/title.php
new file mode 100644
index 0000000000..39965f00b5
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/0.91-netscape/atom/0.3/title.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_091_Netscape_Atom_03_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:title>Item Title</a:title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/0.91-netscape/atom/1.0/title.php b/simplepie/test/first_item_title/SPtests/rss/0.91-netscape/atom/1.0/title.php
new file mode 100644
index 0000000000..838949ca44
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/0.91-netscape/atom/1.0/title.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_091_Netscape_Atom_10_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:title>Item Title</a:title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/0.91-netscape/dc/1.0/title.php b/simplepie/test/first_item_title/SPtests/rss/0.91-netscape/dc/1.0/title.php
new file mode 100644
index 0000000000..672bb57ed8
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/0.91-netscape/dc/1.0/title.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_091_Netscape_DC_10_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:title>Item Title</dc:title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/0.91-netscape/dc/1.1/title.php b/simplepie/test/first_item_title/SPtests/rss/0.91-netscape/dc/1.1/title.php
new file mode 100644
index 0000000000..dca7ed182f
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/0.91-netscape/dc/1.1/title.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_091_Netscape_DC_11_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:title>Item Title</dc:title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/0.91-netscape/title.php b/simplepie/test/first_item_title/SPtests/rss/0.91-netscape/title.php
new file mode 100644
index 0000000000..5b07bb81f5
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/0.91-netscape/title.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_091_Netscape_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<!DOCTYPE rss SYSTEM "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+<rss version="0.91">
+	<channel>
+		<item>
+			<title>Item Title</title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/0.91-userland/atom/0.3/title.php b/simplepie/test/first_item_title/SPtests/rss/0.91-userland/atom/0.3/title.php
new file mode 100644
index 0000000000..30ebf1a283
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/0.91-userland/atom/0.3/title.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_091_Userland_Atom_03_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:title>Item Title</a:title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/0.91-userland/atom/1.0/title.php b/simplepie/test/first_item_title/SPtests/rss/0.91-userland/atom/1.0/title.php
new file mode 100644
index 0000000000..610cf123aa
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/0.91-userland/atom/1.0/title.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_091_Userland_Atom_10_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:title>Item Title</a:title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/0.91-userland/dc/1.0/title.php b/simplepie/test/first_item_title/SPtests/rss/0.91-userland/dc/1.0/title.php
new file mode 100644
index 0000000000..4697173a8c
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/0.91-userland/dc/1.0/title.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_091_Userland_DC_10_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:title>Item Title</dc:title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/0.91-userland/dc/1.1/title.php b/simplepie/test/first_item_title/SPtests/rss/0.91-userland/dc/1.1/title.php
new file mode 100644
index 0000000000..33e76fa898
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/0.91-userland/dc/1.1/title.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_091_Userland_DC_11_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:title>Item Title</dc:title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/0.91-userland/title.php b/simplepie/test/first_item_title/SPtests/rss/0.91-userland/title.php
new file mode 100644
index 0000000000..384144ce5f
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/0.91-userland/title.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_091_Userland_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.91">
+	<channel>
+		<item>
+			<title>Item Title</title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/0.92/atom/0.3/title.php b/simplepie/test/first_item_title/SPtests/rss/0.92/atom/0.3/title.php
new file mode 100644
index 0000000000..1f3850e499
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/0.92/atom/0.3/title.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_092_Atom_03_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:title>Item Title</a:title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/0.92/atom/1.0/title.php b/simplepie/test/first_item_title/SPtests/rss/0.92/atom/1.0/title.php
new file mode 100644
index 0000000000..1aa2fad6d9
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/0.92/atom/1.0/title.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_092_Atom_10_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:title>Item Title</a:title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/0.92/dc/1.0/title.php b/simplepie/test/first_item_title/SPtests/rss/0.92/dc/1.0/title.php
new file mode 100644
index 0000000000..b2446210e2
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/0.92/dc/1.0/title.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_092_DC_10_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:title>Item Title</dc:title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/0.92/dc/1.1/title.php b/simplepie/test/first_item_title/SPtests/rss/0.92/dc/1.1/title.php
new file mode 100644
index 0000000000..7e8b18c7b3
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/0.92/dc/1.1/title.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_092_DC_11_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:title>Item Title</dc:title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/0.92/title.php b/simplepie/test/first_item_title/SPtests/rss/0.92/title.php
new file mode 100644
index 0000000000..c6d5ce811e
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/0.92/title.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_092_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="0.92">
+	<channel>
+		<item>
+			<title>Item Title</title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/1.0/atom/0.3/title.php b/simplepie/test/first_item_title/SPtests/rss/1.0/atom/0.3/title.php
new file mode 100644
index 0000000000..f23da20349
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/1.0/atom/0.3/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_10_Atom_03_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://purl.org/atom/ns#">
+	<item>
+		<a:title>Item Title</a:title>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/1.0/atom/1.0/title.php b/simplepie/test/first_item_title/SPtests/rss/1.0/atom/1.0/title.php
new file mode 100644
index 0000000000..98e8898118
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/1.0/atom/1.0/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_10_Atom_10_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:a="http://www.w3.org/2005/Atom">
+	<item>
+		<a:title>Item Title</a:title>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/1.0/dc/1.0/title.php b/simplepie/test/first_item_title/SPtests/rss/1.0/dc/1.0/title.php
new file mode 100644
index 0000000000..b2b0c3b236
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/1.0/dc/1.0/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_10_DC_10_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<item>
+		<dc:title>Item Title</dc:title>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/1.0/dc/1.1/title.php b/simplepie/test/first_item_title/SPtests/rss/1.0/dc/1.1/title.php
new file mode 100644
index 0000000000..4ebaa99662
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/1.0/dc/1.1/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_10_DC_11_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<item>
+		<dc:title>Item Title</dc:title>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/1.0/title.php b/simplepie/test/first_item_title/SPtests/rss/1.0/title.php
new file mode 100644
index 0000000000..4e20cbfcfb
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/1.0/title.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_10_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/">
+	<item>
+		<title>Item Title</title>
+	</item>
+</rdf:RDF>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/2.0/atom/0.3/title.php b/simplepie/test/first_item_title/SPtests/rss/2.0/atom/0.3/title.php
new file mode 100644
index 0000000000..8060ccbcea
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/2.0/atom/0.3/title.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_20_Atom_03_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://purl.org/atom/ns#">
+	<channel>
+		<item>
+			<a:title>Item Title</a:title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/2.0/atom/1.0/title.php b/simplepie/test/first_item_title/SPtests/rss/2.0/atom/1.0/title.php
new file mode 100644
index 0000000000..162d931591
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/2.0/atom/1.0/title.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_20_Atom_10_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:a="http://www.w3.org/2005/Atom">
+	<channel>
+		<item>
+			<a:title>Item Title</a:title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/2.0/dc/1.0/title.php b/simplepie/test/first_item_title/SPtests/rss/2.0/dc/1.0/title.php
new file mode 100644
index 0000000000..f2a9bea94c
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/2.0/dc/1.0/title.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_20_DC_10_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.0/">
+	<channel>
+		<item>
+			<dc:title>Item Title</dc:title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/2.0/dc/1.1/title.php b/simplepie/test/first_item_title/SPtests/rss/2.0/dc/1.1/title.php
new file mode 100644
index 0000000000..c4c920f74c
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/2.0/dc/1.1/title.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_20_DC_11_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
+	<channel>
+		<item>
+			<dc:title>Item Title</dc:title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/rss/2.0/title.php b/simplepie/test/first_item_title/SPtests/rss/2.0/title.php
new file mode 100644
index 0000000000..5a1c396a92
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/rss/2.0/title.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_RSS_20_Title extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss version="2.0">
+	<channel>
+		<item>
+			<title>Item Title</title>
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'Item Title';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/first_item_title/SPtests/xmlbase/1.php b/simplepie/test/first_item_title/SPtests/xmlbase/1.php
new file mode 100644
index 0000000000..f84b827aee
--- /dev/null
+++ b/simplepie/test/first_item_title/SPtests/xmlbase/1.php
@@ -0,0 +1,21 @@
+<?php
+
+class SimplePie_First_Item_Title_Test_Atom_10_Title_xmlbase_1 extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<feed xmlns="http://www.w3.org/2005/Atom">
+	<entry>
+		<title type="xhtml" xml:base="http://example.com/"><div xmlns="http://www.w3.org/1999/xhtml"><p xml:base="/test/"><a href="bleh">Link</a></p></div></title>
+	</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = '<p><a href="http://example.com/bleh">Link</a></p>';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/functions.php b/simplepie/test/functions.php
new file mode 100644
index 0000000000..0d01211ceb
--- /dev/null
+++ b/simplepie/test/functions.php
@@ -0,0 +1,486 @@
+<?php
+
+require_once 'unit_test/unit_test2.php';
+
+class SimplePie_Unit_Test2_Group extends Unit_Test2_Group
+{
+	function pre()
+	{
+		ob_start();
+	}
+	
+	function post()
+	{
+		$output = ob_get_contents();
+		
+		if ($output !== false)
+		{
+			ob_end_clean();
+		}
+		
+		$passed_percentage = floor($this->passes() / $this->total() * 100);
+		$failed_percentage = ceil($this->fails() / $this->total() * 100);
+		
+		echo '<h2 class=' . (($passed_percentage == 100) ? 'pass' : 'fail') . '>' . htmlspecialchars($this->name(), ENT_COMPAT, 'UTF-8') . ': ' . $passed_percentage . "% passed!</h2>\n";
+		echo "<p>\n$output\n</p>\n";
+		echo '<p>We ran ' . $this->total() . ' tests in ' . round($this->time(), 3) . ' seconds of which ' . $this->passes() . ' passed, and ' . $this->fails() . ' failed.</p>';
+		flush();
+	}
+}
+
+class SimplePie_Unit_Test2 extends Unit_Test2
+{
+	function SimplePie_Unit_Test2()
+	{
+		parent::Unit_Test2();
+		if (strpos($this->name, 'SimplePie') === 0)
+		{
+			$this->name = trim(substr_replace($this->name, '', 0, 9));
+		}
+	}
+	
+	function output($title, $class, $content)
+	{
+		printf("<span title='%s' class='%s'>%s</span>\n", $title, $class, $content);
+	}
+	
+	function pass()
+	{
+		$this->output(htmlspecialchars($this->name(), ENT_COMPAT, 'UTF-8'), 'pass', '&#x2714;');
+		parent::pass();
+	}
+	
+	function fail()
+	{
+		$this->output(htmlspecialchars($this->name(), ENT_COMPAT, 'UTF-8'), 'fail', '&#x2718;');
+		parent::fail();
+	}
+	
+	function result()
+	{
+		if ($this->result === $this->expected)
+		{
+			$this->pass();
+		}
+		else
+		{
+			$this->fail();
+		}
+	}
+}
+
+class SimplePie_Feed_Test extends SimplePie_Unit_Test2
+{
+	function feed()
+	{
+		$feed = new SimplePie();
+		$feed->set_raw_data($this->data);
+		$feed->enable_cache(false);
+		$feed->init();
+		return $feed;
+	}
+}
+
+class SimplePie_Feed_Author_Test extends SimplePie_Feed_Test
+{
+	function author()
+	{
+		$feed = $this->feed();
+		if ($author = $item->get_author())
+		{
+			return $author;
+		}
+		else
+		{
+			return false;
+		}
+	}
+}
+
+class SimplePie_Feed_Category_Test extends SimplePie_Feed_Test
+{
+	function category()
+	{
+		$feed = $this->feed();
+		if ($category = $feed->get_category())
+		{
+			return $category;
+		}
+		else
+		{
+			return false;
+		}
+	}
+}
+
+class SimplePie_First_Item_Test extends SimplePie_Feed_Test
+{
+	function first_item()
+	{
+		$feed = $this->feed();
+		if ($item = $feed->get_item(0))
+		{
+			return $item;
+		}
+		else
+		{
+			return false;
+		}
+	}
+}
+
+class SimplePie_First_Item_Author_Test extends SimplePie_First_Item_Test
+{
+	function author()
+	{
+		if ($item = $this->first_item())
+		{
+			if ($author = $item->get_author())
+			{
+				return $author;
+			}
+		}
+		return false;
+	}
+}
+
+class SimplePie_First_Item_Category_Test extends SimplePie_First_Item_Test
+{
+	function category()
+	{
+		if ($item = $this->first_item())
+		{
+			if ($category = $item->get_category())
+			{
+				return $category;
+			}
+		}
+		return false;
+	}
+}
+
+class SimplePie_First_Item_Contributor_Test extends SimplePie_First_Item_Test
+{
+	function contributor()
+	{
+		if ($item = $this->first_item())
+		{
+			if ($contributor = $item->get_contributor())
+			{
+				return $contributor;
+			}
+		}
+		return false;
+	}
+}
+
+class SimplePie_Absolutize_Test extends SimplePie_Unit_Test2
+{
+	function test()
+	{
+		$this->result = SimplePie_Misc::absolutize_url($this->data['relative'], $this->data['base']);
+	}
+}
+
+class SimplePie_Date_Test extends SimplePie_Unit_Test2
+{
+	function test()
+	{
+		$this->result = SimplePie_Misc::parse_date($this->data);
+	}
+}
+
+class SimplePie_Feed_Category_Label_Test extends SimplePie_Feed_Category_Test
+{
+	function test()
+	{
+		if ($category = $this->category())
+		{
+			$this->result = $category->get_label();
+		}
+	}
+}
+
+class SimplePie_Feed_Copyright_Test extends SimplePie_Feed_Test
+{
+	function test()
+	{
+		$feed = $this->feed();
+		$this->result = $feed->get_copyright();
+	}
+}
+
+class SimplePie_Feed_Description_Test extends SimplePie_Feed_Test
+{
+	function test()
+	{
+		$feed = $this->feed();
+		$this->result = $feed->get_description();
+	}
+}
+
+class SimplePie_Feed_Image_Height_Test extends SimplePie_Feed_Test
+{
+	function test()
+	{
+		$feed = $this->feed();
+		$this->result = $feed->get_image_height();
+	}
+}
+
+class SimplePie_Feed_Image_Link_Test extends SimplePie_Feed_Test
+{
+	function test()
+	{
+		$feed = $this->feed();
+		$this->result = $feed->get_image_link();
+	}
+}
+
+class SimplePie_Feed_Image_Title_Test extends SimplePie_Feed_Test
+{
+	function test()
+	{
+		$feed = $this->feed();
+		$this->result = $feed->get_image_title();
+	}
+}
+
+class SimplePie_Feed_Image_URL_Test extends SimplePie_Feed_Test
+{
+	function test()
+	{
+		$feed = $this->feed();
+		$this->result = $feed->get_image_url();
+	}
+}
+
+class SimplePie_Feed_Image_Width_Test extends SimplePie_Feed_Test
+{
+	function test()
+	{
+		$feed = $this->feed();
+		$this->result = $feed->get_image_width();
+	}
+}
+
+class SimplePie_Feed_Language_Test extends SimplePie_Feed_Test
+{
+	function test()
+	{
+		$feed = $this->feed();
+		$this->result = $feed->get_language();
+	}
+}
+
+class SimplePie_Feed_Link_Test extends SimplePie_Feed_Test
+{
+	function test()
+	{
+		$feed = $this->feed();
+		$this->result = $feed->get_link();
+	}
+}
+
+class SimplePie_Feed_Title_Test extends SimplePie_Feed_Test
+{
+	function test()
+	{
+		$feed = $this->feed();
+		$this->result = $feed->get_title();
+	}
+}
+
+class SimplePie_First_Item_Author_Name_Test extends SimplePie_First_Item_Author_Test
+{
+	function test()
+	{
+		if ($author = $this->author())
+		{
+			$this->result = $author->get_name();
+		}
+	}
+}
+
+class SimplePie_First_Item_Category_Label_Test extends SimplePie_First_Item_Category_Test
+{
+	function test()
+	{
+		if ($category = $this->category())
+		{
+			$this->result = $category->get_label();
+		}
+	}
+}
+
+class SimplePie_First_Item_Content_Test extends SimplePie_First_Item_Test
+{
+	function test()
+	{
+		if ($item = $this->first_item())
+		{
+			$this->result = $item->get_content();
+		}
+	}
+}
+
+class SimplePie_First_Item_Contributor_Name_Test extends SimplePie_First_Item_Contributor_Test
+{
+	function test()
+	{
+		if ($contributor = $this->contributor())
+		{
+			$this->result = $contributor->get_name();
+		}
+	}
+}
+
+class SimplePie_First_Item_Date_Test extends SimplePie_First_Item_Test
+{
+	function test()
+	{
+		if ($item = $this->first_item())
+		{
+			$this->result = $item->get_date('U');
+		}
+	}
+}
+
+class SimplePie_First_Item_Description_Test extends SimplePie_First_Item_Test
+{
+	function test()
+	{
+		if ($item = $this->first_item())
+		{
+			$this->result = $item->get_description();
+		}
+	}
+}
+
+class SimplePie_First_Item_ID_Test extends SimplePie_First_Item_Test
+{
+	function test()
+	{
+		if ($item = $this->first_item())
+		{
+			$this->result = $item->get_id();
+		}
+	}
+}
+
+class SimplePie_First_Item_Latitude_Test extends SimplePie_First_Item_Test
+{
+	function test()
+	{
+		if ($item = $this->first_item())
+		{
+			$this->result = $item->get_latitude();
+		}
+	}
+}
+
+class SimplePie_First_Item_Longitude_Test extends SimplePie_First_Item_Test
+{
+	function test()
+	{
+		if ($item = $this->first_item())
+		{
+			$this->result = $item->get_longitude();
+		}
+	}
+}
+
+class SimplePie_First_Item_Permalink_Test extends SimplePie_First_Item_Test
+{
+	function test()
+	{
+		if ($item = $this->first_item())
+		{
+			$this->result = $item->get_permalink();
+		}
+	}
+}
+
+class SimplePie_First_Item_Title_Test extends SimplePie_First_Item_Test
+{
+	function test()
+	{
+		if ($item = $this->first_item())
+		{
+			$this->result = $item->get_title();
+		}
+	}
+}
+
+class SimplePie_iTunesRSS_Channel_Block_Test extends SimplePie_First_Item_Test
+{
+	function test()
+	{
+		if ($item = $this->first_item())
+		{
+			if ($enclosure = $item->get_enclosure())
+			{
+				if ($restriction = $enclosure->get_restriction())
+				{
+					return $restriction->get_relationship();
+				}
+			}
+		}
+		return false;
+	}
+}
+
+class diveintomark_Atom_Autodiscovery extends SimplePie_Unit_Test2
+{
+	var $data = array('url' => 'http://diveintomark.org/tests/client/autodiscovery/');
+	
+	function data()
+	{
+		$this->data['file'] =& new SimplePie_File($this->data['url'], 10, 5, null, SIMPLEPIE_USERAGENT);
+		$this->name = $this->data['url'];
+		$this->data['url'] = false;
+	}
+	
+	function expected()
+	{
+		$this->expected = $this->data['file']->url;
+	}
+	
+	function test()
+	{
+		$feed = new SimplePie();
+		$feed->set_file($this->data['file']);
+		$feed->enable_cache(false);
+		$feed->init();
+		$this->result = $feed->get_link();
+	}
+	
+	function result()
+	{
+		if ($this->data['file']->url != 'http://diveintomark.org/tests/client/autodiscovery/')
+		{
+			parent::result();
+		}
+		static $done = array();
+		$links = SimplePie_Misc::get_element('link', $this->data['file']->body);
+		foreach ($links as $link)
+		{
+			if (!empty($link['attribs']['href']['data']) && !empty($link['attribs']['rel']['data']))
+			{
+				$rel = array_unique(SimplePie_Misc::space_seperated_tokens(strtolower($link['attribs']['rel']['data'])));
+				$href = SimplePie_Misc::absolutize_url(trim($link['attribs']['href']['data']), $this->data['file']->url);
+				if (!in_array($href, $done) && in_array('next', $rel))
+				{
+					$done[] = $this->data['url'] = $href;
+					break;
+				}
+			}
+		}
+		if ($this->data['url'])
+		{
+			$this->run();
+		}
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/itunes_rss/SPtests/rss/2.0/itunes_channel_block.php b/simplepie/test/itunes_rss/SPtests/rss/2.0/itunes_channel_block.php
new file mode 100644
index 0000000000..c5ecd4d135
--- /dev/null
+++ b/simplepie/test/itunes_rss/SPtests/rss/2.0/itunes_channel_block.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_iTunesRSS_Channel_Block_Test_RSS_20 extends SimplePie_iTunesRSS_Channel_Block_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss xmlns:itunes="http://www.itunes.com/DTDs/Podcast-1.0.dtd">
+	<channel>
+		<itunes:block>yes</itunes:block>
+		<item>
+			<enclosure url="http://test.com/test.mp3" />
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'deny';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/itunes_rss/SPtests/rss/2.0/itunes_channel_block_default.php b/simplepie/test/itunes_rss/SPtests/rss/2.0/itunes_channel_block_default.php
new file mode 100644
index 0000000000..0d840202b5
--- /dev/null
+++ b/simplepie/test/itunes_rss/SPtests/rss/2.0/itunes_channel_block_default.php
@@ -0,0 +1,23 @@
+<?php
+
+class SimplePie_iTunesRSS_Channel_Block_Default_Test_RSS_20 extends SimplePie_iTunesRSS_Channel_Block_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss xmlns:itunes="http://www.itunes.com/DTDs/Podcast-1.0.dtd">
+	<channel>
+		<item>
+			<enclosure url="http://test.com/test.mp3" />
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'allow';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/itunes_rss/SPtests/rss/2.0/itunes_channel_block_reverse.php b/simplepie/test/itunes_rss/SPtests/rss/2.0/itunes_channel_block_reverse.php
new file mode 100644
index 0000000000..86d84e72af
--- /dev/null
+++ b/simplepie/test/itunes_rss/SPtests/rss/2.0/itunes_channel_block_reverse.php
@@ -0,0 +1,24 @@
+<?php
+
+class SimplePie_iTunesRSS_Channel_Block_Reverse_Test_RSS_20 extends SimplePie_iTunesRSS_Channel_Block_Test
+{
+	function data()
+	{
+		$this->data = 
+'<rss xmlns:itunes="http://www.itunes.com/DTDs/Podcast-1.0.dtd">
+	<channel>
+		<itunes:block>no</itunes:block>
+		<item>
+			<enclosure url="http://test.com/test.mp3" />
+		</item>
+	</channel>
+</rss>';
+	}
+	
+	function expected()
+	{
+		$this->expected = 'allow';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/logo.png b/simplepie/test/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..f8af3c3e8d44eb5e15ac2da245878d9d85fd4f0f
GIT binary patch
literal 4819
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

literal 0
HcmV?d00001

diff --git a/simplepie/test/test.php b/simplepie/test/test.php
new file mode 100644
index 0000000000..f9a9f7f321
--- /dev/null
+++ b/simplepie/test/test.php
@@ -0,0 +1,205 @@
+<?php
+
+if (version_compare(PHP_VERSION, '5.3', '>='))
+{
+	error_reporting(E_ALL ^ E_DEPRECATED ^ E_USER_DEPRECATED);
+}
+else
+{
+	error_reporting(E_ALL);
+}
+
+if (version_compare(PHP_VERSION, '5.1', '>='))
+{
+	$tz = timezone_identifiers_list();
+	date_default_timezone_set($tz[array_rand($tz)]);
+}
+
+header('Content-type: text/html; charset=UTF-8');
+
+?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html lang="en">
+<head>
+<title>SimplePie: Unit Tests</title>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+<style type="text/css">
+* {
+	margin: 0;
+	padding: 0;
+}
+
+body {
+	font: 12px/18px Verdana, sans-serif;
+	color: #333;
+	background: #fff url(background.gif) repeat-x top left;
+}
+
+#site {
+	width: 500px;
+	margin: 20px auto;
+}
+
+a {
+	color: #000;
+	text-decoration: underline;
+}
+
+a:hover {
+	color: #fff;
+	background-color: #333;
+	text-decoration: none;
+}
+
+h1 {
+	font-size: 18px;
+	margin: 30px 0 10px 0;
+	text-align: center;
+}
+
+h1 + p {
+	text-align: center;
+}
+
+h2 {
+	font-size: 16px;
+	margin: 20px 0 5px 0;
+	padding-top: 20px;
+	border-top: 1px solid #ccc;
+}
+
+h2 + p + p, h2 + p + p a {
+	font-size: 10px;
+	line-height: 12px;
+	color: #666;
+}
+
+#summary + p + p {
+	margin: 20px 0 0 0;
+	padding-top: 10px;
+	border-top: 1px solid #ccc;
+}
+
+small {
+	font-size: 10px;
+}
+
+.pass {
+	color: green;
+}
+
+.fail {
+	color: red;
+}
+</style>
+
+<script type="text/javascript">
+// Sleight - Alpha transparency PNG's in Internet Explorer 5.5/6.0
+// (c) 2001, Aaron Boodman; http://www.youngpup.net
+
+if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent) {
+	document.writeln('<style type="text/css">img, input.image { visibility:hidden; } </style>');
+	window.attachEvent("onload", fnLoadPngs);
+}
+
+function fnLoadPngs() {
+	var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
+	var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5);
+
+	for (var i = document.images.length - 1, img = null; (img = document.images[i]); i--) {
+		if (itsAllGood && img.src.match(/\png$/i) != null) {
+			var src = img.src;
+			var div = document.createElement("DIV");
+			div.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizing='scale')";
+			div.style.width = img.width + "px";
+			div.style.height = img.height + "px";
+			img.replaceNode(div);
+		}
+		img.style.visibility = "visible";
+	}
+}
+</script>
+
+</head>
+
+<body>
+
+<div id="site">
+	<h1><img src="logo.png" alt="SimplePie Compatibility Test" title="SimplePie Compatibility Test"></h1>
+	<p><a href="#summary">Skip to the results</a> | 
+	<?php
+	if (isset($_GET['remote'])) echo '<a href="?">Re-run without remote tests</a>';
+	else echo '<a href="?remote=true">Re-run with remote tests</a>';
+	?>
+	</p>
+<?php
+
+require_once '../simplepie.inc';
+require_once 'functions.php';
+
+$tests = array(
+	'absolutize',
+	'date',
+	'feed_category_label',
+	'feed_copyright',
+	'feed_description',
+	'feed_image_height',
+	'feed_image_link',
+	'feed_image_title',
+	'feed_image_url',
+	'feed_image_width',
+	'feed_language',
+	'feed_link',
+	'feed_title',
+	'first_item_author_name',
+	'first_item_category_label',
+	'first_item_content',
+	'first_item_contributor_name',
+	'first_item_date',
+	'first_item_description',
+	'first_item_id',
+	'first_item_latitude',
+	'first_item_longitude',
+	'first_item_permalink',
+	'first_item_title',
+);
+
+$master = new Unit_Test2_Group('SimplePie Test Suite');
+
+foreach ($tests as $test)
+{
+	$test_group = new SimplePie_Unit_Test2_Group(ucwords(str_replace('_', ' ', $test)));
+	$test_group->load_folder($test);
+	$master->add($test_group);
+}
+
+$test_group = new SimplePie_Unit_Test2_Group('Who knows a <title> from a hole in the ground?');
+$test_group->load_folder('who_knows_a_title_from_a_hole_in_the_ground');
+$master->add($test_group);
+
+$test_group = new SimplePie_Unit_Test2_Group('iTunesRSS');
+$test_group->load_folder('itunes_rss');
+$master->add($test_group);
+
+if (isset($_GET['remote']))
+{
+	$test_group = new SimplePie_Unit_Test2_Group('Atom autodiscovery test suite');
+	$test_group->add(new diveintomark_Atom_Autodiscovery);
+	$master->add($test_group);
+}
+
+$master->run();
+
+$passed_percentage = floor($master->passes() / $master->total() * 100);
+$failed_percentage = ceil($master->fails() / $master->total() * 100);
+
+?>
+	<h2 id="summary" class=<?php echo ($passed_percentage == 100) ? 'pass' : 'fail'; ?>><?php echo $passed_percentage; ?>% passed!</h2>
+	<?php echo '<p>We ran ' . $master->total() . ' tests in ' . round($master->time(), 3) . ' seconds (' . round($master->time() / $master->total(), 3) . ' seconds per test) of which ' . $master->passes() . ' (' . $passed_percentage . '%) passed, and ' . $master->fails() . ' (' . $failed_percentage . '%) failed.</p>'; ?>
+	
+	<p><small>Powered by <a href="<?php echo SIMPLEPIE_URL; ?>"><?php echo SIMPLEPIE_NAME . ' ' . SIMPLEPIE_VERSION . ', Build ' . SIMPLEPIE_BUILD; ?></a>.  SimplePie is &copy; 2004&ndash;<?php echo date('Y'); ?>, Ryan Parman and Geoffrey Sneddon, and licensed under the <a href="http://www.opensource.org/licenses/bsd-license.php">BSD License</a>.</small></p>
+
+</div>
+
+</body>
+</html>
diff --git a/simplepie/test/unit_test/unit_test.php b/simplepie/test/unit_test/unit_test.php
new file mode 100644
index 0000000000..0a27a34337
--- /dev/null
+++ b/simplepie/test/unit_test/unit_test.php
@@ -0,0 +1,126 @@
+<?php
+
+/**
+ * @package Unit Test
+ * @author Geoffrey Sneddon <geoffers@gmail.com>
+ * @version $Id: unit_test.php 6 2007-04-23 15:15:40Z gsnedders $
+ * @license http://www.opensource.org/licenses/zlib-license.php zlib/libpng license
+ * @license http://opensource.org/licenses/lgpl-license.php GNU Lesser General Public License
+ * @copyright Copyright © 2007, Geoffrey Sneddon
+ */
+
+class Unit_Test
+{
+	var $passed;
+	var $failed;
+	var $success_callback;
+	var $fail_callback;
+	
+	function Unit_Test($success, $fail)
+	{
+		$this->success_callback = $success;
+		$this->fail_callback = $fail;
+	}
+	
+	function do_test($callback, $dir, $vars = 'data')
+	{
+		$files = $this->get_files($dir);
+		foreach ($files as $file)
+		{
+			$istest = true;
+			$debug = false;
+			include $file;
+			if ($istest)
+			{
+				$args = compact($vars);
+				$result = call_user_func_array($callback, $args);
+				$this->run_test($file, $result === $expected);
+				if ($debug)
+				{
+					var_dump($file, $args, $result, $expected);
+				}
+			}
+		}
+	}
+	
+	function run_test($file, $success)
+	{
+		if ($success)
+		{
+			$this->passed++;
+			call_user_func($this->success_callback, $file);
+		}
+		else
+		{
+			$this->failed++;
+			call_user_func($this->fail_callback, $file);
+		}
+	}
+	
+	function passed()
+	{
+		return $this->passed;
+	}
+	
+	function failed()
+	{
+		return $this->failed;
+	}
+	
+	function total()
+	{
+		return $this->passed + $this->failed;
+	}
+	
+	function get_files($dir)
+	{
+		static $extension = null;
+		if (!$extension)
+		{
+			$extension = pathinfo(__FILE__, PATHINFO_EXTENSION);
+		}
+		$files = array();
+		if ($dh = opendir($dir))
+		{
+			while (($file = readdir($dh)) !== false)
+			{
+				if (substr($file, 0, 1) != '.')
+				{
+					$files[] = "$dir/$file";
+				}
+			}
+			closedir($dh);
+			usort($files, array(&$this, 'sort_files'));
+			foreach ($files as $file)
+			{
+				if (is_dir($file))
+				{
+					array_splice($files, array_search($file, $files), 0, $this->get_files($file));
+				}
+				if (pathinfo($file, PATHINFO_EXTENSION) != $extension)
+				{
+					unset($files[array_search($file, $files)]);
+				}
+			}
+		}
+		return $files;
+	}
+	
+	function sort_files(&$a, &$b)
+	{
+		if (is_dir($a) && is_dir($b) || !(is_dir($a) || is_dir($b)))
+		{
+			return strnatcasecmp($a, $b);
+		}
+		else if (is_dir($a))
+		{
+			return 1;
+		}
+		else if (is_dir($b))
+		{
+			return -1;
+		}
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/unit_test/unit_test2.php b/simplepie/test/unit_test/unit_test2.php
new file mode 100644
index 0000000000..63f9ef2579
--- /dev/null
+++ b/simplepie/test/unit_test/unit_test2.php
@@ -0,0 +1,630 @@
+<?php
+
+/**
+ * @package Unit Test
+ * @author Geoffrey Sneddon <geoffers@gmail.com>
+ * @version $Id: unit_test2.php 16 2007-08-08 14:52:36Z gsnedders $
+ * @license http://www.opensource.org/licenses/zlib-license.php zlib/libpng license
+ * @license http://opensource.org/licenses/lgpl-license.php GNU Lesser General Public License
+ * @copyright Copyright © 2007, Geoffrey Sneddon
+ */
+
+/**
+ * Unit Test
+ *
+ * @abstract
+ * @package Unit Test
+ */
+class Unit_Test2
+{
+	/**
+	 * Sets whether this class is a unit test or not
+	 *
+	 * @access protected
+	 * @var bool
+	 */
+	var $test = true;
+
+	/**
+	 * Test name
+	 *
+	 * @access protected
+	 * @var mixed
+	 */
+	var $name;
+
+	/**
+	 * Test data
+	 *
+	 * @access protected
+	 * @var mixed
+	 */
+	var $data;
+
+	/**
+	 * Expected result
+	 *
+	 * @access protected
+	 * @var mixed
+	 */
+	var $expected;
+
+	/**
+	 * Test result
+	 *
+	 * @access protected
+	 * @var mixed
+	 */
+	var $result;
+
+	/**
+	 * Number of tests passed
+	 *
+	 * @access protected
+	 * @var int
+	 */
+	var $passes = 0;
+
+	/**
+	 * Number of tests failed
+	 *
+	 * @access protected
+	 * @var int
+	 */
+	var $fails = 0;
+
+	/**
+	 * Set the test name to the class name by default, replacing "_" with " "
+	 */
+	function Unit_Test2()
+	{
+		$this->name = str_replace('_', ' ', get_class($this));
+	}
+
+	/**
+	 * Whether this class is a test
+	 *
+	 * @final
+	 * @access public
+	 * @return bool
+	 */
+	function is_test()
+	{
+		return (bool) $this->test;
+	}
+
+	/**
+	 * Test name
+	 *
+	 * @final
+	 * @access public
+	 * @return mixed
+	 */
+	function name()
+	{
+		return $this->name;
+	}
+
+	/**
+	 * Number of tests passed
+	 *
+	 * @final
+	 * @access public
+	 * @return int
+	 */
+	function passes()
+	{
+		return (int) $this->passes;
+	}
+
+	/**
+	 * Number of tests failed
+	 *
+	 * @final
+	 * @access public
+	 * @return int
+	 */
+	function fails()
+	{
+		return (int) $this->fails;
+	}
+
+	/**
+	 * Total number of tests
+	 *
+	 * @final
+	 * @access public
+	 * @return int
+	 */
+	function total()
+	{
+		return $this->passes() + $this->fails();
+	}
+
+	/**
+	 * Run the test
+	 *
+	 * @final
+	 * @access public
+	 */
+	function run()
+	{
+		$this->init();
+		$this->data();
+		$this->expected();
+		$this->test();
+		$this->result();
+	}
+
+	/**
+	 * First method called when running the test
+	 *
+	 * This isn't defined as abstract as it's optional
+	 *
+	 * @access protected
+	 */
+	function init()
+	{
+	}
+
+	/**
+	 * Set Unit_Test2::$data
+	 *
+	 * @abstract
+	 * @access protected
+	 * @see Unit_Test2::$data
+	 */
+	function data()
+	{
+	}
+
+	/**
+	 * Set Unit_Test2::$expected
+	 *
+	 * @abstract
+	 * @access protected
+	 * @see Unit_Test2::$expected
+	 */
+	function expected()
+	{
+	}
+
+	/**
+	 * Actually run the test (should set Unit_Test::$result)
+	 *
+	 * @abstract
+	 * @access protected
+	 * @see Unit_Test2::$result
+	 */
+	function test()
+	{
+	}
+
+	/**
+	 * Check whether the result is valid (should call Unit_Test2::pass() or Unit_Test2::fail())
+	 *
+	 * @abstract
+	 * @access protected
+	 * @see Unit_Test2::$expected
+	 * @see Unit_Test2::$result
+	 */
+	function result()
+	{
+	}
+
+	/**
+	 * Process a pass
+	 *
+	 * @access protected
+	 */
+	function pass()
+	{
+		$this->passes++;
+	}
+
+	/**
+	 * Process a fail
+	 *
+	 * @access protected
+	 */
+	function fail()
+	{
+		$this->fails++;
+	}
+}
+
+/**
+ * Unit Test Group
+ *
+ * @package Unit Test
+ */
+class Unit_Test2_Group
+{
+	/**
+	 * Unit Test Group Name
+	 *
+	 * @access protected
+	 * @var mixed
+	 */
+	var $name;
+
+	/**
+	 * Tests
+	 *
+	 * @access protected
+	 * @var array
+	 */
+	var $tests = array(array());
+
+	/**
+	 * Number of tests passed
+	 *
+	 * @access protected
+	 * @var int
+	 */
+	var $passes = 0;
+
+	/**
+	 * Number of tests failed
+	 *
+	 * @access protected
+	 * @var int
+	 */
+	var $fails = 0;
+
+	/**
+	 * Time taken to run tests
+	 *
+	 * @access protected
+	 * @var float
+	 */
+	var $time = 0.0;
+
+	/**
+	 * Create Unit Test Group
+	 *
+	 * @access public
+	 * @param string $name Unit Test Group Name
+	 */
+	function Unit_Test2_Group($name)
+	{
+		$this->name = $name;
+	}
+
+	/**
+	 * Unit Test Group Name
+	 *
+	 * @final
+	 * @access public
+	 * @return mixed
+	 */
+	function name()
+	{
+		return $this->name;
+	}
+
+	/**
+	 * Number of tests passed
+	 *
+	 * @final
+	 * @access public
+	 * @return int
+	 */
+	function passes()
+	{
+		return (int) $this->passes;
+	}
+
+	/**
+	 * Number of tests failed
+	 *
+	 * @final
+	 * @access public
+	 * @return int
+	 */
+	function fails()
+	{
+		return (int) $this->fails;
+	}
+
+	/**
+	 * Total number of tests
+	 *
+	 * @final
+	 * @access public
+	 * @return int
+	 */
+	function total()
+	{
+		return $this->passes() + $this->fails();
+	}
+
+	/**
+	 * Time to run tests
+	 *
+	 * @final
+	 * @access public
+	 * @return float
+	 */
+	function time()
+	{
+		return (float) $this->time;
+	}
+
+	/**
+	 * Add a test (a Unit_Test2 child, or a Unit_Test2_Group)
+	 *
+	 * @access public
+	 * @param object $test Test to add
+	 */
+	function add($test)
+	{
+		$this->tests[$test->name()][] = $test;
+	}
+
+	/**
+	 * Remove a test
+	 *
+	 * @access public
+	 * @param string $name Test name
+	 */
+	function remove($name)
+	{
+		unset($this->tests[$name]);
+	}
+
+	/**
+	 * Load tests in folder
+	 *
+	 * This loads all the Unit_Test2 classes within files with the same
+	 * extension as this file within the specified folder
+	 *
+	 * @access public
+	 * @param string $folder Folder name
+	 */
+	function load_folder($folder)
+	{
+		static $extension = null;
+		if (!$extension)
+		{
+			$extension = pathinfo(__FILE__, PATHINFO_EXTENSION);
+		}
+		$files = Unit_Test2_Files::get_files($folder);
+		$count_classes = count(get_declared_classes());
+		foreach ($files as $file)
+		{
+			if (is_file($file) && pathinfo($file, PATHINFO_EXTENSION) === $extension)
+			{
+				include $file;
+			}
+		}
+		$classes = array_slice(get_declared_classes(), $count_classes);
+		foreach ($classes as $class)
+		{
+			if ($this->is_subclass_of($class, 'Unit_Test2'))
+			{
+				$class = new $class;
+				if ($class->is_test())
+				{
+					$this->add($class);
+				}
+			}
+		}
+	}
+
+	/**
+	 * Run the tests
+	 *
+	 * @access public
+	 */
+	function run()
+	{
+		$this->pre();
+		$start_time = $this->microtime(true);
+		foreach ($this->tests as $tests)
+		{
+			foreach ($tests as $test)
+			{
+				if ($this->is_a($test, 'Unit_Test2') || $this->is_a($test, 'Unit_Test2_Group'))
+				{
+					$test->run();
+					$this->passes += $test->passes();
+					$this->fails += $test->fails();
+				}
+			}
+		}
+		$this->time = $this->microtime(true) - $start_time;
+		$this->post();
+	}
+
+	/**
+	 * Executed before the tests are executed
+	 *
+	 * @abstract
+	 * @access protected
+	 */
+	function pre()
+	{
+	}
+
+	/**
+	 * Executed after the tests are executed
+	 *
+	 * @abstract
+	 * @access protected
+	 */
+	function post()
+	{
+	}
+
+	/**
+	 * Re-implementation of PHP 5.0.3's is_subclass_of()
+	 *
+	 * @access public
+	 * @param mixed $object
+	 * @param string $class_name
+	 */
+	function is_subclass_of($object, $class_name)
+	{
+		if (func_num_args() != 2)
+		{
+			trigger_error('Wrong parameter count for SimplePie_Misc::is_subclass_of()', E_USER_WARNING);
+		}
+		else
+		{
+			if (version_compare(phpversion(), '5.0.3', '>=') || is_object($object))
+			{
+				return is_subclass_of($object, $class_name);
+			}
+			else if (is_string($object) && is_string($class_name))
+			{
+				if (class_exists($object))
+				{
+					if (class_exists($class_name))
+					{
+						$class_name = strtolower($class_name);
+						while ($object = strtolower(get_parent_class($object)))
+						{
+							if ($object == $class_name)
+							{
+								return true;
+							}
+						}
+					}
+				}
+				else
+				{
+					trigger_error('Unknown class passed as parameter', E_USER_WARNNG);
+				}
+			}
+			return false;
+		}
+	}
+
+	/**
+	 * Re-implementation of PHP 4.2.0's is_a()
+	 *
+	 * @access public
+	 * @param object $object The tested object
+	 * @param string $class_name The class name
+	 * @return bool Returns true if the object is of this class or has this class as one of its parents, false otherwise
+	 */
+	 function is_a($object, $class_name)
+	 {
+	 	if (function_exists('is_a'))
+	 	{
+	 		return is_a($object, $class_name);
+	 	}
+	 	elseif (!is_object($object))
+	 	{
+	 		return false;
+	 	}
+	 	elseif (get_class($object) == strtolower($class_name))
+	 	{
+	 		return true;
+	 	}
+	 	else
+	 	{
+	 		return is_subclass_of($object, $class_name);
+	 	}
+	 }
+
+	/**
+	 * Re-implementation of PHP 5's microtime()
+	 *
+	 * @access public
+	 * @param bool $get_as_float
+	 */
+	function microtime($get_as_float = false)
+	{
+		if ($get_as_float)
+		{
+			if (is_float($time = microtime(true)))
+			{
+				return $time;
+			}
+			else
+			{
+				list($user, $sec) = explode(' ', $time);
+				return ((float) $user + (float) $sec);
+			}
+		}
+		else
+		{
+			// PHP6 will likely return a float by default, so explicitly pass false (this is just ignored under PHP < 5)
+			return microtime(false);
+		}
+	}
+}
+
+/**
+ * File listing class
+ *
+ * @package Unit Test
+ */
+class Unit_Test2_Files
+{
+	/**
+	 * Get a list of files/folders within $dir
+	 *
+	 * @static
+	 * @access public
+	 * @param string $dir Folder to get listing for
+	 * @return array
+	 */
+	function get_files($dir)
+	{
+		$files = array();
+		if ($dh = opendir($dir))
+		{
+			while (($file = readdir($dh)) !== false)
+			{
+				if (substr($file, 0, 1) != '.')
+				{
+					$files[] = "$dir/$file";
+				}
+			}
+			closedir($dh);
+			usort($files, array(__CLASS__, 'sort_files'));
+			foreach ($files as $file)
+			{
+				if (is_dir($file))
+				{
+					array_splice($files, array_search($file, $files), 0, Unit_Test2_Files::get_files($file));
+				}
+			}
+		}
+		return $files;
+	}
+
+	/**
+	 * Sort files/folders with files listed before inner folders
+	 *
+	 * @static
+	 * @access public
+	 * @param string $a File/folder 1
+	 * @param string $b File/folder 2
+	 * @return int
+	 */
+	function sort_files($a, $b)
+	{
+		if (is_dir($a) && is_dir($b))
+		{
+			return strnatcmp($a, $b);
+		}
+		else if (is_dir($a))
+		{
+			return 1;
+		}
+		else if (is_dir($b))
+		{
+			return -1;
+		}
+		else
+		{
+			return strnatcmp($a, $b);
+		}
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/html/cdata.php b/simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/html/cdata.php
new file mode 100644
index 0000000000..c04581bba6
--- /dev/null
+++ b/simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/html/cdata.php
@@ -0,0 +1,38 @@
+<?php
+
+class who_knows_a_title_from_a_hole_in_the_ground_html_cdata extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+<id>http://atomtests.philringnalda.com/tests/item/title/html-cdata.atom</id>
+<title>Atom item title html cdata</title>
+<updated>2005-12-18T00:13:00Z</updated>
+<author>
+  <name>Phil Ringnalda</name>
+  <uri>http://weblog.philringnalda.com/</uri>
+</author>
+<link rel="self" href="http://atomtests.philringnalda.com/tests/item/title/html-cdata.atom"/>
+<entry>
+  <id>http://atomtests.philringnalda.com/tests/item/title/html-cdata.atom/1</id>
+  <title type="html"><![CDATA[&lt;title>]]></title>
+  <updated>2005-12-18T00:13:00Z</updated>
+  <summary>An item with a type="html" title consisting of a less-than 
+character, the word \'title\' and a greater-than character, where 
+the character entity reference for the less-than is escaped by being
+in a CDATA section.</summary>
+  <link href="http://atomtests.philringnalda.com/alt/title-title.html"/>
+  <category term="item title"/>
+</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = '&lt;title>';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/html/entity.php b/simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/html/entity.php
new file mode 100644
index 0000000000..8e4074a2a1
--- /dev/null
+++ b/simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/html/entity.php
@@ -0,0 +1,38 @@
+<?php
+
+class who_knows_a_title_from_a_hole_in_the_ground_html_entity extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+<id>http://atomtests.philringnalda.com/tests/item/title/html-entity.atom</id>
+<title>Atom item title html entity</title>
+<updated>2005-12-18T00:13:00Z</updated>
+<author>
+  <name>Phil Ringnalda</name>
+  <uri>http://weblog.philringnalda.com/</uri>
+</author>
+<link rel="self" href="http://atomtests.philringnalda.com/tests/item/title/html-entity.atom"/>
+<entry>
+  <id>http://atomtests.philringnalda.com/tests/item/title/html-entity.atom/1</id>
+  <title type="html">&amp;lt;title></title>
+  <updated>2005-12-18T00:13:00Z</updated>
+  <summary>An item with a type="html" title consisting of a less-than 
+character, the word \'title\' and a greater-than character, where the 
+character entity reference for the less-than character is escaped by
+replacing the ampersand with a character entity reference.</summary>
+  <link href="http://atomtests.philringnalda.com/alt/title-title.html"/>
+  <category term="item title"/>
+</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = '&lt;title>';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/html/ncr.php b/simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/html/ncr.php
new file mode 100644
index 0000000000..546b09dcc9
--- /dev/null
+++ b/simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/html/ncr.php
@@ -0,0 +1,38 @@
+<?php
+
+class who_knows_a_title_from_a_hole_in_the_ground_html_ncr extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+<id>http://atomtests.philringnalda.com/tests/item/title/html-ncr.atom</id>
+<title>Atom item title html NCR</title>
+<updated>2005-12-18T00:13:00Z</updated>
+<author>
+  <name>Phil Ringnalda</name>
+  <uri>http://weblog.philringnalda.com/</uri>
+</author>
+<link rel="self" href="http://atomtests.philringnalda.com/tests/item/title/html-ncr.atom"/>
+<entry>
+  <id>http://atomtests.philringnalda.com/tests/item/title/html-ncr.atom/1</id>
+  <title type="html">&#38;lt;title></title>
+  <updated>2005-12-18T00:13:00Z</updated>
+  <summary>An item with a type="html" title consisting of a less-than 
+character, the word \'title\' and a greater-than character, where 
+the HTML\'s character entity reference is escaped by replacing the
+ampersand with a numeric character reference.</summary>
+  <link href="http://atomtests.philringnalda.com/alt/title-title.html"/>
+  <category term="item title"/>
+</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = '&lt;title>';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/text/cdata.php b/simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/text/cdata.php
new file mode 100644
index 0000000000..bc34aae069
--- /dev/null
+++ b/simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/text/cdata.php
@@ -0,0 +1,38 @@
+<?php
+
+class who_knows_a_title_from_a_hole_in_the_ground_text_cdata extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+<id>http://atomtests.philringnalda.com/tests/item/title/text-cdata.atom</id>
+<title>Atom item title text in CDATA</title>
+<updated>2005-12-18T00:13:00Z</updated>
+<author>
+  <name>Phil Ringnalda</name>
+  <uri>http://weblog.philringnalda.com/</uri>
+</author>
+<link rel="self" href="http://atomtests.philringnalda.com/tests/item/title/text-cdata.atom"/>
+<entry>
+  
+<id>http://atomtests.philringnalda.com/tests/item/title/text-cdata.atom/1</id>
+  <title type="text"><![CDATA[<title>]]></title>
+  <updated>2005-12-18T00:13:00Z</updated>
+  <summary>An item with a type="text" title consisting of a less-than 
+character, the word \'title\' and a greater-than character, where 
+the less-than is escaped by being in a CDATA section.</summary>
+  <link href="http://atomtests.philringnalda.com/alt/title-title.html"/>
+  <category term="item title"/>
+</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = '&lt;title&gt;';
+	}
+}
+
+?>
diff --git a/simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/text/entity.php b/simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/text/entity.php
new file mode 100644
index 0000000000..c332a93156
--- /dev/null
+++ b/simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/text/entity.php
@@ -0,0 +1,37 @@
+<?php
+
+class who_knows_a_title_from_a_hole_in_the_ground_text_entity extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+<id>http://atomtests.philringnalda.com/tests/item/title/text-entity.atom</id>
+<title>Atom item title text entity</title>
+<updated>2005-12-18T00:13:00Z</updated>
+<author>
+  <name>Phil Ringnalda</name>
+  <uri>http://weblog.philringnalda.com/</uri>
+</author>
+<link rel="self" href="http://atomtests.philringnalda.com/tests/item/title/text-entity.atom"/>
+<entry>
+  <id>http://atomtests.philringnalda.com/tests/item/title/text-entity.atom/1</id>
+  <title type="text">&lt;title></title>
+  <updated>2005-12-18T00:13:00Z</updated>
+  <summary>An item with a type="text" title consisting of a less-than 
+character, the word \'title\' and a greater-than character, where the 
+less-than is escaped with its character entity reference.</summary>
+  <link href="http://atomtests.philringnalda.com/alt/title-title.html"/>
+  <category term="item title"/>
+</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = '&lt;title&gt;';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/text/ncr.php b/simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/text/ncr.php
new file mode 100644
index 0000000000..21cb97c7a0
--- /dev/null
+++ b/simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/text/ncr.php
@@ -0,0 +1,37 @@
+<?php
+
+class who_knows_a_title_from_a_hole_in_the_ground_text_ncr extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+<id>http://atomtests.philringnalda.com/tests/item/title/text-ncr.atom</id>
+<title>Atom item title text NCR</title>
+<updated>2005-12-18T00:13:00Z</updated>
+<author>
+  <name>Phil Ringnalda</name>
+  <uri>http://weblog.philringnalda.com/</uri>
+</author>
+<link rel="self" href="http://atomtests.philringnalda.com/tests/item/title/text-ncr.atom"/>
+<entry>
+  <id>http://atomtests.philringnalda.com/tests/item/title/text-ncr.atom/1</id>
+  <title type="text">&#60;title></title>
+  <updated>2005-12-18T00:13:00Z</updated>
+  <summary>An item with a type="text" title consisting of a less-than 
+character, the word \'title\' and a greater-than character, where the
+less-than character is escaped with a numeric character reference.</summary>
+  <link href="http://atomtests.philringnalda.com/alt/title-title.html"/>
+  <category term="item title"/>
+</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = '&lt;title&gt;';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/xhtml/entity.php b/simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/xhtml/entity.php
new file mode 100644
index 0000000000..3053705aa3
--- /dev/null
+++ b/simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/xhtml/entity.php
@@ -0,0 +1,37 @@
+<?php
+
+class who_knows_a_title_from_a_hole_in_the_ground_xhtml_entity extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+<id>http://atomtests.philringnalda.com/tests/item/title/xhtml-entity.atom</id>
+<title>Atom item title xhtml entity</title>
+<updated>2005-12-18T00:13:00Z</updated>
+<author>
+  <name>Phil Ringnalda</name>
+  <uri>http://weblog.philringnalda.com/</uri>
+</author>
+<link rel="self" href="http://atomtests.philringnalda.com/tests/item/title/xhtml-entity.atom"/>
+<entry>
+  <id>http://atomtests.philringnalda.com/tests/item/title/xhtml-entity.atom/1</id>
+  <title type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">&lt;title></div></title>
+  <updated>2005-12-18T00:13:00Z</updated>
+  <summary>An item with a type="xhtml" title consisting of a less-than 
+character, the word \'title\' and a greater-than character, where the
+less-than character is escaped with its character entity reference.</summary>
+  <link href="http://atomtests.philringnalda.com/alt/title-title.html"/>
+  <category term="item title"/>
+</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = '&lt;title&gt;';
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/xhtml/ncr.php b/simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/xhtml/ncr.php
new file mode 100644
index 0000000000..450e7b3a78
--- /dev/null
+++ b/simplepie/test/who_knows_a_title_from_a_hole_in_the_ground/xhtml/ncr.php
@@ -0,0 +1,37 @@
+<?php
+
+class who_knows_a_title_from_a_hole_in_the_ground_xhtml_ncr extends SimplePie_First_Item_Title_Test
+{
+	function data()
+	{
+		$this->data = 
+'<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+<id>http://atomtests.philringnalda.com/tests/item/title/xhtml-ncr.atom</id>
+<title>Atom item title xhtml ncr</title>
+<updated>2005-12-18T00:13:00Z</updated>
+<author>
+  <name>Phil Ringnalda</name>
+  <uri>http://weblog.philringnalda.com/</uri>
+</author>
+<link rel="self" href="http://atomtests.philringnalda.com/tests/item/title/xhtml-ncr.atom"/>
+<entry>
+  <id>http://atomtests.philringnalda.com/tests/item/title/xhtml-ncr.atom/1</id>
+  <title type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">&#60;title></div></title>
+  <updated>2005-12-18T00:13:00Z</updated>
+  <summary>An item with a type="xhtml" title consisting of a less-than 
+character, the word \'title\' and a greater-than character, where 
+the less-than character is escaped with its numeric character reference.</summary>
+  <link href="http://atomtests.philringnalda.com/alt/title-title.html"/>
+  <category term="item title"/>
+</entry>
+</feed>';
+	}
+	
+	function expected()
+	{
+		$this->expected = '&lt;title&gt;';
+	}
+}
+
+?>
\ No newline at end of file