Compare commits
7
Commits
c7e5b02362
...
e00062ea9f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e00062ea9f | ||
|
|
495cf08a05 | ||
|
|
e52e9550e6 | ||
|
|
7dd66d45bd | ||
|
|
f7eee7577c | ||
|
|
a758c5ef05 | ||
|
|
832738891c |
+1
-1
@@ -4,7 +4,7 @@
|
|||||||
"demask": true,
|
"demask": true,
|
||||||
"maskMode": "MASK",
|
"maskMode": "MASK",
|
||||||
"types": ["*"],
|
"types": ["*"],
|
||||||
"requireCompanion": ["CVV", "PIN", "DATE"]
|
"requireCompanion": ["CVV", "PIN", "DATE", "BIRTH_PLACE", "ADDRESS_COUNTRY"]
|
||||||
},
|
},
|
||||||
"crm": {
|
"crm": {
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
|
|||||||
@@ -15,10 +15,9 @@ import org.eclipse.microprofile.config.inject.ConfigProperty;
|
|||||||
import org.jboss.logging.Logger;
|
import org.jboss.logging.Logger;
|
||||||
import ru.pdguard.config.SystemPolicy;
|
import ru.pdguard.config.SystemPolicy;
|
||||||
import ru.pdguard.config.SystemsConfig;
|
import ru.pdguard.config.SystemsConfig;
|
||||||
|
import ru.pdguard.core.AdaptiveConcurrencyLimiter;
|
||||||
import ru.pdguard.core.Pipeline;
|
import ru.pdguard.core.Pipeline;
|
||||||
|
|
||||||
import java.util.concurrent.Semaphore;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Единственная точка входа контракта: маскирование и демаскирование по
|
* Единственная точка входа контракта: маскирование и демаскирование по
|
||||||
* {@code payload_id}.
|
* {@code payload_id}.
|
||||||
@@ -28,8 +27,10 @@ import java.util.concurrent.Semaphore;
|
|||||||
* контракт работает и без него. Система, выключенная в настройках, получает
|
* контракт работает и без него. Система, выключенная в настройках, получает
|
||||||
* {@code 403}.
|
* {@code 403}.
|
||||||
*
|
*
|
||||||
* <p>При перегрузке отвечает {@code 429} с {@code Retry-After} вместо того,
|
* <p>При перегрузке отвечает {@code 429} с {@code Retry-After}. Порог перегрузки —
|
||||||
* чтобы копить запросы и упереться в таймаут вызывающей стороны.
|
* не фиксированное число запросов, а задержка обработки: {@link AdaptiveConcurrencyLimiter}
|
||||||
|
* сам находит потолок конкурентности под то, сколько CPU реально досталось контейнеру,
|
||||||
|
* вместо того чтобы копить запросы и упереться в таймаут вызывающей стороны.
|
||||||
*/
|
*/
|
||||||
@Path("/process")
|
@Path("/process")
|
||||||
public class ProcessResource {
|
public class ProcessResource {
|
||||||
@@ -49,20 +50,25 @@ public class ProcessResource {
|
|||||||
|
|
||||||
private final Pipeline pipeline;
|
private final Pipeline pipeline;
|
||||||
private final SystemsConfig systems;
|
private final SystemsConfig systems;
|
||||||
private final Semaphore permits;
|
private final AdaptiveConcurrencyLimiter limiter;
|
||||||
private final Counter rejected;
|
private final Counter rejected;
|
||||||
private final Counter malformed;
|
private final Counter malformed;
|
||||||
private final Counter forbidden;
|
private final Counter forbidden;
|
||||||
|
|
||||||
public ProcessResource(Pipeline pipeline, SystemsConfig systems, MeterRegistry meters,
|
public ProcessResource(Pipeline pipeline, SystemsConfig systems, MeterRegistry meters,
|
||||||
|
@ConfigProperty(name = "pdguard.min-concurrent", defaultValue = "8")
|
||||||
|
int minConcurrent,
|
||||||
@ConfigProperty(name = "pdguard.max-concurrent", defaultValue = "2000")
|
@ConfigProperty(name = "pdguard.max-concurrent", defaultValue = "2000")
|
||||||
int maxConcurrent) {
|
int maxConcurrent,
|
||||||
|
@ConfigProperty(name = "pdguard.target-latency-ms", defaultValue = "200")
|
||||||
|
long targetLatencyMillis) {
|
||||||
this.pipeline = pipeline;
|
this.pipeline = pipeline;
|
||||||
this.systems = systems;
|
this.systems = systems;
|
||||||
this.permits = new Semaphore(maxConcurrent);
|
this.limiter = new AdaptiveConcurrencyLimiter(minConcurrent, maxConcurrent, targetLatencyMillis);
|
||||||
this.rejected = meters.counter("pdguard.requests.rejected", "reason", "overload");
|
this.rejected = meters.counter("pdguard.requests.rejected", "reason", "overload");
|
||||||
this.malformed = meters.counter("pdguard.requests.rejected", "reason", "malformed");
|
this.malformed = meters.counter("pdguard.requests.rejected", "reason", "malformed");
|
||||||
this.forbidden = meters.counter("pdguard.requests.rejected", "reason", "system_disabled");
|
this.forbidden = meters.counter("pdguard.requests.rejected", "reason", "system_disabled");
|
||||||
|
meters.gauge("pdguard.concurrency.limit", limiter, AdaptiveConcurrencyLimiter::limit);
|
||||||
}
|
}
|
||||||
|
|
||||||
@POST
|
@POST
|
||||||
@@ -87,10 +93,11 @@ public class ProcessResource {
|
|||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!permits.tryAcquire()) {
|
if (!limiter.tryAcquire()) {
|
||||||
rejected.increment();
|
rejected.increment();
|
||||||
return Response.status(429).header("Retry-After", "1").build();
|
return Response.status(429).header("Retry-After", "1").build();
|
||||||
}
|
}
|
||||||
|
long started = System.nanoTime();
|
||||||
try {
|
try {
|
||||||
String result = pipeline.process(request.payload(), request.payloadId(), policy);
|
String result = pipeline.process(request.payload(), request.payloadId(), policy);
|
||||||
return Response.ok(new ProcessResponse(result)).build();
|
return Response.ok(new ProcessResponse(result)).build();
|
||||||
@@ -101,7 +108,7 @@ public class ProcessResource {
|
|||||||
request.payloadId());
|
request.payloadId());
|
||||||
return Response.ok(new ProcessResponse(request.payload())).build();
|
return Response.ok(new ProcessResponse(request.payload())).build();
|
||||||
} finally {
|
} finally {
|
||||||
permits.release();
|
limiter.release(System.nanoTime() - started);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,9 @@ import java.util.Set;
|
|||||||
* @param types типы ПД к маскированию; {@code "*"} — все известные
|
* @param types типы ПД к маскированию; {@code "*"} — все известные
|
||||||
* @param requireCompanion типы, которые маскируются только вместе с ПД другого типа:
|
* @param requireCompanion типы, которые маскируются только вместе с ПД другого типа:
|
||||||
* пин-код сам по себе безвреден, пин-код рядом с номером
|
* пин-код сам по себе безвреден, пин-код рядом с номером
|
||||||
* карты — уже нет; то же для даты без якорного слова
|
* карты — уже нет; то же для даты без якорного слова, места
|
||||||
|
* рождения («Нижний Новгород» в рассказе о городе — не адрес
|
||||||
|
* клиента) и страны («цены выросли в Казахстане» — не гражданство)
|
||||||
*/
|
*/
|
||||||
public record SystemPolicy(boolean enabled, boolean demask, MaskMode maskMode,
|
public record SystemPolicy(boolean enabled, boolean demask, MaskMode maskMode,
|
||||||
Set<String> types, Set<String> requireCompanion) {
|
Set<String> types, Set<String> requireCompanion) {
|
||||||
@@ -22,7 +24,8 @@ public record SystemPolicy(boolean enabled, boolean demask, MaskMode maskMode,
|
|||||||
|
|
||||||
/** Политика по умолчанию: маскируем всё, что умеем, обратное преобразование включено. */
|
/** Политика по умолчанию: маскируем всё, что умеем, обратное преобразование включено. */
|
||||||
public static final SystemPolicy DEFAULT = new SystemPolicy(
|
public static final SystemPolicy DEFAULT = new SystemPolicy(
|
||||||
true, true, MaskMode.MASK, Set.of(ALL), Set.of("CVV", "PIN", "DATE"));
|
true, true, MaskMode.MASK, Set.of(ALL),
|
||||||
|
Set.of("CVV", "PIN", "DATE", "BIRTH_PLACE", "ADDRESS_COUNTRY"));
|
||||||
|
|
||||||
public SystemPolicy {
|
public SystemPolicy {
|
||||||
types = Set.copyOf(types);
|
types = Set.copyOf(types);
|
||||||
|
|||||||
@@ -0,0 +1,124 @@
|
|||||||
|
package ru.pdguard.core;
|
||||||
|
|
||||||
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
import java.util.concurrent.atomic.AtomicLong;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Предел одновременных запросов, который сам подстраивается под задержку,
|
||||||
|
* а не задан фиксированным числом. Растёт, пока обработка укладывается в
|
||||||
|
* целевое время, и сжимается, как только перестаёт — вместо того чтобы
|
||||||
|
* копить очередь и подходить к таймауту вызывающей стороны.
|
||||||
|
*
|
||||||
|
* <p>Число CPU контейнеру намеренно не спрашивается: {@code Runtime.
|
||||||
|
* availableProcessors()} под квотой {@code --cpus} в cgroups не меняется
|
||||||
|
* (это не affinity, а квота), поэтому в контейнере с долей ядра оно
|
||||||
|
* показывает все ядра хоста и как источник предела не годится. Задержка —
|
||||||
|
* наблюдаемое следствие реальной доли CPU, а не догадка о её размере.
|
||||||
|
*
|
||||||
|
* <p>Шаг регулировки привязан к времени, не к числу запросов: при первой
|
||||||
|
* версии предел менялся на каждый завершённый запрос, и на высоком RPS
|
||||||
|
* тысячи «быстрых» замеров прилетали за миллисекунды — предел успевал
|
||||||
|
* разогнаться до потолка ещё до того, как перегрузка вообще проявлялась,
|
||||||
|
* и то же самое повторялось после каждого восстановления. Проверено
|
||||||
|
* нагрузочным тестом: без привязки к времени p95 на перегрузке доходил
|
||||||
|
* до 1,8–2,3 с при 0,5 CPU, хотя предел вроде бы должен был сжаться.
|
||||||
|
* Не чаще, чем раз в {@link #ADJUST_WINDOW_NANOS}, предел меняется одним
|
||||||
|
* шагом на основе среднего за окно — так скорость регулировки не зависит
|
||||||
|
* от того, насколько высок входящий RPS.
|
||||||
|
*
|
||||||
|
* <p>Рост — на единицу за окно (AIMD), не удвоением. Удвоение (slow start
|
||||||
|
* из TCP) здесь не подходит: там обратная связь — RTT, миллисекунды, и
|
||||||
|
* лишний виток роста стоит дёшево. Здесь обратная связь — время ответа
|
||||||
|
* заявки, и под перегрузкой оно само составляет секунды: предел успевает
|
||||||
|
* удвоиться несколько раз (2→4→8→…→сотни) быстрее, чем придёт первый
|
||||||
|
* сигнал о деградации, и уже принятые заявки не исчезают из очереди, даже
|
||||||
|
* если следующим окном предел тут же обрушить. Проверено нагрузочным
|
||||||
|
* тестом: с удвоением p95 на перегрузке всё равно доходил до 1,8–2,2 с.
|
||||||
|
* Линейный рост копит риск медленно, и первый плохой сигнал останавливает
|
||||||
|
* его на порядок раньше. Сжатие — вдвое, а не на единицу: на перегрузке
|
||||||
|
* дешевле один раз отрезать с запасом, чем несколько окон подряд плавно
|
||||||
|
* подходить к безопасному уровню, пока заявки продолжают копиться.
|
||||||
|
*
|
||||||
|
* <p>ponytail: счётчики окна суммируются без блокировки — гонка на границе
|
||||||
|
* окна может добавить образец в уже подводимый итог или отбросить один,
|
||||||
|
* не больше; при масштабах в десятки-сотни образцов на окно это не видно.
|
||||||
|
* Нужен точный регулятор — взять готовую библиотеку вроде Netflix
|
||||||
|
* {@code concurrency-limits} (Vegas/Gradient2); здесь она не взята из
|
||||||
|
* осторожности к GraalVM native-image: незнакомая рефлексия в чужой
|
||||||
|
* библиотеке — это ровно тот класс проблем, ради которого в проекте уже
|
||||||
|
* есть {@code OpenNlpReflection}.
|
||||||
|
*/
|
||||||
|
public class AdaptiveConcurrencyLimiter {
|
||||||
|
|
||||||
|
private static final long DEFAULT_ADJUST_WINDOW_NANOS = TimeUnit.MILLISECONDS.toNanos(20);
|
||||||
|
|
||||||
|
private final AtomicInteger inFlight = new AtomicInteger();
|
||||||
|
private final AtomicLong windowSumNanos = new AtomicLong();
|
||||||
|
private final AtomicInteger windowSamples = new AtomicInteger();
|
||||||
|
private final AtomicLong lastAdjustNanos;
|
||||||
|
private final int minLimit;
|
||||||
|
private final int maxLimit;
|
||||||
|
private final long targetLatencyNanos;
|
||||||
|
private final long adjustWindowNanos;
|
||||||
|
private volatile int limit;
|
||||||
|
|
||||||
|
public AdaptiveConcurrencyLimiter(int minLimit, int maxLimit, long targetLatencyMillis) {
|
||||||
|
this(minLimit, maxLimit, targetLatencyMillis, DEFAULT_ADJUST_WINDOW_NANOS);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Настраиваемое окно регулировки — для тестов, которым реальные 20мс на шаг не подходят. */
|
||||||
|
AdaptiveConcurrencyLimiter(int minLimit, int maxLimit, long targetLatencyMillis, long adjustWindowNanos) {
|
||||||
|
if (minLimit < 1 || maxLimit < minLimit) {
|
||||||
|
throw new IllegalArgumentException("Некорректные границы предела: " + minLimit + ".." + maxLimit);
|
||||||
|
}
|
||||||
|
this.minLimit = minLimit;
|
||||||
|
this.maxLimit = maxLimit;
|
||||||
|
this.targetLatencyNanos = TimeUnit.MILLISECONDS.toNanos(targetLatencyMillis);
|
||||||
|
this.adjustWindowNanos = adjustWindowNanos;
|
||||||
|
this.limit = minLimit;
|
||||||
|
this.lastAdjustNanos = new AtomicLong(System.nanoTime());
|
||||||
|
}
|
||||||
|
|
||||||
|
/** {@code true} — запрос принят; вызывающая сторона обязана вызвать {@link #release}. */
|
||||||
|
public boolean tryAcquire() {
|
||||||
|
if (inFlight.incrementAndGet() > limit) {
|
||||||
|
inFlight.decrementAndGet();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Освобождает слот; предел подстраивается не чаще раза в окно, а не на каждый вызов. */
|
||||||
|
public void release(long elapsedNanos) {
|
||||||
|
inFlight.decrementAndGet();
|
||||||
|
windowSumNanos.addAndGet(elapsedNanos);
|
||||||
|
windowSamples.incrementAndGet();
|
||||||
|
|
||||||
|
long now = System.nanoTime();
|
||||||
|
long last = lastAdjustNanos.get();
|
||||||
|
if (now - last >= adjustWindowNanos && lastAdjustNanos.compareAndSet(last, now)) {
|
||||||
|
adjust();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void adjust() {
|
||||||
|
int samples = windowSamples.getAndSet(0);
|
||||||
|
long sum = windowSumNanos.getAndSet(0);
|
||||||
|
if (samples == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
long avg = sum / samples;
|
||||||
|
|
||||||
|
if (avg < targetLatencyNanos) {
|
||||||
|
limit = Math.min(maxLimit, limit + 1);
|
||||||
|
} else {
|
||||||
|
limit = Math.max(minLimit, limit / 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Текущий предел — для метрики, чтобы деградацию было видно, а не только чувствовать по 429. */
|
||||||
|
public int limit() {
|
||||||
|
return limit;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,11 +1,17 @@
|
|||||||
package ru.pdguard.detect;
|
package ru.pdguard.detect;
|
||||||
|
|
||||||
|
import org.eclipse.microprofile.config.ConfigProvider;
|
||||||
|
import org.jboss.logging.Logger;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import java.io.UncheckedIOException;
|
import java.io.UncheckedIOException;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
@@ -21,15 +27,39 @@ import java.util.stream.Collectors;
|
|||||||
* <p>Список известных людей решает обратную задачу — упоминание Пушкина
|
* <p>Список известных людей решает обратную задачу — упоминание Пушкина
|
||||||
* персональными данными не является. Ограничение осознанное: клиент по фамилии
|
* персональными данными не является. Ограничение осознанное: клиент по фамилии
|
||||||
* Пушкин в тексте без других ПД замаскирован не будет.
|
* Пушкин в тексте без других ПД замаскирован не будет.
|
||||||
|
*
|
||||||
|
* <p>Базовый список собран в сборку из {@code /names/well-known.txt}. Поверх
|
||||||
|
* него можно дописать своих публичных лиц без пересборки — файл по пути
|
||||||
|
* {@code pdguard.well-known-file} (по умолчанию {@code config/well-known.txt})
|
||||||
|
* перечитывается сам при изменении, тем же приёмом, что {@code systems.json}
|
||||||
|
* в {@link ru.pdguard.config.SystemsConfig}: раз в секунду сверяется время
|
||||||
|
* изменения, содержимое читается заново только когда оно другое.
|
||||||
*/
|
*/
|
||||||
public final class NameDictionary {
|
public final class NameDictionary {
|
||||||
|
|
||||||
|
private static final Logger LOG = Logger.getLogger(NameDictionary.class);
|
||||||
|
private static final long RECHECK_MILLIS = 1000;
|
||||||
|
|
||||||
private static final List<String> GIVEN_NAME_STEMS = load("/names/given-names.txt").stream()
|
private static final List<String> GIVEN_NAME_STEMS = load("/names/given-names.txt").stream()
|
||||||
.map(NameDictionary::withoutInflectedEnding)
|
.map(NameDictionary::withoutInflectedEnding)
|
||||||
.distinct()
|
.distinct()
|
||||||
.sorted(Comparator.comparingInt(String::length).reversed())
|
.sorted(Comparator.comparingInt(String::length).reversed())
|
||||||
.toList();
|
.toList();
|
||||||
private static final List<String> WELL_KNOWN_STEMS = load("/names/well-known.txt");
|
// Гласная в конце основы отбрасывается: «Набиуллина» родительный/дательный/
|
||||||
|
// творительный падежи образует заменой «-а» на «-ой» («Набиуллиной»), а не
|
||||||
|
// дописыванием — без отсечения «а» их startsWith не поймает. Тот же приём,
|
||||||
|
// что и для личных имён.
|
||||||
|
private static final List<String> BUNDLED_WELL_KNOWN_STEMS = load("/names/well-known.txt").stream()
|
||||||
|
.map(NameDictionary::withoutInflectedEnding)
|
||||||
|
.distinct()
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
private static volatile Path externalFile = Path.of(ConfigProvider.getConfig()
|
||||||
|
.getOptionalValue("pdguard.well-known-file", String.class)
|
||||||
|
.orElse("config/well-known.txt"));
|
||||||
|
private static volatile List<String> wellKnownStems = BUNDLED_WELL_KNOWN_STEMS;
|
||||||
|
private static volatile long externalTimestamp;
|
||||||
|
private static volatile long lastCheck;
|
||||||
|
|
||||||
/** Не более скольких падежных букв дописывается к основе имени. */
|
/** Не более скольких падежных букв дописывается к основе имени. */
|
||||||
private static final int MAX_INFLECTION = 3;
|
private static final int MAX_INFLECTION = 3;
|
||||||
@@ -86,11 +116,13 @@ public final class NameDictionary {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Содержит ли текст упоминание известного человека. */
|
/** Содержит ли текст упоминание известного человека — из сборки или дописанных сверху. */
|
||||||
public static boolean isWellKnown(String value) {
|
public static boolean isWellKnown(String value) {
|
||||||
|
refreshIfChanged();
|
||||||
|
List<String> stems = wellKnownStems;
|
||||||
for (String word : value.split("\\P{L}+")) {
|
for (String word : value.split("\\P{L}+")) {
|
||||||
String lower = word.toLowerCase(Locale.ROOT);
|
String lower = word.toLowerCase(Locale.ROOT);
|
||||||
for (String stem : WELL_KNOWN_STEMS) {
|
for (String stem : stems) {
|
||||||
if (lower.startsWith(stem.toLowerCase(Locale.ROOT))) {
|
if (lower.startsWith(stem.toLowerCase(Locale.ROOT))) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -99,6 +131,64 @@ public final class NameDictionary {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Путь к внешнему файлу денилиста — для тестов, чтобы не трогать {@code config/}. */
|
||||||
|
static void useExternalFile(Path path) {
|
||||||
|
externalFile = path;
|
||||||
|
externalTimestamp = -1;
|
||||||
|
lastCheck = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Перечитать внешний файл немедленно, минуя секундный троттлинг проверки. */
|
||||||
|
static synchronized void reloadExternal() {
|
||||||
|
lastCheck = System.currentTimeMillis();
|
||||||
|
if (!Files.isReadable(externalFile)) {
|
||||||
|
if (wellKnownStems != BUNDLED_WELL_KNOWN_STEMS) {
|
||||||
|
LOG.infof("Внешний файл денилиста %s исчез, остаётся только встроенный список",
|
||||||
|
externalFile.toAbsolutePath());
|
||||||
|
}
|
||||||
|
wellKnownStems = BUNDLED_WELL_KNOWN_STEMS;
|
||||||
|
externalTimestamp = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
externalTimestamp = Files.getLastModifiedTime(externalFile).toMillis();
|
||||||
|
List<String> merged = new ArrayList<>(BUNDLED_WELL_KNOWN_STEMS);
|
||||||
|
for (String line : Files.readAllLines(externalFile, StandardCharsets.UTF_8)) {
|
||||||
|
String trimmed = withoutInflectedEnding(line.trim());
|
||||||
|
if (!trimmed.isEmpty() && !trimmed.startsWith("#") && !merged.contains(trimmed)) {
|
||||||
|
merged.add(trimmed);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
wellKnownStems = List.copyOf(merged);
|
||||||
|
LOG.infof("Денилист дополнен из %s: %d имён сверх встроенных",
|
||||||
|
externalFile.toAbsolutePath(), merged.size() - BUNDLED_WELL_KNOWN_STEMS.size());
|
||||||
|
} catch (IOException e) {
|
||||||
|
// Битый файл не должен ронять маскирование: остаётся прежний список.
|
||||||
|
LOG.errorf(e, "Не удалось прочитать %s, денилист не изменён", externalFile.toAbsolutePath());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void refreshIfChanged() {
|
||||||
|
long now = System.currentTimeMillis();
|
||||||
|
if (now - lastCheck < RECHECK_MILLIS) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
lastCheck = now;
|
||||||
|
try {
|
||||||
|
if (!Files.isReadable(externalFile)) {
|
||||||
|
if (externalTimestamp != 0) {
|
||||||
|
reloadExternal();
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (Files.getLastModifiedTime(externalFile).toMillis() != externalTimestamp) {
|
||||||
|
reloadExternal();
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
LOG.debugf(e, "Не удалось проверить время изменения %s", externalFile);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Основы сортируются от длинных к коротким: в чередовании регулярного
|
* Основы сортируются от длинных к коротким: в чередовании регулярного
|
||||||
* выражения побеждает первая подошедшая ветка, и короткая основа не должна
|
* выражения побеждает первая подошедшая ветка, и короткая основа не должна
|
||||||
|
|||||||
@@ -41,8 +41,17 @@ public record Rule(String type, Pattern pattern, int priority, List<Integer> gro
|
|||||||
*/
|
*/
|
||||||
private static final int FLAGS = Pattern.UNICODE_CHARACTER_CLASS | Pattern.UNICODE_CASE;
|
private static final int FLAGS = Pattern.UNICODE_CHARACTER_CLASS | Pattern.UNICODE_CASE;
|
||||||
|
|
||||||
/** Сколько символов слева и справа от совпадения просматривает вето-шаблон. */
|
/**
|
||||||
public static final int VETO_LOOKBEHIND = 80;
|
* Сколько символов слева и справа от совпадения просматривает вето-шаблон.
|
||||||
|
*
|
||||||
|
* <p>150, не 80: на реальных адресах отделений из реестра ЦБ (регион, город,
|
||||||
|
* улица, дом — в одном предложении) расстояние от «отделение» до номера дома
|
||||||
|
* часто превышает 80 знаков за счёт длинного названия региона («Ханты-Мансийский
|
||||||
|
* автономный округ», «Кабардино-Балкарская Республика»). Найдено нагрузочным
|
||||||
|
* тестом на 60 реальных адресах из официального реестра — с окном в 80 знаков
|
||||||
|
* вето не срабатывало на части из них.
|
||||||
|
*/
|
||||||
|
public static final int VETO_LOOKBEHIND = 150;
|
||||||
public static final int VETO_LOOKAHEAD = 40;
|
public static final int VETO_LOOKAHEAD = 40;
|
||||||
|
|
||||||
/** Правило без проверок, маскируется всё совпадение. */
|
/** Правило без проверок, маскируется всё совпадение. */
|
||||||
|
|||||||
@@ -56,6 +56,16 @@ public class RuleRegistry {
|
|||||||
public static final String BIRTH_CERTIFICATE = "BIRTH_CERTIFICATE";
|
public static final String BIRTH_CERTIFICATE = "BIRTH_CERTIFICATE";
|
||||||
public static final String MEDICAL_POLICY = "MEDICAL_POLICY";
|
public static final String MEDICAL_POLICY = "MEDICAL_POLICY";
|
||||||
|
|
||||||
|
/** Банковские реквизиты сверх платёжной карты. */
|
||||||
|
public static final String ACCOUNT_NUMBER = "ACCOUNT_NUMBER";
|
||||||
|
public static final String BIK = "BIK";
|
||||||
|
public static final String CARD_EXPIRY = "CARD_EXPIRY";
|
||||||
|
public static final String INCOME = "INCOME";
|
||||||
|
public static final String OGRN = "OGRN";
|
||||||
|
public static final String OGRNIP = "OGRNIP";
|
||||||
|
public static final String KPP = "KPP";
|
||||||
|
public static final String BIOMETRIC = "BIOMETRIC";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Слово с заглавной буквы; остальные буквы любого регистра, чтобы
|
* Слово с заглавной буквы; остальные буквы любого регистра, чтобы
|
||||||
* «ИВАНОВ» распознавался наравне с «Иванов».
|
* «ИВАНОВ» распознавался наравне с «Иванов».
|
||||||
@@ -181,6 +191,52 @@ public class RuleRegistry {
|
|||||||
.groups(1)
|
.groups(1)
|
||||||
.anchoredBy("подразделени", "к/п"),
|
.anchoredBy("подразделени", "к/п"),
|
||||||
|
|
||||||
|
// --- Банковские реквизиты сверх карты ---
|
||||||
|
|
||||||
|
// Расчётный счёт — ровно 20 цифр после якоря, группировка пробелами не важна.
|
||||||
|
Rule.of(ACCOUNT_NUMBER, "(?iu:р/с|расчетн\\w*\\s+счет|расчётн\\w*\\s+счёт|лицев\\w*\\s+счет|"
|
||||||
|
+ "лицев\\w*\\s+счёт)\\W{0,5}((?:\\d[ ]?){19}\\d)\\b", 83)
|
||||||
|
.groups(1)
|
||||||
|
.anchoredBy("р/с", "расчетн", "расчётн", "лицев"),
|
||||||
|
|
||||||
|
Rule.of(BIK, "(?iu:бик)\\W{0,5}(\\d{9})\\b", 83)
|
||||||
|
.groups(1)
|
||||||
|
.anchoredBy("бик"),
|
||||||
|
|
||||||
|
// «действительна до 09/27», «exp 09/27» — срок действия карты, не дата рождения.
|
||||||
|
Rule.of(CARD_EXPIRY, "(?iu:срок\\s+действия|действительна?\\s+до|\\bexp\\w*)\\W{0,5}"
|
||||||
|
+ "(\\d{2}\\s?/\\s?\\d{2})\\b", 83)
|
||||||
|
.groups(1)
|
||||||
|
.anchoredBy("срок действия", "действительн", "exp"),
|
||||||
|
|
||||||
|
// ОГРНИП раньше ОГРН: без отрицательного просмотра «ОГРНИП» частично ловился бы
|
||||||
|
// ещё и правилом ОГРН.
|
||||||
|
Rule.of(OGRNIP, "(?iu:огрнип)\\W{0,5}(\\d{15})\\b", 83)
|
||||||
|
.groups(1)
|
||||||
|
.anchoredBy("огрнип"),
|
||||||
|
|
||||||
|
Rule.of(OGRN, "(?iu:огрн(?!ип))\\W{0,5}(\\d{13})\\b", 83)
|
||||||
|
.groups(1)
|
||||||
|
.anchoredBy("огрн"),
|
||||||
|
|
||||||
|
Rule.of(KPP, "(?iu:кпп)\\W{0,5}(\\d{9})\\b", 83)
|
||||||
|
.groups(1)
|
||||||
|
.anchoredBy("кпп"),
|
||||||
|
|
||||||
|
// Доход/зарплата: сумма с разделителями тысяч. Между якорем и суммой может
|
||||||
|
// стоять слово («доход клиента», «доход за год») — без этого якорь ловил
|
||||||
|
// бы только «доход 85000», вплотную.
|
||||||
|
Rule.of(INCOME, "(?iu:доход|заработн\\w*\\s+плат\\w*|зарплат\\w*)(?:\\s+\\p{L}+){0,3}?"
|
||||||
|
+ "\\W{0,5}(\\d{1,3}(?:[\\s.]?\\d{3})*(?:,\\d{2})?)\\s?(?iu:руб\\p{L}*|₽)?\\b", 76)
|
||||||
|
.groups(1)
|
||||||
|
.anchoredBy("доход", "заработн", "зарплат"),
|
||||||
|
|
||||||
|
// Биометрия — сама фраза уже говорит, что дальше персональные данные, отдельного
|
||||||
|
// значения для захвата нет: маскируется якорная фраза целиком.
|
||||||
|
Rule.of(BIOMETRIC, "(?iu:биометрическ\\w*\\s+(?:данны\\w*|образц\\w*|шаблон\\w*)"
|
||||||
|
+ "|слепок\\s+голоса|отпечаток\\s+пальца|скан\\s+лица|\\bЕБС\\b)", 81)
|
||||||
|
.anchoredBy("биометри", "слепок голоса", "отпечаток пальца", "скан лица", "ебс"),
|
||||||
|
|
||||||
// --- Даты с явным якорем ---
|
// --- Даты с явным якорем ---
|
||||||
|
|
||||||
Rule.of(BIRTH_DATE, "(?iu:дат\\p{L}*\\s+рождения|дата\\s+рожд\\.)\\W{0,5}(" + DATE_ANY + ")", 87)
|
Rule.of(BIRTH_DATE, "(?iu:дат\\p{L}*\\s+рождения|дата\\s+рожд\\.)\\W{0,5}(" + DATE_ANY + ")", 87)
|
||||||
@@ -249,10 +305,17 @@ public class RuleRegistry {
|
|||||||
// Фамилия рядом с личным именем из словаря: без словаря правило ловило бы
|
// Фамилия рядом с личным именем из словаря: без словаря правило ловило бы
|
||||||
// «Тверская улица» и тому подобное. Имя проверяется по множеству уже
|
// «Тверская улица» и тому подобное. Имя проверяется по множеству уже
|
||||||
// после совпадения — чередование из ста веток в шаблоне обходится дорого.
|
// после совпадения — чередование из ста веток в шаблоне обходится дорого.
|
||||||
|
// Самое слабое основание среди правил ФИО — ни ролевого слова, ни явного
|
||||||
|
// якоря, — поэтому именно здесь нужно вето на адресный контекст: «Великие
|
||||||
|
// Луки» (реальный город) распознаётся как имя «Лука» в падеже плюс
|
||||||
|
// случайное слово, «Богдана Хмельницкого» — улица в честь исторической
|
||||||
|
// фигуры. Найдено на реальных адресах отделений из реестра ЦБ.
|
||||||
Rule.of(FIO, "\\b" + SURNAME + "\\s+" + CAPITALISED + "\\b", 74)
|
Rule.of(FIO, "\\b" + SURNAME + "\\s+" + CAPITALISED + "\\b", 74)
|
||||||
.validatedBy(NameDictionary::containsGivenName),
|
.validatedBy(NameDictionary::containsGivenName)
|
||||||
|
.vetoedBy(ORGANISATION_NEARBY),
|
||||||
Rule.of(FIO, "\\b" + CAPITALISED + "\\s+" + SURNAME + "\\b", 74)
|
Rule.of(FIO, "\\b" + CAPITALISED + "\\s+" + SURNAME + "\\b", 74)
|
||||||
.validatedBy(NameDictionary::containsGivenName),
|
.validatedBy(NameDictionary::containsGivenName)
|
||||||
|
.vetoedBy(ORGANISATION_NEARBY),
|
||||||
|
|
||||||
// --- Уровень 1: подтверждается контрольной суммой ---
|
// --- Уровень 1: подтверждается контрольной суммой ---
|
||||||
|
|
||||||
@@ -317,6 +380,7 @@ public class RuleRegistry {
|
|||||||
|
|
||||||
Rule.of(ADDRESS_CITY, "(?iu:\\bг\\.|\\bгор\\.|\\bгород)\\s?(\\p{Lu}[\\p{L}-]{1,30})\\b", 73)
|
Rule.of(ADDRESS_CITY, "(?iu:\\bг\\.|\\bгор\\.|\\bгород)\\s?(\\p{Lu}[\\p{L}-]{1,30})\\b", 73)
|
||||||
.groups(1)
|
.groups(1)
|
||||||
|
.validatedBy(ToponymDictionary::isKnownCity)
|
||||||
.vetoedBy(ORGANISATION_NEARBY)
|
.vetoedBy(ORGANISATION_NEARBY)
|
||||||
.anchoredBy("г.", "гор", "город"),
|
.anchoredBy("г.", "гор", "город"),
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,81 @@
|
|||||||
|
package ru.pdguard.detect;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.io.UncheckedIOException;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.util.Comparator;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Словарь городов России — проверка того, что значение, пойманное правилом
|
||||||
|
* {@code ADDRESS_CITY}, действительно похоже на существующий город, а не на
|
||||||
|
* произвольное слово с заглавной буквы после «г.».
|
||||||
|
*
|
||||||
|
* <p>Сравнение по началу слова, а не точным совпадением: падежные окончания
|
||||||
|
* («в Москве», «из Казани») тем самым покрываются без отдельного разбора
|
||||||
|
* морфологии, как и у известных людей в {@link NameDictionary}.
|
||||||
|
*/
|
||||||
|
public final class ToponymDictionary {
|
||||||
|
|
||||||
|
private static final List<String> CITY_STEMS = load("/names/cities.txt").stream()
|
||||||
|
.map(ToponymDictionary::withoutInflectedEnding)
|
||||||
|
.distinct()
|
||||||
|
.sorted(Comparator.comparingInt(String::length).reversed())
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
private ToponymDictionary() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Похоже ли значение на название города из словаря в любом падеже.
|
||||||
|
*
|
||||||
|
* <p>Города на согласную склоняются добавлением окончания («Тамбов» →
|
||||||
|
* «Тамбове»), поэтому начало слова из словаря — уже достаточный признак.
|
||||||
|
* Города на гласную меняют последнюю букву («Москва» → «Москве»), для
|
||||||
|
* них сравнение идёт по основе без неё — так же, как с личными именами
|
||||||
|
* в {@link NameDictionary}.
|
||||||
|
*/
|
||||||
|
public static boolean isKnownCity(String value) {
|
||||||
|
String lower = value.strip().toLowerCase(Locale.ROOT);
|
||||||
|
if (lower.isEmpty()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
for (String stem : CITY_STEMS) {
|
||||||
|
if (lower.startsWith(stem)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String withoutInflectedEnding(String name) {
|
||||||
|
String lower = name.toLowerCase(Locale.ROOT);
|
||||||
|
if (lower.length() >= 4 && "аяйь".indexOf(lower.charAt(lower.length() - 1)) >= 0) {
|
||||||
|
return lower.substring(0, lower.length() - 1);
|
||||||
|
}
|
||||||
|
return lower;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static List<String> load(String resource) {
|
||||||
|
try (InputStream in = ToponymDictionary.class.getResourceAsStream(resource)) {
|
||||||
|
if (in == null) {
|
||||||
|
throw new IllegalStateException("Словарь не найден в сборке: " + resource);
|
||||||
|
}
|
||||||
|
try (BufferedReader reader = new BufferedReader(new InputStreamReader(in, StandardCharsets.UTF_8))) {
|
||||||
|
return reader.lines()
|
||||||
|
.map(String::trim)
|
||||||
|
.filter(line -> !line.isEmpty() && !line.startsWith("#"))
|
||||||
|
.distinct()
|
||||||
|
// Длинные основы — раньше: «Санкт-Петербург» не должен проигрывать «Санкт».
|
||||||
|
.sorted(Comparator.comparingInt(String::length).reversed())
|
||||||
|
.toList();
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new UncheckedIOException("Не удалось прочитать словарь " + resource, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -57,7 +57,17 @@ public class Masker {
|
|||||||
Map.entry(RuleRegistry.ADDRESS_HOUSE, Strategies::stars),
|
Map.entry(RuleRegistry.ADDRESS_HOUSE, Strategies::stars),
|
||||||
Map.entry(RuleRegistry.ADDRESS_FLAT, Strategies::stars),
|
Map.entry(RuleRegistry.ADDRESS_FLAT, Strategies::stars),
|
||||||
Map.entry(RuleRegistry.BIRTH_PLACE, Strategies::stars),
|
Map.entry(RuleRegistry.BIRTH_PLACE, Strategies::stars),
|
||||||
Map.entry(RuleRegistry.CITIZENSHIP, Strategies::stars)
|
Map.entry(RuleRegistry.CITIZENSHIP, Strategies::stars),
|
||||||
|
|
||||||
|
Map.entry(RuleRegistry.ACCOUNT_NUMBER, EDGES),
|
||||||
|
Map.entry(RuleRegistry.OGRN, EDGES),
|
||||||
|
Map.entry(RuleRegistry.OGRNIP, EDGES),
|
||||||
|
Map.entry(RuleRegistry.KPP, EDGES),
|
||||||
|
// Срок действия карты — разделитель виден, сам месяц/год нет.
|
||||||
|
Map.entry(RuleRegistry.CARD_EXPIRY, Strategies::starsKeepingPunctuation),
|
||||||
|
Map.entry(RuleRegistry.BIK, Strategies::stars),
|
||||||
|
Map.entry(RuleRegistry.INCOME, Strategies::stars),
|
||||||
|
Map.entry(RuleRegistry.BIOMETRIC, Strategies::stars)
|
||||||
);
|
);
|
||||||
|
|
||||||
public String mask(String type, String value, MaskMode mode, MaskContext context) {
|
public String mask(String type, String value, MaskMode mode, MaskContext context) {
|
||||||
|
|||||||
@@ -43,8 +43,14 @@ pdguard.ner.max-candidates=16
|
|||||||
# Распознаватели создаются и прогреваются на старте, по одному на этот счётчик.
|
# Распознаватели создаются и прогреваются на старте, по одному на этот счётчик.
|
||||||
pdguard.ner.pool-size=16
|
pdguard.ner.pool-size=16
|
||||||
|
|
||||||
# Порог, после которого сервис отвечает 429 вместо накопления очереди.
|
# Предел конкурентности подстраивается сам под задержку, а не задан фиксированным
|
||||||
|
# числом: растёт, пока задержка ниже целевой, сжимается, как только она подскакивает.
|
||||||
|
# max-concurrent — потолок (тот же смысл, что раньше), min-concurrent — чтобы предел
|
||||||
|
# не схлопнулся в ноль на одном медленном запросе, target-latency-ms — с каким запасом
|
||||||
|
# от SLA (1 c) начинать сжиматься.
|
||||||
|
pdguard.min-concurrent=8
|
||||||
pdguard.max-concurrent=2000
|
pdguard.max-concurrent=2000
|
||||||
|
pdguard.target-latency-ms=200
|
||||||
# Ограничения хранилища соответствий: суммарный объём строк и срок жизни.
|
# Ограничения хранилища соответствий: суммарный объём строк и срок жизни.
|
||||||
pdguard.store.max-chars=134217728
|
pdguard.store.max-chars=134217728
|
||||||
pdguard.store.ttl-minutes=30
|
pdguard.store.ttl-minutes=30
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -43,3 +43,19 @@
|
|||||||
Мцыри
|
Мцыри
|
||||||
Хлестаков
|
Хлестаков
|
||||||
Митрофанушка
|
Митрофанушка
|
||||||
|
|
||||||
|
# Действующие публичные фигуры — упоминание в новостном/служебном контексте
|
||||||
|
# («Президент подписал закон», «ЦБ во главе с Набиуллиной повысил ставку»)
|
||||||
|
# персональными данными клиента не является.
|
||||||
|
Путин
|
||||||
|
Мишустин
|
||||||
|
Набиуллина
|
||||||
|
Греф
|
||||||
|
Костин
|
||||||
|
Тиньков
|
||||||
|
Дуров
|
||||||
|
Мордашов
|
||||||
|
Потанин
|
||||||
|
Дерипаска
|
||||||
|
Абрамович
|
||||||
|
Усманов
|
||||||
|
|||||||
@@ -0,0 +1,75 @@
|
|||||||
|
package ru.pdguard;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import ru.pdguard.config.SystemPolicy;
|
||||||
|
import ru.pdguard.core.PayloadStore;
|
||||||
|
import ru.pdguard.core.Pipeline;
|
||||||
|
import ru.pdguard.detect.RuleRegistry;
|
||||||
|
import ru.pdguard.mask.Masker;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||||
|
|
||||||
|
/** Банковские реквизиты сверх платёжной карты: счёт, БИК, ОГРН(ИП), КПП, доход, биометрия. */
|
||||||
|
class BankTypesTest {
|
||||||
|
|
||||||
|
private final Pipeline pipeline =
|
||||||
|
new Pipeline(new RuleRegistry(), new Masker(), new PayloadStore(1_000_000L, 30));
|
||||||
|
|
||||||
|
private void assertHidden(String text, String secret) {
|
||||||
|
String masked = pipeline.process(text, UUID.randomUUID().toString(), SystemPolicy.DEFAULT);
|
||||||
|
assertFalse(masked.contains(secret), "не замаскировано: «" + secret + "» в ответе «" + masked + "»");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void masksAccountNumber() {
|
||||||
|
assertHidden("Расчётный счёт 40702810500000001234 открыт вчера", "40702810500000001234");
|
||||||
|
assertHidden("р/с 4070 2810 5000 0000 1234", "4070 2810 5000 0000 1234");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void masksBik() {
|
||||||
|
assertHidden("БИК 044525593 банка-получателя", "044525593");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void masksCardExpiryButNotCardNumber() {
|
||||||
|
String masked = pipeline.process(
|
||||||
|
"Карта 4111 1111 1111 1111, срок действия 09/27", "expiry-1", SystemPolicy.DEFAULT);
|
||||||
|
assertFalse(masked.contains("09/27"), masked);
|
||||||
|
assertEquals("Карта 41** **** **** **11, срок действия **/**", masked);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void masksOgrnAndOgrnipDifferently() {
|
||||||
|
assertHidden("ОГРН 1027700132195 организации", "1027700132195");
|
||||||
|
assertHidden("ОГРНИП 304500116000157 предпринимателя", "304500116000157");
|
||||||
|
}
|
||||||
|
|
||||||
|
/** ОГРНИП (15 цифр) не должен наполовину ловиться правилом ОГРН (13 цифр). */
|
||||||
|
@Test
|
||||||
|
void ogrnDoesNotSwallowOgrnip() {
|
||||||
|
String masked = pipeline.process("ОГРНИП 304500116000157", "ogrnip-1", SystemPolicy.DEFAULT);
|
||||||
|
assertFalse(masked.contains("304500116000157"), masked);
|
||||||
|
assertFalse(masked.matches(".*\\d{15}.*"), "осталась незамаскированная часть номера: " + masked);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void masksKpp() {
|
||||||
|
assertHidden("КПП 770101001 указан в реквизитах", "770101001");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void masksIncomeAmount() {
|
||||||
|
assertHidden("Доход клиента 85 000 руб. в месяц", "85 000");
|
||||||
|
assertHidden("Заработная плата 120000 в месяц", "120000");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void masksBiometricMention() {
|
||||||
|
assertHidden("Клиент сдал биометрические данные в отделении", "биометрические данные");
|
||||||
|
assertHidden("Оформлен слепок голоса для верификации", "слепок голоса");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -142,6 +142,45 @@ class BenchmarkTest {
|
|||||||
String.format("полнота на втором отложенном наборе упала до %.3f", result.overallRecall()));
|
String.format("полнота на втором отложенном наборе упала до %.3f", result.overallRecall()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Реальные адреса отделений Альфа-Банка (ловушка из ТЗ — не ПД клиента),
|
||||||
|
* расширенный денилист, обобщённое companion-правило (место рождения,
|
||||||
|
* страна) и новые банковские типы. Собран специально под соответствующие
|
||||||
|
* доработки — пороги ниже, чем у набора отладки, но проверяют именно то,
|
||||||
|
* что было доработано, а не общее качество остального пайплайна.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
void detectionQualityOnBankContextSet() {
|
||||||
|
Result result = measure("/benchmark-bank-context.txt", "банковский контекст");
|
||||||
|
|
||||||
|
assertTrue(result.fioF1() >= 0.70,
|
||||||
|
String.format("F1 по ФИО на банковском наборе упал до %.3f", result.fioF1()));
|
||||||
|
assertTrue(result.overallRecall() >= 0.70,
|
||||||
|
String.format("полнота на банковском наборе упала до %.3f", result.overallRecall()));
|
||||||
|
assertTrue(result.falsePositiveRate() <= 0.10,
|
||||||
|
String.format("ложные срабатывания на банковском наборе: %.3f", result.falsePositiveRate()));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Независимый сгенерированный набор — покрывает все типы ПД из ТЗ и вариации
|
||||||
|
* написания, не встречавшиеся ни в одном из остальных наборов. Правила под
|
||||||
|
* него не настраивались; пороги низкие по той же причине, что и у второго
|
||||||
|
* отложенного набора — тест ловит обвал, а не сторожит достигнутое значение.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
void detectionQualityOnGeneratedSet() {
|
||||||
|
Pipeline stage = Files.isReadable(Path.of(MODEL_PATH))
|
||||||
|
? new Pipeline(new RuleRegistry(), new Masker(), new PayloadStore(10_000_000L, 30),
|
||||||
|
new NameCascade(Optional.of(MODEL_PATH), 16, 4))
|
||||||
|
: pipeline;
|
||||||
|
Result result = measure(stage, "/benchmark-generated.txt", "сгенерированный набор");
|
||||||
|
|
||||||
|
assertTrue(result.fioF1() >= 0.70,
|
||||||
|
String.format("F1 по ФИО на сгенерированном наборе упал до %.3f", result.fioF1()));
|
||||||
|
assertTrue(result.overallRecall() >= 0.70,
|
||||||
|
String.format("полнота на сгенерированном наборе упала до %.3f", result.overallRecall()));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Тот же отложенный набор, но со включённой второй ступенью. Модели нет —
|
* Тот же отложенный набор, но со включённой второй ступенью. Модели нет —
|
||||||
* проверка пропускается: в сборке без модели сервис работает на одних правилах.
|
* проверка пропускается: в сборке без модели сервис работает на одних правилах.
|
||||||
|
|||||||
@@ -76,8 +76,33 @@ class ContextDetectionTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void masksBirthPlace() {
|
void masksBirthPlace() {
|
||||||
assertHidden("Место рождения: город Тверь, проживает в Москве", "город Тверь");
|
// Место рождения — тип из requireCompanion: без другого ПД рядом не маскируется
|
||||||
assertHidden("Родился в Нижнем Новгороде", "Нижнем Новгороде");
|
// («Нижний Новгород» в рассказе о городе не должен теряться), поэтому в тесте
|
||||||
|
// на распознавание якоря рядом добавлен телефон.
|
||||||
|
assertHidden("Место рождения: город Тверь, проживает в Москве, тел. +7 916 123-45-67", "город Тверь");
|
||||||
|
assertHidden("Родился в Нижнем Новгороде, тел. +7 916 123-45-67", "Нижнем Новгороде");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void doesNotMaskBirthPlaceWithoutAnyOtherPersonalData() {
|
||||||
|
String text = "Экскурсия в Нижний Новгород перенесена на май";
|
||||||
|
assertEquals(text, mask(text), "место рождения без другого ПД рядом не маскируется");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void masksBirthPlaceWhenOtherPersonalDataIsAlsoPresent() {
|
||||||
|
assertHidden("Место рождения: город Тверь, ИНН 770301234550", "город Тверь");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void doesNotMaskCountryWithoutAnyOtherPersonalData() {
|
||||||
|
String text = "Цены на нефть выросли в Казахстане в этом квартале";
|
||||||
|
assertEquals(text, mask(text), "страна без другого ПД рядом не маскируется");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void masksCountryWhenOtherPersonalDataIsAlsoPresent() {
|
||||||
|
assertHidden("Страна проживания Казахстан, ИНН 770301234550", "Казахстан");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
@@ -0,0 +1,192 @@
|
|||||||
|
package ru.pdguard;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import ru.pdguard.config.SystemPolicy;
|
||||||
|
import ru.pdguard.core.PayloadStore;
|
||||||
|
import ru.pdguard.core.Pipeline;
|
||||||
|
import ru.pdguard.core.Span;
|
||||||
|
import ru.pdguard.detect.NameCascade;
|
||||||
|
import ru.pdguard.detect.RuleRegistry;
|
||||||
|
import ru.pdguard.mask.Masker;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.Random;
|
||||||
|
import java.util.regex.Matcher;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Качество и скорость на большом тексте — не повторе одного и того же
|
||||||
|
* предложения, а перемешанных строках из {@code benchmark-generated.txt}
|
||||||
|
* (все типы ПД вперемешку с чистым текстом), растянутых до объёма из ТЗ
|
||||||
|
* (около 100 000 токенов, ~400 КБ по оценке из README).
|
||||||
|
*
|
||||||
|
* <p>Раздутый повтором одной строки текст проверяет только то, что цикл не
|
||||||
|
* падает на объёме: под маской всегда один и тот же тип, а остальные правила
|
||||||
|
* не задействуются вовсе. Здесь размер и разнообразие проверяются вместе.
|
||||||
|
*/
|
||||||
|
class LargeTextTest {
|
||||||
|
|
||||||
|
private static final String MODEL_PATH = "models/ru-ner-person.bin";
|
||||||
|
private static final Pattern MARKUP = Pattern.compile("\\{\\{([A-Z_]+):([^}]*)}}");
|
||||||
|
|
||||||
|
/** Целевой объём: README оценивает 100 000 токенов как ~400 КБ текста. */
|
||||||
|
private static final int TARGET_CHARS = 400_000;
|
||||||
|
|
||||||
|
private record Line(String text, List<Span> gold) {
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Строки набора без разметки — чистый текст для перемешивания. */
|
||||||
|
private static List<Line> loadLines() {
|
||||||
|
List<Line> lines = new ArrayList<>();
|
||||||
|
try (InputStream in = LargeTextTest.class.getResourceAsStream("/benchmark-generated.txt");
|
||||||
|
BufferedReader reader = new BufferedReader(
|
||||||
|
new InputStreamReader(Objects.requireNonNull(in), StandardCharsets.UTF_8))) {
|
||||||
|
String raw;
|
||||||
|
while ((raw = reader.readLine()) != null) {
|
||||||
|
String trimmed = raw.trim();
|
||||||
|
if (!trimmed.isEmpty() && !trimmed.startsWith("#")) {
|
||||||
|
lines.add(parse(trimmed));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new IllegalStateException(e);
|
||||||
|
}
|
||||||
|
return lines;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Line parse(String line) {
|
||||||
|
StringBuilder text = new StringBuilder(line.length());
|
||||||
|
List<Span> gold = new ArrayList<>();
|
||||||
|
Matcher m = MARKUP.matcher(line);
|
||||||
|
int cursor = 0;
|
||||||
|
while (m.find()) {
|
||||||
|
text.append(line, cursor, m.start());
|
||||||
|
int start = text.length();
|
||||||
|
text.append(m.group(2));
|
||||||
|
gold.add(new Span(start, text.length(), m.group(1), 0));
|
||||||
|
cursor = m.end();
|
||||||
|
}
|
||||||
|
text.append(line, cursor, line.length());
|
||||||
|
return new Line(text.toString(), gold);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Перемешивает исходные строки (фиксированный seed — детерминированный
|
||||||
|
* тест) и склеивает их через перенос строки, пока не наберётся целевой
|
||||||
|
* объём. Смещения золотых фрагментов пересчитываются под общий текст.
|
||||||
|
*/
|
||||||
|
private static Line buildLargeText(int targetChars, long seed) {
|
||||||
|
List<Line> pool = new ArrayList<>(loadLines());
|
||||||
|
Random random = new Random(seed);
|
||||||
|
StringBuilder text = new StringBuilder(targetChars + 1024);
|
||||||
|
List<Span> gold = new ArrayList<>();
|
||||||
|
|
||||||
|
while (text.length() < targetChars) {
|
||||||
|
Collections.shuffle(pool, random);
|
||||||
|
for (Line line : pool) {
|
||||||
|
int offset = text.length();
|
||||||
|
text.append(line.text()).append('\n');
|
||||||
|
for (Span span : line.gold()) {
|
||||||
|
gold.add(new Span(span.start() + offset, span.end() + offset, span.type(), 0));
|
||||||
|
}
|
||||||
|
if (text.length() >= targetChars) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return new Line(text.toString(), gold);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Маскирование и обратное преобразование на большом тексте дают
|
||||||
|
* побайтово тот же результат, что и исходный текст — при объёме на
|
||||||
|
* порядок больше, чем в остальных тестах, и с разнородным содержимым,
|
||||||
|
* а не одним повторяющимся предложением.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
void roundTripOnLargeMixedText() {
|
||||||
|
Line large = buildLargeText(TARGET_CHARS, 1);
|
||||||
|
Pipeline pipeline = new Pipeline(new RuleRegistry(), new Masker(),
|
||||||
|
new PayloadStore(large.text().length() * 2L, 30));
|
||||||
|
|
||||||
|
long maskStarted = System.nanoTime();
|
||||||
|
String masked = pipeline.process(large.text(), "large-mixed-1", SystemPolicy.DEFAULT);
|
||||||
|
long maskMillis = (System.nanoTime() - maskStarted) / 1_000_000;
|
||||||
|
|
||||||
|
long unmaskStarted = System.nanoTime();
|
||||||
|
String restored = pipeline.process(masked, "large-mixed-1", SystemPolicy.DEFAULT);
|
||||||
|
long unmaskMillis = (System.nanoTime() - unmaskStarted) / 1_000_000;
|
||||||
|
|
||||||
|
assertEquals(large.text(), restored, "демаскирование не восстановило исходный текст");
|
||||||
|
assertTrue(maskMillis < 5000, "маскирование " + large.text().length() + " знаков заняло " + maskMillis + " мс");
|
||||||
|
assertTrue(unmaskMillis < 1000, "демаскирование заняло " + unmaskMillis + " мс");
|
||||||
|
|
||||||
|
System.out.printf("%nБольшой текст: %d знаков, маскирование %d мс, демаскирование %d мс%n",
|
||||||
|
large.text().length(), maskMillis, unmaskMillis);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Полнота детекции не должна проседать на объёме: каждый золотой
|
||||||
|
* фрагмент из перемешанных строк обязан быть найден в общем потоке
|
||||||
|
* текста, а не только когда он единственный в маленькой строке.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
void recallHoldsAtScale() {
|
||||||
|
Line large = buildLargeText(TARGET_CHARS, 2);
|
||||||
|
Pipeline pipeline = new Pipeline(new RuleRegistry(), new Masker(), new PayloadStore(1L, 30));
|
||||||
|
|
||||||
|
List<Span> found = pipeline.findPersonalData(large.text(), SystemPolicy.DEFAULT);
|
||||||
|
int hit = 0;
|
||||||
|
for (Span gold : large.gold()) {
|
||||||
|
if (found.stream().anyMatch(f -> f.type().equals(gold.type()) && f.overlaps(gold))) {
|
||||||
|
hit++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
double recall = large.gold().isEmpty() ? 1.0 : (double) hit / large.gold().size();
|
||||||
|
System.out.printf("%nПолнота на большом тексте: %d из %d (%.3f)%n", hit, large.gold().size(), recall);
|
||||||
|
|
||||||
|
assertTrue(recall >= 0.85,
|
||||||
|
String.format("полнота на большом тексте упала до %.3f (%d/%d)", recall, hit, large.gold().size()));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Вторая ступень ограничена числом кандидатов на запрос
|
||||||
|
* ({@code pdguard.ner.max-candidates}), поэтому объём текста не должен
|
||||||
|
* превращать её в квадратичную нагрузку — проверяем на том же большом
|
||||||
|
* тексте, что и остальные тесты, а не на маленьком образце.
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
void nameCascadeStaysBoundedOnLargeText() throws IOException {
|
||||||
|
Path model = Path.of(MODEL_PATH);
|
||||||
|
if (!Files.isReadable(model)) {
|
||||||
|
System.out.println("Модель " + model.toAbsolutePath() + " не собрана, пропускаю");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Line large = buildLargeText(TARGET_CHARS, 3);
|
||||||
|
Pipeline pipeline = new Pipeline(new RuleRegistry(), new Masker(),
|
||||||
|
new PayloadStore(large.text().length() * 2L, 30),
|
||||||
|
new NameCascade(Optional.of(MODEL_PATH), 16, 4));
|
||||||
|
|
||||||
|
long started = System.nanoTime();
|
||||||
|
pipeline.process(large.text(), "large-cascade-1", SystemPolicy.DEFAULT);
|
||||||
|
long millis = (System.nanoTime() - started) / 1_000_000;
|
||||||
|
|
||||||
|
System.out.printf("%nБольшой текст со второй ступенью: %d знаков за %d мс%n",
|
||||||
|
large.text().length(), millis);
|
||||||
|
assertTrue(millis < 5000, "со второй ступенью обработка заняла " + millis + " мс");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
package ru.pdguard.core;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
|
class AdaptiveConcurrencyLimiterTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void startsAtMinimumAndRejectsAboveIt() {
|
||||||
|
AdaptiveConcurrencyLimiter limiter = new AdaptiveConcurrencyLimiter(2, 10, 100);
|
||||||
|
assertTrue(limiter.tryAcquire());
|
||||||
|
assertTrue(limiter.tryAcquire());
|
||||||
|
assertFalse(limiter.tryAcquire(), "старт с минимума — сверх него запрос должен быть отклонён");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void growsToCeilingOnFastRequestsFromColdStart() {
|
||||||
|
// Окно регулировки — 0: каждый release должен считаться отдельным шагом,
|
||||||
|
// иначе тест либо ждёт реальные 20мс на шаг, либо не успевает ни разу сработать.
|
||||||
|
AdaptiveConcurrencyLimiter limiter = new AdaptiveConcurrencyLimiter(2, 10, 100, 0);
|
||||||
|
long fast = TimeUnit.MILLISECONDS.toNanos(1);
|
||||||
|
for (int i = 0; i < 20; i++) {
|
||||||
|
limiter.tryAcquire();
|
||||||
|
limiter.release(fast);
|
||||||
|
}
|
||||||
|
assertEquals(10, limiter.limit(), "при быстрых запросах предел должен дорасти до потолка");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void shrinksTowardsMinimumWhenLatencyStaysAboveTarget() {
|
||||||
|
AdaptiveConcurrencyLimiter limiter = new AdaptiveConcurrencyLimiter(2, 20, 50, 0);
|
||||||
|
long slow = TimeUnit.MILLISECONDS.toNanos(500);
|
||||||
|
limiter.tryAcquire();
|
||||||
|
limiter.release(TimeUnit.MILLISECONDS.toNanos(1));
|
||||||
|
assertTrue(limiter.limit() > 2, "предпосылка теста: предел должен был подрасти выше минимума");
|
||||||
|
for (int i = 0; i < 10; i++) {
|
||||||
|
limiter.tryAcquire();
|
||||||
|
limiter.release(slow);
|
||||||
|
}
|
||||||
|
assertEquals(2, limiter.limit(), "при стабильно высокой задержке предел должен сжаться до минимума");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void growsBackToCeilingWhenLatencyDropsBelowTarget() {
|
||||||
|
AdaptiveConcurrencyLimiter limiter = new AdaptiveConcurrencyLimiter(2, 20, 50, 0);
|
||||||
|
long slow = TimeUnit.MILLISECONDS.toNanos(500);
|
||||||
|
long fast = TimeUnit.MILLISECONDS.toNanos(1);
|
||||||
|
for (int i = 0; i < 10; i++) {
|
||||||
|
limiter.tryAcquire();
|
||||||
|
limiter.release(slow);
|
||||||
|
}
|
||||||
|
for (int i = 0; i < 20; i++) {
|
||||||
|
limiter.tryAcquire();
|
||||||
|
limiter.release(fast);
|
||||||
|
}
|
||||||
|
assertEquals(20, limiter.limit(), "при быстрой обработке предел должен вернуться к потолку");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void releaseFreesSlotForNextAcquire() {
|
||||||
|
AdaptiveConcurrencyLimiter limiter = new AdaptiveConcurrencyLimiter(1, 1, 1000);
|
||||||
|
assertTrue(limiter.tryAcquire());
|
||||||
|
assertFalse(limiter.tryAcquire(), "единственный слот занят");
|
||||||
|
limiter.release(TimeUnit.MILLISECONDS.toNanos(1));
|
||||||
|
assertTrue(limiter.tryAcquire(), "после release слот должен освободиться");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
package ru.pdguard.detect;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.AfterEach;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.junit.jupiter.api.io.TempDir;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
|
/** Денилист известных людей: встроенный список и дозагрузка сверху без пересборки. */
|
||||||
|
class NameDictionaryTest {
|
||||||
|
|
||||||
|
/** Возвращает состояние словаря к встроенному списку — не течёт в остальные тесты. */
|
||||||
|
@AfterEach
|
||||||
|
void resetToBundledList() {
|
||||||
|
NameDictionary.useExternalFile(Path.of("config/well-known.txt"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void bundledListCoversClassicFigures() {
|
||||||
|
// Сравнение по началу слова покрывает обычную русскую флексию («Пушкин» →
|
||||||
|
// «Пушкина»), но не прилагательное склонение («Толстой» → «Толстого», где
|
||||||
|
// «-ой» меняется на «-ого» целиком, а не дописывается) — известное
|
||||||
|
// ограничение самого приёма, не завязанное на список имён.
|
||||||
|
assertTrue(NameDictionary.isWellKnown("Стихи Пушкина"));
|
||||||
|
assertTrue(NameDictionary.isWellKnown("Портрет Толстой"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void bundledListCoversCurrentPublicFigures() {
|
||||||
|
assertTrue(NameDictionary.isWellKnown("Заявление Набиуллиной"));
|
||||||
|
assertTrue(NameDictionary.isWellKnown("Интервью Путина"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void unknownSurnameIsNotWellKnown() {
|
||||||
|
assertFalse(NameDictionary.isWellKnown("Заявление Смирнова"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void externalFileAddsNamesWithoutRebuild(@TempDir Path dir) throws IOException {
|
||||||
|
Path file = dir.resolve("well-known.txt");
|
||||||
|
Files.writeString(file, "Кастомов\n", StandardCharsets.UTF_8);
|
||||||
|
|
||||||
|
NameDictionary.useExternalFile(file);
|
||||||
|
|
||||||
|
assertTrue(NameDictionary.isWellKnown("Интервью Кастомова"),
|
||||||
|
"дописанное сверху имя должно распознаваться наравне со встроенными");
|
||||||
|
assertTrue(NameDictionary.isWellKnown("Стихи Пушкина"),
|
||||||
|
"встроенный список не должен теряться при дозагрузке");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void missingExternalFileFallsBackToBundledListOnly(@TempDir Path dir) {
|
||||||
|
NameDictionary.useExternalFile(dir.resolve("нет-такого-файла.txt"));
|
||||||
|
|
||||||
|
assertTrue(NameDictionary.isWellKnown("Стихи Пушкина"));
|
||||||
|
assertFalse(NameDictionary.isWellKnown("Заявление Смирнова"));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
package ru.pdguard.detect;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
|
/** Словарь городов — проверка вместо любого слова с заглавной буквы после «г.». */
|
||||||
|
class ToponymDictionaryTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void recognisesNominativeCase() {
|
||||||
|
assertTrue(ToponymDictionary.isKnownCity("Москва"));
|
||||||
|
assertTrue(ToponymDictionary.isKnownCity("Казань"));
|
||||||
|
assertTrue(ToponymDictionary.isKnownCity("Санкт-Петербург"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void recognisesInflectedForms() {
|
||||||
|
assertTrue(ToponymDictionary.isKnownCity("Москве"), "дательный падеж города на гласную");
|
||||||
|
assertTrue(ToponymDictionary.isKnownCity("Тамбове"), "предложный падеж города на согласную");
|
||||||
|
assertTrue(ToponymDictionary.isKnownCity("Казани"), "родительный падеж");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void recognisesCisCapitals() {
|
||||||
|
assertTrue(ToponymDictionary.isKnownCity("Минск"));
|
||||||
|
assertTrue(ToponymDictionary.isKnownCity("Алматы"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void rejectsMadeUpWord() {
|
||||||
|
assertFalse(ToponymDictionary.isKnownCity("Ерунда"));
|
||||||
|
assertFalse(ToponymDictionary.isKnownCity("Бла-бла"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void isCaseInsensitive() {
|
||||||
|
assertTrue(ToponymDictionary.isKnownCity("МОСКВА"));
|
||||||
|
assertTrue(ToponymDictionary.isKnownCity("москва"));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,981 @@
|
|||||||
|
105037, Г. МОСКВА, ИЗМАЙЛОВСКИЙ ПРОЕЗД, Д. 8А
|
||||||
|
105043, Г. МОСКВА, УЛ. 9-Я ПАРКОВАЯ, Д. 23
|
||||||
|
105094, Г. МОСКВА, УЛ. БОЛЬШАЯ СЕМЕНОВСКАЯ, Д. 42, СТР. 4
|
||||||
|
105120, Г. МОСКВА, УЛ. ЗЕМЛЯНОЙ ВАЛ, Д. 41, СТР. 1
|
||||||
|
105120, РФ, Г. МОСКВА, УЛ. ЗЕМЛЯНОЙ ВАЛ, Д. 41, СТР. 1, ПОМ. 1 (12,54 КВ.М.)
|
||||||
|
105318, ГОРОД МОСКВА, УЛ. ВЕЛЬЯМИНОВСКАЯ, Д. 6
|
||||||
|
107006, Г. МОСКВА, УЛ. НИЖНЯЯ КРАСНОСЕЛЬСКАЯ, Д. 45/17
|
||||||
|
107014, Г. МОСКВА, СОКОЛЬНИЧЕСКАЯ ПЛОЩАДЬ, Д. 9, ПОМЕЩЕНИЕ 14Н
|
||||||
|
107014, Г. МОСКВА, СОКОЛЬНИЧЕСКАЯ ПЛОЩАДЬ, Д. 9, ПОМЕЩЕНИЕ 14Н, К. 1-009
|
||||||
|
107031, Г. МОСКВА, УЛ. НЕГЛИННАЯ, ДОМ 10
|
||||||
|
107066, Г. МОСКВА, УЛ. НИЖНЯЯ КРАСНОСЕЛЬСКАЯ, ДОМ 45/17
|
||||||
|
107078, Г. МОСКВА, УЛ. КАЛАНЧЕВСКАЯ, 17, СТР. 1
|
||||||
|
107078, Г. МОСКВА, УЛ. КАЛАНЧЕВСКАЯ, Д.27
|
||||||
|
107078, Г. МОСКВА, УЛ. МАШИ ПОРЫВАЕВОЙ, Д.7, СТР.Г
|
||||||
|
107497, Г. МОСКВА, УЛ. ИРКУТСКАЯ, Д. 5/6, СТР. 1
|
||||||
|
107497, Г. МОСКВА, УЛ. ИРКУТСКАЯ, ДОМ 17, СТР. 8
|
||||||
|
108801, Г. МОСКВА, СОСЕНСКОЕ ПОСЕЛЕНИЕ, П. КОММУНАРКА, УЛ. ЛИПОВЫЙ ПАРК, Д. 11, ПОМ. 19/1
|
||||||
|
108811, Г. МОСКВА, Г. МОСКОВСКИЙ, УЛ. НИКИТИНА, Д. 2
|
||||||
|
108811, Г. МОСКВА, ПОС. МОСКОВСКИЙ, КВ-Л №80, Д. 11А, СТР.1
|
||||||
|
108811, Г. МОСКВА, ПОСЕЛЕНИЕ МОСКОВСКИЙ, КВ-Л №34, ДВЛД. 2, СТР. 1
|
||||||
|
108811, Г. МОСКВА, Р-Н КОММУНАРКА, КВ-Л 80, Д.3, СТР.1
|
||||||
|
108842, ГОРОД МОСКВА, Г. ТРОИЦК, ПЛОЩАДЬ АКАДЕМИЧЕСКАЯ, Д. 5
|
||||||
|
108849, ГОРОД МОСКВА, УЛ. КОРНЕЯ ЧУКОВСКОГО, Д. 2, СТР. 1
|
||||||
|
109029, ГОРОД МОСКВА, ПР-Д МИХАЙЛОВСКИЙ, Д. 3, СТР. 3.
|
||||||
|
109044, Г. МОСКВА, 3-Й КРУТИЦКИЙ ПЕРЕУЛОК, Д. 13
|
||||||
|
109044, Г. МОСКВА, 3-Й КРУТИЦКИЙ ПЕРЕУЛОК, Д. 13, ПОМ. 1, ЧАСТЬ КОМНАТЫ №9
|
||||||
|
109145, Г. МОСКВА, ЛЕРМОНТОВСКИЙ ПРОСПЕКТ, Д. 10, КОРП. 1, ПОМ. 6
|
||||||
|
109145, Г. МОСКВА, ЛЕРМОНТОВСКИЙ ПРОСПЕКТ, Д. 10, КОРП. 1, ПОМ. IV А
|
||||||
|
109316, Г. МОСКВА, ПР-КТ ВОЛГОГРАДСКИЙ, Д.41, К.1.
|
||||||
|
109341, Г. МОСКВА, УЛ. ПЕРЕРВА, Д. 43, КОРП. 1
|
||||||
|
109386, Г. МОСКВА, УЛ. СОВХОЗНАЯ, Д. 39
|
||||||
|
109462, Г. МОСКВА, УЛ. МАРШАЛА ЧУЙКОВА, Д. 3
|
||||||
|
109462, Г. МОСКВА, УЛ. МАРШАЛА ЧУЙКОВА, Д. 3, ПОМ. 1-012
|
||||||
|
109469, ГОРОД МОСКВА, УЛ. МАРЬИНСКИЙ ПАРК, Д. 1
|
||||||
|
109544, Г. МОСКВА, БУЛЬВАР ЭНТУЗИАСТОВ, Д. 2
|
||||||
|
109652, Г. МОСКВА, УЛ. ЛЮБЛИНСКАЯ, Д. 165, КОРП. 1
|
||||||
|
109652, Г. МОСКВА, УЛ. ЛЮБЛИНСКАЯ, Д. 165, КОРП. 1, ЧАСТЬ КОМН. 2
|
||||||
|
111396, Г. МОСКВА, СВОБОДНЫЙ ПРОСПЕКТ, Д. 20А
|
||||||
|
111677, ГОРОД МОСКВА, УЛ. ПОКРОВСКАЯ, Д. 18, СТР. 1
|
||||||
|
113191, Г. МОСКВА, УЛ. БОЛЬШАЯ ТУЛЬСКАЯ, Д. 2
|
||||||
|
113452, Г. МОСКВА, БАЛАКЛАВСКИЙ ПРОСПЕКТ, ДОМ 26
|
||||||
|
115035, Г. МОСКВА, УЛ. БОЛЬШАЯ ОРДЫНКА, Д. 21, СТР. 2
|
||||||
|
115035, Г. МОСКВА, УЛ. БОЛЬШАЯ ОРДЫНКА, Д. 21, СТР. 2, ПОМ. 103
|
||||||
|
115054, Г. МОСКВА, УЛ. ВАЛОВАЯ, Д. 6
|
||||||
|
115054, Г. МОСКВА, УЛ. ЩИПОК, Д. 11, СТР. 1
|
||||||
|
115088, ГОРОД МОСКВА, УЛ. 2-Я МАШИНОСТРОЕНИЯ, Д.6
|
||||||
|
115142, Г. МОСКВА, УЛ. КОЛОМЕНСКАЯ, Д. 16
|
||||||
|
115184, ГОРОД МОСКВА, УЛ. МАЛАЯ ОРДЫНКА, ДОМ 44
|
||||||
|
115280, Г. МОСКВА, УЛ. АВТОЗАВОДСКАЯ, Д. 5
|
||||||
|
115280, РФ, Г. МОСКВА, УЛ. АВТОЗАВОДСКАЯ, Д. 5, ПОМ. 1, 2 (33,94 КВ.М.)
|
||||||
|
115432, Г. МОСКВА, ПРОСП. АНДРОПОВА, Д. 18, КОРП. 3, ЭТАЖ 11, ПОМ. 1108
|
||||||
|
115432, Г. МОСКВА, ПРОСП. АНДРОПОВА, Д. 18, КОРП. 3, ЭТАЖ 11, ПОМ. 1109
|
||||||
|
115432, Г. МОСКВА, ПРОСП. АНДРОПОВА, Д. 18, КОРП. 3, ЭТАЖ 11, ПОМ. 1117
|
||||||
|
115432, Г. МОСКВА, ПРОСП. АНДРОПОВА, Д. 18, КОРП. 3, ЭТАЖ 11, ПОМ. 1120
|
||||||
|
115432, Г. МОСКВА, ПРОСП. АНДРОПОВА, Д. 18, КОРП. 3, ЭТАЖ 11, ПОМ. 1121
|
||||||
|
115432, Г. МОСКВА, ПРОСП. АНДРОПОВА, Д. 18, КОРП. 3, ЭТАЖ 8, ПОМ. 818
|
||||||
|
115432, Г. МОСКВА, ПРОСП. АНДРОПОВА, Д. 18, КОРП. 3, ЭТАЖ 8, ПОМ. 819
|
||||||
|
115432, Г. МОСКВА, ПРОСП. АНДРОПОВА, Д. 18, КОРП. 3, ЭТАЖ 8, ПОМ. 837
|
||||||
|
115432, Г. МОСКВА, ПРОСП. АНДРОПОВА, Д. 18, КОРП. 3, ЭТАЖ 9, ПОМ. 916
|
||||||
|
115432, Г. МОСКВА, ПРОСП. АНДРОПОВА, Д. 18, КОРП. 3, ЭТАЖ 9, ПОМ. 917
|
||||||
|
115432, Г. МОСКВА, ПРОСП. АНДРОПОВА, Д. 18, КОРП. 6
|
||||||
|
115432, Г. МОСКВА, ПРОСП. АНДРОПОВА, Д. 18. КОРП. 3, ЭТАЖ 8, ПОМ. 808
|
||||||
|
115432, Г. МОСКВА, ПРОСП. АНДРОПОВА, Д. 18. КОРП. 3, ЭТАЖ 8, ПОМ. 810
|
||||||
|
115432, Г. МОСКВА, ПРОСП. АНДРОПОВА, Д. 18. КОРП. 3, ЭТАЖ 8, ПОМ. 843
|
||||||
|
115432, ГОРОД МОСКВА, ПРОСП. АНДРОПОВА, Д. 18 КОРП. 3, ЭТАЖ 6, ПОМ. 630
|
||||||
|
115432, ГОРОД МОСКВА, ПРОСП. АНДРОПОВА, Д. 18, КОРП. 3, ЭТАЖ 6, ПОМ. 607
|
||||||
|
115432, ГОРОД МОСКВА, ПРОСП. АНДРОПОВА, Д. 18. КОРП. 3, ЭТАЖ 6, ПОМ. 606
|
||||||
|
115432, ГОРОД МОСКВА, ПРОСП. АНДРОПОВА, Д. 18. КОРП. 3, ЭТАЖ 6, ПОМ. 611
|
||||||
|
115432, ГОРОД МОСКВА, ПРОСП. АНДРОПОВА, Д. 18. КОРП. 3, ЭТАЖ 6, ПОМ. 623
|
||||||
|
115432, ГОРОД МОСКВА, ПРОСП. АНДРОПОВА, Д. 18. КОРП. 3, ЭТАЖ 6, ПОМ. 714
|
||||||
|
115432, ГОРОД МОСКВА, ПРОСП. АНДРОПОВА, Д. 18. КОРП. 6, ЭТАЖ 9, ПОМ. 908
|
||||||
|
115432, ГОРОД МОСКВА, ПРОСП. АНДРОПОВА, Д. 18. КОРП. 6, ЭТАЖ 9, ПОМ. 915
|
||||||
|
115470, Г. МОСКВА, ПР-КТ АНДРОПОВА, Д. 21
|
||||||
|
115533, Г. МОСКВА, ПРОСПЕКТ АНДРОПОВА, ДОМ 22
|
||||||
|
115583, Г. МОСКВА, УЛ. ГЕНЕРАЛА БЕЛОВА, Д. 35
|
||||||
|
115583, РФ, Г. МОСКВА, УЛ. ГЕНЕРАЛА БЕЛОВА, Д. 35, ПОМ. 1 (12,64 КВ.М)
|
||||||
|
117042, Г. МОСКВА, УЛ. ВЕНЁВСКАЯ, Д. 6
|
||||||
|
117216, Г. МОСКВА, БУЛЬВАР ДОНСКОГО ДМИТРИЯ, Д. 11, ПОМ. № 14, 14А
|
||||||
|
117216, Г. МОСКВА, БУЛЬВАР ДОНСКОГО ДМИТРИЯ, Д. 11, ПОМ. № 9
|
||||||
|
117218, Г. МОСКВА, УЛ. ПРОФСОЮЗНАЯ, Д. 13/12
|
||||||
|
117218, Г. МОСКВА, УЛ. ПРОФСОЮЗНАЯ, Д. 13/12, ПОМ. 15
|
||||||
|
117485, Г. МОСКВА, УЛ. ПРОФСОЮЗНАЯ, ДОМ 104
|
||||||
|
117519, Г. МОСКВА, УЛ. КРАСНОГО МАЯКА, Д. 2Б
|
||||||
|
117534, Г. МОСКВА, ВАРШАВСКОЕ ШОССЕ Д. 150
|
||||||
|
117545, Г. МОСКВА, 1-ЫЙ ДОРОЖНЫЙ ПРОЕЗД, Д. 4, СТР. 1
|
||||||
|
117556, Г. МОСКВА, ВАРШАВСКОЕ ШОССЕ, ДОМ 76, КОРП. 1
|
||||||
|
117556, Г. МОСКВА, ВАРШАВСКОЕ ШОССЕ, ДОМ 76, КОРПУС 1
|
||||||
|
117556, ГОРОД МОСКВА, Ш. ВАРШАВСКОЕ, Д. 91А
|
||||||
|
119002, Г. МОСКВА, ПЕР. ДЕНЕЖНЫЙ, Д. 3, СТРОЕН. 1
|
||||||
|
119019, Г. МОСКВА, УЛ. АРБАТ, Д. 4, СТР. 1, ПОМ. 8А/1П
|
||||||
|
119034, Г. МОСКВА, КОМСОМОЛЬСКИЙ ПРОСПЕКТ, Д. 24, СТР. 1, ПОМЕЩЕНИЕ XIII, ЧАСТЬ КОМНАТЫ № 4
|
||||||
|
119034, Г. МОСКВА, КОМСОМОЛЬСКИЙ ПРОСПЕКТ, Д. 24, СТР. 1., ПОМЕЩЕНИЕ XII, КОМНАТЫ № 1,2,3,16,17,18
|
||||||
|
119121, Г. МОСКВА, ПЛОЩАДЬ СМОЛЕНСКАЯ-СЕННАЯ, Д.27, СТРОЕНИЕ 1
|
||||||
|
119121, РФ, Г. МОСКВА, ПЛ. СМОЛЕНСКАЯ-СЕННАЯ, Д. 27, СТР. 1, ЧАСТЬ ПОМ. 1 (12,65 КВ.М)
|
||||||
|
119180, Г. МОСКВА, УЛ. БОЛЬШАЯ ПОЛЯНКА, Д. 61, СТР. 2, ПОМ. 2/1
|
||||||
|
119192, Г. МОСКВА, ЛОМОНОСОВСКИЙ ПРОСПЕКТ, ДОМ 25, КОРП.1
|
||||||
|
119192, Г. МОСКВА, ЛОМОНОСОВСКИЙ ПРОСПЕКТ, ДОМ 25, КОРПУС 1
|
||||||
|
119421, Г. МОСКВА, ЛЕНИНСКИЙ ПРОСПЕКТ, Д. 99
|
||||||
|
119421, Г. МОСКВА, ЛЕНИНСКИЙ ПРОСПЕКТ, Д. 99, ПОМ. 22/4/1
|
||||||
|
119421, ГОРОД МОСКВА, ПР-КТ ЛЕНИНСКИЙ, Д. 107
|
||||||
|
121165, Г. МОСКВА, КУТУЗОВСКИЙ ПРОСПЕКТ, Д.30/32
|
||||||
|
121165, Г. МОСКВА, КУТУЗОВСКИЙ ПРОСПЕКТ, ДОМ 30/32, СТР. 1
|
||||||
|
121500, МОСКОВСКАЯ ОБЛАСТЬ, Г. ОДИНЦОВО, ТЕР. МКАД, КМ 63-Й, СТР. 1
|
||||||
|
121552, Г. МОСКВА, УЛ. ЯРЦЕВСКАЯ, Д. 27, КОРП. 1
|
||||||
|
121552, РФ, Г. МОСКВА, УЛ. ЯРЦЕВСКАЯ, Д. 27, КОРП. 1, ПОМ. 6 (13,92 КВ.М.)
|
||||||
|
121609, Г. МОСКВА, ОСЕННИЙ БУЛЬВАР, Д. 7, КОРП. 1, ПОМ. 1-001 - 1-004, 1-006 - 1-014
|
||||||
|
121609, Г. МОСКВА, ОСЕННИЙ БУЛЬВАР, Д. 7, КОРП. 1, ПОМ. 1-005
|
||||||
|
121609, Г. МОСКВА, РУБЛЁВСКОЕ ШОССЕ, Д. 64, К. 2
|
||||||
|
121609, Г. МОСКВА, РУБЛЕВСКОЕ ШОССЕ, ДОМ 74
|
||||||
|
121609, Г. МОСКВА, Ш. РУБЛЁВСКОЕ, Д. 74
|
||||||
|
123022, Г. МОСКВА, УЛ. ПРЕСНЕНСКИЙ ВАЛ, Д. 7, СТР. 1
|
||||||
|
123022, РФ, Г. МОСКВА, УЛ. ПРЕСНЕНСКИЙ ВАЛ, Д. 7, СТР. 1, ПОМ. 1 (21,71 КВ.М.)
|
||||||
|
123056, Г. МОСКВА, УЛ. БОЛЬШАЯ ГРУЗИНСКАЯ, Д. 57, СТР. 1
|
||||||
|
123060, ГОРОД МОСКВА, УЛИЦА НАРОДНОГО ОПОЛЧЕНИЯ, ДОМ 45
|
||||||
|
123104, Г. МОСКВА, УЛ. МАЛАЯ БРОННАЯ, Д. 15 Б, 1Н, 2Н, 3Н
|
||||||
|
123112, Г. МОСКВА, 1-Й КРАСНОГВАРДЕЙСКИЙ ПРОЕЗД, Д. 15
|
||||||
|
123112, Г. МОСКВА, НАБЕРЕЖНАЯ ПРЕСНЕНСКАЯ, Д. 2, ПОМЕЩ. 1Н/6
|
||||||
|
123154, Г. МОСКВА, ПРОСПЕКТ МАРШАЛА ЖУКОВА, ДОМ 49, КОРПУС 1
|
||||||
|
123290, Г. МОСКВА, 1-Й МАГИСТРАЛЬНЫЙ ПРОЕЗД, Д. 9
|
||||||
|
123290, Г. МОСКВА, УЛ. 2-Я МАГИСТРАЛЬНАЯ, Д. 18, СТР. 22
|
||||||
|
123557, Г. МОСКВА, БОЛЬШОЙ ТИШИНСКИЙ ПЕР., Д. 38
|
||||||
|
124683, Г. МОСКВА, ЗЕЛЕНОГРАД, КОРП. 1824
|
||||||
|
124683, Г. МОСКВА, ЗЕЛЕНОГРАД, КОРП.1824
|
||||||
|
125167, Г. МОСКВА, ПР-КТ ЛЕНИНГРАДСКИЙ, Д. 39А, ПОМ. 1
|
||||||
|
125171, Г. МОСКВА, ЛЕНИНГРАДСКОЕ ШОССЕ, Д. 15
|
||||||
|
125239, Г. МОСКВА, УЛ. КОПТЕВСКАЯ, Д. 69А, СТР. 1.
|
||||||
|
125239, Г. МОСКВА, УЛ. КОПТЕВСКАЯ, Д. 69А, СТР. 2
|
||||||
|
125239, Г. МОСКВА, УЛ. КОПТЕВСКАЯ, Д. 69А, СТР. 5
|
||||||
|
125252, Г. МОСКВА, УЛ. АВИАКОНСТРУКТОРА МИКОЯНА, Д. 12, ПОМ. 15/1
|
||||||
|
125252, Г. МОСКВА, УЛ. АВИАКОНСТРУКТОРА МИКОЯНА, Д. 12, ПОМ. 15/1, КАБ. 1
|
||||||
|
125252, ГОРОД МОСКВА, УЛ. ЗОРГЕ, Д. 17
|
||||||
|
125315, ГОРОД МОСКВА, ЛЕНИНГРАДСКИЙ ПР-КТ, Д. 78, КОРП. 1
|
||||||
|
125315, ГОРОД МОСКВА, ЛЕНИНГРАДСКИЙ ПР-КТ, Д. 78, КОРП. 1, ПОМ. 1-014
|
||||||
|
125363, Г. МОСКВА, Б-Р ЯНА РАЙНИСА, Д. 1
|
||||||
|
125363, Г. МОСКВА, Б-Р ЯНА РАЙНИСА, Д. 1, ПОМ. 1 (14.2 КВ. М)
|
||||||
|
125375, Г. МОСКВА, УЛ. ТВЕРСКАЯ, Д. 28, КОРП. 1, ПОМ. 1-015
|
||||||
|
125430, Г. МОСКВА, УЛ. МИТИНСКАЯ, Д. 36, КОРП. 1, ПОМ. 1, КОМН. 12, 13
|
||||||
|
125430, Г. МОСКВА, УЛ. МИТИНСКАЯ, Д. 36, КОРП. 1, ПОМ. 1, КОМН. 6-11, 14-19, 22-27
|
||||||
|
125445, Г. МОСКВА, ЛЕНИНГРАДСКОЕ ШОССЕ, Д. 71А, СТР.10
|
||||||
|
125466, Г. МОСКВА, УЛ. ВОРОТЫНСКАЯ, Д. 2
|
||||||
|
125466, РФ, Г. МОСКВА, УЛ. ВОРОТЫНСКАЯ, Д. 2, ПОМ. 1 (23,56 КВ.М)
|
||||||
|
125476, Г. МОСКВА, УЛ. ВАСИЛИЯ ПЕТУШКОВА, Д. 3, КОРП. 2
|
||||||
|
125565, Г. МОСКВА, УЛ. ФЕСТИВАЛЬНАЯ, Д. 13, КОРП. 1
|
||||||
|
125565, Г. МОСКВА, УЛ. ФЕСТИВАЛЬНАЯ, ДОМ 13, КОРП. 1
|
||||||
|
127015, Г. МОСКВА, УЛ. БУТЫРСКАЯ, Д. 89
|
||||||
|
127015, Г. МОСКВА, УЛ. БУТЫРСКАЯ, Д. 89, ПОМ. 9
|
||||||
|
127030, Г. МОСКВА, УЛ. НОВОСЛОБОДСКАЯ, Д. 23
|
||||||
|
127224, Г. МОСКВА, УЛ. ОСТАШКОВСКАЯ, Д. 22
|
||||||
|
127247, Г. МОСКВА, Ш. ДМИТРОВСКОЕ, Д. 107Д
|
||||||
|
127282, Г. МОСКВА, УЛ. ГРЕКОВА, Д. 3, КОРП. 3
|
||||||
|
127287, Г. МОСКВА, УЛ. БАШИЛОВСКАЯ, Д. 2, СТР. 3
|
||||||
|
127349, Г. МОСКВА, УЛ. ЛЕСКОВА, ДОМ 3Г
|
||||||
|
127434, Г. МОСКВА, Ш. ДМИТРОВСКОЕ, Д. 15, КОРП. 1
|
||||||
|
127434, Г. МОСКВА, Ш. ДМИТРОВСКОЕ, Д. 15, КОРП. 1, ПОМ. I, КОМНАТА №14
|
||||||
|
127566, Г. МОСКВА, УЛ. ДЕКАБРИСТОВ, Д. 17
|
||||||
|
127566, Г. МОСКВА, УЛ. РИМСКОГО-КОРСАКОВА, Д. 3, СТР. 1, ПОМ. 1/1
|
||||||
|
129085, Г. МОСКВА, ПР-КТ МИРА, Д. 91, КОРП. 2, ПОМ. 1-021
|
||||||
|
129085, Г. МОСКВА, ПРОСПЕКТ МИРА, Д. 91, КОРП. 2
|
||||||
|
129085, Г. МОСКВА, ПРОСПЕКТ МИРА, Д.91, КОРП.2
|
||||||
|
129090, Г. МОСКВА, ПРОСПЕКТ МИРА, Д. 42
|
||||||
|
129090, Г. МОСКВА, ПРОСПЕКТ МИРА, Д. 42, ПОМ. 10
|
||||||
|
129327, Г. МОСКВА, УЛ. МЕНЖИНСКОГО, Д. 23, КОРП. 1
|
||||||
|
129327, Г. МОСКВА, УЛ. МЕНЖИНСКОГО, Д. 23, КОРП. 1, ПОМ. 7
|
||||||
|
129337, Г. МОСКВА, ЯРОСЛАВСКОЕ Ш., Д. 11, КОРП. 1
|
||||||
|
129337, Г. МОСКВА, ЯРОСЛАВСКОЕ Ш., Д. 36
|
||||||
|
129337, ГОРОД МОСКВА, ЯРОСЛАВСКОЕ Ш., Д. 7
|
||||||
|
140000, МОСКОВСКАЯ ОБЛАСТЬ, Г. ЛЮБЕРЦЫ, ОКТЯБРЬСКИЙ ПРОСПЕКТ, Д. 151/9, П. 2
|
||||||
|
140000, МОСКОВСКАЯ ОБЛАСТЬ, Г. ЛЮБЕРЦЫ, ОКТЯБРЬСКИЙ ПРОСПЕКТ, Д. 151/9, ПОМ. 1
|
||||||
|
140053, МОСКОВСКАЯ ОБЛ., Г. КОТЕЛЬНИКИ, КОММЕРЧЕСКИЙ ПРОЕЗД, Д.10
|
||||||
|
140056, МОСКОВСКАЯ ОБЛАСТЬ, Г. КОТЕЛЬНИКИ, УЛ. СОСНОВАЯ, Д. 2, КОРП. 4
|
||||||
|
140080, МОСКОВСКАЯ ОБЛАСТЬ, Г. ЛЫТКАРИНО, УЛ. ПАРКОВАЯ, СТР. 2
|
||||||
|
140090, МОСКОВСКАЯ ОБЛАСТЬ, Г. ДЗЕРЖИНСКИЙ, УЛ. ЛЕСНАЯ, Д. 4
|
||||||
|
140108, МОСКОВСКАЯ ОБЛАСТЬ, ГОРОДСКОЙ ОКРУГ РАМЕНСКИЙ, ГОРОД РАМЕНСКОЕ, УЛИЦА МИХАЛЕВИЧА, ДОМ 1А
|
||||||
|
140184, МОСКОВСКАЯ ОБЛАСТЬ, Г. ЖУКОВСКИЙ, УЛ. ГАГАРИНА, Д. 24
|
||||||
|
140200, МОСКОВСКАЯ ОБЛАСТЬ, Г. ВОСКРЕСЕНСК, УЛИЦА ОКТЯБРЬСКАЯ, ДОМ 2, ПОМ. 31
|
||||||
|
140301, МОСКОВСКАЯ ОБЛАСТЬ, Г. ЕГОРЬЕВСК, УЛ. СОВЕТСКАЯ, Д. 82 «А»
|
||||||
|
140408, МОСКОВСКАЯ ОБЛАСТЬ, Г. КОЛОМНА, ПЛОЩАДЬ ВОССТАНИЯ, Д. 7, ПОМ. 131-132, ЧАСТЬ ПОМ. 134
|
||||||
|
141006, МОСКОВСКАЯ ОБЛАСТЬ, Г. МЫТИЩИ, ОЛИМПИЙСКИЙ ПРОСПЕКТ, ДОМ 19, КОРП. 1
|
||||||
|
141008, МОСКОВСКАЯ ОБЛАСТЬ, Г. МЫТИЩИ, УЛ. МИРА, СТРОЕНИЕ 26А
|
||||||
|
141011, МОСКОВСКАЯ ОБЛ., Г. МЫТИЩИ, УЛ. 3-Я КОЛХОЗНАЯ, Д. 9
|
||||||
|
141011, МОСКОВСКАЯ ОБЛАСТЬ, Г. МЫТИЩИ, УЛ. 3-Я КОЛХОЗНАЯ, Д.9 "А"
|
||||||
|
141031, МОСКОВСКАЯ ОБЛАСТЬ, Г. МЫТИЩИ, П. ВЕШКИ, ТЕР. ТПЗ АЛТУФЬЕВО, КИЛОМЕТР МКАД 85, СТР. 3А
|
||||||
|
141031, МОСКОВСКАЯ ОБЛАСТЬ, Г.О. МЫТИЩИ, Г. МЫТИЩИ, ТЕРРИТОРИЯ ТПЗ АЛТУФЬЕВО, ПРОЕЗД АВТОМОБИЛЬНЫЙ, ВЛАД. 5 СТР. 9
|
||||||
|
141080, МОСКОВСКАЯ ОБЛ., РОССИЯ, Г. КОРОЛЕВ, ПР-Т КОСМОНАВТОВ, Д. 27 Б
|
||||||
|
141151, МОСКОВСКАЯ ОБЛАСТЬ, Г. ЛОСИНО-ПЕТРОВСКИЙ, УЛ. КИРОВА, Д. 6А, ПОМ. 1-003
|
||||||
|
141195, МОСКОВСКАЯ ОБЛАСТЬ, Г. ФРЯЗИНО, ПР-КТ МИРА, Д. 8, ПОМ. 2003/2
|
||||||
|
141207, МОСКОВСКАЯ ОБЛАСТЬ, Г. ПУШКИНО, МОСКОВСКИЙ ПРОСПЕКТ, Д. 9/2
|
||||||
|
141281, МОСКОВСКАЯ ОБЛАСТЬ, Г. ИВАНТЕЕВКА, УЛ. ХЛЕБОЗАВОДСКАЯ, Д. 30, ПОМ. 1-002
|
||||||
|
141310, МОСКОВСКАЯ ОБЛАСТЬ, Г. СЕРГИЕВ ПОСАД, ПРОСП. КРАСНОЙ АРМИИ, Д. 180, ПОМ. 128
|
||||||
|
141400, РФ, МОСКОВСКАЯ ОБЛ., Г. ХИМКИ, ПР-Т МЕЛЬНИКОВА, Д. 2Б, ПОМ. 1 (14,35 КВ.М.)
|
||||||
|
141407, МОСКОВСКАЯ ОБЛАСТЬ, Г. ХИМКИ, 78 КМ. МКАД, ВЛ.2
|
||||||
|
141407, МОСКОВСКАЯ ОБЛАСТЬ, Г. ХИМКИ, КМ. МКАД 74-Й, ВЛД. 5
|
||||||
|
141408, МОСКОВСКАЯ ОБЛ., Г. ХИМКИ, ЛЕНИНГРАДСКОЕ Ш., ВЛ. 21
|
||||||
|
141408, МОСКОВСКАЯ ОБЛАСТЬ, Г. ХИМКИ, ЛЕНИНГРАДСКОЕ Ш., ВЛ. 21, ПОМ. 1
|
||||||
|
141410, МОСКОВСКАЯ ОБЛАСТЬ, Г. ХИМКИ, ЛЕНИНГРАДСКОЕ Ш., ВЛД. 14 СТР. 1
|
||||||
|
141506, МОСКОВСКАЯ ОБЛАСТЬ, Г. СОЛНЕЧНОГОРСК, УЛ. ИМЕНИ БАРАНОВА, Д. 12
|
||||||
|
141607, МОСКОВСКАЯ ОБЛАСТЬ, Г. КЛИН, УЛ. КАРЛА МАРКСА, Д. 4
|
||||||
|
141700, МОСКОВСКАЯ ОБЛАСТЬ, Г. ДОЛГОПРУДНЫЙ, НОВЫЙ БУЛЬВАР, Д. 2
|
||||||
|
141730, МОСКОВСКАЯ ОБЛАСТЬ, Г. ЛОБНЯ, УЛ. ЛЕНИНА, Д. 16
|
||||||
|
141800, МОСКОВСКАЯ ОБЛАСТЬ, Г. ДМИТРОВ, УЛ. ЗАГОРСКАЯ, Д. 24, ПОМ. ЛИТБ58
|
||||||
|
141986, МОСКОВСКАЯ ОБЛАСТЬ, Г. ДУБНА, ПРОСПЕКТ БОГОЛЮБОВА, Д. 14А
|
||||||
|
142000, МОСКОВСКАЯ ОБЛАСТЬ, Г. ДОМОДЕДОВО, МИКРОРАЙОН ЦЕНТРАЛЬНЫЙ, КАШИРСКОЕ ШОССЕ, Д. 51
|
||||||
|
142034, МОСКОВСКАЯ ОБЛАСТЬ, Г. ВИДНОЕ, ПОС. МЕЩЕРИНО, ЗОНА ПРИДОРОЖНОГО СЕРВИСА АВТОДОРОГИ МКАД-АЭРОПОРТ ДОМОДЕДОВО, ВЛД. 5
|
||||||
|
142100, МОСКОВСКАЯ ОБЛАСТЬ, Г. ПОДОЛЬСК, УЛ. РАБОЧАЯ, Д. 4
|
||||||
|
142100, МОСКОВСКАЯ ОБЛАСТЬ, Г. ПОДОЛЬСК, УЛ. РАБОЧАЯ, Д. 4, ЧАСТЬ ПОМ. 1
|
||||||
|
142103, МОСКОВСКАЯ ОБЛАСТЬ, ГОРОДСКОЙ ОКРУГ ПОДОЛЬСК, ТЕРРИТОРИЯ АВТОДОРОГА М-2 КРЫМ, КИЛОМЕТР 30-Й, Д. 1, СТР. 1
|
||||||
|
142118, МОСКОВСКАЯ ОБЛАСТЬ, Г. ПОДОЛЬСК, МКР. КУЗНЕЧИКИ, УЛ. АКАДЕМИКА ДОЛЛЕЖАЛЯ, Д. 3, СТР. 2
|
||||||
|
142203, МОСКОВСКАЯ ОБЛАСТЬ, Г. СЕРПУХОВ, УЛ. ВОРОШИЛОВА, Д. 127
|
||||||
|
142281, МОСКОВСКАЯ ОБЛАСТЬ, Г. ПРОТВИНО, УЛ. ЛЕНИНА, Д. 22
|
||||||
|
142400, МОСКОВСКАЯ ОБЛАСТЬ, Г. НОГИНСК, УЛ. 3-ГО ИНТЕРНАЦИОНАЛА, Д. 62
|
||||||
|
142500, МОСКОВСКАЯ ОБЛАСТЬ, Г. ПАВЛОВСКИЙ ПОСАД, УЛ. БОЛЬШАЯ ПОКРОВСКАЯ, Д. 10
|
||||||
|
142703, МОСКОВСКАЯ ОБЛАСТЬ, Г. ВИДНОЕ, УЛ. ШКОЛЬНАЯ, 23
|
||||||
|
142715, МОСКОВСКАЯ ОБЛАСТЬ, ЛЕНИНСКИЙ Г.О., Д. БЛИЖНИЕ ПРУДИЩИ, 27 КМ МКАД, ВЛ. 9
|
||||||
|
142718, МОСКОВСКАЯ ОБЛ., ЛЕНИНСКИЙ Р-Н, СЕЛЬСКОЕ ПОСЕЛЕНИЕ БУЛАТНИКОВСКОЕ, РАЙОН 29 КМ МКАД, УЧ. 1 (ЧАСТЬ ПОМ. 104)
|
||||||
|
142718, МОСКОВСКАЯ ОБЛАСТЬ, ЛЕНИНСКИЙ ГОРОДСКОЙ ОКРУГ, ПОС. БИТЦА ТЕР. МКАД, УЛ. 32-Й КМ., СТР. 3
|
||||||
|
142784, Г. МОСКВА, П. МОСКОВСКИЙ, КИЕВСКОЕ ШОССЕ, 22-Й КМ., ДОМОВЛ. 4, СТР. 1
|
||||||
|
142784, Г.МОСКВА, П. МОСКОВСКИЙ, КИЕВСКОЕ ШОССЕ, 22-Й КМ., ДОМОВЛ. 4, СТР. 1
|
||||||
|
142802, МОСКОВСКАЯ ОБЛАСТЬ, Г. СТУПИНО, УЛ. АНДРОПОВА, Д. 63
|
||||||
|
142901, МОСКОВСКАЯ ОБЛАСТЬ, Г. КАШИРА, УЛ. ИЛЬИЧА, Д. 61
|
||||||
|
143005, МОСКОВСКАЯ ОБЛ., Г. ОДИНЦОВО, МОЖАЙСКОЕ Ш., Д. 76 А, 2 ЭТАЖ, ПОМ. 1 (23,9 КВ.М.)
|
||||||
|
143005, МОСКОВСКАЯ ОБЛАСТЬ, Г. ОДИНЦОВО, МОЖАЙСКОЕ ШОССЕ, ДОМ 76А
|
||||||
|
143025, МОСКОВСКАЯ ОБЛАСТЬ, Г.О. ОДИНЦОВСКИЙ, С. НЕМЧИНОВКА, УЛ. МОСКОВСКАЯ, Д. 61
|
||||||
|
143082, МОСКОВСКАЯ ОБЛАСТЬ, ГОРОДСКОЙ ОКРУГ ОДИНЦОВСКИЙ, Д. РАЗДОРЫ, ТЕР. МКАД КМ. 61, СТР. 1
|
||||||
|
143085, МОСКОВСКАЯ ОБЛАСТЬ, ОДИНЦОВСКИЙ РАЙОН, РАБОЧИЙ ПОСЕЛОК ЗАРЕЧЬЕ, УЛ. ТОРГОВАЯ, Д.4, СТР. 1
|
||||||
|
143090, МОСКОВСКАЯ ОБЛАСТЬ, Г. КРАСНОЗНАМЕНСК, УЛ. МОЛОДЕЖНАЯ, ЗД. 2/1
|
||||||
|
143132, МОСКОВСКАЯ ОБЛАСТЬ, Г. РУЗА, П.Г.Т. ТУЧКОВО, УЛ. ПРИВОКЗАЛЬНАЯ ПЛОЩАДЬ, Д. 9, ПОМ. 22, 25, 26
|
||||||
|
143200, МОСКОВСКАЯ ОБЛАСТЬ, Г.О. МОЖАЙСКИЙ, Г. МОЖАЙСК, УЛ. МИРА, Д. 11/1
|
||||||
|
143300, МОСКОВСКАЯ ОБЛАСТЬ, Г. НАРО-ФОМИНСК, ПЛОЩАДЬ СВОБОДЫ, Д. 2
|
||||||
|
143360, МОСКОВСКАЯ ОБЛАСТЬ, Г.О. НАРО-ФОМИНСКИЙ, Г. АПРЕЛЕВКА, УЛ. АВГУСТОВСКАЯ, Д. 14
|
||||||
|
143404, МОСКОВСКАЯ ОБЛАСТЬ, Г. КРАСНОГОРСК, УЛ. ЛЕНИНА, ДОМ 38Б
|
||||||
|
143432, МОСКОВСКАЯ ОБЛАСТЬ, Г. КРАСНОГОРСК, Р.П. НАХАБИНО, УЛ. ИНСТИТУТСКАЯ, Д. 17
|
||||||
|
143500, МОСКОВСКАЯ ОБЛАСТЬ, Г. ИСТРА, УЛ. ЛЕНИНА, Д. 75, КОМ. № 105, 106
|
||||||
|
143600, МОСКОВСКАЯ ОБЛАСТЬ, Г. ВОЛОКОЛАМСК, УЛ. СОВЕТСКАЯ, Д. 1/1
|
||||||
|
143912, МОСКОВСКАЯ ОБЛАСТЬ, Г. БАЛАШИХА, Ш. ЭНТУЗИАСТОВ, Д. 12Б
|
||||||
|
143912, МОСКОВСКАЯ ОБЛАСТЬ, Г. БАЛАШИХА, ШОССЕ ЭНТУЗИАСТОВ, ДОМ 7/1, ПОМ. 1
|
||||||
|
143914, МОСКОВСКАЯ ОБЛАСТЬ, Г. БАЛАШИХА, МКРН. ЦОВБ, Д. 21, ПОМ. 1
|
||||||
|
143960, МОСКОВСКАЯ ОБЛАСТЬ, Г. РЕУТОВ, 2-3 КМ МКАД, Д. 7
|
||||||
|
143960, МОСКОВСКАЯ ОБЛАСТЬ, ГОРОДСКОЙ ОКРУГ РЕУТОВ, Г. РЕУТОВ, 2-3 КМ. МКАД, ДОМ 7
|
||||||
|
143964, МОСКОВСКАЯ ОБЛАСТЬ, Г. РЕУТОВ, УЛ. МКАД 3 КМ, Д.11
|
||||||
|
143965, МОСКОВСКАЯ ОБЛАСТЬ, Г. РЕУТОВ, НОСОВИХИНСКОЕ ШОССЕ, ДОМ 7, ПОМЕЩЕНИЕ V
|
||||||
|
143980, МОСКОВСКАЯ ОБЛАСТЬ, ГОРОДСКОЙ ОКРУГ БАЛАШИХА, Г. БАЛАШИХА, МИКРОРАЙОН ЖЕЛЕЗНОДОРОЖНЫЙ, УЛ. ПРОЛЕТАРСКАЯ, Д. 2А, ПОМЕЩЕНИЕ 1
|
||||||
|
152020, ЯРОСЛАВСКАЯ ОБЛАСТЬ, Г. ПЕРЕСЛАВЛЬ-ЗАЛЕССКИЙ, УЛ. РОСТОВСКАЯ, Д. 4
|
||||||
|
152155, ЯРОСЛАВСКАЯ ОБЛАСТЬ, РОСТОВСКИЙ Р-Н, Г. РОСТОВ ВЕЛИКИЙ, УЛ. КАРЛА МАРКСА, Д. 10
|
||||||
|
152300, ЯРОСЛАВСКАЯ ОБЛАСТЬ, Г. ТУТАЕВ, ПР-КТ 50-ЛЕТИЯ ПОБЕДЫ, ЗД. 9А
|
||||||
|
152615, ЯРОСЛАВСКАЯ ОБЛАСТЬ, УГЛИЧСКИЙ РАЙОН, Г. УГЛИЧ, УЛ. ЯРОСЛАВСКАЯ, Д. 8
|
||||||
|
152903, ЯРОСЛАВСКАЯ ОБЛАСТЬ, РЫБИНСКИЙ РАЙОН, Г. РЫБИНСК, УЛ. КИРОВА, Д. 18
|
||||||
|
153000, Г. ИВАНОВО, ПРОСПЕКТ ЛЕНИНА, 11
|
||||||
|
153000, Г. ИВАНОВО, ПРОСПЕКТ ЛЕНИНА, 11, П. 1
|
||||||
|
153038, ИВАНОВСКАЯ ОБЛАСТЬ, Г. ИВАНОВО, ПР-КТ СТРОИТЕЛЕЙ, Д. 25
|
||||||
|
153511, ИВАНОВСКАЯ ОБЛАСТЬ, Г. КОХМА, УЛ. ИВАНОВСКАЯ, Д. 29, ПОМ. 2, 3
|
||||||
|
155040, ИВАНОВСКАЯ ОБЛАСТЬ, ТЕЙКОВСКИЙ РАЙОН, ГОРОД ТЕЙКОВО, УЛИЦА ОКТЯБРЬСКАЯ, Д. 12, ПОМ. 1005
|
||||||
|
155800, ИВАНОВСКАЯ ОБЛАСТЬ, Г. КИНЕШМА, УЛ. ИМ ЛЕНИНА, Д. 6, КВ. 1
|
||||||
|
156000, КОСТРОМСКАЯ ОБЛАСТЬ, Г. КОСТРОМА, УЛ. СОВЕТСКАЯ, Д. 30
|
||||||
|
156000, КОСТРОМСКАЯ ОБЛАСТЬ, Г. КОСТРОМА, УЛ. СОВЕТСКАЯ, Д. 30, ПОМ. 1-004
|
||||||
|
156013, КОСТРОМСКАЯ ОБЛАСТЬ, Г. КОСТРОМА, ПР-Т МИРА, Д. 65/51, ПОМ. 2
|
||||||
|
156901, КОСТРОМСКАЯ ОБЛАСТЬ, Г. ВОЛГОРЕЧЕНСК, УЛ. ИМЕНИ 50-ЛЕТИЯ ЛЕНИНСКОГО КОМСОМОЛА, Д. 35
|
||||||
|
157006, КОСТРОМСКАЯ ОБЛАСТЬ, Г. БУЙ, УЛ. ОКТЯБРЬСКОЙ РЕВОЛЮЦИИ, ЗД. 49А
|
||||||
|
157800, КОСТРОМСКАЯ ОБЛАСТЬ, НЕРЕХТСКИЙ Р-Н, Г. НЕРЕХТА, УЛ. МЕТАЛЛИСТОВ, Д. 4
|
||||||
|
160000, ВОЛОГОДСКАЯ ОБЛАСТЬ, Г. ВОЛОГДА, УЛ. ЛЕНИНА, Д. 5
|
||||||
|
162130, ВОЛОГОДСКАЯ ОБЛАСТЬ, Г. СОКОЛ, УЛ. СОВЕТСКАЯ, Д. 87
|
||||||
|
162390, ВОЛОГОДСКАЯ ОБЛАСТЬ, ВЕЛИКОУСТЮГСКИЙ Р-Н, Г. ВЕЛИКИЙ УСТЮГ, ПР-КТ СОВЕТСКИЙ, Д. 99
|
||||||
|
163000, Г. АРХАНГЕЛЬСК, УЛ. ВОСКРЕСЕНСКАЯ, Д. 6
|
||||||
|
163060, Г. АРХАНГЕЛЬСК, УЛ. ВОСКРЕСЕНСКАЯ, Д.108
|
||||||
|
164171, АРХАНГЕЛЬСКАЯ ОБЛАСТЬ, Г. МИРНЫЙ, УЛ. ЛЕНИНА, Д. 26, ПОМ. 35
|
||||||
|
164504, АРХАНГЕЛЬСКАЯ ОБЛАСТЬ, Г. СЕВЕРОДВИНСК, УЛ. ЛОМОНОСОВА, Д. 64, ПОМ. 20020, КОМН. №17; №18; №20; №21; №23, ЧАСТЬ КОМНАТЫ №25; №26
|
||||||
|
165150, АРХАНГЕЛЬСКАЯ ОБЛАСТЬ, Г. ВЕЛЬСК, УЛ. ДЗЕРЖИНСКОГО, Д. 86, СТР. 3
|
||||||
|
165313, АРХАНГЕЛЬСКАЯ ОБЛАСТЬ, Г. КОТЛАС, УЛ. НЕВСКОГО, Д. 20
|
||||||
|
165653, АРХАНГЕЛЬСКАЯ ОБЛАСТЬ, Г. КОРЯЖМА, ПРОСПЕКТ ЛЕНИНА, Д. 11, ПОМ. 4
|
||||||
|
166000, НЕНЕЦКИЙ АВТОНОМНЫЙ ОКРУГ, Г. НАРЬЯН-МАР, УЛИЦА ИМ. В.И. ЛЕНИНА, Д. 19, ПОМ. 1-Н
|
||||||
|
167001, РЕСПУБЛИКА КОМИ, Г. СЫКТЫВКАР, УЛ. КОММУНИСТИЧЕСКАЯ, Д. 46
|
||||||
|
169313, РЕСПУБЛИКА КОМИ, Г. УХТА, ПРОСПЕКТ ЛЕНИНА, Д. 27
|
||||||
|
169600, РЕСПУБЛИКА КОМИ, Г. ПЕЧОРА, УЛ. ГАГАРИНА, Д. 41
|
||||||
|
169710, РЕСПУБЛИКА КОМИ, Г. УСИНСК, УЛ. НЕФТЯНИКОВ, Д. 50
|
||||||
|
170100, Г.ТВЕРЬ, УЛ. ЖЕЛЯБОВА, Д. 3
|
||||||
|
170100, РФ, ТВЕРСКАЯ ОБЛ., Г. ТВЕРЬ, УЛ. ЖЕЛЯБОВА, Д. 3, ПОМ. 1-11 (132,2 КВ.М.)
|
||||||
|
170100, ТВЕРСКАЯ ОБЛАСТЬ, Г. ТВЕРЬ, УЛ. ЖЕЛЯБОВА, Д. 3, ПОМ.12
|
||||||
|
170100, ТВЕРСКАЯ ОБЛАСТЬ, Г. ТВЕРЬ, УЛ. ТРЕХСВЯТСКАЯ, Д. 28
|
||||||
|
170100, ТВЕРСКАЯ ОБЛАСТЬ, Г. ТВЕРЬ, УЛ. ТРЕХСВЯТСКАЯ, Д. 28, КАБ. 1-011
|
||||||
|
171163, ТВЕРСКАЯ ОБЛАСТЬ, Г. ВЫШНИЙ ВОЛОЧЕК, ПРОСПЕКТ КАЗАНСКИЙ, Д. 44, КВ. 1005
|
||||||
|
171252, ТВЕРСКАЯ ОБЛ., Г. КОНАКОВО, ПР-Т ЛЕНИНА, Д. 12
|
||||||
|
171506, ТВЕРСКАЯ ОБЛАСТЬ, Г. КИМРЫ, УЛ. УРИЦКОГО, Д. 4/6
|
||||||
|
171841, ТВЕРСКАЯ ОБЛАСТЬ, Г. УДОМЛЯ, УЛ. ПОПОВА, Д. 23
|
||||||
|
172008, ТВЕРСКАЯ ОБЛАСТЬ, Г. ТОРЖОК, УЛ. СТЕПАНА РАЗИНА, Д. 2-4
|
||||||
|
172390, ТВЕРСКАЯ ОБЛАСТЬ, Г. РЖЕВ, УЛИЦА ЛЕНИНА, Д. 7, ПОМ. 1
|
||||||
|
172527, ТВЕРСКАЯ ОБЛАСТЬ, Г. НЕЛИДОВО, УЛ. МАТРОСОВА, Д. 29
|
||||||
|
173001, НОВГОРОДСКАЯ ОБЛАСТЬ, Г. ВЕЛИКИЙ НОВГОРОД, УЛ. БОЛЬШАЯ САНКТ-ПЕТЕРБУРГСКАЯ, Д. 13, ПОМ. 1-15
|
||||||
|
174411, НОВГОРОДСКАЯ ОБЛАСТЬ, БОРОВИЧСКИЙ РАЙОН, Г. БОРОВИЧИ, УЛ. ПОДБЕЛЬСКОГО, Д. 36
|
||||||
|
175204, НОВГОРОДСКАЯ ОБЛАСТЬ, Г. СТАРАЯ РУССА, УЛ. ГОСТИНОДВОРСКАЯ, Д. 4/18, ПОМЕЩ. 16
|
||||||
|
180004, РОССИЙСКАЯ ФЕДЕРАЦИЯ, ПСКОВСКАЯ ОБЛАСТЬ, Г. ПСКОВ, ЯНА ФАБРИЦИУСА УЛ., ДОМ 27, ПОМ. 1005 (ЧАСТЬ КОМНАТЫ №15, ЧАСТЬ КОМНАТЫ №17, КОМНАТА №18, КОМНАТА №19, КОМНАТА №20, ЧАСТЬ КОМНАТЫ №21)
|
||||||
|
180007, ПСКОВСКАЯ ОБЛ., Г. ПСКОВ, ПР-Т РИЖСКИЙ, Д. 16
|
||||||
|
182113, ПСКОВСКАЯ ОБЛАСТЬ, Г. ВЕЛИКИЕ ЛУКИ, ПРОСПЕКТ ЛЕНИНА, Д. 39
|
||||||
|
183038, Г. МУРМАНСК, ПР. ЛЕНИНА, Д. 19А
|
||||||
|
183038, МУРМАНСКАЯ ОБЛАСТЬ, Г. МУРМАНСК, ПР-КТ ЛЕНИНА, Д. 82, ЛИТЕРА А4, ПОМ. X, КОМНАТА №30
|
||||||
|
183052, МУРМАНСКАЯ ОБЛАСТЬ, Г. МУРМАНСК, ПР-Т КОЛЬСКИЙ, Д. 158, II ЛИТЕР Б1, ПОМ. 35, 36, 37, 2 (ЧАСТЬ)
|
||||||
|
184042, МУРМАНСКАЯ ОБЛАСТЬ, Г. КАНДАЛАКША, УЛИЦА ПЕРВОМАЙСКАЯ, Д. 44
|
||||||
|
184209, МУРМАНСКАЯ ОБЛАСТЬ, Г. АПАТИТЫ, УЛ. ЛЕНИНА, Д. 4
|
||||||
|
184511, МУРМАНСКАЯ ОБЛАСТЬ, Г. МОНЧЕГОРСК, ПРОСПЕКТ МЕТАЛЛУРГОВ, Д. 34
|
||||||
|
184536, МУРМАНСКАЯ ОБЛАСТЬ, Г. ОЛЕНЕГОРСК, ПРОСПЕКТ ЛЕНИНГРАДСКИЙ, Д. 5
|
||||||
|
184604, МУРМАНСКАЯ ОБЛАСТЬ, Г. СЕВЕРОМОРСК, УЛ. САФОНОВА, Д. 13, ПОМ. 1-5
|
||||||
|
185014, РЕСПУБЛИКА КАРЕЛИЯ, Г. ПЕТРОЗАВОДСК, Ш. ЛОСОСИНСКОЕ, Д. 26
|
||||||
|
185035, РФ, РЕСПУБЛИКА КАРЕЛИЯ, Г. ПЕТРОЗАВОДСК, ПР-Т ЛЕНИНА, Д. 26
|
||||||
|
186225, РЕСПУБЛИКА КАРЕЛИЯ, Г. КОНДОПОГА, УЛ. ПРОЛЕТАРСКАЯ, Д. 6, ПОМ. 1
|
||||||
|
186424, РЕСПУБЛИКА КАРЕЛИЯ, Г. СЕГЕЖА, БУЛЬВАР СОВЕТОВ, Д. 3
|
||||||
|
186930, РЕСПУБЛИКА КАРЕЛИЯ, Г. КОСТОМУКША, БУЛЬВАР ЛАЗАРЕВА, Д. 1
|
||||||
|
187000, ЛЕНИНГРАДСКАЯ ОБЛАСТЬ, Г. ТОСНО, УЛ. ВОКЗАЛЬНАЯ, Д. 16
|
||||||
|
187112, ЛЕНИНГРАДСКАЯ ОБЛАСТЬ, Г. КИРИШИ, ПР-КТ ГЕРОЕВ, Д. 2, КВ. 164
|
||||||
|
187342, ЛЕНИНГРАДСКАЯ ОБЛАСТЬ, Г. КИРОВСК, УЛ. НАБЕРЕЖНАЯ, Д. 6
|
||||||
|
187406, ЛЕНИНГРАДСКАЯ ОБЛАСТЬ, Г. ВОЛХОВ, УЛ. МОЛОДЕЖНАЯ, Д. 18
|
||||||
|
187553, ЛЕНИНГРАДСКАЯ ОБЛАСТЬ, Г. ТИХВИН, УЛ. КАРЛА МАРКСА, Д. 50
|
||||||
|
188230, ЛЕНИНГРАДСКАЯ ОБЛАСТЬ, Г. ЛУГА, ПРОСПЕКТ УРИЦКОГО, Д. 77, КОРП. 3
|
||||||
|
188300, ЛЕНИНГРАДСКАЯ ОБЛАСТЬ, Г. ГАТЧИНА, ПРОСПЕКТ 25 ОКТЯБРЯ, Д. 11/13
|
||||||
|
188480, ЛЕНИНГРАДСКАЯ ОБЛАСТЬ, Г. КИНГИСЕПП, УЛ. БОЛЬШАЯ СОВЕТСКАЯ, Д. 39Б
|
||||||
|
188541, РОССИЙСКАЯ ФЕДЕРАЦИЯ, ЛЕНИНГРАДСКАЯ ОБЛАСТЬ, Г. СОСНОВЫЙ БОР, УЛ. СОЛНЕЧНАЯ, Д.12
|
||||||
|
188560, ЛЕНИНГРАДСКАЯ ОБЛАСТЬ, Г. СЛАНЦЫ, УЛ. ЛЕНИНА, Д. 10, ПОМ. № 1
|
||||||
|
188640, ЛЕНИНГРАДСКАЯ ОБЛАСТЬ, Г. ВСЕВОЛОЖСК, ВСЕВОЛОЖСКИЙ ПР-КТ, Д. 29
|
||||||
|
188650, ЛЕНИНГРАДСКАЯ ОБЛАСТЬ, Г. СЕРТОЛОВО, МИКРОРАЙОН СЕРТОЛОВО-1, УЛ. МОЛОДЦОВА, Д. 1, КОРП. 3
|
||||||
|
188677, ЛЕНИНГРАДСКАЯ ОБЛАСТЬ, Г. МУРИНО, БУЛЬВАР МЕНДЕЛЕЕВА, Д. 11, КОРП. 1
|
||||||
|
188693, ЛЕНИНГРАДСКАЯ ОБЛАСТЬ, Г. КУДРОВО, ЕВРОПЕЙСКИЙ ПРОСПЕКТ, Д. 8, ПОМ. 44-Н
|
||||||
|
188800, ЛЕНИНГРАДСКАЯ ОБЛАСТЬ, Г. ВЫБОРГ, УЛ. ВОКЗАЛЬНАЯ, Д. 7
|
||||||
|
191014, Г. САНКТ-ПЕТЕРБУРГ, БАСКОВ ПЕРЕУЛОК, Д. 2, СТР. 1, ПОМЕЩЕНИЕ 67-Н
|
||||||
|
191040 Г. САНКТ-ПЕТЕРБУРГ ЛИГОВСКИЙ ПР., 73, ЛИТЕР А
|
||||||
|
191123, Г. САНКТ-ПЕТЕРБУРГ, ФУРШТАТСКАЯ УЛИЦА, Д. 40, ЛИТ. А
|
||||||
|
191123, РОССИЙСКАЯ ФЕДЕРАЦИЯ, Г. САНКТ-ПЕТЕРБУРГ, ФУРШТАТСКАЯ УЛИЦА, Д.40, ЛИТ.А (КАБИНЕТЫ №№ 1-9)
|
||||||
|
191186, Г. САНКТ-ПЕТЕРБУРГ, КАЗАНСКАЯ УЛ., 2, ЛИТ. А, ПОМ. 3Н
|
||||||
|
191186, Г. САНКТ-ПЕТЕРБУРГ, УЛ. БОЛЬШАЯ КОНЮШЕННАЯ, 19/8, ЛИТ. А, ПОМ. 24 Н-25 Н
|
||||||
|
192131, Г. САНКТ-ПЕТЕРБУРГ, УЛ. ИВАНОВСКАЯ, Д. 6, ЛИТЕРА А, ПОМ. 19-Н
|
||||||
|
192177, Г. САНКТ-ПЕТЕРБУРГ, УЛ. КАРАВАЕВСКАЯ, Д. 24, КОРП. 1, ЛИТ. А, ПОМ. 21-Н
|
||||||
|
192238, РОССИЙСКАЯ ФЕДЕРАЦИЯ, Г. САНКТ-ПЕТЕРБУРГ, БУХАРЕСТСКАЯ УЛИЦА, Д. 74, КОР.3, ЛИТ.А
|
||||||
|
193168, Г. САНКТ-ПЕТЕРБУРГ, ПРОСПЕКТ БОЛЬШЕВИКОВ, Д. 17, ЛИТЕРА Ч, ПОМ. 47-Н
|
||||||
|
193231,РОССИЙСКАЯ ФЕДЕРАЦИЯ, Г. САНКТ-ПЕТЕРБУРГ, ПРОСПЕКТ БОЛЬШЕВИКОВ, ДОМ 2, ЛИТЕР А
|
||||||
|
194021, Г. САНКТ-ПЕТЕРБУРГ, ПР. ТОРЕЗА, Д. 9, ЛИТ. А
|
||||||
|
194356, Г. САНКТ-ПЕТЕРБУРГ, ПР. ЭНГЕЛЬСА, Д. 139/21, ЛИТ. А
|
||||||
|
195009, Г. САНКТ-ПЕТЕРБУРГ, УЛ. АКАДЕМИКА ЛЕБЕДЕВА, Д.31, КОРП.2, ЛИТ.А
|
||||||
|
195112, Г. САНКТ-ПЕТЕРБУРГ, НОВОЧЕРКАССКИЙ ПР., 43/17, ЛИТЕР А
|
||||||
|
195220, Г. САНКТ-ПЕТЕРБУРГ, ПРОСПЕКТ НАУКИ, Д. 14, КОР. 1, ЛИТ. А, ПОМ. 35Н
|
||||||
|
195267, Г. САНКТ-ПЕТЕРБУРГ, ПР.ПРОСВЕЩЕНИЯ, 84, КОРП.1, ЛИТ.А, ПОМ.50Н
|
||||||
|
196066, Г. САНКТ-ПЕТЕРБУРГ, МОСКОВСКИЙ ПР., Д.193, ПОМ.14Н, ЛИТ.А
|
||||||
|
196105, Г. САНКТ-ПЕТЕРБУРГ, МОСКОВСКИЙ ПРОСПЕКТ, Д. 172, ЛИТ. А, ПОМ. 11-Н
|
||||||
|
196233, Г. САНКТ-ПЕТЕРБУРГ, ПРОСПЕКТ ВИТЕБСКИЙ, Д. 101, КОРП. 1, СТР. 1, ПОМ. 538Н
|
||||||
|
196608, Г. САНКТ-ПЕТЕРБУРГ, Г. ПУШКИН, УЛ. ЛЕНИНГРАДСКАЯ, Д. 29, ЛИТ. А, ПОМ. 1-Н
|
||||||
|
196655, Г. САНКТ-ПЕТЕРБУРГ, Г. КОЛПИНО, УЛ. ТВЕРСКАЯ, Д. 34, ЛИТ. А
|
||||||
|
197022, Г. САНКТ-ПЕТЕРБУРГ, КАМЕННООСТРОВСКИЙ ПРОСПЕКТ, Д. 41, ЛИТЕРА А, ПОМ. 2-Н
|
||||||
|
197022, Г. САНКТ-ПЕТЕРБУРГ, МАЛЫЙ ПРОСПЕКТ П.С., Д. 87, ЛИТ. А, ЧАСТЬ ПОМ. 1-Н
|
||||||
|
197348, Г. САНКТ-ПЕТЕРБУРГ, КОЛОМЯЖСКИЙ ПРОСПЕКТ, ДОМ 15, КОРПУС 2, ЛИТЕРА А
|
||||||
|
197371, Г. САНКТ-ПЕТЕРБУРГ, КОМЕНДАНТСКИЙ ПРОСПЕКТ, Д. 13, КОРП. 1, ЛИТЕРА А, ПОМЕЩЕНИЕ 1-Н
|
||||||
|
197374, Г. САНКТ-ПЕТЕРБУРГ, УЛ. САВУШКИНА, Д. 124, КОРП. 1, ЛИТЕРА А, ПОМ. 10-Н
|
||||||
|
198097, Г. САНКТ-ПЕТЕРБУРГ, ПР.СТАЧЕК, 47, ЛИТЕР Е
|
||||||
|
198216, Г. САНКТ-ПЕТЕРБУРГ, ПР-Т ЛЕНИНСКИЙ, Д. 130/6, ЛИТ. А
|
||||||
|
198217, РОССИЙСКАЯ ФЕДЕРАЦИЯ, Г. САНКТ-ПЕТЕРБУРГ, ДАЧНЫЙ ПРОСПЕКТ, Д.17, КОРП.3, ЛИТ.А, ПОМ.3Н
|
||||||
|
198510, Г. САНКТ-ПЕТЕРБУРГ, Г. ПЕТЕРГОФ, ПР-КТ САНКТ-ПЕТЕРБУРГСКИЙ, Д. 29, ЛИТЕРА А, ЧАСТЬ ПОМ. 1-Н
|
||||||
|
199004, Г. САНКТ ПЕТЕРБУРГ, ПР-КТ СРЕДНИЙ В.О., ДОМ 33, ЛИТЕР А, ПОМ. 10-Н
|
||||||
|
199004, Г. САНКТ-ПЕТЕРБУРГ, ВАСИЛЬЕВСКИЙ ОСТРОВ, 7-АЯ ЛИНИЯ, Д.54, ЛИТ.А, ПОМ.3Н
|
||||||
|
214004, СМОЛЕНСКАЯ ОБЛАСТЬ, Г. СМОЛЕНСК, УЛ. НИКОЛАЕВА, Д. 8
|
||||||
|
214004, СМОЛЕНСКАЯ ОБЛАСТЬ, Г. СМОЛЕНСК, УЛ. НИКОЛАЕВА, Д. 8, ПОМ. 3
|
||||||
|
214036, СМОЛЕНСКАЯ ОБЛАСТЬ, Г. СМОЛЕНСК, УЛ. ПЕТРА АЛЕКСЕЕВА, Д. 1А
|
||||||
|
215110, СМОЛЕНСКАЯ ОБЛАСТЬ, Г. ВЯЗЬМА, УЛ. 25 ОКТЯБРЯ, Д. 4
|
||||||
|
215500, СМОЛЕНСКАЯ ОБЛАСТЬ, Г. САФОНОВО, УЛ. СОВЕТСКАЯ, Д. 56
|
||||||
|
216400, СМОЛЕНСКАЯ ОБЛАСТЬ, Г. ДЕСНОГОРСК, МИКРОРАЙОН 4, Д. 7
|
||||||
|
216500, СМОЛЕНСКАЯ ОБЛАСТЬ, Г. РОСЛАВЛЬ, УЛ. ПРОЛЕТАРСКАЯ, Д. 46
|
||||||
|
236001, КАЛИНИНГРАДСКАЯ ОБЛАСТЬ, Г. КАЛИНИНГРАД, УЛ. ГЕНЕРАЛА ЧЕЛНОКОВА, Д. 11
|
||||||
|
236006, КАЛИНИНГРАДСКАЯ ОБЛАСТЬ, Г. КАЛИНИНГРАД, УЛ. ТЕАТРАЛЬНАЯ, Д. 35, ПОМ. 3
|
||||||
|
236006, КАЛИНИНГРАДСКАЯ ОБЛАСТЬ, Г. КАЛИНИНГРАД, УЛ. ШЕВЧЕНКО, Д. 11А
|
||||||
|
236022, РОССИЙСКАЯ ФЕДЕРАЦИЯ, КАЛИНИНГРАДСКАЯ ОБЛ., Г. КАЛИНИНГРАД, ПЛ. ПОБЕДЫ, Д. 4, ЛИТ. "V"
|
||||||
|
236022, РФ, КАЛИНИНГРАДСКАЯ ОБЛ., Г. КАЛИНИНГРАД, ПЛ. ПОБЕДЫ, Д. 4, ЛИТЕР "А"
|
||||||
|
236041, КАЛИНИНГРАДСКАЯ ОБЛАСТЬ, Г. КАЛИНИНГРАД, УЛ. КУЙБЫШЕВА, Д. 2
|
||||||
|
236044, КАЛИНИНГРАДСКАЯ ОБЛ., Г. КАЛИНИНГРАД, Б-Р Л. ШЕВЦОВОЙ, Д. 1А
|
||||||
|
238300, КАЛИНИНГРАДСКАЯ ОБЛАСТЬ, Г. ГУРЬЕВСК, БУЛЬВАР ПРАЖСКИЙ, ЗД. 2А
|
||||||
|
238326, КАЛИНИНГРАДСКАЯ ОБЛАСТЬ, Г. ЗЕЛЕНОГРАДСК, УЛ. ПОТЕМКИНА, Д. 15Б
|
||||||
|
238340, КАЛИНИНГРАДСКАЯ ОБЛАСТЬ, Г. СВЕТЛЫЙ, УЛ. СОВЕТСКАЯ, Д. 13, ПОМ. V ИЗ ЛИТ. А.
|
||||||
|
238750, КАЛИНИНГРАДСКАЯ ОБЛАСТЬ, Г. СОВЕТСК, УЛ. ПОБЕДЫ, Д. 21
|
||||||
|
241035, БРЯНСКАЯ ОБЛАСТЬ, Г. БРЯНСК, УЛ. КОМСОМОЛЬСКАЯ, Д. 12
|
||||||
|
241050, БРЯНСКАЯ ОБЛАСТЬ, Г. БРЯНСК, УЛ. КРАСНОАРМЕЙСКАЯ, Д. 41
|
||||||
|
241050, БРЯНСКАЯ ОБЛАСТЬ, Г. БРЯНСК, УЛ. КРАСНОАРМЕЙСКАЯ, Д. 41, ПОМ. IX
|
||||||
|
242500, БРЯНСКАЯ ОБЛАСТЬ, Г. КАРАЧЕВ, УЛ. СОВЕТСКАЯ, Д. 62
|
||||||
|
242600, БРЯНСКАЯ ОБЛАСТЬ, Г. ДЯТЬКОВО, УЛ. ЛЕНИНА, Д. 166
|
||||||
|
243020, БРЯНСКАЯ ОБЛАСТЬ, Г. НОВОЗЫБКОВ, УЛ. ПЕРВОМАЙСКАЯ, Д. 26
|
||||||
|
243140, БРЯНСКАЯ ОБЛАСТЬ, Г. КЛИНЦЫ, ПР-Т ЛЕНИНА, Д. 21
|
||||||
|
243300, БРЯНСКАЯ ОБЛАСТЬ, Г. УНЕЧА, УЛ. ИВАНОВА, Д. 1
|
||||||
|
243400, БРЯНСКАЯ ОБЛАСТЬ, Г. ПОЧЕП, УЛ. ЛЕНИНА, Д. 3
|
||||||
|
248001, РОССИЯ, КАЛУЖСКАЯ ОБЛАСТЬ, Г. КАЛУГА, УЛ. КИРОВА, Д. 14
|
||||||
|
248023, КАЛУЖСКАЯ ОБЛАСТЬ, Г. КАЛУГА, ПЛ. ПОБЕДЫ, Д. 15
|
||||||
|
248023, КАЛУЖСКАЯ ОБЛАСТЬ, Г. КАЛУГА, ПЛ. ПОБЕДЫ, Д. 15, ПОМ. 12
|
||||||
|
248023, КАЛУЖСКАЯ ОБЛАСТЬ, Г. КАЛУГА, ПЛ. ПОБЕДЫ, Д. 15, ПОМ. 13
|
||||||
|
249000, КАЛУЖСКАЯ ОБЛАСТЬ, Г. БАЛАБАНОВО, УЛ. БОРОВСКАЯ, Д. 1
|
||||||
|
249039, КАЛУЖСКАЯ ОБЛАСТЬ, Г. ОБНИНСК, ПР-КТ МАРКСА, Д. 50, ПОМ. 1
|
||||||
|
249096, КАЛУЖСКАЯ ОБЛАСТЬ, Г. МАЛОЯРОСЛАВЕЦ, УЛ. ЛЕНИНА, Д. 20
|
||||||
|
249100, КАЛУЖСКАЯ ОБЛАСТЬ, Г. ТАРУСА, УЛ. ОКТЯБРЬСКАЯ, Д. 4
|
||||||
|
249406, КАЛУЖСКАЯ ОБЛ., Г. ЛЮДИНОВО, УЛ. ЛЕНИНА, Д. 4
|
||||||
|
300026, ТУЛЬСКАЯ ОБЛАСТЬ, Г. ТУЛА, УЛ. СОВЕТСКАЯ, 10, ПОМЕЩЕНИЕ 38А
|
||||||
|
300041, РОССИЙСКАЯ ФЕДЕРАЦИЯ, ТУЛЬСКАЯ ОБЛАСТЬ, Г. ТУЛА, УЛИЦА СОВЕТСКАЯ, Д. 10, ПОМ. 31
|
||||||
|
300041, ТУЛЬСКАЯ ОБЛ., Г. ТУЛА, ЦЕНТРАЛЬНЫЙ Р-Н, ПРОСП. ЛЕНИНА, Д. 54А
|
||||||
|
300041, ТУЛЬСКАЯ ОБЛАСТЬ, Г. ТУЛА, КРАСНОАРМЕЙСКИЙ ПР-КТ, Д. 27, КОМ. № 9
|
||||||
|
301260, ТУЛЬСКАЯ ОБЛАСТЬ, Г. КИРЕЕВСК, УЛ. ЛЕНИНА, Д. 16
|
||||||
|
301320, ТУЛЬСКАЯ ОБЛАСТЬ, Г. ВЕНЕВ, УЛ. БУНДУРИНА, ЗД. 10
|
||||||
|
301361, ТУЛЬСКАЯ ОБЛАСТЬ, АЛЕКСИНСКИЙ Р-ОН, Г. АЛЕКСИН, УЛ. МИРА, Д. 20
|
||||||
|
301430, ТУЛЬСКАЯ ОБЛАСТЬ, СУВОРОВСКИЙ Р-Н, Г. СУВОРОВ, ПР-КТ МИРА, Д. 21
|
||||||
|
301470, ТУЛЬСКАЯ ОБЛАСТЬ, ПЛАВСКИЙ Р-Н, Г. ПЛАВСК, УЛ. КОММУНАРОВ, Д. 45
|
||||||
|
301530, ТУЛЬСКАЯ ОБЛАСТЬ, БЕЛЕВСКИЙ Р-Н, Г. БЕЛЕВ, ПЛ. ОКТЯБРЯ, Д. 7
|
||||||
|
301600, ТУЛЬСКАЯ ОБЛАСТЬ, Г. УЗЛОВАЯ, УЛ. ТРЕГУБОВА, Д. 40
|
||||||
|
301650, ТУЛЬСКАЯ ОБЛАСТЬ, НОВОМОСКОВСКИЙ Р-Н, Г. НОВОМОСКОВСК, УЛ. КОМСОМОЛЬСКАЯ/УЛ. ТРУДОВЫЕ РЕЗЕРВЫ, Д. 21/34, ПОМ. 1-4, 6-11
|
||||||
|
301720, ТУЛЬСКАЯ ОБЛАСТЬ, Г. КИМОВСК, УЛ. КРЫЛОВА, Д. 2
|
||||||
|
301764, ТУЛЬСКАЯ ОБЛАСТЬ, Г. ДОНСКОЙ, МКР. ЦЕНТРАЛЬНЫЙ, УЛ. ОКТЯБРЬСКАЯ, Д. 59А
|
||||||
|
301835, ТУЛЬСКАЯ ОБЛАСТЬ, Г. БОГОРОДИЦК, УЛ. КОММУНАРОВ, Д. 59
|
||||||
|
301840, ТУЛЬСКАЯ ОБЛАСТЬ, Г. ЕФРЕМОВ, УЛ. СВЕРДЛОВА, Д. 55
|
||||||
|
302026, ОРЛОВСКАЯ ОБЛАСТЬ, Г. ОРЕЛ, УЛ. КОМСОМОЛЬСКАЯ, Д. 78
|
||||||
|
302026, ОРЛОВСКАЯ ОБЛАСТЬ, Г. ОРЕЛ, УЛ. КОМСОМОЛЬСКАЯ, Д. 78, ПОМ. 14
|
||||||
|
302030, ОРЛОВСКАЯ ОБЛАСТЬ, Г. ОРЕЛ, УЛ. МОСКОВСКАЯ, Д. 28, ПОМ. 87
|
||||||
|
303030, ОРЛОВСКАЯ ОБЛАСТЬ, Г. МЦЕНСК, УЛ. ЛЕНИНА, Д. 25
|
||||||
|
303850, ОРЛОВСКАЯ ОБЛАСТЬ, Г. ЛИВНЫ, УЛ. МАКСИМА ГОРЬКОГО, Д. 2
|
||||||
|
305000, КУРСКАЯ ОБЛАСТЬ, Г. КУРСК, УЛ. ЛЕНИНА, Д. 31, ПОМ. 1Б, КАБ. 17
|
||||||
|
305000, РФ, КУРСКАЯ ОБЛ., Г. КУРСК, УЛ. ЛЕНИНА, Д. 31, ПОМ. 1Б
|
||||||
|
305029, КУРСКАЯ ОБЛАСТЬ, Г. КУРСК, УЛ. КАРЛА МАРКСА, Д. 59А
|
||||||
|
305040, КУРСКАЯ ОБЛАСТЬ, Г. КУРСК, УЛ. СТУДЕНЧЕСКАЯ, Д. 3
|
||||||
|
306230, КУРСКАЯ ОБЛАСТЬ, Г. ОБОЯНЬ, УЛ. 3-ГО ИНТЕРНАЦИОНАЛА, Д. 40
|
||||||
|
307179, КУРСКАЯ ОБЛАСТЬ, Г. ЖЕЛЕЗНОГОРСК, УЛ. ВОИНОВ-ИНТЕРНАЦИОНАЛИСТОВ, Д. 6, ПОМ. 3
|
||||||
|
307250, КУРСКАЯ ОБЛАСТЬ, Г. КУРЧАТОВ, УЛ. САДОВАЯ, ВЛД. 11А
|
||||||
|
308009, БЕЛГОРОДСКАЯ ОБЛАСТЬ, Г. БЕЛГОРОД, УЛ. ПОПОВА, Д. 12
|
||||||
|
308009, БЕЛГОРОДСКАЯ ОБЛАСТЬ, Г. БЕЛГОРОД, УЛ. ПОПОВА, Д. 12, КАБ. 1-012
|
||||||
|
308010, БЕЛГОРОДСКАЯ ОБЛАСТЬ, Г. БЕЛГОРОД, ПР-КТ Б.ХМЕЛЬНИЦКОГО, Д. 164
|
||||||
|
308027, РОССИЙСКАЯ ФЕДЕРАЦИЯ, БЕЛГОРОДСКАЯ ОБЛ., Г. БЕЛГОРОД, УЛ. ЩОРСА, Д. 8
|
||||||
|
308034, Г. БЕЛГОРОД, ПР-КТ ВАТУТИНА, Д. 9Б
|
||||||
|
308034, РОССИЙСКАЯ ФЕДЕРАЦИЯ, БЕЛГОРОДСКАЯ ОБЛАСТЬ, Г.БЕЛГОРОД, ПР-КТ ВАТУТИНА, Д. 9Б
|
||||||
|
309070, БЕЛГОРОДСКАЯ ОБЛАСТЬ, Г. СТРОИТЕЛЬ, УЛ. ЖУКОВА, ЗД. 6В
|
||||||
|
309181, БЕЛГОРОДСКАЯ ОБЛАСТЬ, Г. ГУБКИН, УЛ. КИРОВА, Д. 53
|
||||||
|
309512, БЕЛГОРОДСКАЯ ОБЛАСТЬ, Г. СТАРЫЙ ОСКОЛ, МКР. ЖУКОВА, Д. 48, ПОМЕЩЕНИЕ 6
|
||||||
|
309640, БЕЛГОРОДСКАЯ ОБЛАСТЬ, Г. НОВЫЙ ОСКОЛ, ПЛ. ЦЕНТРАЛЬНАЯ, Д. 1
|
||||||
|
309857, БЕЛГОРОДСКАЯ ОБЛАСТЬ, Г. АЛЕКСЕЕВКА, УЛ. МОСТОВАЯ, ЗД. 90
|
||||||
|
309996, БЕЛГОРОДСКАЯ ОБЛАСТЬ, Г. ВАЛУЙКИ, УЛ. М. ГОРЬКОГО, Д. 2
|
||||||
|
309996, ТАМБОВСКАЯ ОБЛАСТЬ, Г. КОТОВСК, УЛ. ОКТЯБРЬСКАЯ, Д. 6, ПОМ. 1
|
||||||
|
344000, РОСТОВСКАЯ ОБЛАСТЬ, Г. РОСТОВ-НА-ДОНУ, КИРОВСКИЙ РАЙОН, УЛ. КРАСНОАРМЕЙСКАЯ, 206, 2 ЭТАЖ, ПОМ. 2-18
|
||||||
|
344000, РОСТОВСКАЯ ОБЛАСТЬ, Г. РОСТОВ-НА-ДОНУ. КИРОВСКИЙ РАЙОН, УЛ. КРАСНОАРМЕЙСКАЯ, 206
|
||||||
|
344002, РОССИЙСКАЯ ФЕДЕРАЦИЯ, РОСТОВСКАЯ ОБЛАСТЬ, Г. РОСТОВ-НА-ДОНУ, ПР. БУДЕННОВСКИЙ, Д. 42/50
|
||||||
|
344002, РОССИЯ, РОСТОВСКАЯ ОБЛАСТЬ, Г. РОСТОВ-НА-ДОНУ, УЛ. ТЕМЕРНИЦКАЯ, Д. 80/31/81
|
||||||
|
344010, Г. РОСТОВ-НА-ДОНУ, КИРОВСКИЙ РАЙОН, УЛ. КРАСНОАРМЕЙСКАЯ, Д. 170
|
||||||
|
344010, РОССИЙСКАЯ ФЕДЕРАЦИЯ, Г. РОСТОВ-НА-ДОНУ, ПЛ. ГАГАРИНА, Д. 6/87
|
||||||
|
344037, РОСТОВСКАЯ ОБЛАСТЬ, Г. РОСТОВ-НА-ДОНУ, ПРОЛЕТАРСКИЙ РАЙОН, УЛ. 20-Я ЛИНИЯ, Д. 4/3/13
|
||||||
|
344091, РОССИЙСКАЯ ФЕДЕРАЦИЯ, РОСТОВСКАЯ ОБЛ., Г. РОСТОВ-НА-ДОНУ, ПР. КОММУНИСТИЧЕСКИЙ, Д. 27
|
||||||
|
344092, Г. РОСТОВ-НА-ДОНУ, ПР. КОСМОНАВТОВ, 15
|
||||||
|
344113, РОССИЙСКАЯ ФЕДЕРАЦИЯ, РОСТОВСКАЯ ОБЛ., Г. РОСТОВ-НА-ДОНУ, ПР. КОРОЛЕВА, Д. 14 А
|
||||||
|
344116, РОСТОВСКАЯ ОБЛАСТЬ, Г. РОСТОВ-НА-ДОНУ, ПР-КТ СТАЧКИ, ЗД. 25
|
||||||
|
346130, РОСТОВСКАЯ ОБЛАСТЬ, Г. МИЛЛЕРОВО, УЛ. РОССИЙСКАЯ, ЗД. 66
|
||||||
|
346330, РОСТОВСКАЯ ОБЛАСТЬ, Г. ДОНЕЦК, УЛ. МАКСИМА ГОРЬКОГО, Д. 67
|
||||||
|
346350, РОСТОВСКАЯ ОБЛАСТЬ, КРАСНОСУЛИНСКИЙ Р-Н, Г. КРАСНЫЙ СУЛИН, УЛ. ПЕРВОМАЙСКАЯ, Д. 10/12
|
||||||
|
346400, РОСТОВСКАЯ ОБЛАСТЬ, Г. НОВОЧЕРКАССК, УЛ. МОСКОВСКАЯ, Д. 1 / ПР-Т ПЛАТОВСКИЙ, Д. 90
|
||||||
|
346630, РОСТОВСКАЯ ОБЛАСТЬ, Г. СЕМИКАРАКОРСК, УЛ. ЛЕНИНА, Д. 112
|
||||||
|
346720, РОСТОВСКАЯ ОБЛАСТЬ, АКСАЙСКИЙ Р-Н, Г. АКСАЙ, ПР-КТ ЛЕНИНА, Д. 26
|
||||||
|
346787, РОСТОВСКАЯ ОБЛ., Г. АЗОВ, УЛ. МИРА, Д. 45/64
|
||||||
|
346880, РОСТОВСКАЯ ОБЛАСТЬ, Г.О. ГОРОД БАТАЙСК, Г. БАТАЙСК, УЛ. ЭНГЕЛЬСА, Д. 182
|
||||||
|
346918, РОСТОВСКАЯ ОБЛ., Г. НОВОШАХТИНСК, ПР-КТ ЛЕНИНА, Д. 5-А
|
||||||
|
347045, РОСТОВСКАЯ ОБЛАСТЬ, Г. БЕЛАЯ КАЛИТВА, УЛ. ЭНГЕЛЬСА, Д. 382
|
||||||
|
347382, РОСТОВСКАЯ ОБЛАСТЬ, Г. ВОЛГОДОНСК, ПР-КТ СТРОИТЕЛЕЙ, Д. 21, ПОМ. 2
|
||||||
|
347630, РОСТОВСКАЯ ОБЛАСТЬ, Г. САЛЬСК, УЛ. ПУШКИНА, Д. 15
|
||||||
|
347810, РОСТОВСКАЯ ОБЛАСТЬ, Г. КАМЕНСК-ШАХТИНСКИЙ, ПР-Т КАРЛА МАРКСА, Д. 73
|
||||||
|
347871, РОСТОВСКАЯ ОБЛАСТЬ, Г. ГУКОВО, УЛ. КАРЛА МАРКСА, Д. 72
|
||||||
|
347904, РОСТОВСКАЯ ОБЛАСТЬ, Г. ТАГАНРОГ, УЛ. ДЗЕРЖИНСКОГО/УЛ.ФРУНЗЕ, Д. 1/100
|
||||||
|
347922, РОСТОВСКАЯ ОБЛАСТЬ, Г. ТАГАНРОГ, ПЕР. 1-Й КРЕПОСТНОЙ, Д. 17
|
||||||
|
350000, РОССИЙСКАЯ ФЕДЕРАЦИЯ, Г. КРАСНОДАР, УЛ. СЕДИНА, Д. 159
|
||||||
|
350001, Г. КРАСНОДАР, ЦЕНТРАЛЬНЫЙ ОКРУГ, УЛ. СТАВРОПОЛЬСКАЯ, ДОМ 184
|
||||||
|
350015, КРАСНОДАРСКИЙ КРАЙ, Г. КРАСНОДАР, УЛ. КРАСНАЯ, Д. 126
|
||||||
|
350015, КРАСНОДАРСКИЙ КРАЙ, Г. КРАСНОДАР, УЛ. КРАСНАЯ, Д. 176/1
|
||||||
|
350049, Г. КРАСНОДАР, ПРИКУБАНСКИЙ ОКРУГ, УЛ. ИМ. ТУРГЕНЕВА, ДОМ 107
|
||||||
|
350049, Г. КРАСНОДАР, УЛ. ТУРГЕНЕВА, ДОМ 107, ЛИТЕР А
|
||||||
|
350049, КРАСНОДАРСКИЙ КРАЙ, Г. КРАСНОДАР, УЛ. СЕВЕРНАЯ, Д. 233, ЧАСТЬ ПОМЕЩЕНИЯ №17
|
||||||
|
350063, Г. КРАСНОДАР, ЗАПАДНЫЙ ВНУТРИГОРОДСКОЙ ОКРУГ, УЛ. ИМ. ПУШКИНА, ДОМ №22
|
||||||
|
350075, КРАСНОДАРСКИЙ КРАЙ, Г. КРАСНОДАР, УЛ. ИМ. СЕЛЕЗНЕВА, Д. 126
|
||||||
|
350901, Г. КРАСНОДАР, ПРИКУБАНСКИЙ ОКРУГ, УЛ. 1 МАЯ, Д. 158.
|
||||||
|
352120, КРАСНОДАРСКИЙ КРАЙ, Г. ТИХОРЕЦК, УЛ. ЭНГЕЛЬСА, Д. 101
|
||||||
|
352192, КРАСНОДАРСКИЙ КРАЙ, Г. ГУЛЬКЕВИЧИ, УЛ. ЛЕНИНГРАДСКАЯ, Д. 3
|
||||||
|
352240, КРАСНОДАРСКИЙ КРАЙ, Г. НОВОКУБАНСК, УЛ. ПЕРВОМАЙСКАЯ, Д. 161
|
||||||
|
352330, КРАСНОДАРСКИЙ КРАЙ, Г. УСТЬ-ЛАБИНСК, УЛ. ОКТЯБРЬСКАЯ, Д. 99, ПОМ. 1-003
|
||||||
|
352380, КРАСНОДАРСКИЙ КРАЙ, Г. КРОПОТКИН, УЛ. КРАСНАЯ, Д. 96
|
||||||
|
352430, КРАСНОДАРСКИЙ КРАЙ, Г. КУРГАНИНСК, УЛ. МИЛИЦИОНЕРСКАЯ, Д. 62А
|
||||||
|
352500, КРАСНОДАРСКИЙ КРАЙ, Г. ЛАБИНСК, УЛ. ХАЛТУРИНА, Д. 18
|
||||||
|
352630, КРАСНОДАРСКИЙ КРАЙ, Г. БЕЛОРЕЧЕНСК, УЛ. ЛЕНИНА, Д. 145
|
||||||
|
352690, КРАСНОДАРСКИЙ КРАЙ, Г. АПШЕРОНСК, УЛ. ВОРОШИЛОВА, Д. 8А
|
||||||
|
352700, КРАСНОДАРСКИЙ КРАЙ, Г. ТИМАШЕВСК, УЛ. КРАСНАЯ, Д. 106
|
||||||
|
352800, КРАСНОДАРСКИЙ КРАЙ, ТУАПСИНСКИЙ РАЙОН, Г. ТУАПСЕ, УЛ. С. ПЕРОВСКОЙ, 2, ПОМ. 21, 28-30
|
||||||
|
352900, КРАСНОДАРСКИЙ КРАЙ, Г. АРМАВИР, УЛ. ЛЕНИНА, Д. 101А
|
||||||
|
353180, КРАСНОДАРСКИЙ КРАЙ, Г. КОРЕНОВСК, УЛ. КРАСНАЯ, Д. 112, ПОМ. № 1
|
||||||
|
353204, КРАСНОДАРСКИЙ КРАЙ, СТАНИЦА ДИНСКАЯ, УЛ. ЧАПАЕВА, Д. 83
|
||||||
|
353290, КРАСНОДАРСКИЙ КРАЙ, Г. ГОРЯЧИЙ КЛЮЧ, УЛ. ЛЕНИНА, Д. 192
|
||||||
|
353320, КРАСНОДАРСКИЙ КРАЙ, Г. АБИНСК, ПР-Т КОМСОМОЛЬСКИЙ, Д. 78
|
||||||
|
353380, КРАСНОДАРСКИЙ КРАЙ, Г. КРЫМСК, УЛ. СИНЕВА, Д. 9Б
|
||||||
|
353440, КРАСНОДАРСКИЙ КРАЙ, Г. АНАПА, УЛ. КРЫМСКАЯ, Д. 172
|
||||||
|
353460, КРАСНОДАРСКИЙ КРАЙ, Г. ГЕЛЕНДЖИК, УЛ. ХЕРСОНСКАЯ, Д. 23
|
||||||
|
353500, КРАСНОДАРСКИЙ КРАЙ, Г. ТЕМРЮК, УЛ. ЛЕНИНА, Д. 68
|
||||||
|
353560, КРАСНОДАРСКИЙ КРАЙ, Г. СЛАВЯНСК-НА-КУБАНИ, УЛ. КОВТЮХА, Д. 17
|
||||||
|
353680, КРАСНОДАРСКИЙ КРАЙ, Г. ЕЙСК, УЛ. ПОБЕДЫ, Д. 78
|
||||||
|
353730, КРАСНОДАРСКИЙ КРАЙ, СТ-ЦА КАНЕВСКАЯ, УЛ. ВОКЗАЛЬНАЯ, Д. 59
|
||||||
|
353905, КРАСНОДАРСКИЙ КРАЙ, Г. НОВОРОССИЙСК, УЛ. ТОЛСТОГО, Д. 2Г
|
||||||
|
353915, РОССИЙСКАЯ ФЕДЕРАЦИЯ, Г. НОВОРОССИЙСК, ПРОСП. ДЗЕРЖИНСКОГО, Д. 205 А
|
||||||
|
354000, КРАСНОДАРСКИЙ КРАЙ, Г. СОЧИ, ЦЕНТРАЛЬНЫЙ Р-Н, УЛ. СЕВЕРНАЯ, Д. 6
|
||||||
|
354000, КРАСНОДАРСКИЙ КРАЙ, Г. СОЧИ, ЦЕНТРАЛЬНЫЙ РАЙОН, УЛ. КОНСТИТУЦИИ СССР, Д. 18, ПОМ. 14-24
|
||||||
|
354002, КРАСНОДАРСКИЙ КРАЙ, Г. СОЧИ, ХОСТИНСКИЙ РАЙОН, УЛ. УЧИТЕЛЬСКАЯ, ДОМ 3
|
||||||
|
354200, КРАСНОДАРСКИЙ КРАЙ, Г. СОЧИ, ЛАЗАРЕВСКИЙ Р-Н, УЛ. КАЛАРАША, Д. 111А, КОРП. 1
|
||||||
|
354340, КРАСНОДАРСКИЙ КРАЙ, Г. СОЧИ, АДЛЕРСКИЙ, РАЙОН, УЛ. МОЛОКОВА, Д. 18/78
|
||||||
|
355003, Г. СТАВРОПОЛЬ, УЛ. ЛЕНИНА, Д. 299
|
||||||
|
355003, СТАВРОПОЛЬСКИЙ КРАЙ, Г. СТАВРОПОЛЬ, УЛ. ЛЕНИНА, Д. 299, ПОМ. 8
|
||||||
|
355035, РФ, СТАВРОПОЛЬСКИЙ КРАЙ, Г. СТАВРОПОЛЬ, УЛ. ДЗЕРЖИНСКОГО, Д. 114, 1 ЭТАЖ, ЧАСТЬ ПОМ. № 145 (167,98 КВ. М.), ЧАСТЬ ПОМ. № 146 (1,43 КВ. М), ПОМ. № 147 (1,6 КВ. М), ЧАСТЬ ПОМ. № 148 (4,26 КВ. М)
|
||||||
|
355040, СТАВРОПОЛЬСКИЙ КРАЙ, Г. СТАВРОПОЛЬ, УЛ. 50-ЛЕТ ВЛКСМ, Д. 11, К. 1
|
||||||
|
356003, СТАВРОПОЛЬСКИЙ КРАЙ, Г. НОВОАЛЕКСАНДРОВСК, УЛ. ЖЕЛЕЗНОДОРОЖНАЯ, Д. 85А
|
||||||
|
356140, СТАВРОПОЛЬСКИЙ КРАЙ, Г. ИЗОБИЛЬНЫЙ, ПЕР. ЛЕНИНА, Д. 15
|
||||||
|
356240, СТАВРОПОЛЬСКИЙ КРАЙ, Г. МИХАЙЛОВСК, УЛ. ВОЙКОВА, Д. 454/1
|
||||||
|
356420, СТАВРОПОЛЬСКИЙ КРАЙ, Г. БЛАГОДАРНЫЙ, УЛ. ТОЛСТОГО, Д. 86А
|
||||||
|
356530, СТАВРОПОЛЬСКИЙ КРАЙ, Г. СВЕТЛОГРАД, УЛ. КОМСОМОЛЬСКАЯ, ЗД. 58/1
|
||||||
|
356630, СТАВРОПОЛЬСКИЙ КРАЙ, Г. ИПАТОВО, УЛ. СВЕРДЛОВА, ЗД. 18
|
||||||
|
356800, СТАВРОПОЛЬСКИЙ КРАЙ, Г. БУДЕННОВСК, УЛ. ОКТЯБРЬСКАЯ, Д. 79
|
||||||
|
357100, СТАВРОПОЛЬСКИЙ КРАЙ, Г. НЕВИННОМЫССК, УЛ. ГАГАРИНА, ДОМ 70Б
|
||||||
|
357207, СТАВРОПОЛЬСКИЙ КРАЙ, Г. МИНЕРАЛЬНЫЕ ВОДЫ, ПР-КТ 22 ПАРТСЪЕЗДА, ВЛД. 94/1
|
||||||
|
357400, СТАВРОПОЛЬСКИЙ КРАЙ, Г. ЖЕЛЕЗНОВОДСК, УЛ. ЛЕНИНА, Д. 55
|
||||||
|
357500, СТАВРОПОЛЬСКИЙ КРАЙ, Г. ПЯТИГОРСК, УЛ. ОКТЯБРЬСКАЯ, Д. 1
|
||||||
|
357600, СТАВРОПОЛЬСКИЙ КРАЙ, Г. ЕССЕНТУКИ, ПРИВОКЗАЛЬНАЯ ПЛОЩАДЬ, ПОМ. 1К
|
||||||
|
357700, СТАВРОПОЛЬСКИЙ КРАЙ, Г. КИСЛОВОДСК, УЛ. ГОРЬКОГО, 17Б
|
||||||
|
357821, СТАВРОПОЛЬСКИЙ КРАЙ, Г. ГЕОРГИЕВСК, УЛ. САЛОГУБОВА, Д. 16
|
||||||
|
357911, СТАВРОПОЛЬСКИЙ КРАЙ, Г. ЗЕЛЕНОКУМСК, УЛ. СОВЕТСКАЯ, Д. 11
|
||||||
|
360051, КАБАРДИНО-БАЛКАРСКАЯ РЕСПУБЛИКА, Г. НАЛЬЧИК, ПР-КТ ШОГЕНЦУКОВА, Д. 21
|
||||||
|
362008, РЕСПУБЛИКА СЕВЕРНАЯ ОСЕТИЯ-АЛАНИЯ, Г. ВЛАДИКАВКАЗ, УЛ. ГЕНЕРАЛА ПЛИЕВА, Д. 10
|
||||||
|
364024, ЧЕЧЕНСКАЯ РЕСПУБЛИКА, Г. ГРОЗНЫЙ, УЛ. ИМ С.Ш. ЛОРСАНОВА, Д. 14
|
||||||
|
367026, РЕСПУБЛИКА ДАГЕСТАН, Г. МАХАЧКАЛА, ПР-КТ ИМАМА ШАМИЛЯ, Д. 36К
|
||||||
|
385000, РЕСПУБЛИКА АДЫГЕЯ (АДЫГЕЯ), Г. МАЙКОП, УЛ. ЖУКОВСКОГО/СОВЕТСКАЯ, 20А/199
|
||||||
|
386102, РЕСПУБЛИКА ИНГУШЕТИЯ, Г. НАЗРАНЬ, УЛ. МОСКОВСКАЯ, Д. 28
|
||||||
|
390000, Г. РЯЗАНЬ, УЛ. ЛЕНИНА, Д.9
|
||||||
|
390000, РФ, РЯЗАНСКАЯ ОБЛ., Г. РЯЗАНЬ, УЛ. ЛЕНИНА, Д. 9, ПОМ. 1 (13,39 КВ.М.)
|
||||||
|
390013, РОССИЙСКАЯ ФЕДЕРАЦИЯ, РЯЗАНСКАЯ ОБЛ., Г. РЯЗАНЬ, ПЕРВОМАЙСКИЙ ПР-КТ, Д. 39/2, ПОМ. Н 10
|
||||||
|
390013, РОССИЙСКАЯ ФЕДЕРАЦИЯ, РЯЗАНСКАЯ ОБЛ., Г. РЯЗАНЬ, ПЕРВОМАЙСКИЙ ПРОСП., Д. 39/2, ПОМ. Н 10
|
||||||
|
391300, РЯЗАНСКАЯ ОБЛ., Г. КАСИМОВ, УЛ. СОВЕТСКАЯ, Д. 11
|
||||||
|
391434, РЯЗАНСКАЯ ОБЛАСТЬ, Г. САСОВО, МИКРОРАЙОН СЕВЕРНЫЙ, ЗДАНИЕ 12Г
|
||||||
|
391803, РЯЗАНСКАЯ ОБЛАСТЬ, Г. СКОПИН, УЛ. К.МАРКСА, Д. 178
|
||||||
|
391964, РЯЗАНСКАЯ ОБЛАСТЬ, Г. РЯЖСК, УЛ. М.ГОРЬКОГО, Д. 12
|
||||||
|
392000, ТАМБОВСКАЯ ОБЛАСТЬ, Г. ТАМБОВ, УЛ. СОВЕТСКАЯ/МАКСИМА ГОРЬКОГО, Д. 104/14
|
||||||
|
392000, ТАМБОВСКАЯ ОБЛАСТЬ, Г. ТАМБОВ, УЛ. СОВЕТСКАЯ/МАКСИМА ГОРЬКОГО, Д. 104/14, ПОМ. 1-008
|
||||||
|
393250, ТАМБОВСКАЯ ОБЛАСТЬ, Г. РАССКАЗОВО, УЛ. КУЙБЫШЕВСКИЙ ПРОЕЗД, Д. 2Г
|
||||||
|
393760, ТАМБОВСКАЯ ОБЛАСТЬ, Г. МИЧУРИНСК, УЛ. СОВЕТСКАЯ, Д. 323
|
||||||
|
393950, ТАМБОВСКАЯ ОБЛАСТЬ, ГОРОД МОРШАНСК, УЛИЦА ИНТЕРНАЦИОНАЛЬНАЯ, ДОМ 49
|
||||||
|
394007, ВОРОНЕЖСКАЯ ОБЛАСТЬ, Г. ВОРОНЕЖ, ЛЕНИНСКИЙ ПРОСПЕКТ, Д. 116А
|
||||||
|
394018, ВОРОНЕЖСКАЯ ОБЛАСТЬ, Г. ВОРОНЕЖ, УЛ. КИРОВА, Д. 11, ПОМ. 123, 386
|
||||||
|
394018, ВОРОНЕЖСКАЯ ОБЛАСТЬ, Г. ВОРОНЕЖ, УЛ. КИРОВА, Д. 11, ПОМ. 22-48
|
||||||
|
394018, ВОРОНЕЖСКАЯ ОБЛАСТЬ, Г. ВОРОНЕЖ, УЛ. КИРОВА, Д. 11, ПОМ. 23-30
|
||||||
|
394018, Г. ВОРОНЕЖ, УЛ. КИРОВА, Д. 11
|
||||||
|
394030, ВОРОНЕЖСКАЯ ОБЛАСТЬ, Г. ВОРОНЕЖ, УЛ. КОЛЬЦОВСКАЯ, Д. 31, ПОМ. III, КОМН. 1, 2, 4-17
|
||||||
|
394033, ВОРОНЕЖСКАЯ ОБЛАСТЬ, Г. ВОРОНЕЖ, УЛ. ОСТУЖЕВА, Д. 64
|
||||||
|
394053, ВОРОНЕЖСКАЯ ОБЛАСТЬ, Г. ВОРОНЕЖ, УЛ. ЗАГОРОВСКОГО, Д. 1
|
||||||
|
394088, ВОРОНЕЖСКАЯ ОБЛАСТЬ, Г. ВОРОНЕЖ, КОМИНТЕРНОВСКИЙ РАЙОН, УЛ. ГЕНЕРАЛА ЛИЗЮКОВА, Д. 50 (ЧАСТЬ ПОМЕЩЕНИЯ 2)
|
||||||
|
394088, ВОРОНЕЖСКАЯ ОБЛАСТЬ, Г. ВОРОНЕЖ, КОМИНТЕРНОВСКИЙ РАЙОН, УЛ. ГЕНЕРАЛА ЛИЗЮКОВА, Д.50
|
||||||
|
396005, ВОРОНЕЖСКАЯ ОБЛАСТЬ, РАМОНСКИЙ РАЙОН, ЯМЕНСКОЕ СЕЛЬСКОЕ ПОСЕЛЕНИЕ, П. СОЛНЕЧНЫЙ, УЛ. МОСКОВСКОЕ ШОССЕ, Д. 22
|
||||||
|
396072, ВОРОНЕЖСКАЯ ОБЛАСТЬ, Г. НОВОВОРОНЕЖ, УЛ. КОСМОНАВТОВ, Д. 23/1
|
||||||
|
396310, ВОРОНЕЖСКАЯ ОБЛАСТЬ, С. НОВАЯ УСМАНЬ, УЛ. ЛЕНИНА, Д. 275, ПОМ. 1
|
||||||
|
396420, ВОРОНЕЖСКАЯ ОБЛАСТЬ, Г. ПАВЛОВСК, МИКРОРАЙОН СЕВЕРНЫЙ, ЗД. 23
|
||||||
|
396658, ВОРОНЕЖСКАЯ ОБЛАСТЬ, Г. РОССОШЬ, ПРОСПЕКТ ТРУДА, 4Б
|
||||||
|
396790, ВОРОНЕЖСКАЯ ОБЛАСТЬ, Г. БОГУЧАР, ПЛ МАЛАХОВСКОГО, Д 12/1
|
||||||
|
396900, ВОРОНЕЖСКАЯ ОБЛАСТЬ, Г. СЕМИЛУКИ, УЛ. ДЗЕРЖИНСКОГО, ЗД. 10А
|
||||||
|
397160, ВОРОНЕЖСКАЯ ОБЛАСТЬ, Г. БОРИСОГЛЕБСК, УЛ. СВОБОДЫ/УЛ. СОВЕТСКАЯ, Д. 213/8
|
||||||
|
397500, ВОРОНЕЖСКАЯ ОБЛАСТЬ, Г. БУТУРЛИНОВКА, ПЛ. ВОЛИ, Д. 6
|
||||||
|
397700, ВОРОНЕЖСКАЯ ОБЛАСТЬ, Г. БОБРОВ, УЛ. 22 ЯНВАРЯ, Д. 71/8
|
||||||
|
397855, ВОРОНЕЖСКАЯ ОБЛАСТЬ, Г. ОСТРОГОЖСК, УЛ. ЛЕНИНА, Д. 31М
|
||||||
|
397901, ВОРОНЕЖСКАЯ ОБЛАСТЬ, Г. ЛИСКИ, УЛ. КОММУНИСТИЧЕСКАЯ, Д. 36
|
||||||
|
398016, ЛИПЕЦКАЯ ОБЛАСТЬ, Г.ЛИПЕЦК, УЛ.КОСМОНАВТОВ, Д.16./1
|
||||||
|
398024, ЛИПЕЦКАЯ ОБЛАСТЬ, Г. ЛИПЕЦК, ПРОСПЕКТ ПОБЕДЫ, Д. 20, ПОМ. 3
|
||||||
|
398027, ЛИПЕЦКАЯ ОБЛАСТЬ, Г. ЛИПЕЦК, УЛ. ГЕРОЯ РОССИИ ЭДУАРДА БЕЛАНА, Д. 10А
|
||||||
|
398046, РОССИЙСКАЯ ФЕДЕРАЦИЯ, ЛИПЕЦКАЯ ОБЛ., Г. ЛИПЕЦК, УЛ. ИМ. ГЕНЕРАЛА МЕРКУЛОВА, Д. 10 А, ПОМ. 1
|
||||||
|
398059, Г. ЛИПЕЦК, УЛ. БАРАШЕВА, Д. 7. ПОМЕЩЕНИЯ ВТОРОГО ЭТАЖА: № 2-010; ТРЕТЬЕГО ЭТАЖА: №№ 01-12; ЧЕТВЕРТОГО ЭТАЖА: №№ 01-12
|
||||||
|
398059, Г. ЛИПЕЦК, УЛ. БАРАШЕВА, Д. 7. ПОМЕЩЕНИЯ ПОДВАЛА: №№ 10-11; ПЕРВОГО ЭТАЖА: №№ 6-7.
|
||||||
|
398059, Г. ЛИПЕЦК, УЛ. БАРАШЕВА, Д.7
|
||||||
|
399050, ЛИПЕЦКАЯ ОБЛАСТЬ, Г. ГРЯЗИ, УЛ. РЕВОЛЮЦИИ 1905 ГОДА, Д. 12/26
|
||||||
|
399610, ЛИПЕЦКАЯ ОБЛАСТЬ, ЛЕБЕДЯНСКИЙ Р-Н, Г. ЛЕБЕДЯНЬ, УЛ. ПОЧТОВАЯ, ЗД. 31/1
|
||||||
|
399770, ЛИПЕЦКАЯ ОБЛАСТЬ, ГОРОД ЕЛЕЦ, УЛИЦА МИРА, ДОМ 133
|
||||||
|
400066, ВОЛГОГРАДСКАЯ ОБЛАСТЬ, Г. ВОЛГОГРАД, ПР. ИМЕНИ В.И. ЛЕНИНА, Д. 2
|
||||||
|
400066, Г. ВОЛГОГРАД УЛ. КОМСОМОЛЬСКАЯ, Д.10
|
||||||
|
400112, ВОЛГОГРАДСКАЯ ОБЛАСТЬ, Г. ВОЛГОГРАД, ПРОСПЕКТ ИМ. ГЕРОЕВ СТАЛИНГРАДА, Д. 49
|
||||||
|
400117, РОССИЯ, ВОЛГОГРАДСКАЯ ОБЛ., Г. ВОЛГОГРАД, УЛ. 8-Й ВОЗДУШНОЙ АРМИИ, Д. 47 А
|
||||||
|
400121, ВОЛГОГРАДСКАЯ ОБЛ., Г. ВОЛГОГРАД, УЛ. НИКОЛАЯ ОТРАДЫ, Д. 6
|
||||||
|
400123, ВОЛГОГРАДСКАЯ ОБЛАСТЬ, Г. ВОЛГОГРАД, УЛ. ИМ. МАРШАЛА ЕРЕМЕНКО, Д. 124
|
||||||
|
403003, ВОЛГОГРАДСКАЯ ОБЛАСТЬ, ГОРОДИЩЕНСКИЙ Р-Н, Р.П. ГОРОДИЩЕ, ПР-КТ ЛЕНИНА, Д. 6, ПОМ. 5
|
||||||
|
403113, ВОЛГОГРАДСКАЯ ОБЛАСТЬ, Г. УРЮПИНСК, УЛ. СОВЕТСКАЯ, Д. 2
|
||||||
|
403343, ВОЛГОГРАДСКАЯ ОБЛАСТЬ, Г. МИХАЙЛОВКА, УЛ. ОБОРОНЫ, Д. 44/53
|
||||||
|
403540, ВОЛГОГРАДСКАЯ ОБЛАСТЬ, Г. ФРОЛОВО, УЛ. ФРОЛОВСКАЯ, Д. 5
|
||||||
|
403873, ВОЛГОГРАДСКАЯ ОБЛАСТЬ, Г. КАМЫШИН, УЛ. ПРОЛЕТАРСКАЯ, 101, ПРИМЕРНО В 60 МЕТРАХ ПО НАПРАВЛЕНИЮ НА СЕВЕРО-ЗАПАД
|
||||||
|
404105, ВОЛГОГРАДСКАЯ ОБЛАСТЬ, Г. ВОЛЖСКИЙ, УЛ. МИРА, Д. №74 ПОМ. 1 ПОМЕЩЕНИЯ ПЕРВОГО ЭТАЖА:№1, ЧАСТЬ ПОМ. №2, №№3-12, ЧАСТЬ ПОМ. №13, ПОМ. №№ 15-16
|
||||||
|
404503, ВОЛГОГРАДСКАЯ ОБЛАСТЬ, Г. КАЛАЧ-НА-ДОНУ, УЛ. ОКТЯБРЬСКАЯ, Д. 260А
|
||||||
|
410012, РОССИЙСКАЯ ФЕДЕРАЦИЯ, САРАТОВСКАЯ ОБЛАСТЬ, Г. САРАТОВ, УЛ. ИМ. ВАСИЛИЯ ЛЮКШИНА, ЗДАНИЕ № 5
|
||||||
|
410012, САРАТОВСКАЯ ОБЛАСТЬ, Г. САРАТОВ, УЛ. МОСКОВСКАЯ, Д. 66, ПОМ. 1
|
||||||
|
410041, Г. САРАТОВ, ПР-Т СТРОИТЕЛЕЙ, Д. 19
|
||||||
|
412031, САРАТОВСКАЯ ОБЛАСТЬ, Г. РТИЩЕВО, УЛ. ЖЕЛЕЗНОДОРОЖНАЯ, Д. 48/1
|
||||||
|
412309, САРАТОВСКАЯ ОБЛАСТЬ, Г. БАЛАШОВ, УЛ. ЛЕНИНА, Д. 21Б, ПОМ. 4
|
||||||
|
412484, САРАТОВСКАЯ ОБЛАСТЬ, Г. КАЛИНИНСК, УЛ. СОВЕТСКАЯ, Д. 26
|
||||||
|
412906, САРАТОВСКАЯ ОБЛАСТЬ, Г. ВОЛЬСК, ПЛ. 10-ЛЕТИЯ ОКТЯБРЯ, Д. 4/1
|
||||||
|
413093, САРАТОВСКАЯ ОБЛАСТЬ, Г. МАРКС, УЛ. ОКТЯБРЬСКАЯ, Д. 53
|
||||||
|
413720, САРАТОВСКАЯ ОБЛАСТЬ, М.Р-Н ПУГАЧЕВСКИЙ, Г. ПУГАЧЕВ, УЛ. МАКСИМА ГОРЬКОГО, Д. 21/3
|
||||||
|
413860, САРАТОВСКАЯ ОБЛАСТЬ, Г. БАЛАКОВО, УЛ. ТРНАВСКАЯ, Д. 23
|
||||||
|
414000, Г. АСТРАХАНЬ, УЛ. КИРОВА, Д. 12/2
|
||||||
|
414040, АСТРАХАНСКАЯ ОБЛАСТЬ, Г. АСТРАХАНЬ, ПЛ. ВОКЗАЛЬНАЯ, СТР. 20Б
|
||||||
|
416506, АСТРАХАНСКАЯ ОБЛАСТЬ, Г. АХТУБИНСК, УЛ. НЕСТЕРОВА, Д. 8
|
||||||
|
416550, АСТРАХАНСКАЯ ОБЛАСТЬ, Г. ЗНАМЕНСК, ПР-КТ 9 МАЯ, Д. 16, СТР. 1
|
||||||
|
420061, РЕСПУБЛИКА ТАТАРСТАН, Г. КАЗАНЬ, УЛ. НИКОЛАЯ ЕРШОВА, Д.29"Б", ЭТАЖ 1, КАБИНЕТЫ С №1 ПО №15
|
||||||
|
420080, РЕСПУБЛИКА ТАТАРСТАН, Г.КАЗАНЬ, УЛ.ДЕКАБРИСТОВ, Д.129
|
||||||
|
420100, РЕСПУБЛИКА ТАТАРСТАН, Г. КАЗАНЬ, УЛ. ЗАКИЕВА, Д. 1
|
||||||
|
420107, РЕСПУБЛИКА ТАТАРСТАН, Г. КАЗАНЬ, УЛ. ОСТРОВСКОГО, Д. 103
|
||||||
|
420110, РЕСПУБЛИКА ТАТАРСТАН, Г.КАЗАНЬ, УЛ.РИХАРДА ЗОРГЕ, Д.75
|
||||||
|
420111, РФ, РЕСПУБЛИКА ТАТАРСТАН, Г. КАЗАНЬ, УЛ. МОСКОВСКАЯ, Д. 19/8
|
||||||
|
420126, РОССИЯ, РЕСПУБЛИКА ТАТАРСТАН, Г. КАЗАНЬ, ПР-Т ЯМАШЕВА, Д. 82
|
||||||
|
422000, РЕСПУБЛИКА ТАТАРСТАН (ТАТАРСТАН), Г. АРСК, ПЛ. СОВЕТСКАЯ, Д. 23
|
||||||
|
422110, РЕСПУБЛИКА ТАТАРСТАН (ТАТАРСТАН), Г. КУКМОР, УЛ. ЛЕНИНА, Д. 11А
|
||||||
|
422430, РЕСПУБЛИКА ТАТАРСТАН (ТАТАРСТАН), Г. БУИНСК, УЛ. ЕФРЕМОВА, Д. 146, КВ. 4
|
||||||
|
422550, РЕСПУБЛИКА ТАТАРСТАН (ТАТАРСТАН), Г. ЗЕЛЕНОДОЛЬСК, УЛ. ЛЕНИНА, Д. 25
|
||||||
|
423040, РЕСПУБЛИКА ТАТАРСТАН (ТАТАРСТАН), Г. НУРЛАТ, УЛ. К.МАРКСА, Д. 27
|
||||||
|
423236, РЕСПУБЛИКА ТАТАРСТАН (ТАТАРСТАН), Г. БУГУЛЬМА, УЛ. ГАЗИНУРА ГАФИАТУЛЛИНА, Д. 31
|
||||||
|
423250, РЕСПУБЛИКА ТАТАРСТАН (ТАТАРСТАН), Г. ЛЕНИНОГОРСК, ПР-КТ 50 ЛЕТ ПОБЕДЫ, ЗД. 11А
|
||||||
|
423330, РЕСПУБЛИКА ТАТАРСТАН (ТАТАРСТАН), Г. АЗНАКАЕВО, УЛ. ЛЕНИНА, Д. 3А
|
||||||
|
423452, РЕСПУБЛИКА ТАТАРСТАН (ТАТАРСТАН), Г. АЛЬМЕТЬЕВСК, УЛ. ЛЕНИНА, 29
|
||||||
|
423520, РЕСПУБЛИКА ТАТАРСТАН (ТАТАРСТАН), Г. ЗАИНСК, УЛ. ЧАПАЕВА, Д. 2, СТР.1.
|
||||||
|
423571, РЕСПУБЛИКА ТАТАРСТАН, НИЖНЕКАМСКИЙ Р-Н, Г. НИЖНЕКАМСК, ПР. МИРА, 61Г
|
||||||
|
423603, РЕСПУБЛИКА ТАТАРСТАН (ТАТАРСТАН), Г. ЕЛАБУГА, ПР-КТ НЕФТЯНИКОВ, Д. 17
|
||||||
|
423803, РЕСПУБЛИКА ТАТАРСТАН (ТАТАРСТАН), Г. НАБЕРЕЖНЫЕ ЧЕЛНЫ, НАБЕРЕЖНОЧЕЛНИНСКИЙ ПР-КТ, Д. 7
|
||||||
|
423812, РЕСПУБЛИКА ТАТАРСТАН, Г.НАБЕРЕЖНЫЕ ЧЕЛНЫ, ПРОСПЕКТ МИРА, Д24М (7/20)
|
||||||
|
423831, РЕСПУБЛИКА ТАТАРСТАН, Г. НАБЕРЕЖНЫЕ ЧЕЛНЫ, ПРОСП. ХАСАНА ТУФАНА, Д. 29Б, ПОМ. 37-41, 45
|
||||||
|
423930, РЕСПУБЛИКА ТАТАРСТАН (ТАТАРСТАН), Г. БАВЛЫ, УЛ ПИОНЕРСКАЯ, Д. 13
|
||||||
|
424003, РФ, РЕСПУБЛИКА МАРИЙ ЭЛ, Г. ЙОШКАР-ОЛА, УЛ. ПЕРВОМАЙСКАЯ, Д. 164
|
||||||
|
424033, РЕСПУБЛИКА МАРИЙ ЭЛ, Г. ЙОШКАР-ОЛА, УЛ. ЭШКИНИНА, Д. 10Д
|
||||||
|
425000, РЕСПУБЛИКА МАРИЙ ЭЛ, Г. ВОЛЖСК, УЛ. ЛЕНИНА, Д. 56Б
|
||||||
|
425200, РЕСПУБЛИКА МАРИЙ ЭЛ, ПГТ. МЕДВЕДЕВО, УЛ. СОВЕТСКАЯ, Д. 24Б
|
||||||
|
425400, РЕСПУБЛИКА МАРИЙ ЭЛ, ПГТ. СОВЕТСКИЙ, УЛ. ПОБЕДЫ, ЗД. 22А
|
||||||
|
426004, УДМУРТСКАЯ РЕСПУБЛИКА, Г. ИЖЕВСК, УЛ. ЛЕНИНА, 21, ПОМ. 25, 26, 27 ,28, 29, 30
|
||||||
|
426008, УДМУРТСКАЯ РЕСПУБЛИКА, Г.ИЖЕВСК, УЛ. ПУШКИНСКАЯ, Д.216
|
||||||
|
426073, РОССИЙСКАЯ ФЕДЕРАЦИЯ, УДМУРТСКАЯ РЕСПУБЛИКА, Г. ИЖЕВСК, УЛ. МОЛОДЕЖНАЯ, Д. 87
|
||||||
|
426076, РФ, УДМУРТСКАЯ РЕСПУБЛИКА, Г. ИЖЕВСК, УЛ. ПУШКИНСКАЯ, Д. 173А
|
||||||
|
427433, УДМУРТСКАЯ РЕСПУБЛИКА, Г. ВОТКИНСК, УЛ. 1 МАЯ, Д. 102
|
||||||
|
427620, УДМУРТСКАЯ РЕСПУБЛИКА, Г.ГЛАЗОВ, УЛ.КИРОВА,Д.13
|
||||||
|
427790, УДМУРТСКАЯ РЕСПУБЛИКА, Г. МОЖГА, УЛ. МОЖГИНСКАЯ, Д. 51
|
||||||
|
427960, УДМУРТСКАЯ РЕСПУБЛИКА, Г. САРАПУЛ, УЛ. ГОРЬКОГО, Д. 15А, СТР. 1
|
||||||
|
429335, ЧУВАШСКАЯ РЕСПУБЛИКА-ЧУВАШИЯ, Г. КАНАШ, УЛ. ЖЕЛЕЗНОДОРОЖНАЯ, Д. 87
|
||||||
|
429820, ЧУВАШСКАЯ РЕСПУБЛИКА-ЧУВАШИЯ, Г. АЛАТЫРЬ, УЛ. КОМИССАРИАТСКАЯ, Д. 40 Б
|
||||||
|
429965, ЧУВАШСКАЯ РЕСПУБЛИКА-ЧУВАШИЯ, Г. НОВОЧЕБОКСАРСК, УЛ. СОВЕТСКАЯ, Д. 15
|
||||||
|
430005, РЕСПУБЛИКА МОРДОВИЯ, ЛЕНИНСКИЙ Р-Н, Г. САРАНСК, УЛ. КОММУНИСТИЧЕСКАЯ, Д. 52
|
||||||
|
430027, РЕСПУБЛИКА МОРДОВИЯ, Г. САРАНСК, УЛ. ГАГАРИНА, Д. 99Е
|
||||||
|
431440, РЕСПУБЛИКА МОРДОВИЯ, Г. РУЗАЕВКА, ПРИВОКЗАЛЬНАЯ ПЛОЩАДЬ, Д. 4
|
||||||
|
432017, УЛЬЯНОВСКАЯ ОБЛАСТЬ, Г. УЛЬЯНОВСК, УЛИЦА ГОНЧАРОВА, Д. 25
|
||||||
|
432045, УЛЬЯНОВСКАЯ ОБЛ., Г. УЛЬЯНОВСК, УЛ. ГЕРАСИМОВА, Д. 10, СТР. 4, ПОМ. 106
|
||||||
|
432067, РОССИЯ, УЛЬЯНОВСКАЯ ОБЛ., Г. УЛЬЯНОВСК, УЛЬЯНОВСКИЙ ПРОСП., Д. 6
|
||||||
|
433300, УЛЬЯНОВСКАЯ ОБЛАСТЬ, Г. НОВОУЛЬЯНОВСК, УЛ. КОМСОМОЛЬСКАЯ, Д. 20/13
|
||||||
|
433512, УЛЬЯНОВСКАЯ ОБЛАСТЬ, Г. ДИМИТРОВГРАД, ПРОСП. ЛЕНИНА, ЗДАНИЕ 39Д, ПОМЕЩ. 1
|
||||||
|
433750, УЛЬЯНОВСКАЯ ОБЛАСТЬ, Г. БАРЫШ, УЛ. 45 СТРЕЛКОВОЙ ДИВИЗИИ, ЗД.1Г
|
||||||
|
433870, УЛЬЯНОВСКАЯ ОБЛАСТЬ, Р.П. НОВОСПАССКОЕ, УЛ. МИРА, ЗД. 17
|
||||||
|
440000, ПЕНЗЕНСКАЯ ОБЛАСТЬ, Г. ПЕНЗА, ЛЕНИНСКИЙ РАЙОН, УЛ. МОСКОВСКАЯ, Д. 73
|
||||||
|
440008, ПЕНЗЕНСКАЯ ОБЛАСТЬ, Г. ПЕНЗА, УЛ. СУВОРОВА, Д. 139
|
||||||
|
440062, ПЕНЗЕНСКАЯ ОБЛАСТЬ, Г. ПЕНЗА, ПРОСПЕКТ СТРОИТЕЛЕЙ, Д. 40
|
||||||
|
440068, ПЕНЗЕНСКАЯ ОБЛАСТЬ, С. ЗАСЕЧНОЕ, УЛ. НОВО-ТЕРНОВСКАЯ, Д.1, ПОМ.1
|
||||||
|
442246, ПЕНЗЕНСКАЯ ОБЛАСТЬ, Г. КАМЕНКА, УЛ. ЧКАЛОВА, Д. 21
|
||||||
|
442530, ПЕНЗЕНСКАЯ ОБЛАСТЬ, Г. КУЗНЕЦК, УЛ. БЕЛИНСКОГО, Д. 127/1
|
||||||
|
442895, ПЕНЗЕНСКАЯ ОБЛАСТЬ, Г. СЕРДОБСК, УЛ. ЛЕНИНА, Д. 87
|
||||||
|
442963, ПЕНЗЕНСКАЯ ОБЛАСТЬ, Г. ЗАРЕЧНЫЙ, УЛ. ЛЕНИНА, Д. 20А
|
||||||
|
443001, РОССИЯ, САМАРСКАЯ ОБЛ., Г. САМАРА, ЛЕНИНСКИЙ Р-Н, УЛ. САДОВАЯ, Д. 256, ПОМ. Н 2
|
||||||
|
443009, САМАРСКАЯ ОБЛАСТЬ, Г. САМАРА, ПРОМЫШЛЕННЫЙ РАЙОН, УЛ. ПОБЕДЫ, Д. 101/ УЛ. ВОРОНЕЖСКАЯ, Д. 3, КАБ. 1-12.
|
||||||
|
443013, САМАРСКАЯ ОБЛАСТЬ, Г.САМАРА, ОКТЯБРЬСКИЙ РАЙОН, УЛ. МИЧУРИНА, Д.19 В, 1 ЭТАЖ: ПОМЕЩЕНИЯ №27-№39
|
||||||
|
443041, Г.САМАРА, ЛЕНИНСКИЙ РАЙОН, УЛ.АГИБАЛОВА, Д.76
|
||||||
|
443045, САМАРСКАЯ ОБЛАСТЬ, Г. САМАРА, ОКТЯБРЬСКИЙ РАЙОН, УЛ. ГАГАРИНА, Д. 64
|
||||||
|
443080, РОССИЯ, САМАРСКАЯ ОБЛАСТЬ, Г. САМАРА, ШОССЕ МОСКОВСКОЕ, Д. 47
|
||||||
|
443087, САМАРСКАЯ ОБЛАСТЬ, Г. САМАРА, ПРОСПЕКТ КИРОВА, Д. 228, УГОЛ УЛ. СТАРА-ЗАГОРА, Д. 126
|
||||||
|
443100, САМАРСКАЯ ОБЛАСТЬ, Г. САМАРА, УЛ. САМАРСКАЯ, Д. 220
|
||||||
|
445021, САМАРСКАЯ ОБЛАСТЬ, Г. ТОЛЬЯТТИ, УЛ. ЛЕНИНГРАДСКАЯ, ЗД. 68В
|
||||||
|
445026, РОССИЯ, САМАРСКАЯ ОБЛ., Г. ТОЛЬЯТТИ, АВТОЗАВОДСКИЙ Р-Н, УЛ. РЕВОЛЮЦИОННАЯ, Д. 32
|
||||||
|
445031, САМАРСКАЯ ОБЛАСТЬ, Г. ТОЛЬЯТТИ, УЛ. ТОПОЛИНАЯ, Д. 8А
|
||||||
|
445359, САМАРСКАЯ ОБЛАСТЬ, Г. ЖИГУЛЕВСК, МИКРОРАЙОН В-1, Д. 19
|
||||||
|
446001, РОССИЙСКАЯ ФЕДЕРАЦИЯ, САМАРСКАЯ ОБЛАСТЬ, Г. СЫЗРАНЬ, УЛ. СОВЕТСКАЯ, Д. 51
|
||||||
|
446031, САМАРСКАЯ ОБЛАСТЬ, Г. СЫЗРАНЬ, УЛ. 50 ЛЕТ ОКТЯБРЯ, Д. 54А
|
||||||
|
446200, САМАРСКАЯ ОБЛАСТЬ, Г. НОВОКУЙБЫШЕВСК, УЛ. МИРОНОВА, Д. 3
|
||||||
|
446300, САМАРСКАЯ ОБЛАСТЬ, Г. ОТРАДНЫЙ, УЛ. ОТРАДНАЯ, Д. 19, КВ. 21
|
||||||
|
446430, САМАРСКАЯ ОБЛАСТЬ, Г. КИНЕЛЬ, УЛ. МАЯКОВСКОГО, ЗД. 77/6
|
||||||
|
446450, САМАРСКАЯ ОБЛАСТЬ, Г. ПОХВИСТНЕВО, УЛ. РЕВОЛЮЦИОННАЯ, Д. 6
|
||||||
|
450008, РЕСПУБЛИКА БАШКОРТОСТАН, Г. УФА, УЛ. ЛЕНИНА, Д. 32/1, ПОМ. 1-5
|
||||||
|
450009, РЕСПУБЛИКА БАШКОРТОСТАН, Г.УФА, ПРОСПЕКТ ОКТЯБРЯ, Д.6
|
||||||
|
450039, РЕСПУБЛИКА БАШКОРТОСТАН, Г. УФА, УЛ. ТРАНСПОРТНАЯ, Д. 46
|
||||||
|
450044, РФ, РЕСПУБЛИКА БАШКОРТОСТАН, Г. УФА, УЛ. ПЕРВОМАЙСКАЯ, Д. 24
|
||||||
|
450075, РЕСПУБЛИКА БАШКОРТОСТАН, Г. УФА, ПР-КТ. ОКТЯБРЯ, Д. 107А
|
||||||
|
450099, РЕСПУБЛИКА БАШКОРТОСТАН, Г.УФА, УЛ. МАРШАЛА ЖУКОВА, Д.29.
|
||||||
|
450106, РОССИЙСКАЯ ФЕДЕРАЦИЯ, РЕСПУБЛИКА БАШКОРТОСТАН, Г. УФА, УЛ. МЕНДЕЛЕЕВА, Д. 130
|
||||||
|
452005, РЕСПУБЛИКА БАШКОРТОСТАН, Г. БЕЛЕБЕЙ, УЛ. КРАСНАЯ, Д. 134
|
||||||
|
452320, РЕСПУБЛИКА БАШКОРТОСТАН, Г. ДЮРТЮЛИ, УЛ. ЛЕНИНА, Д. 36
|
||||||
|
452410, РЕСПУБЛИКА БАШКОРТОСТАН, С. ИГЛИНО, УЛ. ГОРЬКОГО, Д. 57
|
||||||
|
452450, РЕСПУБЛИКА БАШКОРТОСТАН, Г. БИРСК, УЛ. ИНТЕРНАЦИОНАЛЬНАЯ, Д. 23
|
||||||
|
452614, РЕСПУБЛИКА БАШКОРТОСТАН, Г. ОКТЯБРЬСКИЙ, ПРОСПЕКТ ЛЕНИНА, Д. 5
|
||||||
|
452680, РЕСПУБЛИКА БАШКОРТОСТАН, Г. НЕФТЕКАМСК, УЛИЦА ЛЕНИНА, Д. 19Е
|
||||||
|
452752, РЕСПУБЛИКА БАШКОРТОСТАН, Г. ТУЙМАЗЫ, ПР-КТ ЛЕНИНА, Д. 10
|
||||||
|
453120, РЕСПУБЛИКА БАШКОРТОСТАН, Г. СТЕРЛИТАМАК, УЛ. КОММУНИСТИЧЕСКАЯ, Д. 96, ПОМ. 19
|
||||||
|
453260, РЕСПУБЛИКА БАШКОРТОСТАН, Г. САЛАВАТ, Б-Р КОСМОНАВТОВ, Д. 13
|
||||||
|
453300, РЕСПУБЛИКА БАШКОРТОСТАН, Г. КУМЕРТАУ, УЛ. КАРЛА МАРКСА, Д. 11, ПОМ. 10
|
||||||
|
453431, РЕСПУБЛИКА БАШКОРТОСТАН, Г. БЛАГОВЕЩЕНСК, УЛ. СЕДОВА, Д. 111, КВ. 22
|
||||||
|
453509, РЕСПУБЛИКА БАШКОРТОСТАН, Г. БЕЛОРЕЦК, УЛ. КАРЛА МАРКСА, Д. 75
|
||||||
|
453700, РЕСПУБЛИКА БАШКОРТОСТАН, Г. УЧАЛЫ, УЛ. ЛЕНИНА, Д. 19
|
||||||
|
453833, РЕСПУБЛИКА БАШКОРТОСТАН, Г. СИБАЙ, ПР-КТ ГОРНЯКОВ, Д. 22
|
||||||
|
453856, РЕСПУБЛИКА БАШКОРТОСТАН, Г. МЕЛЕУЗ, УЛ. ЛЕНИНА, Д. 133, ПОМ. 1
|
||||||
|
454091, Г. ЧЕЛЯБИНСК, УЛ. ЦВИЛЛИНГА, Д. 35
|
||||||
|
455000, ЧЕЛЯБИНСКАЯ ОБЛАСТЬ, ГОРОД МАГНИТОГОРСК, ПРОСПЕКТ ЛЕНИНА, ДОМ 51, ПОМ. 12
|
||||||
|
455045, ЧЕЛЯБИНСКАЯ ОБЛ., Г. МАГНИТОГОРСК, ПР. КАРЛА МАРКСА, Д. 179А
|
||||||
|
455045, ЧЕЛЯБИНСКАЯ ОБЛАСТЬ, Г. МАГНИТОГОРСК, ПР. ЛЕНИНА, Д. 90
|
||||||
|
456014, ЧЕЛЯБИНСКАЯ ОБЛАСТЬ, АШИНСКИЙ РАЙОН, Г. АША, УЛ. ЛЕНИНА, Д. 19
|
||||||
|
456080, ЧЕЛЯБИНСКАЯ ОБЛАСТЬ, Г. ТРЕХГОРНЫЙ, УЛ. МИРА, Д. 12, ПОМ. 55/2
|
||||||
|
456228, ЧЕЛЯБИНСКАЯ ОБЛ., Г. ЗЛАТОУСТ, ПР. ИМ. Ю.А. ГАГАРИНА, 3 М/Р-Н, Д. 14-В
|
||||||
|
456300, ЧЕЛЯБИНСКАЯ ОБЛ., Г. МИАСС, ПРОСП. АВТОЗАВОДЦЕВ, Д. 61 Б
|
||||||
|
456550, ЧЕЛЯБИНСКАЯ ОБЛАСТЬ, Г. КОРКИНО, УЛ. ЦВИЛЛИНГА, Д. 8
|
||||||
|
456584, ЧЕЛЯБИНСКАЯ ОБЛАСТЬ, Г. ЕМАНЖЕЛИНСК, УЛ. ТИТОВА, Д. 9
|
||||||
|
456618, ЧЕЛЯБИНСКАЯ ОБЛАСТЬ, Г. КОПЕЙСК, ПРОСПЕКТ КОММУНИСТИЧЕСКИЙ, Д. 28
|
||||||
|
456770, ЧЕЛЯБИНСКАЯ ОБЛАСТЬ, Г. СНЕЖИНСК, УЛ. СВЕРДЛОВА, Д. 36, ПОМ. 47
|
||||||
|
456800, ЧЕЛЯБИНСКАЯ ОБЛАСТЬ, Г. ВЕРХНИЙ УФАЛЕЙ, УЛ. ЛЕНИНА, Д. 190, ПОМ. 8
|
||||||
|
456870, ЧЕЛЯБИНСКАЯ ОБЛАСТЬ, Г. КЫШТЫМ, УЛ. ЛЕНИНА, Д. 6, ПОМ. 2
|
||||||
|
456880, ЧЕЛЯБИНСКАЯ ОБЛАСТЬ, АРГАЯШСКИЙ Р-Н, С. АРГАЯШ, УЛ. 8 МАРТА, Д. 36
|
||||||
|
456910, ЧЕЛЯБИНСКАЯ ОБЛАСТЬ, Р-Н САТКИНСКИЙ, Г. САТКА, УЛ. ПРОЛЕТАРСКАЯ, Д. 41, ПОМ. 12
|
||||||
|
457100, ЧЕЛЯБИНСКАЯ ОБЛАСТЬ, Г. ТРОИЦК, УЛИЦА ИМ. Ю.А. ГАГАРИНА, Д. 41
|
||||||
|
460024, ОРЕНБУРГСКАЯ ОБЛ., Г. ОРЕНБУРГ, УЛ. МАРШАЛА ЖУКОВА, Д. 26
|
||||||
|
460052, РОССИЯ, ОРЕНБУРГСКАЯ ОБЛ., Г. ОРЕНБУРГ, УЛ. САЛМЫШСКАЯ, Д. 37
|
||||||
|
461040, РФ, ОРЕНБУРГСКАЯ ОБЛ., Г. БУЗУЛУК, УЛ. КОМСОМОЛЬСКАЯ, ЗД. № 81
|
||||||
|
461505, ОРЕНБУРГСКАЯ ОБЛАСТЬ, Г. СОЛЬ-ИЛЕЦК, УЛ. СОВЕТСКАЯ, Д. 48, ЧАСТЬ ПОМ. №14
|
||||||
|
461630, ОРЕНБУРГСКАЯ ОБЛАСТЬ, Г. БУГУРУСЛАН, УЛ. РЕВОЛЮЦИОННАЯ, ЗД. 46
|
||||||
|
461900, ОРЕНБУРГСКАЯ ОБЛАСТЬ, СОРОЧИНСКИЙ РАЙОН, Г. СОРОЧИНСК, УЛ. КАРЛА МАРКСА, ЗД. 13
|
||||||
|
462274, ОРЕНБУРГСКАЯ ОБЛАСТЬ, Г. МЕДНОГОРСК, УЛ. ГЕРЦЕНА, Д. 1
|
||||||
|
462353, ОРЕНБУРГСКАЯ ОБЛАСТЬ, Г. НОВОТРОИЦК, УЛ. СОВЕТСКАЯ, Д. 52, ПОМЕЩЕНИЕ 2
|
||||||
|
462422, ОРЕНБУРГСКАЯ ОБЛАСТЬ, Г. ОРЕНБУРГ, УЛ. ЧКАЛОВА, Д. 35/1, СТРОЕН. 1
|
||||||
|
462431, ОРЕНБУРГСКАЯ ОБЛАСТЬ, Г. ОРСК, ПР-КТ ЛЕНИНА, Д. 78
|
||||||
|
600015, ВЛАДИМИРСКАЯ ОБЛ., Г. ВЛАДИМИР, ПР-Т ЛЕНИНА, Д. 26, 26А
|
||||||
|
600015, РФ, ВЛАДИМИРСКАЯ ОБЛ., Г. ВЛАДИМИР, ПР-Т ЛЕНИНА, Д. 26, 26А, ПОМ. 4
|
||||||
|
601010, ВЛАДИМИРСКАЯ ОБЛАСТЬ, КИРЖАЧСКИЙ РАЙОН, ГОРОД КИРЖАЧ, УЛИЦА ГАГАРИНА, ДОМ 29
|
||||||
|
601443, ВЛАДИМИРСКАЯ ОБЛАСТЬ, ВЯЗНИКОВСКИЙ Р-Н, Г. ВЯЗНИКИ, УЛ. ЛЕНИНА, Д. 12
|
||||||
|
601501, ВЛАДИМИРСКАЯ ОБЛАСТЬ, Г. ГУСЬ-ХРУСТАЛЬНЫЙ, УЛ. КАЛИНИНА, Д. 30, ЧАСТЬ ПОМ. № 12
|
||||||
|
601650, ВЛАДИМИРСКАЯ ОБЛАСТЬ, АЛЕКСАНДРОВСКИЙ Р-Н, Г. АЛЕКСАНДРОВ, УЛ. ЛЕНИНА, Д. 22, ПОМ. 9
|
||||||
|
601785, ВЛАДИМИРСКАЯ ОБЛАСТЬ, М.Р-Н КОЛЬЧУГИНСКИЙ, Г.П. ГОРОД КОЛЬЧУГИНО, Г. КОЛЬЧУГИНО, УЛ. 3 ИНТЕРНАЦИОНАЛА, Д. 65
|
||||||
|
601900, ВЛАДИМИРСКАЯ ОБЛАСТЬ, Г. КОВРОВ, ПРОСПЕКТ ЛЕНИНА, Д. 38
|
||||||
|
602267, ВЛАДИМИРСКАЯ ОБЛАСТЬ, Г. МУРОМ, УЛ. МОСКОВСКАЯ, Д. 47, ЧАСТЬ КОМНАТЫ №1 (48,83 КВ. М.)
|
||||||
|
603000, Г. НИЖНИЙ НОВГОРОД, НИЖЕГОРОДСКИЙ Р-Н, УЛ. НОВАЯ, Д. 8, ПОМ. П 37
|
||||||
|
603000, НИЖЕГОРОДСКАЯ ОБЛАСТЬ, Г. НИЖНИЙ НОВГОРОД, ВЕРХНЕ-ВОЛЖСКАЯ НАБЕРЕЖНАЯ, Д. 2А
|
||||||
|
603000, НИЖЕГОРОДСКАЯ ОБЛАСТЬ, Г. НИЖНИЙ НОВГОРОД, УЛ. КОСТИНА, Д. 9
|
||||||
|
603002, НИЖЕГОРОДСКАЯ ОБЛАСТЬ, Г. НИЖНИЙ НОВГОРОД, УЛ. ФИЛЬЧЕНКОВА, Д. 10
|
||||||
|
603003, НИЖЕГОРОДСКАЯ ОБЛ., Г. НИЖНИЙ НОВГОРОД, СОРМОВСКИЙ Р-Н, УЛ. КОМИНТЕРНА, Д. 164, ПОМ. П 5
|
||||||
|
603004, РОССИЙСКАЯ ФЕДЕРАЦИЯ, НИЖЕГОРОДСКАЯ ОБЛ., Г. НИЖНИЙ НОВГОРОД, АВТОЗАВОДСКИЙ Р-Н, ПР-Т ЛЕНИНА, Д. 100 Д, ПОМ. П 8
|
||||||
|
603024, РОССИЙСКАЯ ФЕДЕРАЦИЯ, НИЖЕГОРОДСКАЯ ОБЛАСТЬ, Г. НИЖНИЙ НОВГОРОД, УЛ. БЕЛИНСКОГО, Д. 61, КОРП. 2 ЦОКОЛЬНЫЙ ЭТАЖ, ПОМЕЩЕНИЯ 1-10 (182,2 КВ. М)
|
||||||
|
603035, Г. НИЖНИЙ НОВГОРОД, УЛ. ГОРЬКОГО МАКСИМА, Д. 140, ПОМ. П1
|
||||||
|
603135, НИЖЕГОРОДСКАЯ ОБЛАСТЬ, Г. НИЖНИЙ НОВГОРОД, ЛЕНИНСКИЙ РАЙОН, ПРОСП. ЛЕНИНА, Д. 45
|
||||||
|
606029, НИЖЕГОРОДСКАЯ ОБЛАСТЬ, Г. ДЗЕРЖИНСК, УЛИЦА ГАЙДАРА, Д. 61
|
||||||
|
606100, НИЖЕГОРОДСКАЯ ОБЛАСТЬ, Г. ПАВЛОВО, УЛ. КРАСНОАРМЕЙСКАЯ, Д. 33, СТР. 1
|
||||||
|
606408, НИЖЕГОРОДСКАЯ ОБЛАСТЬ, Г. БАЛАХНА, УЛ. КОММУНИСТИЧЕСКАЯ, Д. 2, ПОМ. П17
|
||||||
|
606440, НИЖЕГОРОДСКАЯ ОБЛАСТЬ, Г. БОР, УЛ. ЛЕНИНА, Д. 129
|
||||||
|
606502, НИЖЕГОРОДСКАЯ ОБЛАСТЬ, Г. ГОРОДЕЦ, УЛ. КОЛХОЗНАЯ, Д. 1
|
||||||
|
606524, НИЖЕГОРОДСКАЯ ОБЛАСТЬ, М.О. ГОРОДЕЦКИЙ, Г. ЗАВОЛЖЬЕ, УЛ. ПОНОМАРЕВА, Д. 4
|
||||||
|
607018, НИЖЕГОРОДСКАЯ ОБЛАСТЬ, Г. КУЛЕБАКИ, УЛ. ВОРОВСКОГО, Д. 47
|
||||||
|
607061, НИЖЕГОРОДСКАЯ ОБЛАСТЬ, Г. ВЫКСА, УЛ. ОСТРОВСКОГО, ЗДАНИЕ № 33
|
||||||
|
607183, НИЖЕГОРОДСКАЯ ОБЛАСТЬ, Г. САРОВ, УЛ. МОСКОВСКАЯ, Д. 3, СТР. 1
|
||||||
|
607228, НИЖЕГОРОДСКАЯ ОБЛАСТЬ, Г. АРЗАМАС, ПРОСПЕКТ ЛЕНИНА, Д. 198, ПОМ. 1
|
||||||
|
607600, НИЖЕГОРОДСКАЯ ОБЛАСТЬ, М.О. БОГОРОДСКИЙ, Г. БОГОРОДСК, УЛ. ЛЕНИНА, Д. 189
|
||||||
|
607651, НИЖЕГОРОДСКАЯ ОБЛ., Г. КСТОВО, УЛ. 40 ЛЕТ ОКТЯБРЯ, Д. 4, ПОМ. III (69,1 КВ.М.)
|
||||||
|
610027, КИРОВСКАЯ ОБЛАСТЬ, Г. КИРОВ, УЛ. ВЛАДИМИРСКАЯ, Д. 99А
|
||||||
|
610045, КИРОВСКАЯ ОБЛАСТЬ, Г. КИРОВ, УЛ. МАРШАЛА И.С. КОНЕВА, Д. 1
|
||||||
|
612964, КИРОВСКАЯ ОБЛАСТЬ, Г. ВЯТСКИЕ ПОЛЯНЫ, УЛ. ГАГАРИНА, Д. 9Г
|
||||||
|
613050, КИРОВСКАЯ ОБЛАСТЬ, Г. КИРОВО-ЧЕПЕЦК, ПРОСПЕКТ МИРА, Д. 74
|
||||||
|
613150, КИРОВСКАЯ ОБЛАСТЬ, Г. СЛОБОДСКОЙ, УЛ. СОВЕТСКАЯ, Д. 66, ПОМ. 1017
|
||||||
|
614000, ПЕРМСКИЙ КРАЙ, Г.ПЕРМЬ, ЛЕНИНСКИЙ Р-Н, УЛ.СОВЕТСКАЯ, Д.45
|
||||||
|
614000, ПЕРМСКИЙ КРАЙ, ГОРОД ПЕРМЬ, УЛ. ЛЕНИНА, ДОМ 66
|
||||||
|
614015, РОССИЙСКАЯ ФЕДЕРАЦИЯ, ПЕРМСКИЙ КРАЙ, Г. ПЕРМЬ, УЛ. ПЕРМСКАЯ, Д. 17
|
||||||
|
614039, РОССИЙСКАЯ ФЕДЕРАЦИЯ, ПЕРМСКИЙ КРАЙ, Г. ПЕРМЬ, СВЕРДЛОВСКИЙ Р-Н, КОМСОМОЛЬСКИЙ ПРОСП., Д. 49
|
||||||
|
614066, ПЕРМСКИЙ КРАЙ, ГОРОД ПЕРМЬ, УЛИЦА МИРА, ДОМ 70
|
||||||
|
614077, ПЕРМСКИЙ КРАЙ, Г. ПЕРМЬ, БУЛЬВАР ГАГАРИНА, Д. 67
|
||||||
|
614113, РОССИЙСКАЯ ФЕДЕРАЦИЯ, ПЕРМСКИЙ КРАЙ, Г. ПЕРМЬ, УЛ. АВТОЗАВОДСКАЯ, Д. 44А
|
||||||
|
617060, ПЕРМСКИЙ КРАЙ, Г. КРАСНОКАМСК, ПРОСПЕКТ МИРА, Д. 6
|
||||||
|
617470, ПЕРМСКИЙ КРАЙ, Г. КУНГУР, УЛ. ПУГАЧЕВА, Д. 25
|
||||||
|
618419, ПЕРМСКИЙ КРАЙ, ГОРОД БЕРЕЗНИКИ, УЛИЦА ПЯТИЛЕТКИ, ДОМ 50, МАГАЗИН №29
|
||||||
|
618554, ПЕРМСКИЙ КРАЙ, Г. СОЛИКАМСК, УЛ. 20-ЛЕТИЯ ПОБЕДЫ, Д. 119
|
||||||
|
618740, ПЕРМСКИЙ КРАЙ, Г.О. ДОБРЯНСКИЙ, Г. ДОБРЯНКА, УЛ. ПОБЕДЫ, Д. 43
|
||||||
|
618900, ПЕРМСКИЙ КРАЙ, Г. ЛЫСЬВА, УЛ. МИРА, Д. 11
|
||||||
|
619000, ПЕРМСКИЙ КРАЙ, Г. КУДЫМКАР, УЛ. КАЛИНИНА, Д. 37
|
||||||
|
620000, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. ЕКАТЕРИНБУРГ, УЛ. ГОРЬКОГО, СТР. 7-А
|
||||||
|
620000, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. ЕКАТЕРИНБУРГ, УЛ. ГОРЬКОГО, СТР. 7-А, ПОМ. 75-78
|
||||||
|
620000, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. ЕКАТЕРИНБУРГ, УЛ. ГОРЬКОГО, СТР. 7-А, ПОМ. 81-86
|
||||||
|
620012, Г. ЕКАТЕРИНБУРГ, УЛ. КУЗНЕЦОВА, Д.2 ПОМЕЩЕНИЯ: КОМНАТЫ №№1-7, ЧАСТЬ КОМНАТЫ №8 (ПЛОЩАДЬЮ 60,8 КВ.М.), КОМНАТА №9, КОМНАТЫ №№20-28
|
||||||
|
620012, СВЕРД. ОБЛ., Г.ЕКАТЕРИНБУРГ, УЛ.МАШИНОСТРОИТЕЛЕЙ, Д.19 ПОМ:НА 1ЭТ: К.197, ЧАСТЬ К.198 (185,97КВ.М.), 200,203-205,247-255; НА ЦОК.ЭТ: К.60,60А-60Е,62-64,64А,64Б,91,91А,91Б, ЧАСТЬ К.92(54КВ.М.)
|
||||||
|
620014, Г.ЕКАТЕРИНБУРГ, УЛ.8 МАРТА, Д.10/УЛ.МАЛЫШЕВА, Д.42 (ЛИТЕР А)
|
||||||
|
620014, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. ЕКАТЕРИНБУРГ, УЛ. 8 МАРТА, Д. 10/ УЛ. МАЛЫШЕВА, Д. 42 (ЛИТЕР А), ПОМ. 229
|
||||||
|
620026, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. ЕКАТЕРИНБУРГ, УЛ. СОНИ МОРОЗОВОЙ, Д.190. ПОМ: ЛИТА: К.3,8; ЧАСТЬ К.9 (3,5КВ.М.), К.10-11;13-14,16-18;21; ВСТР ЛИТА: К.25,26;28-32;34, ЧАСТЬ К.36 (206,3 КВ.М.)
|
||||||
|
620041, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. ЕКАТЕРИНБУРГ, УЛ. УРАЛЬСКАЯ, Д. 75, ПОМ. 1-21
|
||||||
|
620062, Г. ЕКАТЕРИНБУРГ, ПР-Т ЛЕНИНА, Д. 60
|
||||||
|
620073, РОССИЙСКАЯ ФЕДЕРАЦИЯ, Г. ЕКАТЕРИНБУРГ, УЛ. РОДОНИТОВАЯ, Д. 4
|
||||||
|
620102, Г. ЕКАТЕРИНБУРГ, УЛ. БЕЛОРЕЧЕНСКАЯ, Д. 12А. 1 ЭТАЖ-ПОМЕЩЕНИЯ №№7-9, 2 ЭТАЖ-ПОМЕЩЕНИЯ №№1-2, №№4-5, ЧАСТЬ ПОМЕЩЕНИЯ №6 (169,1 КВ.М.), №№7-8
|
||||||
|
620109, РОССИЙСКАЯ ФЕДЕРАЦИЯ, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. ЕКАТЕРИНБУРГ, УЛ. КРАУЛЯ, Д. 44, ЧАСТЬ ПОМЕЩЕНИЯ № 74 (33,85 КВ. М.)
|
||||||
|
620144, Г. ЕКАТЕРИНБУРГ, УЛ. 8 МАРТА, Д. 194
|
||||||
|
620149, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. ЕКАТЕРИНБУРГ, УЛ. ВИЛЬГЕЛЬМА ДЕ ГЕННИНА, Д. 31 (1 ЭТАЖ - ПОМЕЩЕНИЯ 34-39)
|
||||||
|
622007,СВЕРДЛОВСКАЯ ОБЛАСТЬ,Г.НИЖНИЙ ТАГИЛ,ПР-Т ВАГОНОСТРОИТЕЛЕЙ, Д.13,/УЛ.БАЖОВА, Д.6. ПОДВАЛ: К. № 1-№10. 1 ЭТАЖ: КОМНАТЫ №9,№14,№15,ЧАСТЬ КОМНАТЫ №16(3,6 КВ.М.),№17-№21,№23-№26,№29,№31,№33, №35-№38
|
||||||
|
622034, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. НИЖНИЙ ТАГИЛ, ПР-КТ ЛЕНИНА, Д. 61, ПОМ. № 1-000, 1-001, 1-003-1-013
|
||||||
|
623104, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. ПЕРВОУРАЛЬСК, УЛ. ВАТУТИНА, Д. 37
|
||||||
|
623286, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. РЕВДА, УЛ. МАКСИМА ГОРЬКОГО, Д. 30, ЧАСТЬ ПОМ. 51
|
||||||
|
623300, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. КРАСНОУФИМСК, УЛ. СОВЕТСКАЯ, Д. 51
|
||||||
|
623382, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. ПОЛЕВСКОЙ, М-ОН ЗЕЛЕНЫЙ БОР-1, ЗД. 4А
|
||||||
|
623400, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г.КАМЕНСК-УРАЛЬСКИЙ, ПР.ПОБЕДЫ, Д.39 А
|
||||||
|
623530, СВЕРДЛОВСКАЯ ОБЛАСТЬ, БОГДАНОВИЧСКИЙ РАЙОН, ГОРОД БОГДАНОВИЧ, УЛИЦА СПОРТИВНАЯ, ДОМ 2
|
||||||
|
623700, СВЕРДЛОВСКАЯ ОБЛАСТЬ, ГОРОД БЕРЕЗОВСКИЙ, УЛИЦА ВОСТОЧНАЯ, ДОМ 11А
|
||||||
|
623750, СВЕРДЛОВСКАЯ ОБЛ., РЕЖЕВСКИЙ Р-Н, Г. РЕЖ, УЛ. ЛЕНИНА, СТР. 5
|
||||||
|
623785, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. АРТЕМОВСКИЙ, УЛ. ЛЕНИНА, ЗД. 2В, ЧАСТЬ ПОМ. 14
|
||||||
|
623850, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. ИРБИТ, УЛ. КАЛИНИНА, Д. 19А, ПОМ. 9
|
||||||
|
624022, СВЕРДЛОВСКАЯ ОБЛАСТЬ, СЫСЕРТСКИЙ Р-Н, Г. СЫСЕРТЬ, УЛ. КОММУНЫ, Д. 41
|
||||||
|
624090, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. ВЕРХНЯЯ ПЫШМА, ПР-Т УСПЕНСКИЙ, Д. 20, ОФ. 2.5.3
|
||||||
|
624132, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. НОВОУРАЛЬСК, УЛ. КОМСОМОЛЬСКАЯ, ЗДАНИЕ 6А
|
||||||
|
624205, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. ЛЕСНОЙ, УЛ. ЛЕНИНА, Д. 64
|
||||||
|
624250, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. ЗАРЕЧНЫЙ, УЛ. ЛЕНИНГРАДСКАЯ, Д. 16, ПОМ. 147
|
||||||
|
624272, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. АСБЕСТ, ПРОСПЕКТ ИМЕНИ В.И. ЛЕНИНА, Д. 15, ПОМ. 1-002
|
||||||
|
624350, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. КАЧКАНАР, УЛ. СВЕРДЛОВА, ДОМ 10, ПОМ. 1-003
|
||||||
|
624440, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. КРАСНОТУРЬИНСК, УЛ. ЛЕНИНА, Д. 37
|
||||||
|
624600, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. АЛАПАЕВСК, УЛ. ЛЕНИНА, Д. 12, ЧАСТЬ ПОМ. №№30-33
|
||||||
|
624760, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. ВЕРХНЯЯ САЛДА, УЛ. ЭНГЕЛЬСА, Д. 77, ПОМ. 1-002
|
||||||
|
624800, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. СУХОЙ ЛОГ, УЛ. ГОРЬКОГО, Д. 14
|
||||||
|
624992, СВЕРДЛОВСКАЯ ОБЛАСТЬ, Г. СЕРОВ, УЛ. ЛЕНИНА, Д. 161
|
||||||
|
625000, Г. ТЮМЕНЬ, УЛИЦА 8 МАРТА, ДОМ 2/13.
|
||||||
|
625000, РОССИЙСКАЯ ФЕДЕРАЦИЯ, Г. ТЮМЕНЬ, УЛ. ЛЕНИНА, ДОМ 57/2, ПОМ. № 1, 2, 3, 8, 10, 11, 12
|
||||||
|
625000, ТЮМЕНСКАЯ ОБЛ., Г. ТЮМЕНЬ, УЛ. СОВЕТСКАЯ, Д. 55/3
|
||||||
|
625002, ТЮМЕНСКАЯ ОБЛАСТЬ, Г. ТЮМЕНЬ, УЛ. ОСИПЕНКО, Д. 21, КОРП. 1
|
||||||
|
625022, ТЮМЕНСКАЯ ОБЛАСТЬ, Г. ТЮМЕНЬ, УЛ. ГАЗОВИКОВ, Д. 65/4
|
||||||
|
625026, ТЮМЕНСКАЯ ОБЛАСТЬ, Г. ТЮМЕНЬ, УЛ. РЕСПУБЛИКИ, Д. 155
|
||||||
|
625048, РОССИЙСКАЯ ФЕДЕРАЦИЯ, ТЮМЕНСКАЯ ОБЛАСТЬ, ГОРОДСКОЙ ОКРУГ ТЮМЕНЬ, Г. ТЮМЕНЬ, УЛ. 50 ЛЕТ ОКТЯБРЯ, Д. 3/1, ЛИТЕРА А
|
||||||
|
625051, ТЮМЕНСКАЯ ОБЛАСТЬ, Г. ТЮМЕНЬ, УЛ. ПЕРМЯКОВА, Д. 23 А
|
||||||
|
626158, ТЮМЕНСКАЯ ОБЛАСТЬ, Г. ТОБОЛЬСК, 9-Й МИКРОРАЙОН, Д. 1
|
||||||
|
627140, ТЮМЕНСКАЯ ОБЛАСТЬ, Г. ЗАВОДОУКОВСК, УЛ. ВОКЗАЛЬНАЯ, Д. 42
|
||||||
|
627754, ТЮМЕНСКАЯ ОБЛАСТЬ, Г. ИШИМ, УЛ. КАРЛА МАРКСА, Д. 77А
|
||||||
|
628011, ХАНТЫ-МАНСИЙСКИЙ АВТОНОМНЫЙ ОКРУГ - ЮГРА, ГОРОД ХАНТЫ-МАНСИЙСК, УЛИЦА ЭНГЕЛЬСА, ДОМ 3, ПОМ. 2
|
||||||
|
628181, ХАНТЫ-МАНСИЙСКИЙ АВТОНОМНЫЙ ОКРУГ - ЮГРА, Г. НЯГАНЬ, МКР. 1-Й, Д. 1, ПОМ. 170
|
||||||
|
628240, ХАНТЫ-МАНСИЙСКИЙ АВТОНОМНЫЙ ОКРУГ - ЮГРА, Г. СОВЕТСКИЙ, УЛ. ГАСТЕЛЛО, ЗД. 28А
|
||||||
|
628285, ХАНТЫ-МАНСИЙСКИЙ АВТОНОМНЫЙ ОКРУГ - ЮГРА, Г. УРАЙ, МКР. 2-Й, Д. 88, ПОМ. 51
|
||||||
|
628306, ХАНТЫ-МАНСИЙСКИЙ АВТОНОМНЫЙ ОКРУГ - ЮГРА, Г. НЕФТЕЮГАНСК, 15 МИКРОРАЙОН, 8Б
|
||||||
|
628380, ХАНТЫ-МАНСИЙСКИЙ АВТОНОМНЫЙ ОКРУГ - ЮГРА, Г. ПЫТЬ-ЯХ, МКР. 1-Й ЦЕНТРАЛЬНЫЙ, Д. 17, КВ. 3
|
||||||
|
628406, ТЮМЕНСКАЯ ОБЛАСТЬ, ХАНТЫ-МАНСИЙСКИЙ АВТОНОМНЫЙ ОКРУГ - ЮГРА, Г. СУРГУТ, УЛ. ИОСИФА КАРОЛИНСКОГО, 13
|
||||||
|
628416, ХАНТЫ-МАНСИЙСКИЙ АВТОНОМНЫЙ ОКРУГ - ЮГРА, Г. СУРГУТ, ПРОСП. ЛЕНИНА Д. 38
|
||||||
|
628449, ХАНТЫ-МАНСИЙСКИЙ АВТОНОМНЫЙ ОКРУГ - ЮГРА, Г. ЛЯНТОР, УЛ. НАЗАРГАЛЕЕВА, СТР. 6А
|
||||||
|
628462, ХАНТЫ-МАНСИЙСКИЙ АВТОНОМНЫЙ ОКРУГ - ЮГРА, Г. РАДУЖНЫЙ, МКР. 6, Д. 24
|
||||||
|
628484, ХАНТЫ-МАНСИЙСКИЙ АВТОНОМНЫЙ ОКРУГ - ЮГРА, Г. КОГАЛЫМ, УЛ. ЛЕНИНГРАДСКАЯ, Д. 17
|
||||||
|
628600, ТЮМЕНСКАЯ ОБЛАСТЬ, ХАНТЫ-МАНСИЙСКИЙ АВТОНОМНЫЙ ОКРУГ - ЮГРА, Г. НИЖНЕВАРТОВСК, ПРОСПЕКТ ПОБЕДЫ, Д. 11
|
||||||
|
628611, ХАНТЫ-МАНСИЙСКИЙ АВТОНОМНЫЙ ОКРУГ - ЮГРА, Г. НИЖНЕВАРТОВСК, УЛ. ЛЕНИНА, Д. 17А
|
||||||
|
628671, ХАНТЫ-МАНСИЙСКИЙ АВТОНОМНЫЙ ОКРУГ - ЮГРА, Г. ЛАНГЕПАС, УЛ. СОЛНЕЧНАЯ, Д. 20
|
||||||
|
628681, ТЮМЕНСКАЯ ОБЛ., ХАНТЫ-МАНСИЙСКИЙ АВТОНОМНЫЙ ОКРУГ, Г. МЕГИОН, УЛ. НЕФТЕРАЗВЕДОЧНАЯ, Д. 2
|
||||||
|
629008, ЯМАЛО-НЕНЕЦКИЙ АВТОНОМНЫЙ ОКРУГ, Г. САЛЕХАРД, УЛ. МИРА, Д. 2, КВ. 5
|
||||||
|
629303, ЯМАЛО-НЕНЕЦКИЙ АВТОНОМНЫЙ ОКРУГ, Г. НОВЫЙ УРЕНГОЙ, МКР. МИРНЫЙ, Д. 6, КОРП. 2
|
||||||
|
629400, ЯМАЛО-НЕНЕЦКИЙ АВТОНОМНЫЙ ОКРУГ, Г. ЛАБЫТНАНГИ, УЛ. ОКТЯБРЬСКАЯ, Д. 21, ПОМ. 5
|
||||||
|
629735, ЯМАЛО-НЕНЕЦКИЙ АВТОНОМНЫЙ ОКРУГ, Г. НАДЫМ, УЛ. ЗВЕРЕВА, Д. 37А
|
||||||
|
629807, ЯМАЛО-НЕНЕЦКИЙ АВТОНОМНЫЙ ОКРУГ, Г. НОЯБРЬСК, ПР-КТ МИРА, Д. 56
|
||||||
|
629832, ЯМАЛО-НЕНЕЦКИЙ АВТОНОМНЫЙ ОКРУГ, Г. ГУБКИНСКИЙ, 12 МИКРОРАЙОН, Д. 43
|
||||||
|
629850, ЯМАЛО-НЕНЕЦКИЙ АВТОНОМНЫЙ ОКРУГ, Г. ТАРКО-САЛЕ, УЛ. РЕСПУБЛИКИ, Д. 45
|
||||||
|
630004, НОВОСИБИРСКАЯ ОБЛАСТЬ, Г. НОВОСИБИРСК, УЛ. ЛЕНИНА, Д. 52, ПОМ. 12
|
||||||
|
630004, РФ, Г. НОВОСИБИРСК, ЖЕЛЕЗНОДОРОЖНЫЙ Р-Н, УЛ. ЛЕНИНА, Д. 52, ПОМ. 1-9 (147 КВ.М)
|
||||||
|
630054, НОВОСИБИРСКАЯ ОБЛАСТЬ, Г. НОВОСИБИРСК, УЛ. ТИТОВА, ЗД. 22А
|
||||||
|
630073, РОССИЙСКАЯ ФЕДЕРАЦИЯ, ГОРОД НОВОСИБИРСК, ЛЕНИНСКИЙ РАЙОН, ПРОСПЕКТ КАРЛА МАРКСА, ДОМ 55. ПОМЕЩЕНИЯ: №№ 1-6; ЧАСТЬ ПОМЕЩЕНИЯ №7 (ПЛОЩАДЬЮ 5,45 КВ.М.), № 8, № 9
|
||||||
|
630078, РОССИЙСКАЯ ФЕДЕРАЦИЯ, НОВОСИБИРСКАЯ ОБЛ., Г. НОВОСИБИРСК, ПЛ. КАРЛА МАРКСА, Д. 5
|
||||||
|
630082, РОССИЙСКАЯ ФЕДЕРАЦИЯ, НОВОСИБИРСКАЯ ОБЛАСТЬ, Г. НОВОСИБИРСК, УЛИЦА ДУСИ КОВАЛЬЧУК, 179/4, 1 ЭТАЖ, КАБИНЕТЫ С №1 ПО №13
|
||||||
|
630089, РФ, Г. НОВОСИБИРСК, УЛ. БОРИСА БОГАТКОВА, Д. 201/1
|
||||||
|
630090, НОВОСИБИРСКАЯ ОБЛ., Г. НОВОСИБИРСК, УЛ. ИЛЬИЧА, Д. 6, ПОМЕЩЕНИЕ 5
|
||||||
|
630091, РОССИЙСКАЯ ФЕДЕРАЦИЯ, Г. НОВОСИБИРСК, УЛ. МИЧУРИНА, ДОМ 23
|
||||||
|
630091, РОССИЙСКАЯ ФЕДЕРАЦИЯ, НОВОСИБИРСКАЯ ОБЛ., Г. НОВОСИБИРСК, УЛ. КРЫЛОВА, Д. 31
|
||||||
|
630099, НОВОСИБИРСКАЯ ОБЛАСТЬ, Г. НОВОСИБИРСК, УЛ. СОВЕТСКАЯ, ЗД. 33
|
||||||
|
630099, НОВОСИБИРСКАЯ ОБЛАСТЬ, Г. НОВОСИБИРСК, УЛ. СОВЕТСКАЯ, ЗД. 33, ПОМ. 1
|
||||||
|
630102, НОВОСИБИРСКАЯ ОБЛАСТЬ, Г. НОВОСИБИРСК, УЛ. КИРОВА, Д. 46/1, 1 ЭТАЖ, ЧАСТЬ ПОМЕЩЕНИЯ №13 (236,25 КВ. М), ПОМЕЩЕНИЕ №14 (1,5 КВ. М)
|
||||||
|
630559, НОВОСИБИРСКАЯ ОБЛАСТЬ, РП. КОЛЬЦОВО, ПР-КТ НИКОЛЬСКИЙ, Д. 2, ПОМ. 12
|
||||||
|
632122, НОВОСИБИРСКАЯ ОБЛАСТЬ, ТАТАРСКИЙ Р-Н, Г. ТАТАРСК, УЛ. ЛЕНИНА, ЗД. 106Г
|
||||||
|
632382, НОВОСИБИРСКАЯ ОБЛАСТЬ, Г. КУЙБЫШЕВ, 11 КВАРТАЛ, Д. 9
|
||||||
|
632640, НОВОСИБИРСКАЯ ОБЛАСТЬ, РП. КОЧЕНЕВО, УЛ. МАКСИМА ГОРЬКОГО, Д. 142
|
||||||
|
632865, НОВОСИБИРСКАЯ ОБЛАСТЬ, Г. КАРАСУК, УЛ. ЛЕНИНА, ЗД. 120В
|
||||||
|
633010, НОВОСИБИРСКАЯ ОБЛАСТЬ, Г. БЕРДСК, УЛ. ЛЕНИНА, 41А
|
||||||
|
633103, НОВОСИБИРСКАЯ ОБЛАСТЬ, Г. ОБЬ, УЛ. ЛОМОНОСОВА, ЗД. 7
|
||||||
|
633162, НОВОСИБИРСКАЯ ОБЛАСТЬ, КОЛЫВАНСКИЙ Р-Н, Р.П. КОЛЫВАНЬ, УЛ. МОСКОВСКАЯ, Д. 37В
|
||||||
|
633209, НОВОСИБИРСКАЯ ОБЛАСТЬ, Г. ИСКИТИМ, УЛ. ПУШКИНА, Д. 40А
|
||||||
|
633216, РФ, НОВОСИБИРСКАЯ ОБЛ., ИСКИТИМСКИЙ Р-Н, Р.П. ЛИНЕВО, КОММУНИСТИЧЕСКИЙ ПРОСП., Д. 1 А, ПОМЕЩЕНИЕ № 2, 1 ЭТАЖ
|
||||||
|
633456, НОВОСИБИРСКАЯ ОБЛАСТЬ, Г. ТОГУЧИН, УЛ. КОМСОМОЛЬСКАЯ, ЗД. 20/1, ЧАСТЬ ПОМ. №114
|
||||||
|
634009, ТОМСКАЯ ОБЛАСТЬ, Г. ТОМСК, ПЕР. 1905 ГОДА, Д. 14А, ПОМ. 1007-1018
|
||||||
|
634034, РОССИЙСКАЯ ФЕДЕРАЦИЯ, ТОМСКАЯ ОБЛ., Г. ТОМСК, УЛ. КРАСНОАРМЕЙСКАЯ, Д. 101 А, ПОМ. 1186
|
||||||
|
634049, ТОМСКАЯ ОБЛАСТЬ, Г. ТОМСК, ТРАКТ ИРКУТСКИЙ, Д. 26
|
||||||
|
634061, ТОМСКАЯ ОБЛАСТЬ, Г. ТОМСК, ПР. КОМСОМОЛЬСКИЙ, Д. 53
|
||||||
|
636000, ТОМСКАЯ ОБЛАСТЬ, Г. СЕВЕРСК, ПР-КТ КОММУНИСТИЧЕСКИЙ, 63, ПОМЕЩ. 1001
|
||||||
|
636460, ТОМСКАЯ ОБЛАСТЬ, Г. КОЛПАШЕВО, УЛ. БЕЛИНСКОГО, Д. 16/1, СТР. 1
|
||||||
|
636785, ТОМСКАЯ ОБЛАСТЬ, Г. СТРЕЖЕВОЙ, МКР. 4-Й, Д. 417, ПОМЕЩ. 31
|
||||||
|
636840, ТОМСКАЯ ОБЛАСТЬ, Г. АСИНО, УЛ. ИМЕНИ ЛЕНИНА, Д. 31
|
||||||
|
640000, РОССИЯ, КУРГАНСКАЯ ОБЛАСТЬ, Г. КУРГАН, УЛ. ГОГОЛЯ, Д. 17/1, ПОМ. № 1, № 2, № 10, № 12
|
||||||
|
640002, КУРГАНСКАЯ ОБЛАСТЬ, Г. КУРГАН, УЛ. ГОГОЛЯ, Д. 39Б
|
||||||
|
644010, ОМСКАЯ ОБЛАСТЬ, Г. ОМСК, ПРОСПЕКТ МАРКСА, Д. 10 (ПОМЕЩЕНИЕ 4П)
|
||||||
|
644020, ОМСКАЯ ОБЛАСТЬ, Г. ОМСК, ПР-Т КАРЛА МАРКСА, Д. 84
|
||||||
|
644021, Г ОМСК, УЛ. БОГДАНА ХМЕЛЬНИЦКОГО, Д.162. ПОМЕЩЕНИЕ №18, ЧАСТЬ ПОМЕЩЕНИЯ №19 ПЛОЩАДЬЮ 37,99КВ.М., ПОМЕЩЕНИЯ №№20-25
|
||||||
|
644024, РФ, ОМСКАЯ ОБЛ., Г. ОМСК, УЛ. МАРШАЛА ЖУКОВА УГОЛ УЛ. 10 ЛЕТ ОКТЯБРЯ, Д. 25/31, ПОМ. 101-113 (293,1 КВ. М)
|
||||||
|
644029, РФ, ОМСКАЯ ОБЛ., Г. ОМСК, ПР-Т МИРА, Д. 54, ЛИТЕРА: А, ЭТАЖ-1
|
||||||
|
644043, РОССИЙСКАЯ ФЕДЕРАЦИЯ, Г. ОМСК, УЛ. КРАСНЫЙ ПУТЬ, ДОМ №61. ЧАСТЬ ПОМЕЩЕНИЯ №5, ПЛОЩАДЬЮ 29 КВ.М., ПОМЕЩЕНИЕ №14; ЧАСТЬ ПОМЕЩЕНИЯ №15, ПЛОЩАДЬЮ 4.6 КВ.М; ПОМЕЩЕНИЕ №№16-22.
|
||||||
|
644074, РОССИЙСКАЯ ФЕДЕРАЦИЯ, Г. ОМСК, УЛ. 70 ЛЕТ ОКТЯБРЯ, ДОМ 13, КОРПУС № 3. ПОМЕЩЕНИЯ №№1-6, ЧАСТЬ ПОМЕЩЕНИЯ №7 ПЛОЩАДЬЮ 3 КВ.М.
|
||||||
|
646024, ОМСКАЯ ОБЛАСТЬ, ИСИЛЬКУЛЬСКИЙ РАЙОН, ГОРОД ИСИЛЬКУЛЬ, УЛИЦА КОММУНИСТИЧЕСКАЯ, ДОМ 12
|
||||||
|
646530, ОМСКАЯ ОБЛАСТЬ, Г. ТАРА, УЛ. ЛЕНИНА, Д. 77
|
||||||
|
646901, ОМСКАЯ ОБЛАСТЬ, Г. КАЛАЧИНСК, УЛ. ПЕТРА ИЛЬИЧЕВА, Д. 17
|
||||||
|
649000, РЕСПУБЛИКА АЛТАЙ, Г. ГОРНО-АЛТАЙСК, ПР. КОММУНИСТИЧЕСКИЙ, Д. 27
|
||||||
|
650000, РОССИЙСКАЯ ФЕДЕРАЦИЯ, КЕМЕРОВСКАЯ ОБЛАСТЬ, КЕМЕРОВСКИЙ ГОРОДСКОЙ ОКРУГ, ГОРОД КЕМЕРОВО, ПР-КТ СОВЕТСКИЙ, ДОМ 32, ПОМЕЩЕНИЕ 13
|
||||||
|
650003, РОССИЙСКАЯ ФЕДЕРАЦИЯ, КЕМЕРОВСКАЯ ОБЛАСТЬ, Г.КЕМЕРОВО, ЛЕНИНСКИЙ РАЙОН, БР.СТРОИТЕЛЕЙ, ДОМ № 28, ЛИТЕР А
|
||||||
|
650066, КЕМЕРОВСКАЯ ОБЛАСТЬ - КУЗБАСС, Г. КЕМЕРОВО, ПР-КТ ЛЕНИНА, Д. 64А
|
||||||
|
652420, КЕМЕРОВСКАЯ ОБЛАСТЬ - КУЗБАСС, Г. БЕРЕЗОВСКИЙ, ПРОСПЕКТ ЛЕНИНА, Д. 14, ПОМ. 1А
|
||||||
|
652470, КЕМЕРОВСКАЯ ОБЛАСТЬ - КУЗБАСС, Г. АНЖЕРО-СУДЖЕНСК, УЛ. ЛЕНИНА, Д. 22
|
||||||
|
652500, КЕМЕРОВСКАЯ ОБЛАСТЬ - КУЗБАСС, Г. ЛЕНИНСК-КУЗНЕЦКИЙ, ПРОСПЕКТ КИРОВА, Д. 49
|
||||||
|
652600, КЕМЕРОВСКАЯ ОБЛАСТЬ - КУЗБАСС, Г. БЕЛОВО, УЛ. ЮБИЛЕЙНАЯ, Д. 8
|
||||||
|
652700, КЕМЕРОВСКАЯ ОБЛАСТЬ - КУЗБАСС, Г. КИСЕЛЕВСК, УЛ. ЛЕНИНА, Д. 38
|
||||||
|
652815, КЕМЕРОВСКАЯ ОБЛАСТЬ - КУЗБАСС, Г. ОСИННИКИ, УЛ. ЕФИМОВА, Д. 9
|
||||||
|
652870, КЕМЕРОВСКАЯ ОБЛАСТЬ - КУЗБАСС, Г. МЕЖДУРЕЧЕНСК, КОММУНИСТИЧЕСКИЙ ПР-КТ, Д. 18
|
||||||
|
653039, КЕМЕРОВСКАЯ ОБЛАСТЬ - КУЗБАСС, Г. ПРОКОПЬЕВСК, УЛ. ШИШКИНА, Д. 11, ПОМ. 3П, ПОМ. 5
|
||||||
|
654007, КЕМЕРОВСКАЯ ОБЛАСТЬ - КУЗБАСС, Г. НОВОКУЗНЕЦК, ПР-КТ Н. С. ЕРМАКОВА, ЗД. 9А
|
||||||
|
654007, КЕМЕРОВСКАЯ ОБЛАСТЬ - КУЗБАСС, Г. НОВОКУЗНЕЦК, ПРОСПЕКТ МЕТАЛЛУРГОВ, 32
|
||||||
|
654080, КЕМЕРОВСКАЯ ОБЛАСТЬ - КУЗБАСС, ГОРОДСКОЙ ОКРУГ НОВОКУЗНЕЦКИЙ, ГОРОД НОВОКУЗНЕЦК, РАЙОН ЦЕНТРАЛЬНЫЙ, УЛИЦА ТОЛЬЯТТИ, ДОМ 44, ПОМ. 47
|
||||||
|
655017, РЕСПУБЛИКА ХАКАСИЯ, Г. АБАКАН, УЛ. ЩЕТИНКИНА, Д. 63
|
||||||
|
655602, РЕСПУБЛИКА ХАКАСИЯ, Г. САЯНОГОРСК, МКР. ЛЕНИНГРАДСКИЙ, Д. 2
|
||||||
|
656011, АЛТАЙСКИЙ КРАЙ, Г. БАРНАУЛ, ЖЕЛЕЗНОДОРОЖНЫЙ Р-Н, ПР-КТ ЛЕНИНА, Д. 106, ПОМ.305
|
||||||
|
656011, РОССИЯ, АЛТАЙСКИЙ КР., Г.БАРНАУЛ, ПР-КТ ЛЕНИНА, Д.106
|
||||||
|
656015, АЛТАЙСКИЙ КРАЙ, Г. БАРНАУЛ, СОЦИАЛИСТИЧЕСКИЙ ПРОСПЕКТ, Д. 130. ЧАСТЬ ПОМЕЩЕНИЯ №1 (91,83 КВ.М.), ПОМЕЩЕНИЯ №№ 2-17
|
||||||
|
656038, АЛТАЙСКИЙ КРАЙ, Г.БАРНАУЛ, ЛЕНИНА ПРОСПЕКТ, Д. 58. ПОМЕЩЕНИЯ: №1, ЧАСТЬ ПОМЕЩЕНИЯ №2 (97,39 КВ.М.), №№ 3-9
|
||||||
|
656049, АЛТАЙСКИЙ КРАЙ, Г. БАРНАУЛ, КРАСНОАРМЕЙСКИЙ ПРОСПЕКТ, ДОМ 58 "Б", 1 ЭТАЖ, ПОМЕЩЕНИЯ №№3,4, ЧАСТЬ ПОМЕЩЕНИЯ №5 (187,86 КВ.М.)
|
||||||
|
656054, РОССИЙСКАЯ ФЕДЕРАЦИЯ, Г. БАРНАУЛ, УЛ. АНТОНА ПЕТРОВА, Д. 219 Б
|
||||||
|
656057, АЛТАЙСКИЙ КРАЙ, Г. БАРНАУЛ, ТРАКТ ПАВЛОВСКИЙ, Д. 251 А
|
||||||
|
658087, АЛТАЙСКИЙ КРАЙ, Г. НОВОАЛТАЙСК, УЛ. ОКТЯБРЬСКАЯ, Д. 13
|
||||||
|
658210, АЛТАЙСКИЙ КРАЙ, Г. РУБЦОВСК, ПР-КТ ЛЕНИНА, Д. 46
|
||||||
|
658700, АЛТАЙСКИЙ КРАЙ, Г. КАМЕНЬ-НА-ОБИ, УЛ. ПУШКИНА, Д. 25
|
||||||
|
658828, АЛТАЙСКИЙ КРАЙ, Г. СЛАВГОРОД, МКР 3-Й, Д. 15
|
||||||
|
659100, АЛТАЙСКИЙ КРАЙ, Г. ЗАРИНСК, ПР-КТ СТРОИТЕЛЕЙ, ЗДАНИЕ 22
|
||||||
|
659305, АЛТАЙСКИЙ КРАЙ, Г. БИЙСК, УЛ. ИМЕНИ ГЕРОЯ СОВЕТСКОГО СОЮЗА ВАСИЛЬЕВА, Д. 26, ПОМ. Н3
|
||||||
|
660001, РФ, КРАСНОЯРСКИЙ КРАЙ, Г. КРАСНОЯРСК, УЛ. КОПЫЛОВА, Д. 66, ПОМ. 331
|
||||||
|
660017, Г. КРАСНОЯРСК, УЛ. ГОРЬКОГО, Д. 10
|
||||||
|
660017, КРАСНОЯРСКИЙ КРАЙ, Г. КРАСНОЯРСК, УЛ. ГОРЬКОГО, Д. 10, ЧАТЬ ПОМ. №98
|
||||||
|
660037, РОССИЙСКАЯ ФЕДЕРАЦИЯ, КРАСНОЯРСКИЙ КРАЙ, Г.КРАСНОЯРСК, ПРОСПЕКТ ИМЕНИ ГАЗЕТЫ "КРАСНОЯРСКИЙ РАБОЧИЙ", ДОМ 35, ПОМ 56,57
|
||||||
|
660041, КРАСНОЯРСКИЙ КРАЙ, Г. КРАСНОЯРСК, УЛ. ВЫСОТНАЯ, Д. 1, ПОМ. 66
|
||||||
|
660049, КРАСНОЯРСКИЙ КРАЙ, Г. КРАСНОЯРСК, ПРОСП. МИРА, Д. 10, ПОМ. 106, КОМ. № 1- № 14
|
||||||
|
660049, РОССИЯ, КРАСНОЯРСКИЙ КРАЙ, Г. КРАСНОЯРСК, УЛ. ДУБРОВИНСКОГО, Д. 52 А, ПОМ. 77
|
||||||
|
660093, РОССИЙСКАЯ ФЕДЕРАЦИЯ, КРАСНОЯРСКИЙ КРАЙ, Г. КРАСНОЯРСК, ПРОСП. ИМ. ГАЗЕТЫ "КРАСНОЯРСКИЙ РАБОЧИЙ", Д. 199, ПОМ. 215, ПОМЕЩЕНИЯ: № 1, ЧАСТЬ ПОМЕЩЕНИЯ № 2, №№3-11
|
||||||
|
660135, РОССИЙСКАЯ ФЕДЕРАЦИЯ, КРАСНОЯРСКИЙ КРАЙ, Г. КРАСНОЯРСК, УЛИЦА ВЗЛЕТНАЯ 18, ПОМ.154
|
||||||
|
662153, КРАСНОЯРСКИЙ КРАЙ, Г. АЧИНСК, КВАРТАЛ 28, Д. 5, ПОМ. 30
|
||||||
|
662200, КРАСНОЯРСКИЙ КРАЙ, Г. НАЗАРОВО, УЛ. АРБУЗОВА, Д. 110
|
||||||
|
662501, КРАСНОЯРСКИЙ КРАЙ, Г. СОСНОВОБОРСК, УЛ. ЛЕНИНСКОГО КОМСОМОЛА, Д. 28, ПОМ. 155
|
||||||
|
662547, КРАСНОЯРСКИЙ КРАЙ, ГОРОД ЛЕСОСИБИРСК, МИКРОРАЙОН 5-Й, ДОМ 26
|
||||||
|
662606, КРАСНОЯРСКИЙ КРАЙ, Г. МИНУСИНСК, УЛ. АБАКАНСКАЯ, Д. 48
|
||||||
|
662971, РОССИЙСКАЯ ФЕДЕРАЦИЯ, КРАСНОЯРСКИЙ КРАЙ, ЗАТО ЖЕЛЕЗНОГОРСК, Г. ЖЕЛЕЗНОГОРСК, УЛ. СВЕРДЛОВА, ДОМ 21, ПОМ.36
|
||||||
|
663091, КРАСНОЯРСКИЙ КРАЙ, Г. ДИВНОГОРСК, УЛ. 30 ЛЕТ ПОБЕДЫ, Д. 16
|
||||||
|
663604, КРАСНОЯРСКИЙ КРАЙ, Г. КАНСК, УЛ. 40 ЛЕТ ОКТЯБРЯ, ЗД. 62, СТР. 4, ПОМ. 15
|
||||||
|
663693, КРАСНОЯРСКИЙ КРАЙ, Г. ЗЕЛЕНОГОРСК, УЛ. ЛЕНИНА, Д. 2
|
||||||
|
664003, Г. ИРКУТСК, УЛ. ЛЕНИНА, Д. 25
|
||||||
|
664003, РФ, ИРКУТСКАЯ ОБЛ., Г. ИРКУТСК, УЛ. ЛИТВИНОВА, Д. 2. ПОМЕЩЕНИЯ: 1А, 2-6, 6А, 1 ЭТАЖ
|
||||||
|
664022, ИРКУТСКАЯ ОБЛАСТЬ, Г. ИРКУТСК, УЛ. КОЖОВА, 20, ПОМ. 101-110
|
||||||
|
664074, РОССИЙСКАЯ ФЕДЕРАЦИЯ, ИРКУТСКАЯ ОБЛАСТЬ, Г. ИРКУТСК, УЛ. ЛЕРМОНТОВА, Д.63
|
||||||
|
665008, ИРКУТСКАЯ ОБЛАСТЬ, Г. ТАЙШЕТ, УЛ. ГАГАРИНА, Д. 125А
|
||||||
|
665103, ИРКУТСКАЯ ОБЛАСТЬ, Г. НИЖНЕУДИНСК, УЛ. МАСЛОВСКОГО, Д. 28-1
|
||||||
|
665268, ИРКУТСКАЯ ОБЛАСТЬ, Г. ТУЛУН, УЛ. ЛЕНИНА, Д. 89
|
||||||
|
665462, ИРКУТСКАЯ ОБЛАСТЬ, Г. УСОЛЬЕ-СИБИРСКОЕ, УЛ. ОРДЖОНИКИДЗЕ, ЗД. 40
|
||||||
|
665708, ИРКУТСКАЯ ОБЛАСТЬ, Г. БРАТСК, УЛ. КИРОВА, Д. 18
|
||||||
|
665824, РОССИЙСКАЯ ФЕДЕРАЦИЯ, ИРКУТСКАЯ ОБЛАСТЬ, Г. АНГАРСК, КВАРТАЛ 212, Д. 15, ПОМ. 1-5
|
||||||
|
666301, ИРКУТСКАЯ ОБЛАСТЬ, Г. САЯНСК, МИКРОРАЙОН ЮБИЛЕЙНЫЙ, Д. 16
|
||||||
|
666683, ИРКУТСКАЯ ОБЛАСТЬ, Г. УСТЬ-ИЛИМСК, ПР-КТ МИРА, Д. 2
|
||||||
|
666784, ИРКУТСКАЯ ОБЛАСТЬ, Г. УСТЬ-КУТ, УЛ. КИРОВА, Д. 88
|
||||||
|
667000, РЕСПУБЛИКА ТЫВА, Г. КЫЗЫЛ, УЛ. ЛЕНИНА, Д. 24
|
||||||
|
670000, РЕСПУБЛИКА БУРЯТИЯ, Г. УЛАН-УДЭ, УЛ. ЛЕНИНА, Д. 35
|
||||||
|
670031, РЕСПУБЛИКА БУРЯТИЯ, Г. УЛАН-УДЭ, УЛ. ТЕРЕШКОВОЙ, Д. 2
|
||||||
|
671700, РЕСПУБЛИКА БУРЯТИЯ, Г. СЕВЕРОБАЙКАЛЬСК, ПР-КТ ЛЕНИНГРАДСКИЙ, Д. 8
|
||||||
|
674600, ЗАБАЙКАЛЬСКИЙ КРАЙ, Г. БОРЗЯ, УЛ. СОВЕТСКАЯ, ЗД. 21
|
||||||
|
674676, ЗАБАЙКАЛЬСКИЙ КРАЙ, Г. КРАСНОКАМЕНСК, ПР-КТ ШАХТЕРОВ, Д. 4А
|
||||||
|
675004, АМУРСКАЯ ОБЛАСТЬ, Г. БЛАГОВЕЩЕНСК, УЛ. ОСТРОВСКОГО, Д. 12, ЧАСТЬ ПОМ. 11 (167,4 КВ.М.), ПОМ. 34, ПОМ. 35
|
||||||
|
676244, АМУРСКАЯ ОБЛАСТЬ, Г. ЗЕЯ, УЛ. ШОХИНА, Д. 4
|
||||||
|
676282, АМУРСКАЯ ОБЛАСТЬ, Г. ТЫНДА, УЛ. МОСКОВСКИХ СТРОИТЕЛЕЙ, СТРОЕН. 2
|
||||||
|
676454, АМУРСКАЯ ОБЛАСТЬ, Г. СВОБОДНЫЙ, УЛ. ЛЕНИНА, Д. 47
|
||||||
|
676805, АМУРСКАЯ ОБЛАСТЬ, Г. БЕЛОГОРСК, УЛ. КИРОВА, Д. 119
|
||||||
|
678174, РЕСПУБЛИКА САХА (ЯКУТИЯ), Г. МИРНЫЙ, ПР-КТ ЛЕНИНГРАДСКИЙ, Д. 25, ПОМ. 3
|
||||||
|
678901, РЕСПУБЛИКА САХА (ЯКУТИЯ), Г. АЛДАН, УЛ. ОКТЯБРЬСКАЯ, Д. 25
|
||||||
|
678967, РЕСПУБЛИКА САХА (ЯКУТИЯ), Г. НЕРЮНГРИ, ПР-КТ ЛЕНИНА, Д. 6, ПОМ. 80 - 82
|
||||||
|
679016, ЕВРЕЙСКАЯ АВТОНОМНАЯ ОБЛАСТЬ, Г. БИРОБИДЖАН, УЛ. ШОЛОМ-АЛЕЙХЕМА, ЗД. 8
|
||||||
|
680000, ХАБАРОВСКИЙ КРАЙ, Г.ХАБАРОВСК, УЛ. МУРАВЬЕВА-АМУРСКОГО, Д. 36
|
||||||
|
680000, ХАБАРОВСКИЙ КРАЙ, Г.ХАБАРОВСК, УЛ.МУРАВЬЕВА-АМУРСКОГО, Д. 36
|
||||||
|
680017, ХАБАРОВСКИЙ КРАЙ, Г. ХАБАРОВСК, УЛ. ЛЕНИНА, Д. 51, ПОМ. I
|
||||||
|
680051, ХАБАРОВСКИЙ КРАЙ, Г. ХАБАРОВСК, УЛ. СУВОРОВА, Д. 32, ПОМ. I (61-66, 68, 114-118)
|
||||||
|
681013, ХАБАРОВСКИЙ КРАЙ, Г. КОМСОМОЛЬСК-НА-АМУРЕ, ПРОСПЕКТ ЛЕНИНА, Д. 13, ПОМ. 1002 (ПОМ. №2, ПОМ. №8, ЧАСТЬ ПОМ. №6)
|
||||||
|
682644, ХАБАРОВСКИЙ КРАЙ, Г. АМУРСК, ПР-КТ КОМСОМОЛЬСКИЙ, Д. 2
|
||||||
|
683024, КАМЧАТСКИЙ КРАЙ, Г. ПЕТРОПАВЛОВСК-КАМЧАТСКИЙ, ПР-КТ 50 ЛЕТ ОКТЯБРЯ, Д. 24А
|
||||||
|
684000, КАМЧАТСКИЙ КРАЙ, Г. ЕЛИЗОВО, УЛ. ЗАВОЙКО, Д. 7
|
||||||
|
690002, ПРИМОРСКИЙ КРАЙ, Г. ВЛАДИВОСТОК, ПР-Т ОСТРЯКОВА, Д. 5Г
|
||||||
|
690021, ПРИМОРСКИЙ КРАЙ, Г. ВЛАДИВОСТОК, УЛ. ХАРЬКОВСКАЯ, Д. 8
|
||||||
|
690048, Г. ВЛАДИВОСТОК, ПРОСПЕКТ 100 ЛЕТ ВЛАДИВОСТОКУ, Д.51
|
||||||
|
690091, ПРИМОРСКИЙ КРАЙ, Г. ВЛАДИВОСТОК, УЛ. СВЕТЛАНСКАЯ, Д. 43
|
||||||
|
690091, РОССИЙСКАЯ ФЕДЕРАЦИЯ, ПРИМОРСКИЙ КРАЙ, Г. ВЛАДИВОСТОК, УЛ. АВРОРОВСКАЯ, Д. 10
|
||||||
|
692042, ПРИМОРСКИЙ КРАЙ, Г. ЛЕСОЗАВОДСК, УЛ. КАЛИНИНСКАЯ, Д. 11
|
||||||
|
692245, ПРИМОРСКИЙ КРАЙ, Г. СПАССК-ДАЛЬНИЙ, УЛ. БОРИСОВА, Д. 23
|
||||||
|
692342, ПРИМОРСКИЙ КРАЙ, Г. АРСЕНЬЕВ, УЛ. КАЛИНИНСКАЯ, Д. 24
|
||||||
|
692441, ПРИМОРСКИЙ КРАЙ, Г. ДАЛЬНЕГОРСК, ПРОСПЕКТ 50 ЛЕТ ОКТЯБРЯ, Д. 52, ПОМЕЩЕНИЕ 201
|
||||||
|
692525, ПРИМОРСКИЙ КРАЙ, Г. УССУРИЙСК, УЛ. ПУШКИНА, Д. 27
|
||||||
|
692760, ПРИМОРСКИЙ КРАЙ, Г. АРТЕМ, УЛ. ФРУНЗЕ, Д. 65, ПОМ. XIX
|
||||||
|
692806, ПРИМОРСКИЙ КРАЙ, Г. БОЛЬШОЙ КАМЕНЬ, УЛ. КАРЛА МАРКСА, Д. 13
|
||||||
|
692864, ПРИМОРСКИЙ КРАЙ, Г. ПАРТИЗАНСК, УЛ. ЛЕНИНСКАЯ, Д. 5, ПОМ. IV
|
||||||
|
692914, ПРИМОРСКИЙ КРАЙ, Г. НАХОДКА, ПРОСПЕКТ СЕВЕРНЫЙ, Д. 2, КОРПУС 1
|
||||||
|
694020, САХАЛИНСКАЯ ОБЛАСТЬ, Г. КОРСАКОВ, УЛ. СОВЕТСКАЯ, Д. 31
|
||||||
@@ -0,0 +1,124 @@
|
|||||||
|
# Набор под доработки: словарь топонимов, реальные адреса отделений Альфа-Банка
|
||||||
|
# (собраны через поиск, сентябрь 2026 — banki.ru/2ГИС/сравни.ру агрегируют их из
|
||||||
|
# открытых источников банка), расширенный денилист, обобщённое companion-правило
|
||||||
|
# и новые банковские типы (счёт, БИК, срок карты, ОГРН(ИП), КПП, доход, биометрия).
|
||||||
|
#
|
||||||
|
# Блок ниже — 60 адресов из официального реестра ЦБ РФ (cbr.ru/finorg/foinfo/branches,
|
||||||
|
# раздел «Информация о подразделениях АО АЛЬФА-БАНК», сентябрь 2026), по одному на
|
||||||
|
# регион, где город прошёл проверку по словарю топонимов. Полный список (981 адрес,
|
||||||
|
# 509 городов) — в alfa-bank-offices-full.txt. Смысл не в объёме (вето одно и то же),
|
||||||
|
# а в разнообразии: официальные формулировки типов улиц (просп./пр-кт/б-р/тракт/шоссе)
|
||||||
|
# и городов по всей стране, а не только Москва.
|
||||||
|
|
||||||
|
# --- Реальные адреса отделений Альфа-Банка: ловушка из ТЗ, не ПД клиента ---
|
||||||
|
Ближайшее отделение Альфа-Банка: г. Москва, ул. Каланчёвская, 27
|
||||||
|
Дополнительный офис Альфа-Банка на Тверской улице, 28 к1, работает до 20:00
|
||||||
|
Отделение на Кузнецком Мосту, 9/10 закрыто на переучёт
|
||||||
|
Офис Альфа-Банка на Ленинградском проспекте, 74к1 принимает по записи
|
||||||
|
Филиал на Новослободской улице, 23 переехал в соседнее здание
|
||||||
|
Дополнительный офис по адресу Большая Грузинская, 57 стр. 1 временно не работает
|
||||||
|
Отделение на Пресненском Валу, 7 стр. 1 обслуживает юрлиц
|
||||||
|
Офис на проспекте Мира, 91 корп. 2 открылся в новом формате
|
||||||
|
Отделение на Неглинной улице, 10 работает по будням
|
||||||
|
Юридический адрес: г. Москва, ул. Каланчёвская, 27, Альфа-Банк
|
||||||
|
|
||||||
|
Отделение Альфа-Банка: Новосибирская Область, Г. Карасук, Ул. Ленина, Зд. 120в
|
||||||
|
Отделение Альфа-Банка: Г Омск, Ул. Богдана Хмельницкого, Д.162. Помещение №18, Часть Помещения №19 Площадью 37,99кв.м., Помещения №№20-25
|
||||||
|
Отделение Альфа-Банка: Смоленская Область, Г. Смоленск, Ул. Николаева, Д. 8, Пом. 3
|
||||||
|
Отделение Альфа-Банка: Псковская Область, Г. Великие Луки, Проспект Ленина, Д. 39
|
||||||
|
Отделение Альфа-Банка: Г. Санкт-петербург, Комендантский Проспект, Д. 13, Корп. 1, Литера А, Помещение 1-н
|
||||||
|
Отделение Альфа-Банка: Г. Нижний Новгород, Нижегородский Р-н, Ул. Новая, Д. 8, Пом. П 37
|
||||||
|
Отделение Альфа-Банка: Ульяновская Область, Г. Барыш, Ул. 45 Стрелковой Дивизии, Зд.1г
|
||||||
|
Отделение Альфа-Банка: Краснодарский Край, Г. Гулькевичи, Ул. Ленинградская, Д. 3
|
||||||
|
Отделение Альфа-Банка: Г. Саратов, Пр-т Строителей, Д. 19
|
||||||
|
Отделение Альфа-Банка: Г. Иркутск, Ул. Ленина, Д. 25
|
||||||
|
Отделение Альфа-Банка: Орловская Область, Г. Мценск, Ул. Ленина, Д. 25
|
||||||
|
Отделение Альфа-Банка: Еврейская Автономная Область, Г. Биробиджан, Ул. Шолом-алейхема, Зд. 8
|
||||||
|
Отделение Альфа-Банка: Владимирская Область, Г. Ковров, Проспект Ленина, Д. 38
|
||||||
|
Отделение Альфа-Банка: Свердловская Обл., Режевский Р-н, Г. Реж, Ул. Ленина, Стр. 5
|
||||||
|
Отделение Альфа-Банка: Г. Волгоград Ул. Комсомольская, Д.10
|
||||||
|
Отделение Альфа-Банка: Сахалинская Область, Г. Корсаков, Ул. Советская, Д. 31
|
||||||
|
Отделение Альфа-Банка: Ставропольский Край, Г. Ессентуки, Привокзальная Площадь, Пом. 1к
|
||||||
|
Отделение Альфа-Банка: Костромская Область, Г. Кострома, Ул. Советская, Д. 30
|
||||||
|
Отделение Альфа-Банка: Воронежская Область, Г. Богучар, Пл Малаховского, Д 12/1
|
||||||
|
Отделение Альфа-Банка: Г. Воронеж, Ул. Кирова, Д. 11
|
||||||
|
Отделение Альфа-Банка: Г.самара, Ленинский Район, Ул.агибалова, Д.76
|
||||||
|
Отделение Альфа-Банка: Республика Бурятия, Г. Северобайкальск, Пр-кт Ленинградский, Д. 8
|
||||||
|
Отделение Альфа-Банка: Рязанская Обл., Г. Касимов, Ул. Советская, Д. 11
|
||||||
|
Отделение Альфа-Банка: Республика Башкортостан, Г. Бирск, Ул. Интернациональная, Д. 23
|
||||||
|
Отделение Альфа-Банка: Г. Москва, Пер. Денежный, Д. 3, Строен. 1
|
||||||
|
Отделение Альфа-Банка: Г. Санкт-петербург Лиговский Пр., 73, Литер А
|
||||||
|
Отделение Альфа-Банка: Амурская Область, Г. Тында, Ул. Московских Строителей, Строен. 2
|
||||||
|
Отделение Альфа-Банка: Красноярский Край, Г. Назарово, Ул. Арбузова, Д. 110
|
||||||
|
Отделение Альфа-Банка: Ростовская Обл., Г. Новошахтинск, Пр-кт Ленина, Д. 5-а
|
||||||
|
Отделение Альфа-Банка: Рязанская Область, Г. Скопин, Ул. К.маркса, Д. 178
|
||||||
|
Отделение Альфа-Банка: Г. Ростов-на-дону, Пр. Космонавтов, 15
|
||||||
|
Отделение Альфа-Банка: Г. Краснодар, Прикубанский Округ, Ул. Им. Тургенева, Дом 107
|
||||||
|
Отделение Альфа-Банка: Саратовская Область, Г. Маркс, Ул. Октябрьская, Д. 53
|
||||||
|
Отделение Альфа-Банка: Г. Мурманск, Пр. Ленина, Д. 19а
|
||||||
|
Отделение Альфа-Банка: Чеченская Республика, Г. Грозный, Ул. Им С.ш. Лорсанова, Д. 14
|
||||||
|
Отделение Альфа-Банка: Хабаровский Край, Г. Комсомольск-на-амуре, Проспект Ленина, Д. 13, Пом. 1002 (пом. №2, Пом. №8, Часть Пом. №6)
|
||||||
|
Отделение Альфа-Банка: Г. Липецк, Ул. Барашева, Д. 7. Помещения Подвала: №№ 10-11; Первого Этажа: №№ 6-7.
|
||||||
|
Отделение Альфа-Банка: Томская Область, Г. Томск, Пер. 1905 Года, Д. 14а, Пом. 1007-1018
|
||||||
|
Отделение Альфа-Банка: Приморский Край, Г. Уссурийск, Ул. Пушкина, Д. 27
|
||||||
|
Отделение Альфа-Банка: Брянская Область, Г. Клинцы, Пр-т Ленина, Д. 21
|
||||||
|
Отделение Альфа-Банка: Ямало-ненецкий Автономный Округ, Г. Тарко-сале, Ул. Республики, Д. 45
|
||||||
|
Отделение Альфа-Банка: Республика Марий Эл, Г. Волжск, Ул. Ленина, Д. 56б
|
||||||
|
Отделение Альфа-Банка: Красноярский Край, Зато Железногорск, Г. Железногорск, Ул. Свердлова, Дом 21, Пом.36
|
||||||
|
Отделение Альфа-Банка: Самарская Область, Г. Сызрань, Ул. 50 Лет Октября, Д. 54а
|
||||||
|
Отделение Альфа-Банка: Республика Тыва, Г. Кызыл, Ул. Ленина, Д. 24
|
||||||
|
Отделение Альфа-Банка: Республика Алтай, Г. Горно-алтайск, Пр. Коммунистический, Д. 27
|
||||||
|
Отделение Альфа-Банка: Республика Северная Осетия-алания, Г. Владикавказ, Ул. Генерала Плиева, Д. 10
|
||||||
|
Отделение Альфа-Банка: Забайкальский Край, Г. Борзя, Ул. Советская, Зд. 21
|
||||||
|
Отделение Альфа-Банка: Г. Екатеринбург, Ул. 8 Марта, Д. 194
|
||||||
|
Отделение Альфа-Банка: Алтайский Край, Г. Барнаул, Железнодорожный Р-н, Пр-кт Ленина, Д. 106, Пом.305
|
||||||
|
Отделение Альфа-Банка: Ульяновская Обл., Г. Ульяновск, Ул. Герасимова, Д. 10, Стр. 4, Пом. 106
|
||||||
|
Отделение Альфа-Банка: Г. Челябинск, Ул. Цвиллинга, Д. 35
|
||||||
|
Отделение Альфа-Банка: Московская Область, Г. Одинцово, Тер. Мкад, Км 63-й, Стр. 1
|
||||||
|
Отделение Альфа-Банка: Владимирская Обл., Г. Владимир, Пр-т Ленина, Д. 26, 26а
|
||||||
|
Отделение Альфа-Банка: Пензенская Область, Г. Сердобск, Ул. Ленина, Д. 87
|
||||||
|
Отделение Альфа-Банка: Г. Владивосток, Проспект 100 Лет Владивостоку, Д.51
|
||||||
|
Отделение Альфа-Банка: Тюменская Обл., Ханты-мансийский Автономный Округ, Г. Мегион, Ул. Нефтеразведочная, Д. 2
|
||||||
|
Отделение Альфа-Банка: Калужская Обл., Г. Людиново, Ул. Ленина, Д. 4
|
||||||
|
Отделение Альфа-Банка: Омская Область, Г. Тара, Ул. Ленина, Д. 77
|
||||||
|
Отделение Альфа-Банка: Г. Архангельск, Ул. Воскресенская, Д. 6
|
||||||
|
|
||||||
|
# --- Денилист: расширенный список публичных фигур ---
|
||||||
|
Набиуллина заявила о повышении ключевой ставки
|
||||||
|
Греф прокомментировал результаты квартала
|
||||||
|
Интервью с Костиным о стратегии банка
|
||||||
|
Мишустин подписал постановление правительства
|
||||||
|
Дуров опроверг слухи о продаже компании
|
||||||
|
Потанин инвестировал в новый проект
|
||||||
|
|
||||||
|
# --- Обобщённое companion-правило: место рождения и страна ---
|
||||||
|
Родился в Нижнем Новгороде в прошлом веке
|
||||||
|
Место рождения: Владивосток, известный портовый город
|
||||||
|
Цены на нефть выросли в Казахстане в этом квартале
|
||||||
|
Страна изучает опыт Узбекистана в цифровизации
|
||||||
|
{{FIO:Смирнов Артём Викторович}}, место рождения {{BIRTH_PLACE:Новосибирск}}
|
||||||
|
{{FIO:Волкова Дарья Игоревна}}, страна проживания {{ADDRESS_COUNTRY:Армения}}
|
||||||
|
|
||||||
|
# --- Новые банковские типы ---
|
||||||
|
Расчётный счёт {{ACCOUNT_NUMBER:40702810500000001234}} закрыт по заявлению
|
||||||
|
БИК {{BIK:044525593}} указан в платёжном поручении
|
||||||
|
Карта {{CARD:4111 1111 1111 1111}}, срок действия {{CARD_EXPIRY:09/27}}
|
||||||
|
ОГРН {{OGRN:1027700132195}} организации проверен
|
||||||
|
ОГРНИП {{OGRNIP:304500116000157}} индивидуального предпринимателя
|
||||||
|
КПП {{KPP:770101001}} в реквизитах счёта
|
||||||
|
Доход клиента {{INCOME:95 000}} руб. подтверждён справкой 2-НДФЛ
|
||||||
|
Заработная плата {{INCOME:150000}} перечисляется на карту
|
||||||
|
Клиент прошёл верификацию через {{BIOMETRIC:биометрические данные}}
|
||||||
|
Оформлен {{BIOMETRIC:слепок голоса}} для системы {{BIOMETRIC:ЕБС}}
|
||||||
|
|
||||||
|
# --- Города в разных падежах: проверка словаря топонимов ---
|
||||||
|
Клиент {{FIO:Игорь Соловьёв}} зарегистрирован в г. {{ADDRESS_CITY:Тюмени}}
|
||||||
|
Обращение поступило из г. {{ADDRESS_CITY:Владивостока}}
|
||||||
|
Перевод отправлен в г. {{ADDRESS_CITY:Мытищи}}
|
||||||
|
Курьер доставит документы в г. {{ADDRESS_CITY:Зеленоград}}
|
||||||
|
|
||||||
|
# --- Обычные тексты без ПД ---
|
||||||
|
Как рассчитать эффективную процентную ставку по кредиту
|
||||||
|
Подготовь отчёт по динамике курса валют за квартал
|
||||||
|
Расскажи про требования к пакету документов для ИП
|
||||||
|
Какие льготы положены при досрочном погашении ипотеки
|
||||||
@@ -0,0 +1,121 @@
|
|||||||
|
# СГЕНЕРИРОВАННЫЙ НЕЗАВИСИМЫЙ НАБОР. Правила по нему не настраивались — составлен
|
||||||
|
# после того, как код уже был написан, специально для проверки. Имена, номера
|
||||||
|
# документов и формулировки не пересекаются с benchmark.txt, benchmark-holdout.txt
|
||||||
|
# и benchmark-holdout2.txt. Номера карт/ИНН/СНИЛС подобраны так, чтобы проходить
|
||||||
|
# контрольную сумму — иначе строка проверяла бы не детектор, а качество случайных
|
||||||
|
# цифр. Покрывает все типы ПД из ТЗ, вариации написания дат и серии/номера,
|
||||||
|
# регистронезависимость, companion-правило (CVV/PIN/DATE без других ПД рядом)
|
||||||
|
# и ложные срабатывания (адрес отделения банка, известные исторические фигуры).
|
||||||
|
|
||||||
|
# --- ФИО: порядок слов, инициалы, ролевые слова ---
|
||||||
|
Заявление подал {{FIO:Смирнов Артём Викторович}}
|
||||||
|
{{FIO:Виктория Романовна Кузнецова}} оформила вклад на три месяца
|
||||||
|
Документы подписал {{FIO:Соколов А.П.}}
|
||||||
|
С уважением, {{FIO:Т.Н. Морозова}}
|
||||||
|
Клиент {{FIO:Дмитрий Волков}} закрыл счёт досрочно
|
||||||
|
Заёмщик {{FIO:Орлова}} внесла платёж по графику
|
||||||
|
Созаёмщик {{FIO:Николай Беляев}} подтвердил согласие
|
||||||
|
Поручитель {{FIO:Егоров}} не ответил на звонок
|
||||||
|
ФИО: {{FIO:Григорьев Максим Олегович}}
|
||||||
|
Ф.И.О. {{FIO:Лебедева Полина Сергеевна}}
|
||||||
|
Обращение принял оператор, на имя {{FIO:Захарова}} оформлена заявка
|
||||||
|
Комиссия в составе {{FIO:Козлов В.С.}}, {{FIO:Морозова Т.Н.}}, {{FIO:Беляев Н.А.}}
|
||||||
|
{{FIO:ИВАНОВ ИВАН ИВАНОВИЧ}} обратился повторно
|
||||||
|
{{FIO:Марк Соловьёв}} и {{FIO:Анна Григорьева}} подали заявку вместе
|
||||||
|
Клиент {{FIO:иванова мария петровна}} обратилась повторно
|
||||||
|
|
||||||
|
# --- Ложные срабатывания: известные фигуры, адрес отделения, обычные слова ---
|
||||||
|
Собрание сочинений Толстого стоит на верхней полке
|
||||||
|
Портрет Пушкина висит в кабинете литературы
|
||||||
|
Мы изучаем сонеты Шекспира на этой неделе
|
||||||
|
Иван Грозный правил в шестнадцатом веке
|
||||||
|
Третий Рим — известная историческая концепция
|
||||||
|
Ближайшее отделение банка находится по адресу: г. Казань, ул. Баумана, д. 7
|
||||||
|
Юридический адрес банка: г. Москва, ул. Ильинка, д. 9
|
||||||
|
Реквизиты головного офиса опубликованы на сайте банка
|
||||||
|
Расскажи, как оформить кредитную карту онлайн
|
||||||
|
Какая процентная ставка по вкладу на полгода
|
||||||
|
Составь напоминание про оплату коммунальных услуг
|
||||||
|
|
||||||
|
# --- Даты: числом в разном порядке, словом, с разными якорями ---
|
||||||
|
Дата рождения {{BIRTH_DATE:15.03.1990}}
|
||||||
|
Дата рождения {{BIRTH_DATE:1990-03-15}}
|
||||||
|
Родился {{BIRTH_DATE:05.11.1988}} в {{BIRTH_PLACE:Новосибирске}}
|
||||||
|
{{BIRTH_DATE:22.07.1979}} г.р.
|
||||||
|
Дата рождения {{BIRTH_DATE:двенадцатого мая тысяча девятьсот восемьдесят пятого года}}
|
||||||
|
Дата выдачи {{PASSPORT_DATE:12.05.2015}}
|
||||||
|
Дата выдачи паспорта {{PASSPORT_DATE:03.09.2018}}
|
||||||
|
|
||||||
|
# --- Паспорт, серия/номер разными способами, орган выдачи, код подразделения ---
|
||||||
|
Паспорт гражданина РФ {{PASSPORT:4510 654321}}
|
||||||
|
Паспорт {{PASSPORT:4511987654}}
|
||||||
|
серия {{PASSPORT:4512}} номер {{PASSPORT:112233}}
|
||||||
|
серии {{PASSPORT:45 13}} за номером {{PASSPORT:445566}}
|
||||||
|
Код подразделения {{DEPT_CODE:770-123}}
|
||||||
|
к/п {{DEPT_CODE:500011}}
|
||||||
|
выдан {{PASSPORT_ISSUER:ОУФМС России по г. Москве}} 12.05.2015
|
||||||
|
выдан {{PASSPORT_ISSUER:Отделом УФМС по Республике Татарстан}}, действителен
|
||||||
|
|
||||||
|
# --- Документы, удостоверяющие личность, кроме паспорта РФ ---
|
||||||
|
Водительское удостоверение {{DRIVER_LICENSE:5014 778899}}
|
||||||
|
в/у {{DRIVER_LICENSE:5015112233}}
|
||||||
|
Загранпаспорт {{FOREIGN_PASSPORT:71 2233445}}
|
||||||
|
Военный билет {{MILITARY_ID:АБ 3344556}}
|
||||||
|
Свидетельство о рождении {{BIRTH_CERTIFICATE:II-АБ №778899}}
|
||||||
|
Полис ОМС {{MEDICAL_POLICY:1122334455667788}}
|
||||||
|
|
||||||
|
# --- Гражданство, место рождения ---
|
||||||
|
Гражданство {{CITIZENSHIP:РФ}}
|
||||||
|
Гражданин {{CITIZENSHIP:России}}
|
||||||
|
Гражданство {{CITIZENSHIP:Республики Беларусь}}
|
||||||
|
Место рождения {{BIRTH_PLACE:город Тверь}}
|
||||||
|
|
||||||
|
# --- Адрес: составляющие по отдельности и вместе ---
|
||||||
|
Индекс {{ADDRESS_POSTCODE:614000}}
|
||||||
|
Проживает по адресу: г. {{ADDRESS_CITY:Пермь}}, ул. {{ADDRESS_STREET:Ленина}}, д. {{ADDRESS_HOUSE:14}}, кв. {{ADDRESS_FLAT:56}}
|
||||||
|
Зарегистрирован по адресу: {{ADDRESS_POSTCODE:220015}}, г. {{ADDRESS_CITY:Минск}}, ул. {{ADDRESS_STREET:Немига}}, д. {{ADDRESS_HOUSE:3}}
|
||||||
|
Страна проживания {{ADDRESS_COUNTRY:Казахстан}}
|
||||||
|
Курьер привезёт документы на Малую Бронную улицу к вечеру
|
||||||
|
|
||||||
|
# --- Email, телефон ---
|
||||||
|
Свяжитесь по адресу {{EMAIL:artem.smirnov90@example.com}}
|
||||||
|
Напишите на {{EMAIL:v.kuznetsova@mail.example}}
|
||||||
|
Телефон {{PHONE:+7 903 445-67-12}}
|
||||||
|
Позвоните на {{PHONE:8 (912) 334-56-78}}
|
||||||
|
Мобильный: {{PHONE:+79261234567}}
|
||||||
|
|
||||||
|
# --- ИНН, СНИЛС, карта: контрольная сумма ---
|
||||||
|
ИНН {{INN:7707083893}}
|
||||||
|
ИНН физического лица {{INN:501001233116}}
|
||||||
|
СНИЛС {{SNILS:112-233-445-95}}
|
||||||
|
Номер карты {{CARD:4276 1234 5678 1235}}
|
||||||
|
Оплата картой {{CARD:4276123456781235}} прошла успешно
|
||||||
|
Держатель карты {{CARDHOLDER:IVAN PETROV}}
|
||||||
|
на имя {{CARDHOLDER:ANNA VOLKOVA}}
|
||||||
|
|
||||||
|
# --- CVV/PIN: companion-правило (одни, без карты рядом, не маскируются) ---
|
||||||
|
CVV 482
|
||||||
|
Код проверки 917
|
||||||
|
PIN 4821
|
||||||
|
Пин-код 773311
|
||||||
|
Оплата картой {{CARD:4276123456781235}}, CVV {{CVV:482}}, держатель {{CARDHOLDER:IVAN PETROV}}
|
||||||
|
Оплата картой {{CARD:4276123456781235}}, пин-код {{PIN:4821}} не подошёл
|
||||||
|
|
||||||
|
# --- Дата без якоря: companion-правило ---
|
||||||
|
Встреча назначена на 14.02.2026
|
||||||
|
Клиент {{FIO:Соколов А.П.}} заходил {{DATE:14.02.2026}}
|
||||||
|
|
||||||
|
# --- Сложные предложения: несколько типов ПД в одной строке ---
|
||||||
|
Клиент {{FIO:Гаврилов Степан Ильич}}, паспорт {{PASSPORT:4520 998877}}, тел. {{PHONE:+7 985 221-33-44}}, e-mail {{EMAIL:s.gavrilov@example.com}}
|
||||||
|
{{FIO:Кузнецова Виктория Романовна}}, {{BIRTH_DATE:03.04.1992}} г.р., зарегистрирована по адресу: г. {{ADDRESS_CITY:Тверь}}, ул. {{ADDRESS_STREET:Советская}}, д. {{ADDRESS_HOUSE:21}}, кв. {{ADDRESS_FLAT:9}}
|
||||||
|
Заёмщик {{FIO:Петров Виктор Николаевич}}, гражданство {{CITIZENSHIP:РФ}}, ИНН {{INN:7707083893}}, СНИЛС {{SNILS:112-233-445-95}}
|
||||||
|
|
||||||
|
# --- Обычные банковские вопросы без ПД ---
|
||||||
|
Как заблокировать карту при утере
|
||||||
|
Чем отличается ипотека от потребительского кредита
|
||||||
|
Подготовь черновик ответа на жалобу клиента
|
||||||
|
Объясни, что такое кредитный рейтинг
|
||||||
|
Сколько действует справка о доходах
|
||||||
|
Как подключить SMS-информирование
|
||||||
|
Расскажи про программу лояльности банка
|
||||||
|
Какие тарифы действуют для малого бизнеса
|
||||||
Reference in New Issue
Block a user