--- /dev/null
+<?php
+/***************************************************************************
+ * Copyright (C) 2003-2010 Polytechnique.org *
+ * http://opensource.polytechnique.org/ *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the Free Software *
+ * Foundation, Inc., *
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
+ ***************************************************************************/
+
+require_once dirname(__FILE__) . '/../include/test.inc.php';
+
+class SoundexTest extends PlTestCase
+{
+ public static function tokenProvider()
+ {
+ /* This list has been generated from a subset of x5dat database using
+ * the following query:
+ *
+ * SELECT CONCAT(" '", token,
+ * "' => array('", token, "', '",
+ * soundex, "'),")
+ * FROM search_name
+ * GROUP BY token
+ * ORDER BY RAND()
+ * LIMIT 1000
+ */
+ return array(
+ 'baussart' => array('baussart', 'BOS'),
+ 'duvernay' => array('duvernay', 'DUVR'),
+ 'rozes' => array('rozes', 'ROSS'),
+ 'glanic' => array('glanic', 'JLNK'),
+ 'blatt' => array('blatt', 'BL'),
+ 'benmrad' => array('benmrad', 'BR'),
+ 'varin' => array('varin', 'VR1'),
+ 'lequerre' => array('lequerre', 'LKR'),
+ 'jacquesdenis' => array('jacquesdenis', 'JKSD'),
+ 'decrouttedesaintmartin' => array('decrouttedesaintmartin', 'DKRU'),
+ 'lhullier' => array('lhullier', 'LULY'),
+ 'chopard' => array('chopard', '9OP'),
+ 'tellier' => array('tellier', 'TLY'),
+ 'brami' => array('brami', 'BRM'),
+ 'wiederkehr' => array('wiederkehr', 'VYDR'),
+ 'llamas' => array('llamas', 'LMS'),
+ 'heurtier' => array('heurtier', 'ERTY'),
+ 'bourrette' => array('bourrette', 'BURT'),
+ 'darnaud' => array('darnaud', 'DNO'),
+ 'sainthillier' => array('sainthillier', 'S1TL'),
+ 'brun' => array('brun', 'BR1'),
+ 'erussard' => array('erussard', 'ERUS'),
+ 'nadaudesislets' => array('nadaudesislets', 'NDOD'),
+ 'rafael' => array('rafael', 'RFL'),
+ 'francoisrenaud' => array('francoisrenaud', 'FRKO'),
+ 'sevag' => array('sevag', 'SVJ'),
+ 'deffit' => array('deffit', 'DF'),
+ 'desmonts' => array('desmonts', 'DSO'),
+ 'cassamchenai' => array('cassamchenai', 'KS9N'),
+ 'cayeux' => array('cayeux', 'KU'),
+ 'lamit' => array('lamit', 'LM'),
+ 'genies' => array('genies', 'JNYS'),
+ 'boulier' => array('boulier', 'BULY'),
+ 'fengting' => array('fengting', 'FT1J'),
+ 'lespinard' => array('lespinard', 'LSPN'),
+ 'dechaumontdequitry' => array('dechaumontdequitry', 'D9OM'),
+ 'bernadat' => array('bernadat', 'BRND'),
+ 'epenoux' => array('epenoux', 'EPNU'),
+ 'merlant' => array('merlant', 'MRL'),
+ 'philippevictor' => array('philippevictor', 'FLPV'),
+ 'phanhung' => array('phanhung', 'F1J'),
+ 'mariereau' => array('mariereau', 'MRYR'),
+ 'labe' => array('labe', 'LB'),
+ 'boschet' => array('boschet', 'BOK'),
+ 'jdidi' => array('jdidi', 'JDD'),
+ 'nguyenhuy' => array('nguyenhuy', 'NKYU'),
+ 'pierrard' => array('pierrard', 'PYR'),
+ 'fournand' => array('fournand', 'FUN'),
+ 'vamparys' => array('vamparys', 'VPRS'),
+ 'zarrouati' => array('zarrouati', 'ZRUT'),
+ 'saison' => array('saison', 'SSO'),
+ 'couderc' => array('couderc', 'KUDR'),
+ 'popeye' => array('popeye', 'POP'),
+ 'salasymelia' => array('salasymelia', 'SLSM'),
+ 'delcarmen' => array('delcarmen', 'DLKM'),
+ 'vanhertsen' => array('vanhertsen', 'VRTS'),
+ 'benarousse' => array('benarousse', 'BNRU'),
+ 'perotin' => array('perotin', 'PROT'),
+ 'thuthuy' => array('thuthuy', 'TUTU'),
+ 'auckenthaler' => array('auckenthaler', 'OKTL'),
+ 'boutry' => array('boutry', 'BUTR'),
+ 'jr' => array('jr', 'JR'),
+ 'tallec' => array('tallec', 'TLK'),
+ 'segot' => array('segot', 'SKO'),
+ 'gaudy' => array('gaudy', 'KOD'),
+ 'lahautiere' => array('lahautiere', 'LOTY'),
+ 'schoeller' => array('schoeller', 'SKL'),
+ 'kreum' => array('kreum', 'KR1'),
+ 'lisack' => array('lisack', 'LSK'),
+ 'gaume' => array('gaume', 'KOM'),
+ 'deplace' => array('deplace', 'DPLS'),
+ 'strilka' => array('strilka', 'TRLK'),
+ 'flouzat' => array('flouzat', 'FLUS'),
+ 'chouvet' => array('chouvet', '9UV'),
+ 'desrozes' => array('desrozes', 'DSRO'),
+ 'brison' => array('brison', 'BRSO'),
+ 'ramos' => array('ramos', 'RMOS'),
+ 'meraud' => array('meraud', 'MRO'),
+ 'poillion' => array('poillion', 'POLY'),
+ 'lagier' => array('lagier', 'LJY'),
+ 'creusot' => array('creusot', 'KRSO'),
+ 'soufflet' => array('soufflet', 'SUL'),
+ 'varagnat' => array('varagnat', 'VRN'),
+ 'preval' => array('preval', 'PRVL'),
+ 'destival' => array('destival', 'DTVL'),
+ 'simonet' => array('simonet', 'SMON'),
+ 'bouffet' => array('bouffet', 'BUF'),
+ 'deruffi' => array('deruffi', 'DRUF'),
+ 'xiaoweiherve' => array('xiaoweiherve', 'XYUR'),
+ 'vieillardbaron' => array('vieillardbaron', 'VYLD'),
+ 'petry' => array('petry', 'PTR'),
+ 'cartalas' => array('cartalas', 'KTLS'),
+ 'depaquit' => array('depaquit', 'DPK'),
+ 'dommain' => array('dommain', 'DO1'),
+ 'alibran' => array('alibran', 'ALBR'),
+ 'lajard' => array('lajard', 'LJ'),
+ 'virak' => array('virak', 'VRK'),
+ 'raveldesclapon' => array('raveldesclapon', 'RVLD'),
+ 'hamburger' => array('hamburger', 'ABUJ'),
+ 'dunogue' => array('dunogue', 'DUNO'),
+ 'nicoletix88' => array('nicoletix88', 'NKOL'),
+ 'guyomard' => array('guyomard', 'KYOM'),
+ 'kervern' => array('kervern', 'KRVR'),
+ 'vandu' => array('vandu', 'VDU'),
+ 'kleman' => array('kleman', 'KLM'),
+ 'pougindelamaisonneuve' => array('pougindelamaisonneuve', 'PUJ1'),
+ 'weisz' => array('weisz', 'VSS'),
+ 'couque' => array('couque', 'KUK'),
+ 'ling' => array('ling', 'L1J'),
+ 'puechberty' => array('puechberty', 'PU9B'),
+ 'manceron' => array('manceron', 'MSRO'),
+ 'quanghung' => array('quanghung', 'K1J'),
+ 'burindesroziers' => array('burindesroziers', 'BUR1'),
+ 'pougnator' => array('pougnator', 'PUNT'),
+ 'bachelart' => array('bachelart', 'B9L'),
+ 'laloy' => array('laloy', 'LLO'),
+ 'prieur' => array('prieur', 'PRYU'),
+ 'gang' => array('gang', 'KJ'),
+ 'hristova' => array('hristova', 'RTOV'),
+ 'lutfalla' => array('lutfalla', 'LUTL'),
+ 'joffre' => array('joffre', 'JOR'),
+ 'klops' => array('klops', 'KLOP'),
+ 'delahondes' => array('delahondes', 'DLOD'),
+ 'hashemi' => array('hashemi', 'A9M'),
+ 'rouah' => array('rouah', 'RU'),
+ 'vegnant' => array('vegnant', 'VJN'),
+ 'marieastrid' => array('marieastrid', 'MRYT'),
+ 'costes' => array('costes', 'KOTS'),
+ 'henno' => array('henno', 'ENO'),
+ 'vandercruissedewaziers' => array('vandercruissedewaziers', 'VDRK'),
+ 'chappedelaine' => array('chappedelaine', '9PDL'),
+ 'villecroze' => array('villecroze', 'VLKR'),
+ 'namara' => array('namara', 'NMR'),
+ 'wilkowski' => array('wilkowski', 'VLKU'),
+ 'peslin' => array('peslin', 'PSL1'),
+ 'rivollier' => array('rivollier', 'RVOL'),
+ 'duclosgrisier' => array('duclosgrisier', 'DULO'),
+ 'pougheon' => array('pougheon', 'PU'),
+ 'long' => array('long', 'LOJ'),
+ 'devernay' => array('devernay', 'DVRN'),
+ 'anastasia' => array('anastasia', 'ANTS'),
+ 'yiyi' => array('yiyi', 'YY'),
+ 'pellereau' => array('pellereau', 'PLRO'),
+ 'luongthesieu' => array('luongthesieu', 'LUOJ'),
+ 'espitaliernoel' => array('espitaliernoel', 'ESPT'),
+ 'issernio' => array('issernio', 'YSRN'),
+ 'lechapelain' => array('lechapelain', 'L9PL'),
+ 'tesson' => array('tesson', 'TSO'),
+ 'abdelali' => array('abdelali', 'ADLL'),
+ 'lamort' => array('lamort', 'LMO'),
+ 'coquebertdeneuville' => array('coquebertdeneuville', 'KOKB'),
+ 'travers' => array('travers', 'TRVR'),
+ 'gueyffier' => array('gueyffier', 'KFY'),
+ 'hecquet' => array('hecquet', 'EK'),
+ 'sersouri' => array('sersouri', 'SRUR'),
+ 'vittorio' => array('vittorio', 'VTOR'),
+ 'deforge' => array('deforge', 'DFOJ'),
+ 'louisnicolas' => array('louisnicolas', 'LUSN'),
+ 'jachiet' => array('jachiet', 'J9Y'),
+ 'bellynck' => array('bellynck', 'BLNK'),
+ 'legallic' => array('legallic', 'LKLK'),
+ 'gaillardon' => array('gaillardon', 'KLDO'),
+ 'chasles' => array('chasles', '9LS'),
+ 'prophete' => array('prophete', 'PROF'),
+ 'lakem' => array('lakem', 'LK'),
+ 'schlosser' => array('schlosser', 'SKLO'),
+ 'jess' => array('jess', 'JS'),
+ 'boeda' => array('boeda', 'BD'),
+ 'pitch' => array('pitch', 'PT9'),
+ 'antonio' => array('antonio', 'ATON'),
+ 'marienoelle' => array('marienoelle', 'MRYN'),
+ 'boumendil' => array('boumendil', 'BUMD'),
+ 'fransen' => array('fransen', 'FRS'),
+ 'marduel' => array('marduel', 'MDUL'),
+ 'jeanneret' => array('jeanneret', 'JNR'),
+ 'thieffry' => array('thieffry', 'TYFR'),
+ 'grandclement' => array('grandclement', 'JRKL'),
+ 'guimbal' => array('guimbal', 'K1BL'),
+ 'landouer' => array('landouer', 'LDU'),
+ 'armier' => array('armier', 'AMY'),
+ 'sobieski' => array('sobieski', 'SOBY'),
+ 'faninger' => array('faninger', 'FJ'),
+ 'maumy' => array('maumy', 'MOM'),
+ 'elisa' => array('elisa', 'ELS'),
+ 'ragot' => array('ragot', 'RKO'),
+ 'dubarry' => array('dubarry', 'DUBR'),
+ 'delias' => array('delias', 'DLYS'),
+ 'zolti' => array('zolti', 'ZOLT'),
+ 'magnien' => array('magnien', 'MNY'),
+ 'demael' => array('demael', 'DML'),
+ 'folco' => array('folco', 'FOLK'),
+ 'kantchelian' => array('kantchelian', 'KT9L'),
+ 'jeanlin' => array('jeanlin', 'JL1'),
+ 'martelet' => array('martelet', 'MTL'),
+ 'popineaudehaullon' => array('popineaudehaullon', 'POPN'),
+ 'defougeres' => array('defougeres', 'DFUJ'),
+ 'philippo' => array('philippo', 'FLPO'),
+ 'markwitz' => array('markwitz', 'MKVT'),
+ 'guiset' => array('guiset', 'KS'),
+ '/jagbil' => array('/jagbil', 'JBL'),
+ 'paulivan' => array('paulivan', 'POLV'),
+ 'delacour' => array('delacour', 'DLKU'),
+ 'baesen' => array('baesen', 'BS'),
+ 'thery' => array('thery', 'TR'),
+ 'pons' => array('pons', 'POS'),
+ 'clocheret' => array('clocheret', 'KLO9'),
+ 'prost' => array('prost', 'PRO'),
+ 'woringer' => array('woringer', 'VOR1'),
+ 'djamal' => array('djamal', 'DML'),
+ 'auguste' => array('auguste', 'OKT'),
+ 'lagrandiere' => array('lagrandiere', 'LRDY'),
+ 'angelopoulos' => array('angelopoulos', 'AJLO'),
+ 'lunet' => array('lunet', 'LUN'),
+ 'couture' => array('couture', 'KUTU'),
+ 'huang' => array('huang', 'UJ'),
+ 'trinckvel' => array('trinckvel', 'TR1K'),
+ 'laroque' => array('laroque', 'LROK'),
+ 'guillanton' => array('guillanton', 'KLTO'),
+ 'namer' => array('namer', 'NM'),
+ 'laurene' => array('laurene', 'LORN'),
+ 'marchandmaillet' => array('marchandmaillet', 'MRML'),
+ 'mei' => array('mei', 'M'),
+ 'crouzat' => array('crouzat', 'KRUS'),
+ 'larque' => array('larque', 'LK'),
+ 'heron' => array('heron', 'ERO'),
+ 'ridoret' => array('ridoret', 'RDOR'),
+ 'martingilles' => array('martingilles', 'MT1J'),
+ 'denardou' => array('denardou', 'DNDU'),
+ 'bailler' => array('bailler', 'BL'),
+ 'thovert' => array('thovert', 'TOVR'),
+ 'vaireaux' => array('vaireaux', 'VRO'),
+ 'gardon' => array('gardon', 'KDO'),
+ 'tison' => array('tison', 'TSO'),
+ 'mh' => array('mh', 'M'),
+ 'berthet' => array('berthet', 'BRT'),
+ 'ennequin' => array('ennequin', 'ENK1'),
+ 'piau' => array('piau', 'PYO'),
+ 'guilherme' => array('guilherme', 'KLRM'),
+ 'lombard' => array('lombard', 'LOB'),
+ 'beret' => array('beret', 'BR'),
+ 'pougnaud' => array('pougnaud', 'PUNO'),
+ 'gillette' => array('gillette', 'JLT'),
+ 'betro' => array('betro', 'BTRO'),
+ 'binh' => array('binh', 'B1'),
+ 'lemma' => array('lemma', 'LM'),
+ 'montal' => array('montal', 'MOTL'),
+ 'akl' => array('akl', 'AKL'),
+ 'duc' => array('duc', 'DUK'),
+ 'nirina' => array('nirina', 'NRN'),
+ 'pioch' => array('pioch', 'PYO9'),
+ 'quitry' => array('quitry', 'KTR'),
+ 'silvant' => array('silvant', 'SL'),
+ 'houssin' => array('houssin', 'US1'),
+ 'schmitz' => array('schmitz', 'SKMT'),
+ 'delevoye' => array('delevoye', 'DLVO'),
+ 'netumieres' => array('netumieres', 'NTUM'),
+ 'burchila' => array('burchila', 'BU9L'),
+ 'franchini' => array('franchini', 'FR9N'),
+ 'devillele' => array('devillele', 'DVLL'),
+ 'goellner' => array('goellner', 'KLN'),
+ 'eglin' => array('eglin', 'EJL1'),
+ 'bocquet' => array('bocquet', 'BOK'),
+ 'michou' => array('michou', 'M9U'),
+ 'adnene' => array('adnene', 'ANN'),
+ 'pouyet' => array('pouyet', 'PUY'),
+ 'limouse' => array('limouse', 'LMUS'),
+ 'azambre' => array('azambre', 'ASR'),
+ 'rouquet' => array('rouquet', 'RUK'),
+ 'lesort' => array('lesort', 'LSO'),
+ 'johanna' => array('johanna', 'JON'),
+ 'deschiron' => array('deschiron', 'DSKR'),
+ 'bauzil' => array('bauzil', 'BOSL'),
+ 'vaujour' => array('vaujour', 'VOJU'),
+ 'pont' => array('pont', 'PO'),
+ 'foiret' => array('foiret', 'FOR'),
+ 'lauga' => array('lauga', 'LOK'),
+ 'decazenove' => array('decazenove', 'DKSN'),
+ 'murretlabarthe' => array('murretlabarthe', 'MURT'),
+ 'guen' => array('guen', 'K'),
+ 'jmel' => array('jmel', 'JML'),
+ 'cabessa' => array('cabessa', 'KBS'),
+ 'carlioz' => array('carlioz', 'KLYO'),
+ 'flichy' => array('flichy', 'FL9'),
+ 'sauzay' => array('sauzay', 'SOS'),
+ 'devictor' => array('devictor', 'DVKT'),
+ 'brisac' => array('brisac', 'BRSK'),
+ 'dhordain' => array('dhordain', 'DOD1'),
+ 'tenne' => array('tenne', 'TN'),
+ 'alexandrejacques' => array('alexandrejacques', 'ALXR'),
+ 'dubanton' => array('dubanton', 'DUBT'),
+ 'ghilini' => array('ghilini', 'JLN'),
+ 'lachapelle' => array('lachapelle', 'L9PL'),
+ 'nyegaard' => array('nyegaard', 'NYK'),
+ 'champsaur' => array('champsaur', '9POR'),
+ 'darco' => array('darco', 'DKO'),
+ 'duffpereira' => array('duffpereira', 'DUPR'),
+ 'barbesant' => array('barbesant', 'BBS'),
+ 'josso' => array('josso', 'JOSO'),
+ 'lavaill' => array('lavaill', 'LVL'),
+ 'nizery' => array('nizery', 'NSR'),
+ 'herlin' => array('herlin', 'ERL1'),
+ 'cassier' => array('cassier', 'KSY'),
+ 'cleirec' => array('cleirec', 'KLRK'),
+ 'mathurin' => array('mathurin', 'MTUR'),
+ 'miguel' => array('miguel', 'MKL'),
+ 'othmane' => array('othmane', 'OTN'),
+ 'dam' => array('dam', 'D'),
+ 'chretien' => array('chretien', '9RTY'),
+ 'ortolo' => array('ortolo', 'OTOL'),
+ 'pelouze' => array('pelouze', 'PLUS'),
+ 'zylberberg' => array('zylberberg', 'ZLBR'),
+ 'taki' => array('taki', 'TK'),
+ 'pardigon' => array('pardigon', 'PDKO'),
+ 'dezandee' => array('dezandee', 'DSD'),
+ 'herman' => array('herman', 'ERM'),
+ 'sornin' => array('sornin', 'SON1'),
+ 'nguyenxuan' => array('nguyenxuan', 'NKYX'),
+ 'cipriani' => array('cipriani', 'SPRY'),
+ 'bravocortes' => array('bravocortes', 'BRVO'),
+ 'khamlichi' => array('khamlichi', 'KL9'),
+ 'gobalakichena' => array('gobalakichena', 'KOBL'),
+ 'popovics' => array('popovics', 'POPO'),
+ 'bigueure' => array('bigueure', 'BKR'),
+ 'dubouchauddumazaubrun' => array('dubouchauddumazaubrun', 'DUBU'),
+ 'ernst' => array('ernst', 'ERN'),
+ 'mouline' => array('mouline', 'MULN'),
+ 'itie' => array('itie', 'YTY'),
+ 'bonnault' => array('bonnault', 'BONO'),
+ 'valabregue' => array('valabregue', 'VLRK'),
+ 'moline' => array('moline', 'MOLN'),
+ 'minot' => array('minot', 'MNO'),
+ 'nahon' => array('nahon', 'NO'),
+ 'minjon' => array('minjon', 'M1JO'),
+ 'auclerc' => array('auclerc', 'OLRK'),
+ 'deconihout' => array('deconihout', 'DKON'),
+ 'marliave' => array('marliave', 'MLYV'),
+ 'nina' => array('nina', 'NN'),
+ 'lacombeallard' => array('lacombeallard', 'LKOB'),
+ 'duffau' => array('duffau', 'DUFO'),
+ 'seyedmehdi' => array('seyedmehdi', 'SDMD'),
+ 'fayein' => array('fayein', 'F1'),
+ 'moriniere' => array('moriniere', 'MORN'),
+ 'canetti' => array('canetti', 'KNT'),
+ 'esteulle' => array('esteulle', 'ETL'),
+ 'flender' => array('flender', 'FLD'),
+ 'derubay' => array('derubay', 'DRUB'),
+ 'saintpaul' => array('saintpaul', 'S1TP'),
+ 'hueber' => array('hueber', 'UB'),
+ 'jeanchristophe' => array('jeanchristophe', 'J9RT'),
+ 'pierrem' => array('pierrem', 'PYR'),
+ 'gonzague' => array('gonzague', 'KOSK'),
+ 'willk' => array('willk', 'VLK'),
+ 'depitray' => array('depitray', 'DPTR'),
+ 'azemard' => array('azemard', 'ASM'),
+ 'demollerat' => array('demollerat', 'DMOL'),
+ 'nouailhetas' => array('nouailhetas', 'NULT'),
+ 'rizk' => array('rizk', 'RSK'),
+ 'durandgasselin' => array('durandgasselin', 'DURK'),
+ 'yvergniaux' => array('yvergniaux', 'YVRJ'),
+ 'rosier' => array('rosier', 'ROSY'),
+ 'launeau' => array('launeau', 'LONO'),
+ 'schmautz' => array('schmautz', 'SKOT'),
+ 'antonietti' => array('antonietti', 'ATON'),
+ 'bouty' => array('bouty', 'BUT'),
+ 'glorieux' => array('glorieux', 'JLOR'),
+ 'buche' => array('buche', 'BU9'),
+ 'aouad' => array('aouad', 'AU'),
+ 'luisfelipe' => array('luisfelipe', 'LUSF'),
+ 'aitomar' => array('aitomar', 'ETOM'),
+ 'bussac' => array('bussac', 'BUSK'),
+ 'abdesselam' => array('abdesselam', 'ADSL'),
+ 'caraux' => array('caraux', 'KRO'),
+ 'chenot' => array('chenot', '9NO'),
+ 'sousselier' => array('sousselier', 'SUSL'),
+ 'wertz' => array('wertz', 'VRTS'),
+ 'fay' => array('fay', 'F'),
+ 'heringer' => array('heringer', 'ER1J'),
+ 'voreux' => array('voreux', 'VOR'),
+ 'salle' => array('salle', 'SL'),
+ 'moiselet' => array('moiselet', 'MOSL'),
+ 'leguay' => array('leguay', 'LK'),
+ 'bosc' => array('bosc', 'BOK'),
+ 'welsch' => array('welsch', 'VLSK'),
+ 'dullieux' => array('dullieux', 'DULY'),
+ 'bidi' => array('bidi', 'BD'),
+ 'viollet' => array('viollet', 'VYOL'),
+ 'hayat' => array('hayat', 'E'),
+ 'beust' => array('beust', 'B'),
+ 'chaugny' => array('chaugny', '9ON'),
+ 'debs' => array('debs', 'DBS'),
+ 'castaing' => array('castaing', 'KT1J'),
+ 'frenay' => array('frenay', 'FRN'),
+ 'depontevesgevaudan' => array('depontevesgevaudan', 'DPOT'),
+ 'ramin' => array('ramin', 'R1'),
+ 'demarre' => array('demarre', 'DMR'),
+ 'bronoel' => array('bronoel', 'BRON'),
+ 'wilz' => array('wilz', 'VLS'),
+ 'vaquin' => array('vaquin', 'VK1'),
+ 'bertinetto' => array('bertinetto', 'BRTN'),
+ 'boum' => array('boum', 'BO1'),
+ 'fostan' => array('fostan', 'FOT'),
+ 'mondoncancel' => array('mondoncancel', 'MODO'),
+ 'tonon' => array('tonon', 'TONO'),
+ 'elizei' => array('elizei', 'ELS'),
+ 'lelaie' => array('lelaie', 'LL'),
+ 'mosnier' => array('mosnier', 'MONY'),
+ 'fron' => array('fron', 'FRO'),
+ 'porcherot' => array('porcherot', 'PO9R'),
+ 'teissierducros' => array('teissierducros', 'TSYR'),
+ 'delphine' => array('delphine', 'DLFN'),
+ 'coignard' => array('coignard', 'KONR'),
+ 'robi' => array('robi', 'ROB'),
+ 'vadot' => array('vadot', 'VDO'),
+ 'libois' => array('libois', 'LBOS'),
+ 'majdi' => array('majdi', 'MD'),
+ 'fillain' => array('fillain', 'FL1'),
+ 'boissin' => array('boissin', 'BOS1'),
+ 'ripken' => array('ripken', 'RPK'),
+ 'gaisset' => array('gaisset', 'KS'),
+ 'cam' => array('cam', 'K'),
+ 'delong' => array('delong', 'DLOJ'),
+ 'marieclaire' => array('marieclaire', 'MRYK'),
+ 'nelson' => array('nelson', 'NLSO'),
+ 'cosmao' => array('cosmao', 'KOMO'),
+ 'pertuiset' => array('pertuiset', 'PRTU'),
+ 'delarminat' => array('delarminat', 'DLMN'),
+ 'laloum' => array('laloum', 'LLO1'),
+ 'lugan' => array('lugan', 'LUK'),
+ 'alterwain' => array('alterwain', 'ALTR'),
+ 'delabrosse' => array('delabrosse', 'DLRO'),
+ 'minato' => array('minato', 'MNTO'),
+ 'lasseigne' => array('lasseigne', 'LSJN'),
+ 'clementine' => array('clementine', 'KLMT'),
+ 'borgoltz' => array('borgoltz', 'BOKO'),
+ 'rollandfoxonet' => array('rollandfoxonet', 'ROLD'),
+ 'tenenbaum' => array('tenenbaum', 'TNBO'),
+ 'madeleine' => array('madeleine', 'MDLN'),
+ 'villemarceau' => array('villemarceau', 'VLMS'),
+ 'turlan' => array('turlan', 'TUL'),
+ 'gourseau' => array('gourseau', 'KUSO'),
+ 'pitrat' => array('pitrat', 'PTR'),
+ 'perigaud' => array('perigaud', 'PRKO'),
+ 'fassi' => array('fassi', 'FS'),
+ 'sorin' => array('sorin', 'SOR1'),
+ 'manuel' => array('manuel', 'MNUL'),
+ 'souleau' => array('souleau', 'SULO'),
+ 'ainval' => array('ainval', '1VL'),
+ 'jumel' => array('jumel', 'JUML'),
+ 'jer' => array('jer', 'J'),
+ 'riche' => array('riche', 'R9'),
+ 'bresson' => array('bresson', 'BRSO'),
+ 'dauge' => array('dauge', 'DOJ'),
+ 'abastado' => array('abastado', 'ABTD'),
+ 'romdhane' => array('romdhane', 'RODN'),
+ 'bouhanna' => array('bouhanna', 'BUN'),
+ 'dochez' => array('dochez', 'DO9S'),
+ 'cesare' => array('cesare', 'SSR'),
+ 'henni' => array('henni', 'EN'),
+ 'ly' => array('ly', 'L'),
+ 'delavelle' => array('delavelle', 'DLVL'),
+ 'trognon' => array('trognon', 'TRON'),
+ 'kanard' => array('kanard', 'KN'),
+ 'mamoune' => array('mamoune', 'MMUN'),
+ 'devignesdepuylaroque' => array('devignesdepuylaroque', 'DVJN'),
+ 'bo' => array('bo', 'BO'),
+ 'botereau' => array('botereau', 'BOTR'),
+ 'montreynaud' => array('montreynaud', 'MOTR'),
+ 'jonas' => array('jonas', 'JONS'),
+ 'ccc' => array('ccc', 'KK'),
+ 'gwossetuwlute' => array('gwossetuwlute', 'JOST'),
+ 'lechanteux' => array('lechanteux', 'L9T'),
+ 'coulogner' => array('coulogner', 'KULO'),
+ 'elyoubi' => array('elyoubi', 'ELYU'),
+ 'lacruzweinstein' => array('lacruzweinstein', 'LRUS'),
+ 'anhhoa' => array('anhhoa', 'AO'),
+ 'cadilhac' => array('cadilhac', 'KDLK'),
+ 'chancel' => array('chancel', '9SL'),
+ 'mahony' => array('mahony', 'MON'),
+ 'girolami' => array('girolami', 'JROL'),
+ 'gothie' => array('gothie', 'KOTY'),
+ 'pignault' => array('pignault', 'PJNO'),
+ 'rojobravo' => array('rojobravo', 'ROJO'),
+ 'malleus' => array('malleus', 'MLS'),
+ 'letournel' => array('letournel', 'LTUN'),
+ 'rochat' => array('rochat', 'RO9'),
+ 'patou' => array('patou', 'PTU'),
+ 'delongraye' => array('delongraye', 'DLOR'),
+ 'pitois' => array('pitois', 'PTOS'),
+ 'lapierre' => array('lapierre', 'LPYR'),
+ 'cichostepski' => array('cichostepski', 'S9OT'),
+ 'romon' => array('romon', 'ROMO'),
+ 'courtecuisse' => array('courtecuisse', 'KUTK'),
+ 'dufournier' => array('dufournier', 'DUFU'),
+ 'marsouin' => array('marsouin', 'MRU1'),
+ 'engrand' => array('engrand', 'AR'),
+ 'allehaux' => array('allehaux', 'ALO'),
+ 'dargham' => array('dargham', 'DJ'),
+ 'rouvillois' => array('rouvillois', 'RUVL'),
+ 'silberzahn' => array('silberzahn', 'SLBR'),
+ 'guillemont' => array('guillemont', 'KLMO'),
+ 'ouahab' => array('ouahab', 'UB'),
+ 'balme' => array('balme', 'BLM'),
+ 'aujoux' => array('aujoux', 'OJU'),
+ 'gatteau' => array('gatteau', 'KTO'),
+ 'mordo' => array('mordo', 'MODO'),
+ 'deboursetty' => array('deboursetty', 'DBUS'),
+ 'bornsztein' => array('bornsztein', 'BONS'),
+ 'subra' => array('subra', 'SUR'),
+ 'larcan' => array('larcan', 'LK'),
+ 'colleville' => array('colleville', 'KOLV'),
+ 'mahfouz' => array('mahfouz', 'MUS'),
+ 'duray' => array('duray', 'DUR'),
+ 'calf' => array('calf', 'KLF'),
+ 'estassy' => array('estassy', 'ETS'),
+ 'grison' => array('grison', 'JRSO'),
+ 'belmahi' => array('belmahi', 'BL'),
+ 'aulnois' => array('aulnois', 'OLNO'),
+ 'lucille' => array('lucille', 'LUSL'),
+ 'munoa' => array('munoa', 'MUNO'),
+ 'bouzige' => array('bouzige', 'BUSJ'),
+ 'pourcin' => array('pourcin', 'PUK1'),
+ 'delhomme' => array('delhomme', 'DLOM'),
+ 'stablo' => array('stablo', 'TLO'),
+ 'radvanyi' => array('radvanyi', 'RDNY'),
+ 'piechaczyk' => array('piechaczyk', 'PY9S'),
+ 'cyffers' => array('cyffers', 'SFRS'),
+ 'charoy' => array('charoy', '9RO'),
+ 'khemakhem' => array('khemakhem', 'KMK'),
+ 'mazziotto' => array('mazziotto', 'MSYO'),
+ 'arribehaute' => array('arribehaute', 'ARBO'),
+ 'petitpre' => array('petitpre', 'PTTP'),
+ 'pichat' => array('pichat', 'P9'),
+ 'hautecloqueraysz' => array('hautecloqueraysz', 'OTKL'),
+ 'dmytro' => array('dmytro', 'DMTR'),
+ 'minni' => array('minni', 'MN'),
+ 'loustau' => array('loustau', 'LUTO'),
+ 'goucha' => array('goucha', 'KU9'),
+ 'copello' => array('copello', 'KOPL'),
+ 'hirtzman' => array('hirtzman', 'YRTS'),
+ 'barcon' => array('barcon', 'BKO'),
+ 'ballus' => array('ballus', 'BLUS'),
+ 'pariselle' => array('pariselle', 'PRSL'),
+ 'alainjoseph' => array('alainjoseph', 'AL1J'),
+ 'aime' => array('aime', 'EM'),
+ 'vuaille' => array('vuaille', 'VUL'),
+ 'flobert' => array('flobert', 'FLOB'),
+ 'hallopeau' => array('hallopeau', 'ALOP'),
+ 'suquet' => array('suquet', 'SUK'),
+ 'vigneron' => array('vigneron', 'VJNR'),
+ 'heringerjallot' => array('heringerjallot', 'ER1J'),
+ 'verseux' => array('verseux', 'VRS'),
+ 'dongwon' => array('dongwon', 'DOVO'),
+ 'desereville' => array('desereville', 'DSRV'),
+ 'guittonneau' => array('guittonneau', 'KTON'),
+ 'laforgue' => array('laforgue', 'LFOK'),
+ 'jamet' => array('jamet', 'JM'),
+ 'dechampfleur' => array('dechampfleur', 'D9PF'),
+ 'fuentessolana' => array('fuentessolana', 'FUTS'),
+ 'delage' => array('delage', 'DLJ'),
+ 'odile' => array('odile', 'ODL'),
+ 'alireza' => array('alireza', 'ALRS'),
+ 'druelle' => array('druelle', 'DRUL'),
+ 'prebay' => array('prebay', 'PRB'),
+ 'marelle' => array('marelle', 'MRL'),
+ 'lepine' => array('lepine', 'LPN'),
+ 'grimond' => array('grimond', 'JRMO'),
+ 'tescher' => array('tescher', 'TSK'),
+ 'cardot' => array('cardot', 'KRO'),
+ 'couprie' => array('couprie', 'KUPR'),
+ 'desprets' => array('desprets', 'DSPR'),
+ 'cuvelier' => array('cuvelier', 'KUVL'),
+ 'ledoare' => array('ledoare', 'LDOR'),
+ 'fantin' => array('fantin', 'FT1'),
+ 'sweelongkevin' => array('sweelongkevin', 'SVLO'),
+ 'kawabe' => array('kawabe', 'KVB'),
+ 'josephantoine' => array('josephantoine', 'JOSF'),
+ 'ermias' => array('ermias', 'ERMY'),
+ 'baujat' => array('baujat', 'BOJ'),
+ 'khuatduy' => array('khuatduy', 'KUTD'),
+ 'quocanh' => array('quocanh', 'KOK'),
+ 'prostdame' => array('prostdame', 'PROT'),
+ 'chave' => array('chave', '9V'),
+ 'devilliers' => array('devilliers', 'DVLY'),
+ 'letourneur' => array('letourneur', 'LTUN'),
+ 'peard' => array('peard', 'PR'),
+ 'ngoduc' => array('ngoduc', 'NKOD'),
+ 'delteil' => array('delteil', 'DLTL'),
+ 'ramzi' => array('ramzi', 'RS'),
+ 'oterodelval' => array('oterodelval', 'OTRO'),
+ 'madelenat' => array('madelenat', 'MDLN'),
+ 'ric' => array('ric', 'RK'),
+ 'shark' => array('shark', '9K'),
+ 'martinezdealbeniz' => array('martinezdealbeniz', 'MTNS'),
+ 'mangenot' => array('mangenot', 'MJNO'),
+ 'boutillon' => array('boutillon', 'BUTL'),
+ 'bigeon' => array('bigeon', 'BJ'),
+ 'prange' => array('prange', 'PRJ'),
+ 'voutsinossvilarich' => array('voutsinossvilarich', 'VUTS'),
+ 'ithier' => array('ithier', 'YTY'),
+ 'chanet' => array('chanet', '9N'),
+ 'nivat' => array('nivat', 'NV'),
+ 'correasantos' => array('correasantos', 'KORS'),
+ 'blion' => array('blion', 'BLYO'),
+ 'yiqing' => array('yiqing', 'YK1J'),
+ 'puchercos' => array('puchercos', 'PU9R'),
+ 'jourde' => array('jourde', 'JUD'),
+ 'pierremarie' => array('pierremarie', 'PYRM'),
+ 'briquet' => array('briquet', 'BRK'),
+ 'lenir' => array('lenir', 'LNR'),
+ 'nicholas' => array('nicholas', 'N9OL'),
+ 'burgess' => array('burgess', 'BUJS'),
+ 'monclar' => array('monclar', 'MOLR'),
+ 'ptilouis' => array('ptilouis', 'PTLU'),
+ 'paimboeuf' => array('paimboeuf', 'P1BF'),
+ 'galloy' => array('galloy', 'KLO'),
+ 'corderoydutiers' => array('corderoydutiers', 'KODR'),
+ 'soupizet' => array('soupizet', 'SUPS'),
+ 'alaouiyazidi' => array('alaouiyazidi', 'ALUY'),
+ 'tignol' => array('tignol', 'TJNO'),
+ 'laftit' => array('laftit', 'LT'),
+ 'haberer' => array('haberer', 'ABR'),
+ 'dobra' => array('dobra', 'DOR'),
+ 'voorde' => array('voorde', 'VOD'),
+ 'truchetto' => array('truchetto', 'TRU9'),
+ 'megret' => array('megret', 'MJR'),
+ 'vandemaele' => array('vandemaele', 'VDML'),
+ 'dimeglio' => array('dimeglio', 'DMJL'),
+ 'korty' => array('korty', 'KOT'),
+ 'piaton' => array('piaton', 'PYTO'),
+ 'lubek' => array('lubek', 'LUBK'),
+ 'ruoyun' => array('ruoyun', 'RUO1'),
+ 'balufin' => array('balufin', 'BLUF'),
+ 'valperguedemasin' => array('valperguedemasin', 'VLPR'),
+ 'remonbeauvais' => array('remonbeauvais', 'RMOB'),
+ 'letki' => array('letki', 'LTK'),
+ 'widhoff' => array('widhoff', 'VDOF'),
+ 'vaquier' => array('vaquier', 'VKY'),
+ 'siegler' => array('siegler', 'SYJL'),
+ 'tranchevent' => array('tranchevent', 'TR9V'),
+ 'pioupiou' => array('pioupiou', 'PYUP'),
+ 'revellat' => array('revellat', 'RVL'),
+ 'lebourgeois' => array('lebourgeois', 'LBUJ'),
+ 'ferre' => array('ferre', 'FR'),
+ 'convertlalanne' => array('convertlalanne', 'KOVR'),
+ 'jeanhenri' => array('jeanhenri', 'JR'),
+ 'roubinet' => array('roubinet', 'RUBN'),
+ 'aldea' => array('aldea', 'ALD'),
+ 'lou' => array('lou', 'LU'),
+ 'guygrand' => array('guygrand', 'KJR'),
+ 'litzler' => array('litzler', 'LTSL'),
+ 'chavigner' => array('chavigner', '9VJN'),
+ 'purcha' => array('purcha', 'PU9'),
+ 'santos' => array('santos', 'STOS'),
+ 'sombrero' => array('sombrero', 'SORR'),
+ 'dekouchkovsky' => array('dekouchkovsky', 'DKUK'),
+ 'kieffel' => array('kieffel', 'KYFL'),
+ 'fouquieres' => array('fouquieres', 'FUKY'),
+ 'coureaud' => array('coureaud', 'KURO'),
+ 'scetbun' => array('scetbun', 'STB1'),
+ 'viarisdelesegno' => array('viarisdelesegno', 'VYRS'),
+ 'delbove' => array('delbove', 'DLOV'),
+ 'adnane' => array('adnane', 'ANN'),
+ 'perfezou' => array('perfezou', 'PRFS'),
+ 'eliane' => array('eliane', 'ELYN'),
+ 'amaraldeandradesophia' => array('amaraldeandradesophia', 'AMRL'),
+ 'tremblin' => array('tremblin', 'TRL1'),
+ 'pierreetienne' => array('pierreetienne', 'PYRT'),
+ 'corbu' => array('corbu', 'KOBU'),
+ 'lachuite,tchemba' => array('lachuite,tchemba', 'L9UT'),
+ 'bonnefon' => array('bonnefon', 'BONF'),
+ 'knoche' => array('knoche', 'NO9'),
+ 'haller' => array('haller', 'AL'),
+ 'nolde' => array('nolde', 'NOLD'),
+ 'craon' => array('craon', 'KR'),
+ 'caurier' => array('caurier', 'KORY'),
+ 'duchaussoy' => array('duchaussoy', 'DU9O'),
+ 'bozec' => array('bozec', 'BOSK'),
+ 'debeauregard' => array('debeauregard', 'DBOR'),
+ 'blum' => array('blum', 'BL1'),
+ 'gajic' => array('gajic', 'KJK'),
+ 'kinapara' => array('kinapara', 'KNPR'),
+ 'barbierdelaserre' => array('barbierdelaserre', 'BBYR'),
+ 'thang' => array('thang', 'TJ'),
+ 'fonade' => array('fonade', 'FOND'),
+ 'majnonidintignano' => array('majnonidintignano', 'MNON'),
+ 'benkheiri' => array('benkheiri', 'BKR'),
+ 'rochefort' => array('rochefort', 'RO9F'),
+ 'falezan' => array('falezan', 'FLS'),
+ 'granade' => array('granade', 'JRND'),
+ 'toufik' => array('toufik', 'TUFK'),
+ '137' => array('137', ''),
+ 'boutot' => array('boutot', 'BUTO'),
+ 'heckel' => array('heckel', 'EKL'),
+ 'xandrex' => array('xandrex', 'XR'),
+ 'rheims' => array('rheims', 'R1S'),
+ 'piponnier' => array('piponnier', 'PPON'),
+ 'dossin' => array('dossin', 'DOS1'),
+ 'deltheil' => array('deltheil', 'DLTL'),
+ 'bernicot' => array('bernicot', 'BRNK'),
+ 'annemarie' => array('annemarie', 'ANMR'),
+ 'hannothiaux' => array('hannothiaux', 'ANOT'),
+ 'namias' => array('namias', 'NMYS'),
+ 'artzner' => array('artzner', 'ATSN'),
+ 'charrier' => array('charrier', '9RY'),
+ 'commelin' => array('commelin', 'KOML'),
+ 'pochard' => array('pochard', 'PO9'),
+ 'duhil' => array('duhil', 'DUL'),
+ 'duchatte' => array('duchatte', 'DU9T'),
+ 'delatte' => array('delatte', 'DLT'),
+ 'ruizdearcaute' => array('ruizdearcaute', 'RUSD'),
+ 'huitema' => array('huitema', 'UTM'),
+ 'demerliac' => array('demerliac', 'DMRL'),
+ 'delafoye' => array('delafoye', 'DLFO'),
+ 'ruelle' => array('ruelle', 'RUL'),
+ 'savey' => array('savey', 'SV'),
+ 'sarrabezolles' => array('sarrabezolles', 'SRBS'),
+ 'guth' => array('guth', 'K'),
+ 'boissonnat' => array('boissonnat', 'BOSO'),
+ 'zoinx' => array('zoinx', 'ZO'),
+ 'onno' => array('onno', 'ONO'),
+ 'queru' => array('queru', 'KRU'),
+ 'galbe' => array('galbe', 'KLB'),
+ 'lauriston' => array('lauriston', 'LORT'),
+ 'loubensdeverdalle' => array('loubensdeverdalle', 'LUBD'),
+ 'chabrier' => array('chabrier', '9RY'),
+ 'molliens' => array('molliens', 'MOLY'),
+ 'heuclin' => array('heuclin', 'EKL1'),
+ 'averous' => array('averous', 'AVRU'),
+ 'sauvel' => array('sauvel', 'SOVL'),
+ 'caherec' => array('caherec', 'KRK'),
+ 'lheriau' => array('lheriau', 'LRYO'),
+ 'gauchard' => array('gauchard', 'KO9'),
+ 'benabed' => array('benabed', 'BNB'),
+ 'dfm' => array('dfm', 'DFM'),
+ 'dhose' => array('dhose', 'DOS'),
+ 'edern' => array('edern', 'EDRN'),
+ 'fleuret' => array('fleuret', 'FLR'),
+ 'maffiberthier' => array('maffiberthier', 'MFBR'),
+ 'campagneibarcq' => array('campagneibarcq', 'KPNB'),
+ 'beguin' => array('beguin', 'BK1'),
+ 'hihi' => array('hihi', 'Y'),
+ 'tournat' => array('tournat', 'TUN'),
+ 'plusquellec' => array('plusquellec', 'PLUK'),
+ 'ruelland' => array('ruelland', 'RUL'),
+ 'delachevasnerie' => array('delachevasnerie', 'DL9V'),
+ 'benaclestrille' => array('benaclestrille', 'BNLT'),
+ 'chazy' => array('chazy', '9S'),
+ 'yeung' => array('yeung', 'Y1J'),
+ 'frois' => array('frois', 'FROS'),
+ 'lamon' => array('lamon', 'LMO'),
+ 'noemie' => array('noemie', 'NMY'),
+ 'otmane' => array('otmane', 'OTN'),
+ 'gisserot' => array('gisserot', 'JSRO'),
+ 'pelissiedurausas' => array('pelissiedurausas', 'PLSY'),
+ 'morice' => array('morice', 'MORS'),
+ 'marechaldereu' => array('marechaldereu', 'MR9L'),
+ 'isam' => array('isam', 'YS'),
+ 'estelle' => array('estelle', 'ETL'),
+ 'arnaudon' => array('arnaudon', 'ANOD'),
+ 'thier' => array('thier', 'TY'),
+ 'weisslinger' => array('weisslinger', 'VSL1'),
+ 'boss' => array('boss', 'BOS'),
+ 'hau' => array('hau', 'O'),
+ 'logie' => array('logie', 'LOJY'),
+ 'aurengo' => array('aurengo', 'ORKO'),
+ 'luciano' => array('luciano', 'LUSY'),
+ 'domallain' => array('domallain', 'DOML'),
+ 'ohman' => array('ohman', 'OM'),
+ 'somdecoste' => array('somdecoste', 'SODK'),
+ 'gentil' => array('gentil', 'JTL'),
+ 'decerisy' => array('decerisy', 'DSRS'),
+ 'guegano' => array('guegano', 'KKNO'),
+ 'bourgeot' => array('bourgeot', 'BUJO'),
+ 'tchangue' => array('tchangue', 'TK'),
+ 'mahmoud' => array('mahmoud', 'MU'),
+ 'camilier' => array('camilier', 'KMLY'),
+ 'neudin' => array('neudin', 'ND1'),
+ 'lacharnay' => array('lacharnay', 'L9N'),
+ 'goliger' => array('goliger', 'KOLJ'),
+ 'zampa' => array('zampa', 'ZP'),
+ 'shams' => array('shams', '9S'),
+ 'lavole' => array('lavole', 'LVOL'),
+ 'descours' => array('descours', 'DSKU'),
+ 'boulaye' => array('boulaye', 'BUL'),
+ 'bieth' => array('bieth', 'BY'),
+ 'savannet' => array('savannet', 'SVN'),
+ 'zidi' => array('zidi', 'ZD'),
+ 'monceaux' => array('monceaux', 'MOSO'),
+ 'schulke' => array('schulke', 'SKUL'),
+ 'lalaurette' => array('lalaurette', 'LLOR'),
+ 'chappert' => array('chappert', '9PR'),
+ 'gruget' => array('gruget', 'JRUJ'),
+ 'bladier' => array('bladier', 'BLDY'),
+ 'mamers' => array('mamers', 'MMRS'),
+ 'merigoux' => array('merigoux', 'MRKU'),
+ 'durantez' => array('durantez', 'DURT'),
+ 'vongrendeich' => array('vongrendeich', 'VORD'),
+ 'bruot' => array('bruot', 'BRUO'),
+ 'aurore' => array('aurore', 'OROR'),
+ 'camarcat' => array('camarcat', 'KMK'),
+ 'deroquetaillade' => array('deroquetaillade', 'DROK'),
+ 'gaffet' => array('gaffet', 'KF'),
+ 'devitry' => array('devitry', 'DVTR'),
+ 'derochambeau' => array('derochambeau', 'DRO9'),
+ 'coeurdacier' => array('coeurdacier', 'KRSY'),
+ 'renaud' => array('renaud', 'RNO'),
+ 'jabot' => array('jabot', 'JBO'),
+ 'dilou' => array('dilou', 'DLU'),
+ 'freton' => array('freton', 'FRTO'),
+ 'schmitt' => array('schmitt', 'SKM'),
+ 'ntheganja|adp' => array('ntheganja|adp', 'NTKJ'),
+ 'lika' => array('lika', 'LK'),
+ 'devarenne' => array('devarenne', 'DVRN'),
+ 'viretlange' => array('viretlange', 'VRTL'),
+ 'vivier' => array('vivier', 'VVY'),
+ 'chopinet' => array('chopinet', '9OPN'),
+ 'journeau' => array('journeau', 'JUNO'),
+ 'lenormand' => array('lenormand', 'LNOR'),
+ 'faunieres' => array('faunieres', 'FONY'),
+ 'chenut' => array('chenut', '9NU'),
+ 'mamode' => array('mamode', 'MMOD'),
+ 'cazou' => array('cazou', 'KSU'),
+ 'halim' => array('halim', 'AL1'),
+ 'mayrargue' => array('mayrargue', 'MRK'),
+ 'debarmon' => array('debarmon', 'DBMO'),
+ 'sanquer' => array('sanquer', 'SK'),
+ 'bayram' => array('bayram', 'BR'),
+ 'bechade' => array('bechade', 'B9D'),
+ 'gallou' => array('gallou', 'KLU'),
+ 'genon' => array('genon', 'JNO'),
+ 'hure' => array('hure', 'UR'),
+ 'cahingt' => array('cahingt', 'K1J'),
+ 'ouziel' => array('ouziel', 'USYL'),
+ 'contadoscarpa' => array('contadoscarpa', 'KOTD'),
+ 'naville' => array('naville', 'NVL'),
+ 'pazzis' => array('pazzis', 'PSS'),
+ 'careme' => array('careme', 'KRM'),
+ 'nicolasmichel' => array('nicolasmichel', 'NKOL'),
+ 'lautecaze' => array('lautecaze', 'LOTK'),
+ 'paillard' => array('paillard', 'PL'),
+ 'grapin' => array('grapin', 'JRP1'),
+ 'khacphu' => array('khacphu', 'KFU'),
+ 'lon' => array('lon', 'LO'),
+ 'bingxiong' => array('bingxiong', 'B1JX'),
+ 'chanhontong' => array('chanhontong', '9OTO'),
+ 'berrada' => array('berrada', 'BRD'),
+ 'salvy' => array('salvy', 'SLV'),
+ 'lyon' => array('lyon', 'LYO'),
+ 'ordinaire' => array('ordinaire', 'ODNR'),
+ 'paolantoni' => array('paolantoni', 'POLT'),
+ 'keizer' => array('keizer', 'KS'),
+ 'elmahyaoui' => array('elmahyaoui', 'ELYU'),
+ 'marina' => array('marina', 'MRN'),
+ 'sternbach' => array('sternbach', 'TRN9'),
+ 'vanessa' => array('vanessa', 'VNS'),
+ 'axel' => array('axel', 'AXL'),
+ 'pialot' => array('pialot', 'PYLO'),
+ 'bezieux' => array('bezieux', 'BSYU'),
+ 'bonjour' => array('bonjour', 'BOJU'),
+ 'rieunier' => array('rieunier', 'RYUN'),
+ 'fenayon' => array('fenayon', 'FNO'),
+ 'anneflorie' => array('anneflorie', 'ANFL'),
+ 'garreta' => array('garreta', 'KRT'),
+ 'dognin' => array('dognin', 'DON1'),
+ 'beylot' => array('beylot', 'BLO'),
+ 'didier' => array('didier', 'DDY'),
+ 'lecachalot' => array('lecachalot', 'LK9L'),
+ 'ripouteau' => array('ripouteau', 'RPUT'),
+ 'triebel' => array('triebel', 'TRYB'),
+ 'capoulade' => array('capoulade', 'KPUL'),
+ 'sanchidrian' => array('sanchidrian', 'S9DR'),
+ 'hierro' => array('hierro', 'YRO'),
+ 'legentil' => array('legentil', 'LJTL'),
+ 'jacquesandre' => array('jacquesandre', 'JKSR'),
+ 'fares' => array('fares', 'FRS'),
+ 'bayrou' => array('bayrou', 'BRU'),
+ 'sunanda' => array('sunanda', 'SUND'),
+ 'castelnau' => array('castelnau', 'KTLN'),
+ 'pouillard' => array('pouillard', 'PUL'),
+ 'vessereau' => array('vessereau', 'VSRO'),
+ 'massieux' => array('massieux', 'MSYU'),
+ 'boomerang' => array('boomerang', 'BOMR'),
+ 'cherruau' => array('cherruau', '9RUO'),
+ 'dethieux' => array('dethieux', 'DTYU'),
+ 'amsallem' => array('amsallem', 'ASL'),
+ 'tournassoud' => array('tournassoud', 'TUNS'),
+ 'violet' => array('violet', 'VYOL'),
+ 'philippon' => array('philippon', 'FLPO'),
+ 'bidaux' => array('bidaux', 'BDO'),
+ 'etave' => array('etave', 'ETV'),
+ 'fotiadi' => array('fotiadi', 'FOTY'),
+ 'mathiot' => array('mathiot', 'MTYO'),
+ 'malbernard' => array('malbernard', 'MLBR'),
+ 'isabel' => array('isabel', 'YSBL'),
+ 'mericdebellefon' => array('mericdebellefon', 'MRKD'),
+ 'benslimane' => array('benslimane', 'BLMN'),
+ 'mazerolle' => array('mazerolle', 'MSRO'),
+ 'rainer' => array('rainer', 'RN'),
+ 'rouzeau' => array('rouzeau', 'RUSO'),
+ 'mouro' => array('mouro', 'MURO'),
+ 'dunoyerdesegonzac' => array('dunoyerdesegonzac', 'DUNO'),
+ 'maneville' => array('maneville', 'MNVL'),
+ 'tewfik' => array('tewfik', 'TVFK'),
+ 'jeanneteau' => array('jeanneteau', 'JNTO'),
+ 'elannabi' => array('elannabi', 'ELNB'),
+ 'satche' => array('satche', 'ST9'),
+ 'touzery' => array('touzery', 'TUSR'),
+ 'laurioz' => array('laurioz', 'LORY'),
+ 'casoetto' => array('casoetto', 'KSTO'),
+ 'playe' => array('playe', 'PL'),
+ 'thieriet' => array('thieriet', 'TYRY'),
+ 'kretz' => array('kretz', 'KRTS'),
+ 'besse' => array('besse', 'BS'),
+ 'salley' => array('salley', 'SL'),
+ 'houpeurt' => array('houpeurt', 'UPR'),
+ 'hartmann' => array('hartmann', 'ATM'),
+ 'cartron' => array('cartron', 'KTRO'),
+ 'juillet' => array('juillet', 'JUL'),
+ 'szigeti' => array('szigeti', 'SSJT'),
+ 'chantre' => array('chantre', '9TR'),
+ 'blade' => array('blade', 'BLD'),
+ 'delaronciere' => array('delaronciere', 'DLRO'),
+ 'jaoude' => array('jaoude', 'JUD'),
+ 'plessiscasso' => array('plessiscasso', 'PLSS'),
+ 'rande' => array('rande', 'RD'),
+ 'haithem' => array('haithem', 'ET'),
+ 'dtw' => array('dtw', 'DTV'),
+ 'brachou' => array('brachou', 'BR9U'),
+ 'orel' => array('orel', 'ORL'),
+ 'beby' => array('beby', 'BB'),
+ 'ballesta' => array('ballesta', 'BLT'),
+ 'pelegrin' => array('pelegrin', 'PLJR'),
+ 'charvillon' => array('charvillon', '9VLO'),
+ 'parmentelat' => array('parmentelat', 'PRTL'),
+ 'djakou' => array('djakou', 'DKU'),
+ 'hahuy' => array('hahuy', 'AU'),
+ 'larroque' => array('larroque', 'LROK'),
+ 'mennerat' => array('mennerat', 'MNR'),
+ 'plo' => array('plo', 'PLO'),
+ 'colleau' => array('colleau', 'KOLO'),
+ 'badellon' => array('badellon', 'BDLO'),
+ 'goger' => array('goger', 'KOJ'),
+ 'cruchant' => array('cruchant', 'KRU9'),
+ 'mouly' => array('mouly', 'MUL'),
+ 'stouff' => array('stouff', 'TUF'),
+ 'fayette' => array('fayette', 'FT'),
+ 'paturle' => array('paturle', 'PTUL'),
+ 'maquere' => array('maquere', 'MKR'),
+ 'seitz' => array('seitz', 'STS'),
+ 'raoust' => array('raoust', 'RU'),
+ 'aussure' => array('aussure', 'OSUR'),
+ 'ytournel' => array('ytournel', 'YTUN'),
+ 'arrive' => array('arrive', 'ARV'),
+ 'thiennot' => array('thiennot', 'TYNO'),
+ 'liepvre' => array('liepvre', 'LYPV'),
+ 'kavenoky' => array('kavenoky', 'KVNO'),
+ 'noyere' => array('noyere', 'NOYR'),
+ 'lalement' => array('lalement', 'LLM'),
+ 'maigne' => array('maigne', 'MJN'),
+ 'brouder' => array('brouder', 'BRUD'),
+ 'grasmuck' => array('grasmuck', 'JRSU'),
+ 'roll' => array('roll', 'ROL'),
+ 'lasoudiere' => array('lasoudiere', 'LSUD'),
+ 'lorino' => array('lorino', 'LORN'),
+ 'chassagnette' => array('chassagnette', '9SNT'),
+ 'lamothe' => array('lamothe', 'LMOT'),
+ 'poux' => array('poux', 'PU'),
+ 'claudejean' => array('claudejean', 'KLOD'),
+ 'lupo' => array('lupo', 'LUPO'),
+ 'spiteri' => array('spiteri', 'SPTR'),
+ 'bernu' => array('bernu', 'BRNU'),
+ 'do' => array('do', 'DO'),
+ 'patier' => array('patier', 'PTY'),
+ 'lanson' => array('lanson', 'LSO'),
+ 'labelle' => array('labelle', 'LBL'),
+ 'chabenne' => array('chabenne', '9BN'),
+ 'dubasty' => array('dubasty', 'DUBT'),
+ 'decugis' => array('decugis', 'DKUJ'),
+ 'derode' => array('derode', 'DROD'),
+ 'benatig' => array('benatig', 'BNTJ'),
+ 'cayatte' => array('cayatte', 'KT'),
+ 'bourzeix' => array('bourzeix', 'BUS'),
+ 'linhares' => array('linhares', 'L1RS'),
+ 'dubus' => array('dubus', 'DUBU'),
+ 'bernaert' => array('bernaert', 'BRNR'),
+ 'jeanlouis' => array('jeanlouis', 'JLUS'),
+ 'roscoat' => array('roscoat', 'ROKO'),
+ 'thivent' => array('thivent', 'TV'),
+ 'jouty' => array('jouty', 'JUT'),
+ 'blouet' => array('blouet', 'BLU'),
+ 'wenzinger' => array('wenzinger', 'VS1J'),
+ 'chybiryakov' => array('chybiryakov', '9BRY'),
+ 'lachauffe' => array('lachauffe', 'L9OF'),
+ 'rached' => array('rached', 'R9'),
+ 'deseze' => array('deseze', 'DSS'),
+ 'cavailloles' => array('cavailloles', 'KVLO'),
+ 'chajia' => array('chajia', '9JY'),
+ 'szilard' => array('szilard', 'SSL'),
+ 'nhung' => array('nhung', 'N1J'),
+ 'hemissi' => array('hemissi', 'EMS'),
+ );
+ }
+
+ /**
+ * @dataProvider tokenProvider
+ */
+ public function testSoundex($token, $soundex)
+ {
+ $this->assertSame($soundex, rtrim(soundex_fr($token), ' '));
+ }
+}
+
+// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
+?>