ryba 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +4 -0
- data/MIT-LICENSE +20 -0
- data/README.textile +117 -0
- data/Rakefile +41 -0
- data/VERSION.yml +5 -0
- data/lib/ryba.rb +39 -0
- data/lib/ryba/address.rb +74 -0
- data/lib/ryba/data.rb +817 -0
- data/lib/ryba/name.rb +44 -0
- data/lib/ryba/phone_number.rb +38 -0
- data/ryba.gemspec +53 -0
- data/spec/ryba_spec.rb +66 -0
- data/spec/spec_helper.rb +9 -0
- metadata +80 -0
data/.gitignore
ADDED
data/MIT-LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2009 Oleg Dashevskii
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.textile
ADDED
@@ -0,0 +1,117 @@
|
|
1
|
+
h1. Ryba
|
2
|
+
|
3
|
+
h2. Введение
|
4
|
+
|
5
|
+
Часто встает задача заполнения баз данных «рыбой», т.е. случайно сгенерированными данными,
|
6
|
+
похожими на настоящие.
|
7
|
+
|
8
|
+
К таким данным относятся:
|
9
|
+
* ФИО.
|
10
|
+
* Почтовые адреса (индекс, город, улица, дом, квартира).
|
11
|
+
* Телефоны.
|
12
|
+
* E-mail адреса.
|
13
|
+
* Названия.
|
14
|
+
* «Просто текст» для больших текстовых полей.
|
15
|
+
|
16
|
+
Есть gemы, умеющие генерировать такие данные на английском: "faker":http://faker.rubyforge.org,
|
17
|
+
"random_data":http://rubyforge.org/projects/random-data и другие.
|
18
|
+
|
19
|
+
Ryba — попытка создать аналогичный генератор для русского языка: русские имена, адреса и т.д.
|
20
|
+
|
21
|
+
Библиотека находится в активной разработке. На данный момент реализованы:
|
22
|
+
* Генерация имен.
|
23
|
+
* Генерация телефонов.
|
24
|
+
* Генерация адресов.
|
25
|
+
|
26
|
+
Ниже описан интерфейс для реализованных возможностей.
|
27
|
+
|
28
|
+
h2. Генерация имен
|
29
|
+
|
30
|
+
Методы из @Ryba::Name@.
|
31
|
+
|
32
|
+
@Ryba::Name.first_name(male = nil)@ — случайное имя.
|
33
|
+
|
34
|
+
@Ryba::Name.middle_name(male = nil)@ — случайное отчество.
|
35
|
+
|
36
|
+
@Ryba::Name.family_name(male = nil)@ — случайная фамилия.
|
37
|
+
|
38
|
+
@Ryba::Name.full_name(male = nil)@ — случайное ФИО (например, "Щетинин Камилл Ростиславович").
|
39
|
+
|
40
|
+
Параметр @male@ указывает пол (@true@ — мужской, @false@ — женский). Если параметр не указывать,
|
41
|
+
будет выбран случайный пол.
|
42
|
+
|
43
|
+
Чтобы получить имена для одного пола, можно воспользоваться методом @Ryba::Name.gender@,
|
44
|
+
возвращающим случайный пол. Либо простым вызовом:
|
45
|
+
|
46
|
+
<pre><code>
|
47
|
+
gender = Ryba::Name.gender
|
48
|
+
first_name = Ryba::Name.first_name(gender)
|
49
|
+
family_name = Ryba::Name.family_name(gender)
|
50
|
+
</pre></code>
|
51
|
+
|
52
|
+
...либо с помощью блока
|
53
|
+
|
54
|
+
<pre><code>
|
55
|
+
Ryba::Name.gender do |gender|
|
56
|
+
first_name = Ryba::Name.first_name(gender)
|
57
|
+
family_name = Ryba::Name.family_name(gender)
|
58
|
+
end
|
59
|
+
</pre></code>
|
60
|
+
|
61
|
+
h2. Генерация телефонов
|
62
|
+
|
63
|
+
Метод @Ryba::PhoneNumber.phone_number@.
|
64
|
+
|
65
|
+
<pre><code>
|
66
|
+
>> Ryba::PhoneNumber.phone_number
|
67
|
+
=> "2-26-47"
|
68
|
+
>> Ryba::PhoneNumber.phone_number
|
69
|
+
=> "431-15-94"
|
70
|
+
>> Ryba::PhoneNumber.phone_number
|
71
|
+
=> "8 (87829) 9-45-53"
|
72
|
+
>> Ryba::PhoneNumber.phone_number
|
73
|
+
=> "5515328"
|
74
|
+
>> Ryba::PhoneNumber.phone_number
|
75
|
+
=> "(2397) 94 78 14"
|
76
|
+
</code></pre>
|
77
|
+
|
78
|
+
h2. Генерация адресов
|
79
|
+
|
80
|
+
Методы из @Ryba::Address@.
|
81
|
+
|
82
|
+
@Ryba::Address.index@ — случайный почтовый индекс (просто случайное число между 100000 и 700000). _Пример: 149544_.
|
83
|
+
|
84
|
+
@Ryba::Address.city@ - случайный город России. _Пример: "Выкса"_.
|
85
|
+
|
86
|
+
@Ryba::Address.full_city@ - случайный город с указанием региона, если это необходимо (город не является областным центром). _Примеры:_
|
87
|
+
* "Брянская обл., г. Унеча";
|
88
|
+
* "г. Ярославль";
|
89
|
+
* "г. Москва".
|
90
|
+
|
91
|
+
@Ryba::Address.street@ - случайное название улицы. _Примеры:_
|
92
|
+
* "ул. Бородина";
|
93
|
+
* "Красный пер.";
|
94
|
+
* "1 линия".
|
95
|
+
|
96
|
+
@Ryba::Address.address@ - случайный адрес. _Примеры:_
|
97
|
+
* "ул. Щербакова 130-279";
|
98
|
+
* "ул. Невская, д.167, оф. 32";
|
99
|
+
* "Пушкинский пер., д. 36, кв.234";
|
100
|
+
* "ул. Базарная, д. 182к2, 5-й эт.".
|
101
|
+
|
102
|
+
@Ryba::Address.postal@ - случайный полный почтовый адрес. _Примеры:_
|
103
|
+
* "242733, Рязанская обл., г. Спас-Клепики, ул. Куйбышева, 42-22";
|
104
|
+
* "471408, Челябинская обл., г. Златоуст, ул. Квартальная, 174-282";
|
105
|
+
* "195730, Воронежская обл., г. Калач, ул. Волжская, д. 175, кв. 7";
|
106
|
+
* "342656, Краснодарский край, г. Лабинск, ул. Ворошилова, д.153, кв.225";
|
107
|
+
* "209218, Сахалинская обл., г. Корсаков, ул. Мусоргского д. 65 кв. 206";
|
108
|
+
* "485245, г. Курган, ул. Литвинова д.173 кв. 245".
|
109
|
+
|
110
|
+
Обратите внимание, что индекс не является настоящим и что в городе может не быть
|
111
|
+
такой улицы (а на улице — такого дома, а в доме — такой квартиры).
|
112
|
+
|
113
|
+
h2. Лицензия
|
114
|
+
|
115
|
+
Библиотека ryba распространяется по лицензии MIT, см. файл MIT-LICENSE.
|
116
|
+
|
117
|
+
Автор: Олег Дашевский, "#{%w(Oleg Dashevskii).join('').downcase}@gmail.com"
|
data/Rakefile
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'rake'
|
2
|
+
|
3
|
+
begin
|
4
|
+
require 'jeweler'
|
5
|
+
Jeweler::Tasks.new do |s|
|
6
|
+
s.name = "ryba"
|
7
|
+
s.summary = %Q{Russian faker}
|
8
|
+
s.email = "olegdashevskii@gmail.com"
|
9
|
+
s.homepage = "http://github.com/be9/ryba"
|
10
|
+
s.description = "Russian names and addresses generator"
|
11
|
+
s.authors = ["oleg dashevskii"]
|
12
|
+
end
|
13
|
+
|
14
|
+
Jeweler::GemcutterTasks.new
|
15
|
+
rescue LoadError
|
16
|
+
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
|
17
|
+
end
|
18
|
+
|
19
|
+
require 'rake/rdoctask'
|
20
|
+
Rake::RDocTask.new do |rdoc|
|
21
|
+
rdoc.rdoc_dir = 'rdoc'
|
22
|
+
rdoc.title = 'ryba'
|
23
|
+
rdoc.options << '--line-numbers' << '--inline-source'
|
24
|
+
rdoc.rdoc_files.include('README*')
|
25
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
26
|
+
end
|
27
|
+
|
28
|
+
require 'spec/rake/spectask'
|
29
|
+
Spec::Rake::SpecTask.new(:spec) do |t|
|
30
|
+
t.libs << 'lib' << 'spec'
|
31
|
+
t.spec_files = FileList['spec/**/*_spec.rb']
|
32
|
+
t.spec_opts << '--colour'
|
33
|
+
end
|
34
|
+
|
35
|
+
Spec::Rake::SpecTask.new(:rcov) do |t|
|
36
|
+
t.libs << 'lib' << 'spec'
|
37
|
+
t.spec_files = FileList['spec/**/*_spec.rb']
|
38
|
+
t.rcov = true
|
39
|
+
end
|
40
|
+
|
41
|
+
task :default => :spec
|
data/VERSION.yml
ADDED
data/lib/ryba.rb
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
module Ryba
|
2
|
+
def self.numerify(number_string)
|
3
|
+
number_string.gsub('#') { rand(10).to_s }
|
4
|
+
end
|
5
|
+
|
6
|
+
def self.pick(variants)
|
7
|
+
case variants
|
8
|
+
when Array
|
9
|
+
variants[rand(variants.size)]
|
10
|
+
when String
|
11
|
+
variants[rand(variants.length),1]
|
12
|
+
when Range
|
13
|
+
if variants.exclude_end?
|
14
|
+
rand(variants.last - variants.first) + variants.first
|
15
|
+
else
|
16
|
+
rand((variants.last+1) - variants.first) + variants.first
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.weighted_pick(variants)
|
22
|
+
total_sum = variants.inject(0) { |sum, var| sum + var[1] }
|
23
|
+
rnd = rand(total_sum)
|
24
|
+
|
25
|
+
sum = 0
|
26
|
+
variants.each do |var|
|
27
|
+
sum += var[1]
|
28
|
+
return var[0] if rnd < sum
|
29
|
+
end
|
30
|
+
|
31
|
+
# этого не может быть
|
32
|
+
raise
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
require File.join(File.dirname(__FILE__), 'ryba', 'data')
|
37
|
+
require File.join(File.dirname(__FILE__), 'ryba', 'name')
|
38
|
+
require File.join(File.dirname(__FILE__), 'ryba', 'phone_number')
|
39
|
+
require File.join(File.dirname(__FILE__), 'ryba', 'address')
|
data/lib/ryba/address.rb
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
module Ryba
|
2
|
+
class Address
|
3
|
+
class<<self
|
4
|
+
def index
|
5
|
+
Ryba.pick(100000...700000)
|
6
|
+
end
|
7
|
+
|
8
|
+
def city
|
9
|
+
Ryba.pick(Data::AllCities).gsub('_', ' ')
|
10
|
+
end
|
11
|
+
|
12
|
+
def full_city
|
13
|
+
cty = Ryba.pick(Data::AllCities)
|
14
|
+
h_cty = cty.gsub('_', ' ')
|
15
|
+
|
16
|
+
region = Ryba.pick(Data::RegionByCities[cty])
|
17
|
+
|
18
|
+
if Data::CitiesByRegion[region].first == cty
|
19
|
+
"г. #{h_cty}"
|
20
|
+
else
|
21
|
+
"#{region}, г. #{h_cty}"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def street
|
26
|
+
Ryba.pick(Data::StreetNames)
|
27
|
+
end
|
28
|
+
|
29
|
+
BuildingFormats = [
|
30
|
+
[ 'д. #', 90 ],
|
31
|
+
[ 'д.#', 80 ],
|
32
|
+
[ 'д. #/?', 15 ],
|
33
|
+
[ 'д. #к?', 10 ],
|
34
|
+
[ 'стр. #', 10 ],
|
35
|
+
[ 'д.#/?', 5 ],
|
36
|
+
[ 'д.#к?', 5 ],
|
37
|
+
[ 'стр.#', 5 ],
|
38
|
+
].freeze
|
39
|
+
|
40
|
+
ApartmentFormats = [
|
41
|
+
[ 'кв. #', 10 ],
|
42
|
+
[ 'оф. #', 10 ],
|
43
|
+
[ '? этаж', 2 ],
|
44
|
+
[ 'кв.#', 5 ],
|
45
|
+
[ 'оф.#', 5 ],
|
46
|
+
[ '?-й эт.', 1 ],
|
47
|
+
]
|
48
|
+
|
49
|
+
def address
|
50
|
+
building = Ryba.pick(1..200)
|
51
|
+
apartment = Ryba.pick(1..300)
|
52
|
+
separator = Ryba.pick([' ', ', '])
|
53
|
+
|
54
|
+
street + separator +
|
55
|
+
if rand(10) < 2
|
56
|
+
"#{building}-#{apartment}"
|
57
|
+
else
|
58
|
+
formatter = lambda do |fmts, num|
|
59
|
+
Ryba.weighted_pick(fmts).gsub('#', num.to_s).gsub('?', Ryba.pick(1..9).to_s)
|
60
|
+
end
|
61
|
+
|
62
|
+
building = formatter.call(BuildingFormats, building)
|
63
|
+
apartment = formatter.call(ApartmentFormats, apartment)
|
64
|
+
|
65
|
+
"#{building}#{separator}#{apartment}"
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
def postal
|
70
|
+
"#{index}, #{full_city}, #{address}"
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
data/lib/ryba/data.rb
ADDED
@@ -0,0 +1,817 @@
|
|
1
|
+
module Ryba
|
2
|
+
module Data
|
3
|
+
# http://taina.aib.ru/names/man/man-a.htm
|
4
|
+
MaleNames = %w{
|
5
|
+
Абрам Авраам Ибрагим Аввакум Аввакуум Аббакум Август Августин
|
6
|
+
Авдей Авенир Аверьян Аверкий Авксентий Агап Агафон Агей Азарий
|
7
|
+
Адам Адольф Адриан Акакий Аким Алан Александр Алексей Алоис
|
8
|
+
Альберт Альбин Альфред Амадей Амвросий Ананий Анжей Анастасий
|
9
|
+
Анатолий Андрей Андриан Андроник Андрон Анисим Антип Антон
|
10
|
+
Ануфрий Аполинарий Аполлон Аристарх Аркадий Арнольд Арсен
|
11
|
+
Арсений Артем Артемий Артур Архип Аскольд Атанас Аурелий
|
12
|
+
Аурелиус Афанасий Афиноген Бажен Бальтазар Бенедикт Бернанд
|
13
|
+
Бертран Богдан Болеслав Бонавентура Борис Бронислав Бруно Булат
|
14
|
+
Вавила Вадим Валентин Валериан Валерьян Валерий Вальтер Варлаам
|
15
|
+
Варлам Варфоломей Василий Вацлав Велор Велорий Венедикт Вениамин
|
16
|
+
Викентий Виктор Вилли Винсент Виргилий Виссарион Вит Виталий
|
17
|
+
Витольд Владимир Владислав Владлен Влас Вольдемар Всеволод
|
18
|
+
Вячеслав Габриель Гавриил Галактион Гарри Геннадий Генрих
|
19
|
+
Георгий Егор Геракл Геральд Герасим Герман Глеб Годфрид Гордей
|
20
|
+
Грегор Григорий Гурий Густав Давыд Давид Даниил Данила Дементий
|
21
|
+
Демид Демьян Денис Джордан Димитрий Дмитрий Дональд Донат
|
22
|
+
Дормидонт Дорофей Евгений Евграф Евдоким Евлампий Евсевий Евсей
|
23
|
+
Евстафий Евстахий Евстигней Евстрат Елизар Елисей Емельян Епифан
|
24
|
+
Еремей Ермолай Ерофей Ефим Ефрем Жерар Захар Зенон Зигфрид
|
25
|
+
Зиновий Зосима Иакинф Иван Иво Игнат Игнатий Игорь Измаил
|
26
|
+
Изяслав Илларион Илья Имил Эмилий Иннокентий Иона Иосиф Осип
|
27
|
+
Ипат Ипполит Ираклий Геракл Иржи Исаак Исидор Сидор Казимир
|
28
|
+
Каллистрат Камилл Капитон Карл Карол Карп Касьян Ким Киприан
|
29
|
+
Кирилл Кирьян Клавдий Клеменс Клемент Клим Климент Климентий
|
30
|
+
Кондратий Кондрат Конрад Константин Корнелий Корнилий Корней
|
31
|
+
Кристиан Кристоф Кронид Ксавер Ксенофонт Кузьма Лавр Лаврентий
|
32
|
+
Лазарь Лев Леон Леонард Леонид Леонтий Леопольд Лука Лукьян
|
33
|
+
Любомир Людвиг Люсьен Май Макар Макарий Максим Максимилиан
|
34
|
+
Мануэль Марек Мариан Мариус Марк Марсель Мартин Мартын Масей
|
35
|
+
Матвей Матеуш Мауриций Медард Мелентий Мефодий Мечеслав Мечислав
|
36
|
+
Милан Милон Мирон Мирослав Митрофан Михаил Модест Моисей
|
37
|
+
Мстислав Назар Назарий Наполеон Натан Нафан Наркисс Нарцисс
|
38
|
+
Наум Нестор Никандр Никанор Никита Никифор Никодим Николай Никон
|
39
|
+
Нил Нисон Норберт Овидий Олаф Олег Олесь Онисим Орест Осип Оскар
|
40
|
+
Остромир Павел Памфил Панфил Панкрат Пантелеймон Пантелей
|
41
|
+
Парамон Парфен Патрик Патрикей Паулин Пахом Петр Пимен Платон
|
42
|
+
Поликарп Порфирий Прокл Прокоп Прокофий Прокопий Протас Прохор
|
43
|
+
Ратибор Ратмир Рафаил Рафаэль Ринат Ренат Ричард Роберт Роджер
|
44
|
+
Родион Роланд Роман Рональд Ростислав Рубен Рудольф Руслан Рюрик
|
45
|
+
Савва Севастьян Савелий Самсон Самуил Святополк Святослав
|
46
|
+
Севастьян Северьян Селестин Семен Серафим Сергей Сила Сильвестр
|
47
|
+
Серж Соломон Спартак Спиридон Станислав Степан Тарас Теодор
|
48
|
+
Теофил Терентий Тимофей Тимур Тит Тихон Томас Трифон Трофим
|
49
|
+
Ульрих Устин Фабиан Фаддей Федор Федот Феликс Фелициан Феодосий
|
50
|
+
Феофан Фердинанд Филимон Филипп Флор Флориан Фома Франц Фридрих
|
51
|
+
Харитон Харольд Христиан Христофор Цезарь Эварист Эдвард Эдгар
|
52
|
+
Эдмунд Эдуард Эдвард Эмерик Эмиль Эммануил Эммануэль Эразм Эраст
|
53
|
+
Эрик Эрнест Юлиан Юлий Юрий Юхим Яков Ян Януарий Яромир
|
54
|
+
Ярослав}.freeze
|
55
|
+
|
56
|
+
# http://taina.aib.ru/names/woman/woman-a.htm
|
57
|
+
FemaleNames = %w{
|
58
|
+
Августа Августина Аврора Агата Агафья Аглая Аглаида Агнесса
|
59
|
+
Агния Агриппина Ада Аделаида Аделина Адриана Аза Акулина
|
60
|
+
Алевтина Александра Алина Алиса Алла Альберта Альбертина Альбина
|
61
|
+
Альфреда Амелия Анабела Анастасия Ангелина Анжела Анжелика
|
62
|
+
Анисья Анита Аниэла Анна Антонина Анфиса Апполинария Аполлония
|
63
|
+
Арабелла Ариадна Астра Аурелия Аурика Барбара Беата Беатриса
|
64
|
+
Белла Бенедикта Бернадета Берта Бибиана Бланка Богдана Болеслава
|
65
|
+
Борислава Бригитта Бронислава Валентина Валерия Ванда Варвара
|
66
|
+
Варя Василиса Васса Венера Вера Вероника Веста Ветта Иветта
|
67
|
+
Вивиана Виктория Вильгельмина Виолетта Вирджиния Виринея Виталия
|
68
|
+
Виталина Владислава Владлена Габриела Галина Гаянэ Гелена Гелла
|
69
|
+
Генриетта Гертруда Гизелла Глафира Гликерия Глория Гортензия
|
70
|
+
Грация Дайна Далия Дана Даниела Данута Дарья Дебора Джульетта
|
71
|
+
Диана Дина Доля Доминика Дора Дорота Дорофея Ева Евгения Евдокия
|
72
|
+
Евпраксия Евтебия Екатерина Елена Елизавета Ефросиния Жанна
|
73
|
+
Жеральдина Жозефина Забава Зинаида Зита Злата Зоя Ивона Изабелла
|
74
|
+
Изольда Инара Инга Инесса Инна Иоанна Иоланта Ираида Ирена Ирина
|
75
|
+
Ирма Ия Калерия Камилла Капитолина Карен Карина Каролина
|
76
|
+
Катарина Кира Клавдия Клара Климентина Клотильда Констанция Кора
|
77
|
+
Кристина Ксавера Ксения Лада Лайма Лариса Лаура Лена Леокадия
|
78
|
+
Леонтина Леся Лиана Лидия Лилиана Лилия Лиля Лия Лола Лолита
|
79
|
+
Лолла Луиза Лукреция Любовь Людмила Люсина Люся Люция Лючия
|
80
|
+
Магдалена Магдалина Майя Мануэла Маня Маргарита Марианна Марина
|
81
|
+
Мариэтта Мария Марлена Марселина Марта Марфа Матильда Матрена
|
82
|
+
Матрона Медея Мелания Милена Милица Мира Мирра Мирдза Мирра
|
83
|
+
Михалина Моника Муза Надежда Наина Наталья Наталия Наташа Нелли
|
84
|
+
Неонила Нила Ника Нина Нинель Нонна Нора Одетта Оксана Октавия
|
85
|
+
Октябрина Олеся Ольга Памела Патриция Паула Паулина Пелагея
|
86
|
+
Петиция Полина Прасковья Пульхерия Рада Раиса Рахиль Ревекка
|
87
|
+
Регина Рина Рената Римма Рита Роберта Роза Розалия Розамунда
|
88
|
+
Роксана Ростислава Руслана Руфина Сабина Сандра Сарра Сара
|
89
|
+
Светлана Северина Селестина Селина Серафима Сивилла Сильва
|
90
|
+
Сильвия Симона Сиотвия Соломея Соня София Софья Станислава
|
91
|
+
Стелла Стефанида Стефания Сузанна Сусанна Сюзанна Таира Таисия
|
92
|
+
Таисья Тамара Татьяна Текла Теодора Тереза Томила Тамила Ульяна
|
93
|
+
Устинья Урсула Фаина Фёкла Фелиция Феодора Феодосия Филиппина
|
94
|
+
Филомена Флора Франсуаза Фредерика Фрида Хильда Хильдегарда
|
95
|
+
Христина Цецилия Эвелина Эдита Юдифь Эдмунда Элеонора Элиана
|
96
|
+
Элина Элиза Элизабет Элла Эльвира Эльза Эмилия Эмма Эмма Эрика
|
97
|
+
Эрнестина Эстер Эстера Юдита Юлия Юнона Ядвига Яна Янина
|
98
|
+
Ярослава}
|
99
|
+
|
100
|
+
# http://taina.aib.ru/otchectv/man/index.htm
|
101
|
+
MaleMiddleNames = %w{
|
102
|
+
Александрович Алексеевич Альбертович Анатольевич Андреевич
|
103
|
+
Антонович Аркадьевич Артемович Богданович Богуславович Борисович
|
104
|
+
Вадимович Валентинович Валерьевич Васильевич Вениаминович
|
105
|
+
Викторович Владимирович Вячеславович Геннадиевич Георгиевич
|
106
|
+
Григорьевич Давидович Данилович Денисович Дмитриевич Евгеньевич
|
107
|
+
Егорович Ефимович Иванович Игоревич Ильич Иосифович Кириллович
|
108
|
+
Константинович Львович Леонидович Макарович Максимович Максович
|
109
|
+
Матвеевич Миронович Михайлович Натанович Наумович Николаевич
|
110
|
+
Олегович Оскарович Павлович Петрович Платонович Робертович
|
111
|
+
Романович Ростиславович Рубенович Рудольфович Русланович
|
112
|
+
Святославович Семенович Сергеевич Станиславович Степанович
|
113
|
+
Тарасович Тимофеевич Тимурович Федорович Феликсович Филиппович
|
114
|
+
Эдуардович Эльдарович Юрьевич Яковлевич Ярославович}
|
115
|
+
|
116
|
+
# http://taina.aib.ru/otchectv/woman/index.htm
|
117
|
+
FemaleMiddleNames = %w{
|
118
|
+
Александровна Алексеевна Альбертовна Анатольевна Андреевна
|
119
|
+
Антоновна Аркадьевна Артемовна Артуровна Архиповна Аскольдовна
|
120
|
+
Афанасьевна Богдановна Болеславовна Борисовна Вадимовна
|
121
|
+
Валентиновна Валериевна Васильевна Вениаминовна Викторовна
|
122
|
+
Владимировна Владиславовна Вячеславовна Владиславовна
|
123
|
+
Геннадиевна Георгиевна Григорьевна Даниловна Денисовна
|
124
|
+
Дмитриевна Евгеньевна Егоровна Ефимовна Ждановна Ивановна
|
125
|
+
Игоревна Ильинична Кирилловна Константиновна Кузминична Леоновна
|
126
|
+
Львовна Леонидовна Макаровна Максимовна Матвеевна Мироновна
|
127
|
+
Михайловна Натановна Наумовна Никифоровна Николаевна Ниловна
|
128
|
+
Олеговна Оскаровна Павловна Петровна Робертовна Романовна
|
129
|
+
Рубеновна Рудольфовна Руслановна Святославовна Семеновна
|
130
|
+
Сергеевна Степановна Станиславовна Тарасовна Тимофеевна
|
131
|
+
Тимуровна Федоровна Феликсовна Филипповна Эдуардовна Эльдаровна
|
132
|
+
Юльевна Юрьевна Яковлевна}
|
133
|
+
|
134
|
+
# http://b23.ru/qiu
|
135
|
+
FamilyNames = %w{
|
136
|
+
Абакумов Абарников Абдулов Абрамов Авдеев Аверин Аверьянов
|
137
|
+
Авилов Автухов Агапов Агафонов Агейкин Ажищенков Азаров Аксаков
|
138
|
+
Аксёнов Алеев Аленин Алиев Алистратов Алогрин Амалиев Амелин
|
139
|
+
Аминев Александров Алексеев Алёхин Аллилуев Андреев Андреюшкин
|
140
|
+
Андроников Андропов Аниканов Анисимов Анишин Анников Анохин
|
141
|
+
Аношкин Антипов Антонов Апалков Артамонов Арефьев Арзамасцев
|
142
|
+
Аристархов Арсеньев Артёмов Асланов Аслаханов Астанков Астафьев
|
143
|
+
Астахов Афанасьев Афонин Аспидов Бабанин Бабатьев Бабиков
|
144
|
+
Бабичев Бабкин Бабурин Багров Бакрылов Бажанов Баженов Базанов
|
145
|
+
Базаров Балакин Баландин Балахнов Балашов Бальсунов Баранов
|
146
|
+
Барболин Баренцев Баринов Барков Барсуков Батрутдинов Безбородов
|
147
|
+
Безруков Безукладников Белибердиев Беликов Белов Беломестнов
|
148
|
+
Беломестов Белочкин Бендлин Березин Белоусов Бершов Беспалов
|
149
|
+
Бескрёстнов Бехтерев Бирюков Блаженов Блатов Блинов Блохин
|
150
|
+
Бобров Богатырёв Богданов Боголепов Боголюбов Богомазов
|
151
|
+
Богомолов Богров Бойков Бойцов Болотников Болтоногов Большов
|
152
|
+
Бондарев Бондарчюк Бореев Бочаров Борзилов Борцов Брагин Брежнев
|
153
|
+
Бугаков Буданов Будников Будылин Букин Буклин Булгаков Булыгин
|
154
|
+
Бунин Бурков Буров Бурцов Буряков Бутылин Быков Былинкин Бычков
|
155
|
+
Вавилов Вагин Вазов Варенников Васильев Васин Васнев Васнецов
|
156
|
+
Вахров Вахрушев Венедиктов Веденеев Веденин Ведерников Вергунов
|
157
|
+
Верещагин Вершинин Веселов Викашев Виноградов Винокуров Витаев
|
158
|
+
Витвинин Вицин Вихров Водоватов Воликов Волков Вольваков
|
159
|
+
Воробьев Воронин Воронов Воронков Воронцов Воскобойников Вотяков
|
160
|
+
Вырыпаев Гавриков Гаврилов Гагарин Гаголин Галдин Галиаскаров
|
161
|
+
Галкин Галыгин Гарин Гачев Генкин Герасимов Гибазов Гилёв
|
162
|
+
Глазков Голов Голованов Головин Голодяев Голубев Голубов
|
163
|
+
Голубцов Гончаров Горбачёв Горбунов Горбунков Горев Горелов
|
164
|
+
Горемыкин Горюнов Грачёв Графов Грешнев Грибов Грибоедов
|
165
|
+
Григорьев Гринин Гришин Громов Губанов Гулин Гурьянов Гусаров
|
166
|
+
Гусев Гунин Гущин Горохов Дорофеев Давыдкин Данильцин Двойнев
|
167
|
+
Дворников Деменок Дементьев Демидов Деникин Дёгтин Дегтярев
|
168
|
+
Дежнёв Делов Дементьев Дёмин Державин Дернов Десятков Дмитриев
|
169
|
+
Добронравов Добрынин Долгоруков Должиков Домашев Достовалов
|
170
|
+
Драгомиров Дресвянин Дрёмов Друганин Другов Дубинин Дубов
|
171
|
+
Дульцев Дуров Дятлов Дураничев Евдокимов Евстигнеев Егоров Ежов
|
172
|
+
Елагин Елизаров Елисеев Ельцин Ельцов Емельянов Енин Енотин
|
173
|
+
Енотов Ерзов Ермаков Ермилов Еромеев Ерофеев Ершов Есипов Ефимов
|
174
|
+
Ефремов Емелин Ерохин Ерёмин Ёжин Ёжов Ёлкин Ёлков Жабин Жарков
|
175
|
+
Жарыхин Жвиков Жданов Жеглов Железкин Железнов Жестаков Живенков
|
176
|
+
Жиглов Жигунов Жидков Жикин Жилин Жилов Жолдин Жуков Жутов
|
177
|
+
Журавлёв Журов Заврагин Завражин Завражнов Завразин Завьялов
|
178
|
+
Задорнов Зайцев Закрятин Захаров Захарьин Звягин Зефиров Зёмин
|
179
|
+
Зимин Злобин Золин Золотов Зонов Зубков Зубов Зуев Зуйков
|
180
|
+
Зимняков Зыкин Зыков Зырянов Зюганов Зверев Игнаткович Ивазов
|
181
|
+
Ивакин Ибрагимов Иванов Иванков Ивашин Ивашов Ивкин Иволгин
|
182
|
+
Игнатьев Игошин Исмайлов Измайлов Изюмов Иканов Икашев Ильин
|
183
|
+
Илюшин Ильюшин Иноземцев Ипатьев Исаев Истомин Кабинов Каблуков
|
184
|
+
Каверин Кадников Кадцын Казаков Казанцев Казарезов Калганов
|
185
|
+
Калягин Камкин Канадин Канадов Канадцев Каналин Капралов
|
186
|
+
Каприянов Капустин Караваев Карандашов Карантиров Караулин
|
187
|
+
Караулов Карев Каретников Каргин Карташов Карчагин Катериночкин
|
188
|
+
Катин Качусов Кашарин Каширин Кашканов Кашников Киприянов Киреев
|
189
|
+
Кирилов Кирсанов Кирьянов Клепахов Климов Климушин Климцов
|
190
|
+
Клоков Князев Ковалёв Ковров Ковшутин Кожуров Кожухов Козаков
|
191
|
+
Козлов Колесников Коллеров Колонтаев Колосов Кольцов Комаров
|
192
|
+
Комзин Комолов Кондратьев Кондюрин Конев Конников Коновалов
|
193
|
+
Коньяков Коняшев Копейкин Кораблёв Кораблин Коренев Коренёв
|
194
|
+
Коржаков Коржев Корнев Корнеев Корнилов Коровин Королёв Коротаев
|
195
|
+
Корчагин Косарёв Косков Косомов Косоруков Костин Костомаров
|
196
|
+
Котов Коченков Кошелев Кошечкин Кошкин Краев Краснов Красноперов
|
197
|
+
Кропанин Кругликов Круглов Крупин Крутин Кручинкин Крылов Крысов
|
198
|
+
Крюков Кубланов Кудашов Кудрин Кудрявцев Кудряшов Кузнецов
|
199
|
+
Кузубов Кузьмин Куимов Куклачёв Куклин Куклов Кулагин Кулаков
|
200
|
+
Кулибин Куликов Куракин Курбатов Курганов Курдин Курепин
|
201
|
+
Курпатов Курсалин Курчин Кутепов Кутиков Кутузов Кутяков
|
202
|
+
Лаврентьев Лавров Лагутов Лазарев Ланцов Лапотников Лаптев
|
203
|
+
Лапунов Лапухов Ларин Ларионов Ласкутин Лачинов Лачков Лебедев
|
204
|
+
Лебединцев Легкодимов Ледовской Леонидов Леонов Лепёхин Лесков
|
205
|
+
Летов Лёвкин Лешев Лещёв Лилов Лимонов Липин Лисицын Листунов
|
206
|
+
Лихачёв Лобанов Лобов Логинов Локтев Ломоносов Ломтев Лопатин
|
207
|
+
Лосев Лоскутников Лоскутов Лужков Луков Лукин Львов Лыткин
|
208
|
+
Любимов Любимцев Любов Левкин Лягушкин Лягушов Лялюшкин Ляпин
|
209
|
+
Лясин Мадулин Мажулин Макаров Маклаков Максимов Максимушкин
|
210
|
+
Максудов Малахов Маликов Малинин Малышев Мальчиков Малыхин
|
211
|
+
Малюгин Мамонов Манин Манякин Маркин Марков Маринин Марьин
|
212
|
+
Маслов Матвеев Машарин Медведев Медведков Медников Меледин
|
213
|
+
Мелехов Меликов Мельников Меншиков Менщиков Меркушев Мещеряков
|
214
|
+
Мигунов Мизенов Милехин Милорадов Милюков Милютин Минеев Минин
|
215
|
+
Минкин Миров Мирнов Миронов Митин Митрофанов Михайлов Михалев
|
216
|
+
Михеев Мишнев Мишутин Моисеев Молчанов Моренов Морозов Моряков
|
217
|
+
Мосалев Москвин Муратов Мухортов Мягков Мясников Мятлев Набатов
|
218
|
+
Нардин Наумов Невзоров Неделяев Нежданов Немцев Немцов Ненашев
|
219
|
+
Нестеров Нечаев Никитин Никифоров Никишин Николаев Никонов
|
220
|
+
Никулин Некрасов Новиков Новичков Новосельцев Носачёв Носков
|
221
|
+
Носов Нуриев Оборин Образцов Обухов Овечкин Огородников Огурцов
|
222
|
+
Озеров Оленев Онегин Опокин Орлов Осин Осинов Осинцев Осокин
|
223
|
+
Осолодкин Остальцев Островерхов Ошурков Павлов Панарин Панин
|
224
|
+
Панкин Панков Панфилов Папанов Пасхин Патрушев Пахомов Пашин
|
225
|
+
Пашков Пенкин Переверзев Перевёртов Пересторонин Перехваткин
|
226
|
+
Перов Перфильев Перьмяков Пестов Петров Петухов Печеников Печкин
|
227
|
+
Пивоваров Пирогов Пирожков Пичугин Пичушкин Пищальников
|
228
|
+
Племянников Погодин Погодов Погребнов Подшивалов Поздняков
|
229
|
+
Поливанов Половцев Полотенцев Полунин Полушин Поляков
|
230
|
+
Помельников Поникаров Пономарёв Пончиков Попов Попырин Посохов
|
231
|
+
Потапов Потёмкин Праздников Прибылов Привалов Примаков Пронин
|
232
|
+
Проничев Протасов Прохоров Пугачёв Пугин Пузаков Пузанов Путилин
|
233
|
+
Путилов Путин Путинов Путятин Пушкин Пыжалов Пырьев Разин
|
234
|
+
Разуваев Распопов Распутин Рассказов Расторгуев Ремизов Репин
|
235
|
+
Решетилов Решетников Ржевский Рогачёв Рогов Рогозин Рожков
|
236
|
+
Романов Ростов Ростовцев Рубашкин Рудавин Рудников Румянцев
|
237
|
+
Рунов Русаков Ручкин Рыбалкин Рыбаков Рыжанов Рыжков Рыжов Рыков
|
238
|
+
Рытин Рыченков Рюриков Рябкин Рябков Рябов Рябцев Ряхин Сабанцев
|
239
|
+
Сабитов Савасин Савинков Савенков Саврасов Садыков Сазонов
|
240
|
+
Салтанов Сальков Сальников Самойлов Самохин Самсонов Санников
|
241
|
+
Сапогов Сапожников Сапрыкин Сафиюлин Сафронов Сахаров Свалов
|
242
|
+
Северинов Севостьянов Седельников Седов Селезнёв Селиванов
|
243
|
+
Семёнов Сенькин Сергеев Серебров Серебряков Серёгин Серов
|
244
|
+
Серпионов Семянин Сёмин Сеченов Сиваков Сигаев Сигачёв Сидоров
|
245
|
+
Сизов Силиванов Силин Сильвестров Силаев Силиванов Ситников
|
246
|
+
Скворцов Скрябин Скоробогатов Скороходов Скуратов Слобожанин
|
247
|
+
Смагин Смирнов Сметанин Смолин Смолянинов Смотров Снаткин
|
248
|
+
Снегирёв Снетков Соболев Соколов Солдатов Соловьёв Солодников
|
249
|
+
Соломин Соломонов Сопов Сорокин Спанов Сталин Стариков Старцев
|
250
|
+
Староверов Староволков Стародубов Стародубцев Стеблев Стегнов
|
251
|
+
Степанов Степанков Степашин Стрелков Стрекалов Строганов
|
252
|
+
Субботин Суботин Суворин Суворкин Суворов Сунгатулин Сукачев
|
253
|
+
Сукин Султанов Суриков Сусоев Сусляков Сутулин Суханов Сухоруков
|
254
|
+
Сучков Сысоев Сытников Сычёв Сычкин Сюкосев Табаков Табернакулов
|
255
|
+
Таланов Талалихин Танков Тарасов Татаров Татауров Твардовский
|
256
|
+
Тёмкин Телицын Теплов Теребов Терёшин Тетерев Тимошкин Типалов
|
257
|
+
Титов Тихомиров Тихонов Ткачёв Токарев Токмаков Толбанов
|
258
|
+
Толкачёв Толмачёв Толстобров Толстокожев Топоров Торопов Травкин
|
259
|
+
Трактирников Третьяков Трифонов Трофимов Трусов Трутнев Труфанов
|
260
|
+
Трухин Трындин Туполев Турбин Тургенев Туров Турфанов Тычкин
|
261
|
+
Тюшняков Тянников Убейсобакин Угольников Ульянов Ульяшин
|
262
|
+
Успенский Усатов Усачёв Усов Устинов Устюжанин Утёсов Ухов Фанин
|
263
|
+
Фамусов Федин Федосов Федотов Федосеев Федченков Фёдоров Федулов
|
264
|
+
Фетисов Филатов Филимонов Филипов Филиппов Флёров Фокин Фоменков
|
265
|
+
Фомин Фомичев Фонвизин Форопонов Фирсов Фролов Францев Фукин
|
266
|
+
Хабалов Хабаров Хабенский Халипов Халтурин Ханилов Ханипов
|
267
|
+
Ханцев Харитонов Харламов Хлебов Хлебников Хлопонин Хмельнов
|
268
|
+
Ходяев Холодов Хомколов Храмов Хребтов Хромов Хрущёв Худовеков
|
269
|
+
Худяков Хуртин Царицын Царёв Цветаев Цветков Цирюльников
|
270
|
+
Цитников Цуканов Чаадаев Чадов Чазов Чапаев Чеботарёв Чебыкин
|
271
|
+
Чежеков Чекмарёв Челомеев Челомцев Челпанов Чендев Черенчиков
|
272
|
+
Черепанов Черкашин Чернов Чернаков Черников Чернышёв Чесноков
|
273
|
+
Чиграков Чижиков Чилаев Чистяков Чичиков Чичканов Чкалов Чмыхов
|
274
|
+
Чугунов Чудов Чужинов Чукчов Чукреев Чупахин Чупов Чуприн Чупров
|
275
|
+
Чуркин Чучанов Чучумашев Шабунин Шакмаков Шаляпин Шаповалов
|
276
|
+
Шапошников Шарапов Шаров Шаршин Шашлов Шведов Шеломов Шепкин
|
277
|
+
Шеповалов Шереметьев Шерстов Шикалов Ширманов Шихранов Шишкин
|
278
|
+
Шишлов Шишов Шкуратов Шлыков Шмаков Шмелев Шубин Шубкин Шувалов
|
279
|
+
Шукшин Шулёв Шульдешов Шульгин Шурупов Шушалев Щеглов Щеголев
|
280
|
+
Щеголихин Щедрин Щедров Щекочихин Щепкин Щербаков Щербин Щетинин
|
281
|
+
Щеткин Щукин Щуров Энтин Ювелев Юганцев Югов Юдачёв Юдашкин Юдин
|
282
|
+
Юнкин Юракин Юрнаев Юрьев Юсупов Ютилов Юферев Якимов Яковлев
|
283
|
+
Якубов Якунин Якушев Якушин Янаев Янков Яромеев Ярцев Ясенев
|
284
|
+
Яснеев Яшин} +
|
285
|
+
[ [ "Аксенчук", '', '' ],
|
286
|
+
[ "Антонович", '', '' ],
|
287
|
+
[ "Бебчук", '', '' ],
|
288
|
+
[ "Безродн", 'ый', 'ая' ],
|
289
|
+
[ "Беломестн", 'ый', 'ая' ],
|
290
|
+
[ "Беломестных", '', '' ],
|
291
|
+
[ "Бережн", 'ой', 'ая' ],
|
292
|
+
[ "Бобр", '', '' ],
|
293
|
+
[ "Бобрик", '', '' ],
|
294
|
+
[ "Бойдало", '', '' ],
|
295
|
+
[ "Бок", '', '' ],
|
296
|
+
[ "Бортник", '', '' ],
|
297
|
+
[ "Букирь", '', '' ],
|
298
|
+
[ "Бухало", '', '' ],
|
299
|
+
[ "Валевач", '', '' ],
|
300
|
+
[ "Головаха", '', '' ],
|
301
|
+
[ "Голумбовск", 'ий', 'ая' ],
|
302
|
+
[ "Гретченко", '', '' ],
|
303
|
+
[ "Гречко", '', '' ],
|
304
|
+
[ "Григолюк", '', '' ],
|
305
|
+
[ "Громыко", '', '' ],
|
306
|
+
[ "Гурковск", 'ий', 'ая' ],
|
307
|
+
[ "Дубровск", 'ий', 'ая' ],
|
308
|
+
[ "Думановск", 'ий', 'ая' ],
|
309
|
+
[ "Едемск", 'ий', 'ая' ],
|
310
|
+
[ "Емельяненко", '', '' ],
|
311
|
+
[ "Ешевск", 'ий', 'ая' ],
|
312
|
+
[ "Завражн", 'ый', 'ая' ],
|
313
|
+
[ "Задорожн", 'ый', 'ая' ],
|
314
|
+
[ "Закревск", 'ий', 'ая' ],
|
315
|
+
[ "Зинченко", '', '' ],
|
316
|
+
[ "Илькун", '', '' ],
|
317
|
+
[ "Калашник", '', '' ],
|
318
|
+
[ "Каменских", '', '' ],
|
319
|
+
[ "Кандинск", 'ий', 'ая' ],
|
320
|
+
[ "Капица", '', '' ],
|
321
|
+
[ "Касат", 'ый', 'ая' ],
|
322
|
+
[ "Кирилловск", 'ий', 'ая' ],
|
323
|
+
[ "Ковалевск", 'ий', 'ая' ],
|
324
|
+
[ "Козарь", '', '' ],
|
325
|
+
[ "Козловск", 'ий', 'ая' ],
|
326
|
+
[ "Косяк", '', '' ],
|
327
|
+
[ "Кравчук", '', '' ],
|
328
|
+
[ "Кузьмич", '', '' ],
|
329
|
+
[ "Лапидус", '', '' ],
|
330
|
+
[ "Лебединск", 'ий', 'ая' ],
|
331
|
+
[ "Леснич", 'ий', 'ая' ],
|
332
|
+
[ "Лобан", '', '' ],
|
333
|
+
[ "Логиновск", 'ий', 'ая' ],
|
334
|
+
[ "Лосевск", 'ий', 'ая' ],
|
335
|
+
[ "Майсак", '', '' ],
|
336
|
+
[ "Маслак", '', '' ],
|
337
|
+
[ "Машир", '', '' ],
|
338
|
+
[ "Оболенск", 'ий', 'ая' ],
|
339
|
+
[ "Ольховск", 'ий', 'ая' ],
|
340
|
+
[ "Остапюк", '', '' ],
|
341
|
+
[ "Островск", 'ий', 'ая' ],
|
342
|
+
[ "Панькив", '', '' ],
|
343
|
+
[ "Первак", '', '' ],
|
344
|
+
[ "Покровск", 'ий', 'ая' ],
|
345
|
+
[ "Полищук", '', '' ],
|
346
|
+
[ "Полторак", '', '' ],
|
347
|
+
[ "Приходько", '', '' ],
|
348
|
+
[ "Рабинович", '', '' ],
|
349
|
+
[ "Родзянко", '', '' ],
|
350
|
+
[ "Рокоссовск", 'ий', 'ая' ],
|
351
|
+
[ "Русских", '', '' ],
|
352
|
+
[ "Сай", '', '' ],
|
353
|
+
[ "Салко", '', '' ],
|
354
|
+
[ "Семичаевск", 'ий', 'ая' ],
|
355
|
+
[ "Сиз", 'ый', 'ая' ],
|
356
|
+
[ "Случевск", 'ий', 'ая' ],
|
357
|
+
[ "Смирнитск", 'ий', 'ая' ],
|
358
|
+
[ "Соболевск", 'ий', 'ая' ],
|
359
|
+
[ "Солодских", '', '' ],
|
360
|
+
[ "Тихвинск", 'ий', 'ая' ],
|
361
|
+
[ "Ткаченко", '', '' ],
|
362
|
+
[ "Толст", 'ой', 'ая' ],
|
363
|
+
[ "Торчинович", '', '' ],
|
364
|
+
[ "Тредиаковск", 'ий', 'ая' ],
|
365
|
+
[ "Циолковск", 'ий', 'ая' ],
|
366
|
+
[ "Чал", 'ый', 'ая' ],
|
367
|
+
[ "Челомей", '', '' ],
|
368
|
+
[ "Черных", '', '' ],
|
369
|
+
[ "Чиркаш", '', '' ],
|
370
|
+
[ "Шевелёк", '', '' ],
|
371
|
+
[ "Шуйск", 'ий', 'ая' ],
|
372
|
+
[ "Шуличенко", '', '' ],
|
373
|
+
[ "Шульга", '', '' ],
|
374
|
+
[ "Шурша", '', '' ],
|
375
|
+
[ "Щавельск", 'ий', 'ая' ],
|
376
|
+
[ "Щегельск", 'ий', 'ая' ],
|
377
|
+
[ "Щербатых", '', '' ],
|
378
|
+
[ "Экель", '', '' ],
|
379
|
+
[ "Эмануиль", '', '' ],
|
380
|
+
[ "Эсце", '', '' ],
|
381
|
+
[ "Этуш", '', '' ],
|
382
|
+
[ "Якименко", '', '' ],
|
383
|
+
[ "Якубович", '', '' ],
|
384
|
+
[ "Янковск", 'ий', 'ая' ],
|
385
|
+
[ "Янукович", '', '' ],
|
386
|
+
[ "Ярмольник", '', '' ] ]
|
387
|
+
|
388
|
+
# http://b23.ru/qtq
|
389
|
+
CitiesByRegion = {
|
390
|
+
# Центральный федеральный округ
|
391
|
+
'Белгородская обл.' => %w(Белгород Алексеевка Бирюч Валуйки Грайворон Губкин Короча Строитель Шебекино
|
392
|
+
Новый_Оскол Старый_Оскол),
|
393
|
+
|
394
|
+
'Брянская обл.' => %w(Брянск Дятьково Жуковка Злынка Карачев Клинцы Мглин Новозыбков Почеп Севск Сельцо
|
395
|
+
Стародуб Сураж Трубчевск Унеча Фокино),
|
396
|
+
|
397
|
+
'Владимирская обл.' => %w(Владимир Александров Вязники Гороховец Гусь-Хрустальный Камешково Карабаново
|
398
|
+
Киржач Ковров Кольчугино Костерево Курлово Лакинск Меленки Муром Петушки
|
399
|
+
Покров Радужный Собинка Струнино Судогда Суздаль Юрьев-Польский),
|
400
|
+
|
401
|
+
'Воронежская обл.' => %w(Воронеж Бобров Богучар Борисоглебск Бутурлиновка Калач Лиски Нововоронеж
|
402
|
+
Новохоперск Острогожск Павловск Поворино Россошь Семилуки Эртиль),
|
403
|
+
|
404
|
+
'Ивановская обл.' => %w(Иваново Вичуга Заволжск Кинешма Комсомольск Кохма Наволоки Плес Приволжск
|
405
|
+
Пучеж Родники Тейково Фурманов Шуя Южа Юрьевец Гаврилов_Посад),
|
406
|
+
|
407
|
+
'Калужская обл.' => %w(Калуга Балабаново Белоусово Боровск Ермолино Жиздра Жуков Киров Козельск
|
408
|
+
Кондрово Кремёнки Людиново Малоярославец Медынь Мещовск Мосальск Обнинск
|
409
|
+
Сосенский Спас-Деменск Сухиничи Таруса Юхнов),
|
410
|
+
|
411
|
+
'Костромская обл.' => %w(Кострома Буй Волгореченск Галич Кологрив Макарьев Мантурово Нерехта Нея
|
412
|
+
Солигалич Чухлома Шарья),
|
413
|
+
|
414
|
+
'Курская обл.' => %w(Курск Дмитриев-Льговский Железногорск Курчатов Льгов Обоянь Рыльск Суджа Фатеж Щигры),
|
415
|
+
|
416
|
+
'Липецкая обл.' => %w(Липецк Грязи Данков Елец Задонск Лебедянь Усмань Чаплыгин),
|
417
|
+
|
418
|
+
'Московская обл.' => %w(Москва Апрелевка Балашиха Бронницы Верея Видное Волоколамск Воскресенск
|
419
|
+
Высоковск Дедовск Дзержинский Дмитров Долгопрудный Домодедово Дрезна Дубна
|
420
|
+
Егорьевск Железнодорожный Жуковский Зарайск Звенигород Ивантеевка Истра Кашира
|
421
|
+
Климовск Клин Коломна Королёв Красноармейск Красногорск Краснозаводск
|
422
|
+
Краснознаменск Куровское Ликино-Дулёво Лобня Лосино-Петровский Луховицы Лыткарино
|
423
|
+
Люберцы Можайск Мытищи Наро-Фоминск Ногинск Одинцово Ожерелье Озёры Орехово-Зуево
|
424
|
+
Павловский_Посад Пересвет Подольск Протвино Пушкино Пущино Раменское Реутов Рошаль
|
425
|
+
Руза Сергиев_Посад Серпухов Солнечногорск Ступино Сходня Талдом Троицк Фрязино
|
426
|
+
Химки Хотьково Черноголовка Чехов Шатура Щёлково Щербинка Электрогорск
|
427
|
+
Электросталь Электроугли Юбилейный Яхрома),
|
428
|
+
|
429
|
+
'Орловская обл.' => %w(Орёл Болхов Дмитровск Ливны Малоархангельск Мценск Новосиль),
|
430
|
+
|
431
|
+
'Рязанская обл.' => %w(Рязань Касимов Кораблино Михайлов Новомичуринск Рыбное Ряжск Сасово Скопин
|
432
|
+
Спас-Клепики Спасск-Рязанский Шацк),
|
433
|
+
|
434
|
+
'Смоленская обл.' => %w(Смоленск Велиж Вязьма Гагарин Демидов Десногорск Дорогобуж Духовщина Ельня
|
435
|
+
Починок Рославль Рудня Сафоново Сычевка Ярцево),
|
436
|
+
|
437
|
+
'Тамбовская обл.' => %w(Тамбов Жердевка Кирсанов Котовск Мичуринск Моршанск Рассказово Уварово),
|
438
|
+
|
439
|
+
'Тверская обл.' => %w(Тверь Андреаполь Бежецк Белый Бологое Весьегонск Вышний_Волочек Западная_Двина
|
440
|
+
Зубцов Калязин Кашин Кимры Конаково Красный_Холм Кувшиново Лихославль Нелидово
|
441
|
+
Осташков Ржев Старица Торжок Торопец Удомля),
|
442
|
+
|
443
|
+
'Тульская обл.' => %w(Тула Алексин Белев Богородицк Болохово Венев Донской Ефремов Кимовск Киреевск
|
444
|
+
Липки Новомосковск Плавск Северо-Задонск Советск Сокольники Суворов Узловая
|
445
|
+
Чекалин Щекино Ясногорск),
|
446
|
+
|
447
|
+
'Ярославская обл.' => %w(Ярославль Гаврилов-Ям Данилов Любим Мышкин Переславль-Залесский Пошехонье
|
448
|
+
Ростов Рыбинск Тутаев Углич),
|
449
|
+
|
450
|
+
# Северо-Западный федеральный округ
|
451
|
+
'Республика Карелия' => [nil] + %w(Беломорск Кемь Кондопога Костомукша Лахденпохья Медвежьегорск
|
452
|
+
Олонец Петрозаводск Питкяранта Пудож Сегежа Сортавала Суоярви),
|
453
|
+
|
454
|
+
'Республика Коми' => [nil] + %w(Воркута Вуктыл Емва Инта Микунь Печора Сосногорск Сыктывкар Усинск Ухта),
|
455
|
+
|
456
|
+
'Архангельская обл.' => %w(Архангельск Вельск Каргополь Коряжма Котлас Мезень Мирный Новодвинск
|
457
|
+
Няндома Онега Северодвинск Сольвычегодск Шенкурск),
|
458
|
+
|
459
|
+
'Ненецкий автономный округ' => [nil, 'Нарьян-Мар'],
|
460
|
+
|
461
|
+
'Вологодская обл.' => %w(Вологда Бабаево Белозерск Великий_Устюг Вытегра Грязовец Кадников Кириллов
|
462
|
+
Красавино Никольск Сокол Тотьма Устюжна Харовск Череповец),
|
463
|
+
|
464
|
+
'Калининградская обл.' => %w(Калининград Багратионовск Балтийск Гвардейск Гурьевск Гусев Зеленоградск
|
465
|
+
Краснознаменск Ладушкин Мамоново Неман Нестеров Озерск Пионерский Полесск
|
466
|
+
Правдинск Приморск Светлогорск Светлый Славск Советск Черняховск),
|
467
|
+
|
468
|
+
'Ленинградская обл.' => %w(Санкт-Петербург Бокситогорск Волосово Волхов Всеволожск Выборг Высоцк Гатчина
|
469
|
+
Ивангород Каменногорск Кингисепп Кириши Кировск Коммунар Лодейное_Поле Луга Любань
|
470
|
+
Никольское Новая Ладога Отрадное Пикалево Подпорожье Приморск Приозерск Светогорск
|
471
|
+
Сертолово Сланцы Сосновый_Бор Сясьстрой Тихвин Тосно Шлиссельбург),
|
472
|
+
|
473
|
+
'Мурманская обл.' => %w(Мурманск Апатиты Гаджиево Заозерск Заполярный Кандалакша Кировск Ковдор Кола Мончегорск
|
474
|
+
Оленегорск Островной Полярные_Зори Полярный Североморск Скалистый Снежногорск),
|
475
|
+
|
476
|
+
'Новгородская обл.' => %w(Великий_Новгород Боровичи Валдай Малая Вишера Окуловка Пестово Сольцы
|
477
|
+
Старая_Русса Холм Чудово),
|
478
|
+
|
479
|
+
'Псковская обл.' => %w(Псков Великие_Луки Гдов Дно Невель Новоржев Новосокольники Опочка Остров Печоры
|
480
|
+
Порхов Пустошка Пыталово Себеж),
|
481
|
+
|
482
|
+
# Южный федеральный округ
|
483
|
+
'Республика Адыгея' => [nil] + %w(Адыгейск Майкоп),
|
484
|
+
|
485
|
+
'Республика Дагестан' => [nil] + %w(Буйнакск Дагестанские_Огни Дербент Избербаш Каспийск Кизилюрт
|
486
|
+
Кизляр Махачкала Хасавюрт Южно-Сухокумск),
|
487
|
+
|
488
|
+
'Республика Ингушетия' => [nil] + %w(Карабулак Магас Малгобек Назрань),
|
489
|
+
|
490
|
+
'Кабардино-Балкарская Республика' => [nil] + %w(Баксан Майский Нальчик Нарткала Прохладный Терек Тырныауз Чегем),
|
491
|
+
|
492
|
+
'Республика Калмыкия' => [nil] + %w(Городовиковск Лагань Элиста),
|
493
|
+
|
494
|
+
'Карачаево-Черкесская Республика' => [nil] + %w(Карачаевск Теберда Усть-Джегута Черкесск),
|
495
|
+
|
496
|
+
'Республика Северная Осетия-Алания' => [nil] + %w(Алагир Ардон Беслан Владикавказ Дигора Моздок),
|
497
|
+
|
498
|
+
'Чеченская Республика' => [nil] + %w(Аргун Грозный Гудермес Урус-Мартан Шали),
|
499
|
+
|
500
|
+
'Краснодарский край' => %w(Краснодар Абинск Анапа Апшеронск Армавир Белореченск Геленджик Горячий_Ключ
|
501
|
+
Гулькевичи Ейск Кореновск Кропоткин Крымск Курганинск Лабинск Новокубанск
|
502
|
+
Новороссийск Приморско-Ахтарск Славянск-на-Кубани Сочи Темрюк Тимашевск Тихорецк
|
503
|
+
Тихорецк Туапсе Усть-Лабинск Хадыженск),
|
504
|
+
|
505
|
+
'Ставропольский край' => %w(Ставрополь Благодарный Будённовск Георгиевск Ессентуки Железноводск Зеленокумск
|
506
|
+
Изобильный Ипатово Кисловодск Лермонтов Минеральные_Воды Михайловск Невинномысск
|
507
|
+
Нефтекумск Новоалександровск Новопавловск Пятигорск Светлоград),
|
508
|
+
|
509
|
+
'Астраханская обл.' => %w(Астрахань Ахтубинск Знаменск Камызяк Нариманов Харабали),
|
510
|
+
|
511
|
+
'Волгоградская обл.' => %w(Волгоград Волжский Дубовка Жирновск Калач-на-Дону Камышин Котельниково Котово
|
512
|
+
Краснослободск Ленинск Михайловка Николаевск Новоаннинский Палласовка Петров_Вал
|
513
|
+
Серафимович Суровикино Урюпинск Фролово),
|
514
|
+
|
515
|
+
'Ростовская обл.' => %w(Ростов-на-Дону Азов Аксай Батайск Белая_Калитва Волгодонск Гуково Донецк Зверево
|
516
|
+
Зерноград Каменск-Шахтинский Константиновск Красный_Сулин Миллерово Морозовск
|
517
|
+
Новочеркасск Новошахтинск Пролетарск Сальск Семикаракорск Таганрог Цимлянск Шахты),
|
518
|
+
|
519
|
+
|
520
|
+
# Приволжский федеральный округ
|
521
|
+
'Республика Башкортостан' => [nil] + %w(Агидель Баймак Белебей Белорецк Бирск Благовещенск Давлеканово
|
522
|
+
Дюртюли Ишимбай Кумертау Межгорье Мелеуз Нефтекамск Октябрьский
|
523
|
+
Салават Сибай Стерлитамак Туймазы Уфа Учалы Учалы Янаул),
|
524
|
+
|
525
|
+
'Республика Марий Эл' => [nil] + %w(Волжск Звенигово Йошкар-Ола Козьмодемьянск),
|
526
|
+
|
527
|
+
'Республика Мордовия' => [nil] + %w(Ардатов Инсар Ковылкино Краснослободск Рузаевка Саранск Темников),
|
528
|
+
|
529
|
+
'Республика Татарстан' => [nil] + %w(Агрыз Азнакаево Альметьевск Бавлы Болгар Бугульма Буинск Елабуга
|
530
|
+
Заинск Зеленодольск Казань Лениногорск Мамадыш Менделеевск Мензелинск
|
531
|
+
Набережные_Челны Нижнекамск Нурлат Тетюши Чистополь),
|
532
|
+
|
533
|
+
'Удмуртская Республика' => [nil] + %w(Воткинск Глазов Ижевск Камбарка Можга Сарапул),
|
534
|
+
|
535
|
+
'Чувашская Республика' => [nil] + %w(Алатырь Канаш Козловка Мариинский_Посад Новочебоксарск Цивильск
|
536
|
+
Чебоксары Шумерля Ядрин),
|
537
|
+
|
538
|
+
'Пермский край' => %w(Пермь Александровск Березники Верещагино Горнозаводск Гремячинск Губаха Добрянка
|
539
|
+
Кизел Красновишерск Краснокамск Кудымкар Кунгур Лысьва Нытва Оса Оханск Очер
|
540
|
+
Соликамск Усолье Чайковский Чердынь Чермоз Чернушка Чусовой),
|
541
|
+
|
542
|
+
'Кировская обл.' => %w(Киров Белая_Холуница Вятские_Поляны Зуевка Кирово-Чепецк Кирс Котельнич Луза Малмыж
|
543
|
+
Мураши Нолинск Омутнинск Орлов Слободской Советск Сосновка Уржум Яранск),
|
544
|
+
|
545
|
+
'Нижегородская обл.' => %w(Нижний_Новгород Арзамас Балахна Богородск Бор Ветлуга Володарск Ворсма Выкса
|
546
|
+
Горбатов Городец Дзержинск Заволжье Княгинино Кстово Кулебаки Лукоянов Лысково
|
547
|
+
Навашино Павлово Первомайск Перевоз Саров Семенов Сергач Урень Чкаловск Шахунья),
|
548
|
+
|
549
|
+
'Оренбургская обл.' => %w(Оренбург Абдулино Бугуруслан Бузулук Гай Кувандык Медногорск Новотроицк
|
550
|
+
Орск Соль-Илецк Сорочинск Ясный),
|
551
|
+
|
552
|
+
'Пензенская обл.' => %w(Пенза Беднодемьяновск Белинский Городище Заречный Каменка Кузнецк Нижний_Ломов
|
553
|
+
Никольск Сердобск Сурск),
|
554
|
+
|
555
|
+
'Самарская обл.' => %w(Самара Жигулевск Кинель Нефтегорск Новокуйбышевск Октябрьск Отрадный Похвистнево
|
556
|
+
Сызрань Тольятти Чапаевск),
|
557
|
+
|
558
|
+
'Саратовская обл.' => %w(Саратов Аркадак Аткарск Балаково Балашов Вольск Ершов Калининск Красноармейск
|
559
|
+
Красный_Кут Маркс Новоузенск Петровск Пугачев Ртищево Хвалынск Шиханы Энгельс),
|
560
|
+
|
561
|
+
'Ульяновская обл.' => %w(Ульяновск Барыш Димитровград Инза Новоульяновск Сенгилей Карсун Старая_Майна),
|
562
|
+
|
563
|
+
# Уральский федеральный округ
|
564
|
+
'Курганская обл.' => %w(Курган Далматово Катайск Куртамыш Макушино Петухово Шадринск Шумиха Щучье),
|
565
|
+
|
566
|
+
'Свердловская обл.' => %w(Екатеринбург Алапаевск Арамиль Артемовский Асбест Березовский Богданович
|
567
|
+
Верхний_Тагил Верхняя_Пышма Верхняя_Салда Верхняя_Тура Верхотурье Волчанск Дегтярск
|
568
|
+
Заречный Ивдель Ирбит Каменск-Уральский Камышлов Карпинск Качканар Кировград
|
569
|
+
Краснотурьинск Красноуральск Красноуфимск Кушва Лесной Михайловск Невьянск
|
570
|
+
Нижние_Серги Нижний_Тагил Нижняя_Салда Нижняя_Тура Новая_Ляля Новоуральск
|
571
|
+
Первоуральск Полевской Ревда Реж Североуральск Серов Среднеуральск Сухой_Лог
|
572
|
+
Сысерть Тавда Талица Туринск),
|
573
|
+
|
574
|
+
'Тюменская обл.' => %w(Тюмень Заводоуковск Ишим Тобольск Ялуторовск),
|
575
|
+
|
576
|
+
'Ханты-Мансийский автономный округ' => %w(Ханты-Мансийск Белоярский Когалым Лангепас Лянтор Мегион
|
577
|
+
Нефтеюганск Нижневартовск Нягань Покачи Пыть-Ях Радужный
|
578
|
+
Советский Сургут Урай Югорск),
|
579
|
+
|
580
|
+
'Ямало-Ненецкий автономный округ' => [nil] + %w(Губкинский Лабытнанги Муравленко Надым Новый_Уренгой
|
581
|
+
Ноябрьск Салехард),
|
582
|
+
|
583
|
+
'Челябинская обл.' => %w(Челябинск Аша Бакал Верхнеуральск Верхний_Уфалей Еманжелинск Златоуст Карабаш
|
584
|
+
Карталы Касли Катав-Ивановск Копейск Коркино Куса Кыштым Магнитогорск Миасс Миньяр
|
585
|
+
Нязепетровск Озерск Пласт Сатка Сим Снежинск Трехгорный Троицк Усть-Катав
|
586
|
+
Чебаркуль Южноуральск Юрюзань),
|
587
|
+
|
588
|
+
# Сибирский федеральный округ
|
589
|
+
'Республика Алтай' => %w(Горно-Алтайск),
|
590
|
+
|
591
|
+
'Республика Бурятия' => [nil] + %w(Бабушкин Гусиноозерск Закаменск Кяхта Северобайкальск Улан-Удэ),
|
592
|
+
|
593
|
+
'Республика Тыва' => [nil] + %w(Ак-Довурак Кызыл Туран Чадан Шагонар),
|
594
|
+
|
595
|
+
'Республика Хакасия' => [nil] + %w(Абаза Абакан Саяногорск Сорск Черногорск),
|
596
|
+
|
597
|
+
'Алтайский край' => %w(Барнаул Алейск Белокуриха Бийск Горняк Заринск Змеиногорск Камень-на-Оби
|
598
|
+
Новоалтайск Рубцовск Славгород Яровое),
|
599
|
+
|
600
|
+
'Забайкальский край' => %w(Чита Балей Борзя Краснокаменск Могоча Нерчинск Петровск-Забайкальский
|
601
|
+
Сретенск Хилок Шилка),
|
602
|
+
|
603
|
+
'Красноярский край' => %w(Красноярск Артемовск Ачинск Боготол Бородино Дивногорск Дудинка Енисейск
|
604
|
+
Железногорск Заозерный Зеленогорск Игарка Иланский Кайеркан Канск Кодинск
|
605
|
+
Лесосибирск Минусинск Назарово Норильск Сосновоборск Талнах Ужур Уяр Шарыпово),
|
606
|
+
|
607
|
+
'Иркутская обл.' => %w(Иркутск Алзамай Ангарск Байкальск Бирюсинск Бодайбо Братск Вихоревка
|
608
|
+
Железногорск-Илимский Зима Киренск Нижнеудинск Саянск Свирск Слюдянка Тайшет Тулун
|
609
|
+
Усолье-Сибирское Усть-Илимск Усть-Кут Черемхово Шелехов),
|
610
|
+
|
611
|
+
'Кемеровская обл.' => %w(Кемерово Анжеро-Судженск Белово Березовский Гурьевск Калтан Киселевск
|
612
|
+
Ленинск-Кузнецкий Мариинск Междуреченск Мыски Новокузнецк Осинники Полысаево
|
613
|
+
Прокопьевск Салаир Тайга Таштагол Топки Юрга),
|
614
|
+
|
615
|
+
'Новосибирская обл.' => %w(Новосибирск Барабинск Бердск Болотное Искитим Карасук Каргат Куйбышев
|
616
|
+
Купино Обь Татарск Тогучин Черепаново Чулым),
|
617
|
+
|
618
|
+
'Омская обл.' => %w(Омск Исилькуль Калачинск Называевск Тара Тюкалинск),
|
619
|
+
|
620
|
+
'Томская обл.' => %w(Томск Асино Кедровый Колпашево Северск Стрежевой),
|
621
|
+
|
622
|
+
# Дальневосточный федеральный округ
|
623
|
+
'Республика Саха' => [nil] + %w(Алдан Верхоянск Вилюйск Ленск Мирный Нерюнгри Нюрба Олекминск Покровск
|
624
|
+
Среднеколымск Томмот Удачный Якутск),
|
625
|
+
|
626
|
+
'Камчатский край' => %w(Петропавловск-Камчатский Вилючинск Елизово),
|
627
|
+
|
628
|
+
'Приморский край' => %w(Владивосток Арсеньев Артем Большой_Камень Дальнегорск Дальнереченск Лесозаводск
|
629
|
+
Находка Партизанск Спасск-Дальний Уссурийск Фокино),
|
630
|
+
|
631
|
+
'Хабаровский край' => %w(Хабаровск Амурск Бикин Вяземский Комсомольск-на-Амуре Николаевск-на-Амуре
|
632
|
+
Советская_Гавань),
|
633
|
+
|
634
|
+
'Амурская обл.' => [nil] + %w(Белогорск Благовещенск Завитинск Зея Райчихинск Свободный Сковородино
|
635
|
+
Тында Шимановск),
|
636
|
+
|
637
|
+
'Магаданская обл.' => %w(Магадан Сусуман),
|
638
|
+
|
639
|
+
'Сахалинская обл.' => %w(Южно-Сахалинск Александровск-Сахалинский Анива Горнозаводск Долинск Корсаков
|
640
|
+
Красногорск Курильск Макаров Невельск Оха Поронайск Северо-Курильск Томари
|
641
|
+
Углегорск Холмск Чехов Шахтерск),
|
642
|
+
|
643
|
+
'Еврейская автономная область' => [nil] + %w(Биробиджан Облучье),
|
644
|
+
|
645
|
+
'Чукотский автономный округ' => [nil] + %w( Анадырь Билибино Певек)
|
646
|
+
}.freeze
|
647
|
+
|
648
|
+
unless defined? RegionByCities
|
649
|
+
region_by_cities = Hash.new { |hash, key| hash[key] = [] }
|
650
|
+
|
651
|
+
CitiesByRegion.each do |region, cities|
|
652
|
+
cities.each do |city|
|
653
|
+
region_by_cities[city] << region if city
|
654
|
+
end
|
655
|
+
end
|
656
|
+
|
657
|
+
RegionByCities = region_by_cities.freeze
|
658
|
+
AllCities = RegionByCities.keys.freeze
|
659
|
+
end
|
660
|
+
|
661
|
+
# http://feofanov.fizteh.ru/toall/street.html
|
662
|
+
StreetNames = ((%w{
|
663
|
+
Советская Молодежная Центральная Школьная Новая Садовая Лесная Набережная
|
664
|
+
Ленина Мира Октябрьская Зеленая Комсомольская Заречная Первомайская
|
665
|
+
Гагарина Полевая Луговая Пионерская Кирова Юбилейная Северная
|
666
|
+
Пролетарская Степная Пушкина Калинина Южная Колхозная Рабочая Солнечная
|
667
|
+
Железнодорожная Восточная Заводская Чапаева Нагорная Строителей Береговая
|
668
|
+
Победы Горького Кооперативная Красноармейская Совхозная Речная Спортивная
|
669
|
+
Озерная Строительная Парковая Чкалова Мичурина Подгорная Дружбы Почтовая
|
670
|
+
Партизанская Вокзальная Лермонтова Свободы Дорожная Дачная Маяковского
|
671
|
+
Западная Фрунзе Дзержинского Московская Свердлова Некрасова Гоголя
|
672
|
+
Красная Трудовая Шоссейная Чехова Коммунистическая Труда Комарова
|
673
|
+
Матросова Островского Сосновая Клубная Куйбышева Крупской Березовая
|
674
|
+
Больничная Интернациональная Суворова Цветочная Трактовая Ломоносова
|
675
|
+
Горная Космонавтов Энергетиков Шевченко Весенняя Механизаторов
|
676
|
+
Коммунальная Майская Энгельса Привокзальная Таежная Транспортная Овражная
|
677
|
+
Светлая Вишневая Чернышевского Урицкого Ключевая Ворошилова Тургенева
|
678
|
+
Толстого Песчаная Ленинградская Профсоюзная Буденного Орджоникидзе
|
679
|
+
Герцена Верхняя Ленинская Кирпичная Мостовая Щорса Станционная
|
680
|
+
Луначарского Энтузиастов Титова Лазо Уральская Линейная Пугачева
|
681
|
+
Володарского Кутузова Фабричная Чайковского Магистральная Сибирская
|
682
|
+
Крестьянская Мелиораторов Российская Новоселов Тихая Широкая Нижняя
|
683
|
+
Белинского Тельмана Тимирязева Котовского Народная Промышленная Кольцевая
|
684
|
+
Есенина Дальняя Крылова Декабристов Базарная Целинная Родниковая
|
685
|
+
Фурманова Революционная Социалистическая Звездная Студенческая Гайдара
|
686
|
+
Мирная Терешковой Кубанская Гаражная Фестивальная Гражданская Песочная
|
687
|
+
Сиреневая Ватутина Сельская Кузнечная Пушкинская Крайняя Коммунаров
|
688
|
+
Гвардейская Веселая Загородная Олимпийская Гастелло Жданова Радищева
|
689
|
+
Нефтяников Осипенко Приозерная Рябиновая Заозерная Нахимова Боровая
|
690
|
+
Жукова Павлова Урожайная Попова Торговая Жуковского Королева Донская
|
691
|
+
Пограничная Огородная Пригородная Грибоедова Стадионная Менделеева
|
692
|
+
Достоевского Репина Виноградная Циолковского Воровского Киевская
|
693
|
+
Революции Индустриальная Красногвардейская Волжская Кошевого Пархоменко
|
694
|
+
Свободная Кедровая Подлесная Полярная Раздольная Карьерная Мельничная
|
695
|
+
Серова Украинская Шахтерская Запрудная Элеваторная Театральная
|
696
|
+
Добролюбова Геологическая Болотная Красина Коминтерна Придорожная
|
697
|
+
Кленовая Разина Черняховского Казачья Ветеранов Малая Пирогова Геологов
|
698
|
+
Тукая Морская Волгоградская Димитрова Средняя Безымянная Краснофлотская
|
699
|
+
Братская Тенистая Учительская Маркса Кавказская Ушакова Короткая
|
700
|
+
Деповская Амурская Сенная Поселковая Юности Короленко Прудовая Шолохова
|
701
|
+
Депутатская Авиационная Черемушки Кольцова Плеханова Аэродромная Большая
|
702
|
+
Приморская Алтайская Макаренко Глинки Специалистов Халтурина Морозова
|
703
|
+
Тополиная Ростовская Тракторная Коммуны Мелиоративная Ольховая Славянская
|
704
|
+
Карбышева Баумана Радужная Правды Краснодарская Фадеева Стахановская
|
705
|
+
Ярославская Челюскинцев Коллективная Ангарская Новостройка Шмидта
|
706
|
+
Кузнецова Локомотивная Войкова Панфилова Ягодная Смоленская Тепличная
|
707
|
+
Водопроводная Республиканская Автомобилистов Космодемьянской Осенняя
|
708
|
+
Байкальская Седова Саратовская Казанская Блюхера Воронежская Брянская
|
709
|
+
Производственная Спартака Техническая Енисейская Николаева Бабушкина
|
710
|
+
Севастопольская Окружная Октября Щетинкина Орловская Хуторская Тупиковая
|
711
|
+
Каштановая Омская Гончарова Привольная Щербакова Курортная Ивановская
|
712
|
+
Выгонная Крымская Путейская Азина Проезжая Сурикова Краснознаменная
|
713
|
+
Одесская Января Подстанция Логовая Высокая Ясная Портовая Снежная
|
714
|
+
Санаторная Союзная Волкова Ульяновская Никитина Сахалинская Горняцкая
|
715
|
+
Рылеева Прибрежная Химиков Рыбацкая Полтавская Тамбовская Красноярская
|
716
|
+
Новосельская Проточная Черноморская Курчатова Минская Микрорайон Главная
|
717
|
+
Докучаева Вольная Просвещения Смирнова Хвойная Космическая Моховая
|
718
|
+
Макарова Курская Курганная Угловая Камская Инженерная Лесозаводская
|
719
|
+
Астраханская Иванова Гафури Высоцкого Белорусская Бажова Кочубея
|
720
|
+
Заовражная Азовская Ручейная Леонова Волочаевская Надежды Ставропольская
|
721
|
+
Металлистов Вавилова Слободская Ульянова Тульская Харьковская Петровская
|
722
|
+
Владимирская Семашко Высоковольтная Шаумяна Чайкиной Лазурная Ермака
|
723
|
+
Дорожников Покровская Новгородская Ленская Сплавная Ударная Калужская
|
724
|
+
Монтажников Прудная Шишкина Краснопартизанская Ореховая Таманская
|
725
|
+
Иркутская Металлургов Отрадная Беляева Большевистская Троицкая Лесхозная
|
726
|
+
Дружба Васильковая Серафимовича Ильича Механическая Невского Путевая
|
727
|
+
Кузнецкая Физкультурная Леваневского Водников Вахитова Станиславского
|
728
|
+
Черемуховая Советов Флотская Угольная Пожарского Папанина Просторная
|
729
|
+
Поперечная Городская Победа Абрикосовая Бульварная Прохладная Томская
|
730
|
+
Энергетическая Литейная Медицинская Заливная Журавлева Бригадная Культуры
|
731
|
+
Минина Машиностроителей Детская ДОС Тюленина Запорожская Дальневосточная
|
732
|
+
Громова Балтийская Февральская Толбухина Лунная Дарвина Высотная
|
733
|
+
Рязанская Малиновая Механизаторская Яблоневая Красногорская Липовая
|
734
|
+
Марата Горняков Переселенческая Новосибирская Рождественская Тухачевского
|
735
|
+
Лебедева Железнодорожников Бакинская Приречная Хабаровская Тверская
|
736
|
+
Малышева Айвазовского Самарская Складская Приовражная Хмельницкого
|
737
|
+
Фруктовая Ключевская Мечникова Газовиков Продольная Калининградская
|
738
|
+
Земляничная Авиаторов Бородина Связи Уфимская Демократическая Желябова
|
739
|
+
Дубовая Прямая Калининская Кировская Менжинского Молодогвардейская
|
740
|
+
Петрова Кравченко Лесопильная Дача Губкина Гористая Оренбургская Невская
|
741
|
+
Оборонная Паровозная Артиллерийская Пржевальского Текстильщиков
|
742
|
+
Спартаковская Янтарная Челюскина Костромская Никольская Новороссийская
|
743
|
+
Обская Беговая Свобода Уссурийская Иртышская Конституции Лагерная
|
744
|
+
Михайловская Либкнехта Пензенская Саянская Спасская Текстильная
|
745
|
+
Международная Донецкая Футбольная Доватора Расковой Красносельская
|
746
|
+
Мичуринская Лиманная Возрождения Арсеньева Пятигорская Ремесленная
|
747
|
+
Рощинская Тюменская Ярославского Краснодонская Кривая Делегатская Первая
|
748
|
+
Аксакова Артема Юлаева Челябинская Левитана Ладожская Летняя Лескова
|
749
|
+
Малиновского Мусоргского Крутая Еловая Животноводов Пионеров Нефтебаза
|
750
|
+
Офицерская Нестерова Связистов Стаханова Лобачевского Дружная Газовая
|
751
|
+
Пихтовая Армейская Рудничная Прогонная Телеграфная Институтская Каменная
|
752
|
+
Можайского Милицейская Лихачева Забайкальская Переездная Ветеринарная
|
753
|
+
Федорова Ямская Каменская Знаменская Межевая Громовой Онежская Надречная
|
754
|
+
Огарева Багратиона Торфяная Станичная Камчатская Джамбула Новаторов
|
755
|
+
Ботаническая Апрельская Салтыкова-Щедрина Сеченова Солдатская Танкистов
|
756
|
+
Березовская Андреева Аптечная Цимлянская Сосновская Чапаевская Захарова
|
757
|
+
Ипподромная Литвинова Гранитная Грибная Дежнева Васильева Рокоссовского
|
758
|
+
Промысловая Конечная Изумрудная Маслозаводская Охотничья Низовая
|
759
|
+
Перспективная Базовая Республики Читинская Карельская Кустарная МОПРА
|
760
|
+
Жемчужная Островная Парниковая Барнаульская Бородинская Аэропорт
|
761
|
+
Александровская Рижская Рассветная Сельскохозяйственная Пристанская
|
762
|
+
Хлебная Условная Зорге Козлова Заслонова Курганская Мурманская Дунайская
|
763
|
+
Жигулевская Егорова Добровольского Писарева Орлова Нариманова Пестеля
|
764
|
+
Автомобильная Большевиков Брестская Салавата Квартальная Люксембург
|
765
|
+
Кропоткина Культурная Мамина-Сибиряка Гончарная Пермская Водная
|
766
|
+
Беломорская Пугачевская Краснооктябрьская Кузбасская Днепровская
|
767
|
+
Объездная Армавирская Верещагина Проселочная Ползунова Учебная Тукаева
|
768
|
+
Филатова Стрельникова Львовская Кулибина Интернационала Водопьянова
|
769
|
+
Соловьиная Черниговская Каспийская Известковая Ильинская Инициативная
|
770
|
+
Луганская Покрышкина Новогодняя Обручева Алексеева Силикатная Ташкентская
|
771
|
+
Худайбердина Магнитогорская Горская Вологодская Державина Бебеля Славы
|
772
|
+
Русская Правобережная} +
|
773
|
+
[
|
774
|
+
'1 Мая', '30 лет Победы', '40 лет ВЛКСМ', '40 лет Победы', '40 лет Октября', '50 лет ВЛКСМ', '50 лет Победы',
|
775
|
+
'50 лет Октября', '60 лет СССР', '60 лет Октября', '70 лет Октября', '8 Марта', '9 Мая', 'Зои Космодемьянской',
|
776
|
+
'Мусы Джалиля', 'Лизы Чайкиной', 'Льва Толстого', 'Розы Люксембург', 'Сакко и Ванцетти', 'Карла Маркса',
|
777
|
+
'Клары Цеткин', 'Олега Кошевого', 'Карла Либкнехта', 'Сергея Лазо', 'Дружбы Народов', 'Красных Зорь',
|
778
|
+
'Красная Горка', 'Маршала Жукова', 'Степана Разина', 'Демьяна Бедного', 'Молодой Гвардии', 'Красных Партизан',
|
779
|
+
'Максима Горького', 'Павлика Морозова', 'Богдана Хмельницкого', 'Сосновый бор', 'Салавата Юлаева',
|
780
|
+
'Советской Армии', 'Парижской Коммуны'
|
781
|
+
]).map { |str| "ул. #{str}" } + %w{
|
782
|
+
Школьный Садовый Лесной Зеленый Советский Новый Октябрьский
|
783
|
+
Первомайский Комсомольский Пионерский Южный Северный Больничный Речной
|
784
|
+
Почтовый Восточный Молодежный Рабочий Солнечный Колхозный Заводской
|
785
|
+
Тихий Западный Степной Спортивный Центральный Луговой Кооперативный
|
786
|
+
Полевой Пролетарский Мирный Железнодорожный Клубный Совхозный
|
787
|
+
Красноармейский Дорожный Горный Заречный Озерный Майский Парковый
|
788
|
+
Набережный Дачный Строительный Юбилейный Малый Короткий Сосновый
|
789
|
+
Светлый Овражный Безымянный Березовый Береговой Пушкина Партизанский
|
790
|
+
Нагорный Красный Чапаева Кирова Вокзальный Коммунальный Строителей
|
791
|
+
Кузнечный Кирпичный Базарный Калинина Гагарина Песчаный Цветочный
|
792
|
+
Ленина Веселый Трудовой Мостовой Дальний Торговый Мира Мельничный
|
793
|
+
Вишневый Транспортный Московский Лермонтова Горького Некрасова Чехова
|
794
|
+
Маяковского Фабричный Чкалова Широкий Подгорный Дружбы Весенний
|
795
|
+
Тупиковый Шоссейный Средний Гоголя Матросова Ключевой Шевченко Крупской
|
796
|
+
Победы Свободный Узкий Звездный Коммунистический Линейный Таежный
|
797
|
+
Ленинский Свердлова Донской Островского Фрунзе Дзержинского Пушкинский
|
798
|
+
Станционный Мичурина Гаражный Казачий Кривой Глухой Верхний Тургенева
|
799
|
+
Суворова Кольцевой Куйбышева Виноградный Свободы Крайний Крестьянский
|
800
|
+
Песочный Интернациональный Кубанский Банный Чернышевского Гвардейский
|
801
|
+
Уральский Огородный Братский Театральный Крутой Пожарный Родниковый
|
802
|
+
Урицкого Промышленный Сибирский Ломоносова Кировский Карьерный
|
803
|
+
Механизаторов Болотный Привокзальный Энергетиков Гражданский Нижний
|
804
|
+
Володарского Энгельса Ленинградский Урожайный Тупой Щорса Буденного
|
805
|
+
Сенной Котовского Сельский Сиреневый Толстого Луначарского Волжский
|
806
|
+
Тракторный Стадионный Кедровый Комарова Герцена Марта Прямой
|
807
|
+
Революционный Целинный Элеваторный Киевский Крылова Детский Аптечный
|
808
|
+
Профсоюзный Учительский Каменный Кутузова Загородный Пугачева Радужный
|
809
|
+
Пригородный}.map { |str| str.end_with?("й") ? "#{str} пер." : "пер. #{str}" } +
|
810
|
+
[
|
811
|
+
'пл. Ленина', 'пр-т Ленина', 'Советская пл.', 'Школьный проезд', 'Микрорайон', 'пр-т Мира',
|
812
|
+
'1 линия', '2 линия', 'пл. Революции', '3 линия', 'пл. Победы', 'мкр. Северный', 'Садовый проезд',
|
813
|
+
'Лесной проезд', 'Московское ш.', 'пл. Свободы пл', 'Северный проезд'
|
814
|
+
]
|
815
|
+
).freeze
|
816
|
+
end
|
817
|
+
end
|