betforker 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +5 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +3 -0
  5. data/Gemfile +2 -0
  6. data/Gemfile.lock +90 -0
  7. data/README.md +53 -0
  8. data/Rakefile +12 -0
  9. data/betforker.gemspec +23 -0
  10. data/bin/betforker +64 -0
  11. data/config.yml +14 -0
  12. data/lib/betforker.rb +80 -0
  13. data/lib/betforker/bookmakers/__to_change__/betfair.rb +112 -0
  14. data/lib/betforker/bookmakers/__to_change__/parimatch.rb +137 -0
  15. data/lib/betforker/bookmakers/__to_change__/sbobet.rb +90 -0
  16. data/lib/betforker/bookmakers/__to_change__/winlinebet.rb +122 -0
  17. data/lib/betforker/bookmakers/marathon.rb +121 -0
  18. data/lib/betforker/bookmakers/williamhill.rb +115 -0
  19. data/lib/betforker/comparer.rb +176 -0
  20. data/lib/betforker/config.rb +201 -0
  21. data/lib/betforker/downloader.rb +128 -0
  22. data/lib/betforker/event.rb +74 -0
  23. data/lib/betforker/fork.rb +29 -0
  24. data/lib/betforker/names_winlinebet.rb +1092 -0
  25. data/lib/betforker/parsed_page.rb +13 -0
  26. data/lib/betforker/version.rb +3 -0
  27. data/spec/betforker_spec.rb +39 -0
  28. data/spec/bookmakers/__to_change__/betfair_test.rb +40 -0
  29. data/spec/bookmakers/__to_change__/parimatch_test.rb +41 -0
  30. data/spec/bookmakers/__to_change__/sbobet_test.rb +40 -0
  31. data/spec/bookmakers/__to_change__/winlinebet_test.rb +39 -0
  32. data/spec/bookmakers/marathon_spec.rb +84 -0
  33. data/spec/bookmakers/williamhill_spec.rb +81 -0
  34. data/spec/comparer_spec.rb +162 -0
  35. data/spec/config_spec.rb +155 -0
  36. data/spec/downloader_spec.rb +88 -0
  37. data/spec/event_spec.rb +94 -0
  38. data/spec/features/without_downloads_spec.rb +138 -0
  39. data/spec/fork_spec.rb +21 -0
  40. data/spec/spec_helper.rb +199 -0
  41. data/spec/support/html/betfair/betfair1.html +3453 -0
  42. data/spec/support/html/betfair/betfair2.html +3996 -0
  43. data/spec/support/html/betfair/betfair3.html +6566 -0
  44. data/spec/support/html/betfair/betfair4.html +3373 -0
  45. data/spec/support/html/betfair/bf_live.htm +5905 -0
  46. data/spec/support/html/fake/fake.html +15759 -0
  47. data/spec/support/html/marathon/first.html +2717 -0
  48. data/spec/support/html/marathon/live_page.html +7226 -0
  49. data/spec/support/html/marathon/second.html +3500 -0
  50. data/spec/support/html/marathon/with_forks.html +2525 -0
  51. data/spec/support/html/parimatch/parimatch1.html +588 -0
  52. data/spec/support/html/parimatch/parimatch2.html +589 -0
  53. data/spec/support/html/parimatch/parimatch3.html +581 -0
  54. data/spec/support/html/parimatch/parimatch4.html +641 -0
  55. data/spec/support/html/parimatch/pm_live.html +1049 -0
  56. data/spec/support/html/sbobet/sb1.htm +8 -0
  57. data/spec/support/html/sbobet/sb2.htm +8 -0
  58. data/spec/support/html/sbobet/sb3.htm +8 -0
  59. data/spec/support/html/sbobet/sb4.htm +8 -0
  60. data/spec/support/html/sbobet/sbobet_live.htm +8 -0
  61. data/spec/support/html/williamhill/first.html +13273 -0
  62. data/spec/support/html/williamhill/live_page.html +42735 -0
  63. data/spec/support/html/williamhill/second.html +15759 -0
  64. data/spec/support/html/williamhill/with_forks.html +13473 -0
  65. data/spec/support/html/williamhill/without_forks.html +14016 -0
  66. data/spec/support/html/winlinebet/win1.htm +23797 -0
  67. data/spec/support/html/winlinebet/win2.htm +23797 -0
  68. data/spec/support/html/winlinebet/win3.htm +23797 -0
  69. data/spec/support/html/winlinebet/win4.htm +23797 -0
  70. data/spec/support/html/winlinebet/win_live.htm +23815 -0
  71. metadata +211 -0
@@ -0,0 +1,128 @@
1
+ module Betforker
2
+ module Downloader
3
+ module_function
4
+
5
+ def download_from_marathon(address)
6
+ browser= marathon_cookies prepare_mechanize
7
+ browser.get(address).body
8
+ rescue OpenSSL::SSL::SSLError
9
+ abort 'You are blocked by provider!!!'
10
+ rescue Mechanize::ResponseCodeError
11
+ abort 'The address is wrong!!!'
12
+ end
13
+
14
+ def download_from_williamhill(address)
15
+ browser= williamhill_cookies Capybara.current_session
16
+ browser.visit(address)
17
+ browser.html
18
+ rescue OpenSSL::SSL::SSLError
19
+ abort 'You are blocked by provider!!!'
20
+ rescue Capybara::Poltergeist::StatusFailError
21
+ abort "The address is wrong or download timeout too small (now is #{$config[:download_timeout]})!!!"
22
+ end
23
+
24
+ def download_live_page(bookie)
25
+ html = case bookie
26
+ when 'Marathon'
27
+ address = Betforker::MARATHON_TENNIS_LIVE
28
+ print_message_before_download address if $config[:log]
29
+ download_from_marathon address
30
+ when 'WilliamHill'
31
+ address = Betforker::WILLIAMHILL_LIVE
32
+ print_message_before_download address if $config[:log]
33
+ download_from_williamhill address
34
+ else
35
+ raise RuntimeError, 'Unknown bookie in Download.download_live_page'
36
+ end
37
+ print_message_after_download html if $config[:log]
38
+ approved_page html
39
+ end
40
+
41
+ def download_event_pages(addresses)
42
+ result = {}
43
+ addresses.each do |address|
44
+ print_message_before_download address if $config[:log]
45
+ if address.include? Betforker::MARATHON_CHANGABLE
46
+ html = download_from_marathon address
47
+ result['marathon'] = html
48
+ elsif address.include? Betforker::WILLIAMHILL_CHANGABLE
49
+ html = download_from_williamhill address
50
+ result['williamhill'] = html
51
+ else
52
+ next
53
+ end
54
+ print_message_after_download html if $config[:log]
55
+ approved_page html
56
+ end
57
+ result
58
+ end
59
+
60
+ def browsers_timeout
61
+ $config[:download_timeout]
62
+ end
63
+
64
+ def prepare_mechanize
65
+ agent = Mechanize.new
66
+ agent.read_timeout = browsers_timeout
67
+ agent
68
+ end
69
+
70
+ def prepare_phantomjs
71
+ logger = if $config[:phantomjs_logger]
72
+ STDOUT
73
+ else
74
+ File.open('/dev/null', 'a')
75
+ end
76
+ Capybara.register_driver :poltergeist do |app|
77
+ opts = { js_errors: false,
78
+ phantomjs_logger: logger,
79
+ phantomjs_options: ['--load-images=false', '--ignore-ssl-errors=true'],
80
+ timeout: browsers_timeout }
81
+ Capybara::Poltergeist::Driver.new(app, opts)
82
+ end
83
+ Capybara.default_driver = :poltergeist
84
+ Capybara.current_session
85
+ end
86
+
87
+ def marathon_cookies(crawler)
88
+ Betforker::Bookmakers::Marathon.set_cookies.each do |cookie|
89
+ crawler.cookie_jar << Mechanize::Cookie.new(cookie)
90
+ end
91
+ crawler
92
+ end
93
+
94
+ def williamhill_cookies(crawler)
95
+ Betforker::Bookmakers::WilliamHill.set_cookies.each do |cookie|
96
+ crawler.driver.set_cookie cookie[:name], cookie[:value], cookie[:attr]
97
+ end
98
+ crawler
99
+ end
100
+
101
+ def approved_page(html)
102
+ blocked = is_blocked? html
103
+ if blocked
104
+ raise OpenSSL::SSL::SSLError
105
+ else
106
+ html
107
+ end
108
+ end
109
+
110
+ def is_blocked?(html)
111
+ words_if_blocked = ['minjust.ru', 'eais', 'gov.ru']
112
+ words_if_blocked.each do |word|
113
+ return true if html.include? word
114
+ end
115
+ false
116
+ end
117
+
118
+ def print_message_before_download(address)
119
+ $beginning = Time.now
120
+ print "\nProcessing #{address}..."
121
+ end
122
+
123
+ def print_message_after_download(page)
124
+ time = (Time.now - $beginning).round 2
125
+ puts "ready in #{time} seconds (size: #{page.size})"
126
+ end
127
+ end
128
+ end
@@ -0,0 +1,74 @@
1
+ module Betforker
2
+ class Event
3
+ attr_reader :addresses, :forks
4
+ attr_accessor :webpages, :parsed_webpages
5
+
6
+ def initialize(addresses, sport = 'tennis')
7
+ @sport = sport
8
+ @addresses = addresses || []
9
+ @webpages = {}
10
+ @parsed_webpages = []
11
+ @forks = []
12
+ end
13
+
14
+ def find_forks
15
+ get_webpages
16
+ parse_webpages all_bookmakers
17
+ print_parsed_webpages if $config[:log]
18
+ forking
19
+ @forks.flatten!
20
+ print_forks if $config[:log]
21
+ @forks
22
+ end
23
+
24
+ def get_webpages
25
+ @webpages = Betforker::Downloader.download_event_pages(addresses)
26
+ end
27
+
28
+ def parse_webpages(bookmakers)
29
+ bookmakers.each do |bookie|
30
+ b = eval bookie
31
+ b.parse_event(self, @sport)
32
+ end
33
+ end
34
+
35
+ def forking
36
+ while @parsed_webpages.size > 1
37
+ first = @parsed_webpages.shift
38
+ @parsed_webpages.each do |second|
39
+ @forks << Betforker::Comparer.compare(first, second)
40
+ end
41
+ end
42
+ end
43
+
44
+ def all_bookmakers
45
+ $config[:bookmakers]
46
+ end
47
+
48
+ def print_message_about_event(total_count, number)
49
+ puts "\n\n#{'*' * 20} work with #{number}/#{total_count} #{'*' * 20}"
50
+ end
51
+
52
+ def print_parsed_webpages
53
+ puts "\n#{'-' * 20} Parsed event"
54
+ @parsed_webpages.each do |parsed|
55
+ puts <<-EOF
56
+ #{parsed.bookie}, score: #{parsed.score}
57
+ HomePlayer: #{parsed.home_player}
58
+ AwayPlayer: #{parsed.away_player}
59
+
60
+ EOF
61
+ end
62
+ end
63
+
64
+ def print_forks
65
+ if @forks.empty?
66
+ puts "#{'-' * 20} No forks"
67
+ else
68
+ puts "#{'!' * 20} Forks #{'!' * 20}"
69
+ @forks.each { |f| puts f.show }
70
+ puts '!' * 51
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,29 @@
1
+ module Betforker
2
+ class Fork
3
+ attr_reader :bookmakers, :players, :score, :what, :percent
4
+
5
+ def initialize(bookmakers: '', players: '', score: '', what: '', percent: '')
6
+ @bookmakers = bookmakers
7
+ @players = players
8
+ @score = score
9
+ @what = what
10
+ @percent = percent
11
+ end
12
+
13
+ def show
14
+ <<-EOF
15
+ #{@bookmakers}
16
+ #{@players}
17
+ Score: #{@score}
18
+ Market: #{@what}
19
+ Percent: #{@percent}
20
+
21
+ EOF
22
+ end
23
+
24
+ def desktop_show
25
+ `notify-send -t #{$config[:time_of_notification] * 1000} "#{show}"`
26
+ `paplay /usr/share/sounds/freedesktop/stereo/complete.oga` if $config[:sound_notification]
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,1092 @@
1
+ # -*- coding: utf-8 -*-
2
+ module Winline
3
+
4
+ NAMES = {
5
+ "Эррани" => "Errani",
6
+ "Чжан" => "",
7
+ "Хеллер" => "Heller",
8
+ "Чаплин" => "Chaplin",
9
+ "Кист" => "Kist",
10
+ "Ерун" => "Erunk",
11
+ "Вайтхауз" => "Whitehouse",
12
+ "Дутра" => "Dutra",
13
+ "Какао" => "Cacao",
14
+ "Дмитриев" => "Dmitriev",
15
+ "Броди" => "Broady",
16
+ "Плотный" => "Plotniy",
17
+ "Мукунд" => "Mukund",
18
+ "Прадхан" => "Pradhan",
19
+ "Дате" => "Date",
20
+ "Крумм" => "Date",
21
+ "Синякова" => "Siniakova",
22
+ "Лиу" => "Liu",
23
+ "Ваннасюк" => "",
24
+ "Альбие" => "",
25
+ "Ники" => "Niki",
26
+ "Чунг" => "Chung",
27
+ "Лыкина" => "Lykina",
28
+ "Уэбли-Смит" => "Webley-Smith",
29
+ "Хан" => "Han",
30
+ "Викмайер" => "Wickmayer",
31
+ "Пуиг" => "Puig",
32
+ "Бренгл" => "",
33
+ "Кербер" => "Kerber",
34
+ "Ванг" => "Wang",
35
+ "Ксю" => "",
36
+ "Марти" => "Marti",
37
+ "Мартос-Горнес" => "Martos",
38
+ "Аренас-Гуалда" => "Arenas-Gualda",
39
+ "Бортолотти" => "Bortolotti",
40
+ "Адамеску" => "Adamescu",
41
+ "Эстабле" => "",
42
+ "Лысакова" => "",
43
+ "Шиникова" => "Shinikova",
44
+ "Даниэль" => "",
45
+ "Вейссборн" => "Weissborn",
46
+ "Уиборн" => "",
47
+ "Татишвили" => "",
48
+ "Миллман" => "Millman",
49
+ "Кольшрайбер" => "Kohlschreiber",
50
+ "Браун" => "Brown",
51
+ "Рам" => "Ram",
52
+ "Вердаско" => "Verdasco",
53
+ "Дарсис" => "Darcis",
54
+ "Лоренци" => "Lorenzi",
55
+ "Герберт" => "Herbert",
56
+ "Стаховский" => "Stakhovsky",
57
+ "Дель" => "Delbonis",
58
+ "Маю" => "Mahut",
59
+ "Клижан" => "Klizan",
60
+ "Поспишил" => "Pospisil",
61
+ "Роже" => "Roger-Vasselin",
62
+ "Симон" => "Simon",
63
+ "Маннарино" => "Mannarino",
64
+ "Кубот" => "Kubot",
65
+ "Бедене" => "Bedene",
66
+ "Клаасен" => "Klaasen",
67
+ "Буторак" => "Butorak",
68
+ "Марреро" => "Marrero",
69
+ "Маррей" => "Marray",
70
+ "Мюллер" => "Muller",
71
+ "Херберт" => "Herbert",
72
+ "Гуччионе" => "Guccione",
73
+ "Беранкис" => "Berankis",
74
+ "Пуйе" => "Pouille",
75
+ "Граноллерс" => "Granollers",
76
+ "Коккинакис" => "",
77
+ "Габашвили" => "Gabashvili",
78
+ "Шила" => "",
79
+ "Албот" => "Albot",
80
+ "Соуса" => "Sousa",
81
+ "Рублев" => "Rublev",
82
+ "Болелли" => "Bolelli",
83
+ "Бердых" => "Berdych",
84
+ "Баутиста-Агут" => "Bautista",
85
+ "Истомин" => "Istomin",
86
+ "Кукушкин" => "Kukushkin",
87
+ "Голубев" => "Golubev",
88
+ "Беккер" => "Becker",
89
+ "Тим" => "Thiem",
90
+ "Хайдер-Маурер" => "Haider-Maurer",
91
+ "Робредо" => "Robredo",
92
+ "Багдатис" => "Baghdatis",
93
+ "Раонич" => "Raonic",
94
+ "Освальд" => "Oswald",
95
+ "Бетау" => "",
96
+ "Донской" => "Donskoy",
97
+ "Эрлич" => "Erlich",
98
+ "Джунаид" => "Junaid",
99
+ "Ноул" => "Knowle",
100
+ "Пейа" => "Peya",
101
+ "Кузнецова" => "Kuznetsova",
102
+ "Радванска" => "Radwanska",
103
+ "Аллертова" => "Allertova",
104
+ "Йовановски" => "Jovanovski",
105
+ "Халеп" => "Halep",
106
+ "Бабош" => "",
107
+ "Рае" => "",
108
+ "Глушко" => "",
109
+ "Петерсон" => "",
110
+ "Дате-Крумм" => "Date",
111
+ "Стефенс" => "Stephens",
112
+ "Саснович" => "Sasnovich",
113
+ "Рыбарикова" => "Rybarikova",
114
+ "Бегу" => "Begu",
115
+ "Херцог" => "Hercog",
116
+ "Лепченко" => "Lepchenko",
117
+ "Куличкова" => "Kulichkova",
118
+ "Бартел" => "Barthel",
119
+ "Шмидлова" => "Schmiedlova",
120
+ "Дзаламидзе" => "Dzalamidze",
121
+ "Монова" => "Monova",
122
+ "Бертенс" => "Bertens",
123
+ "Возняцки" => "Wozniacki",
124
+ "Конюх" => "",
125
+ "Нара" => "Nara",
126
+ "Плискова" => "Pliskova",
127
+ "Свитолина" => "Svitolina",
128
+ "Джорджи" => "Giorgi",
129
+ "Иванович" => "Ivanovic",
130
+ "Суарез" => "Suarez",
131
+ "Цибулкова" => "Cibulkova",
132
+ "Савчук" => "Savchuk",
133
+ "Ху" => "Xu",
134
+ "Чан" => "Chan",
135
+ "Дои" => "Doi",
136
+ "Бондаренко" => "Bondarenko",
137
+ "Чанг" => "Chuang",
138
+ "Бамбри" => "Bhambri",
139
+ "Гойовчик" => "Gojowczyk",
140
+ "Ито" => "Ito",
141
+ "Трунгеллити" => "Trungelliti",
142
+ "Вонг" => "Wang",
143
+ "Хо" => "",
144
+ "Гонг" => "Gong",
145
+ "Чен" => "Chen",
146
+ "Фаббиано" => "Fabbiano",
147
+ "Эйссерик" => "",
148
+ "Бхамбри" => "Bhambri",
149
+ "Барриентос" => "Barrientos",
150
+ "Ебден" => "Ebden",
151
+ "Ративатана" => "Ratiwatana",
152
+ "Хсие" => "Hsieh",
153
+ "Раманатхан" => "Ramanathan",
154
+ "Мазур" => "Masur",
155
+ "Василевский" => "Vasilevski",
156
+ "Джазири" => "Jaziri",
157
+ "Конечны" => "Konecny",
158
+ "Метревелли" => "Metreveli",
159
+ "Григелис" => "Grigelis",
160
+ "Лацко" => "Lacko",
161
+ "Илхан" => "Ilhan",
162
+ "Бьелица" => "Bjelica",
163
+ "Копил" => "Copil",
164
+ "Пекотич" => "Pecotic",
165
+ "Башич" => "Basic",
166
+ "Дустов" => "Dustov",
167
+ "Воланте" => "Volante",
168
+ "Мертенс" => "Mertens",
169
+ "Бехар" => "Behar",
170
+ "Жазири" => "Jaziri",
171
+ "Карацев" => "Karatsev",
172
+ "Минени" => "Myneni",
173
+ "Алтуна" => "Altuna",
174
+ "Ивашка" => "Ivashka",
175
+ "Шварцман" => "Schwartzman",
176
+ "Перейра" => "Pereira",
177
+ "Феррейра" => "Ferreira",
178
+ "Элиаш" => "Elias",
179
+ "Пелла" => "Pella",
180
+ "Зорманн" => "Zormann",
181
+ "Гем" => "Ghem",
182
+ "Гарин" => "Garin",
183
+ "Багнис" => "Bagnis",
184
+ "Соуза" => "Souza",
185
+ "Лондеро" => "Londero",
186
+ "Аргуелло" => "Arguello",
187
+ "Клезар" => "Clezar",
188
+ "Северино" => "Severino",
189
+ "Кикер" => "Kicker",
190
+ "Мольтени" => "Molteni",
191
+ "Линделл" => "Lindell",
192
+ "Элиас" => "Elias",
193
+ "Деллиен" => "Dellien",
194
+ "Лопес" => "Lopez",
195
+ "Лааксонен" => "Laaksonen",
196
+ "Рейд" => "Reid",
197
+ "Стетхем" => "Statham",
198
+ "Смычек" => "Smyczek",
199
+ "Милтон" => "Milton",
200
+ "Торре" => "Torre",
201
+ "Паз" => "Paz",
202
+ "Новиков" => "Novikov",
203
+ "Аревало-Гонсалес" => "Arevalo",
204
+ "Бьюкенен" => "Buchanan",
205
+ "Смит" => "Smith",
206
+ "Харрисон" => "Harrison",
207
+ "Халус" => "Halys",
208
+ "Бега" => "Bega",
209
+ "Фратанжело" => "Fratangelo",
210
+ "Клейн" => "Klein",
211
+ "Кузнецов" => "Kuznetsov",
212
+ "Боссель" => "Bossel",
213
+ "Кобелт" => "Kobelt",
214
+ "Крюгер" => "Kruger",
215
+ "Бангура" => "Bangoura",
216
+ "Бестер" => "Bester",
217
+ "Буханан" => "Buchanan",
218
+ "О`Брайн" => "O'Brien",
219
+ "Роелофсе" => "Roelofse",
220
+ "Халис" => "Halys",
221
+ "Риба" => "Riba",
222
+ "Дима" => "Dima",
223
+ "Ковалик" => "Kovalik",
224
+ "Лункану" => "Luncanu",
225
+ "Шазаль" => "",
226
+ "Эмери" => "Hemery",
227
+ "Магер" => "Mager",
228
+ "Канина" => "",
229
+ "Кузманов" => "Kuzmanov",
230
+ "Хоранский" => "Horansky",
231
+ "Унгур" => "Ungur",
232
+ "Ламасине" => "Lamasine",
233
+ "Бозоляк" => "Bozoljac",
234
+ "Лайович" => "Lajovic",
235
+ "Джиакалоне" => "Giacalone",
236
+ "Насо" => "Naso",
237
+ "Кривой" => "Crivoi",
238
+ "Корня" => "",
239
+ "Хазал" => "",
240
+ "Ханеску" => "Hanescu",
241
+ "Маркан" => "Marcan",
242
+ "Вучич" => "Vucic",
243
+ "Зекич" => "Zekic",
244
+ "Диез" => "Diez",
245
+ "Серретани" => "",
246
+ "Скугор" => "Skugor",
247
+ "Джустино" => "Giustino",
248
+ "Дубривный" => "Dubrivnyy",
249
+ "Павласек" => "Pavlasek",
250
+ "Себальос" => "Ceballos",
251
+ "Лойда" => "Lojda",
252
+ "Роберт" => "Robert",
253
+ "Смирнов" => "Smirnov",
254
+ "Мельцер" => "Melzer",
255
+ "Хаасе" => "Haase",
256
+ "Линзер" => "Linzer",
257
+ "Монтаньес" => "Montanes",
258
+ "Молкан" => "Molcan",
259
+ "Кулхоф" => "Koolhof",
260
+ "Беллотти" => "Bellotti",
261
+ "Блашко" => "Blasko",
262
+ "Мотти" => "Motti",
263
+ "Беднарек" => "Bednarek",
264
+ "Сервантес" => "Cervantes",
265
+ "Франзен" => "Fransen",
266
+ "Майхржак" => "Majchrzak",
267
+ "Гайо" => "Gaio",
268
+ "Мидлер" => "Miedler",
269
+ "Рааб" => "Raab",
270
+ "Маццелла" => "",
271
+ "Ди" => "",
272
+ "Маккари" => "Maccari",
273
+ "Вавассори" => "Vavassori",
274
+ "Вавринка" => "Wawrinka",
275
+ "Галович" => "Galovic",
276
+ "Фаго" => "Fago",
277
+ "Тревизан" => "Trevisan",
278
+ "Травалья" => "Travaglia",
279
+ "Орнаго" => "Ornago",
280
+ "Маден" => "Maden",
281
+ "Пикко" => "Picco",
282
+ "Кампо" => "Campo",
283
+ "Сонего" => "Sonego",
284
+ "Табернер" => "Taberner",
285
+ "Ойеда-Лара" => "Ojeda",
286
+ "Оухаб" => "Ouahab",
287
+ "Арузо-Мартинез" => "Arauzo-Martinez",
288
+ "Гомес" => "Gomes",
289
+ "Токуда" => "Tokuda",
290
+ "Крайчек" => "Krajicek",
291
+ "Дюваль" => "Duval",
292
+ "Эйкери" => "Eikeri",
293
+ "Броади" => "Broady",
294
+ "Джонс" => "Jones",
295
+ "Стивенсон" => "Stevenson",
296
+ "Ворискей" => "Whoriskey",
297
+ "Маранд" => "Marand",
298
+ "Санчез" => "Sanchez",
299
+ "Гонсалвеш" => "Goncalves",
300
+ "Местах" => "Mestach",
301
+ "Кроуфорд" => "Crawford",
302
+ "Гиббс" => "Gibbs",
303
+ "Садикович" => "Sadikovic",
304
+ "Глатч" => "Glatch",
305
+ "Албанесе" => "Albanese",
306
+ "Кинг" => "King",
307
+ "Либенс" => "Liebens",
308
+ "Босерап" => "Boserup",
309
+ "Якшич" => "Jaksic",
310
+ "Эль" => "El",
311
+ "Рейкс" => "Reix",
312
+ "Сойлу" => "Soylu",
313
+ "Перрен" => "Perrin",
314
+ "Мельникова" => "Melnikova",
315
+ "Найденова" => "Naydenova",
316
+ "Родригез" => "Rodriguez",
317
+ "Бонавентюр" => "Bonaventure",
318
+ "Сантамария" => "",
319
+ "Шолль" => "",
320
+ "Морозова" => "",
321
+ "Како" => "",
322
+ "Даниэлл" => "Daniell",
323
+ "Лапентти" => "Lapentti",
324
+ "Луз" => "Luz",
325
+ "Франсен" => "Fransen",
326
+ "Недовесов" => "Nedovyesov",
327
+ "Матье" => "Mathieu",
328
+ "Зверев" => "Zverev",
329
+ "Павич" => "Pavic",
330
+ "Марах" => "Marach",
331
+ "Гулбис" => "Gulbis",
332
+ "Пэр" => "Paire",
333
+ "Янович" => "Janowicz",
334
+ "Южный" => "Youzhny",
335
+ "Химено-Травер" => "Gimeno-Traver",
336
+ "Хингис" => "Hingis",
337
+ "Мирза" => "Mirza",
338
+ "Фирстенберг" => "",
339
+ "Кновле" => "Knowle",
340
+ "Бурый" => "",
341
+ "Никулеску" => "Niculescu",
342
+ "Путинцева" => "Putintseva",
343
+ "Дуан" => "",
344
+ "Крунич" => "Krunic",
345
+ "Женг" => "Zheng",
346
+ "Хантухова" => "",
347
+ "Мартич" => "Martic",
348
+ "Контавейт" => "",
349
+ "Жабер" => "",
350
+ "Веснина" => "",
351
+ "Янкович" => "Jankovic",
352
+ "Скьявоне" => "",
353
+ "Линетте" => "",
354
+ "Петкович" => "",
355
+ "Йе" => "",
356
+ "Ю" => "You",
357
+ "Жу" => "Zhu",
358
+ "Лианг" => "Liang",
359
+ "Фредсам" => "Friedsam",
360
+ "Моргина" => "",
361
+ "Жанг" => "Zhang",
362
+ "Уотсон" => "",
363
+ "Фалькони" => "",
364
+ "Бадоса" => "",
365
+ "Шведова" => "",
366
+ "Макхейл" => "",
367
+ "Меличар" => "Melichar",
368
+ "Ларссон" => "Larsson",
369
+ "Дулгеру" => "",
370
+ "Томлянович" => "",
371
+ "Козлова" => "Kozlova",
372
+ "Дуке" => "",
373
+ "Арруабаррена" => "Arruabarrena",
374
+ "Лертпитаксинчай" => "",
375
+ "Аойяма" => "Aoyama",
376
+ "Чои" => "",
377
+ "Фалкони" => "",
378
+ "Ватсон" => "",
379
+ "Миту" => "",
380
+ "Ванкова" => "Vankova",
381
+ "Риске" => "",
382
+ "Стосур" => "",
383
+ "Младенович" => "",
384
+ "Дияс" => "",
385
+ "Фан" => "",
386
+ "Бенчич" => "Bencic",
387
+ "Мугуруза" => "Muguruza",
388
+ "Захлавова-Стрикова" => "Strycova",
389
+ "Грёнефельд" => "",
390
+ "Егучи" => "Eguchi",
391
+ "Гаврилова" => "",
392
+ "Дабровски" => "Dabrowski",
393
+ "Веинтрауб" => "",
394
+ "Сэвилл" => "",
395
+ "Десейн" => "Desein",
396
+ "Буршье" => "",
397
+ "Йи" => "Yi",
398
+ "Янг" => "Yang",
399
+ "Девварман" => "Devvarman",
400
+ "Цопп" => "Zopp",
401
+ "Сузуки" => "Suzuki",
402
+ "Росол" => "Rosol",
403
+ "Хунг" => "",
404
+ "Эбден" => "Ebden",
405
+ "Нгуйен" => "Nguyen",
406
+ "Сато" => "Sato",
407
+ "Хачанов" => "Khachanov",
408
+ "Баррере" => "Barrere",
409
+ "Имер" => "Ymer",
410
+ "Каратцев" => "Karatsev",
411
+ "Селикбилек" => "Celikbilek",
412
+ "Сеткич" => "Setkic",
413
+ "Чудинелли" => "Chiudinelli",
414
+ "Эргуден" => "Erguden",
415
+ "Попко" => "Popko",
416
+ "Кретчмер" => "Kretschmer",
417
+ "Григориу" => "Grigoriu",
418
+ "Андреоцци" => "Andreozzi",
419
+ "Лейт" => "Leite",
420
+ "Монтеиро" => "Monteiro",
421
+ "Неиш" => "",
422
+ "Лодис," => "Lodis",
423
+ "Зампиери" => "Zampieri",
424
+ "Деллейн" => "Dellien",
425
+ "Подлипник-Кастилло" => "Podlipnik-Castillo",
426
+ "Люз" => "",
427
+ "Ромболи" => "Romboli",
428
+ "Лапенти" => "Lapentti",
429
+ "Велотти" => "Velotti",
430
+ "Молтени" => "Molteni",
431
+ "О'Брайен" => "O'Brien",
432
+ "Квигли" => "",
433
+ "Гаранганга" => "Garanganga",
434
+ "Козлов" => "Kozlov",
435
+ "Рола" => "Rola",
436
+ "Неволо" => "Nevolo",
437
+ "Полански" => "Polansky",
438
+ "Каллахан" => "Callahan",
439
+ "Дэвидсон" => "Davidson",
440
+ "Кокс" => "Cox",
441
+ "Кагнина" => "",
442
+ "Дембек" => "Dembek",
443
+ "Мертл" => "Mertl",
444
+ "Бркич" => "Brkic",
445
+ "Джакалоне" => "",
446
+ "Жигунон" => "Gigounon",
447
+ "Камке" => "Kamke",
448
+ "Джаннесси" => "Giannessi",
449
+ "Мертль" => "Mertl",
450
+ "Крстин" => "Krstin",
451
+ "Табатруонг" => "Tabatruong",
452
+ "Корне" => "",
453
+ "Сервантес-Ксуегун" => "Cervantes",
454
+ "Михаличка" => "Michalicka",
455
+ "Мачадо" => "Machado",
456
+ "Сатрал" => "Satral",
457
+ "Игнатик" => "Ignatik",
458
+ "Фучович" => "Fucsovics",
459
+ "Годри" => "Godry",
460
+ "Урбина" => "",
461
+ "Озген" => "",
462
+ "Саккари" => "Sakkary",
463
+ "Якупович" => "Jakupovic",
464
+ "Спенсер" => "Spencer",
465
+ "Норен" => "Noren",
466
+ "Тавризи" => "Tabrizi",
467
+ "Эргенеман" => "Ergeneman",
468
+ "Ялкинкале" => "Yalcinkale",
469
+ "Крепалди" => "Crepaldi",
470
+ "Гаврон" => "Gawron",
471
+ "Гаио" => "",
472
+ "Амеал" => "Ameal",
473
+ "Пини" => "Pini",
474
+ "Боузкова" => "",
475
+ "Врлич" => "",
476
+ "Алварез" => "",
477
+ "Сувриян" => "",
478
+ "Севастова" => "",
479
+ "Парментье" => "",
480
+ "Жоржес" => "",
481
+ "Остапенко" => "",
482
+ "Каратанчева" => "",
483
+ "Кудрявцева" => "Kudryavtseva",
484
+ "Чирико" => "",
485
+ "Фишман" => "",
486
+ "Пашек" => "Paszek",
487
+ "Градецка" => "Hradecka",
488
+ "Крейчикова" => "",
489
+ "Петрик" => "",
490
+ "Киченок" => "",
491
+ "Викери" => "Vickery",
492
+ "Осака" => "",
493
+ "Озаки" => "",
494
+ "Дэвис" => "Davis",
495
+ "Хибино" => "",
496
+ "Кувата" => "",
497
+ "Гайдосова" => "",
498
+ "Панова" => "Panova",
499
+ "Джонатан" => "",
500
+ "Шнайдер" => "Schneider",
501
+ "Мадж" => "",
502
+ "Бай" => "Bai",
503
+ "Нинг" => "Ning",
504
+ "Томпсон" => "Thompson",
505
+ "Медведев" => "Medvedev",
506
+ "Гедин" => "Ghedin",
507
+ "Недунчежиян" => "Nedunchezhiyan",
508
+ "Ванни" => "Vanni",
509
+ "Хуанг" => "Huang",
510
+ "Сугита" => "Sugita",
511
+ "Проподжиа" => "Propoggia",
512
+ "Баладжи" => "Balaji",
513
+ "Мория" => "Moriya",
514
+ "Татлот" => "Tatlot",
515
+ "Саркиссян" => "Sarkissian",
516
+ "Соэда" => "Soeda",
517
+ "Тирни" => "Tearney",
518
+ "Панфил" => "Panfil",
519
+ "Тейшейра" => "Teixeira",
520
+ "Абоян" => "",
521
+ "Казанова" => "",
522
+ "Эстевес" => "Estevez",
523
+ "Морено" => "Moreno",
524
+ "Бакелла" => "",
525
+ "Диаз" => "Diaz",
526
+ "Мантилла" => "Mantilla",
527
+ "Мендоса" => "Mendoza",
528
+ "Диас-Фигероа" => "Diaz-Figueroa",
529
+ "Миеле" => "Miele",
530
+ "Турини" => "Turini",
531
+ "Беретта" => "Beretta",
532
+ "Брандао" => "Brandao",
533
+ "Кассимиро" => "Cassimiro",
534
+ "Макигучи" => "Makiguchi",
535
+ "Буш" => "Busch",
536
+ "Табило" => "Tabilo",
537
+ "Учида" => "Uchida",
538
+ "Сармиенто" => "Sarmiento",
539
+ "Вонгтенчай" => "",
540
+ "Лайсне" => "",
541
+ "Йу" => "",
542
+ "Роже-Васселин" => "Roger-Vasselin",
543
+ "Липски" => "Lipsky",
544
+ "Куреши" => "Qureshi",
545
+ "Шейдвейлер" => "Scheidweiler",
546
+ "Шамасдин" => "Shamasdin",
547
+ "Елгин" => "Elgin",
548
+ "Кравчук" => "Kravchuk",
549
+ "Флеминг" => "Fleming",
550
+ "Монрое" => "Monroe",
551
+ "Пенг" => "Peng",
552
+ "Гонзалес" => "Gonzalez",
553
+ "Молчанов" => "Molchanov",
554
+ "Нойкрист" => "Neuchrist",
555
+ "Шаран" => "Sharan",
556
+ "Раманатан" => "Ramanathan",
557
+ "Зайцев" => "Zaitcev",
558
+ "Сильестрем" => "Siljestrom",
559
+ "Подлипник-Кастильо" => "Podlipnik-Castillo",
560
+ "Силва" => "Silva",
561
+ "Дишингер" => "Dischinger",
562
+ "Статхам" => "Statham",
563
+ "Стурдза" => "Sturdza",
564
+ "Санчич" => "Sancic",
565
+ "Сибергер" => "Seeberger",
566
+ "Мидделкуп" => "Middelkoop",
567
+ "Бруннер" => "Brunner",
568
+ "Молчан" => "Molcan",
569
+ "Павал" => "Paval",
570
+ "Вервурт" => "Vervoort",
571
+ "Волш" => "Walsh",
572
+ "Демолинер" => "Demoliner",
573
+ "Гинер" => "Giner",
574
+ "Венус" => "Venus",
575
+ "Гонзалез" => "Gonzalez",
576
+ "Зеленай" => "Zelenay",
577
+ "Клепач" => "Klepac",
578
+ "Плипуч" => "",
579
+ "Ниномиа" => "Ninomiya",
580
+ "Вандевеге" => "",
581
+ "Захлавова-Стрицова" => "",
582
+ "Юрак" => "",
583
+ "Намигата" => "Namigata",
584
+ "Росольска" => "",
585
+ "Вейнтрауб" => "",
586
+ "Сачко" => "Satschko",
587
+ "Райс" => "",
588
+ "Галдос" => "Galdos",
589
+ "Сантанна" => "Santanna",
590
+ "Сакамото" => "Sakamoto",
591
+ "Полланен" => "Pollanen",
592
+ "Гоош" => "Gooch",
593
+ "Гигоунон" => "Gigounon",
594
+ "Жекан" => "",
595
+ "Синикропи" => "Sinicropi",
596
+ "Карпен" => "Carpen",
597
+ "Шалаба" => "Salaba",
598
+ "Менендес-Масейрас" => "Menendez-Maceiras",
599
+ "Капас" => "Kapas",
600
+ "Хаазе" => "Haase",
601
+ "Джианнесси" => "Giannessi",
602
+ "Зелински" => "Zelinski",
603
+ "Веккья" => "Vecchia",
604
+ "Лучич-Барони" => "",
605
+ "Санчес" => "Sanches",
606
+ "Месташ" => "",
607
+ "Рече" => "",
608
+ "Эгеа" => "Egea",
609
+ "Суарес" => "Suarez",
610
+ "Супрунюк" => "Supruniuk",
611
+ "Идальго" => "Hidalgo",
612
+ "Оливьери" => "Olivieri",
613
+ "Мареска" => "Maresca",
614
+ "Фейтт" => "Feitt",
615
+ "Варнье" => "",
616
+ "Цутия" => "",
617
+ "Росас" => "Rosas",
618
+ "Панта" => "Panta",
619
+ "Мантилья" => "Mantilla",
620
+ "Портманн" => "Portmann",
621
+ "Матуте" => "",
622
+ "Коенигсфест" => "",
623
+ "Бузиан" => "",
624
+ "Хердзелаш" => "",
625
+ "Нагал" => "Nagal",
626
+ "Прашант" => "Prashanth",
627
+ "Джаяпракаш" => "Jayaprakash",
628
+ "Артюнедо" => "Artunedo",
629
+ "Гомез-Эррера" => "Gomez-Herrera",
630
+ "Вега-Эрнандес" => "Vega",
631
+ "Кухн" => "Kuhn",
632
+ "Аршинкова" => "Arshinkova",
633
+ "Йорданова" => "",
634
+ "Роджер" => "",
635
+ "Каррутерс" => "",
636
+ "Важдова" => "",
637
+ "Цонга" => "Tsonga",
638
+ "Олару" => "Olaru",
639
+ "Мугуруса" => "Muguruza",
640
+ "Фрост" => "Frost",
641
+ "Сулуоглу" => "Suluoglu",
642
+ "Дачек" => "",
643
+ "Пулгар-Гарсия" => "Pulgar-Garcia",
644
+ "Гарсия-Лопес" => "Garcia-Lopez",
645
+ "Карреньо" => "Carreno-Busta",
646
+ "Понвитх" => "Ponwith",
647
+ "Эскобедо" => "Escobedo",
648
+ "Шайн" => "",
649
+ "Редлики" => "Redlicki",
650
+ "Агар" => "Agar",
651
+ "Макдональд" => "McDonald",
652
+ "Кечманович" => "Kecmanovic",
653
+ "Хач-Вердуго" => "Hach",
654
+ "Альтамирано" => "Altamirano",
655
+ "Вукич" => "Vukic",
656
+ "Баугман" => "Baughman",
657
+ "Гото" => "Goto",
658
+ "Моэнтер" => "Moenter",
659
+ "Эчаргуи" => "Echargui",
660
+ "Обон" => "Aubone",
661
+ "Гарза" => "Garza",
662
+ "Хошфальт" => "Hoshfalt",
663
+ "Фанзелов" => "Fanselow",
664
+ "Джонсон" => "Johnson",
665
+ "Шольтц" => "Scholtz",
666
+ "Ючи" => "Yuichi",
667
+ "Фаррен" => "Farren",
668
+ "Оре" => "Ore",
669
+ "Прамминг" => "Pramming",
670
+ "Каза" => "Kaza",
671
+ "Мартин" => "Martin",
672
+ "Хуан" => "Huang",
673
+ "Са" => "Sa",
674
+ "Лодис" => "Lodis",
675
+ "Тамчаиват" => "Thamchaiwat",
676
+ "Буаям" => "Buayam",
677
+ "Лукнарова" => "Luknarova",
678
+ "Симондс" => "Simmonds",
679
+ "Аякава" => "Ayukawa",
680
+ "Танака" => "Tanaka",
681
+ "Махоркина" => "Makhorkina",
682
+ "Златанова" => "Zlatanova",
683
+ "Киммелманн" => "Kimmelmann",
684
+ "Гарсия" => "Garcia",
685
+ "Янс" => "Jans-Ignatic",
686
+ "Родионова" => "Rodionova",
687
+ "Ван" => "Van",
688
+ "Хозуми" => "Hozumi",
689
+ "Като" => "Kato",
690
+ "Веселы" => "Vesely",
691
+ "Абагибун" => "Agabigun",
692
+ "Целикбилек" => "Celikbilek",
693
+ "Саез" => "Saez",
694
+ "Болл" => "Ball",
695
+ "Жирон" => "Giron",
696
+ "Мёффелс" => "Meffels",
697
+ "Граннолерс-Пуйоль" => "Granollers-Pujol",
698
+ "Запата-Мираллес" => "Zapata",
699
+ "Лао" => "Lao",
700
+ "Андерсон" => "Anderson",
701
+ "Закариас" => "Zacarias",
702
+ "Стефкова" => "Stefkova",
703
+ "Феррандо" => "Ferrando",
704
+ "Иригоен" => "Irigoyen",
705
+ "Опранди" => "Oprandi",
706
+ "Гонсалес" => "Gonzales",
707
+ "Камило" => "Camilo",
708
+ "Лизаритурри" => "Lizariturry",
709
+ "Мамметгулев" => "Mammetgulyyev",
710
+ "Патромбон" => "Patrombon",
711
+ "Де" => "De",
712
+ "Жухажова" => "Juhaszova",
713
+ "Шломо" => "Shlomo",
714
+ "Кестельбум" => "Kestelboim",
715
+ "Естеве" => "Esteve",
716
+ "Мартинес" => "Martinez",
717
+ "Реинвеин" => "Reinwein",
718
+ "Рубин" => "Rubin",
719
+ "Хильцик" => "Hiltzik",
720
+ "Гласспул" => "Glasspool",
721
+ "Уорд-Хибберт" => "Ward",
722
+ "Беаус-Баркин" => "Beaus-Barquin",
723
+ "Гранольерс-Пуйоль" => "Granollers-Pujol",
724
+ "Зукас" => "Zukas",
725
+ "Деллаква" => "Dellacqua",
726
+ "Лю" => "Liu",
727
+ "Хлавачкова" => "Hlavackova",
728
+ "Ковинич" => "Kovinic",
729
+ "Гергес" => "Goerges",
730
+ "Конта" => "Konta",
731
+ "Говорцова" => "Govortsova",
732
+ "Юбелхор" => "Uebelhoer",
733
+ "Бара" => "Bara",
734
+ "Маргароли" => "Margaroli",
735
+ "Тринкер" => "Trinker",
736
+ "Сафват" => "Safwat",
737
+ "Сабри" => "Sabry",
738
+ "Хьюи" => "Huey",
739
+ "Континен" => "Kontinen",
740
+ "Тиг" => "Tig",
741
+ "Эстеве" => "Esteve",
742
+ "Маликова" => "Malikova",
743
+ "Букта" => "Bukta",
744
+ "Джокович" => "Djokovic",
745
+ "Ксиа" => "Xia",
746
+ "Итзстеин" => "Itzstein",
747
+ "Абдул" => "Abdul",
748
+ "Бетов" => "Betov",
749
+ "Марач" => "Marach",
750
+ "Куцова" => "Kucova",
751
+ "Каданту" => "Cadantu",
752
+ "Аббруциати" => "Abbruciati",
753
+ "Камилли" => "Camilli",
754
+ "Алес" => "Ales",
755
+ "Борсос" => "Borsos",
756
+ "Торрони" => "Torroni",
757
+ "Рондони" => "Rondoni",
758
+ "Соррибес-Тормо" => "Sorribes",
759
+ "Марозава" => "Marozava",
760
+ "Бушар" => "Bouchard",
761
+ "Лючич-Барони" => "Lucic-Baroni",
762
+ "Павлюченкова" => "Pavlyuchenkova",
763
+ "Уильямс" => "Williams",
764
+ "Цуренко" => "Tsurenko",
765
+ "Пиронкова" => "Pironkova",
766
+ "Киз" => "Keys",
767
+ "Гаспарян" => "Gasparyan",
768
+ "Херреро" => "Herrero-Linana",
769
+ "Шарифова" => "Sarifova",
770
+ "Бурилло" => "Burillo",
771
+ "Гомбос" => "Gombos",
772
+ "Фридман" => "Fridman",
773
+ "Букса" => "Bucsa",
774
+ "Илкель" => "Ilkel",
775
+ "Кирьос" => "Kyrgios",
776
+ "Жиральдо" => "Giraldo",
777
+ "Альмагро" => "Almagro",
778
+ "Ниеминен" => "Nieminen",
779
+ "Шарди" => "Chardy",
780
+ "Басилашвили" => "Basilashvili",
781
+ "Троицки" => "Troicki",
782
+ "Пецшнер" => "Petzschner",
783
+ "Мерзуки" => "Merzuki",
784
+ "Суед" => "",
785
+ "Чермак" => "Cermak",
786
+ "Штепанек" => "Stepanek",
787
+ "Силйестром" => "Siljestrom",
788
+ "Фроули" => "",
789
+ "Димитров" => "Dimitrov",
790
+ "Паес" => "Paes",
791
+ "Багдадис" => "Baghdatis",
792
+ "Грот" => "Groth",
793
+ "Бегеманн" => "Begemann",
794
+ "Ситак" => "Sitak",
795
+ "Ву" => "",
796
+ "Эстрелла" => "Estrella",
797
+ "Инглот" => "Inglot",
798
+ "Линдштедт" => "Lindstedt",
799
+ "Монро" => "Monroe",
800
+ "Бераекис" => "",
801
+ "Дакворт" => "",
802
+ "Баи" => "",
803
+ "Фридзам" => "Friedsam",
804
+ "Коукалова" => "",
805
+ "Фогель" => "",
806
+ "Каня" => "",
807
+ "Абдураимова" => "Abduraimova",
808
+ "Бек" => "Beck",
809
+ "Родина" => "",
810
+ "Шарипова" => "Sharipova",
811
+ "Чепелова" => "",
812
+ "Векич" => "",
813
+ "Шарапова" => "",
814
+ "Квитова" => "",
815
+ "Азаренка" => "",
816
+ "Виттхёфт" => "",
817
+ "Бычкова" => "",
818
+ "Питер" => "Piter",
819
+ "Калашникова" => "",
820
+ "Кания" => "",
821
+ "Калинина" => "",
822
+ "Аманмурадова" => "Amanmuradova",
823
+ "Стрыцова" => "",
824
+ "Ксу" => "",
825
+ "Гантухова" => "",
826
+ "Винчи" => "Vinci",
827
+ "Миллот" => "Millot",
828
+ "Сейслинг" => "",
829
+ "Штруфф" => "",
830
+ "Мунар" => "",
831
+ "Додиг" => "",
832
+ "Сидоренко" => "Sidorenko",
833
+ "Лангер" => "Langer",
834
+ "Куакод" => "",
835
+ "Гез" => "",
836
+ "Уорд" => "",
837
+ "Вегер" => "",
838
+ "Марченко" => "",
839
+ "Игошин" => "",
840
+ "Новак" => "",
841
+ "Агабигун" => "",
842
+ "Айлаз" => "",
843
+ "Мугевикиус" => "",
844
+ "Мектич" => "",
845
+ "Илкел" => "",
846
+ "Юксел" => "",
847
+ "Ятсик" => "",
848
+ "Недунчезиян" => "",
849
+ "Зибергер" => "",
850
+ "Червяков" => "",
851
+ "Мугевичус" => "",
852
+ "Хайлаз" => "",
853
+ "Нойхрист" => "",
854
+ "Бемельманс" => "",
855
+ "Мийо" => "",
856
+ "Вайссборн" => "",
857
+ "Голубеа" => "",
858
+ "Логло" => "",
859
+ "Коко" => "",
860
+ "Сампер-Монтана" => "Samper-Montana",
861
+ "Верниер" => "Vernier",
862
+ "Мена" => "Mena",
863
+ "Галан" => "Galan",
864
+ "Мора" => "",
865
+ "Рамирез" => "",
866
+ "Рейес-Варела" => "",
867
+ "Мартинез" => "",
868
+ "Уолш" => "",
869
+ "Кория" => "",
870
+ "Лама" => "",
871
+ "Маркора" => "",
872
+ "Куинци" => "",
873
+ "Монтес" => "",
874
+ "Рохас" => "",
875
+ "Эскобар" => "",
876
+ "Гомез" => "",
877
+ "Аревало-Гонзалез" => "",
878
+ "Реутер" => "",
879
+ "Оливо" => "Olivo",
880
+ "Михон" => "",
881
+ "Монтейро" => "",
882
+ "Рамос" => "",
883
+ "Коппеянс" => "",
884
+ "Таварес" => "",
885
+ "Осевар" => "",
886
+ "Феррейро" => "",
887
+ "Бонадио" => "",
888
+ "Карузо" => "",
889
+ "Крайнович" => "Krajinovic",
890
+ "Кашин" => "",
891
+ "Чеккинато" => "",
892
+ "Химено" => "",
893
+ "Виола" => "Viola",
894
+ "Карбаллес-Баэна" => "",
895
+ "Берретини" => "",
896
+ "Чиполла" => "",
897
+ "Воландри" => "Volandri",
898
+ "Рамирез-Идальго" => "",
899
+ "Джулио" => "",
900
+ "Циципас" => "",
901
+ "Балди" => "",
902
+ "Берреттини" => "",
903
+ "Дональдсон" => "",
904
+ "Сандгрин" => "",
905
+ "Эдмунд" => "",
906
+ "Кутровски" => "",
907
+ "Кудла" => "",
908
+ "Михалицка" => "",
909
+ "Доум" => "",
910
+ "Форнелл" => "Fornell-Mestres",
911
+ "Местерс" => "Fornell-Mestres",
912
+ "Джиральди" => "",
913
+ "Пла" => "",
914
+ "Стиглиш" => "",
915
+ "Луизи" => "Luisi",
916
+ "Болуда-Паркисс" => "",
917
+ "Джакомини" => "",
918
+ "Массара" => "",
919
+ "Камурри" => "",
920
+ "Суммария" => "",
921
+ "Боначиа" => "",
922
+ "Москиатти" => "",
923
+ "Нетушил" => "",
924
+ "Фольц" => "Folts",
925
+ "Екшибарова" => "Ekshibarova",
926
+ "Габуева" => "Gabueva",
927
+ "Аббручиати" => "",
928
+ "Теодори" => "",
929
+ "Лопес-Перез" => "",
930
+ "Бозольяк" => "",
931
+ "Перез" => "",
932
+ "Качин" => "",
933
+ "Карбаллес" => "",
934
+ "Ковальчик" => "",
935
+ "Корпатш" => "Korpatsch",
936
+ "Большова" => "Bolsova",
937
+ "Бесада" => "",
938
+ "Лоттнер" => "Lottner",
939
+ "Столлар" => "Stollar",
940
+ "Хсю" => "Hsu",
941
+ "Брешиа" => "Brescia",
942
+ "Учияма" => "",
943
+ "Пржысижны" => "",
944
+ "Чилич" => "",
945
+ "Ендара" => "",
946
+ "Менья" => "",
947
+ "Струвэй" => "",
948
+ "Руиз-Наранжо" => "",
949
+ "Ройтер" => "",
950
+ "Галарза" => "",
951
+ "Фалья" => "",
952
+ "Эндара" => "",
953
+ "Коппижанс" => "",
954
+ "Мишон" => "",
955
+ "Аргуэльо" => "",
956
+ "Эрнандес" => "",
957
+ "Берлок" => "",
958
+ "Эрнандес-Фернандес" => "",
959
+ "Тайфо" => "",
960
+ "МакГи" => "",
961
+ "Нильсен" => "",
962
+ "Бранстром" => "",
963
+ "Пералта" => "",
964
+ "Горанссон" => "",
965
+ "Лакат" => "",
966
+ "Сандгрен" => "",
967
+ "Баугманн" => "",
968
+ "МакДональд" => "",
969
+ "Ян" => "",
970
+ "Тиан" => "",
971
+ "Саваянаги" => "",
972
+ "Оррадре" => "",
973
+ "Капалбо" => "",
974
+ "Эспин" => "",
975
+ "Ормаечеа" => "Ormaechea",
976
+ "Мин" => "Min",
977
+ "Мейстер" => "Meister",
978
+ "Альво" => "Alvo",
979
+ "Аубон" => "Aubone",
980
+ "Бетелья" => "Betella",
981
+ "Виларо" => "Vilaro",
982
+ "Се" => "Ce",
983
+ "Монаррез-Йесаки" => "Monarrez",
984
+ "Хессе" => "Hesse",
985
+ "Бассо" => "Basso",
986
+ "Зибер" => "",
987
+ "Нейедлы" => "",
988
+ "Каприч" => "Kapric",
989
+ "Гранд" => "Grund",
990
+ "Шольц" => "Scholz",
991
+ "Петерс" => "Peters",
992
+ "Карлович" => "Karlovic",
993
+ "Даниэльс" => "Daniels",
994
+ "Фомина" => "Fomina",
995
+ "Голубич" => "Golubic",
996
+ "Шалаш" => "Salas",
997
+ "Копс-Джонс" => "Kops-Jones",
998
+ "Спирс" => "Spears",
999
+ "Среботник" => "Srebotnik",
1000
+ "Феррер" => "",
1001
+ "Медина" => "",
1002
+ "Парра" => "",
1003
+ "Храдецка" => "",
1004
+ "Неучрист" => "",
1005
+ "Скупски" => "",
1006
+ "Константиновичи" => "",
1007
+ "Подзуш" => "Podzus",
1008
+ "Шоненберг" => "",
1009
+ "Крстев" => "",
1010
+ "Холт" => "",
1011
+ "Хэнк" => "",
1012
+ "Эллен" => "",
1013
+ "Гамбилл" => "",
1014
+ "Остин" => "",
1015
+ "Кровли" => "",
1016
+ "Шультс" => "",
1017
+ "Ор" => "",
1018
+ "Картер" => "",
1019
+ "Подороска" => "",
1020
+ "Солер" => "",
1021
+ "Анн" => "",
1022
+ "Лим" => "",
1023
+ "Домингес-Лино" => "",
1024
+ "Пегула" => "",
1025
+ "Таунсенд" => "",
1026
+ "Оудин" => "",
1027
+ "Рус" => "",
1028
+ "Минелла" => "",
1029
+ "Алкараз" => "Alcaraz",
1030
+ "Томас" => "",
1031
+ "Делич" => "Delic",
1032
+ "Барри" => "Barry",
1033
+ "Арвидсон" => "Arvidsson",
1034
+ "Каппола" => "Coppola",
1035
+ "Финк" => "Fink",
1036
+ "Себергер" => "",
1037
+ "Хаертис" => "Haerteis",
1038
+ "Полжак" => "Poljak",
1039
+ "Боелер" => "Boehler",
1040
+ "Душевина" => "Dushevina",
1041
+ "Броган" => "",
1042
+ "Льюис" => "",
1043
+ "Ламазин" => "",
1044
+ "Дурасович" => "",
1045
+ "Керн" => "",
1046
+ "Отте" => "",
1047
+ "Окли" => "",
1048
+ "Хиршмюллер" => "",
1049
+ "Хассан" => "",
1050
+ "Торебко" => "",
1051
+ "Кослер" => "",
1052
+ "Мартерер" => "",
1053
+ "Пауффли" => "",
1054
+ "Киршхеймер" => "",
1055
+ "Симмондс" => "",
1056
+ "Хантер" => "",
1057
+ "Жебенс" => "",
1058
+ "Трусенди" => "",
1059
+ "Роджерс" => "",
1060
+ "Джорджес" => "Georges",
1061
+ "Хейсе" => "Heise",
1062
+ "Бёйкенс" => "Boeykens",
1063
+ "Ваканно" => "Wacanno",
1064
+ "Хаертеис" => "Haerteis",
1065
+ "Вагнер" => "Wagner",
1066
+ "Гоеллнер" => "Goellner",
1067
+ "Стрикрот" => "Strickroth",
1068
+ "Оливейра" => "Oliveira",
1069
+ "Рой" => "Roy",
1070
+ "Янш-Мюллер" => "Jaensch-Mueller",
1071
+ "Негриту" => "Negritu",
1072
+ "Консилия" => "",
1073
+ "Убьерго" => "",
1074
+ "Мартос" => "Martos",
1075
+ "Толедо" => "Toledo",
1076
+ "Бехри" => "Bechri",
1077
+ "Бахамонде" => "",
1078
+ "Агаменоне" => "",
1079
+ "Виллануева" => "Villanueva",
1080
+ "Боргес" => "",
1081
+ "Ликок" => "",
1082
+ "Михаил" => "",
1083
+ "Боузгарру" => "",
1084
+ "Мансоури" => "",
1085
+ "Ли" => "",
1086
+ "Шафранек" => "Safranek",
1087
+ "Колар" => "Kolar",
1088
+ "Рока" => "",
1089
+ "Брейди" => "",
1090
+ }
1091
+
1092
+ end