diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..a7b04e7 --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +CC=g++ +CFLAGS=-c -Wall -I./include +LDFLAGS=-I./include +SOURCES=main.cpp ./src/csvpp.cpp ./src/stringhelper.cpp +TEST=tests.cpp ./src/csvpp.cpp ./src/stringhelper.cpp +OBJECTS=$(SOURCES:.cpp=.o) +EXECUTABLE=csvpp + +all: $(SOURCES) $(EXECUTABLE) + +$(EXECUTABLE): $(OBJECTS) + $(CC) $(LDFLAGS) $(OBJECTS) -o $@ + +.cpp.o: + $(CC) $(CFLAGS) $< -o $@ + +clean: + rm -f src/*o csvpp + +tests: + $(CC) $(LDFLAGS) ./src/csvpp.o ./src/stringhelper.o tests.cpp -o test \ No newline at end of file diff --git a/csv2.py b/csv2.py new file mode 100644 index 0000000..3a79373 --- /dev/null +++ b/csv2.py @@ -0,0 +1,64 @@ + +class RowReader(dict): + header = [] + skipheader = False + def __init__(self,skipheader=False,newline="\n",*arg,**kw): + super(RowReader, self).__init__(*arg, **kw) + + def __rrshift__(self, stream): + strbuffer = "" + buffer2 = "" + currentheader = 0 + strbuffer = stream + strbuffer = strbuffer.strip() + c = '' + startquote = False + if (len(self.header) == 0 and not self.skipheader): + self.header = strbuffer.split(",") + else: + for i in range(0, len(strbuffer)): + c = strbuffer[i] + if c == ",": + if startquote: + buffer2 += c + continue + if not self.skipheader: + self[self.header[currentheader]] = buffer2 + else: + self[str(currentheader)] = buffer2 + buffer2 = "" + currentheader += 1 + continue + + if c == "\"": + if startquote: + buffer2 += "\"" + buffer2 = buffer2.ltrim() + if (i-1) >= 0 and buffer[i-1] == "\\": + buffer2.write(c) + continue + startquote = not startquote + if not startquote: + for x in range(i, len(strbuffer)): + if strbuffer[x] == ',' or x == len(strbuffer): + i = x - 1 + break + + buffer2 += c + if not self.skipheader: + self[self.header[currentheader]] = buffer2 + else: + self[str(currentheader)] = buffer2 + return stream + +class RowWriter(list): + def __init__(self,*arg,**kw): + super(RowWriter, self).__init__(*arg, **kw) + pass + +f = open("sampledata.csv") +r = RowReader() +for l in f: + l >> r + if r != {}: + print str(r) diff --git a/csvtest.py b/csvtest.py new file mode 100644 index 0000000..0568ed8 --- /dev/null +++ b/csvtest.py @@ -0,0 +1,23 @@ +import csv + +ifile = open("sampledata.csv") +reader = csv.DictReader(ifile) + +rownum = 0 +header = [] + +for r in reader: + print r +#for row in reader: +# if rownum == 0: +# header = row +# else: +# colnum = 0 +# for col in row: +# print "%s => %s" % (header[colnum], col) +# colnum += 1 +# +# print "\n" +# rownum += 1 + +ifile.close() diff --git a/include/csvpp.h b/include/csvpp.h new file mode 100644 index 0000000..09283f5 --- /dev/null +++ b/include/csvpp.h @@ -0,0 +1,42 @@ +#ifndef CSVPP_H +#define CSVPP_H + +#include +#include +#include +#include +#include + + +#define VERSION "2.2" + +namespace csvpp { + + class RowWriter; + + class RowReader : public std::map { + private: + std::vector header; + bool skipheader; + std::string delimiter_char; // this is a string because the split function helper is expecting a string, but really this is just a char + public: + const char * newline; + // Adding support for custom delimiter character + // Based on the patch by Hanifa + // https://code.google.com/p/csvpp/issues/detail?id=2 + RowReader(std::string delimiter_char = ",", bool skipheader=false,const char * newline="\n") : delimiter_char(delimiter_char), skipheader(skipheader), newline(newline) { } + void clear() { header.clear(); } + friend std::istream & operator>>(std::istream & os, RowReader & r); + friend std::ostream & operator<<(std::ostream & os, const RowWriter & r); + }; + + class RowWriter : public std::vector + { + public: + friend std::ostream & operator<<(std::ostream & os, const RowWriter & r); + }; + + typedef RowReader::const_iterator rowiterator; +} + +#endif \ No newline at end of file diff --git a/include/stringhelper.h b/include/stringhelper.h new file mode 100644 index 0000000..903df06 --- /dev/null +++ b/include/stringhelper.h @@ -0,0 +1,46 @@ +#ifndef STRINGHELPER_H +#define STRINGHELPER_H +#include +#include +#include +#include +//Borrowed from http://www.cplusplus.com/faq/sequences/strings/trim/ +inline std::string trim_right_copy( + const std::string& s, + const std::string& delimiters = " \f\n\r\t\v" ) +{ + return s.substr( 0, s.find_last_not_of( delimiters ) + 1 ); +} + +inline std::string trim_left_copy( + const std::string& s, + const std::string& delimiters = " \f\n\r\t\v" ) +{ + return s.substr( s.find_first_not_of( delimiters ) ); +} + +inline std::string trim_copy( + const std::string& s, + const std::string& delimiters = " \f\n\r\t\v" ) +{ + return trim_left_copy( trim_right_copy( s, delimiters ), delimiters ); +} + +typedef std::string::size_type (std::string::*find_t)(const std::string& delim, + std::string::size_type offset) const; + +std::vector split(const std::string& s, + const std::string& match, + bool removeEmpty=false, + bool fullMatch=false); + +//http://stackoverflow.com/a/13636164/195722 +template + std::string ObjToString ( T obj ) + { + std::ostringstream ss; + ss << obj; + return ss.str(); + } + +#endif diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..170a453 --- /dev/null +++ b/main.cpp @@ -0,0 +1,23 @@ +#include +#include +#include "csvpp.h" + +using namespace std; +using namespace csvpp; + +int main() +{ + RowReader tmp; + stringstream ss; + ss << "field1,field2,field3\r\n123,234,345\r\n999,000,111\r\n"; + ss >> tmp; + rowiterator it; + while(ss >> tmp) + { + for(it = tmp.begin(); it != tmp.end(); it++) + cout << it->first << " => " << it->second << endl; + cout << endl; + } + return 0; + +} \ No newline at end of file diff --git a/sampledata.csv b/sampledata.csv new file mode 100644 index 0000000..d0a5984 --- /dev/null +++ b/sampledata.csv @@ -0,0 +1,1000 @@ +id,name,email,date,country +1,Fuller,Nulla@Nullam.ca,1364126802,Dominican Republic +2,Fletcher,Proin.mi@orciUt.org,1336955735,Taiwan Province of China +3,Ashton,nec@ornarelectusjusto.com,1362878667,Niue +4,Colorado,mauris@Integer.org,1357084323,Heard Island and Mcdonald Islands +5,Victor,auctor@ut.ca,1372189314,Madagascar +6,Jameson,ligula.Donec@ultricesposuerecubilia.org,1390426030,Libyan Arab Jamahiriya +7,Vernon,auctor.quis@massa.edu,1344087927,Venezuela +8,Zahir,at.pretium@Nullam.ca,1343145476,French Guiana +9,Wang,auctor@ornarefacilisiseget.edu,1366496688,Cook Islands +10,Hop,Donec.vitae.erat@diamatpretium.org,1379342718,Sudan +11,Scott,tristique@Proinnonmassa.org,1356002276,Singapore +12,Driscoll,interdum.feugiat.Sed@dictum.com,1381824574,Macao +13,Raja,ipsum@eleifendnuncrisus.org,1349523180,Nigeria +14,Owen,purus.Nullam@consectetuer.org,1340938086,China +15,Dale,id@ultricies.com,1370429742,Togo +16,Wayne,tortor@laoreet.com,1376148161,Mauritius +17,Byron,a.odio.semper@auctorvitaealiquet.ca,1362511527,Papua New Guinea +18,Graiden,arcu.eu@facilisis.edu,1388374762,Guinea-bissau +19,Michael,dictum.augue.malesuada@ultriciesadipiscingenim.org,1386485466,Antigua and Barbuda +20,Colton,gravida.Aliquam.tincidunt@libero.org,1338990868,Kenya +21,Theodore,gravida@commodo.edu,1347615449,Western Sahara +22,Stephen,vel.lectus.Cum@aliquet.edu,1340898951,Italy +23,Herrod,ultricies@dolor.com,1390065512,Belarus +24,Steel,magna.Sed.eu@risus.edu,1379578229,Fiji +25,Tad,congue.elit@Utsemperpretium.ca,1386950932,South Africa +26,Laith,ultricies.ornare.elit@famesac.com,1344977322,Saint Kitts and Nevis +27,Cyrus,Nunc.mauris@pellentesquemassalobortis.ca,1391770002,Svalbard and Jan Mayen +28,Matthew,ornare.lectus@nislarcu.edu,1355508510,Niger +29,Carl,ante@cubilia.org,1385459467,Spain +30,Hashim,montes.nascetur@eros.com,1392536961,Macao +31,Caesar,ad.litora.torquent@dictumeleifend.com,1390964450,Bhutan +32,Brenden,lobortis.quis@amagnaLorem.ca,1386063256,Greenland +33,August,ipsum.dolor.sit@dolor.ca,1350980522,French Guiana +34,Odysseus,odio.sagittis@at.ca,1374754080,Croatia +35,Ezekiel,tincidunt@euodio.ca,1359171345,Tunisia +36,Lance,et.arcu@sitametmetus.ca,1346430105,Maldives +37,Macon,vulputate.risus.a@mauriserateget.ca,1357146708,Virgin Islands U.S. +38,Patrick,Donec.egestas.Duis@velitQuisque.com,1353414710,Norway +39,Hamish,a@estNunclaoreet.org,1380804790,Ethiopia +40,Kuame,dictum.eu@mollis.edu,1389706455,United Kingdom +41,Ulric,in@veliteget.com,1355393656,French Guiana +42,Oscar,egestas@arcuimperdiet.org,1336258124,Zambia +43,Giacomo,lacus.Etiam.bibendum@turpisvitaepurus.org,1336464907,Mozambique +44,Kenneth,Nulla@feugiat.edu,1352333674,Honduras +45,Rigel,parturient@lectusasollicitudin.ca,1349970338,Gabon +46,Gil,erat@varius.ca,1371660261,Niue +47,Giacomo,dui.Cum@estNunclaoreet.com,1365399705,Netherlands +48,Kenneth,nec.urna.suscipit@adipiscing.edu,1341263069,Grenada +49,Palmer,In@vitaesemper.edu,1348027406,French Southern Territories +50,Reed,faucibus.id.libero@metus.com,1393685968,Guam +51,Hall,adipiscing@Donecnonjusto.org,1374314769,Netherlands +52,Alfonso,rhoncus.Proin.nisl@Etiamlaoreet.com,1388437260,Serbia and Montenegro +53,Preston,Nam.tempor@semperpretium.ca,1373862542,Bhutan +54,Blaze,leo.Cras.vehicula@pedeCrasvulputate.edu,1350615546,Brunei Darussalam +55,Sebastian,mattis@amet.org,1365900805,Benin +56,Aquila,vel@erat.ca,1338365678,Poland +57,Thaddeus,rutrum.urna@aliquetnecimperdiet.org,1343799183,Colombia +58,Merritt,justo.eu@esttemporbibendum.org,1367563485,Qatar +59,Dane,fringilla.cursus.purus@eu.com,1341193575,Heard Island and Mcdonald Islands +60,James,orci.Ut.sagittis@ametconsectetuer.edu,1352139237,Norfolk Island +61,Bert,lorem@Vestibulumuteros.ca,1367172030,Norway +62,Josiah,magna.malesuada@Aliquam.edu,1394092485,Anguilla +63,Harlan,lacinia.Sed.congue@sapienCrasdolor.org,1356518241,Slovakia +64,Mohammad,ut.sem.Nulla@mi.org,1342074043,Saint Pierre and Miquelon +65,Rashad,eget.massa.Suspendisse@Utnecurna.ca,1389879788,Turkey +66,Kelly,hendrerit.Donec@amet.com,1367638029,Grenada +67,Brady,ligula.Aliquam@loremipsum.edu,1375937763,Dominica +68,Bevis,sed.sapien.Nunc@Curabiturvellectus.edu,1354791323,Zambia +69,Hyatt,consequat.auctor.nunc@erat.edu,1340484820,China +70,Phelan,nibh.Quisque.nonummy@tellusnon.org,1375364906,Korea +71,Nash,vulputate@DonecestNunc.edu,1339718214,Guinea-bissau +72,Camden,ante@at.org,1336491144,Barbados +73,Nicholas,turpis.egestas.Fusce@dolor.ca,1361405815,Korea Republic of +74,Jordan,magna.Suspendisse.tristique@risus.org,1395396487,Nigeria +75,Ivan,a.dui@dapibus.ca,1381016583,Algeria +76,Clarke,ornare@inconsequat.ca,1372698917,Northern Mariana Islands +77,Ignatius,vel.pede@enim.ca,1347201968,Heard Island and Mcdonald Islands +78,Elijah,fames.ac@justositamet.org,1345506383,Cape Verde +79,Jerry,ornare@tempus.ca,1384308874,Congo +80,Carson,eget.lacus.Mauris@utpharetra.org,1353695035,San Marino +81,Giacomo,vestibulum.neque@necmollisvitae.edu,1344500523,Bahrain +82,Quinlan,tellus.eu.augue@facilisis.com,1387835567,Venezuela +83,Ciaran,sit.amet.ante@dapibusquamquis.ca,1348130339,Saint Helena +84,Noble,lobortis.quis.pede@eunequepellentesque.edu,1352050858,Fiji +85,Magee,orci.Phasellus.dapibus@quam.com,1345299334,Uganda +86,Laith,nisl.elementum@velfaucibus.com,1382475357,Liberia +87,Colt,auctor.odio.a@etipsum.org,1377756001,Cayman Islands +88,Leonard,massa.Vestibulum@diamlorem.ca,1379451675,Dominican Republic +89,Arden,ultricies@sodaleseliterat.org,1359651140,Samoa +90,Cadman,eu@scelerisquescelerisquedui.org,1363741508,Burkina Faso +91,Fuller,dolor@pedeet.edu,1345838881,Antigua and Barbuda +92,Henry,In.mi.pede@felis.edu,1349839041,Iran Islamic Republic of +93,Kane,lorem.fringilla.ornare@Curabitursed.edu,1352200117,Germany +94,Raphael,nec.orci.Donec@ultriciesadipiscingenim.ca,1367706780,Poland +95,Leroy,fringilla.cursus@tellusjustosit.com,1374904881,Morocco +96,Jack,consectetuer.mauris@Sedidrisus.ca,1354048055,American Samoa +97,Hector,risus.varius.orci@velit.edu,1366517633,Nepal +98,Vance,leo@ametrisusDonec.edu,1363415315,Papua New Guinea +99,Yasir,lacus.Nulla.tincidunt@Maurismolestie.com,1362872137,Mozambique +100,Thane,Phasellus.vitae.mauris@natoquepenatibus.ca,1395439599,Ghana +101,Kenneth,velit.Pellentesque@at.ca,1351522996,Antarctica +102,Judah,montes.nascetur.ridiculus@mauriselit.org,1365741356,Croatia +103,Dennis,consectetuer.ipsum@orci.com,1345095530,Taiwan Province of China +104,Odysseus,nisi.magna@ultricesa.org,1396347458,American Samoa +105,Lionel,lacinia.vitae@eros.org,1376056789,Dominican Republic +106,Plato,ac.arcu@urna.ca,1392007402,Singapore +107,Jordan,Quisque.purus@luctusipsumleo.ca,1389558913,Barbados +108,Kieran,nonummy@erat.com,1343869583,Uruguay +109,Bernard,et@vestibulumMaurismagna.com,1385189711,Vanuatu +110,Nicholas,nonummy@sagittislobortis.com,1387601077,Slovenia +111,Ryder,lobortis.tellus@posuerevulputate.org,1377075571,Cocos (Keeling) Islands +112,Barrett,ornare.In@odioEtiamligula.edu,1378443387,Albania +113,Keaton,vel.mauris@arcuacorci.ca,1378382791,Indonesia +114,Deacon,Vivamus@eudoloregestas.org,1334370025,Kyrgyzstan +115,Nissim,Morbi@ametorci.ca,1353469571,United Arab Emirates +116,Griffith,sit.amet@mollisPhasellus.com,1344017062,Chile +117,Ross,Curabitur.dictum@pellentesqueeget.edu,1396024684,Bahrain +118,Wayne,Aenean@porttitor.ca,1371566451,Croatia +119,Josiah,Vivamus.rhoncus@urna.ca,1344722284,South Africa +120,Xavier,mauris.erat.eget@Vivamusmolestie.ca,1355009411,Tokelau +121,Hammett,Nullam@lectus.com,1339935572,Norfolk Island +122,Byron,Vestibulum.ante@sit.edu,1370701703,Greece +123,Quentin,augue@felis.com,1381288331,Montserrat +124,Zane,eleifend@risusDonecegestas.edu,1375479350,Guam +125,Hyatt,luctus@parturientmontesnascetur.com,1335063212,Canada +126,Colt,purus.mauris@enimnisl.org,1386037358,Lesotho +127,Hyatt,ipsum.porta.elit@mauris.com,1346723000,Monaco +128,Dustin,a.aliquet@erat.org,1394909308,Estonia +129,Xander,vel.faucibus.id@mattisInteger.ca,1392805198,Grenada +130,Brent,eu@tellussem.com,1355468187,Saint Helena +131,Quinn,ultrices.posuere.cubilia@facilisis.edu,1384241845,Macao +132,Gregory,Vivamus.sit@nisiAeneaneget.com,1360980708,Angola +133,Wesley,sit.amet.ornare@tellusjustosit.ca,1395716494,Haiti +134,Graiden,ante.ipsum.primis@necurna.edu,1335121253,Trinidad and Tobago +135,Rashad,quis.pede@urnajusto.ca,1351980474,Svalbard and Jan Mayen +136,Abdul,viverra.Maecenas.iaculis@Maecenasornare.com,1334646127,Bulgaria +137,Hoyt,sem.molestie.sodales@idante.com,1351862091,Guatemala +138,Chadwick,scelerisque.scelerisque@ipsumPhasellus.com,1366970469,Brunei Darussalam +139,Christopher,ac.urna.Ut@ut.org,1389133209,Morocco +140,Malachi,odio.vel@tortornibh.ca,1384990036,Barbados +141,Silas,dui@sit.com,1355266138,Saint Pierre and Miquelon +142,Keaton,Sed.eu.eros@PhasellusornareFusce.ca,1345567864,Grenada +143,Hammett,sagittis@rutrummagna.org,1362384840,Niger +144,Declan,Phasellus@Vestibulumanteipsum.org,1378431620,Morocco +145,Christian,nec.quam@blandit.ca,1355167192,Holy See (Vatican City State) +146,Noble,cursus@Donec.com,1349393061,Aruba +147,Finn,Sed@felisorciadipiscing.ca,1373504082,Iran Islamic Republic of +148,Hu,orci.Phasellus@hendreritDonecporttitor.com,1340562807,Palau +149,Dorian,vel.sapien.imperdiet@felisorci.ca,1381608650,Mauritius +150,Castor,lobortis.quis.pede@egetodioAliquam.edu,1351384402,Comoros +151,Cooper,pellentesque.eget@molestietortor.org,1357877839,Haiti +152,Tyrone,fringilla.mi@acsem.ca,1394060054,Bulgaria +153,Ivor,nunc@erosNamconsequat.edu,1344768593,Fiji +154,Kasper,fringilla@convallisincursus.ca,1335106991,Norfolk Island +155,Yardley,purus.Nullam.scelerisque@Sed.edu,1334493186,Solomon Islands +156,Odysseus,Nulla.tempor.augue@tinciduntadipiscing.ca,1348562904,Armenia +157,Christian,cursus.Nunc.mauris@dolorsitamet.ca,1357521827,Lebanon +158,Branden,eu@nuncestmollis.org,1385768237,Israel +159,Xander,enim.non@odiotristiquepharetra.ca,1348007215,Cayman Islands +160,Kibo,Morbi@risus.edu,1389024497,Virgin Islands U.S. +161,Beau,a@nec.edu,1373706619,Zambia +162,Adam,lobortis@sapien.com,1383792326,South Africa +163,Gage,luctus.ut.pellentesque@penatibuset.com,1355999724,France +164,Mannix,lectus@ridiculus.com,1335523120,Moldova +165,Bruce,mattis.Cras@fermentum.org,1392548890,Maldives +166,Quamar,gravida.molestie.arcu@Aliquamgravidamauris.edu,1341634591,Uganda +167,Cruz,egestas@Duisgravida.ca,1380556931,Venezuela +168,Ishmael,aptent@non.org,1363800683,Iceland +169,Vincent,feugiat@odio.org,1357296219,Gambia +170,Judah,Aliquam@Quisque.com,1346379893,Bouvet Island +171,Simon,pulvinar.arcu@fringilla.ca,1334664612,Puerto Rico +172,Rooney,montes.nascetur.ridiculus@Sed.ca,1389372597,Korea +173,Octavius,amet.metus.Aliquam@feugiattelluslorem.ca,1381861491,Saint Pierre and Miquelon +174,Lamar,a.odio@enim.ca,1349411659,Kyrgyzstan +175,Gil,orci@pretium.org,1366406298,Guam +176,Gabriel,semper.cursus@Mauris.ca,1383565509,Macao +177,Erasmus,tellus.imperdiet.non@vitae.ca,1378093043,Rwanda +178,Chase,luctus.felis.purus@estmollisnon.org,1390375292,Uzbekistan +179,Len,nunc.risus@Pellentesque.edu,1369628929,Ethiopia +180,Jin,tempus.non.lacinia@uteratSed.org,1344180427,Bhutan +181,Elijah,aliquet.metus@augueid.org,1355796279,Reunion +182,Judah,nisi.magna@gravidaPraesenteu.ca,1379287041,Martinique +183,David,nibh.enim@scelerisquesedsapien.ca,1352313481,Trinidad and Tobago +184,Solomon,dictum.cursus.Nunc@duiCum.ca,1359853766,Finland +185,Oscar,Sed.malesuada@tortor.edu,1372379550,Reunion +186,Cedric,eu.augue@etmalesuadafames.ca,1349509781,Kyrgyzstan +187,Colt,urna.Ut.tincidunt@facilisisnon.org,1353105901,Haiti +188,Howard,Morbi.non@purus.com,1341446946,Qatar +189,Benjamin,at@purusmaurisa.com,1339545838,Turkmenistan +190,Rigel,eu.dui@pulvinar.edu,1336366000,Russian Federation +191,Boris,euismod@ipsumCurabitur.edu,1345550899,Sudan +192,Elijah,dui.nec.urna@quamvelsapien.org,1397207655,Botswana +193,Norman,lorem.ut.aliquam@mollisvitaeposuere.ca,1390956975,Palau +194,Aquila,eu@rhoncusDonecest.edu,1389270527,Thailand +195,Orlando,non@Nullamvelitdui.ca,1387853492,Colombia +196,Cruz,semper@etmalesuada.com,1356318285,Grenada +197,Branden,sodales.nisi.magna@Vestibulumanteipsum.com,1388099154,Palau +198,Xander,lorem@non.ca,1352963820,Tunisia +199,Branden,ipsum@loremvehiculaet.com,1395406006,Puerto Rico +200,Scott,sem@non.ca,1369460598,Niue +201,Myles,venenatis.a.magna@acmattisornare.edu,1334698114,Peru +202,Ezra,magna@dictumplacerat.com,1382172289,Ghana +203,Patrick,augue.scelerisque.mollis@elementumpurus.ca,1354987782,Paraguay +204,Dennis,consectetuer.rhoncus.Nullam@Donecest.com,1373919140,Oman +205,Blaze,ligula.Donec.luctus@porttitortellusnon.org,1395162088,Latvia +206,Jakeem,cursus.Nunc.mauris@sempertellusid.ca,1379049254,Gabon +207,Addison,magnis@nonleoVivamus.org,1337988122,Guyana +208,Victor,fames.ac.turpis@dictum.com,1393661664,New Zealand +209,Odysseus,Quisque.porttitor.eros@Crasegetnisi.edu,1379441509,Northern Mariana Islands +210,Brent,est.mauris@egetvolutpat.com,1362725609,Kyrgyzstan +211,Avram,sem@hymenaeos.com,1366343801,Taiwan Province of China +212,Clarke,sem@eu.com,1360347365,Guyana +213,Geoffrey,aliquam.adipiscing.lacus@tempus.com,1347773662,Virgin Islands British +214,Alan,faucibus.id@gravida.ca,1355505019,Serbia and Montenegro +215,Emmanuel,taciti@acipsum.edu,1387246171,Lithuania +216,Honorato,Integer.urna@tellusPhaselluselit.org,1343959922,Spain +217,Hammett,vel.turpis.Aliquam@nasceturridiculusmus.edu,1355506223,Uruguay +218,Brandon,Aliquam.tincidunt@Curabitur.org,1350184069,French Polynesia +219,Upton,In@Cras.com,1384026555,Palau +220,Lane,dictum.eu@at.org,1364347221,Saint Helena +221,Jermaine,hendrerit@necenimNunc.ca,1381309919,San Marino +222,Owen,tincidunt.congue.turpis@seddolorFusce.org,1341163997,Andorra +223,Gray,sociis@etmagnis.com,1357774058,Mozambique +224,Valentine,tempus.risus.Donec@aliquetvel.com,1351049425,Nauru +225,Arthur,Nullam@dictumPhasellus.ca,1341863437,Maldives +226,Dillon,Nunc.lectus.pede@mus.edu,1374549038,Turkmenistan +227,Cedric,adipiscing.fringilla.porttitor@Proinultrices.com,1348362340,United Arab Emirates +228,Garrison,Cras.dictum.ultricies@non.ca,1369623200,Syrian Arab Republic +229,Leo,tortor@nibhAliquamornare.ca,1363644936,Estonia +230,Ignatius,at.fringilla.purus@vitaesodalesnisi.edu,1384859144,Solomon Islands +231,Burton,ante@sem.org,1381411966,Ukraine +232,Micah,magna.malesuada.vel@ac.com,1360154493,Hong Kong +233,Amal,diam@Inornare.org,1342320547,Grenada +234,Preston,elit.pede@Proin.com,1336678453,Angola +235,Randall,elementum.lorem@nisinibhlacinia.org,1368319658,Ethiopia +236,Jerome,molestie@nec.edu,1340158293,Falkland Islands (Malvinas) +237,Orlando,lectus.Cum@Donecdignissimmagna.ca,1335197945,Kazakhstan +238,Cameron,lacus.Quisque.imperdiet@ametdiameu.com,1387944712,Congo +239,Keefe,et.ultrices.posuere@nonbibendum.edu,1395453693,Gabon +240,Brenden,magna.Ut@malesuadafames.ca,1391630698,Sweden +241,Zeph,sapien.Aenean.massa@velitduisemper.ca,1360604719,Madagascar +242,Alden,imperdiet.nec.leo@leo.ca,1390890154,Cambodia +243,Macon,Vivamus@cursus.org,1392757300,Montserrat +244,Jamal,ipsum.nunc@Morbinon.org,1343875007,Estonia +245,Brian,non@Phasellus.com,1394189136,Taiwan Province of China +246,Jeremy,Maecenas@ipsumac.com,1356454287,Saint Kitts and Nevis +247,Connor,accumsan@afelisullamcorper.com,1379956198,Bosnia and Herzegovina +248,Hasad,nisi.nibh.lacinia@mattissemperdui.org,1348952836,Mayotte +249,Preston,eu@Crasvehiculaaliquet.ca,1346916536,Argentina +250,Kibo,semper@non.com,1371756559,Norfolk Island +251,Brett,vitae.semper@anunc.com,1396787935,Ecuador +252,Cameron,diam.Sed@malesuadafringilla.edu,1341206026,Marshall Islands +253,Tanek,magna.Sed.eu@ettristique.ca,1360399233,Mexico +254,Christian,non.justo.Proin@atsemmolestie.org,1394598127,Tunisia +255,Hyatt,magna.et.ipsum@ipsumsodales.ca,1379692278,Virgin Islands British +256,Dexter,primis@eusem.org,1391923556,Bahrain +257,Clark,erat.eget@odio.org,1393838943,Saint Pierre and Miquelon +258,Brendan,Cum.sociis.natoque@malesuada.ca,1369286582,Brazil +259,Rahim,tincidunt.pede@Class.org,1343702060,Tajikistan +260,Oleg,Pellentesque.habitant@eleifend.edu,1369297334,Latvia +261,Louis,Proin.sed@gravidanuncsed.edu,1376014260,United States +262,Malcolm,Nunc.ullamcorper.velit@nullaDonecnon.edu,1336714916,Bosnia and Herzegovina +263,Connor,mollis.Duis.sit@massa.com,1343266993,Fiji +264,Martin,at.sem.molestie@Crassed.edu,1396747929,Ireland +265,Connor,consectetuer@Sedcongueelit.com,1351185193,Reunion +266,Asher,vestibulum.lorem@enimSednulla.com,1388600906,Luxembourg +267,Burton,eu.tellus@rutrumlorem.ca,1383102047,India +268,Peter,lobortis@neceuismod.ca,1356452559,Sudan +269,Geoffrey,per.conubia.nostra@fermentumvel.edu,1394111323,Lithuania +270,Nathan,luctus.et@idrisusquis.ca,1341136834,Liechtenstein +271,Ralph,at@bibendumfermentummetus.org,1396057484,Germany +272,Abraham,vel.pede@tellusPhaselluselit.com,1379275072,Congo +273,Lance,scelerisque@ante.com,1335547526,New Zealand +274,Brock,Donec.est@cursusnonegestas.com,1392931304,Nepal +275,Forrest,eu@mauris.edu,1353377682,Bhutan +276,Chandler,eleifend.nunc.risus@ornare.edu,1378827679,Virgin Islands British +277,Thomas,odio.Phasellus@Vestibulumaccumsan.edu,1342769975,Luxembourg +278,Basil,nec.cursus@tortor.com,1369245827,Bahamas +279,Boris,nascetur.ridiculus@dolordapibus.ca,1377377934,Niger +280,Herrod,velit.egestas.lacinia@orciUt.edu,1393493095,Svalbard and Jan Mayen +281,Yasir,velit.eu@nuncullamcorpereu.ca,1388711467,Heard Island and Mcdonald Islands +282,Steel,et@congueInscelerisque.edu,1337798604,China +283,Oscar,luctus@miDuisrisus.ca,1336190009,Greece +284,Thaddeus,imperdiet.non.vestibulum@vestibulumlorem.org,1338373878,Zambia +285,Gage,iaculis.lacus.pede@pellentesqueeget.org,1367060450,Denmark +286,Christopher,metus.urna@malesuada.org,1374814858,Anguilla +287,Kyle,euismod.mauris@volutpatnunc.com,1364325190,Cook Islands +288,Samson,Proin.sed@Vivamusnonlorem.org,1360487302,Belarus +289,Ralph,Nullam@eu.ca,1358147073,Malawi +290,Griffin,interdum.feugiat@necurna.com,1370505544,Paraguay +291,Baker,tincidunt.congue.turpis@adipiscingnonluctus.ca,1350097093,Antarctica +292,Eaton,consequat.nec@et.ca,1377673685,Tokelau +293,Tucker,odio@cursusinhendrerit.edu,1347779909,Togo +294,Oscar,aliquet.libero.Integer@arcu.edu,1352992759,Senegal +295,Owen,scelerisque.lorem@quisaccumsanconvallis.edu,1366947012,Macedonia +296,Tobias,turpis@et.ca,1337934360,Haiti +297,Duncan,imperdiet.ornare@at.edu,1363246899,United Kingdom +298,Jamal,eget@pellentesque.edu,1337638846,India +299,Quentin,dictum.Phasellus@ipsumdolor.org,1359166239,Guinea +300,Hedley,adipiscing.enim.mi@Morbineque.com,1364344259,Moldova +301,Jacob,pharetra@utipsumac.edu,1394398144,Anguilla +302,Oliver,mi.Aliquam@facilisis.ca,1347239954,Lebanon +303,Ahmed,commodo@auctorodioa.edu,1352928724,Ghana +304,Hayes,est.Nunc.ullamcorper@Nullamsuscipitest.org,1359027861,Dominican Republic +305,Kelly,ultrices@velit.ca,1336389894,Thailand +306,Arthur,id@rutrumurnanec.ca,1342504512,Argentina +307,Daquan,fringilla.euismod.enim@orci.com,1374429840,Belarus +308,Cairo,leo.Cras@luctusut.edu,1344461125,Libyan Arab Jamahiriya +309,Scott,ac.metus.vitae@Morbiquis.org,1368577191,Libyan Arab Jamahiriya +310,Wayne,Aliquam.erat@molestie.com,1337838788,Sri Lanka +311,Stewart,erat@lorem.com,1360906385,Iran Islamic Republic of +312,Jonas,luctus.felis.purus@etmagnisdis.ca,1365569901,France +313,Kelly,risus@nullaIn.org,1340160073,Swaziland +314,Harding,dignissim@sodalesnisi.org,1373581078,Iran Islamic Republic of +315,Samson,velit@euodioPhasellus.edu,1346879076,Swaziland +316,Abel,litora.torquent@duisemper.ca,1362928468,Djibouti +317,Marvin,ultricies.ligula.Nullam@Nunc.com,1388211328,Palau +318,Griffith,fringilla.euismod.enim@vestibulumneceuismod.ca,1342931290,Denmark +319,Hedley,Aenean.eget@pretium.ca,1355360781,Afghanistan +320,Raja,fames@enimSednulla.edu,1390641931,Greece +321,Tanek,et.rutrum.non@sedlibero.edu,1358114041,Slovenia +322,Cyrus,mauris.Suspendisse@nuncsed.edu,1388233356,Luxembourg +323,Duncan,egestas.lacinia.Sed@temporestac.com,1348551208,Armenia +324,Bevis,sed@mienimcondimentum.ca,1339920373,Philippines +325,Seth,elementum@Quisqueliberolacus.org,1359732845,Finland +326,Hashim,risus.Donec.egestas@NullainterdumCurabitur.org,1361386547,Grenada +327,Jarrod,nulla.magna@nibhsitamet.org,1355691487,Mexico +328,Wylie,at@arcu.org,1340646980,Virgin Islands U.S. +329,Lee,et.magnis@idante.org,1360576029,Congo +330,Hunter,ac.tellus@aodiosemper.org,1367851878,Mozambique +331,Daquan,pede@aliquetPhasellusfermentum.ca,1358547173,Montserrat +332,Cyrus,eu.nulla@sed.ca,1350919485,Finland +333,Noble,ornare.In@etarcu.ca,1367141534,Slovenia +334,Kieran,Duis.at.lacus@et.org,1371665908,Virgin Islands U.S. +335,Barry,tellus@atauctor.org,1395790000,Brazil +336,Armand,quam.dignissim@erat.ca,1348969047,Malawi +337,Carson,ipsum.ac@Nuncuterat.edu,1368674608,Dominica +338,Boris,lobortis@pharetraNamac.edu,1367242173,San Marino +339,Octavius,lacinia.Sed@Nullaeuneque.com,1388656652,Central African Republic +340,Yoshio,arcu.iaculis.enim@dictum.edu,1385151607,Guadeloupe +341,Valentine,a.ultricies.adipiscing@luctus.org,1388107972,American Samoa +342,Lyle,diam.luctus.lobortis@temporeratneque.com,1369289467,Kuwait +343,Kaseem,nisl.sem@nunc.ca,1343268203,Bolivia +344,Lucius,Donec@aliquameros.org,1349939399,Palau +345,Emery,pede.ac@ipsum.ca,1377622270,Haiti +346,Aidan,eu.turpis@eleifendCrassed.org,1360647176,Italy +347,Damon,sem.semper.erat@odiotristiquepharetra.edu,1349953369,Bolivia +348,Dieter,Sed@felisorciadipiscing.com,1351907440,Mauritius +349,Knox,mollis@musAeneaneget.com,1374885815,Colombia +350,Brendan,non@sodales.ca,1350158001,Somalia +351,Christopher,velit.Cras@sapiencursus.edu,1339404340,Ethiopia +352,Tyler,velit@enim.org,1342465800,Burkina Faso +353,Talon,consectetuer@gravidaPraesent.ca,1349101670,India +354,Reese,leo@ligulaNullamfeugiat.edu,1346902616,Belarus +355,Carlos,commodo@facilisislorem.edu,1375471639,Svalbard and Jan Mayen +356,Felix,fringilla@orci.org,1339466748,Latvia +357,Alexander,dui@risusInmi.com,1345955529,Honduras +358,Forrest,mi@scelerisque.com,1363386644,Bosnia and Herzegovina +359,Shad,ac.ipsum@primis.edu,1350844461,Indonesia +360,Jack,Class@velnislQuisque.com,1352904064,Botswana +361,Branden,lectus.Nullam.suscipit@amet.edu,1346562140,Bahamas +362,Ciaran,a.purus@nuncIn.com,1341377782,Saint Kitts and Nevis +363,Devin,magna.malesuada@egestas.edu,1366353268,Central African Republic +364,Wyatt,magna@urnaVivamus.ca,1360443340,French Polynesia +365,Thor,Nunc@metus.edu,1387749054,Central African Republic +366,Brennan,eu@pellentesquetellus.org,1365603317,Turkey +367,Laith,Etiam.bibendum.fermentum@nonantebibendum.org,1387753397,Antarctica +368,Seth,lobortis.risus@nullaIntincidunt.ca,1350842123,Falkland Islands (Malvinas) +369,Beau,ligula.eu@ametmetusAliquam.edu,1384962643,American Samoa +370,Zephania,interdum@Morbi.com,1391247285,Korea +371,Ashton,erat@aodiosemper.edu,1359436331,Mayotte +372,Michael,lectus.Nullam@consequatdolor.ca,1390733876,Guatemala +373,Salvador,penatibus.et@etultricesposuere.edu,1384908749,Uganda +374,Berk,sollicitudin@libero.edu,1368071111,Cyprus +375,Keegan,velit.Aliquam@sociisnatoque.edu,1354722833,Georgia +376,Paki,varius@Donecconsectetuer.com,1337412132,Western Sahara +377,Paki,velit@aultricies.ca,1358337501,Madagascar +378,Blaze,eu@lobortis.com,1373821569,Gabon +379,Porter,non.dapibus@nequeNullam.edu,1370057026,Zambia +380,Owen,ornare@Nulladignissim.edu,1392239030,United States Minor Outlying Islands +381,Acton,mattis.velit.justo@ipsumdolorsit.com,1365924271,Guam +382,Steven,ultricies@Suspendisseseddolor.com,1396968280,Colombia +383,Yasir,id.blandit.at@mollisvitaeposuere.edu,1352826537,Bermuda +384,Edward,orci@consectetuer.com,1366533279,Micronesia +385,Wing,et.magnis@enimcondimentumeget.com,1379106316,Saint Helena +386,Drake,amet.risus.Donec@nec.ca,1393533925,Cameroon +387,Jamal,Aliquam@Fuscedolor.ca,1375145595,Denmark +388,Derek,tristique.pharetra.Quisque@Sedeget.com,1366214277,Pakistan +389,Rashad,at.velit.Cras@porttitorinterdumSed.ca,1352012114,Saint Helena +390,Phillip,neque@Vivamus.org,1393096923,Dominica +391,Vincent,turpis.Nulla@nibhPhasellus.org,1361179472,Ukraine +392,Tucker,sodales.Mauris@Cras.org,1342957610,Slovakia +393,Paki,nibh.sit.amet@facilisislorem.org,1377160207,Georgia +394,Colby,et.malesuada@acorciUt.org,1379972479,Azerbaijan +395,Macaulay,tellus@orciconsectetuer.org,1383199949,Argentina +396,Kennedy,gravida.mauris@orciPhasellus.edu,1356641217,Philippines +397,Kirk,lorem.vehicula@arcuVestibulum.ca,1378044673,Trinidad and Tobago +398,Emmanuel,fermentum.fermentum.arcu@semperauctor.com,1363707731,Marshall Islands +399,Timothy,non.ante.bibendum@Fuscefeugiat.ca,1375949590,Cameroon +400,Noah,lacus.Quisque.purus@nisi.edu,1335748031,Seychelles +401,Nicholas,non.leo@odio.ca,1389197281,India +402,Donovan,tristique.neque.venenatis@eratvel.com,1385114906,Belarus +403,Xander,Praesent@tempordiam.org,1392419688,Italy +404,Thaddeus,auctor.quis.tristique@facilisisfacilisis.com,1388842032,Saudi Arabia +405,Arsenio,tempor.arcu@lacusUtnec.org,1334603419,Belarus +406,Beau,ac.mattis@utmolestie.edu,1337503000,Antarctica +407,Vincent,odio.Aliquam@idblanditat.org,1366671151,Guadeloupe +408,Lyle,laoreet@Crasconvallis.edu,1379225175,Cameroon +409,Lev,nec.ante@gravidaPraesenteu.com,1353370146,Kyrgyzstan +410,Camden,ipsum@velit.edu,1337657203,Norfolk Island +411,Lamar,Nunc@sociisnatoque.ca,1372557854,Korea +412,Chandler,vulputate.velit@magnisdisparturient.org,1380569103,Haiti +413,Marvin,vulputate.mauris.sagittis@enim.com,1363879003,Zambia +414,Hilel,nec.tempus.scelerisque@risusodio.edu,1393782501,Tokelau +415,Fuller,egestas@nibhAliquamornare.edu,1345729695,Madagascar +416,Wyatt,sit@sed.ca,1369420167,Zimbabwe +417,Burton,Aliquam.erat@blanditenimconsequat.ca,1390698927,Bouvet Island +418,Honorato,vulputate.ullamcorper@necligulaconsectetuer.org,1335307797,Marshall Islands +419,Eagan,Curabitur.ut@semperpretiumneque.ca,1357518836,Northern Mariana Islands +420,Zeus,elit@lobortisClassaptent.edu,1397071862,Brazil +421,Perry,dolor.vitae.dolor@egestasligulaNullam.com,1374330083,Romania +422,Justin,ac.turpis@Etiam.ca,1387274200,United Arab Emirates +423,Brenden,Ut.sagittis@ataugue.ca,1397130616,Bouvet Island +424,Tanner,venenatis.a.magna@Vivamusnonlorem.ca,1362630686,Swaziland +425,Garth,nec@mollis.edu,1394891048,Austria +426,Ishmael,laoreet.libero@sed.org,1359392359,Australia +427,Raja,in.dolor@atsemmolestie.com,1370716918,Guam +428,Erich,mauris.Suspendisse@pharetra.com,1354781824,Bosnia and Herzegovina +429,Griffith,arcu@Nullamlobortisquam.ca,1338709001,Uzbekistan +430,Hop,arcu@idliberoDonec.ca,1371951141,Yemen +431,Logan,egestas.a@sedorci.edu,1393453928,Grenada +432,Clayton,orci.Ut@ametmetus.edu,1359647885,Senegal +433,Cairo,et.commodo@etmagnis.ca,1339659139,Heard Island and Mcdonald Islands +434,Ali,ac.libero.nec@eumetus.com,1361710840,Kenya +435,Hop,adipiscing@Etiam.com,1376168839,Malawi +436,Lucas,Phasellus.nulla@ametconsectetueradipiscing.org,1340960752,India +437,Stone,dictum.Phasellus.in@et.edu,1375836263,Nauru +438,Todd,enim.nisl.elementum@blanditcongueIn.com,1338953374,Jordan +439,Keefe,amet.luctus.vulputate@ut.com,1388885227,Brunei Darussalam +440,Hammett,lorem.fringilla.ornare@dignissim.org,1385368990,Uganda +441,Ferdinand,ridiculus@nunc.org,1358753397,El Salvador +442,Brody,erat.volutpat@luctus.ca,1339789807,Zambia +443,Devin,tempor@etrisusQuisque.com,1354478321,Tokelau +444,Nolan,dolor.Quisque.tincidunt@Etiam.org,1374044767,Cuba +445,Sylvester,cursus@quis.com,1351217251,Kenya +446,Declan,ac@justosit.org,1339092518,Kiribati +447,Cade,porttitor.interdum@loremfringilla.ca,1371526454,Finland +448,Kamal,Curabitur@adipiscing.edu,1359273093,Italy +449,Honorato,Aenean.sed.pede@aliquetsem.ca,1369125494,Mexico +450,Jasper,Quisque@nibhAliquamornare.org,1371022771,Comoros +451,Theodore,nec.ante@mi.edu,1334390665,Lebanon +452,Hop,dolor@dictum.ca,1379774539,France +453,Chadwick,Donec@ametrisus.com,1351299203,Yemen +454,Curran,ipsum@ornaresagittisfelis.org,1364667875,Marshall Islands +455,Price,congue.elit@lectusCumsociis.com,1391935338,Qatar +456,Ian,ligula.Aenean@maurissagittisplacerat.ca,1373957967,Uzbekistan +457,Quinn,Sed.molestie.Sed@aliquamerosturpis.ca,1369504078,Netherlands +458,Dalton,ante.bibendum@idante.edu,1392234705,Egypt +459,Asher,lacinia.mattis.Integer@uteratSed.org,1344016729,Madagascar +460,Price,mollis.vitae.posuere@Ut.com,1349876476,Cocos (Keeling) Islands +461,Addison,elementum.sem@Crassedleo.com,1375755310,Sao Tome and Principe +462,Kato,velit.Sed@aliquetodioEtiam.edu,1350284488,French Southern Territories +463,Finn,arcu@Suspendissedui.com,1359589355,Estonia +464,Anthony,erat.vitae.risus@Aliquameratvolutpat.edu,1363993400,Belgium +465,Ferdinand,mauris.Morbi@Vivamusnibh.com,1383812487,Cayman Islands +466,Fitzgerald,Suspendisse.non.leo@cubiliaCurae;Phasellus.com,1341824871,Saint Helena +467,Abel,aliquam.eu@Nullamenim.org,1366511483,Seychelles +468,Ivan,habitant.morbi.tristique@nuncid.ca,1382123866,Haiti +469,Quentin,sed.dui.Fusce@Sed.ca,1336015093,Liechtenstein +470,Ethan,sem@Etiamvestibulummassa.org,1346270597,Netherlands Antilles +471,Damon,tristique.ac.eleifend@non.com,1356823739,New Caledonia +472,Sean,Integer@semperrutrum.com,1383113889,Timor-leste +473,Vladimir,torquent.per@Proinnislsem.org,1354225296,Syrian Arab Republic +474,Louis,auctor.quis@ornareplaceratorci.edu,1375258696,Panama +475,Michael,a.auctor@nonmassanon.org,1363805774,Cook Islands +476,Tyrone,elementum@semutcursus.com,1339587196,Bosnia and Herzegovina +477,Chadwick,posuere.enim.nisl@Nullam.com,1353923210,Switzerland +478,Eaton,Donec.at.arcu@sodalespurusin.edu,1384175207,United Kingdom +479,Bruce,erat@Loremipsumdolor.ca,1363046476,Sao Tome and Principe +480,Geoffrey,nec.euismod@pretium.ca,1344207504,Belgium +481,Shad,amet@imperdiet.edu,1390392423,Central African Republic +482,Sylvester,vehicula.risus@Donec.ca,1339956756,Cambodia +483,Tyler,enim.non.nisi@imperdiet.org,1353196687,Togo +484,Paul,Donec.tempus@posuere.org,1370169184,Korea Republic of +485,Wang,Cras.eget@maurissagittisplacerat.ca,1371517391,Sweden +486,Eric,convallis.dolor.Quisque@Sed.edu,1372259553,India +487,Samson,malesuada.Integer.id@tempusloremfringilla.org,1372287264,South Africa +488,Lucas,semper.pretium@Aliquamauctor.com,1372978324,Martinique +489,Cooper,a@aliquet.org,1374194535,Afghanistan +490,Adrian,neque@Morbivehicula.ca,1393440020,Mexico +491,Marvin,vestibulum.nec.euismod@tellusid.org,1353277932,Estonia +492,Hammett,ipsum@ante.ca,1390960303,Korea Republic of +493,John,non@vitaemaurissit.edu,1396237883,Vanuatu +494,Maxwell,arcu.Sed@leoVivamusnibh.ca,1362837574,Australia +495,Cody,tincidunt.dui.augue@magnaSuspendissetristique.org,1364775621,India +496,Griffith,ridiculus@velarcueu.ca,1335642453,Turkmenistan +497,Stone,volutpat.Nulla@vitaediam.com,1346237760,Chad +498,Wang,Aenean.massa@Phaselluslibero.edu,1378468115,Germany +499,Zephania,Nulla.dignissim.Maecenas@Donec.edu,1340179483,Bolivia +500,Devin,sociis.natoque@tempusmauriserat.edu,1383189722,Malta +501,Barry,porttitor.interdum.Sed@malesuadaIntegerid.ca,1346766480,Guinea-bissau +502,Edward,justo@sit.org,1377563855,Tunisia +503,Noah,Fusce.mollis.Duis@arcuacorci.org,1375982699,United Kingdom +504,Eric,et.pede@arcuVestibulum.org,1340503121,Georgia +505,Yardley,et.eros.Proin@Suspendisse.com,1396462134,Antarctica +506,Drake,Nulla@porttitorscelerisque.ca,1386429365,Tokelau +507,Aquila,mi.fringilla@egetmassaSuspendisse.edu,1351603078,Liechtenstein +508,Brady,vel.arcu@nostraper.com,1376302590,Belarus +509,Ivor,egestas@Inat.com,1337397452,Mali +510,Kane,enim.commodo@sedconsequatauctor.ca,1349884292,Kyrgyzstan +511,Brock,quis.tristique.ac@luctus.edu,1368112188,Virgin Islands British +512,Warren,purus@netus.ca,1349528556,Malaysia +513,Bradley,bibendum.ullamcorper@sitamet.edu,1376581449,Barbados +514,Dante,aliquet@adipiscingenimmi.edu,1395510973,Palau +515,Linus,ipsum@Integertinciduntaliquam.org,1344019872,Venezuela +516,Lev,posuere.vulputate.lacus@enimmi.com,1374563869,Northern Mariana Islands +517,Odysseus,augue@turpisIncondimentum.ca,1349133361,Kenya +518,Camden,sagittis.placerat.Cras@Aliquamvulputate.edu,1352608889,Dominican Republic +519,Zeus,nunc.ac@milorem.edu,1359077578,Hungary +520,Kenneth,lorem.auctor@faucibus.com,1376539623,Sierra Leone +521,Cain,eu.augue.porttitor@elementumategestas.org,1351731654,Rwanda +522,Peter,vitae.mauris@DonecegestasDuis.org,1392798827,Guinea +523,Geoffrey,bibendum.ullamcorper.Duis@Vestibulumante.org,1357596838,Anguilla +524,Norman,quis.massa@turpis.ca,1343264627,Madagascar +525,Hyatt,ornare@nuncIn.ca,1338751470,Madagascar +526,Seth,taciti.sociosqu@volutpatnunc.com,1352424270,Marshall Islands +527,Burton,ornare@aliquetmagna.org,1343497384,United Arab Emirates +528,Donovan,pharetra@natoque.com,1340922158,Greece +529,Sylvester,magna@acarcu.edu,1369623217,Western Sahara +530,Beau,eu.ultrices.sit@loremauctorquis.ca,1354770994,Mayotte +531,Connor,eget@leoCras.edu,1346726976,Uganda +532,Isaiah,malesuada.vel@augueeutellus.ca,1344598522,Solomon Islands +533,Drake,ipsum@velit.edu,1379748891,Malaysia +534,Matthew,Cum@estmaurisrhoncus.edu,1355741495,Puerto Rico +535,Jameson,Morbi.non.sapien@purussapiengravida.com,1381681640,Brazil +536,Harlan,libero.mauris@euismodindolor.ca,1345427668,Philippines +537,Lance,enim.gravida.sit@acfermentumvel.org,1363661968,Belgium +538,Ferris,urna.convallis.erat@convallis.edu,1342640994,Slovakia +539,Abbot,nascetur@pedeSuspendisse.ca,1346181163,Ecuador +540,Wyatt,volutpat@venenatisvel.com,1335973212,Gabon +541,Lars,gravida.non@orci.org,1361816860,British Indian Ocean Territory +542,Amir,neque@malesuadavel.ca,1389697525,Italy +543,Nolan,diam.eu.dolor@semperNamtempor.ca,1350629567,Djibouti +544,Baker,semper.dui@aliquet.ca,1335173362,Kazakhstan +545,Giacomo,tristique@venenatis.ca,1367395579,Cyprus +546,Oscar,urna@ultricessitamet.org,1349903896,Colombia +547,Fuller,sapien.Cras@ligula.ca,1382961418,Spain +548,Jasper,ac.turpis@velturpis.org,1378143860,Niue +549,Wylie,Aliquam.nec@scelerisquedui.ca,1377430704,Guyana +550,Geoffrey,tellus.justo@vitae.ca,1335961033,United Kingdom +551,Ira,massa.Integer@nonleoVivamus.ca,1349621745,Uruguay +552,Elton,eu.placerat@DonecegestasDuis.ca,1385876857,Jamaica +553,Ignatius,eget.metus@Pellentesquehabitant.edu,1377339552,Somalia +554,Kenyon,tempor@pharetraNamac.ca,1369817460,Brazil +555,Mohammad,diam.Pellentesque.habitant@arcu.edu,1343701997,Angola +556,Craig,auctor.vitae.aliquet@ullamcorperDuis.ca,1359098501,India +557,Thane,habitant.morbi@Utnec.ca,1339884578,South Africa +558,Shad,dolor@semNulla.ca,1390638100,Ireland +559,Timon,Curabitur.egestas@Quisquevarius.org,1382069305,San Marino +560,Melvin,mollis.dui.in@euplacerateget.ca,1364563267,Lebanon +561,Gavin,lacus.varius@eros.org,1371756441,Northern Mariana Islands +562,Brent,Ut.sagittis.lobortis@milaciniamattis.edu,1377574055,Ireland +563,Zachary,malesuada.fames.ac@enimcommodohendrerit.com,1353113946,Lebanon +564,Warren,Sed@veliteu.edu,1338890524,Mauritania +565,Knox,at.egestas.a@velarcueu.ca,1359416798,Ethiopia +566,Herrod,fringilla.porttitor.vulputate@vitaesodales.com,1352311834,Mexico +567,Burke,elementum.purus@sit.ca,1355107273,Angola +568,Amir,gravida@id.ca,1378110177,Niger +569,August,Mauris.vel.turpis@malesuadavelvenenatis.edu,1376279397,Northern Mariana Islands +570,Wesley,lacus@tristiquesenectus.ca,1335416343,Zimbabwe +571,Chaney,tempor@eleifendegestas.org,1362405163,Kuwait +572,Drake,purus.ac@metusAenean.edu,1389382393,Guadeloupe +573,Troy,accumsan.interdum.libero@interdumligulaeu.edu,1373302444,Northern Mariana Islands +574,Coby,adipiscing.ligula@diam.com,1353284992,Morocco +575,Hop,magna@facilisisnon.edu,1339879353,Zimbabwe +576,Curran,nec.tempus.scelerisque@diamdictum.ca,1349327815,Tonga +577,Raja,luctus.ut.pellentesque@ipsumSuspendissesagittis.edu,1385862807,Peru +578,Ezekiel,euismod.urna@pedeet.org,1392471703,Saint Helena +579,James,libero.nec.ligula@malesuadafamesac.ca,1339502037,Netherlands Antilles +580,Ivan,dui@pedeCrasvulputate.edu,1371002555,Falkland Islands (Malvinas) +581,Walker,augue@scelerisquesedsapien.com,1341198556,Kazakhstan +582,Raphael,aliquet.sem.ut@feugiat.org,1361080776,Poland +583,Adam,interdum@Aliquamvulputate.ca,1346681384,Lebanon +584,Cedric,pellentesque.Sed.dictum@eusemPellentesque.org,1382986389,India +585,Lionel,Nulla.eu.neque@variuset.ca,1367465522,Germany +586,Vance,eu@auctorvitaealiquet.ca,1350642845,Timor-leste +587,Benjamin,dictum.magna@sit.edu,1368668971,New Caledonia +588,Noah,magna.Sed.eu@arcuVestibulumut.edu,1363985170,Moldova +589,Garrison,sit.amet.consectetuer@dui.org,1337620305,Namibia +590,Merritt,felis.adipiscing@morbitristique.org,1343005524,Guadeloupe +591,Rogan,diam.eu@diamPellentesquehabitant.ca,1343763833,Antigua and Barbuda +592,Marshall,lorem.fringilla.ornare@Incondimentum.ca,1375715978,Finland +593,Dillon,facilisis@aliquetnecimperdiet.ca,1357280403,Peru +594,Phillip,eros.nec@Quisquenonummy.edu,1361803104,Bangladesh +595,Victor,quis.massa.Mauris@hendreritconsectetuercursus.org,1381648038,Panama +596,Lyle,pharetra.Nam@volutpat.com,1380823075,Poland +597,Benjamin,adipiscing@ataugue.ca,1377726599,Bahrain +598,Cade,nec.metus.facilisis@tinciduntadipiscingMauris.edu,1364801524,Guyana +599,Gannon,adipiscing@taciti.ca,1367859612,Belarus +600,Scott,Sed.nec@Fuscedolor.com,1357879823,Solomon Islands +601,Griffith,dis.parturient.montes@pedeac.org,1389412417,Turkey +602,Christopher,neque.tellus@semut.org,1368892545,Falkland Islands (Malvinas) +603,Harper,magna.Suspendisse.tristique@loremvitaeodio.edu,1391525916,Brunei Darussalam +604,Gary,lacus.Mauris.non@amet.ca,1371246327,Russian Federation +605,Kadeem,luctus.Curabitur@ridiculusmusProin.edu,1359378950,Lesotho +606,Flynn,velit.Sed@interdumlibero.com,1338671301,Ukraine +607,Burke,in@sollicitudincommodo.ca,1366513885,Honduras +608,Asher,enim.Etiam.gravida@Maecenasmi.org,1336667509,Philippines +609,Hayes,varius.orci.in@ametloremsemper.ca,1361046959,Venezuela +610,Joel,eu@Cumsociisnatoque.ca,1359865114,Kiribati +611,Lucian,neque@Pellentesqueultriciesdignissim.org,1387628339,Guinea +612,Dieter,Nulla.semper@inmagna.com,1349139851,South Georgia and The South Sandwich Islands +613,Felix,nascetur@necmetusfacilisis.ca,1367576445,Seychelles +614,Wing,Suspendisse.sagittis.Nullam@ametconsectetuer.edu,1396694866,Holy See (Vatican City State) +615,Linus,tristique@adipiscing.edu,1358225700,Bahamas +616,Lionel,dictum.eleifend.nunc@liberoatauctor.edu,1352152234,Faroe Islands +617,Neil,cursus.non@parturient.org,1391913125,Switzerland +618,Dexter,parturient.montes@nisl.com,1390541820,Saint Kitts and Nevis +619,Jasper,Nam.tempor@Cum.ca,1362352002,Iraq +620,Wesley,In@orcilobortis.ca,1382729689,Madagascar +621,Erich,elit@lectus.ca,1394980571,Bosnia and Herzegovina +622,Brady,mi.Aliquam@semperNam.org,1379329143,Northern Mariana Islands +623,Malcolm,egestas@non.org,1386915941,Gambia +624,Eagan,vitae.velit@tincidunt.edu,1393192791,Tanzania United Republic of +625,Quentin,Nulla@per.edu,1381488022,Chad +626,Slade,Mauris@loremfringillaornare.com,1344357272,Heard Island and Mcdonald Islands +627,Randall,egestas.a.scelerisque@euismodet.com,1371080816,New Caledonia +628,John,feugiat.non.lobortis@Suspendisseseddolor.org,1339175321,Bouvet Island +629,Conan,velit.eget.laoreet@a.com,1357726807,Burkina Faso +630,Erich,eget.ipsum@quis.org,1341261793,Chile +631,Gage,magna.Duis.dignissim@cubilia.org,1343737213,New Caledonia +632,Lester,quis@semper.edu,1382917335,Afghanistan +633,Jordan,Nam.consequat.dolor@Sedpharetrafelis.edu,1349472127,Seychelles +634,Thor,mi.felis@Quisque.com,1336792434,Japan +635,Ray,dui.augue.eu@ac.edu,1372348179,Guadeloupe +636,Henry,in.dolor.Fusce@et.edu,1353746039,Czech Republic +637,Tarik,ultrices.posuere@Pellentesqueultricies.com,1344211038,Colombia +638,Cameron,consectetuer.adipiscing@Proin.ca,1349689759,French Southern Territories +639,Aristotle,ipsum@urnaUttincidunt.com,1393102780,Aruba +640,Otto,Nulla.tincidunt@diam.com,1359825517,Estonia +641,Clayton,vehicula.et@odio.org,1368070969,Malawi +642,Hamish,arcu@necmauris.org,1382866231,Pakistan +643,Jermaine,dolor.Fusce@fringillapurus.org,1396979383,Jordan +644,Samson,mattis@Nunccommodo.ca,1370647644,Seychelles +645,Amos,habitant@nunc.org,1337409568,Guinea +646,Yuli,libero@nislMaecenas.org,1394901653,Algeria +647,Vincent,dis@arcuSed.org,1378636815,Armenia +648,Preston,sagittis.felis@musProin.ca,1336330481,Cook Islands +649,Clarke,interdum.libero.dui@non.edu,1386938790,Malawi +650,Armand,Quisque.libero@felis.ca,1361698385,Kiribati +651,Elliott,sed.dui@at.edu,1352202272,Romania +652,Michael,Donec.luctus.aliquet@nequeSed.com,1357740153,Belarus +653,Oren,at@erosNamconsequat.com,1373261197,Costa Rica +654,Dean,congue.In@indolor.org,1382332481,Heard Island and Mcdonald Islands +655,Tucker,neque.non@nonummy.com,1392840548,Lithuania +656,Jin,diam.eu@vel.edu,1347602002,Palestinian Territory Occupied +657,Isaiah,nunc@et.edu,1374540389,Chad +658,Logan,nisl.Maecenas@velitinaliquet.edu,1373955982,Dominican Republic +659,Merrill,id.sapien.Cras@purusMaecenas.com,1380104778,Suriname +660,Xanthus,Pellentesque.ultricies.dignissim@loremlorem.org,1394038770,Puerto Rico +661,Jermaine,Nulla.tincidunt@Nulla.edu,1369784148,Denmark +662,Gavin,Suspendisse@arcu.ca,1346212372,United States +663,David,tempor.augue.ac@nislNullaeu.ca,1391947202,Marshall Islands +664,Simon,Maecenas@nonarcuVivamus.org,1395157090,Gibraltar +665,Evan,sed@antedictummi.com,1336269577,Tajikistan +666,Rashad,nunc.est@quam.org,1352896222,Cyprus +667,Gregory,purus@pellentesqueegetdictum.com,1371306491,New Caledonia +668,Vincent,dictum@duilectusrutrum.org,1391324409,Nicaragua +669,Kevin,auctor@laciniaatiaculis.edu,1395929061,Singapore +670,Kato,ultricies.sem@pellentesqueSed.ca,1368689605,Mauritius +671,Warren,et@antebibendum.ca,1351564633,Armenia +672,Steel,lectus@sitametrisus.ca,1391217238,Namibia +673,Abbot,posuere.at@eratvel.edu,1334959584,Malawi +674,Gabriel,penatibus@velpedeblandit.ca,1347325593,French Polynesia +675,Sean,sit.amet.metus@malesuadafamesac.org,1373893559,Central African Republic +676,Melvin,nec.urna@porttitorvulputate.ca,1383545066,Guadeloupe +677,Hayes,hendrerit.a.arcu@odioPhasellus.edu,1343805933,Argentina +678,Travis,dignissim.tempor@magnis.ca,1344189120,Cyprus +679,Griffith,placerat.Cras.dictum@ornare.com,1394815093,Bangladesh +680,Oleg,posuere@musDonec.com,1356165607,Venezuela +681,Leo,eget.volutpat@Sed.com,1340374501,Luxembourg +682,Dexter,nunc.sed@dapibus.edu,1395129943,Lebanon +683,Kuame,arcu@consequat.edu,1354104856,Falkland Islands (Malvinas) +684,Kato,metus.Vivamus@Donec.org,1385223279,Portugal +685,Graiden,sociis@massa.ca,1375206830,Belize +686,Joseph,facilisis@sempertellusid.edu,1348787636,Anguilla +687,Merrill,blandit@In.edu,1367686700,France +688,Cameron,ante.Nunc@diamdictumsapien.ca,1384202753,Antigua and Barbuda +689,Silas,nunc.nulla@lobortis.com,1352128545,Fiji +690,Alexander,ornare.egestas@euneque.ca,1380184897,Hungary +691,Herrod,sed@velit.ca,1338582068,Iraq +692,Martin,tincidunt@Aeneanegetmagna.com,1348117314,Moldova +693,Quinn,diam@tortordictum.com,1335987175,Turkey +694,Gannon,auctor.Mauris.vel@euelit.org,1363260642,Yemen +695,Timothy,nisl.Maecenas@Vivamusrhoncus.ca,1387591073,Libyan Arab Jamahiriya +696,Baxter,at.risus.Nunc@interdumNuncsollicitudin.org,1357106829,Myanmar +697,Kibo,malesuada.ut.sem@idante.ca,1386858440,Angola +698,Wang,velit@pharetraut.edu,1368600443,Saint Lucia +699,Carl,congue.In.scelerisque@faucibus.edu,1393706376,Jamaica +700,Wylie,adipiscing.fringilla.porttitor@nulla.ca,1391934049,South Georgia and The South Sandwich Islands +701,Malcolm,sed.dictum@Mauris.org,1337915971,New Caledonia +702,Lance,Aenean.eget@cursusin.org,1345066920,Trinidad and Tobago +703,Judah,montes.nascetur.ridiculus@Phasellusdolorelit.com,1373200891,Singapore +704,Moses,Duis.sit@Fuscealiquam.edu,1384276480,Reunion +705,Chaim,turpis@dapibusidblandit.ca,1385986466,Bermuda +706,Vincent,primis.in@Quisquepurus.com,1371361008,Bosnia and Herzegovina +707,Kyle,nec.urna.et@sit.org,1336594974,Taiwan Province of China +708,Barry,fringilla@Duisdignissimtempor.ca,1390166026,Jordan +709,Alfonso,congue@sit.org,1354310970,Bahrain +710,Lars,blandit.enim.consequat@nectellus.ca,1361239641,Bhutan +711,Elliott,eget@posuerecubiliaCurae;.edu,1369081726,Bahrain +712,Tiger,porttitor.vulputate.posuere@adipiscingfringillaporttitor.org,1368217134,Sao Tome and Principe +713,Jakeem,non.dui@elitpretium.com,1335326680,Saint Vincent and The Grenadines +714,Mason,porta@ac.ca,1356678036,Suriname +715,Brenden,nibh.dolor.nonummy@atsem.edu,1383752047,Guinea-bissau +716,George,vel.est@risus.com,1355624615,Fiji +717,Clarke,Pellentesque.habitant.morbi@aliquetmolestietellus.com,1370375700,Dominican Republic +718,Aristotle,adipiscing.lacus.Ut@elitEtiamlaoreet.ca,1366094347,Angola +719,Lance,vel.convallis.in@Donecatarcu.ca,1390325363,China +720,Tarik,mauris.blandit.mattis@aliquet.ca,1376821191,Monaco +721,Lucas,sit.amet@acrisusMorbi.ca,1393906698,Mayotte +722,Ryder,velit@lectuspedeet.ca,1349734520,New Zealand +723,Mason,bibendum.fermentum@urna.org,1334365167,American Samoa +724,Cody,semper@eros.ca,1390338795,Honduras +725,Marshall,odio.auctor.vitae@dolor.ca,1342600190,Cape Verde +726,Hyatt,orci.luctus.et@enim.org,1337857138,Cook Islands +727,Tanek,quam.Pellentesque@Nullaeget.org,1373219003,Suriname +728,Joel,scelerisque@metusVivamuseuismod.edu,1354340416,Switzerland +729,Malik,luctus.ut.pellentesque@eget.edu,1356675293,Nicaragua +730,Matthew,lacinia@et.org,1367588428,Korea +731,Samuel,vel@ametfaucibusut.org,1375593912,Falkland Islands (Malvinas) +732,Isaac,fringilla@pulvinar.ca,1386534517,Samoa +733,Gil,dui@neque.ca,1360123837,Holy See (Vatican City State) +734,Giacomo,convallis@blandit.ca,1381779935,Cyprus +735,Addison,eu.neque@variusorciin.com,1386262937,Monaco +736,Tanek,Proin.ultrices.Duis@nuncid.ca,1336313229,Heard Island and Mcdonald Islands +737,Walter,Suspendisse.aliquet.sem@aliquamadipiscing.ca,1373008492,Iran Islamic Republic of +738,Sebastian,nonummy.ultricies@In.ca,1369833962,Georgia +739,Timothy,nec.mauris@nonsollicitudina.edu,1390430405,Senegal +740,Herrod,Sed.diam@necluctus.edu,1355994815,Pitcairn +741,Graham,enim@ametlorem.edu,1367802215,Portugal +742,Christopher,lorem@Cum.ca,1371985220,French Polynesia +743,Gareth,Donec.consectetuer.mauris@sed.edu,1353295968,Cook Islands +744,Henry,elit.Aliquam@elementumategestas.com,1364707853,Djibouti +745,Jordan,dolor.nonummy@purusmaurisa.edu,1371273626,French Guiana +746,Abraham,Duis@nostra.edu,1338144909,Estonia +747,Todd,non@netus.edu,1377219863,Moldova +748,Dennis,pellentesque.tellus@variusultricesmauris.ca,1351530617,New Zealand +749,Stephen,Nulla@Donecat.ca,1389648852,Grenada +750,Jonas,parturient.montes.nascetur@ullamcorpermagna.org,1373933512,Saint Vincent and The Grenadines +751,Gareth,vehicula.risus.Nulla@mollis.org,1358962975,Monaco +752,Oliver,nulla.at.sem@urna.ca,1337694452,Saint Helena +753,Amir,erat.volutpat.Nulla@Duisvolutpatnunc.com,1361675577,Gambia +754,Kieran,lorem@ornare.com,1339185012,Palau +755,Alvin,orci.in.consequat@elitEtiam.com,1361779803,Puerto Rico +756,Marvin,arcu@semsemper.com,1374647903,Ireland +757,Brenden,est.congue@leo.org,1396446708,Belize +758,Ahmed,massa.Suspendisse.eleifend@Nullafacilisis.edu,1357128930,Saint Helena +759,Raphael,aliquet.libero@ligulaAliquamerat.ca,1365704071,Eritrea +760,Caleb,feugiat@utlacusNulla.com,1360808522,Dominican Republic +761,Driscoll,amet.ultricies.sem@semmolestie.ca,1356394069,Myanmar +762,Eaton,ultrices.Vivamus@acipsum.edu,1354584352,United States Minor Outlying Islands +763,Arthur,Aliquam@sapiencursusin.edu,1359219260,Poland +764,Wesley,Morbi.neque.tellus@risus.ca,1336640277,Vanuatu +765,Maxwell,molestie@nislelementumpurus.ca,1370669031,Indonesia +766,Caldwell,sollicitudin.a.malesuada@pellentesqueSed.org,1366010267,Solomon Islands +767,Driscoll,Suspendisse.sagittis.Nullam@aliquamadipiscing.com,1343619407,Dominica +768,Kibo,diam.nunc@nibhenim.ca,1374386768,Palau +769,Rafael,lacinia.at.iaculis@enimSuspendisse.ca,1334310813,Kazakhstan +770,Bruno,vel.convallis.in@orci.ca,1366477438,Saudi Arabia +771,Kane,magna.Praesent@dolorelitpellentesque.com,1381744073,Denmark +772,Hammett,molestie.tortor.nibh@et.com,1337745113,Micronesia +773,Seth,luctus.ut@luctuslobortis.ca,1337640978,Bolivia +774,Graham,malesuada.malesuada.Integer@elementumdui.com,1339298652,Swaziland +775,Timon,pede@consectetueripsum.edu,1342927790,Gambia +776,Elton,eget.nisi@acrisusMorbi.edu,1336977651,Saudi Arabia +777,Myles,Pellentesque.ultricies@feliseget.org,1337745703,Colombia +778,Barclay,porttitor.eros@Fuscefermentum.ca,1336267542,Antarctica +779,Merrill,ultricies@tinciduntorci.org,1356938822,Aruba +780,Jamal,tristique.ac.eleifend@molestieorcitincidunt.ca,1380724767,Mongolia +781,Louis,ullamcorper.viverra.Maecenas@dolorelit.org,1344460934,Togo +782,Curran,odio@Duis.com,1390230122,Somalia +783,Aidan,ac@Sednullaante.org,1378869896,Fiji +784,Brock,odio@etlibero.org,1385700971,Korea Republic of +785,Dalton,Phasellus.libero@hendreritconsectetuercursus.com,1350985712,Cyprus +786,Abdul,odio@risus.edu,1378045203,Moldova +787,Colt,Sed.malesuada@augue.edu,1389507597,Uruguay +788,Gannon,rhoncus.Proin.nisl@Vestibulumante.org,1357098738,Cameroon +789,Chandler,tincidunt@Curabiturmassa.org,1379080122,Ghana +790,Jackson,malesuada@elitNulla.org,1341555403,Saint Lucia +791,Luke,Proin.vel.arcu@accumsanconvallisante.org,1354438567,Brazil +792,Drew,Integer.mollis.Integer@hendreritaarcu.com,1364258794,Comoros +793,Chancellor,risus.Morbi.metus@antedictum.ca,1392017574,South Georgia and The South Sandwich Islands +794,Barry,turpis.vitae@scelerisquescelerisque.org,1390530064,Belgium +795,Walter,lacus.pede@litoratorquent.edu,1388250085,Kyrgyzstan +796,Noble,leo.in.lobortis@lorem.org,1340276796,Poland +797,Scott,massa@lectus.com,1345841506,Iran Islamic Republic of +798,Avram,consequat@varius.com,1337674715,Saint Lucia +799,Lewis,iaculis@ametrisus.org,1339464959,China +800,Sean,luctus.felis@perinceptoshymenaeos.org,1395724940,Nicaragua +801,Walker,ornare@aliquetsemut.org,1374421061,Sweden +802,Gray,velit.justo.nec@dictumPhasellus.edu,1383186713,Mali +803,Kevin,vel.vulputate.eu@commodoauctorvelit.ca,1392956454,Croatia +804,Francis,sit.amet.consectetuer@Donec.com,1388758861,Virgin Islands British +805,Stuart,Proin@velitCraslorem.edu,1384171011,Saudi Arabia +806,Geoffrey,faucibus.id@erosnonenim.org,1374465892,Kenya +807,Paul,accumsan.interdum@Donecnibh.edu,1384440472,Austria +808,Charles,In.faucibus.Morbi@Suspendissecommodo.com,1349522190,Senegal +809,Isaac,vulputate.dui.nec@diamProin.com,1335489746,China +810,Abel,sed.hendrerit@Naminterdum.org,1377309147,Congo +811,Magee,ante@Inat.org,1351435079,Samoa +812,Elliott,Pellentesque.ut.ipsum@dolorNulla.edu,1381015625,Belgium +813,Logan,eros.Proin@erat.org,1336088746,Latvia +814,Solomon,orci.lacus.vestibulum@velesttempor.org,1345998596,Estonia +815,Jin,nibh@Nulla.edu,1380431151,Morocco +816,Chaney,lobortis.quam.a@pedemalesuada.edu,1359189872,Argentina +817,Garth,Donec@vel.ca,1356965254,Burundi +818,Octavius,faucibus.id@enimEtiam.com,1367358844,Korea +819,Alexander,vel.pede.blandit@turpisnon.edu,1345524500,Saint Helena +820,Jonah,Quisque.ac@ipsumleoelementum.org,1338901991,Dominica +821,Preston,Morbi.non.sapien@sem.com,1362573660,Christmas Island +822,Prescott,Quisque.ac@lacusUt.ca,1370721949,Bermuda +823,Kyle,dignissim@maurissit.com,1340518364,Cocos (Keeling) Islands +824,Felix,vulputate.posuere@nuncsitamet.com,1395538740,Nauru +825,Aidan,cursus.purus.Nullam@Pellentesquehabitantmorbi.edu,1364503950,Venezuela +826,Zane,aliquam.eros@nibhdolornonummy.com,1371440300,Estonia +827,Wang,urna.Vivamus@anteipsum.ca,1368013109,Christmas Island +828,Tyrone,placerat@semper.com,1344476431,Canada +829,Linus,tristique.aliquet@dignissimtempor.org,1355646899,Kazakhstan +830,Gregory,sed.leo.Cras@feugiatnec.org,1367406549,Central African Republic +831,Dane,sit@Cum.ca,1358249262,San Marino +832,Cruz,vel.mauris.Integer@sed.com,1392427567,Jamaica +833,Phillip,Ut.tincidunt@diamluctus.com,1384311121,Australia +834,Ronan,et.rutrum.eu@nec.ca,1384078470,Niger +835,Armand,Cras.vulputate@eleifend.com,1340358392,Malaysia +836,Arden,sit@tristique.com,1348549509,Korea Republic of +837,Seth,nisi.sem@nostraper.com,1334306538,Angola +838,Jerry,nisi.a.odio@netuset.org,1353839596,Mongolia +839,Kyle,in.faucibus@feugiatLorem.edu,1393423455,Western Sahara +840,Jin,magnis@fringillaest.ca,1389307221,Tokelau +841,Craig,urna@mus.com,1361948950,Portugal +842,Walker,Donec.vitae.erat@urnaconvallis.ca,1356565343,South Georgia and The South Sandwich Islands +843,Hu,a.sollicitudin@et.org,1349391287,Rwanda +844,Sylvester,Donec.at.arcu@dolorsit.edu,1349476013,Zambia +845,Gannon,lorem@aenim.edu,1350985983,Portugal +846,Ross,quis.massa@lobortisClassaptent.edu,1370347303,Dominican Republic +847,Tad,aliquet.magna.a@auctorquis.com,1372472720,Iraq +848,Dane,purus@risus.ca,1373417738,Malta +849,Quinlan,ultricies@felis.com,1394015444,Serbia and Montenegro +850,Emmanuel,felis.purus@Mauris.ca,1391605776,United Kingdom +851,Hamish,Curabitur@morbi.com,1387580149,Norfolk Island +852,Harding,a.odio.semper@cursuspurusNullam.edu,1341930021,South Georgia and The South Sandwich Islands +853,Macon,tristique@consequatnec.ca,1393199223,Mozambique +854,Harper,varius@elitAliquamauctor.ca,1335875613,United Arab Emirates +855,Cain,sit.amet.metus@lectussit.edu,1361389088,Togo +856,Wing,rutrum@Phasellusdapibus.org,1362771806,Belarus +857,Troy,nunc.id.enim@odioauctor.com,1335968412,Albania +858,Coby,amet@ametrisus.ca,1359376134,Iraq +859,Jakeem,Morbi.metus.Vivamus@velitAliquam.edu,1369703583,Djibouti +860,Kevin,vitae@justosit.org,1361320689,United States Minor Outlying Islands +861,Marsden,tincidunt@elementumsem.ca,1350582518,Cambodia +862,Brendan,quis@Sedmalesuada.ca,1378189214,Zambia +863,Tobias,Cras.vehicula.aliquet@dolordolor.ca,1346664343,Azerbaijan +864,Elmo,Quisque.porttitor.eros@Morbinonsapien.com,1353914595,Korea Republic of +865,Tate,Integer@semperegestas.com,1395913400,Bulgaria +866,Kane,molestie.pharetra@ametnullaDonec.com,1384391288,Angola +867,Abel,Duis@Sedetlibero.com,1344582479,Gambia +868,Kyle,ligula@ametloremsemper.org,1372542657,Suriname +869,Igor,non@infaucibus.org,1371184742,Uganda +870,Linus,diam@arcu.com,1386805762,Taiwan Province of China +871,Carlos,pede.et.risus@adipiscing.ca,1348659699,Benin +872,Xander,leo.Cras@sagittisplacerat.ca,1357006744,Libyan Arab Jamahiriya +873,Odysseus,rhoncus.Nullam@leo.org,1367718831,Monaco +874,Rudyard,sit.amet@egetnisi.org,1349720539,Norfolk Island +875,Brandon,magnis.dis.parturient@dignissim.com,1347879475,Latvia +876,Nigel,Nam@magnisdisparturient.ca,1381406482,El Salvador +877,Castor,Nulla.semper.tellus@velsapienimperdiet.edu,1362656860,Brazil +878,Stone,Ut.semper.pretium@dictumsapienAenean.edu,1379789122,Central African Republic +879,Mohammad,egestas.Sed.pharetra@arcuacorci.com,1355228133,Bosnia and Herzegovina +880,Hall,imperdiet.dictum.magna@netus.edu,1345760554,Sri Lanka +881,Nero,nonummy@nibhdolornonummy.ca,1395717118,Solomon Islands +882,Coby,porttitor.vulputate.posuere@dignissim.org,1373556074,Singapore +883,Sean,Proin.mi.Aliquam@ridiculusmus.ca,1395668526,Guadeloupe +884,Finn,sed@pedeetrisus.edu,1377460629,Tuvalu +885,Wang,erat@porttitorscelerisqueneque.ca,1387190009,Mayotte +886,Emmanuel,urna.Vivamus.molestie@fringillaornare.com,1362135867,Niger +887,Gannon,ut.odio.vel@ac.com,1372185474,Sao Tome and Principe +888,Hu,Vivamus@odiotristiquepharetra.org,1362266190,Namibia +889,Colin,Etiam.gravida@lorem.com,1353503987,Swaziland +890,Dean,leo@utaliquam.ca,1380574703,Canada +891,James,eu@vitaeorciPhasellus.edu,1388846154,Botswana +892,Tad,risus.Quisque@famesac.edu,1387172650,Chad +893,Chaim,dolor.sit@quamvel.com,1366296184,Montserrat +894,Caesar,est.tempor@faucibusorci.ca,1342988768,Antigua and Barbuda +895,Kato,mauris.sit@Sed.ca,1362330739,Uzbekistan +896,Ray,egestas@liberolacusvarius.ca,1379235852,Antarctica +897,Orlando,in.tempus.eu@Etiamimperdietdictum.ca,1391857898,Greece +898,Slade,vulputate@amet.com,1368489645,Jordan +899,Levi,molestie@vulputate.org,1389185897,Equatorial Guinea +900,Lester,non.dui.nec@acsem.com,1343601219,Bosnia and Herzegovina +901,Reed,enim@faucibusorci.com,1367209358,Lebanon +902,Robert,varius.ultrices@musAeneaneget.ca,1355789045,Philippines +903,Kadeem,ut@Vivamus.org,1396800856,Haiti +904,Damon,Cum@ametconsectetueradipiscing.ca,1378775429,French Southern Territories +905,Tobias,bibendum@nequevitaesemper.org,1355128569,Eritrea +906,Lewis,tempus.mauris.erat@Maurisut.org,1395890927,Brunei Darussalam +907,Tyler,lorem.ut@aliquetmolestie.ca,1393632164,Norfolk Island +908,Silas,Ut.tincidunt@dictum.org,1389743418,Zambia +909,Troy,nec.tellus@nislNullaeu.org,1376245608,Mali +910,Beau,mauris@necurnasuscipit.org,1395361284,Chile +911,Ivan,mi@Donectempor.edu,1369063999,Thailand +912,Xanthus,sagittis@auctornuncnulla.org,1389322546,United States Minor Outlying Islands +913,Matthew,Nunc@venenatisa.edu,1359787102,Iran Islamic Republic of +914,Hu,fermentum.vel.mauris@ornareIn.ca,1387941430,Fiji +915,Jack,Fusce.aliquam@Suspendissealiquetmolestie.ca,1394815849,Honduras +916,Xanthus,imperdiet.ornare.In@famesacturpis.ca,1373092771,Saudi Arabia +917,Rigel,arcu.Vestibulum@ullamcorperDuis.org,1344443960,Belgium +918,Geoffrey,et.rutrum.eu@adipiscingenimmi.com,1354882692,Israel +919,Caesar,turpis@uteros.edu,1375551571,New Zealand +920,Andrew,massa.rutrum.magna@ipsum.com,1383235108,Virgin Islands British +921,Xavier,dui@purusinmolestie.com,1350542680,Fiji +922,Basil,volutpat@lobortisaugue.ca,1374558565,Grenada +923,Vance,eget.venenatis@non.org,1371080215,Rwanda +924,Burton,Mauris.nulla.Integer@fringilla.com,1391533930,Cyprus +925,Keefe,lorem.semper.auctor@eratvitae.ca,1349696871,Greece +926,Deacon,Donec.consectetuer@arcuVestibulum.edu,1337297264,Svalbard and Jan Mayen +927,Leo,ac.ipsum.Phasellus@nislsem.ca,1383714025,Niger +928,Rogan,feugiat.placerat@molestiesodalesMauris.ca,1347182886,Central African Republic +929,Roth,Proin@morbitristique.org,1351989494,Uruguay +930,Lucian,at.auctor@utmiDuis.ca,1347036637,Estonia +931,Joseph,eu.eros.Nam@tellus.com,1384852487,Poland +932,August,Morbi@diamProindolor.org,1359017978,Taiwan Province of China +933,Ulysses,semper.rutrum@nasceturridiculusmus.com,1356586285,Canada +934,Jackson,non@tellus.com,1347062895,Australia +935,Judah,natoque@aptent.com,1346231400,Dominica +936,Baxter,dui.Fusce.diam@scelerisque.com,1348074819,Azerbaijan +937,Ray,mattis@anteiaculisnec.ca,1390775249,Lebanon +938,Chandler,dui.Cum@vestibulumnequesed.ca,1364757852,Spain +939,Abbot,risus@nibhsit.edu,1336315342,New Zealand +940,Omar,facilisis.Suspendisse@orcisemeget.ca,1344084001,Zimbabwe +941,Herman,facilisis@elit.ca,1377107929,Western Sahara +942,Noah,aliquam.enim.nec@risusMorbimetus.edu,1356703106,Myanmar +943,Quinlan,sed.dictum.eleifend@Quisquepurussapien.com,1380552098,Gibraltar +944,Jack,mauris.ut@libero.ca,1338668309,Azerbaijan +945,Kennan,vitae.orci.Phasellus@at.edu,1359621624,Fiji +946,Zahir,vehicula@euaccumsansed.org,1377213823,New Caledonia +947,Gray,cubilia.Curae;.Phasellus@Donec.org,1373703993,Wallis and Futuna +948,Omar,eget.ipsum.Donec@lectus.com,1375176806,Korea +949,Mark,euismod@elit.org,1338138361,Ethiopia +950,Len,tempor.arcu.Vestibulum@Quisqueimperdiet.ca,1349949236,Georgia +951,Simon,diam.nunc@non.edu,1337481536,Korea +952,Camden,adipiscing.non.luctus@felisegetvarius.ca,1386156090,Burkina Faso +953,Elijah,amet@NullainterdumCurabitur.edu,1343212218,Czech Republic +954,Zeph,ultrices.sit.amet@elitpellentesque.edu,1343349294,Cuba +955,Cole,justo.Praesent.luctus@vehicula.com,1355481877,Guadeloupe +956,Wallace,velit.eu.sem@placerat.com,1389467963,Anguilla +957,Fletcher,libero@tinciduntaliquamarcu.ca,1347368043,Oman +958,David,at.libero.Morbi@Donec.com,1388639897,Tanzania United Republic of +959,Andrew,amet.risus@eu.org,1348561918,Guatemala +960,Thomas,vel@maurisipsumporta.org,1371939060,Viet Nam +961,Flynn,elementum.purus.accumsan@Sedpharetrafelis.edu,1385558902,Iceland +962,Timothy,Fusce.aliquet.magna@scelerisque.ca,1366002030,Jamaica +963,Ishmael,diam.Duis@tristiquesenectus.com,1363738339,Somalia +964,Cruz,id@semper.ca,1372238337,Yemen +965,Alan,fermentum.vel@urnasuscipit.ca,1345490179,Bosnia and Herzegovina +966,Amery,et@etnetuset.org,1351189861,Brazil +967,Ulric,magna.et@miac.ca,1347759162,Uruguay +968,Preston,lorem@ligula.ca,1372849011,Canada +969,Jordan,Suspendisse.aliquet.sem@torquentper.edu,1349625724,Uzbekistan +970,Isaiah,fames@idante.org,1379409520,Latvia +971,Cullen,amet@erat.edu,1394588130,Moldova +972,Mannix,enim@natoquepenatibus.com,1377099367,Kenya +973,Marsden,ullamcorper@tincidunt.ca,1373695413,San Marino +974,Evan,Vestibulum.ante.ipsum@semutdolor.ca,1396089813,Guatemala +975,Beck,non.quam@idmagna.com,1355023794,Lithuania +976,Dominic,odio.Nam@necanteblandit.org,1392684711,Hungary +977,Zachery,fringilla.cursus.purus@elementumsem.com,1363809918,Syrian Arab Republic +978,Colton,mauris@orciDonec.com,1374969057,India +979,Acton,Phasellus@placerat.org,1359061634,Kazakhstan +980,Beck,mauris@magnaa.edu,1376694978,Grenada +981,Ezekiel,auctor.nunc@vestibulumMauris.org,1345307989,Zambia +982,Neville,Aliquam@massaQuisqueporttitor.com,1360861699,Madagascar +983,Geoffrey,nec.ante.Maecenas@accumsaninterdum.org,1370329338,Macao +984,John,et@egestasligula.ca,1361275713,Andorra +985,Arsenio,erat.Vivamus.nisi@convalliserat.edu,1352836610,Saint Lucia +986,Cedric,dui.Suspendisse.ac@mifringillami.org,1335796029,Svalbard and Jan Mayen +987,Berk,ac@ornarelectus.com,1348094595,Tunisia +988,Ulric,elit@egetipsum.com,1364013694,Belarus +989,Nash,erat@MorbivehiculaPellentesque.com,1362911823,Chile +990,Theodore,Maecenas.mi@sollicitudin.org,1338649095,Virgin Islands U.S. +991,Branden,eleifend@rutrum.edu,1339772586,Qatar +992,Demetrius,Phasellus.elit@mattis.edu,1354459255,Norfolk Island +993,Reed,scelerisque.dui@Suspendisseac.ca,1354030158,Ethiopia +994,Adrian,quis@Quisqueornaretortor.com,1369312622,Yemen +995,Connor,Aliquam@Quisqueac.ca,1389953521,Moldova +996,Michael,lectus.justo.eu@nectempusscelerisque.ca,1370299523,Cayman Islands +997,Wing,egestas.Sed.pharetra@tinciduntnequevitae.org,1394475592,Faroe Islands +998,Buckminster,magna.Duis@ultrices.edu,1360007868,Bangladesh +999,Lucius,tristique.senectus@hendreritnequeIn.edu,1356451758,Denmark \ No newline at end of file diff --git a/src/csvpp.cpp b/src/csvpp.cpp new file mode 100644 index 0000000..b469ed9 --- /dev/null +++ b/src/csvpp.cpp @@ -0,0 +1,139 @@ +#include +#include +#include +#include +#include +#include +#include "csvpp.h" +#include "stringhelper.h" + +using namespace std; +using namespace csvpp; + +namespace csvpp { + + std::ostream & operator<<(std::ostream & os, const RowWriter & r) + { + + rowiterator it; + if (r.size() == 0) + return os; + + if (!r[0].skipheader) + { + for(unsigned int i = 0; i < r[0].header.size() - 1; i++) + { + os << r[0].header[i] << r[0].delimiter_char;; + } + os << r[0].header[r[0].header.size() - 1] << r[0].newline; + } + for(unsigned int i = 0; i < r.size(); i++) + { + for(it = r[i].begin(); it != r[i].end(); it++) + { + if (distance(r[i].begin(), it) != (int)(r[i].size() - 1)) + os << it->second << r[i].delimiter_char; + else + os << it->second; + } + if (!r[0].skipheader && i != 0) + os << r[i].newline; + } + + return os; + } + + std::istream & operator>>(std::istream & is, RowReader & r) + { + string buffer; + stringstream buffer2; + int currentheader = 0; + getline(is, buffer); + // Patch by damienlmoore - https://code.google.com/p/csvpp/issues/detail?id=1 + if(!is.good() || is.eof()) + { + return is; + } + + buffer = trim_copy(buffer); + char c; + bool startquote = false; + if(r.header.size() == 0 && !r.skipheader) + { + + vector sections = split(buffer, r.delimiter_char); + for(unsigned int i = 0; i < sections.size(); i++) + r.header.push_back(sections[i]); + } else { + for(unsigned int i = 0; i < buffer.length(); i++) + { + c = buffer[i]; + /* + If the current character is a comma then we may have found the start of the next column + however we do need to test if we are inside of a quote + + If we aren't inside of a quote - store the value using the current header 'pointer' and keep scanning + */ + if (c == r.delimiter_char[0]) + { + if (startquote) + { + buffer2 << c; + continue; + } + if (!r.skipheader) + { + r[r.header[currentheader]] = buffer2.str(); + } + else + { + r[ObjToString(currentheader)] = buffer2.str(); + } + buffer2.str(string()); + currentheader++; + continue; + } + + + // If the character is a quote then we need to note this and use that to ignore commas + // added logic to ignore whitespace before and after the whitespace + if (c == '"') + { + if (startquote) + { + buffer2 << '"'; + buffer2.str(trim_left_copy(buffer2.str())); + } + if ( (((int)i-1) >= 0 && buffer[i-1] == '\\')) + { + buffer2 << c; + continue; + } + startquote = !startquote; + //find , and move i to it + if (!startquote) + { + for(unsigned int x = i; x < buffer.length(); x++) + { + if (buffer[x] == r.delimiter_char[0] || x == buffer.length()) + { + i = x-1; + break; + } + } + } + } + + buffer2 << c; + } + if (!r.skipheader) + { + r[r.header[currentheader]] = buffer2.str(); + } else { + r[ObjToString(currentheader)] = buffer2.str(); + } + } + + return is; + } +} diff --git a/src/stringhelper.cpp b/src/stringhelper.cpp new file mode 100644 index 0000000..0121aa2 --- /dev/null +++ b/src/stringhelper.cpp @@ -0,0 +1,49 @@ +#include +#include +#include "stringhelper.h" + +using namespace std; + +vector split(const string& s, + const string& match, + bool removeEmpty, + bool fullMatch) +{ + vector result; // return container for tokens + string::size_type start = 0, // starting position for searches + skip = 1; // positions to skip after a match + find_t pfind = &string::find_first_of; // search algorithm for matches + + if (fullMatch) + { + // use the whole match string as a key + // instead of individual characters + // skip might be 0. see search loop comments + skip = match.length(); + pfind = &string::find; + } + + while (start != string::npos) + { + // get a complete range [start..end) + string::size_type end = (s.*pfind)(match, start); + + // null strings always match in string::find, but + // a skip of 0 causes infinite loops. pretend that + // no tokens were found and extract the whole string + if (skip == 0) end = string::npos; + + string token = s.substr(start, end - start); + + if (!(removeEmpty && token.empty())) + { + // extract the token and add it to the result list + result.push_back(token); + } + + // start the next range + if ((start = end) != string::npos) start += skip; + } + + return result; +} diff --git a/tests.cpp b/tests.cpp new file mode 100644 index 0000000..84f0595 --- /dev/null +++ b/tests.cpp @@ -0,0 +1,122 @@ +#include +#include "csvpp.h" + +using namespace std; +using namespace csvpp; +int main() +{ + int test = 1; + // Test 1 + { + RowReader tmp(","); + stringstream ss; + ss << "field1,field2,field3\r\n123,234,345\r\n999,000,111\r\n"; + ss >> tmp; + rowiterator it; + int row = 0; + while(ss >> tmp) + { + switch (row) + { + case 0: + if (tmp["field1"] != "123") + { + cerr << tmp["field1"] << endl; + cerr << "Failed at row " << row << endl; + cerr << "Failed at test " << test << endl; + return 1; + } + break; + case 1: + if (tmp["field1"] != "999") + { + cerr << tmp["field1"] << endl; + cerr << "Failed at row " << row << endl; + cerr << "Failed at test " << test << endl; + return 1; + } + break; + } + row++; + } + } + + test++; + // Test 2 + { + RowReader tmp; + stringstream ss; + ss << "field1,field2,field3\n123,234,345\n999,000,111\n"; + ss >> tmp; + rowiterator it; + int row = 0; + while(ss >> tmp) + { + switch (row) + { + case 0: + if (tmp["field1"] != "123") + { + cerr << tmp["field1"] << endl; + cerr << "Failed at row " << row << endl; + cerr << "Failed at test " << test << endl; + return 1; + } + break; + case 1: + if (tmp["field1"] != "999") + { + cerr << tmp["field1"] << endl; + cerr << "Failed at row " << row << endl; + cerr << "Failed at test " << test << endl; + return 1; + } + break; + } + row++; + } + } + + test++; + // Test 3 + // Testing patch provided by Hanifa + // https://code.google.com/p/csvpp/issues/detail?id=2 + { + RowReader tmp("|"); + stringstream ss; + ss << "field1|field2|field3\r\n123|234|345\r\n999|000|111\r\n"; + ss >> tmp; + rowiterator it; + int row = 0; + + while(ss >> tmp) + { + switch (row) + { + case 0: + if (tmp["field1"] != "123") + { + cerr << tmp["field1"] << endl; + cerr << "Failed at row " << row << endl; + cerr << "Failed at test " << test << endl; + return 1; + } + break; + case 1: + if (tmp["field1"] != "999") + { + cerr << tmp["field1"] << endl; + cerr << "Failed at row " << row << endl; + cerr << "Failed at test " << test << endl; + return 1; + } + break; + } + row++; + } + + } + + cout << "All tests ran successfully" << endl; + return 0; +}