navigo.h 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777
  1. #include "../metroflip_i.h"
  2. #include <stdbool.h>
  3. #include <datetime.h>
  4. #ifndef METRO_LIST_H
  5. #define METRO_LIST_H
  6. #ifndef NAVIGO_H
  7. #define NAVIGO_H
  8. void metroflip_back_button_widget_callback(GuiButtonType result, InputType type, void* context);
  9. void metroflip_next_button_widget_callback(GuiButtonType result, InputType type, void* context);
  10. typedef struct {
  11. int transport_type;
  12. int transition;
  13. int service_provider;
  14. int station_group_id;
  15. int station_id;
  16. int location_gate;
  17. bool location_gate_available;
  18. int device;
  19. int door;
  20. int side;
  21. bool device_available;
  22. int route_number;
  23. bool route_number_available;
  24. int mission;
  25. bool mission_available;
  26. int vehicle_id;
  27. bool vehicle_id_available;
  28. int used_contract;
  29. bool used_contract_available;
  30. DateTime date;
  31. } NavigoCardEvent;
  32. typedef struct {
  33. int app_version;
  34. int country_num;
  35. int network_num;
  36. DateTime end_dt;
  37. } NavigoCardEnv;
  38. typedef struct {
  39. float balance;
  40. DateTime start_dt;
  41. } NavigoCardContract;
  42. typedef struct {
  43. NavigoCardEnv environment;
  44. NavigoCardContract* contracts;
  45. NavigoCardEvent* events;
  46. } NavigoCardData;
  47. typedef struct {
  48. Metroflip* app;
  49. NavigoCardData* card;
  50. int page_id;
  51. // mutex
  52. FuriMutex* mutex;
  53. } NavigoContext;
  54. /* // Navigo Card Subscriptions Types
  55. static const char* SUBSCRIPTIONS_LIST[] = {
  56. [1] = "Navigo decouverte",
  57. [2] = "Navigo standard",
  58. [6] = " Navigo integral",
  59. [14] = "Imagine R (etudiant)"}; */
  60. // Service Providers
  61. static const char* SERVICE_PROVIDERS[] = {
  62. [2] = "SNCF",
  63. [3] = "RATP",
  64. [115] = "CSO (VEOLIA)",
  65. [116] = "R'Bus (VEOLIA)",
  66. [156] = "Phebus",
  67. [175] = "RATP (Veolia Transport Nanterre)"};
  68. // Transport Types
  69. static const char* TRANSPORT_LIST[] = {
  70. [1] = "Bus Urbain",
  71. [2] = "Bus Interurbain",
  72. [3] = "Metro",
  73. [4] = "Tram",
  74. [5] = "Train",
  75. [8] = "Parking"};
  76. typedef enum {
  77. BUS_URBAIN = 1,
  78. BUS_INTERURBAIN = 2,
  79. METRO = 3,
  80. TRAM = 4,
  81. TRAIN = 5,
  82. PARKING = 8
  83. } TRANSPORT_TYPE;
  84. // Transition Types
  85. static const char* TRANSITION_LIST[] = {
  86. [1] = "Validation en entree",
  87. [2] = "Validation en sortie",
  88. [4] = "Controle volant (a bord)",
  89. [5] = "Validation de test",
  90. [6] = "Validation en correspondance (entree)",
  91. [7] = "Validation en correspondance (sortie)",
  92. [9] = "Annulation de validation",
  93. [10] = "Validation en entree",
  94. [13] = "Distribution",
  95. [15] = "Invalidation"};
  96. #endif // NAVIGO_H
  97. static const char* METRO_STATION_LIST[32][16] =
  98. {[1] =
  99. {[0] = "Cite",
  100. [1] = "Saint-Michel",
  101. [4] = "Odeon",
  102. [5] = "Cluny - La Sorbonne",
  103. [6] = "Maubert - Mutualite",
  104. [7] = "Luxembourg",
  105. [8] = "Châtelet",
  106. [9] = "Les Halles",
  107. [10] = "Les Halles",
  108. [12] = "Louvre - Rivoli",
  109. [13] = "Pont Neuf",
  110. [14] = "Cite",
  111. [15] = "Hotel de Ville"},
  112. [2] =
  113. {[0] = "Rennes",
  114. [2] = "Cambronne",
  115. [3] = "Sevres - Lecourbe",
  116. [4] = "Segur",
  117. [6] = "Saint-François-Xavier",
  118. [7] = "Duroc",
  119. [8] = "Vaneau",
  120. [9] = "Sevres - Babylone",
  121. [10] = "Rue du Bac",
  122. [11] = "Rennes",
  123. [12] = "Saint-Sulpice",
  124. [14] = "Mabillon",
  125. [15] = "Saint-Germain-des-Pres"},
  126. [3] =
  127. {[0] = "Villette",
  128. [4] = "Porte de la Villette",
  129. [5] = "Aubervilliers - Pantin - Quatre Chemins",
  130. [6] = "Fort d'Aubervilliers",
  131. [7] = "La Courneuve - 8 Mai 1945",
  132. [9] = "Hoche",
  133. [10] = "Eglise de Pantin",
  134. [11] = "Bobigny - Pantin - Raymond Queneau",
  135. [12] = "Bobigny - Pablo Picasso"},
  136. [4] =
  137. {[0] = "Montparnasse",
  138. [2] = "Pernety",
  139. [3] = "Plaisance",
  140. [4] = "Gaite",
  141. [6] = "Edgar Quinet",
  142. [7] = "Vavin",
  143. [8] = "Montparnasse - Bienvenue",
  144. [12] = "Saint-Placide",
  145. [14] = "Notre-Dame-des-Champs"},
  146. [5] =
  147. {[0] = "Nation",
  148. [2] = "Robespierre",
  149. [3] = "Porte de Montreuil",
  150. [4] = "Maraichers",
  151. [5] = "Buzenval",
  152. [6] = "Rue des Boulets",
  153. [7] = "Porte de Vincennes",
  154. [9] = "Picpus",
  155. [10] = "Nation",
  156. [12] = "Avron",
  157. [13] = "Alexandre Dumas"},
  158. [6] =
  159. {[0] = "Saint-Lazare",
  160. [1] = "Malesherbes",
  161. [2] = "Monceau",
  162. [3] = "Villiers",
  163. [4] = "Quatre-Septembre",
  164. [5] = "Opera",
  165. [6] = "Auber",
  166. [7] = "Havre - Caumartin",
  167. [8] = "Saint-Lazare",
  168. [9] = "Saint-Lazare",
  169. [10] = "Saint-Augustin",
  170. [12] = "Europe",
  171. [13] = "Liege"},
  172. [7] =
  173. {[0] = "Auteuil",
  174. [3] = "Porte de Saint-Cloud",
  175. [7] = "Porte d'Auteuil",
  176. [8] = "eglise d'Auteuil",
  177. [9] = "Michel-Ange - Auteuil",
  178. [10] = "Michel-Ange - Molitor",
  179. [11] = "Chardon-Lagache",
  180. [12] = "Mirabeau",
  181. [14] = "Exelmans",
  182. [15] = "Jasmin"},
  183. [8] =
  184. {[0] = "Republique",
  185. [1] = "Rambuteau",
  186. [3] = "Arts et Metiers",
  187. [4] = "Jacques Bonsergent",
  188. [5] = "Goncourt",
  189. [6] = "Temple",
  190. [7] = "Republique",
  191. [10] = "Oberkampf",
  192. [11] = "Parmentier",
  193. [12] = "Filles du Calvaire",
  194. [13] = "Saint-Sebastien - Froissart",
  195. [14] = "Richard-Lenoir",
  196. [15] = "Saint-Ambroise"},
  197. [9] =
  198. {[0] = "Austerlitz",
  199. [1] = "Quai de la Gare",
  200. [2] = "Chevaleret",
  201. [4] = "Saint-Marcel",
  202. [7] = "Gare d'Austerlitz",
  203. [8] = "Gare de Lyon",
  204. [10] = "Quai de la Rapee"},
  205. [10] =
  206. {[0] = "Invalides",
  207. [1] = "Champs-elysees - Clemenceau",
  208. [2] = "Concorde",
  209. [3] = "Madeleine",
  210. [4] = "Bir-Hakeim",
  211. [7] = "ecole Militaire",
  212. [8] = "La Tour-Maubourg",
  213. [9] = "Invalides",
  214. [11] = "Saint-Denis - Universite",
  215. [12] = "Varenne",
  216. [13] = "Assemblee nationale",
  217. [14] = "Solferino"},
  218. [11] =
  219. {[0] = "Sentier",
  220. [1] = "Tuileries",
  221. [2] = "Palais Royal - Musee du Louvre",
  222. [3] = "Pyramides",
  223. [4] = "Bourse",
  224. [6] = "Grands Boulevards",
  225. [7] = "Richelieu - Drouot",
  226. [8] = "Bonne Nouvelle",
  227. [10] = "Strasbourg - Saint-Denis",
  228. [11] = "Château d'Eau",
  229. [13] = "Sentier",
  230. [14] = "Reaumur - Sebastopol",
  231. [15] = "etienne Marcel"},
  232. [12] =
  233. {[0] = "ile Saint-Louis",
  234. [1] = "Faidherbe - Chaligny",
  235. [2] = "Reuilly - Diderot",
  236. [3] = "Montgallet",
  237. [4] = "Censier - Daubenton",
  238. [5] = "Place Monge",
  239. [6] = "Cardinal Lemoine",
  240. [7] = "Jussieu",
  241. [8] = "Sully - Morland",
  242. [9] = "Pont Marie",
  243. [10] = "Saint-Paul",
  244. [12] = "Bastille",
  245. [13] = "Chemin Vert",
  246. [14] = "Breguet - Sabin",
  247. [15] = "Ledru-Rollin"},
  248. [13] =
  249. {[0] = "Daumesnil",
  250. [1] = "Porte Doree",
  251. [3] = "Porte de Charenton",
  252. [7] = "Bercy",
  253. [8] = "Dugommier",
  254. [10] = "Michel Bizot",
  255. [11] = "Daumesnil",
  256. [12] = "Bel-Air"},
  257. [14] =
  258. {[0] = "Italie",
  259. [2] = "Porte de Choisy",
  260. [3] = "Porte d'Italie",
  261. [4] = "Cite universitaire",
  262. [9] = "Maison Blanche",
  263. [10] = "Tolbiac",
  264. [11] = "Nationale",
  265. [12] = "Campo-Formio",
  266. [13] = "Les Gobelins",
  267. [14] = "Place d'Italie",
  268. [15] = "Corvisart"},
  269. [15] =
  270. {[0] = "Denfert",
  271. [1] = "Cour Saint-Emilion",
  272. [2] = "Porte d'Orleans",
  273. [3] = "Bibliotheque François Mitterrand",
  274. [4] = "Mouton-Duvernet",
  275. [5] = "Alesia",
  276. [6] = "Olympiades",
  277. [8] = "Glaciere",
  278. [9] = "Saint-Jacques",
  279. [10] = "Raspail",
  280. [14] = "Denfert-Rochereau"},
  281. [16] =
  282. {[0] = "Felix Faure",
  283. [1] = "Falguiere",
  284. [2] = "Pasteur",
  285. [3] = "Volontaires",
  286. [4] = "Vaugirard",
  287. [5] = "Convention",
  288. [6] = "Porte de Versailles",
  289. [9] = "Balard",
  290. [10] = "Lourmel",
  291. [11] = "Boucicaut",
  292. [12] = "Felix Faure",
  293. [13] = "Charles Michels",
  294. [14] = "Javel - Andre Citroen"},
  295. [17] =
  296. {[0] = "Passy",
  297. [2] = "Porte Dauphine",
  298. [4] = "La Motte-Picquet - Grenelle",
  299. [5] = "Commerce",
  300. [6] = "Avenue emile Zola",
  301. [7] = "Dupleix",
  302. [8] = "Passy",
  303. [9] = "Ranelagh",
  304. [11] = "La Muette",
  305. [13] = "Rue de la Pompe",
  306. [14] = "Boissiere",
  307. [15] = "Trocadero"},
  308. [18] =
  309. {[0] = "Etoile",
  310. [1] = "Iena",
  311. [3] = "Alma - Marceau",
  312. [4] = "Miromesnil",
  313. [5] = "Saint-Philippe du Roule",
  314. [7] = "Franklin D. Roosevelt",
  315. [8] = "George V",
  316. [9] = "Kleber",
  317. [10] = "Victor Hugo",
  318. [11] = "Argentine",
  319. [12] = "Charles de Gaulle - Itoile",
  320. [14] = "Ternes",
  321. [15] = "Courcelles"},
  322. [19] =
  323. {[0] = "Clichy - Saint Ouen",
  324. [1] = "Mairie de Clichy",
  325. [2] = "Gabriel Peri",
  326. [3] = "Les Agnettes",
  327. [4] = "Asnieres - Gennevilliers - Les Courtilles",
  328. [9] = "La Chapelle)",
  329. [10] = "Garibaldi",
  330. [11] = "Mairie de Saint-Ouen",
  331. [13] = "Carrefour Pleyel",
  332. [14] = "Saint-Denis - Porte de Paris",
  333. [15] = "Basilique de Saint-Denis"},
  334. [20] =
  335. {[0] = "Montmartre",
  336. [1] = "Porte de Clignancourt",
  337. [6] = "Porte de la Chapelle",
  338. [7] = "Marx Dormoy",
  339. [9] = "Marcadet - Poissonniers",
  340. [10] = "Simplon",
  341. [11] = "Jules Joffrin",
  342. [12] = "Lamarck - Caulaincourt"},
  343. [21] =
  344. {[0] = "Lafayette",
  345. [1] = "Chaussee d'Antin - La Fayette",
  346. [2] = "Le Peletier",
  347. [3] = "Cadet",
  348. [4] = "Château Rouge",
  349. [7] = "Barbes - Rochechouart",
  350. [8] = "Gare du Nord",
  351. [9] = "Gare de l'Est",
  352. [10] = "Poissonniere",
  353. [11] = "Château-Landon"},
  354. [22] =
  355. {[0] = "Buttes Chaumont",
  356. [1] = "Porte de Pantin",
  357. [2] = "Ourcq",
  358. [4] = "Corentin Cariou",
  359. [6] = "Crimee",
  360. [8] = "Riquet",
  361. [9] = "La Chapelle",
  362. [10] = "Louis Blanc",
  363. [11] = "Stalingrad",
  364. [12] = "Jaures",
  365. [13] = "Laumiere",
  366. [14] = "Bolivar",
  367. [15] = "Colonel Fabien"},
  368. [23] =
  369. {[0] = "Belleville",
  370. [2] = "Porte des Lilas",
  371. [3] = "Mairie des Lilas",
  372. [4] = "Porte de Bagnolet",
  373. [5] = "Gallieni",
  374. [8] = "Place des Fetes",
  375. [9] = "Botzaris",
  376. [10] = "Danube",
  377. [11] = "Pre Saint-Gervais",
  378. [13] = "Buttes Chaumont",
  379. [14] = "Jourdain",
  380. [15] = "Telegraphe"},
  381. [24] =
  382. {[0] = "Pere Lachaise",
  383. [1] = "Voltaire",
  384. [2] = "Charonne",
  385. [4] = "Pere Lachaise",
  386. [5] = "Menilmontant",
  387. [6] = "Rue Saint-Maur",
  388. [7] = "Philippe Auguste",
  389. [8] = "Saint-Fargeau",
  390. [9] = "Pelleport",
  391. [10] = "Gambetta",
  392. [12] = "Belleville",
  393. [13] = "Couronnes",
  394. [14] = "Pyrenees"},
  395. [25] =
  396. {[0] = "Charenton",
  397. [2] = "Croix de Chavaux",
  398. [3] = "Mairie de Montreuil",
  399. [4] = "Maisons-Alfort - Les Juilliottes",
  400. [5] = "Creteil - L'echat",
  401. [6] = "Creteil - Universite",
  402. [7] = "Creteil - Prefecture",
  403. [8] = "Saint-Mande",
  404. [10] = "Berault",
  405. [11] = "Château de Vincennes",
  406. [12] = "Liberte",
  407. [13] = "Charenton - ecoles",
  408. [14] = "ecole veterinaire de Maisons-Alfort",
  409. [15] = "Maisons-Alfort - Stade"},
  410. [26] =
  411. {[0] = "Ivry - Villejuif",
  412. [3] = "Porte d'Ivry",
  413. [4] = "Pierre et Marie Curie",
  414. [5] = "Mairie d'Ivry",
  415. [6] = "Le Kremlin-Bicetre",
  416. [7] = "Villejuif - Leo Lagrange",
  417. [8] = "Villejuif - Paul Vaillant-Couturier",
  418. [9] = "Villejuif - Louis Aragon"},
  419. [27] =
  420. {[0] = "Vanves",
  421. [2] = "Porte de Vanves",
  422. [7] = "Malakoff - Plateau de Vanves",
  423. [8] = "Malakoff - Rue etienne Dolet",
  424. [9] = "Châtillon - Montrouge"},
  425. [28] =
  426. {[0] = "Issy",
  427. [2] = "Corentin Celton",
  428. [3] = "Mairie d'Issy",
  429. [8] = "Marcel Sembat",
  430. [9] = "Billancourt",
  431. [10] = "Pont de Sevres"},
  432. [29] =
  433. {[0] = "Levallois",
  434. [4] = "Boulogne - Jean Jaures",
  435. [5] = "Boulogne - Pont de Saint-Cloud",
  436. [8] = "Les Sablons",
  437. [9] = "Pont de Neuilly",
  438. [10] = "Esplanade de la Defense",
  439. [11] = "La Defense",
  440. [12] = "Porte de Champerret",
  441. [13] = "Louise Michel",
  442. [14] = "Anatole France",
  443. [15] = "Pont de Levallois - Becon"},
  444. [30] =
  445. {[0] = "Pereire",
  446. [1] = "Porte Maillot",
  447. [4] = "Wagram",
  448. [5] = "Pereire",
  449. [8] = "Brochant",
  450. [9] = "Porte de Clichy",
  451. [12] = "Guy Moquet",
  452. [13] = "Porte de Saint-Ouen"},
  453. [31] = {
  454. [0] = "Pigalle",
  455. [2] = "Funiculaire de Montmartre (station inferieure)",
  456. [3] = "Funiculaire de Montmartre (station superieure)",
  457. [4] = "Anvers",
  458. [5] = "Abbesses",
  459. [6] = "Pigalle",
  460. [7] = "Blanche",
  461. [8] = "Trinite - d'Estienne d'Orves",
  462. [9] = "Notre-Dame-de-Lorette",
  463. [10] = "Saint-Georges",
  464. [12] = "Rome",
  465. [13] = "Place de Clichy",
  466. [14] = "La Fourche"}};
  467. static const char* TRAIN_LINES_LIST[77] = {
  468. [1] = "RER B", [3] = "RER B", [6] = "RER A", [14] = "RER B",
  469. [15] = "RER B", [16] = "RER A", [17] = "RER A", [18] = "RER B",
  470. [20] = "Transilien P", [21] = "Transilien P", [22] = "T4", [23] = "Transilien P",
  471. [26] = "RER A", [28] = "RER B", [30] = "Transilien L", [31] = "Transilien L",
  472. [32] = "Transilien J", [33] = "RER A", [35] = "Transilien J", [40] = "RER D",
  473. [41] = "RER C", [42] = "RER C", [43] = "Transilien R", [44] = "Transilien R",
  474. [45] = "RER D", [50] = "Transilien H", [51] = "Transilien K", [52] = "RER D",
  475. [53] = "Transilien H", [54] = "Transilien J", [55] = "RER C", [56] = "Transilien H",
  476. [57] = "Transilien H", [60] = "Transilien N", [61] = "Transilien N", [63] = "RER C",
  477. [64] = "RER C", [65] = "Transilien V", [70] = "RER B", [72] = "Transilien J",
  478. [73] = "Transilien J", [75] = "RER C", [76] = "RER C"};
  479. static const char* TRAIN_STATION_LIST[77][19] = {
  480. [1] = {[0] = "Châtelet-Les Halles", [1] = "Châtelet-Les Halles", [7] = "Luxembourg"},
  481. [3] = {[0] = "Saint-Michel Notre-Dame"},
  482. [6] = {[0] = "Auber", [6] = "Auber"},
  483. [14] = {[4] = "Cite Universitaire"},
  484. [15] = {[12] = "Port Royal"},
  485. [16] =
  486. {[1] = "Nation",
  487. [2] = "Fontenay-sous-Bois | Vincennes",
  488. [3] = "Joinville-le-Pont | Nogent-sur-Marne",
  489. [4] = "Saint-Maur Creteil",
  490. [5] = "Le Parc de Saint-Maur",
  491. [6] = "Champigny",
  492. [7] = "La Varenne-Chennevieres",
  493. [8] = "Boissy-Saint-Leger | Sucy Bonneuil"},
  494. [17] =
  495. {[1] = "Charles de Gaulle-Etoile",
  496. [4] = "La Defense (Grande Arche)",
  497. [5] = "Nanterre-Ville",
  498. [6] = "Rueil-Malmaison",
  499. [8] = "Chatou-Croissy",
  500. [9] = "Le Vesinet-Centre | Le Vesinet-Le Pecq | Saint-Germain-en-Laye"},
  501. [18] =
  502. {[0] = "Denfert-Rochereau",
  503. [1] = "Gentilly",
  504. [2] = "Arcueil-Cachan | Laplace",
  505. [3] = "Bagneux | Bourg-la-Reine",
  506. [4] = "La Croix-de-Berny | Parc de Sceaux",
  507. [5] = "Antony | Fontaine-Michalon | Les Baconnets",
  508. [6] = "Massy-Palaiseau | Massy-Verrieres",
  509. [7] = "Palaiseau Villebon | Palaiseau",
  510. [8] = "Lozere",
  511. [9] = "Le Guichet | Orsay-Ville",
  512. [10] =
  513. "Bures-sur-Yvette | Courcelle-sur-Yvette | Gif-sur-Yvette | La Hacquiniere | Saint-Remy-les-Chevreuse"},
  514. [20] =
  515. {[1] = "Gare de l'Est",
  516. [4] = "Pantin",
  517. [5] = "Noisy-le-Sec",
  518. [6] = "Bondy",
  519. [7] = "Gagny | Le Raincy Villemomble Montfermeil",
  520. [9] = "Chelles Gournay | Le Chenay Gagny",
  521. [10] = "Vaires Torcy",
  522. [11] = "Lagny-Thorigny",
  523. [13] = "Esbly",
  524. [14] = "Meaux",
  525. [15] = "Changis-Saint-Jean | Isles-Armentieres Congis | Lizy-sur-Ourcq | Trilport",
  526. [16] = "Crouy-sur-Ourcq | La Ferte-sous-Jouarre | Nanteuil Saacy"},
  527. [21] =
  528. {[5] = "Rosny-Bois-Perrier | Rosny-sous-Bois | Val de Fontenay",
  529. [6] = "Nogent Le-Perreux",
  530. [7] = "Les Boullereaux Champigny",
  531. [8] = "Villiers-sur-Marne Plessis-Trevise",
  532. [9] = "Les Yvris Noisy-le-Grand",
  533. [10] = "Emerainville Pontault-Combault | Roissy-en-Brie",
  534. [11] = "Ozoir-la-Ferriere",
  535. [12] = "Gretz-Armainvilliers | Tournan",
  536. [15] =
  537. "Courquetaine | Faremoutiers Pommeuse | Guerard La-Celle-sur-Morin | Liverdy en Brie | Marles-en-Brie | Mormant | Mortcerf | Mouroux | Ozouer le voulgis | Verneuil-l'Etang | Villepatour - Presles | Yebles - Guignes | Yebles",
  538. [16] =
  539. "Chailly Boissy-le-Châtel | Chauffry | Coulommiers | Jouy-sur-Morin Le-Marais | Nangis | Saint-Remy-la-Vanne | Saint-Simeon",
  540. [17] =
  541. "Champbenoist-Poigny | La Ferte-Gaucher | Longueville | Provins | Sainte-Colombe-Septveilles",
  542. [18] = "Flamboin | Meilleray | Villiers St Georges"},
  543. [22] =
  544. {[7] =
  545. "Allee de la Tour-Rendez-Vous | La Remise-a-Jorelle | Les Coquetiers | Les Pavillons-sous-Bois",
  546. [8] = "Gargan",
  547. [9] = "Freinville Sevran | L'Abbaye"},
  548. [23] =
  549. {[13] = "Couilly Saint-Germain Quincy | Les Champs-Forts | Montry Conde",
  550. [14] = "Crecy-en-Brie La Chapelle | Villiers-Montbarbin"},
  551. [26] =
  552. {[5] = "Val de Fontenay",
  553. [6] = "Bry-sur-Marne | Neuilly-Plaisance",
  554. [7] = "Noisy-le-Grand (Mont d'Est)",
  555. [8] = "Noisy-Champs",
  556. [10] = "Lognes | Noisiel | Torcy",
  557. [11] = "Bussy-Saint-Georges",
  558. [12] = "Val d'europe",
  559. [13] = "Marne-la-Vallee Chessy"},
  560. [28] = {[4] = "Fontenay-aux-Roses | Robinson | Sceaux"},
  561. [30] =
  562. {[1] = "Gare Saint-Lazare",
  563. [3] = "Pont Cardinet",
  564. [4] =
  565. "Asnieres | Becon-les-Bruyeres | Clichy Levallois | Courbevoie | La Defense (Grande Arche)",
  566. [5] = "Puteaux | Suresnes Mont-Valerien",
  567. [7] = "Garches Marne-la-Coquette | Le Val d'Or | Saint-Cloud",
  568. [8] = "Vaucresson",
  569. [9] = "Bougival | La Celle-Saint-Cloud | Louveciennes | Marly-le-Roi",
  570. [10] = "L'Etang-la-Ville | Saint-Nom-la-Breteche Foret de Marly"},
  571. [31] =
  572. {[7] = "Chaville-Rive Droite | Sevres Ville-d'Avray | Viroflay-Rive Droite",
  573. [8] = "Montreuil | Versailles-Rive Droite"},
  574. [32] =
  575. {[5] = "La Garenne-Colombes | Les Vallees | Nanterre-Universite",
  576. [7] = "Houilles Carrieres-sur-Seine | Sartrouville",
  577. [9] = "Maisons-Laffitte",
  578. [10] = "Poissy",
  579. [11] = "Villennes-sur-Seine",
  580. [12] = "Les Clairieres de Verneuil | Vernouillet Verneuil",
  581. [13] = "Aubergenville-Elisabethville | Les Mureaux",
  582. [14] = "Epone Mezieres",
  583. [16] = "Bonnieres | Mantes-Station | Mantes-la-Jolie | Port-Villez | Rosny-sur-Seine"},
  584. [33] =
  585. {[10] = "Acheres-Grand-Cormier | Acheres-Ville",
  586. [11] = "Cergy-Prefecture | Neuville-Universite",
  587. [12] = "Cergy-Saint-Christophe | Cergy-le-Haut"},
  588. [35] =
  589. {[4] = "Bois-Colombes",
  590. [5] = "Colombes | Le Stade",
  591. [6] = "Argenteuil | Argenteuil",
  592. [8] = "Cormeilles-en-Parisis | Val d'Argenteuil | Val d'Argenteuil",
  593. [9] = "Herblay | La Frette Montigny",
  594. [10] = "Conflans-Fin d'Oise | Conflans-Sainte-Honorine",
  595. [11] = "Andresy | Chanteloup-les-Vignes | Maurecourt",
  596. [12] = "Triel-sur-Seine | Vaux-sur-Seine",
  597. [13] = "Meulan Hadricourt | Thun-le-Paradis",
  598. [14] = "Gargenville | Juziers",
  599. [15] = "Issou Porcheville | Limay",
  600. [16] = "Breval | Menerville"},
  601. [40] =
  602. {[1] = "Gare de Lyon",
  603. [5] = "Le Vert de Maisons | Maisons-Alfort Alfortville",
  604. [6] = "Villeneuve-Prairie",
  605. [7] = "Villeneuve-Triage",
  606. [8] = "Villeneuve-Saint-Georges",
  607. [9] = "Juvisy | Vigneux-sur-Seine",
  608. [10] = "Ris-Orangis | Viry-Châtillon",
  609. [11] = "Evry Val de Seine | Grand-Bourg",
  610. [12] = "Corbeil-Essonnes | Mennecy | Moulin-Galant",
  611. [13] = "Ballancourt | Fontenay le Vicomte",
  612. [14] = "La Ferte-Alais",
  613. [16] = "Boutigny | Maisse",
  614. [17] = "Boigneville | Buno-Gironville"},
  615. [41] =
  616. {[0] = "Musee d'Orsay | Saint-Michel Notre-Dame",
  617. [1] = "Gare d'Austerlitz",
  618. [2] = "Bibliotheque-Francois Mitterrand",
  619. [4] = "Ivry-sur-Seine | Vitry-sur-Seine",
  620. [5] = "Choisy-le-Roi | Les Ardoines",
  621. [7] = "Villeneuve-le-Roi",
  622. [8] = "Ablon",
  623. [9] = "Athis-Mons"},
  624. [42] =
  625. {[9] = "Epinay-sur-Orge | Savigny-sur-Orge",
  626. [10] = "Sainte-Genevieve-des-Bois",
  627. [11] = "Saint-Michel-sur-Orge",
  628. [12] = "Bretigny-sur-Orge | Marolles-en-Hurepoix",
  629. [13] = "Bouray | Lardy",
  630. [14] = "Chamarande | Etampes | Etrechy",
  631. [16] = "Saint-Martin d'Etampes",
  632. [17] = "Guillerval"},
  633. [43] =
  634. {[9] = "Montgeron Crosne | Yerres",
  635. [10] = "Brunoy",
  636. [11] = "Boussy-Saint-Antoine | Combs-la-Ville Quincy",
  637. [12] = "Lieusaint Moissy",
  638. [13] = "Cesson | Savigny-le-Temple Nandy",
  639. [15] = "Le Mee | Melun",
  640. [16] = "Chartrettes | Fontaine-le-Port | Livry-sur-Seine",
  641. [17] =
  642. "Champagne-sur-Seine | Hericy | La Grande Paroisse | Vernou-sur-Seine | Vulaines-sur-Seine Samoreau"},
  643. [44] =
  644. {[12] = "Essonnes-Robinson | Villabe",
  645. [13] = "Coudray-Montceaux | Le Plessis-Chenet-IBM | Saint-Fargeau",
  646. [14] = "Boissise-le-Roi | Ponthierry Pringy",
  647. [15] = "Vosves",
  648. [16] = "Bois-le-Roi",
  649. [17] =
  650. "Bagneaux-sur-Loing | Bourron-Marlotte Grez | Fontainebleau-Avon | Montereau | Montigny-sur-Loing | Moret Veneux-les-Sablons | Nemours Saint-Pierre | Saint-Mammes | Souppes | Thomery"},
  651. [45] =
  652. {[10] = "Grigny-Centre",
  653. [11] = "Evry Courcouronnes | Orangis Bois de l'Epine",
  654. [12] = "Le Bras-de-Fer - Evry Genopole"},
  655. [50] =
  656. {[0] = "Haussmann-Saint-Lazare",
  657. [1] = "Gare du Nord | Magenta | Paris-Nord",
  658. [5] = "Epinay-Villetaneuse | Saint-Denis | Sevres-Rive Gauche",
  659. [6] = "La Barre-Ormesson",
  660. [7] = "Champ de Courses d'Enghien | Enghien-les-Bains",
  661. [8] = "Ermont-Eaubonne | Ermont-Halte | Gros-Noyer Saint-Prix",
  662. [9] = "Saint-Leu-La-Foret | Taverny | Vaucelles",
  663. [10] = "Bessancourt | Frepillon | Mery",
  664. [11] = "Meriel | Valmondois",
  665. [12] = "Bruyeres-sur-Oise | Champagne-sur-Oise | L'Isle-Adam Parmain | Persan Beaumont"},
  666. [51] =
  667. {[4] = "La Courneuve-Aubervilliers | La Plaine-Stade de France",
  668. [5] = "Le Bourget",
  669. [7] = "Blanc-Mesnil | Drancy",
  670. [8] = "Aulnay-sous-Bois",
  671. [9] = "Sevran Livry | Vert-Galant",
  672. [10] = "Villeparisis",
  673. [11] = "Compans | Mitry-Claye",
  674. [12] = "Dammartin Juilly Saint-Mard | Thieux Nantouillet"},
  675. [52] =
  676. {[5] = "Stade de France-Saint-Denis",
  677. [6] = "Pierrefitte Stains",
  678. [7] = "Garges-Sarcelles",
  679. [8] = "Villiers-le-Bel (Gonesse - Arnouville)",
  680. [10] = "Goussainville | Les Noues | Louvres",
  681. [11] = "La Borne-Blanche | Survilliers-Fosses"},
  682. [53] =
  683. {[6] = "Deuil Montmagny",
  684. [7] = "Groslay",
  685. [8] = "Sarcelles Saint-Brice",
  686. [9] = "Domont | Ecouen Ezanville",
  687. [10] = "Bouffemont Moisselles | Montsoult Maffliers",
  688. [11] = "Belloy-Saint-Martin | Luzarches | Seugy | Viarmes | Villaines"},
  689. [54] =
  690. {[8] = "Cernay",
  691. [9] = "Franconville Plessis-Bouchard | Montigny-Beauchamp",
  692. [10] = "Pierrelaye",
  693. [11] = "Pontoise | Saint-Ouen-l'Aumone-Liesse",
  694. [12] = "Boissy-l'Aillerie | Osny",
  695. [15] = "Chars | Montgeroult Courcelles | Santeuil Le Perchay | Us"},
  696. [55] =
  697. {[0] =
  698. "Avenue Foch | Avenue Henri-Martin | Boulainvilliers | Kennedy Radio-France | Neuilly-Porte Maillot (Palais des congres)",
  699. [1] = "Pereire-Levallois",
  700. [2] = "Porte de Clichy",
  701. [3] = "Saint-Ouen",
  702. [4] = "Les Gresillons",
  703. [5] = "Gennevilliers",
  704. [6] = "Epinay-sur-Seine",
  705. [7] = "Saint-Gratien"},
  706. [56] = {[11] = "Auvers-sur-Oise | Chaponval | Epluches | Pont Petit"},
  707. [57] = {[11] = "Presles Courcelles", [12] = "Nointel Mours"},
  708. [60] =
  709. {[1] = "Gare Montparnasse",
  710. [4] = "Clamart | Vanves Malakoff",
  711. [5] = "Bellevue | Bievres | Meudon",
  712. [6] = "Chaville-Rive Gauche | Chaville-Velizy | Viroflay-Rive Gauche",
  713. [7] = "Versailles-Chantiers",
  714. [10] = "Saint-Cyr",
  715. [11] = "Saint-Quentin-en-Yvelines - Montigny le Bretonneux | Trappes",
  716. [12] = "Coignieres | La Verriere",
  717. [13] = "Les Essarts-le-Roi",
  718. [14] = "Le Perray | Rambouillet",
  719. [15] = "Gazeran"},
  720. [61] =
  721. {[10] = "Fontenay-le-Fleury",
  722. [11] = "Villepreux Les-Clayes",
  723. [12] = "Plaisir Grignon | Plaisir Les-Clayes",
  724. [13] = "Beynes | Mareil-sur-Mauldre | Maule | Nezel Aulnay",
  725. [15] =
  726. "Garancieres La-Queue | Montfort-l'Amaury Mere | Orgerus Behoust | Tacoigneres Richebourg | Villiers Neauphle Pontchartrain",
  727. [16] = "Houdan"},
  728. [63] = {[7] = "Porchefontaine | Versailles-Rive Gauche"},
  729. [64] =
  730. {[0] = "Invalides | Pont de l'alma",
  731. [1] = "Champ de Mars-Tour Eiffel",
  732. [2] = "Javel",
  733. [3] = "Boulevard Victor - Pont du Garigliano | Issy-Val de Seine | Issy",
  734. [5] = "Meudon-Val-Fleury"},
  735. [65] =
  736. {[8] = "Jouy-en-Josas | Petit-Jouy-les-Loges",
  737. [9] = "Vauboyen",
  738. [10] = "Igny",
  739. [11] = "Massy-Palaiseau",
  740. [12] = "Longjumeau",
  741. [13] = "Chilly-Mazarin",
  742. [14] = "Gravigny-Balizy | Petit-Vaux"},
  743. [70] =
  744. {[9] = "Parc des Expositions | Sevran-Beaudottes | Villepinte",
  745. [10] = "Aeroport Charles de Gaulle"},
  746. [72] = {[7] = "Sannois"},
  747. [73] = {[11] = "Eragny Neuville | Saint-Ouen-l'Aumone (Eglise)"},
  748. [75] =
  749. {[7] = "Les Saules | Orly-Ville",
  750. [9] = "Pont de Rungis Aeroport d'Orly | Rungis-La Fraternelle",
  751. [10] = "Chemin d'Antony",
  752. [12] = "Massy-Verrieres | Arpajon"},
  753. [76] =
  754. {[12] = "Egly | La Norville Saint-Germain-les-Arpajon",
  755. [13] = "Breuillet Bruyeres-le-Châtel | Breuillet-Village | Saint-Cheron",
  756. [14] = "Sermaise",
  757. [15] = "Dourdan | Dourdan-la-Foret"},
  758. };
  759. #endif // METRO_LIST_H