From 2745a9ff2bb096403098233b20c88c992b9686e9 Mon Sep 17 00:00:00 2001 From: Marko Kunic Date: Tue, 10 Jul 2018 19:13:43 +0200 Subject: [PATCH] xml reader, laravel/lumen integration, tests --- README.md | 232 ++++++++++++++++++ composer.json | 13 +- phpunit.xml.dist | 5 - .../Laravel/ImporterServiceProvider.php | 34 +++ src/Bridge/Lumen/ImporterServiceProvider.php | 34 +++ src/Bridge/Symfony/ImporterBundle.php | 2 +- .../Symfony/Resources/config/services.xml | 4 + ...ortException.php => ImporterException.php} | 2 +- src/Exception/InvalidArgumentException.php | 2 +- src/Exception/NotSupportedException.php | 2 +- src/ImporterFactory.php | 16 +- src/Reader/AbstractReader.php | 3 - src/Reader/XmlReader.php | 34 +++ .../Laravel/ImporterServiceProviderTest.php | 28 +++ .../Lumen/ImporterServiceProviderTest.php | 28 +++ .../ImporterExtensionTest.php | 7 +- tests/Fixtures/ChunkImportClass.php | 14 +- tests/Fixtures/fake.xml | 3 + tests/ImporterTest.php | 88 +++++++ 19 files changed, 526 insertions(+), 25 deletions(-) create mode 100644 src/Bridge/Laravel/ImporterServiceProvider.php create mode 100644 src/Bridge/Lumen/ImporterServiceProvider.php rename src/Exception/{ImportException.php => ImporterException.php} (79%) create mode 100644 src/Reader/XmlReader.php create mode 100644 tests/Bridge/Laravel/ImporterServiceProviderTest.php create mode 100644 tests/Bridge/Lumen/ImporterServiceProviderTest.php create mode 100644 tests/Fixtures/fake.xml diff --git a/README.md b/README.md index f759015..9be40a1 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,241 @@ Importer ======== +Easier import from multiple file types (csv, json, xml, excel). + +Support for Symfony, Lumen and Laravel. + [![PHP Version](https://img.shields.io/badge/php-%5E7.1-blue.svg)](https://img.shields.io/badge/php-%5E7.1-blue.svg) [![Latest Stable Version](https://poser.pugx.org/kunicmarko/importer/v/stable)](https://packagist.org/packages/kunicmarko/importer) [![Latest Unstable Version](https://poser.pugx.org/kunicmarko/importer/v/unstable)](https://packagist.org/packages/kunicmarko/importer) [![Build Status](https://travis-ci.org/kunicmarko20/importer.svg?branch=master)](https://travis-ci.org/kunicmarko20/importer) [![Coverage Status](https://coveralls.io/repos/github/kunicmarko20/importer/badge.svg?branch=master)](https://coveralls.io/github/kunicmarko20/importer?branch=master) + +Documentation +------------- + +* [Installation](#installation) + * [Symfony](#symfony) + * [Laravel](#laravel) + * [Lumen](#lumen) + * [Without Framework](#without-framework) +* [How to use](#how-to-use) + * [ImportClass](#importclass) + * [BeforeImport](#beforeimport) + * [ChunkImport](#chunkimport) + * [Import](#import) + * [Import From File](#import-from-file) + * [Import From String](#import-from-string) +* [Extending](#extending) + +## Installation + +**1.** Add dependency with composer + +```bash +composer require kunicmarko/importer +``` + +### Symfony + +Register the bundle in your `config/bundles.php` + +```php +return [ + //... + KunicMarko\Importer\Bridge\Symfony\ImporterBundle::class => ['all' => true], +]; +``` + +> By default, excel import is disabled, install "phpoffice/phpspreadsheet" to enable it. + +### Laravel + +Register the service provider in your `config/app.php` + +```php +providers' => [ + //... + KunicMarko\Importer\Bridge\Laravel\ImporterServiceProvider::class, +], +``` + +> By default, excel import is disabled, install "phpoffice/phpspreadsheet" to enable it. + +### Lumen + +Register the service provider in your `bootstrap/app.php` + +```php +$app->register(KunicMarko\Importer\Bridge\Lumen\ImporterServiceProvider::class); +``` + +> By default, excel import is disabled, install "phpoffice/phpspreadsheet" to enable it. + +### Without Framework + +Add the Readers you want to use to a Factory and get your Importer: + +```php +use KunicMarko\Importer\ImporterFactory; +use KunicMarko\Importer\Reader\CsvReader; +use KunicMarko\Importer\Reader\JsonReader; +use KunicMarko\Importer\Reader\XmlReader; +use KunicMarko\Importer\Reader\XlsxReader; + +$importerFactory = new ImporterFactory(); + +$importerFactory->addReader(new CsvReader()); +$importerFactory->addReader(new JsonReader()); +$importerFactory->addReader(new XmlReader()); +$importerFactory->addReader(new XlsxReader()); + +$importer = $importerFactory->getImporter('csv'); +$importer->fromString('some,csv,string') + ->useImportClass(new YourImportClass()) + ->import(); +``` + +> If you want to use excel import, install "phpoffice/phpspreadsheet". + +## How to use + +### ImportClass + +Import class defines how should the data be mapped and saves the data. They have to implement +`KunicMarko\Importer\Import` interface. + +```php +namespace KunicMarko\Importer\Tests\Fixtures; + +use KunicMarko\Importer\Import; + +class ImportClass implements Import +{ + public function map(array $item) + { + $user = new User(); + + $user->setUsername($item['username']); + //.. + + return $user; + } + + public function save(array $items): void + { + //save your users + } +} +``` + +#### BeforeImport + +BeforeImport allows your ImportClass to do something with data before the mapping starts. + +```php +namespace KunicMarko\Importer\Tests\Fixtures; + +use KunicMarko\Importer\Import; +use KunicMarko\Importer\BeforeImport; +use Iterator; + +class ImportClass implements Import, BeforeImport +{ + public function before(Iterator $items): Iterator + { + //start from 2nd line + $items->next(); + + return $items; + } +} +``` + +#### ChunkImport + +ChunkImport allows your class to define a number of items that the save method will receive, +instead of receiving all at once. + +```php +namespace KunicMarko\Importer\Tests\Fixtures; + +use KunicMarko\Importer\Import; +use KunicMarko\Importer\ChunkImport; + +class ImportClass implements Import, ChunkImport +{ + public function chunkSize(): int + { + return 50; + } + + public function save(array $items): void + { + //save will be called multiple times with 50 or less items + } +} +``` + +### Import + +After you have defined your import class, you can import from a file or from a string. You HAVE to +provide one of those 2 options and your import class. + +#### Import From File + +```php +use KunicMarko\Importer\ImporterFactory; + +class UserImport +{ + private $importerFactory; + + public function __construct(ImporterFactory $importerFactory) + { + $this->importerFactory = $importerFactory; + } + + public function import() + { + $importer = $importerFactory->getImporter('csv'); + + $importer->fromFile('path/to/file.csv') + ->useImportClass(new YourImportClass()) + ->import(); + } +} +``` + +#### Import From String + +```php +use KunicMarko\Importer\ImporterFactory; + +class UserImport +{ + private $importerFactory; + + public function __construct(ImporterFactory $importerFactory) + { + $this->importerFactory = $importerFactory; + } + + public function import() + { + $importer = $importerFactory->getImporter('csv'); + + $importer->fromString('some,csv,string') + ->useImportClass(new YourImportClass()) + ->import(); + } +} +``` + +> Excel import does not support import from a string. + +## Extending + +You can always add your own custom readers, just implement `KunicMarko\Importer\Reader\Reader` +interface and call `addReader()` method on ImporterFactory. diff --git a/composer.json b/composer.json index b749ee8..aaf2626 100644 --- a/composer.json +++ b/composer.json @@ -7,6 +7,7 @@ "excel", "csv", "json", + "xml", "symfony", "laravel", "lumen" @@ -24,16 +25,24 @@ "php": "^7.1" }, "require-dev": { + "illuminate/support": "^5.6", "matthiasnoback/symfony-dependency-injection-test": "^3.0", + "orchestra/testbench": "~3.0", "phpoffice/phpspreadsheet": "^1.3", "symfony/config": "^3.4 || ^4.0", "symfony/dependency-injection": "^3.4 || ^4.0", - "symfony/http-kernel": "^3.4 || ^4.0", - "symfony/phpunit-bridge": "^4.0" + "symfony/http-kernel": "^3.4 || ^4.0" }, "config": { "sort-packages": true }, + "extra": { + "laravel": { + "providers": [ + "KunicMarko\\Importer\\Bridge\\Laravel\\ImporterServiceProvider" + ] + } + }, "autoload": { "psr-4": { "KunicMarko\\Importer\\": "src/" diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 41f2982..8e47ac3 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -8,7 +8,6 @@ convertWarningsToExceptions="true" processIsolation="false" stopOnFailure="false" - syntaxCheck="false" bootstrap="tests/bootstrap.php" > @@ -17,10 +16,6 @@ - - - - ./src/ diff --git a/src/Bridge/Laravel/ImporterServiceProvider.php b/src/Bridge/Laravel/ImporterServiceProvider.php new file mode 100644 index 0000000..909fccc --- /dev/null +++ b/src/Bridge/Laravel/ImporterServiceProvider.php @@ -0,0 +1,34 @@ + + */ +final class ImporterServiceProvider extends ServiceProvider +{ + public function register() + { + $this->app->singleton(ImporterFactory::class, function ($app) { + $factory = new ImporterFactory(); + + $factory->addReader($app->make(CsvReader::class)); + $factory->addReader($app->make(JsonReader::class)); + $factory->addReader($app->make(XmlReader::class)); + + if (class_exists(Xlsx::class)) { + $factory->addReader($app->make(XlsxReader::class)); + } + + return $factory; + }); + } +} diff --git a/src/Bridge/Lumen/ImporterServiceProvider.php b/src/Bridge/Lumen/ImporterServiceProvider.php new file mode 100644 index 0000000..1c26108 --- /dev/null +++ b/src/Bridge/Lumen/ImporterServiceProvider.php @@ -0,0 +1,34 @@ + + */ +final class ImporterServiceProvider extends ServiceProvider +{ + public function register() + { + $this->app->singleton(ImporterFactory::class, function ($app) { + $factory = new ImporterFactory(); + + $factory->addReader($app->make(CsvReader::class)); + $factory->addReader($app->make(JsonReader::class)); + $factory->addReader($app->make(XmlReader::class)); + + if (class_exists(Xlsx::class)) { + $factory->addReader($app->make(XlsxReader::class)); + } + + return $factory; + }); + } +} diff --git a/src/Bridge/Symfony/ImporterBundle.php b/src/Bridge/Symfony/ImporterBundle.php index ee818c4..da04761 100644 --- a/src/Bridge/Symfony/ImporterBundle.php +++ b/src/Bridge/Symfony/ImporterBundle.php @@ -7,6 +7,6 @@ /** * @author Marko Kunic */ -class ImporterBundle extends Bundle +final class ImporterBundle extends Bundle { } diff --git a/src/Bridge/Symfony/Resources/config/services.xml b/src/Bridge/Symfony/Resources/config/services.xml index 48bcb70..2d1302f 100644 --- a/src/Bridge/Symfony/Resources/config/services.xml +++ b/src/Bridge/Symfony/Resources/config/services.xml @@ -8,9 +8,13 @@ + + + + diff --git a/src/Exception/ImportException.php b/src/Exception/ImporterException.php similarity index 79% rename from src/Exception/ImportException.php rename to src/Exception/ImporterException.php index 89e25dd..60b17f6 100644 --- a/src/Exception/ImportException.php +++ b/src/Exception/ImporterException.php @@ -5,6 +5,6 @@ /** * @author Marko Kunic */ -interface ImportException +interface ImporterException { } diff --git a/src/Exception/InvalidArgumentException.php b/src/Exception/InvalidArgumentException.php index 3925aca..a157960 100644 --- a/src/Exception/InvalidArgumentException.php +++ b/src/Exception/InvalidArgumentException.php @@ -7,6 +7,6 @@ /** * @author Marko Kunic */ -class InvalidArgumentException extends RuntimeException implements ImportException +final class InvalidArgumentException extends RuntimeException implements ImporterException { } diff --git a/src/Exception/NotSupportedException.php b/src/Exception/NotSupportedException.php index b7c4fb2..acba094 100644 --- a/src/Exception/NotSupportedException.php +++ b/src/Exception/NotSupportedException.php @@ -7,6 +7,6 @@ /** * @author Marko Kunic */ -class NotSupportedException extends RuntimeException implements ImportException +final class NotSupportedException extends RuntimeException implements ImporterException { } diff --git a/src/ImporterFactory.php b/src/ImporterFactory.php index 4a58ec1..30ca31a 100644 --- a/src/ImporterFactory.php +++ b/src/ImporterFactory.php @@ -2,8 +2,8 @@ namespace KunicMarko\Importer; +use KunicMarko\Importer\Exception\InvalidArgumentException; use KunicMarko\Importer\Reader\Reader; -use RuntimeException; /** * @author Marko Kunic @@ -11,25 +11,25 @@ final class ImporterFactory { /** - * @var Reader[] + * @var Importer[] */ - private $readers; + private $importers; public function getImporter(string $format): Importer { - if (!array_key_exists($format, $this->readers)) { - throw new RuntimeException(sprintf( + if (!array_key_exists($format, $this->importers)) { + throw new InvalidArgumentException(sprintf( 'Invalid "%s" format, supported formats are : "%s"', $format, - implode(', ', array_keys($this->readers)) + implode(', ', array_keys($this->importers)) )); } - return new Importer($this->readers[$format]); + return $this->importers[$format]; } public function addReader(Reader $reader): void { - $this->readers[$reader->getFormat()] = $reader; + $this->importers[$reader->getFormat()] = new Importer($reader); } } diff --git a/src/Reader/AbstractReader.php b/src/Reader/AbstractReader.php index 614e2b5..cee2913 100644 --- a/src/Reader/AbstractReader.php +++ b/src/Reader/AbstractReader.php @@ -37,7 +37,4 @@ public function fromString(string $content): void $this->content = $content; } - - abstract public function getItems(): Iterator; - abstract public function getFormat(): string; } diff --git a/src/Reader/XmlReader.php b/src/Reader/XmlReader.php new file mode 100644 index 0000000..0595054 --- /dev/null +++ b/src/Reader/XmlReader.php @@ -0,0 +1,34 @@ + + */ +final class XmlReader extends AbstractReader +{ + public function getFormat(): string + { + return 'xml'; + } + + public function getItems(): Iterator + { + if (!$this->filename && !$this->content) { + throw new InvalidArgumentException('Please provide a path to file or content from string.'); + } + + $elements = simplexml_load_string( + $this->filename + ? file_get_contents($this->filename) + : $this->content + ); + + foreach ($elements as $element) { + yield (array) $element; + } + } +} diff --git a/tests/Bridge/Laravel/ImporterServiceProviderTest.php b/tests/Bridge/Laravel/ImporterServiceProviderTest.php new file mode 100644 index 0000000..aae9d80 --- /dev/null +++ b/tests/Bridge/Laravel/ImporterServiceProviderTest.php @@ -0,0 +1,28 @@ +app[ImporterFactory::class]; + + $this->assertInstanceOf(ImporterFactory::class, $factory); + $this->assertInstanceOf(Importer::class, $importer = $factory->getImporter('csv')); + $this->assertAttributeInstanceOf(CsvReader::class, 'reader', $importer); + $this->assertInstanceOf(CsvReader::class, $this->app[CsvReader::class]); + } +} diff --git a/tests/Bridge/Lumen/ImporterServiceProviderTest.php b/tests/Bridge/Lumen/ImporterServiceProviderTest.php new file mode 100644 index 0000000..a02d1b2 --- /dev/null +++ b/tests/Bridge/Lumen/ImporterServiceProviderTest.php @@ -0,0 +1,28 @@ +app[ImporterFactory::class]; + + $this->assertInstanceOf(ImporterFactory::class, $factory); + $this->assertInstanceOf(Importer::class, $importer = $factory->getImporter('csv')); + $this->assertAttributeInstanceOf(CsvReader::class, 'reader', $importer); + $this->assertInstanceOf(CsvReader::class, $this->app[CsvReader::class]); + } +} diff --git a/tests/Bridge/Symfony/DependencyInjection/ImporterExtensionTest.php b/tests/Bridge/Symfony/DependencyInjection/ImporterExtensionTest.php index ae7db88..72f4c07 100644 --- a/tests/Bridge/Symfony/DependencyInjection/ImporterExtensionTest.php +++ b/tests/Bridge/Symfony/DependencyInjection/ImporterExtensionTest.php @@ -4,6 +4,7 @@ use KunicMarko\Importer\Bridge\Symfony\DependencyInjection\ImporterExtension; use KunicMarko\Importer\Reader\XlsxReader; +use KunicMarko\Importer\Reader\XmlReader; use Matthias\SymfonyDependencyInjectionTest\PhpUnit\AbstractExtensionTestCase; /** @@ -13,13 +14,17 @@ class ImporterExtensionTest extends AbstractExtensionTestCase { public function testLoadsFormServiceDefinition(): void { - $this->container->setParameter('kernel.project_dir', $param = 'test'); + $this->container->setParameter('kernel.project_dir', 'test'); $this->load(); $this->assertContainerBuilderHasService( XlsxReader::class, XlsxReader::class ); + + $this->assertContainerBuilderHasService( + XmlReader::class + ); } protected function getContainerExtensions(): array diff --git a/tests/Fixtures/ChunkImportClass.php b/tests/Fixtures/ChunkImportClass.php index ac1811a..e499e96 100644 --- a/tests/Fixtures/ChunkImportClass.php +++ b/tests/Fixtures/ChunkImportClass.php @@ -2,15 +2,25 @@ namespace KunicMarko\Importer\Tests\Fixtures; +use Iterator; +use KunicMarko\Importer\BeforeImport; use KunicMarko\Importer\ChunkImport; use KunicMarko\Importer\Import; use PHPUnit\Framework\TestCase; +use function count; /** * @author Marko Kunic */ -class ChunkImportClass extends TestCase implements Import, ChunkImport +class ChunkImportClass extends TestCase implements Import, ChunkImport, BeforeImport { + public function before(Iterator $items): Iterator + { + $items->next(); + + return $items; + } + public function chunkSize(): int { return 50; @@ -23,6 +33,6 @@ public function map(array $item) public function save(array $items): void { - $this->assertCount(50, $items); + $this->assertLessThanOrEqual(50, count($items)); } } diff --git a/tests/Fixtures/fake.xml b/tests/Fixtures/fake.xml new file mode 100644 index 0000000..99fc992 --- /dev/null +++ b/tests/Fixtures/fake.xml @@ -0,0 +1,3 @@ + + +1LayWetheredlwethered0@time.comMale1.118.36.1102SargentPanniersspanniers1@list-manage.comMale219.209.181.1283KessiahTwitchingktwitching2@privacy.gov.auFemale88.88.105.824SharityBrinklowsbrinklow3@engadget.comFemale93.229.117.1285CarmelleBooth-Jarviscboothjarvis4@zdnet.comFemale106.20.76.416Benedictde Bankebdebanke5@sphinn.comMale50.231.138.2507AbLyburnalyburn6@patch.comMale13.99.23.278FrazierThredderfthredder7@meetup.comMale30.95.233.39AbbyeBroadberryabroadberry8@amazon.co.jpFemale108.74.113.5210OphelieMcLeseomclese9@behance.netFemale55.181.234.19511FilmoreFaireyffaireya@soup.ioMale239.2.1.2212CorrieLeathardcleathardb@arstechnica.comMale233.243.38.5213IraSawbridgeisawbridgec@barnesandnoble.comFemale188.94.254.25014KasperMacCartankmaccartand@jiathis.comMale100.37.113.13015EduinoKubiakekubiake@msu.eduMale142.142.1.7516TiphanieSlucocktslucockf@who.intFemale204.248.79.7317AmalleBehnenabehneng@so-net.ne.jpFemale95.227.133.8918SelieShewrysshewryh@myspace.comFemale103.241.187.18819CandaceBissetcbisseti@reverbnation.comFemale137.171.121.2820ClarettaChretiencchretienj@shinystat.comFemale230.153.143.23621ShaineNesbitsnesbitk@google.frMale240.161.158.24422EssaShoresoneshoresonl@princeton.eduFemale216.229.166.18023HildyWakleyhwakleym@sourceforge.netFemale69.63.150.6224SandieClayhillsclayhilln@g.coFemale134.51.84.25525RorieChastelrchastelo@latimes.comFemale7.1.60.16726EmeldaPawelsepawelsp@unc.eduFemale195.176.204.11627DasieGarberdgarberq@dagondesign.comFemale52.0.126.21928LloydTopingltopingr@prnewswire.comMale129.197.178.16129AdriaLavistealavistes@harvard.eduFemale1.103.217.18430ShaineStubssstubst@desdev.cnFemale14.127.69.4231StantonGrisdalesgrisdaleu@dropbox.comMale24.22.130.18532ChadBirtwistlecbirtwistlev@disqus.comMale156.252.185.15233KimRafterkrafterw@oaic.gov.auFemale149.50.115.23834MireiellePengilleympengilleyx@jigsy.comFemale59.235.92.18535MoorePellermpellery@amazon.co.jpMale90.149.139.9636CamelDuckerscduckersz@tripadvisor.comFemale49.167.241.15737MerylMcVickermmcvicker10@artisteer.comFemale105.88.175.4738MannieO'Sharkeymosharkey11@wiley.comMale124.135.151.24539ThurstanKenntkenn12@xrea.comMale177.24.28.11140MinnaRenalsmrenals13@state.govFemale62.26.179.1241FilberteYeldonfyeldon14@adobe.comMale166.196.144.6742KaiGlasmankglasman15@dropbox.comFemale124.179.15.10843BernhardPhillippbphillipp16@tripadvisor.comMale210.104.240.5644WillowDodellwdodell17@dmoz.orgFemale107.17.245.16445JulesSeebertjseebert18@berkeley.eduMale1.31.96.2746DerwardStrikerdstriker19@sphinn.comMale116.129.242.14547FedoraMarchifmarchi1a@msn.comFemale56.71.182.5048BenedettaGeroldbgerold1b@bloglovin.comFemale149.133.209.6549UlbertoGoulstonugoulston1c@indiatimes.comMale25.202.179.23650AlphonsoAllmondaallmond1d@engadget.comMale246.124.36.21251WendiParoniwparoni1e@wikipedia.orgFemale165.162.96.1252LucitaHiscokelhiscoke1f@marriott.comFemale199.43.179.24153WhitmanMcCarlwmccarl1g@jigsy.comMale170.96.203.3754NikolaBradennbraden1h@amazon.co.jpMale24.134.47.3255Anne-marieBlaisablais1i@wisc.eduFemale51.10.30.5656KarlensDollkdoll1j@auda.org.auMale83.234.177.19057NertyDalzellndalzell1k@ucoz.ruFemale36.60.15.12158OswaldBispoobispo1l@sfgate.comMale117.230.93.23959TybaltHalliburtonthalliburton1m@squarespace.comMale189.192.32.16460LoreenMusgrovelmusgrove1n@bloomberg.comFemale103.105.250.22361MariejeanneO'Scanlonmoscanlon1o@about.meFemale141.187.154.22162FlorrieKernoghanfkernoghan1p@free.frFemale209.50.63.10663VincenzChurchinvchurchin1q@bloglines.comMale152.89.244.18364SherrieMarksmark1r@yahoo.comFemale110.228.11.2365CalypsoRollincrollin1s@columbia.eduFemale47.99.186.1066NikolaFurstnfurst1t@dmoz.orgMale212.1.78.3367RosettePaulerrpauler1u@feedburner.comFemale242.6.144.19068AnalieseAndriuzziaandriuzzi1v@wikispaces.comFemale201.107.109.16969LuisaCallenderlcallender1w@pcworld.comFemale187.219.187.24670AntonsHazzardahazzard1x@creativecommons.orgMale39.247.228.23371AmalleJoslynajoslyn1y@who.intFemale212.61.94.5372ChrisyMacMenamycmacmenamy1z@weibo.comMale156.224.217.19473DougieFarrydfarry20@youtu.beMale19.79.1.7874KingstonCorfieldkcorfield21@springer.comMale45.15.75.21075RubiaWarnrwarn22@posterous.comFemale156.213.225.3576ChanceySkellornecskellorne23@mtv.comMale187.138.151.1777JohnetteRaintonjrainton24@vkontakte.ruFemale64.192.135.19178FreemanWardingtonfwardington25@sitemeter.comMale207.23.55.13179HedwigaDominellihdominelli26@homestead.comFemale218.237.122.7680BurtieWymerbwymer27@nyu.eduMale139.170.235.14681WolfieHairwhair28@opensource.orgMale5.73.69.14682GabrielliaHancornghancorn29@rakuten.co.jpFemale90.150.227.25483GussiWeondgweond2a@amazonaws.comFemale93.56.183.16884GarrySalandinogsalandino2b@cafepress.comMale232.42.101.13685RogerStreaterrstreater2c@tamu.eduMale58.183.60.17486FionnulaLordflord2d@odnoklassniki.ruFemale148.107.183.20287PaddyThravespthraves2e@kickstarter.comMale79.4.238.1788EricBoylundeboylund2f@t-online.deMale234.212.98.9389CaitlinMathiassencmathiassen2g@dedecms.comFemale2.122.157.15190FrederickHoutenfhouten2h@hibu.comMale149.78.28.14091ReiderIbbersonribberson2i@cocolog-nifty.comMale4.34.17.20792SeeRaddenburysraddenbury2j@bigcartel.comMale44.217.160.6393MattieMabbmmabb2k@google.co.ukMale74.185.7.23094ChristianoKarlqvistckarlqvist2l@microsoft.comMale235.15.90.8395GlennaBarlesgbarles2m@seesaa.netFemale222.14.35.22996HaskelBrombyhbromby2n@hubpages.comMale26.107.234.1697BasilioChalderbchalder2o@networkadvertising.orgMale131.14.78.15798KarisaHardernkhardern2p@symantec.comFemale75.96.120.18999MaximilianusSwepsonmswepson2q@bizjournals.comMale147.209.213.73100LamarTilburyltilbury2r@freewebs.comMale8.231.168.203101VerniceMoncarrvmoncarr2s@java.comFemale194.122.201.13102FernandinaManderfmander2t@nasa.govFemale108.58.62.115103MorlyDablinmdablin2u@un.orgMale182.87.252.125104ShirleenLummisslummis2v@mac.comFemale132.18.228.92105SamariaMuzzullosmuzzullo2w@webs.comFemale117.122.182.140106FloryGarberfgarber2x@rakuten.co.jpMale233.197.2.183107TorrinPopplestonetpopplestone2y@indiatimes.comMale152.7.103.42108BernieKilgannonbkilgannon2z@moonfruit.comFemale169.128.146.72109ClementiaWagstaffecwagstaffe30@jiathis.comFemale1.56.103.248110HartwellMenichillohmenichillo31@bluehost.comMale37.21.206.88111MatildaGodiermgodier32@trellian.comFemale146.36.212.184112CurcioNickelscnickels33@imageshack.usMale210.151.191.66113ShenaAdlardsadlard34@uiuc.eduFemale63.159.174.81114ElisabethFidilisefidilis35@goo.glFemale32.87.246.133115JoellynMollinjmollin36@over-blog.comFemale28.178.103.241116RoselineBorgesrborges37@booking.comFemale205.233.137.139117EnriqueHaynesfordehaynesford38@usgs.govMale143.8.249.203118WilfredOliver-Paullwoliverpaull39@businessinsider.comMale75.98.166.48119KleonMarshallsaykmarshallsay3a@spiegel.deMale229.27.73.34120AmandieDaouseadaouse3b@noaa.govFemale15.186.72.180121BriaSpadeckbspadeck3c@ebay.co.ukFemale181.146.139.225122CarlineKaveneyckaveney3d@berkeley.eduFemale53.189.123.68123JarrettTowejtowe3e@howstuffworks.comMale100.205.65.10124PriscillaJammetpjammet3f@qq.comFemale141.210.166.19125RaniaFloderflode3g@digg.comFemale58.32.64.103126KevonTiektie3h@yellowpages.comMale22.8.91.39127EsmaSeatheseath3i@bravesites.comFemale173.76.94.140128BurchSadlierbsadlier3j@unesco.orgMale234.97.52.107129BrionGeertjebgeertje3k@ox.ac.ukMale183.23.112.215130ElanaPetowepetow3l@wikia.comFemale116.177.152.207131LazareKleinbaumlkleinbaum3m@sohu.comMale213.84.107.92132DerickApplegatedapplegate3n@opera.comMale8.101.25.106133HerschGodarhgodar3o@stumbleupon.comMale220.103.158.51134MacBalesmbales3p@hubpages.comMale88.179.28.13135OraBlackateroblackater3q@cbslocal.comFemale148.113.63.66136GranthamVernongvernon3r@house.govMale168.136.150.99137AlisunGowdieagowdie3s@newsvine.comFemale170.6.255.205138KendallRobichonkrobichon3t@weather.comMale51.199.201.227139MaribethDuffreemduffree3u@time.comFemale153.142.153.74140BobbyeSubhanbsubhan3v@biglobe.ne.jpFemale94.148.36.104141JilliLedranejledrane3w@china.com.cnFemale225.78.20.128142RosalynHulmerhulme3x@google.esFemale78.34.151.1143JeraleeRisboroughjrisborough3y@globo.comFemale223.188.212.242144GustaveHeritegegheritege3z@yahoo.co.jpMale227.60.0.214145FreddieRousefrouse40@nifty.comMale69.151.145.222146RandalJeffordrjefford41@ocn.ne.jpMale130.130.233.158147CarissaChaimsoncchaimson42@whitehouse.govFemale57.79.29.72148HeribertoGwilymhgwilym43@rambler.ruMale2.186.123.193149GifferTindleygtindley44@nasa.govMale254.201.82.128150JosiasStanwayjstanway45@squarespace.comMale79.221.14.196151AbShireashire46@163.comMale65.191.225.83152TammieJochananytjochanany47@skype.comMale149.97.47.245153EwartPetoepeto48@uol.com.brMale161.53.190.22154MarnaSturridgemsturridge49@vimeo.comFemale209.188.118.234155BeverlieGraybealbgraybeal4a@apache.orgFemale237.31.34.154156EstellaPryorepryor4b@comsenz.comFemale150.240.7.97157GibbyAllomgallom4c@psu.eduMale164.159.51.3158YasminEllswortheyellsworthe4d@amazon.co.ukFemale242.211.99.184159AustenDainesadaines4e@chron.comMale30.121.17.211160MaryaLoudermlouder4f@cargocollective.comFemale142.212.129.27161DaniPenkedpenke4g@vk.comFemale156.247.241.1162JilliBilbrookjbilbrook4h@domainmarket.comFemale124.81.173.101163KendellKibbyekkibbye4i@merriam-webster.comMale131.132.75.134164NatChellamnchellam4j@cyberchimps.comMale88.97.10.156165MaribellePomfreympomfrey4k@phpbb.comFemale76.55.117.183166Guthriede Mullettgdemullett4l@domainmarket.comMale100.212.215.126167DoreLeckeydleckey4m@fotki.comMale210.218.117.109168DewainHeightondheighton4n@exblog.jpMale170.171.114.160169DelmerTribelldtribell4o@senate.govMale63.2.177.129170JoeAutenjauten4p@usgs.govMale1.166.221.170171VeroniqueIshakvishak4q@printfriendly.comFemale179.161.242.7172HaleSphinxehsphinxe4r@prweb.comMale117.199.219.219173BenitoPeteribpeteri4s@infoseek.co.jpMale93.51.252.98174LeesaOakenfordloakenford4t@webeden.co.ukFemale131.183.27.68175TonnieIlchuktilchuk4u@wikipedia.orgMale65.236.216.45176BenedettoLeckenbybleckenby4v@google.caMale72.147.194.238177RickyJumontrjumont4w@deviantart.comFemale48.195.34.124178ChasBerrymancberryman4x@prweb.comMale194.223.168.36179CorbinWranklingcwrankling4y@paginegialle.itMale65.67.55.191180ShinaLocockslocock4z@gravatar.comFemale165.18.123.209181MaddalenaMacPhersonmmacpherson50@cbc.caFemale21.95.250.93182GarMurpheygmurphey51@state.tx.usMale180.165.189.160183NettieTerrazzonterrazzo52@ucla.eduFemale19.31.31.202184ShelaghStuckfordsstuckford53@nyu.eduFemale174.11.49.77185NevSutterfieldnsutterfield54@weebly.comMale160.6.18.105186HubertBingallhbingall55@themeforest.netMale75.66.12.248187CecileyFlattecflatte56@ezinearticles.comFemale115.223.171.195188VincentyPactatvpactat57@arizona.eduMale131.138.28.118189ChristalChristopherscchristophers58@un.orgFemale208.131.202.177190CrisPochetcpochet59@chicagotribune.comMale113.77.187.168191AnabalHenriqueahenrique5a@technorati.comFemale143.156.250.206192DyanChurchingdchurching5b@joomla.orgFemale176.226.42.252193OralieDuffrieoduffrie5c@abc.net.auFemale72.131.88.125194EllisBenardetebenardet5d@cpanel.netMale173.237.31.191195SibyllaDumbrallsdumbrall5e@examiner.comFemale200.245.246.74196GigiMcPartlingmcpartlin5f@ucsd.eduFemale77.218.72.57197EleneHandfordehandford5g@nps.govFemale96.234.130.232198NickieBrickhamnbrickham5h@mac.comFemale214.48.247.218199WillyBoolerwbooler5i@odnoklassniki.ruMale68.144.197.188200AubeLintinalintin5j@cnet.comMale153.110.169.183201HectorTen Broekhtenbroek5k@godaddy.comMale176.72.150.112202OthoFarthingofarthing5l@ftc.govMale111.72.122.169203FayreAlbasinyfalbasiny5m@ebay.comFemale51.254.96.83204AddyRaesidearaeside5n@europa.euFemale98.60.26.184205MuhammadGadesbymgadesby5o@t-online.deMale179.173.96.227206RexGawenrgawen5p@google.com.auMale166.79.235.88207SalomaMuccismucci5q@cafepress.comFemale180.221.180.214208TabbSuntertsunter5r@independent.co.ukMale232.24.82.175209TallouScamaltscamal5s@msn.comFemale89.254.4.181210MatheGrewesmgrewes5t@nymag.comMale252.243.79.237211RouvinHaldonrhaldon5u@theguardian.comMale9.4.118.51212NormanCrutchleyncrutchley5v@upenn.eduMale176.102.61.144213FainaRaggfragg5w@tumblr.comFemale251.113.163.114214JobieTippingsjtippings5x@google.com.hkFemale118.44.76.18215PattieLillieplillie5y@cocolog-nifty.comMale224.20.147.88216HamishAllcrofthallcroft5z@unc.eduMale117.159.112.227217MarnaFochsmfochs60@icq.comFemale78.203.243.23218NoreneO'Broganenobrogane61@slate.comFemale164.166.155.107219CameronHenrichschenrichs62@icio.usMale164.76.233.198220AlyseBauldreyabauldrey63@mapy.czFemale91.46.108.157221AlbertHaeslierahaeslier64@irs.govMale196.149.26.174222CarlieTidboldctidbold65@simplemachines.orgFemale192.172.76.209223NaneteLincenlince66@japanpost.jpFemale241.177.75.213224PattyTottonptotton67@aol.comFemale214.91.110.176225BonifaceDemainebdemaine68@cmu.eduMale106.189.198.79226IleaneOsemanioseman69@deviantart.comFemale65.117.94.198227HamishJeveshjeves6a@europa.euMale33.94.229.36228Courtde Najeracdenajera6b@icio.usMale131.247.246.173229JacquetteGenckejgencke6c@businessinsider.comFemale192.80.233.203230DollDiessddiess6d@wp.comFemale85.89.19.159231TownsendSymestsymes6e@tmall.comMale193.45.216.222232KaronReinkrein6f@chronoengine.comFemale76.90.244.89233HuntingtonLoftyhlofty6g@tumblr.comMale24.250.145.35234FlorenceDavidgefdavidge6h@tinypic.comFemale136.100.149.175235SadellaSwindallsswindall6i@bigcartel.comFemale230.100.192.174236ToryGilarditgilardi6j@hud.govFemale203.217.168.159237RoisNokernoke6k@google.plFemale210.167.50.72238CesarePetrouliscpetroulis6l@jiathis.comMale135.130.116.178239TrentRaincintraincin6m@gmpg.orgMale59.64.213.3240CandisMcOwencmcowen6n@toplist.czFemale156.162.100.233241AmberlyDictyadicty6o@deviantart.comFemale141.89.177.171242HalleyMacArthurhmacarthur6p@scribd.comFemale151.239.176.133243DoySangodsango6q@cpanel.netMale38.222.235.114244CassiusAlthropecalthrope6r@springer.comMale37.191.233.207245JessamynRadclyffejradclyffe6s@answers.comFemale169.15.5.142246ZacharyStorryzstorry6t@toplist.czMale187.123.129.110247FelicdadTriggsftriggs6u@ed.govFemale143.201.253.209248BlakeleeShilstonebshilstone6v@list-manage.comFemale25.128.42.168249JosiKleinerjkleiner6w@123-reg.co.ukFemale191.63.124.112250BranKentishbkentish6x@reverbnation.comMale81.237.205.110251ParkerLascellesplascelles6y@latimes.comMale127.60.114.33252TuckiePucknelltpucknell6z@fotki.comMale156.204.165.121253LennardLauchlanllauchlan70@usa.govMale19.176.242.10254BarryMaccaribmaccari71@posterous.comFemale165.30.213.218255DerekHuishdhuish72@google.ruMale150.167.227.105256MackCoonmcoon73@wisc.eduMale84.71.173.126257LaureneWellbelovedlwellbeloved74@shutterfly.comFemale53.17.143.92258CornelaAnthoncanthon75@marriott.comFemale136.241.84.158259StaciaErangyserangy76@csmonitor.comFemale39.142.190.157260VasiliMcCaugheyvmccaughey77@boston.comMale101.138.107.8261UrsalaSmogurusmogur78@myspace.comFemale232.147.118.84262NanceyBatkinnbatkin79@acquirethisname.comFemale13.206.188.37263AlasteirHarkinaharkin7a@nytimes.comMale47.169.50.135264GradyDodswellgdodswell7b@parallels.comMale49.92.48.111265EleniDegoyedegoy7c@irs.govFemale109.214.51.176266ArdeenTurbittaturbitt7d@ucoz.ruFemale17.28.232.78267KelsyPranglekprangle7e@seesaa.netFemale208.83.194.11268SaretteYannikovsyannikov7f@rediff.comFemale236.79.167.123269BurgessMac Giolla Pheadairbmacgiollapheadair7g@tuttocitta.itMale96.22.107.34270GabieNiavesgniaves7h@mail.ruMale252.61.31.200271DesCaffreydcaffrey7i@blogspot.comMale17.54.103.246272IagoNaperinaper7j@ustream.tvMale128.81.144.170273ThorndikeOlyunintolyunin7k@msn.comMale40.15.203.179274NickolaCloughnclough7l@php.netMale76.177.143.78275GeorgiannaBansalgbansal7m@npr.orgFemale122.196.16.17276SaraannConcannonsconcannon7n@goo.glFemale50.4.191.34277MarenEtteridgemetteridge7o@symantec.comFemale60.78.233.11278CarriWerrilowcwerrilow7p@hp.comFemale157.123.173.116279ShayneBrauningersbrauninger7q@networkadvertising.orgMale4.76.70.30280JozefTottjtott7r@google.esMale59.59.31.159281JulietLeheudejleheude7s@fastcompany.comFemale0.164.227.168282DukiePaulleydpaulley7t@yahoo.co.jpMale15.253.52.239283OlinLawerenceolawerence7u@sourceforge.netMale88.233.211.30284MarniScarrmscarr7v@shop-pro.jpFemale140.123.70.55285CaesarGiercgier7w@dmoz.orgMale124.80.235.162286LynnelleHurleslhurles7x@tamu.eduFemale63.86.10.129287PyotrSomerfieldpsomerfield7y@redcross.orgMale254.28.224.244288JoaquinOngjong7z@altervista.orgMale128.160.222.190289MichaleDe Carolimdecaroli80@china.com.cnMale132.148.152.180290WhitneySmallpeacewsmallpeace81@yellowbook.comFemale81.137.61.24291LockeKarpovlkarpov82@tuttocitta.itMale65.57.126.99292ErmaPetoepeto83@washington.eduFemale19.106.6.149293GeoffGrievsonggrievson84@google.deMale174.30.222.100294ClaudeKainckain85@ft.comFemale255.178.16.98295VanCrichleyvcrichley86@example.comMale74.94.206.83296ErskineMacIlhaggaemacilhagga87@jimdo.comMale26.9.229.10297GuillemaO'Hartnettgohartnett88@canalblog.comFemale207.175.187.99298MaisonBunkermbunker89@slate.comMale78.132.201.173299DeloresBrimblecombedbrimblecombe8a@gov.ukFemale21.105.247.195300NahumAllainnallain8b@naver.comMale179.120.193.18301AmosLerwellalerwell8c@bandcamp.comMale107.85.225.170302WileenHartrightwhartright8d@parallels.comFemale104.57.182.81303FlorianOdgaardfodgaard8e@epa.govMale54.154.110.174304PaulieHawketphawket8f@stanford.eduMale117.193.16.160305RodCobbercobbe8g@amazon.co.jpMale213.36.165.141306RosemondeWescottrwescott8h@forbes.comFemale47.128.169.101307BairdPensonbpenson8i@nih.govMale15.32.123.195308VirginieBardnamvbardnam8j@delicious.comFemale180.14.199.64309LorilynAudibertlaudibert8k@opera.comFemale66.199.158.221310GalvinLoadergloader8l@csmonitor.comMale18.71.81.127311AmelinaLoftsalofts8m@weibo.comFemale55.97.212.104312AshlieClaisseaclaisse8n@discuz.netFemale164.126.20.151313LevinPyrahlpyrah8o@sourceforge.netMale55.183.62.91314AudrieLe-Goodalegood8p@tuttocitta.itFemale209.80.151.95315DomenicKetteringhamdketteringham8q@domainmarket.comMale58.119.79.163316GabieHakonssonghakonsson8r@instagram.comMale145.76.72.153317ZechariahGranthamzgrantham8s@infoseek.co.jpMale127.74.254.90318ArielArraarr8t@xing.comFemale186.239.33.254319DaniceBurstowdburstow8u@wired.comFemale245.92.127.253320AigneisDansieadansie8v@imdb.comFemale114.143.26.13321VonOdhamsvodhams8w@ed.govMale5.157.143.178322GregoryKleselgklesel8x@stumbleupon.comMale61.239.156.46323SkyeCainsscains8y@altervista.orgMale69.176.231.32324OswellMcGuffogomcguffog8z@wp.comMale77.48.68.7325DyanaHuguenetdhuguenet90@baidu.comFemale82.60.185.5326PhilisStanespstanes91@opera.comFemale4.132.152.219327FrederigoGarretsonfgarretson92@xing.comMale46.87.120.116328GearardGideonggideon93@rakuten.co.jpMale140.180.101.212329HelsaHardyhhardy94@acquirethisname.comFemale37.87.235.213330OrrenLafflinolafflin95@alexa.comMale70.57.229.107331RafaelloDallinderrdallinder96@reddit.comMale196.220.3.188332OsborneHynesohynes97@state.tx.usMale58.129.175.131333DemottSarjentdsarjent98@wp.comMale241.119.195.111334MoselleMosdillmmosdill99@eventbrite.comFemale192.88.198.195335CasarLanteclante9a@sourceforge.netMale150.93.104.58336SimonaCosseyscossey9b@biglobe.ne.jpFemale153.167.68.26337SherwyndAllmannsallmann9c@livejournal.comMale6.186.127.131338DillTempertondtemperton9d@businessweek.comMale189.154.80.47339RozellaAbelovitzrabelovitz9e@businessweek.comFemale184.88.102.125340WeiderJoriswjoris9f@yelp.comMale73.205.156.40341SallyannBainbridgesbainbridge9g@fc2.comFemale249.68.38.189342ChrysteCelliccelli9h@prweb.comFemale240.56.71.232343BironSymondsbsymonds9i@mashable.comMale241.30.170.25344JustineScallanjscallan9j@spotify.comFemale47.237.148.82345JanetaFawleyjfawley9k@ihg.comFemale19.152.9.152346GayleneBomegbome9l@barnesandnoble.comFemale226.160.231.102347DaelGerdesdgerdes9m@scientificamerican.comMale130.208.13.192348NannyWevellnwevell9n@squarespace.comFemale242.161.71.220349JavierThundercliffejthundercliffe9o@bigcartel.comMale163.53.106.197350Anna-dianeStilleastille9p@washington.eduFemale88.214.208.179351VanessaSallervsaller9q@telegraph.co.ukFemale41.34.115.50352JaradSurmonjsurmon9r@go.comMale235.123.220.189353TadioTidridgettidridge9s@ebay.co.ukMale136.48.34.247354MandiKrzyzowskimkrzyzowski9t@ocn.ne.jpFemale125.104.239.136355DomenicIronmongerdironmonger9u@google.caMale54.42.200.208356JaclynFroomejfroome9v@e-recht24.deFemale223.56.15.99357ArtusFelgateafelgate9w@howstuffworks.comMale217.227.166.129358LuzVan Vuurenlvanvuuren9x@usda.govFemale35.8.239.97359AnnabalLuntalunt9y@ft.comFemale229.41.149.16360BarbetteMostenbmosten9z@weibo.comFemale46.225.121.248361ArdysLeffekaleffeka0@meetup.comFemale10.216.44.48362LaytonThoringtonlthoringtona1@wired.comMale68.126.93.65363HelgeVan Leijshvanleijsa2@multiply.comFemale246.194.151.237364RobeniaCharlwoodrcharlwooda3@sbwire.comFemale182.243.213.12365ZackariahArthyzarthya4@google.plMale219.163.90.127366ShermanDallsdalla5@kickstarter.comMale92.23.212.102367WyeStablewstablea6@bizjournals.comMale97.158.105.59368CarceWardcwarda7@ft.comMale128.90.209.34369LorenzoSonlsona8@eepurl.comMale75.96.7.193370TateEdgarstedgarsa9@cnn.comMale195.11.20.150371EvenDraiseyedraiseyaa@feedburner.comMale131.24.24.203372MicheleSharplymsharplyab@newsvine.comMale29.108.122.52373UrsulineAiresuairesac@tuttocitta.itFemale226.221.11.230374CarinSproulcsproulad@imageshack.usFemale147.17.154.87375BingAlpinebalpineae@plala.or.jpMale4.29.100.115376LiukaChethamlchethamaf@usa.govFemale217.210.251.195377ItchMaddoximaddoxag@china.com.cnMale132.112.213.230378BriggsPencostbpencostah@merriam-webster.comMale93.243.225.87379ModestyTerrazzomterrazzoai@weibo.comFemale36.124.58.214380EmeryGerlingegerlingaj@last.fmMale8.141.147.13381TaborStaniontstanionak@merriam-webster.comMale193.118.108.53382RhodyMiliffermiliffeal@reuters.comFemale65.42.30.222383JacinthaDockrilljdockrillam@dailymotion.comFemale188.141.216.170384DomingoHaggerdhaggeran@163.comMale160.79.245.92385SinclareMcGrottysmcgrottyao@trellian.comMale145.184.10.158386KelilaMoakeskmoakesap@hostgator.comFemale125.215.68.157387EvaBurnsydeeburnsydeaq@army.milFemale142.92.44.228388AverylGethinagethinar@eepurl.comFemale145.6.12.176389MaddyMacMeekanmmacmeekanas@spotify.comMale200.104.34.0390MaxJoseymjoseyat@spotify.comFemale165.45.65.82391JdavieAndrinjandrinau@addthis.comMale75.144.90.166392AddaStennerastennerav@aol.comFemale225.218.204.243393AsherWeardenaweardenaw@biblegateway.comMale225.201.158.239394NanineRetchfordnretchfordax@mysql.comFemale115.91.218.74395MacGwyermgwyeray@java.comMale25.95.139.132396SallyanneBasilottasbasilottaaz@phoca.czFemale175.110.44.132397TheressaBulfoytbulfoyb0@google.co.jpFemale103.103.35.176398ZoranaComussozcomussob1@yolasite.comFemale79.11.37.169399AddieMatschekamatschekb2@utexas.eduMale41.66.216.199400UdallO'Dwyeruodwyerb3@huffingtonpost.comMale144.168.156.34401DonaughPouparddpoupardb4@deviantart.comMale159.111.4.222402ReneBaxendalerbaxendaleb5@last.fmFemale200.72.171.111403CalBruhnickecbruhnickeb6@state.tx.usMale29.55.248.227404GustavusWillersongwillersonb7@about.meMale177.199.52.35405LynnGriegerlgriegerb8@zdnet.comMale111.186.183.248406AlysWebleyawebleyb9@clickbank.netFemale200.237.94.150407EuellTosneyetosneyba@smugmug.comMale201.139.245.26408ZaneHousecroftzhousecroftbb@comcast.netMale102.227.3.79409JilleneNorcliffjnorcliffbc@arstechnica.comFemale163.51.3.227410WaylenMowburywmowburybd@usda.govMale176.217.90.46411RoxanaChellamrchellambe@tumblr.comFemale98.223.155.99412AlvanDopsonadopsonbf@cisco.comMale177.136.211.180413PericeOrtellportellbg@whitehouse.govMale219.217.218.33414LockwoodMcOwenlmcowenbh@skype.comMale200.180.203.119415DietrichBrimmdbrimmbi@gizmodo.comMale104.68.111.34416WinthropJakucewiczwjakucewiczbj@geocities.comMale91.79.119.160417PippyMundenpmundenbk@ocn.ne.jpFemale223.247.41.200418GuthrieBlameygblameybl@cafepress.comMale215.126.154.162419CariottaChipmancchipmanbm@4shared.comFemale97.165.2.230420GeorgyBodycombgbodycombbn@storify.comMale188.246.34.5421TeddiDrengtdrengbo@xinhuanet.comFemale126.49.179.150422ErinnAlvesealvesbp@sitemeter.comFemale193.21.241.52423CorneyCowillccowillbq@theguardian.comMale242.233.180.201424MaraPesikmpesikbr@icq.comFemale1.235.203.194425CorillaGavagancgavaganbs@tiny.ccFemale129.47.193.68426Constantinode Glanvillecdeglanvillebt@senate.govMale180.173.130.182427LatrenaFaucettlfaucettbu@wisc.eduFemale199.181.15.64428ShamusBuckysbuckybv@topsy.comMale249.108.92.132429YehudiD'Adamoydadamobw@auda.org.auMale126.193.4.15430GeoffreyReihillgreihillbx@reddit.comMale6.21.162.153431GratiaWitherspoongwitherspoonby@wp.comFemale230.108.184.237432MorrieHounihanmhounihanbz@marriott.comMale210.43.5.62433GuthryPalkegpalkec0@google.com.hkMale7.18.146.131434MoiseBolsovermbolsoverc1@comsenz.comMale177.226.219.120435BilliStickfordbstickfordc2@freewebs.comFemale105.31.148.99436HermanMurfinhmurfinc3@creativecommons.orgMale160.83.121.218437JemieBoundejboundec4@sciencedaily.comFemale235.246.0.49438JaniaMulqueenyjmulqueenyc5@patch.comFemale198.83.16.236439HelenelizabethWorlockhworlockc6@google.ruFemale61.239.244.22440NickolaiGilhespyngilhespyc7@mozilla.comMale174.34.56.41441WillardHeardwheardc8@nyu.eduMale180.26.159.135442EdenWaelandewaelandc9@pen.ioFemale20.220.212.37443PanchitoBrammallpbrammallca@microsoft.comMale216.250.70.94444PailFellispfelliscb@cnn.comMale149.170.248.70445QuincyBrosiniqbrosinicc@ted.comMale193.155.162.105446MarrissaPitrellimpitrellicd@businesswire.comFemale236.160.193.53447LillianClowsleylclowsleyce@webeden.co.ukFemale175.11.239.165448GailSutchgsutchcf@buzzfeed.comMale67.169.188.200449IrenaDegoyidegoycg@cbsnews.comFemale212.189.232.84450MackSapshedmsapshedch@upenn.eduMale196.239.174.231451MyrticeOldismoldisci@tinypic.comFemale89.16.82.162452GloriSaygsaycj@histats.comFemale181.204.214.219453FredericO'Reillyforeillyck@tumblr.comMale129.45.3.127454VioletteRennoldsvrennoldscl@example.comFemale2.155.6.33455BaileyBanghambbanghamcm@wired.comMale204.156.88.97456ClemmieRatleycratleycn@nbcnews.comMale139.174.248.34457GustaveShenfischgshenfischco@blogspot.comMale108.173.13.243458SusanVedeniktovsvedeniktovcp@gmpg.orgFemale187.220.76.203459MirabelPargettermpargettercq@nifty.comFemale119.116.37.208460DronaCastrodcastrocr@stanford.eduFemale209.77.210.83461RustieKohnrkohncs@prnewswire.comMale107.135.243.25462FarrellSwanbournefswanbournect@discovery.comMale174.131.134.182463AntonieOgdahlaogdahlcu@odnoklassniki.ruFemale109.100.106.99464ShaineArmitsarmitcv@virginia.eduMale32.16.191.185465BankFreschinibfreschinicw@prnewswire.comMale154.0.255.134466RobertaWissbyrwissbycx@cisco.comFemale213.220.19.218467VinaFontellvfontellcy@house.govFemale236.74.121.214468SymanTschurschstschurschcz@apple.comMale26.183.242.116469GlenineLongthornglongthornd0@ovh.netFemale221.63.123.98470EmogeneGillyettegillyettd1@parallels.comFemale42.163.190.240471DaisyFitzpatrickdfitzpatrickd2@engadget.comFemale145.212.235.251472OrrinMarcroftomarcroftd3@trellian.comMale97.193.37.180473LaureneDidsburyldidsburyd4@pagesperso-orange.frFemale156.188.83.164474GailBoyallgboyalld5@sun.comMale222.226.238.212475AubretteDumkeadumked6@godaddy.comFemale139.203.21.244476AbeyCastanedaacastanedad7@vkontakte.ruMale167.41.8.10477RyannBarrasrbarrasd8@so-net.ne.jpFemale201.208.255.137478JudeLeckeyjleckeyd9@elpais.comMale228.225.54.53479AlbieHaweahaweda@dailymotion.comMale2.145.38.29480YancyCasoneycasonedb@cdc.govMale70.121.110.45481L;uretteBoydonlboydondc@youtube.comFemale94.9.98.5482DunTrusselldtrusselldd@webs.comMale132.119.215.252483EngelbertCheccucciecheccuccide@geocities.jpMale118.30.9.219484WatDunbobinwdunbobindf@g.coMale214.153.203.215485HerrickAngoodhangooddg@walmart.comMale137.99.236.179486CassyMateevcmateevdh@icq.comFemale193.235.181.178487MyGleadlemgleadledi@hexun.comMale53.117.36.220488TressaAimertaimerdj@flavors.meFemale227.165.74.206489PammiSiredpsireddk@telegraph.co.ukFemale163.167.74.6490NollieEscaleranescaleradl@google.deMale119.138.4.59491NevsaGarlicngarlicdm@abc.net.auFemale173.115.121.254492AidanBerriballaberriballdn@google.com.auFemale55.143.118.152493StefanieMacCrannsmaccranndo@meetup.comFemale33.116.255.244494AuriaYeilesayeilesdp@freewebs.comFemale95.229.57.242495CrichtonGodsmarkcgodsmarkdq@is.gdMale71.170.102.42496WendellGonsalvowgonsalvodr@time.comMale46.58.53.16497DavetaBolducdbolducds@list-manage.comFemale193.23.85.16498DiandraLucianidlucianidt@walmart.comFemale204.131.100.4499TimofeiTaxttaxdu@qq.comMale18.14.243.7500TyWimestwimesdv@dmoz.orgMale174.165.171.113501JeddPankethjpankethdw@about.meMale142.90.63.242502AngelicaMirrleesamirrleesdx@freewebs.comFemale165.89.55.158503CatrinaJerremscjerremsdy@ocn.ne.jpFemale146.61.13.228504OraFortnonofortnondz@hugedomains.comFemale121.55.145.87505LeslieDysartldysarte0@mashable.comFemale95.122.152.184506SonnieMcAnellyesmcanellyee1@friendfeed.comMale33.98.73.58507LennardGoadylgoadye2@blogtalkradio.comMale227.97.160.1508ClaryCrowcombeccrowcombee3@mac.comFemale163.19.247.199509EleanoraCattecatte4@posterous.comFemale253.213.30.167510Kara-lynnEdykedye5@4shared.comFemale230.125.120.82511DayleWhelbanddwhelbande6@techcrunch.comFemale125.174.249.83512FlorryAtkinsfatkinse7@ed.govFemale131.238.66.240513EdgarWoolertonewoolertone8@ted.comMale185.37.142.198514SkippyBerisfordsberisforde9@imdb.comMale44.179.137.216515MuireDahlbommdahlbomea@webnode.comFemale230.185.138.109516WindyFaddenwfaddeneb@amazon.co.ukFemale224.130.4.126517IliseGlanfieldiglanfieldec@tripod.comFemale161.213.218.12518FabianMitiefmitieed@hp.comMale76.250.107.38519HarriRozeahrozeaee@google.esFemale103.79.89.8520CarlotaJenickecjenickeef@google.frFemale53.148.120.247521ThorvaldGombytgombyeg@dell.comMale222.12.49.89522MorieFukemfukeeh@army.milMale86.143.65.203523ConradMafficmaffiei@pcworld.comMale87.103.41.239524WeberSheppeywsheppeyej@apache.orgMale141.51.94.87525BryonLeahairbleahairek@mozilla.orgMale24.186.232.82526SherriAlywensalywenel@booking.comFemale249.26.190.32527JoscelinBemlottjbemlottem@issuu.comFemale150.27.4.250528ElmoTailbyetailbyen@eventbrite.comMale242.71.229.142529KainCobonkcoboneo@walmart.comMale130.102.133.254530SheriRedhousesredhouseep@nyu.eduFemale145.159.250.219531RolandStaddingrstaddingeq@nsw.gov.auMale61.198.8.231532NaomaDonativondonativoer@google.esFemale219.102.194.82533LindsayIpsleylipsleyes@angelfire.comFemale201.99.223.163534DesmondEvangelinosdevangelinoset@unc.eduMale44.69.186.63535GayHeaneygheaneyeu@state.govMale32.65.184.35536MurrayLightonmlightonev@technorati.comMale236.68.224.218537ConnorCheesleyccheesleyew@nationalgeographic.comMale217.179.142.168538FelikeLystonflystonex@yahoo.co.jpMale46.123.88.33539ClercAbramincabraminey@reference.comMale200.98.59.2540HershelHutchcrafthhutchcraftez@yelp.comMale202.65.26.47541BrandHawsbhawsf0@nyu.eduMale92.131.107.138542BetsyLiefblieff1@ted.comFemale115.44.248.239543ReneeGulcrgulcf2@google.co.jpFemale6.153.12.59544MannyO'Griffinmogriffinf3@yolasite.comMale251.85.44.16545MarleneManochmmanochf4@icio.usFemale235.243.157.46546DerrikMantramdmantramf5@sfgate.comMale175.159.55.216547AlejandraBalintabalintf6@msn.comFemale131.34.147.33548FredericoHubboldfhubboldf7@accuweather.comMale16.81.85.108549RozRestillrrestillf8@digg.comFemale73.48.212.150550LeelahEndlendf9@icio.usFemale96.240.0.241551NateHerrerannherreranfa@apple.comMale188.60.185.188552ZanetaMaruskazmaruskafb@craigslist.orgFemale218.57.156.23553JennAlldisjalldisfc@booking.comFemale136.143.169.53554PiersonBodicumpbodicumfd@hubpages.comMale137.26.179.252555DianemarieRosenqvistdrosenqvistfe@icq.comFemale147.128.82.201556BlaireStarbuckebstarbuckeff@cbslocal.comFemale209.219.166.30557LambertLauritsenllauritsenfg@chronoengine.comMale138.104.233.106558JanayaHovyjhovyfh@businessweek.comFemale73.91.18.120559IngaborgMeneuximeneuxfi@woothemes.comFemale151.224.202.231560IraRhodefirhodeffj@uol.com.brFemale224.187.16.204561ArnuadYushankinayushankinfk@go.comMale182.13.188.163562EulaMalarkeyemalarkeyfl@cisco.comFemale197.132.230.159563WandaDunsmorewdunsmorefm@homestead.comFemale30.170.118.59564ThomIddytiddyfn@theguardian.comMale143.201.215.176565ZolaClarricoateszclarricoatesfo@eventbrite.comFemale177.172.158.215566LibbyTerringtonlterringtonfp@nationalgeographic.comFemale151.190.206.34567SalliWeatherellsweatherellfq@nps.govFemale169.90.240.247568LaylaGoscomblgoscombfr@myspace.comFemale16.42.170.71569SibylWethswethfs@ask.comFemale183.76.139.20570NicoHeritynherityft@army.milMale135.154.216.177571FanniShurmerfshurmerfu@china.com.cnFemale109.55.145.119572BranWingattbwingattfv@diigo.comMale203.62.82.55573DesireeBurchettdburchettfw@dion.ne.jpFemale35.119.169.56574WillemIvashchenkowivashchenkofx@japanpost.jpMale172.60.90.35575JacquieSimonatojsimonatofy@wikimedia.orgFemale67.111.239.107576BenjamenDaviotbdaviotfz@ycombinator.comMale57.152.49.64577LetiziaBurkwoodlburkwoodg0@com.comFemale100.54.95.5578JudeAjsikjajsikg1@ca.govMale127.139.176.213579CareyFerronetcferronetg2@newyorker.comFemale151.16.57.183580EvGeardegeardg3@cnbc.comMale112.254.24.108581HaileyScurmanhscurmang4@prlog.orgMale126.224.136.28582EleanorCallowecallowg5@addtoany.comFemale161.188.212.54583MaddalenaAlsoppmalsoppg6@yahoo.co.jpFemale146.178.235.234584LennaJanuljanug7@irs.govFemale66.77.6.160585FifineDuberyfduberyg8@twitter.comFemale215.236.252.174586ValliDidsburyvdidsburyg9@reference.comFemale212.50.195.68587AaronRowlinarowlinga@about.meMale43.61.199.79588ElmerRimeserimesgb@wikispaces.comMale67.214.254.12589TiffyTurfstturfsgc@amazon.comFemale49.74.183.191590AdolphoStoeckastoeckgd@vinaora.comMale167.121.134.62591BeatrixHouldeybhouldeyge@mashable.comFemale86.126.250.102592YoshiFersonyfersongf@earthlink.netFemale109.93.182.66593RomonaVan de Vliesrvandevliesgg@sohu.comFemale198.233.89.139594KathDelguakdelguagh@paginegialle.itFemale20.109.226.247595KincaidJahnelkjahnelgi@vkontakte.ruMale11.123.46.115596ElishaBundeyebundeygj@hatena.ne.jpMale31.20.195.8597LoiseBussylbussygk@blinklist.comFemale13.85.210.32598DudleyBiancodbiancogl@phpbb.comMale208.97.27.248599LyReasonlreasongm@buzzfeed.comMale85.226.2.225600GiseleSchapirogschapirogn@blinklist.comFemale152.74.107.198601FloRickerdfrickerdgo@elegantthemes.comFemale48.145.93.201602ErnestusSealeesealegp@imageshack.usMale240.52.160.207603AlexandrosJoiceyajoiceygq@bbb.orgMale177.232.217.208604KendallUssherkusshergr@eventbrite.comMale81.233.134.228605AlwynLagdealagdegs@woothemes.comMale124.240.204.223606HansAhmadhahmadgt@hhs.govMale29.78.82.87607LyonKetchasidelketchasidegu@people.com.cnMale193.127.15.60608ChrysaRostoncrostongv@ustream.tvFemale61.83.169.242609DaisyLosebiedlosebiegw@cyberchimps.comFemale45.7.205.168610BertramJimsonbjimsongx@ehow.comMale101.178.27.150611GrahamWhitemangwhitemangy@si.eduMale168.109.105.238612HilaryGoldsackhgoldsackgz@domainmarket.comFemale127.64.46.228613CleoHushchushh0@newyorker.comFemale223.117.183.119614CristenTreweekctreweekh1@privacy.gov.auFemale108.223.148.200615CyrillusLuxtoncluxtonh2@sohu.comMale203.200.29.28616NeddyGillingngillingh3@flickr.comMale12.91.156.123617TheobaldAssitertassiterh4@elpais.comMale176.233.178.41618BasilioBaitmanbbaitmanh5@canalblog.comMale150.36.6.217619TadesStellintstellinh6@woothemes.comMale39.76.166.221620BeauJurekbjurekh7@soup.ioMale203.212.147.47621LemmieHarbarlharbarh8@toplist.czMale160.169.182.101622DorolisaVallenderdvallenderh9@telegraph.co.ukFemale200.78.41.33623JoseBeedomjbeedomha@biglobe.ne.jpMale190.42.219.21624WainwrightFernelywfernelyhb@engadget.comMale137.92.246.255625KatharynWhybornekwhybornehc@discovery.comFemale136.246.97.70626FiliaLaugheranflaugheranhd@newyorker.comFemale162.124.52.92627DelaRandaldrandalhe@auda.org.auFemale170.28.83.78628StanislausTarrantstarranthf@tamu.eduMale86.86.181.149629CoriWhelptoncwhelptonhg@edublogs.orgFemale132.49.175.56630DotTimmonsdtimmonshh@theglobeandmail.comFemale128.144.134.217631ElseyLernihanelernihanhi@state.govFemale245.148.221.116632TimmieSommerlingtsommerlinghj@vk.comFemale139.77.140.157633WardeKybirdwkybirdhk@paginegialle.itMale41.15.2.124634JaclynAparkjaparkhl@photobucket.comFemale66.221.184.34635AymerFardenafardenhm@ucoz.ruMale27.64.189.55636DarnallOverilldoverillhn@oakley.comMale138.75.82.57637LuciaEzzlelezzleho@princeton.eduFemale17.40.227.119638AlissaPhelpsaphelpshp@cmu.eduFemale112.94.73.157639CourtneyAlwaycalwayhq@netvibes.comMale196.144.145.101640JessalynCrunkhurnjcrunkhurnhr@usa.govFemale19.65.79.68641RuthieVon Brookrvonbrookhs@cnn.comFemale78.180.50.86642TawnyaHardingtonthardingtonht@rambler.ruFemale171.52.39.179643JedediahBartalotjbartalothu@stanford.eduMale9.171.200.77644BancroftYakunkinbyakunkinhv@mayoclinic.comMale74.246.95.117645BardeWolpertbwolperthw@51.laMale219.44.93.235646AlisunLukinsalukinshx@cbsnews.comFemale133.105.160.217647HadriaEalamhealamhy@independent.co.ukFemale194.229.236.128648VaughnBlenkironvblenkironhz@photobucket.comMale134.180.177.255649RobinettaPoerpoei0@instagram.comFemale21.189.103.109650HananKettleshkettlesi1@blogtalkradio.comMale191.140.36.115651TiertzaWilliscrofttwilliscrofti2@ed.govFemale119.221.191.150652XerxesSinnatxsinnati3@phoca.czMale42.255.213.201653JorieDoickjdoicki4@topsy.comFemale50.247.43.174654JaymeCrambiejcrambiei5@creativecommons.orgMale142.81.177.40655JohnnieConnechiejconnechiei6@un.orgMale178.49.60.167656KathiePremblekpremblei7@wsj.comFemale21.58.177.62657AntonioKenafaqueakenafaquei8@macromedia.comMale221.78.237.101658TobySlopiertslopieri9@1688.comMale76.31.162.184659VladDepkevdepkeia@wix.comMale7.94.12.127660LucianRowlandlrowlandib@51.laMale20.96.120.2661WaverleyRydingwrydingic@phoca.czMale72.145.213.205662BertieTolemachebtolemacheid@myspace.comFemale105.250.251.158663CarolineKilsbyckilsbyie@edublogs.orgFemale238.121.132.137664KaceyMablykmablyif@google.ruFemale119.10.194.54665BethanneLampetblampetig@privacy.gov.auFemale30.223.128.56666PhillipKmieciakpkmieciakih@taobao.comMale219.16.32.130667WaylonEsterbrookwesterbrookii@nyu.eduMale12.73.18.252668ScottyPaulazzispaulazziij@vinaora.comMale139.161.0.95669JodeeArberjarberik@51.laFemale94.164.127.39670VinaSacksvsacksil@fotki.comFemale2.178.195.247671DionysusWoodusdwoodusim@sogou.comMale71.155.13.63672ClaybornMattiazzocmattiazzoin@mayoclinic.comMale201.151.50.45673RudyardWakelyrwakelyio@theguardian.comMale173.17.63.122674GeryLettleyglettleyip@mtv.comMale103.10.46.131675ZeligEglinzegliniq@squidoo.comMale26.2.187.161676LemmieFollettlfollettir@cafepress.comMale117.203.251.193677CharmaineThumanncthumannis@stumbleupon.comFemale169.166.73.184678OfiliaCarnocarnit@issuu.comFemale107.173.70.179679BrewsterGibbettbgibbettiu@cloudflare.comMale32.218.236.205680JosieTealjtealiv@cam.ac.ukFemale96.184.137.239681EddPleasantsepleasantsiw@google.com.brMale174.226.111.161682ClioWernhercwernherix@chicagotribune.comFemale168.186.69.114683FieldEffauntfeffauntiy@usda.govMale209.69.178.44684HewittStockoehstockoeiz@chicagotribune.comMale79.111.38.122685HaydenCowopehcowopej0@smugmug.comMale73.191.6.32686FlinDoerfferfdoerfferj1@smugmug.comMale165.184.146.245687OreliaNapolitanoonapolitanoj2@netlog.comFemale154.224.182.94688GrannieLittlekitglittlekitj3@livejournal.comMale12.67.156.7689WolfieAdnettwadnettj4@prweb.comMale77.55.67.176690RaimundChatteyrchatteyj5@cbslocal.comMale95.178.117.173691GarryBohjegbohjej6@gizmodo.comMale142.43.97.148692L;uretteShoardlshoardj7@g.coFemale41.68.19.59693MargeSheramsheraj8@opensource.orgFemale136.190.73.233694GrantleyRentelllgrentelllj9@globo.comMale241.41.68.100695DiandraOrmstondormstonja@e-recht24.deFemale72.158.173.2696LeannScarfelscarfejb@weebly.comFemale214.120.145.76697JaquelynTallentjtallentjc@liveinternet.ruFemale0.230.56.117698FarlyGoldsackfgoldsackjd@blogspot.comMale46.73.121.20699BlakeDeelaybdeelayje@delicious.comMale143.82.100.47700ShellyCaterscaterjf@multiply.comFemale56.74.226.202701VittoriaArchbouldvarchbouldjg@nyu.eduFemale80.246.244.94702AndreasDoakadoakjh@ft.comMale203.62.25.246703RosyFromontrfromontji@parallels.comFemale158.245.80.77704BillLayusblayusjj@360.cnMale2.114.35.78705GwenetteRopergroperjk@a8.netFemale24.186.216.204706MalvinaElstonemelstonejl@paginegialle.itFemale23.143.170.35707AnnaliseMarnesamarnesjm@webeden.co.ukFemale122.75.136.250708WaylinRadfordwradfordjn@about.meMale209.222.81.208709KymGrimditchkgrimditchjo@flavors.meFemale58.208.221.181710JasunEamerjeamerjp@ibm.comMale248.228.40.86711ClarestaPhipsoncphipsonjq@joomla.orgFemale92.180.162.16712SargeGookessgookesjr@elpais.comMale239.238.201.8713SandersPollackspollackjs@scribd.comMale135.176.123.169714GayleenLagneauxglagneauxjt@icq.comFemale228.237.137.185715GlennisMoylanegmoylaneju@foxnews.comFemale4.80.94.228716DeenaManjindmanjinjv@taobao.comFemale255.98.76.25717MargoSchuttemschuttejw@phoca.czFemale97.238.224.84718AileneAllbutaallbutjx@wufoo.comFemale205.141.79.19719NielsBurneynburneyjy@vistaprint.comMale83.83.130.170720DarynScobiedscobiejz@hao123.comFemale173.133.188.232721JulianFulunjfulunk0@myspace.comMale85.85.247.135722MaureenDukesmdukesk1@gizmodo.comFemale106.125.21.210723LewissZuppalzuppak2@moonfruit.comMale3.150.89.184724TheodoricO' Mulderrigtomulderrigk3@comsenz.comMale59.165.25.183725PersisFerrarinpferrarink4@state.tx.usFemale183.193.65.206726ChesterPlacidecplacidek5@ihg.comMale168.131.138.61727WendiPhilippetwphilippetk6@surveymonkey.comFemale34.58.161.77728TonieBittlestonetbittlestonek7@toplist.czFemale178.48.42.50729OberonHuggonohuggonk8@foxnews.comMale153.107.244.26730LeanorAntunezlantunezk9@wp.comFemale70.152.61.186731CaritaGamblescgambleska@marriott.comFemale119.228.1.191732EdDownageedownagekb@joomla.orgMale210.102.120.186733HoltBrimmanhbrimmankc@twitpic.comMale74.170.207.65734CamMcCalumcmccalumkd@nationalgeographic.comMale122.108.48.141735VidovikLallyvlallyke@netvibes.comMale29.3.94.229736CedPaulsoncpaulsonkf@github.ioMale100.31.194.243737ArcherWayonawayonkg@google.com.brMale152.239.65.192738MerilynEllamsmellamskh@51.laFemale234.167.72.229739GlennHansghanski@kickstarter.comFemale131.189.102.164740VassiliCroisiervcroisierkj@apache.orgMale232.28.192.67741MaynordTeazemteazekk@microsoft.comMale242.63.226.189742FredericaStrognellfstrognellkl@sohu.comFemale123.173.109.173743ReinoldPaschorpaschokm@va.govMale146.206.141.149744RutgerKlaggerklaggekn@mashable.comMale215.37.233.122745LucieDeerrldeerrko@latimes.comFemale225.49.139.187746TrixyEssextessexkp@paypal.comFemale229.200.123.243747RayBentham3rbenthamkq@ow.lyMale172.113.198.117748AngeliNozzoliianozzoliikr@wikispaces.comMale119.177.77.235749AbigailFeakafeakks@eepurl.comFemale183.109.112.36750AngeliVezeyavezeykt@va.govMale25.208.152.206751ShelliEuplateseuplateku@squidoo.comFemale166.55.79.165752MarlaneOttawellmottawellkv@umich.eduFemale210.138.190.250753EnriqueDydeedydekw@theguardian.comMale19.132.78.130754AvromRobroearobroekx@wunderground.comMale197.242.229.79755OlenolinRiccioppooriccioppoky@usatoday.comMale160.165.250.74756MarylRoafmroafkz@businessweek.comFemale80.154.188.140757FredericLaurandflaurandl0@vimeo.comMale212.176.113.42758AshiaWeedonaweedonl1@princeton.eduFemale134.228.110.72759BobinaArnauducbarnauducl2@ox.ac.ukFemale16.1.233.59760VonniSinghvsinghl3@springer.comFemale168.170.72.158761ArmandoCovertacovertl4@hostgator.comMale182.20.151.243762SterlingTollerstollerl5@businessinsider.comMale253.145.208.246763ChrissyFostcfostl6@yolasite.comFemale80.12.144.160764BrennRobbiebrobbiel7@miibeian.gov.cnFemale205.149.130.22765GuntarTomkysgtomkysl8@arstechnica.comMale39.76.131.187766MohandasAndormandorl9@shop-pro.jpMale212.186.221.133767MarleahLadonmladonla@about.meFemale214.92.90.2768ZuzanaKinastanzkinastanlb@exblog.jpFemale134.214.248.189769GiacoboCheavingcheavinlc@mayoclinic.comMale157.230.5.137770IvesBlakslandiblakslandld@state.govMale205.116.41.10771AndresGheorghieagheorghiele@home.plMale185.197.199.184772RaynaRubegarrubegalf@bloomberg.comFemale100.242.110.136773AdlerChettoeachettoelg@amazon.deMale65.241.134.209774SkellCrosescroselh@mail.ruMale117.30.33.106775YulmaHammelyhammelli@simplemachines.orgMale168.217.23.70776KoenraadWhitefordkwhitefordlj@amazon.co.ukMale90.232.247.197777EdwinaBaumeebaumelk@eventbrite.comFemale116.188.13.14778MoniqueMilnesmmilnesll@etsy.comFemale146.126.104.153779MargaretteOrringemorringelm@tinypic.comFemale52.217.115.92780MitziKalinovichmkalinovichln@google.comFemale46.224.188.132781CaronGrevescgreveslo@nih.govFemale48.134.175.82782RenadoKenwardrkenwardlp@ocn.ne.jpMale103.9.97.48783WinfredLaynewlaynelq@businessinsider.comMale37.74.153.113784ClyveChapplecchapplelr@apple.comMale212.22.104.192785EvelineTickleeticklels@intel.comFemale99.23.77.223786ArielPoluzziapoluzzilt@technorati.comMale187.76.238.98787JakieMoncreifjmoncreiflu@typepad.comMale55.106.143.53788MayneWhatsonmwhatsonlv@purevolume.comMale165.80.33.0789ChelseyDonhardtcdonhardtlw@wikia.comFemale187.176.155.192790NobyZanninzannilx@newyorker.comMale114.104.21.215791MariusAimablemaimablely@dailymail.co.ukMale1.160.58.67792RahalFerrierrferrierlz@ox.ac.ukFemale49.78.210.26793NesterCrippesncrippesm0@illinois.eduMale142.36.189.123794DynaMunnisdmunnism1@dyndns.orgFemale238.215.209.230795FarraUphillfuphillm2@cpanel.netFemale196.41.5.155796KassCarlkcarlm3@jimdo.comFemale77.51.77.19797DaveNasondnasonm4@netlog.comMale79.116.167.103798ArdeniaKeransakeransm5@psu.eduFemale238.122.159.140799GabyBewshawgbewshawm6@huffingtonpost.comFemale1.99.140.8800LeesaExtancelextancem7@nhs.ukFemale18.37.74.230801TrudyBowdlertbowdlerm8@cdc.govFemale108.37.201.211802CharmaineBelzcbelzm9@army.milFemale244.201.31.102803AldridgeMeaneyameaneyma@slashdot.orgMale244.111.50.191804ZollieLawleffzlawleffmb@weibo.comMale158.43.3.182805PaulettaHamblinphamblinmc@china.com.cnFemale97.106.164.200806KristoforPilfoldkpilfoldmd@usa.govMale244.75.110.67807DuffGrogonodgrogonome@unicef.orgMale34.141.106.72808ShemPiellspiellmf@usatoday.comMale167.181.184.18809XimenesAronovitzxaronovitzmg@clickbank.netMale105.62.90.112810RaquelaPinchesrpinchesmh@statcounter.comFemale6.19.48.53811WynnAtackwatackmi@icio.usMale183.176.214.154812HobardPalayhpalaymj@princeton.eduMale250.238.20.127813GeorgiPoorgpoormk@taobao.comMale229.171.56.198814RoseannGreedyrgreedyml@cornell.eduFemale210.159.140.103815DareMeijerdmeijermm@miibeian.gov.cnMale29.128.171.116816SadyeMacurasmacuramn@youtube.comFemale88.255.27.147817LoreleiScarfflscarffmo@virginia.eduFemale228.119.94.143818MalissaHemshallmhemshallmp@unesco.orgFemale1.182.94.0819DonnieBruinsdbruinsmq@bravesites.comMale219.213.234.162820SkylerPaffotspaffotmr@sourceforge.netMale160.54.158.236821PepilloWorkpworkms@nba.comMale50.98.230.187822DevoraFindondfindonmt@mail.ruFemale232.32.251.81823TamqrahCoffintcoffinmu@google.ruFemale146.186.88.179824IgorCainsicainsmv@arstechnica.comMale154.140.191.1825DylanLorrawaydlorrawaymw@loc.govMale60.254.15.69826LiseGeverlgevermx@baidu.comFemale58.72.54.190827HartwellRaithbyhraithbymy@tamu.eduMale26.138.193.66828MonikaMayfieldmmayfieldmz@fda.govFemale78.41.224.41829CamalaCosgraveccosgraven0@imgur.comFemale241.219.226.135830CollieValentinocvalentinon1@multiply.comFemale222.200.196.179831ConniMatouscmatousn2@t-online.deFemale189.13.176.113832CoreyBenezcbenezn3@google.caMale142.171.32.211833ErastusTzarkovetzarkovn4@ovh.netMale193.232.203.185834FionnulaGreginefgreginen5@yahoo.co.jpFemale6.49.14.240835NanceeScarsbrooknscarsbrookn6@ocn.ne.jpFemale55.194.174.75836CorriePeoplecpeoplen7@patch.comFemale83.64.111.240837BrittOkkerbokkern8@dailymotion.comMale100.121.196.236838BernardBurkebburken9@over-blog.comMale10.59.255.92839KaylaGehringkgehringna@mlb.comFemale173.45.159.11840MauricioDainesmdainesnb@comcast.netMale27.114.147.107841AllxBroginiabrogininc@examiner.comFemale238.186.158.15842GailJarredgjarrednd@bloglovin.comFemale152.115.66.188843SalvatoreHoveshovene@cnn.comMale229.244.23.255844GrayGarfitggarfitnf@istockphoto.comMale94.23.125.183845MarcoHayleymhayleyng@drupal.orgMale161.126.174.185846PersisMacNeilleypmacneilleynh@hhs.govFemale23.137.254.149847NeilsPortinarinportinarini@reuters.comMale195.140.20.164848MaitildeEntreismentreisnj@squarespace.comFemale42.75.152.50849RiccardoOliverrolivernk@psu.eduMale99.227.19.4850SiffreBotrightsbotrightnl@yolasite.comMale76.111.190.106851NoveliaBunstonnbunstonnm@umn.eduFemale124.255.38.75852OrianaBintonobintonnn@friendfeed.comFemale89.87.246.109853PiggyCarnduffpcarnduffno@mail.ruMale145.248.129.93854TarynHuddartthuddartnp@newsvine.comFemale173.110.133.8855FideliaGobatfgobatnq@cdc.govFemale44.249.92.110856BryceHaironbhaironnr@technorati.comMale163.163.46.59857NikkiAcottnacottns@admin.chFemale187.82.31.25858ArianaBrattabrattnt@a8.netFemale55.179.146.234859AustineBunnerabunnernu@twitpic.comFemale206.248.180.114860OttilieLedekeroledekernv@tripadvisor.comFemale125.204.199.33861WaverlyHatwellwhatwellnw@omniture.comMale68.62.10.223862DerrikGrendondgrendonnx@hhs.govMale58.19.82.21863GerekRablgrablny@biglobe.ne.jpMale215.242.10.20864JerryKediejkedienz@cisco.comMale10.117.149.115865SymonPerespereo0@huffingtonpost.comMale37.168.109.246866GiorgioLadbrookegladbrookeo1@themeforest.netMale224.249.49.198867VioletteGarrettsvgarrettso2@posterous.comFemale53.154.55.204868ParryDemkepdemkeo3@archive.orgMale174.102.48.80869ArlanaSzwandtaszwandto4@simplemachines.orgFemale218.186.70.210870JaclinReardenjreardeno5@php.netFemale170.0.28.9871GabrielaJeffelsgjeffelso6@chicagotribune.comFemale96.65.213.12872RobertLetfordrletfordo7@edublogs.orgMale24.185.51.163873NadyCumptonncumptono8@facebook.comFemale149.243.237.138874DalstonLamploughdlamplougho9@businesswire.comMale223.215.226.47875EsteleMcGaugieemcgaugieoa@flickr.comFemale250.81.116.163876HerculePoltonehpoltoneob@upenn.eduMale180.202.223.184877EarlyBroderickebroderickoc@domainmarket.comMale149.235.248.100878DarellInnocentdinnocentod@springer.comFemale162.177.137.239879PhilisBackhurstpbackhurstoe@amazon.co.ukFemale88.5.54.202880CamelBoomescboomesof@pen.ioFemale171.143.74.15881DillKitcatdkitcatog@plala.or.jpMale27.174.148.28882ChaddieMcCaffertycmccaffertyoh@nytimes.comMale230.89.29.137883HelynEisikovitshheisikovitshoi@spotify.comFemale10.133.80.27884KerrillWildingkwildingoj@icq.comFemale120.202.98.193885MiraMcCrachenmmccrachenok@ox.ac.ukFemale82.136.113.20886GilburtTottiegtottieol@nsw.gov.auMale105.177.62.43887RudigerLahiffrlahiffom@sfgate.comMale150.100.75.220888KevinaSteablerksteableron@stumbleupon.comFemale113.76.237.44889DamarisConiberedconibereoo@lycos.comFemale142.159.24.248890HashimRatledgehratledgeop@rambler.ruMale248.170.103.143891SteffiDorwardsdorwardoq@blogs.comFemale74.95.30.204892CarolusBenzingcbenzingor@google.com.hkMale37.47.92.251893AdamoEnderwickaenderwickos@squidoo.comMale88.84.217.48894AppoloniaFairholmeafairholmeot@merriam-webster.comFemale189.213.121.97895RollandWorksrworksou@vinaora.comMale201.196.40.66896BrynaExtillbextillov@de.vuFemale63.254.15.97897DarylOsmonddosmondow@census.govFemale50.22.8.127898ClaibornHackleychackleyox@auda.org.auMale194.17.213.13899GerekBrandigbrandioy@trellian.comMale177.240.56.100900CatheMiddencmiddenoz@vkontakte.ruFemale210.94.102.232901JoneMaccijmaccip0@scientificamerican.comMale75.39.133.238902HadleeSummerliehsummerliep1@webmd.comMale114.121.104.215903AgostoBuntineabuntinep2@sourceforge.netMale78.131.24.49904AileenDe Bankeadebankep3@sphinn.comFemale85.22.93.140905AdrianoGoreisragoreisrp4@about.comMale116.210.202.127906EloraPasqualeepasqualep5@twitter.comFemale88.218.83.120907VassilyGrissettvgrissettp6@desdev.cnMale24.86.61.40908EtanVreibergevreibergp7@amazonaws.comMale50.154.80.150909OrvilleMcGairlomcgairlp8@posterous.comMale203.94.244.53910EphrayimO'Connollyeoconnollyp9@de.vuMale68.18.162.4911EarlieMcEntagartemcentagartpa@booking.comMale154.29.233.138912WilmerFountainwfountainpb@sakura.ne.jpMale239.87.151.81913SavinaMoulsdalesmoulsdalepc@ebay.comFemale229.223.71.24914HelenGrininhgrininpd@facebook.comFemale243.55.136.34915OthilieArdlingoardlingpe@cargocollective.comFemale25.53.8.119916LewieClinkardlclinkardpf@craigslist.orgMale51.131.238.60917BastienFilmerbfilmerpg@springer.comMale97.233.36.16918AigneisDurdyadurdyph@narod.ruFemale207.46.7.183919EbbaSneadesneadpi@usda.govFemale61.55.150.100920DanO' Garadogarapj@unesco.orgMale87.112.127.219921DarceePerondperonpk@umich.eduFemale60.96.207.180922ShebaHarnimansharnimanpl@t.coFemale221.175.167.153923TimoteoOrdishtordishpm@prweb.comMale162.116.227.210924KendricksVidakvidapn@symantec.comMale201.220.195.193925KristoforoGiannassikgiannassipo@omniture.comMale44.68.253.201926RudyardLafflinarlafflinapp@clickbank.netMale181.129.62.129927GustavoCosseygcosseypq@vinaora.comMale39.91.105.209928FlorindaFrankhamffrankhampr@livejournal.comFemale196.245.126.254929MilkaChessummchessumps@theglobeandmail.comFemale18.197.164.54930SpencerFudgersfudgerpt@jalbum.netMale96.25.26.177931NobiePaveknpavekpu@qq.comMale42.158.242.242932MarloJoycemjoycepv@fema.govMale101.109.68.226933AngelAdamovichaadamovichpw@google.itMale128.43.93.196934MorleyKenrightmkenrightpx@forbes.comMale205.40.172.155935BlakeleyAbbebabbepy@noaa.govFemale60.43.203.39936JonathonWychardjwychardpz@cmu.eduMale40.40.60.95937TadFlanigantflaniganq0@comcast.netMale158.2.129.205938IsiahiJeppersonijeppersonq1@booking.comMale221.37.91.143939DixieStaresdstaresq2@xing.comFemale210.25.93.144940PeteVaheypvaheyq3@google.comMale65.11.179.189941LichaTanseyltanseyq4@etsy.comFemale34.251.209.245942AureliaPenteloapenteloq5@netscape.comFemale171.41.98.185943AnnamariePattinsonapattinsonq6@photobucket.comFemale196.106.177.157944TerrillGorrissentgorrissenq7@mapquest.comMale215.18.197.123945DurwardKilldkillq8@qq.comMale163.155.95.250946CaroljeanKeesmanckeesmanq9@nps.govFemale99.127.234.101947TownGravelltgravellqa@slate.comMale60.55.167.223948JosephineGallandersjgallandersqb@shop-pro.jpFemale251.128.30.57949BenedettaFurphybfurphyqc@wufoo.comFemale32.18.65.201950LeliaMoorfieldlmoorfieldqd@unicef.orgFemale48.3.29.76951FlorentiaCuddefcuddeqe@ustream.tvFemale146.247.117.173952YulGodlyygodlyqf@rambler.ruMale173.88.218.155953NananneHedgesnhedgesqg@weather.comFemale252.85.98.192954SandyGraftonsgraftonqh@bravesites.comMale150.214.235.136955KizzeeMcGaugankmcgauganqi@cloudflare.comFemale164.188.152.235956AverillDumiganadumiganqj@shareasale.comMale73.213.249.120957ReneKaveneyrkaveneyqk@wisc.eduFemale207.151.30.126958EvelinManiloemaniloql@tuttocitta.itMale132.188.187.211959VirgeVallackvvallackqm@dmoz.orgMale81.17.211.14960ElsiBatherebatherqn@webeden.co.ukFemale118.242.71.206961MooreCodlinmcodlinqo@baidu.comMale100.61.98.212962NialRakenrakeqp@xrea.comMale151.180.197.234963LollyDunhamldunhamqq@yelp.comFemale164.80.61.166964RosDykinsrdykinsqr@google.com.auFemale124.206.63.142965YanatonLegendreylegendreqs@artisteer.comMale56.119.127.118966GibbyGrishanovggrishanovqt@cloudflare.comMale34.133.233.156967AddiaLongleyalongleyqu@smugmug.comFemale72.11.42.242968KrystynaNibleyknibleyqv@blogtalkradio.comFemale208.79.231.162969DianaLearedleareqw@merriam-webster.comFemale163.208.248.136970RaniHolcroftrholcroftqx@wordpress.comFemale62.113.206.126971SamariaPrintsprintqy@globo.comFemale154.20.125.215972JanekSneezemjsneezemqz@google.com.brMale174.240.217.27973UlricaRiddleuriddler0@quantcast.comFemale154.36.210.150974WordenPickersailwpickersailr1@columbia.eduMale106.20.155.206975EliGreenroadegreenroadr2@craigslist.orgMale160.74.231.30976AngusCatchesideacatchesider3@yellowpages.comMale251.115.114.227977CharlesPeerscpeersr4@facebook.comMale100.246.179.152978GabiFlobertgflobertr5@parallels.comFemale215.255.161.204979LilyanTaconltaconr6@japanpost.jpFemale198.140.132.172980AnnissaGlasneraglasnerr7@dailymail.co.ukFemale56.13.3.254981IngrimFerrerasiferrerasr8@blogspot.comMale65.10.235.64982HastieRudgehrudger9@quantcast.comMale67.214.122.122983RandolphFriedlosrfriedlosra@buzzfeed.comMale105.203.150.71984SofiaRackstrawsrackstrawrb@yale.eduFemale41.244.190.144985AnnabalPosvneraposvnerrc@tripadvisor.comFemale150.22.63.25986AimeArdernaardernrd@vkontakte.ruFemale80.16.77.66987ArdellaPedroapedrore@flavors.meFemale247.80.93.82988TremayneSherebrooktsherebrookrf@discovery.comMale178.190.207.3989YorkMcLeseymcleserg@theglobeandmail.comMale107.212.36.201990KermieWornumkwornumrh@cisco.comMale1.54.238.47991EydeBedwardebedwardri@360.cnFemale190.142.73.233992BrenSikorskibsikorskirj@gizmodo.comMale131.30.215.122993DorelleVernazzadvernazzark@hhs.govFemale239.111.165.114994HodgeBrosterhbrosterrl@newsvine.comMale160.22.240.12995MerrickGaythermgaytherrm@de.vuMale176.118.58.243996KimmiRowterkrowterrn@jugem.jpFemale156.209.9.82997SereneFinnemoresfinnemorero@blinklist.comFemale86.36.191.1998UrbanCobdenucobdenrp@archive.orgMale53.164.72.70999AnettaAddersonaaddersonrq@technorati.comFemale150.89.51.531000NerteSpurwaynspurwayrr@hubpages.comFemale33.4.76.106 \ No newline at end of file diff --git a/tests/ImporterTest.php b/tests/ImporterTest.php index 39013f7..0d5ea5f 100644 --- a/tests/ImporterTest.php +++ b/tests/ImporterTest.php @@ -7,6 +7,7 @@ use KunicMarko\Importer\Reader\CsvReader; use KunicMarko\Importer\Reader\XlsxReader; use KunicMarko\Importer\Reader\JsonReader; +use KunicMarko\Importer\Reader\XmlReader; use KunicMarko\Importer\Tests\Fixtures\ChunkImportClass; use KunicMarko\Importer\Tests\Fixtures\ImportClass; use KunicMarko\Importer\Tests\Fixtures\ImportNestedJsonClass; @@ -33,6 +34,7 @@ public function setUp() $this->importerFactory->addReader(new CsvReader()); $this->importerFactory->addReader(new JsonReader()); $this->importerFactory->addReader(new XlsxReader()); + $this->importerFactory->addReader(new XmlReader()); $this->importClass = new ImportClass(); } @@ -55,6 +57,24 @@ public function testCsvImportFromString(): void ->import(); } + public function testXmlImportFromFile(): void + { + $importer = $this->importerFactory->getImporter('xml'); + + $importer->fromFile(__DIR__ . '/Fixtures/fake.xml') + ->useImportClass($this->importClass) + ->import(); + } + + public function testXmlImportFromString(): void + { + $importer = $this->importerFactory->getImporter('xml'); + + $importer->fromString(file_get_contents(__DIR__ . '/Fixtures/fake.xml')) + ->useImportClass($this->importClass) + ->import(); + } + public function testJsonImportFromFile(): void { $importer = $this->importerFactory->getImporter('json'); @@ -120,4 +140,72 @@ public function testChunkImport(): void ->useImportClass(new ChunkImportClass()) ->import(); } + + /** + * @expectedException \KunicMarko\Importer\Exception\InvalidArgumentException + */ + public function testReaderNotFound(): void + { + $this->importerFactory->getImporter('fake'); + } + + /** + * @expectedException \KunicMarko\Importer\Exception\InvalidArgumentException + */ + public function testFileNotFound(): void + { + $importer = $this->importerFactory->getImporter('csv'); + + $importer->fromFile('fake'); + } + + /** + * @expectedException \KunicMarko\Importer\Exception\InvalidArgumentException + */ + public function testContentCantBeEmpty(): void + { + $importer = $this->importerFactory->getImporter('csv'); + + $importer->fromString(''); + } + + /** + * @expectedException \KunicMarko\Importer\Exception\InvalidArgumentException + */ + public function testJsonEmptyImport(): void + { + $importer = $this->importerFactory->getImporter('json'); + + $importer->import(); + } + + /** + * @expectedException \KunicMarko\Importer\Exception\InvalidArgumentException + */ + public function testXlsxEmptyImport(): void + { + $importer = $this->importerFactory->getImporter('xlsx'); + + $importer->import(); + } + + /** + * @expectedException \KunicMarko\Importer\Exception\InvalidArgumentException + */ + public function testCsvEmptyImport(): void + { + $importer = $this->importerFactory->getImporter('csv'); + + $importer->import(); + } + + /** + * @expectedException \KunicMarko\Importer\Exception\InvalidArgumentException + */ + public function testXmlEmptyImport(): void + { + $importer = $this->importerFactory->getImporter('xml'); + + $importer->import(); + } }