Виктор Алеветдинов
Приказ с мёртвой частоты. Книга 3. Войны мёртвых частот

Часть I. Острова без карты

Глава 1. Лодка идёт обратно

3 сентября 2060 года, 05:40–07:15

Автономная лодка вышла из строя конвоя, когда до первого бакена оставалось меньше двухсот метров. Я заметил это не по карте. На схеме её метка ещё шла вместе с остальными, а в воде корпус уже начал разворачиваться кормой к нам.

— Третья грузовая уходит вправо, — сказал я в канал маршрутной группы. — Оператор, подтвердить управление.

Ответ пришёл через секунду. Оператор проверил канал и сообщил, что управление штатное, маршрут загружен, ошибок система не видит. Лодка продолжала разворот.

На ней везли батарейные кассеты для Крайнего. Людей на борту не было, но без этого груза зарядный пункт быстро урезал бы питание роя.

Я поднял бинокль. Между двумя бакенами тянулся фарватер. С правого бакена почти сошла зелёная краска, верхнюю секцию перекосило. Лодка шла именно к нему. И только тогда я понял, где уже видел этот разворот: старая запись из Линского коридора. Катер снабжения перед восточной развязкой так же вышел на середину прохода и взял вправо. Через несколько минут его нашли перевёрнутым у бетонного откоса. Я опустил бинокль и сказал Павлу, что лодка повторяет старую траекторию. Он стоял у левого борта нашей транспортной лодки, рядом с закреплённой кабельной катушкой. После короткого уточнения я назвал Линский коридор и тот катер перед развязкой. В самом движении я был уверен, причины не знал.

Майор Асланов был на головной лодке. Я переключился на его закрытый канал.

— Товарищ майор, третья батарейная повторяет маршрут погибшего катера из старой записи. Прошу снять автономию и вернуть её вручную.

Асланов спросил, есть ли основание кроме моей памяти. Его не было. Текущая маршрутная карта показывала чистый проход, течение оставалось слабым, и объяснить старый манёвр я не мог. Майор разрешил один контрольный запрос без остановки конвоя.

Я уже открыл панель ручного перехвата, когда в гарнитуре появился посторонний шум. Не треск помех и не обычный провал несущей. Канал М-17 до этого стоял на пассивном прослушивании, и его дорожка была пустой. На индикаторе всплыл старый позывной — Кулешов. Голос пришёл коротко, с провалом посередине:

— Не к зелёному.

Я не ответил и посмотрел на правый бакен. Роман Кулешов погиб у Восточной развязки семнадцать месяцев назад. Я помнил его фамилию, руки в машинном масле и заклинившую турель. Голос помнил хуже. Система могла собрать его из записей.

Вера сидела у изолированного терминала в средней части лодки. Я сообщил ей про М-17, позывной Кулешова и фразу «не к зелёному». Павел выругался вполголоса. Вера сохранила исходный пакет и запретила повторять фразу в общем канале. При подмене повтор покажет, что сообщение принято; при Отголоске наша запись помешает сверке. После этого я снова вызвал Асланова.

— Есть дополнительное основание. М-17 дал старый позывной и предупреждение по правому бакену. Источник не подтверждаю. Прошу ручной разворот.

— Ты сейчас предлагаешь менять курс из-за голоса погибшего?

— Нет. Предлагаю проверить опасный участок, потому что лодка ушла с текущего маршрута и повторила старый. Голос только совпал с направлением.

Асланов ответил не сразу. Правый бакен качнулся. От его основания в фарватер тянулась тёмная линия.

— Одна проверка, — сказал майор. — Седов, два ведомых. Без активного радара. Визуально.

Кирилл с соседней лодки подтвердил команду и поднял пару ведомых. Два малых аппарата снялись с кормовой площадки. Кирилл вёл их низко: спутниковая привязка под помехами почти не работала, автоматика шла по инерциальному счёту и береговым меткам. Один ведомый пошёл над протокой, второй сместился к бакену.

На первой камере появились старая свая и край отражателя. Изображение со второго аппарата рассыпалось и пропало.

Кирилл потерял изображение со второго ведомого из-за помех справа. По команде Асланова первый аппарат снизился к основанию бакена. Под водой показалась натянутая поперёк фарватера линия, на старом металле белел свежий крепёж. Кирилл подтвердил новую растяжку.

— Конвой, лево пятнадцать, — приказал Асланов. — Интервал сохранить. Третью батарейную забрать вручную.

Я включил перехват. На панели появился запрос доступа, затем красная полоса: автономия не отдавала привод с первого пакета.

Ручное управление не принялось с первого раза. Я повторил команду через резервный ближний канал. Лодка дёрнула рулевым приводом, но продолжила идти к бакену. Вера увидела старый контур приоритета: текущая команда стояла ниже загруженной задачи, содержание которой терминал пока не показывал.

Первая лодка конвоя уже брала влево. За ней пошла вторая. Наша транспортная накренилась на повороте, кабельная катушка упёрлась в крепление и коротко стукнула о раму. Грузовая с батареями осталась справа.

— Денис, снимай её через аварийный стоп, — приказал Асланов.

Я открыл сервисную панель. После аварийного стопа лодку снесло бы на растяжку.

Я предупредил, что аварийный стоп опоздал: течение потянет лодку к бакену. Предложил дать заднюю тягу и довернуть влево через локальный блок. Павел достал направленный передатчик и на две секунды поднял мощность. Дольше нельзя было: второй ведомый и без того пропал в помехах.

Он включил передатчик. Я отправил короткую команду напрямую. Грузовая замедлила ход, винты взбили воду, корпус начал уходить кормой от бакена. На мгновение показалось, что успели, но из помех пришёл голос Кирилла:

— Первый видит ещё одну линию. Она ниже. Под лодкой.

— Всем влево! — сказал Асланов.

Грузовую рвануло в сторону. Я успел увидеть, как её нос прошёл мимо бакена, а затем вода под кормой поднялась белым столбом.

Взрыв был глухим. Нашу лодку качнуло, сверху посыпались капли и мелкая грязь. На экране грузовая метка погасла. Через секунду появилась снова, но уже как аварийная.

Кирилл доложил Асланову, что корпус на плаву, корма повреждена, питание осталось. Грузовая сидела ниже, но не тонула. Две кассеты сорвало с креплений. Одну было видно в воде, вторая исчезла.

— Батарейную не возвращать, — приказал Асланов. — Ставим пустую платформу на её курс. Проверим остальную линию.

Пустую грузовую вывели из хвоста конвоя и отправили между бакенами. Кирилл оставил ведомый над проходом; второй в сеть не вернулся.

Платформа дошла до места, где грузовая начала разворот. Ничего не произошло. Потом её повело вправо тем же движением. У меня сжались пальцы на краю панели.

— Опять.

— Вижу, — сказал Павел.

Платформа шла к зелёному бакену, хотя ей загрузили новый левый коридор. На этот раз оператор не пытался вернуть её. Все ждали.

Мина сработала ближе к борту. Пустой корпус подбросило, перевернуло и отбросило к старой свае. Из воды вылетела часть настила.

После взрыва канал заполнили команды. Кирилл искал пропавший ведомый. М-17 молчал.

Павел сел рядом на край ящика и заметил, что теперь у предупреждения есть материальное подтверждение. Я поправил: у нас есть мина и совпавшая с ней фраза, а это не одно и то же. Он согласился, но попросил запомнить именно эту разницу.

После Эльмара мы почти год не работали вместе. Павел получил свою группу связи и охраны, я — отстранение и комиссии. Мне долго объясняли границу между приказом и личным решением. Павел помнил, чем закончилась моя прежняя уверенность. Вера подняла голову от терминала и зафиксировала время, несущую, позывной и положение лодки до сообщения и после него. Видео с растяжкой ушло в ту же белую запись без трактовки. На мой вопрос о сходстве голоса с Романом она отвечать не стала: профиль требовал сверки, а не слуха. Павел назвал это хорошим началом операции и заметил, что мы не дошли до берега, а погибший уже поправил навигацию.

— Погибший ничего не поправлял, — сказала Вера. — Голос использовала система. Поле могло повторить запись. Пакет мог подать живой оператор. Нам нужно разделить эти варианты.

— Для мины разницы не было.

— Для следующего решения будет.

Я смотрел на правый бакен. В старой кадирской разметке зелёный обозначал безопасную сторону прохода. На новой карте были только номера. Фраза содержала старое обозначение, но не знание о будущем.

Конвой пошёл дальше левее. Повреждённую батарейную взяли на короткий буксир. Две кассеты остались на борту, одну удалось поднять сеткой с воды. Четвёртая пропала после взрыва. На Крайний мы везли меньше энергии, чем планировали, и это было первым точным итогом утра.

К причалу подошли в 06:48. На бетонной стенке стояли новые зарядные стойки, за ними — старые склады под провисшей маскировочной сеткой.

Последние метры лодка прошла сама. Дальше груз принимали люди.

Мы пришвартовали батарейную отдельно. Техник полез в сервисный отсек, Павел снял крышку с локального блока, я подключил переносной считыватель.

Повреждённую грузовую поставили у крайней тумбы, чтобы она не мешала остальным. Из кормового отсека вычерпали воду, питание отсекли от мокрого привода. Одна поднятая кассета отвечала на диагностику, но её оставили на карантине: после контакта с солёной водой подключать такой блок к общей шине никто не рискнул. Потерянную кассету искать до разминирования протоки запретили.

Павел попросил искать команду разворота после 05:43. В журнале сначала шёл штатный маршрут. После сверки по береговой метке появились два отклонения. Команды на поворот вправо не было, решение автономии журнал тоже не показывал. Вера присела рядом и подключила свой изолированный накопитель.

— Покажи идентификатор задачи.

Я открыл нижнюю строку. Среди цифр и букв появилась метка, которую я встречал в Эльмаре. Тогда Вера вынесла её из повреждённого пакета «Орбиты» в белую запись. В хвосте идентификатора стояло KADIR. Я увеличил строку, и Вера сверила метку со своим накопителем. Корневая часть совпала. Павел спросил, откуда кадирский архив взялся в лодке снабжения. За нашей спиной подошёл Асланов и потребовал показать находку. Вера развернула считыватель к нему.

— В журнале нет команды на разворот. Есть обращение к старому идентификатору архива. Он связан с пакетом, который мы получили после Эльмара.

— Связан как?

— Пока только по метке. Причину не называю.

Асланов перевёл взгляд на меня. Он ждал ответа, не торопя.

— Ты маршрут помнишь?

— До К-7 — по старым картам. Дальше без местного кабельного журнала не поведу.

— Мне не нужен человек, который будет угадывать.

— Я и не собираюсь.

— После сегодняшнего это звучит удобно.

Я снял считыватель с лодки и закрыл сервисную крышку. Защёлка встала на место со второго раза.

— Я потребовал проверку до голоса. После голоса потребовал ту же проверку. Мина была в воде, не в гарнитуре.

Майор несколько секунд молчал, глядя на повреждённую корму. Потом вернулся к служебной части разговора.

— В Дирекции тебя рекомендовали как полевого валидатора с правом Красного отказа. Ограниченным. Я согласился потому, что ты уже видел, как «Свод» ошибается и как бывает прав.

— Он не бывает прав сам по себе.

— Тем лучше. Ведёшь маршрутную группу до кабельного узла. Любая рекомендация «Свода» проходит через тебя и второго проверяющего. Если времени нет, решение остаётся за командиром участка. Понятно?

— Понятно.

— Есть условия?

Павел посмотрел на меня, но не вмешался. Это условие я должен был назвать сам.

— Есть. Я вижу исходные данные по каждому маршруту, который должен подтвердить. Если система предлагает изменение по М-17, сначала ищем материальную причину. Голос не считается приказом.

Асланов нахмурился. Вопрос был не в формулировке, а в том, запишут ли её.

— Это и так правило.

— Тогда запишите его в допуск.

— Ещё?

— Красный отказ фиксируется без блокировки следующего действия. Если я отказал, система не должна заставлять меня проходить лишние окна, пока люди ждут.

— Это уже не ко мне. Но в заявку внесу.

— И исходные пакеты М-17 сохраняются до обсуждения. Без очистки, — добавила Вера, закрывая накопитель.

— Вы двое давно работаете вместе? — спросил Асланов.

— Достаточно, чтобы не верить красивому совпадению, — сказала Вера.

— Тогда начните с некрасивого, — сказал майор, кивнув на повреждённую лодку. — Через два часа мне нужен бакен номер девять и его кабельный журнал. Хочу знать, почему две автономные платформы решили повторить маршрут, которого нет в текущей карте.

Асланов ушёл к разгрузке, а Павел помог техникам снять уцелевшую батарейную кассету с погнутого крепления. Кассета села на тележку только с третьей попытки.

— Возвращение удалось, — сказал он.

— Я ещё никуда не вернулся.

— Форма на тебе. Приказ получил. Опять объясняешь начальству, как надо писать допуск. Для первого часа достаточно.

Я не ответил. На причале люди вытаскивали мокрые кассеты из повреждённой лодки. За ними в протоке буксир тащил перевёрнутую пустую платформу. На её борту мигала аварийная метка, и рядом с ней через раз вспыхивал старый кадирский идентификатор.

Семнадцать месяцев назад я был уверен, что личное решение опаснее приказа. Потом решил обратное и потерял звание. Теперь мне снова дали право остановить систему, если я увижу ошибку.

Я посмотрел на запись KADIR и убрал считыватель в чехол. До бакена номер девять нужно было дойти по воде, где карты менялись быстрее приказов. На этот раз я собирался проверять каждую рекомендацию сам, пока у меня оставалось право сказать «нет».

Глава 2. Бакен номер девять

3 сентября 2060 года, 09:20–12:10

Наземник остановился в двадцати метрах от разрыва дамбы, провернул левую гусеницу и сел брюхом в воду. Оператор дал задний ход. Машина дёрнулась, выбросила из-под кормы грязь и провалилась ещё глубже.

— Стоп привод, — сказал я. — Ещё раз дашь тягу, потом будем вытаскивать гусеницу отдельно.

Оператор убрал руки с панели.

До бакена номер девять оставалось меньше ста метров. С лодки расстояние выглядело смешным, но подойти ближе мы не могли. Старые сваи лежали поперёк протоки. Несколько торчали над водой, остальные скрывались под мутной поверхностью. После утренней мины никто не собирался проверять глубину корпусом.

Свайная площадка бакена стояла дальше по дамбе. От нас к ней шёл узкий настил. Первые сорок метров ещё были над водой, потом доски исчезали под приливом и появлялись снова возле железной опоры.

Я сверился с часами. 09:23.

— Павел, кабель отсюда.

— До площадки не хватит.

— Хватит до поворота. Там поставишь повторитель.

Павел оглядел затопленный участок.

— Повторитель надо туда принести.

— Поэтому ты не остаёшься на лодке.

— Прекрасно. Я надеялся сегодня работать головой.

— Кабель легче головы.

— Это ты давно кабель не носил.

Кирилл сидел у пульта роя под навесом лодочной платформы. После утра у него оставалось три исправных разведчика. Один ведомый потеряли у зелёного бакена, и Кирилл до сих пор пытался получить от него аварийный отклик.

— Поднимай Сороку, — сказал я. — Сначала площадка, потом камыш справа. Ниже пяти метров не опускайся.

— Там ветер от воды.

— Поэтому и не опускай.

— Понял.

Малый разведчик ушёл с площадки почти без разбега. На экране появилась дамба сверху. Под мутной водой угадывались плиты, смещённые течением. На одной лежал принесённый приливом пластиковый ящик.

Со мной пошли два сапёра. Старший взял щуп, второй нёс катушку страховочного шнура. Мы сошли с лодки на край дамбы.

Наземник мешал проходу. Его переднюю часть почти скрыло водой.

— Что с ним? — спросил Павел.

Оператор проверил тяговый блок.

— Правая гусеница работает. Левая не разгружается.

Я присел возле корпуса. Под машиной вода шла в сторону протоки и вымывала грязь из-под плиты. Наземник сел не из-за поломки. Край дамбы под ним осел.

— Не вытаскивать, пока не разгрузим, — сказал я. — Ящик с кабелем снимайте вручную.

Оператор посмотрел на бакен.

— Тогда зачем мы его везли?

— Чтобы он довёз ящик сюда.

Последний метр всегда начинался раньше, чем обещала схема. Машина могла пройти восемь километров без человека, выбрать объезд и переждать помехи. Потом попадалась одна выбитая плита, и четверо людей лезли в воду с ремнями.

Мы сняли с наземника инструментальный контейнер и перенесли его на настил. Павел потянул кабель следом. Лодка осталась за дамбой, где мобильная огневая группа могла прикрыть протоку.

Сорока Кирилла дошла до бакена.

— Площадка пустая, — сообщил он. — Корпус цел. Верхняя антенна работает.

— Камыш.

Изображение сместилось вправо.

Камыш стоял стеной метрах в шестидесяти от свай. Ветер шёл с открытой воды, но стебли в глубине зарослей почти не двигались.

— Есть что-нибудь?

— Тепло от воды мешает. Больших целей не вижу.

— Отметь и уходи выше.

Старший сапёр проверил первую плиту щупом. Потом вторую.

— Можно.

Мы пошли к площадке.

Под водой настил оказался хуже, чем виделся с лодки. Доски двигались под ногами. На одном участке крепление вырвало из сваи, и настил просел почти на полметра. Пришлось переходить по боковой балке.

Павел остановился перед водой.

— Денис.

— Что?

Он показал на кабельную катушку.

— Если я её туда уроню, Вера меня убьёт.

— Сначала достанет кабель.

— Вот поэтому и убьёт.

Мы перетащили катушку через провал. Второй сапёр закрепил временный конец на свае, и Павел смог пустить линию дальше без натяжения.

Бакен номер девять оказался старше, чем я ожидал. Нижнюю часть корпуса несколько раз латали. Новые пластины стояли поверх старого металла, а маркировка почти стёрлась. Аварийный индикатор мигал раз в пять секунд.

Я приложил ладонь к крышке сервисного отсека. Вибрация была слабой.

— Питание есть.

Сапёр проверил края крышки.

— Растяжек не вижу.

— Не открывай.

Он отступил.

Я подключил внешний считыватель к контрольному разъёму. Бакен ответил после второй попытки. На экране появился уровень заряда аварийной батареи — восемнадцать процентов.

— До вечера не доживёт, — сказал Павел.

— Нам до вечера и не нужно.

— К-7 без него маршрут не увидит.

— Сначала посмотрим, что он передаёт сейчас.

Я запросил карту фарватера.

Первая пришла с отметкой 09:31. Через несколько секунд бакен выдал вторую. Время на ней стояло 09:38.

Павел сверился с часами.

— Сейчас девять тридцать четыре.

— Вижу.

— Тогда откуда у него карта через четыре минуты?

Я открыл метаданные. Карта была создана раньше, но внутренняя синхронизация бакена сдвинула отметку времени. Разница между двумя версиями составляла семь минут.

К нам подключилась Вера с Крайнего.

— Денис, вижу оба пакета. «Свод» принимает второй как актуальный.

На моём экране появилась рекомендованная линия. Она проходила ближе к правой стороне фарватера и огибала подводную отмель.

— Основание?

— Более поздняя отметка. Вторая карта учитывает рост воды.

Я посмотрел на сваю рядом с площадкой. На ней сохранилась шкала. Вода доходила чуть выше старой красной насечки.

По свежей карте уровень должен был быть выше почти на двадцать сантиметров.

— Не учитывает.

— Что именно?

— Прилив. У меня на свае другая отметка.

Вера попросила показать шкалу камерой. Я повернул нагрудную камеру к свае.

— Вижу, — сказала она. — Дай крупнее.

Я вытер грязь с металла перчаткой. Граница воды была заметна хорошо.

— По второй карте здесь должно быть плюс девятнадцать сантиметров, — сказала Вера. — По первой расхождение два.

Павел присел рядом.

— Значит, первая свежее второй?

— По состоянию воды — да.

— А по времени наоборот.

— Поэтому время пока ничего не доказывает.

Я отключил автоматический выбор маршрута.

В гарнитуре щёлкнул Асланов.

— Круглов, причина задержки?

— Бакен передаёт две карты. «Свод» выбрал неверную по метке времени. Фактический уровень воды соответствует первой.

— Риск?

— Вторая уводит лодки ближе к правому краю. После утра я туда конвой не поведу.

— Сколько нужно?

— Десять минут.

— У тебя семь.

Связь оборвалась.

Павел хмыкнул.

— Хорошее число.

— Почему?

— Между картами тоже семь минут.

— Лучше кабель проверь.

Он пошёл к повторителю.

Я открыл нижний журнал бакена. Часть строк не читалась. В 08:11 была перезагрузка. В 08:17 — обращение к кабельному интерфейсу. Потом шёл провал почти на час.

Сорока прошла над камышом ещё раз. Движения не было. За площадкой Кирилл нашёл остаток кабеля: от основания бакена линия уходила под водой к дальней свае, а затем поворачивала на восток, хотя старая схема вела почти на север.

Павел подтвердил, что бакен отвечает только через аварийный контур. Я попросил проверить нижний ввод, и он перебрался к площадке.

В этот момент в М-17 появился шум. Сначала пришёл позывной Якубова, затем короткая фраза: «Нижний паз». Я не ответил.

Марат Якубов погиб в Линском коридоре. Он обслуживал кабельные узлы и мог знать устройство ретрансляторов первой серии. Вера подтвердила: в актуальном описании нижнего паза не было, в старых корпусах — был.

Мы очистили нижний пояс бакена от ила. Под краской нашлась узкая крышка с утопленной защёлкой. Сапёр помог провернуть её инструментом.

Внутри стояла герметичная кассета. Вера зафиксировала серийный номер по камере и велела вынимать её без подключения. Пломбу меняли, но дату по маркировке определить было нельзя.

Кирилл резко перебил:

— Воздух. Справа два.

Сорока развернулась над камышом. Из зарослей вышли два аппарата. Они шли низко, почти над водой. Радиообмена от них не было.

— Глухари, — сказал Кирилл. — Маршрут автономный. Первый идёт к бакену.

Я отпустил кассету и лёг за край площадки.

— Кирилл, работай сам. Я бакеном занят.

— Ловец поднимаю.

Малый перехватчик стартовал с лодки. Его метка пошла навстречу первому Глухарю.

Второй аппарат повернул к нашей платформе.

Павел прижал кабель к металлу.

— Если перебьют линию, повторитель потеряем.

— Снимай его.

— Тогда связь с вами уйдёт.

— Голосом докричишь.

Мобильная огневая группа на лодочной платформе развернула оружие вправо. Первый выстрел прошёл выше цели. Второй Глухарь снизился к воде.

Ловец Кирилла вошёл на первого сверху. На экране две отметки сошлись. Перехватчик выбросил сеть, зацепил винты Глухаря, и оба аппарата упали в воду рядом с дальней сваей.

— Один снят, ловец потерян, — сказал Кирилл.

Второй шёл к лодке.

Расчёт мобильной группы дал короткую очередь и замолчал: вода попала на открытую часть подачи, лента застряла у приёмника. Глухарь был уже меньше чем в ста метрах.

— Уходите с позиции. Он ваш сектор видит.

Водитель спрятал платформу за бетонную сваю. Стрелок вырезал повреждённое звено, вернул ленту и снова открыл огонь. Первая очередь ушла в воду, вторая попала в двигатель. Аппарат развернуло и бросило в воду за лодкой.

Кирилл проверил камыш Сорокой. Новых целей он не видел, но дальше зарослей камера не доставала. Кабель и повторитель уцелели.

У дальней сваи плавали обломки ловца и первого Глухаря. Запас перехватчиков уменьшился ещё на один.

— Заканчиваем.

Я вытащил кассету из нижнего паза.

Она оказалась тяжёлой. На корпусе сохранилась старая маркировка кабельной службы. В одном углу стояла свежая царапина. Не ржавчина — металл блестел.

— Её недавно снимали, — сказал Павел.

— Или ставили.

Кассету подключили через изолированный считыватель. Последняя штатная запись была трёхлетней давности; ниже стояло аварийное чтение в 08:19 — за час до выхода группы.

Вера установила, что кассету читали удалённо через старую жилу; адрес был обрезан. Следующий раздел содержал кабельную карту до К-7.

На карте оказалось две редакции. Первая совпадала с физическим кабелем под водой. Во второй линия была сдвинута восточнее — к участку, откуда вышли Глухари. Та же поздняя версия неверно показывала уровень воды.

— Связь между правкой карты и чтением в 08:19 надо доказать, — сказала Вера.

Я согласился. Мы знали только три вещи: поздняя карта расходилась с приливом, кассету читали утром, а два аппарата противника появились почти сразу после подключения. Голос Марата в эту цепь я не включал: он указал на устройство, которое мог знать при жизни.

До К-7 карта оставалась неполной. Последний участок без физического подтверждения мы использовать не собирались.

Асланов вышел на связь в 11:36.

— Круглов, доклад.

Я сообщил, что бакен передавал две версии карты, а более поздняя не совпала с фактическим приливом. В нижнем пазу нашли резервную кассету со старой схемой К-7 и удалённым чтением в 08:19. Во время работы по группе вышли два Глухаря. Оба уничтожены, один ловец потерян.

— Люди?

— Без потерь.

— Бакен?

— Работает на аварийной батарее. Заряда осталось пятнадцать процентов.

— Карта годится?

— Частично. До К-7 есть линия, перед узлом разрыв данных.

— Может быть ловушкой?

— Может. Поэтому предлагаю сравнить её на самом К-7 с физическим журналом.

Асланов помолчал.

— Ты опять предлагаешь идти туда, чтобы проверить карту, которая ведёт туда.

— Нет. До К-7 есть подтверждённый участок кабеля. Мы видим его здесь и можем проверять по точкам. Последний участок без подтверждения использовать не будем.

— Принято. Возвращайтесь. В пятнадцать ноль-ноль будете на К-7.

Связь закрылась.

Павел начал сматывать временную линию.

— Кажется, тебе нравится слово «проверять».

— Оно дешевле похорон.

— Иногда проверка тоже стоит людей.

Он кивнул на воду, где исчез ловец Кирилла.

Я ничего не ответил.

Мы заменили аварийную батарею бакена на малый блок из инструментального контейнера. Полного заряда он не давал, но связь должна была продержаться до следующего утра. Наземник так и сидел в дамбе. К нему пришлось возвращаться всем.

Кирилл посадил Сороку на лодочную платформу.

— Осталось два ловца, — сказал он.

— Одного потеряли на цели.

— Мне от этого легче?

— Нет.

— Хорошо. А то я думал, военная математика опять изменилась.

Мы разгрузили наземник окончательно. Четверо подняли нос ремнями, оператор дал короткий задний ход, и правая гусеница выбралась на плиту. Левая вышла после второй попытки. На ведущем колесе застрял кусок старой арматуры.

Павел показал на него.

— Вот и весь автономный подвоз.

— Нет. Он довёз груз почти до бакена.

— А потом шесть человек вытаскивали его из грязи.

— Это и называется Последний метр.

— Здесь их было метров восемьдесят.

К полудню мы вернулись к лодке.

Кассета лежала в герметичном пакете у моих ног. Через прозрачную стенку был виден ржавый край корпуса и новая царапина возле разъёма. Рядом на экране оставалась фотография сваи с настоящей отметкой прилива.

Голос Марата привёл нас к старому пазу, который он мог знать при жизни. Глухари пришли по текущему маршруту, который он знать не мог. Между этими вещами проходила граница, и пока она была видна.

Я сохранил обе карты отдельно и запретил «Своду» объединять их до сверки на К-7. В пятнадцать часов нам предстояло войти в кабельную станцию и выяснить, где заканчивается старая ошибка и начинается работа живого противника.

Глава 3. Старый кабель

3 сентября 2060 года, 15:00–18:30

Дизельный модуль на К-7 сбросил обороты, когда мы занесли внутрь кассету с бакена номер девять. Свет под потолком погас и вернулся на половинной мощности. Из машинного отсека послышался удар клапана, техник у двери сразу полез к панели.

— Это у вас часто? — спросил Павел.

— Сегодня третий раз. Если нагрузку не снимем, к ночи повторится.

Кабельная станция стояла у северного берега Крайнего. Снаружи — низкий бетонный блок у дамбы, внутри почти всё пространство занимали шкафы связи и кабельные вводы, уходившие под пол. Работал один дизель. Второй стоял с открытой крышкой, без пускового преобразователя.

Я поставил герметичный пакет с кассетой на стол. Вера ждала у изолированного терминала и сразу посмотрела на индикатор питания.

— При новом провале ничего не подключаем.

— На бакене работали от отдельной батареи.

— Здесь вся станция сидит на одном генераторе.

Техник вернулся с планшетом. Второй модуль без нового преобразователя не запускался, а запасного на Крайнем не было. Такой же блок оставался в затопленном М-4, если оборудование уцелело.

— Сколько выдержит первый? — спросил я.

— При ограниченной нагрузке сутки. Может, двое. Боевой трафик поднимем — меньше.

Через К-7 шла защищённая связь и управление автономным подвозом. Отключить старый кабель, чтобы разгрузить генератор, означало оставить внутренние группы на коротких локальных каналах.

Павел постучал пальцем по крышке мёртвого модуля.

— Чтобы починить станцию, сначала надо добраться до затопленного архива.

— До детали, — поправил техник.

— Путь от этого не короче.

В дальнем конце зала открылась дверь. Женщина в серой рабочей куртке проверила силовую панель и потребовала отключить архивный порт до регистрации доступа. Вера объяснила, что порт открыт только на чтение, но Марьям это не устроило. Станция жила на одном генераторе, а любой незаписанный доступ потом становился спором о том, кто и что менял.

Женщину звали Марьям Сафина, инженер станции. Она положила на стол бумажный журнал «К-7. Доступ к Старому кабелю» и показала механический ключ.

Я объяснил, что на девятом нашли старую карту до К-7 и след утреннего удалённого чтения. Марьям согласилась на сравнение только после письменного допуска. Устного разрешения Асланова для неё было недостаточно.

Павел спросил, стоит ли из-за записи тормозить работу узла. Марьям напомнила прошлую операцию: военные забрали журналы, а затем из итоговой ведомости исчезли жители, которые числились в местных списках. С тех пор фамилия каждого, кто открывал Старый кабель, оставалась на бумаге.

Сколько людей исчезло, она не знала. Часть документов лежала в М-4, часть увезли военные. В местных списках до операции были семьи с нижних островов, а после появилась только общая строка об эвакуации. Вера уточнила, подтверждён ли сам вывоз. Марьям ответила, что при подтверждённой эвакуации отдельный журнал ей бы не понадобился.

Я записал фамилию, подразделение, цель доступа и звание. Павел расписался следом, Вера отдельно указала изолированное подключение. Марьям отметила время и только после этого достала ключ.

Основной шкаф Старого кабеля стоял за металлической решёткой. Рядом с механическим замком установили новый считыватель пропусков, но питание к нему так и не подвели.

— Тогда зачем поставили? — спросил Павел.

— Чтобы в отчёте был электронный контроль.

Ключ вошёл в старый замок, решётка открылась. За ней стояли кабельные панели с ручными переключателями. На одной секции сквозь серую краску проступали обозначения времён, когда нынешние блоки работали в общей сети. Я отдельно сверил бумажную схему с фактическими вводами под полом. Два кабеля совпали с картой кассеты, третий уходил к старому колодцу и был помечен только на схеме Марьям. Так мы получили не новый маршрут, а три физические точки, по которым его можно было проверять в немом режиме. Техник подписал каждую линию мелом на панели, чтобы следующая смена не перепутала архивную жилу с действующей связью. Перед закрытием шкафа Марьям проверила механический счётчик доступа. Он не изменился во время чтения, а Вера записала номер секции и состояние пломбы. Эти данные вошли в тот же пакет, что и копия карты.

Вера подключила кассету с бакена к отдельному считывателю. Марьям принесла бумажную схему.

— Линия от девятого шла через К-7 к насосной косе. После разделения часть жил перекинули.

Я сравнил бумагу с картой кассеты.

— Восточного отклонения нет.

— Его здесь и не было.

— А разрыв перед К-7?

Марьям показала ремонтный колодец. Его затопило три года назад, поэтому цифровой архив отмечал обрыв, хотя физическая жила осталась.

— Работает?

— Проверим через К-7.

Вера подняла глаза от терминала.

— Есть совпадение идентификатора.

На экране стояла длинная строка. Начало я узнал по утренней записи на грузовой лодке. Внутри шёл блок ORBITA, дальше — кадирская метка и несколько знаков, закрытых серым полем.

— Из Эльмара? — спросил я.

— Корневая часть совпадает с белой записью. Нужен исходник станции.

Марьям достала старый накопитель.

— Только чтение.

— Только чтение, — подтвердила Вера.

Марьям развернула вторую схему, старше той, что лежала в кассете. На ней не было нынешней границы зон. Одна кабельная магистраль связывала внешний рейд с К-7 и уходила дальше к М-4 под единым номером.

— Это до разделения? — спросил я.

— Да. Потом названия сменили, шкафы перекрасили, а медь и оптика остались в земле. Кабелю всё равно, чей флаг висит наверху.

— Значит, архив мог обслуживать обе стороны ещё до войны.

— Архив обслуживал сеть. Стороны появились позже.

Вера сфотографировала старую маркировку на панели. Я заметил рядом след от новой отвёртки: один из винтов был светлее остальных. Марьям тоже его увидела и попросила не трогать крышку до фиксации.

— Этот шкаф открывали? — спросил я.

— Я — нет.

— Другие инженеры?

— Последняя запись три недели назад. Замена предохранителя, верхний отсек. Нижний не открывали.

Павел присел перед панелью, не касаясь металла.

— Тогда у нас опять свежий след рядом со старым железом.

— Поэтому и нужен журнал, — сказала Марьям.

Я посмотрел на бумажную схему. После бакена мне хотелось свести всё к одной понятной причине: противник получил доступ к старой сети и правил маршруты. Но голос Марата в эту схему не помещался полностью. Он указал место, которое мог знать при жизни, а свежая правка появилась независимо от него. Пока эти вещи приходилось разделять, иначе удобное объяснение быстро становилось новым приказом.

Пока Вера собирала схему подключения, в зал вошёл Асланов. Мокрую куртку он оставил у двери и первым делом спросил, почему станция не дала прямой канал на внутренние острова.

— Один рабочий дизель и повреждённая жила, — ответила Марьям. — Поднимете весь трафик — получите связь до перегрузки.

Техник подтвердил, что второй модуль не запустится без детали из М-4.

Асланов подошёл к карте островов.

— Все сюда.

Кирилл вернул Сороку на зарядку и присоединился к нам с переносным пультом. Асланов указал на К-7.

— Потеряем этот узел — автономный подвоз придётся вести локально, защищённая связь закончится вместе с батареями ретрансляторов. Нужен архивный маршрутизатор М-4 и преобразователь для второго дизеля.

Он провёл пальцем по линии к архиву.

— Срок — десять суток. За это время восстанавливаем К-7, поднимаем Старый кабель и не отдаём М-4 противнику.

— Десять суток от сегодняшнего? — спросил Павел.

— Да.

Я посмотрел на маршрут. Между К-7 и насосной косой шли затопленные дамбы.

— Что по внутреннему пути?

— Спутниковая картинка бесполезна. Вчера два прохода были открыты, сегодня один ушёл под воду. Седов проверит ближнюю часть роем.

Кирилл покачал головой.

— После бакена у меня два ловца и одна Сорока с нормальным зарядом.

— Нужен разведчик, а не бой.

Марьям указала на вторую дамбу.

— Радио там лучше выключить. Сигнал уходит по воде. На прошлой неделе ремонтники дважды вышли в эфир, после этого к ним пришли аппараты.

Павел спросил, можно ли тянуть провод.

— До первой контрольной точки. Дальше настил подмыло.

Асланов кивнул.

— Значит, пойдёте в немом режиме. Световые команды, провод, точки сверки. Круглов ведёт маршрут.

— Почему я?

— Потому что карту с бакена проверял ты. И через двадцать минут у тебя будет другая должность.

Техник сообщил, что внешний кабель поднялся. Асланов перевёл служебный канал на физическую линию, и на экране появился полковник Кастин. После Эльмара я видел его в основном в протоколах; решение о моём разжаловании тоже прошло через его цепочку.

Кастин открыл служебную форму и сообщил, что утреннее решение по бакену признано обоснованным. На время Кадирской операции мне возвращали звание младшего сержанта, назначали командиром маршрутной группы и полевым валидатором «Контура-П» в зоне Пепла.

Я уточнил полномочия. Мне давали доступ к исходной рекомендации, журналу входных данных и основанию маршрута, а также ограниченный Красный отказ. Огневое решение без подтверждения командира оставалось недоступным.

Отдельно я спросил про М-17. Кастин подтвердил прежнее правило: такой пакет считался непроверенным источником, а голос без материальной проверки не мог стать приказом.

— Принимаю назначение.

На экране появилась отметка о подтверждении. Вера оставалась техническим валидатором, а спорные пакеты следовало поднимать на командный уровень.

Вера сразу потребовала физический разрыв между архивным модулем К-7 и огневым контуром. Она напомнила о старых голосовых профилях и двух платформах, которые утром повторили отсутствующий в текущей карте маршрут. Пока источник вмешательства не установлен, прямое соединение она считала недопустимым.

Кастин заметил, что разрыв не остановит ручной перенос. Для Веры именно это и было преимуществом: носитель придётся передавать человеку, и скрытая команда не уйдёт в огневую сеть автоматически.

Асланов подтвердил, что отдельный размыкатель командной связи не помешает.

— Ставьте. Время фиксировать, — сказал Кастин и отключился.

Павел посмотрел на мою форму.

— Значит, снова младший сержант.

— Временно.

— У нас и дамбы временные. Но приказывать теперь можешь официально.

— Ты и раньше слушал выборочно.

— Теперь буду дисциплинированно выборочно.

Марьям закрыла бумажный журнал.

— Для станции ваше звание ничего не меняет. При следующем доступе распишетесь снова.

Вера позвала меня к шкафу. Она сняла штатную перемычку между архивным модулем и внутренней сетью и поставила механический размыкатель. Теперь архив читался только на отдельном терминале, а передача дальше требовала внешнего носителя.

— Проверяй.

Я попытался открыть архивную строку с рабочего терминала. Система выдала отказ.

— Разрыв есть.

— Теперь журнал.

Идентификатор «Орбиты» совпадал с эльмарским почти полностью. После блока KADIR шёл старый служебный код, но последние знаки отсутствовали.

— Повреждение накопителя? — спросил я.

— Нет. Соседние строки целы.

— Когда изменили?

Вера открыла метку операции. Время стояло двухдневной давности.

Марьям подошла ближе.

— Два дня назад шкаф не открывали. Механический счётчик не менялся.

— Значит, вход был через кабель, — сказала Вера.

Я вспомнил кассету с бакена, которую читали утром удалённо.

— Похожий доступ?

— Здесь запись меняли. На бакене мы видели чтение.

Павел посмотрел на серое место в строке.

— Что убрали?

— Хвост идентификатора и часть связанного поля. Что там было, я пока не восстановила.

Марьям потребовала копию исходного журнала до передачи пакета командованию. Асланов сначала хотел забрать оригинал на экспертизу, но она открыла свой накопитель.

— Журнал станции остаётся здесь. Берите копию.

— Оригинал нужен специалистам.

— После того, как у меня будет полный пакет с контрольной суммой.

Асланов посмотрел на Веру.

— Это мешает работе?

— Нет.

Вера записала два одинаковых пакета и сверила суммы. Один получила Марьям, второй ушёл в служебный контейнер Асланова.

К восемнадцати часам второй дизель так и стоял открытым. Первый работал под ограничением. Фильтр М-17 не включали. Питания хватало на кабель и служебную связь; для большого выхода роя пришлось бы отключать другой потребитель.

Марьям проложила маршрут к М-4 по бумажной карте. Первая часть шла вдоль Тростниковой протоки, потом выходила к насосной косе.

— На второй дамбе радио выключаете полностью, — сказала она.

— Даже для сверки? — спросил Кирилл.

— Хотите проверить дальность сигнала — проверите один раз. Потом будете ждать аппараты.

Павел взял карту.

— Кабеля на весь путь нет.

— До контрольных точек хватит, — сказал я. — Между ними идём без передачи.

Марьям указала на отметку прилива.

— После шести появится проход. Если настил за ночь не уйдёт.

Я сложил карту. На электронной схеме дорога выглядела проще, но за день мы уже нашли две цифровые правки, которые не совпадали с водой и старым кабелем.

К-7 работал на одном дизеле, а в его архиве остался свежий след чужого доступа. Зато теперь у нас был физический разрыв, две копии исходного журнала и маршрут к М-4. В 06:10 мы должны были выйти на затопленные дамбы без активного радио и проверить путь там, где одной цифровой карты было недостаточно.

Глава 4. Немой маршрут

4 сентября 2060 года, 06:10–10:40

Мы вышли с К-7 без работающих передатчиков. Гарнитуры оставались включёнными только на приём, но я убрал свою под воротник, чтобы не тянуться к ней по привычке. До первой точки сверки связь шла по кабелю. Дальше Павел должен был вести группу карточками и заранее установленным порядком сигналов.

Он раздал их ещё у станции. Белая означала остановку, жёлтая — продолжение движения, красная — опасность впереди. Резервный набор лежал у него в нагрудном кармане и отличался последовательностью вспышек фонаря. Я знал обе схемы, но не стал менять ни одного сигнала.

— Проверка, — сказал Павел.

Он поднял жёлтую карточку.

Передняя пара двинулась на пять шагов и остановилась. Следующая повторила движение. Потом пошёл наземник с грузом.

— Нормально, — сказал я.

— Не хочешь добавить что-нибудь от себя?

— Нет.

Павел убрал карточку.

— Запомню этот день.

За ночь прилив поднялся выше отметки Марьям. Первая дамба ещё оставалась над водой, хотя по краям плиты скрыло. Наземник шёл медленно, сверяя положение по записанной карте и меткам на старых сваях. Кирилл пустил Сороку впереди группы, но управление шло по короткому кабелю до выносного блока. Активное радио мы не использовали.

Впереди шли два сапёра. Павел отвечал за порядок движения, Кирилл вёл Сороку, а груз распределили между остальными.

Первые двадцать минут прошли спокойно.

Это нервировало больше помех.

На воде не было лодок. За Тростниковой протокой тянулись заросли, дальше начиналась низкая дамба. Иногда между стеблями открывалась вода, и тогда я видел вторую сторону протоки. Расстояние казалось небольшим, но идти напрямую было нельзя. Внизу лежал старый кабель, рядом после прошлых операций осталось достаточно мин, чтобы не искать короткий путь.

У первой точки сверки Павел поднял белую карточку. Группа остановилась.

Кабельный блок показал связь с К-7. Павел передал короткий пакет: первая точка пройдена, потерь нет. Ответ Асланова пришёл по проводу.

Пять минут на проверку.

Мы не стали использовать все пять.

Кирилл показал мне изображение с Сороки. Впереди дамба поворачивала влево. На поверхности воды плавала полоса травы и мелких веток.

— Течение изменилось, — сказал он.

— Насколько?

— По старой карте вода должна уходить вправо.

Я присел у края плиты. Трава двигалась к нам.

— Марьям предупреждала. Идём по факту.

Павел услышал.

— Схему сигналов не меняем?

— Нет.

Он посмотрел на меня внимательнее, потом кивнул.

До второй дамбы дошли в 07:04.

Наземник первым вышел на затопленный участок и остановился. Передняя часть машины стояла на плите, задняя ещё оставалась на насыпи. В двух метрах впереди настил просел в воду.

Сапёр Климов вошёл по колено и проверил край щупом.

Плита под настилом была на месте. Дальше щуп провалился почти по рукоять.

Я подошёл ближе.

Вода проходила под дамбой через свежий размыв. Сверху его закрывали доски, и с Сороки участок выглядел проходимым.

— Машина не пройдёт, — сказал Климов.

— Пустая?

— Может. С грузом провалится.

Наземник вёз две кабельные катушки и ящики с боекомплектом.

Павел перевёл взгляд на воду.

— Разгружаем.

Мы передали ящики по цепочке на сухую часть дамбы. После третьего я почувствовал, что правая перчатка стала скользкой от грязи. Кабельную катушку пришлось снимать ремнями. Наземник отступил на несколько метров и остался ждать.

Последние сорок метров снова пришлось работать руками.

Климов первым прошёл по краю размыва и закрепил страховочный трос. Второй сапёр, Ерохин, понёс небольшой ящик с инструментом.

На середине настила доска ушла у него из-под ноги.

Ерохин успел схватиться за трос, но правая нога провалилась между балками. Ящик упал в воду и остался висеть на ремне.

Мы вытащили сапёра на настил.

Он сел, стиснув зубы.

— Ступня?

— Голеностоп.

— Встать можешь?

Ерохин попробовал опереться и сразу перенёс вес на левую ногу.

— Могу.

— Значит, не будешь.

Он недовольно посмотрел на меня.

— Денис, у нас людей впритык.

— Поэтому ты остаёшься человеком, а не дополнительной проблемой.

Павел проверил ногу. Перелома на вид не было, но сустав быстро опухал.

Мы наложили фиксатор. Ерохина посадили у кабельного блока с одним бойцом прикрытия.

Павел показал на часы.

Мы отставали на двадцать минут.

— Асланов нас съест, — сказал Кирилл.

— Если доберётся без радио.

— Утешил.

Я помог поднять упавший ящик. Внутрь попала вода. Часть инструмента была герметичной, остальное пришлось вытереть и переложить.

Боекомплект мы переносили последним.

На второй стороне разрыва Павел разложил карточки на крышке ящика. Все промокли по краям.

— Если ещё раз полезем в воду, белая станет серой.

— Главное, чтобы красная не стала белой.

— Спасибо. Теперь мне легче.

Кирилл поднял Сороку выше. Разведчик прошёл вдоль северного края дамбы.

Я проверил экран.

За земляной насыпью появилось несколько светлых пятен.

— Стой.

Кирилл остановил картинку.

Пятна находились примерно в ста двадцати метрах. Их форму закрывала мокрая земля на насыпи. Иногда одна отметка вытягивалась и снова исчезала.

— Люди? — спросил Павел.

— Не определю, — сказал Кирилл. — Может быть техника за грунтом.

Я подключил переносной терминал к кабельному блоку. «Свод» получил кадр Сороки и карту местности. Через несколько секунд он предложил обойти участок севернее. Там старая дамба шла дугой и возвращалась к основной дороге за насыпью.

Павел прочитал рекомендацию.

— Выглядит разумно.

Я посмотрел на северный проход.

Он был шире. Вода там стояла ниже. На поверхности не было обломков.

— Подозрительно удобно, — сказал Кирилл.

Я не ответил.

Вчера на К-7 мне вернули право проверять рекомендации «Контура-П». Сейчас никакого голоса с М-17 не было. Система видела опасность впереди и предлагала обычный обход.

И всё равно мне не понравился грунт у входа на северную дамбу.

Он отличался от соседнего.

Я взял щуп у Климова.

Павел поднял брови.

— Сапёром тоже назначили?

— Проверю край.

— Климов может.

— Климов смотрит основной проход.

Я подошёл к северной дамбе. Первые несколько метров были покрыты старой травой. Дальше шёл участок светлой земли.

Щуп вошёл легко.

Я вынул его и попробовал на полметра левее. То же самое.

Климов заметил, чем я занимаюсь, и подошёл.

— Не наступай дальше.

Он присел, снял верхний слой грунта ножом.

Под ним лежала свежая подсыпка.

Климов провёл щуп под малым углом. Через несколько сантиметров металл коснулся твёрдого предмета.

Он замер.

— Назад.

Мы отошли по собственным следам.

Климов показал место Павлу.

— Закладка. Возможно, не одна.

Павел посмотрел на терминал, где всё ещё светился предложенный маршрут.

— Значит, север закрыт.

Я отключил рекомендацию.

Кирилл спросил:

— «Свод» этого не видел?

— Он видел сухую дамбу.

— А мину?

— Для этого у нас Климов.

Сапёр посмотрел на меня.

— Спасибо за доверие.

— Ты был занят.

— В следующий раз займусь быстрее.

Я вернулся к основной дамбе. Тепловые пятна за насыпью не двигались.

Павел поднял красную карточку. Группа приготовилась идти по центральному проходу.

Первый выстрел пришёл со стороны старого рыбацкого сарая.

Пуля попала в бетон перед Кириллом.

Он упал за край дамбы, прикрыв пульт Сороки корпусом.

Следующая очередь прошла над нами.

Сарай стоял левее насыпи, метрах в восьмидесяти. На старой карте его не было. Крыша почти сравнялась по цвету с камышом, и сверху Сорока его пропустила.

Я лёг за ящиком.

Павел не стал кричать команды. Он поднял резервную карточку, которую до этого не использовал.

Две короткие вспышки фонаря.

Передняя группа поняла.

Климов пополз к краю дамбы.

Огонь снова прошёл по нашему прежнему направлению, туда, где северный обход соединялся с основной дорогой.

Противник ждал, что мы свернём именно туда.

— Кирилл, сарай видишь?

— Через грязь. Сорока ниже не идёт.

— Не опускай.

Сарай снова дал очередь.

Один из наших ответил одиночными. Стена возле окна посыпалась.

Павел показал следующую комбинацию: отход вниз с дамбы.

Я повернулся к нему.

Он указал на воду справа.

Там глубина доходила до пояса, но за бетонным краем проходила полоса, которую из сарая почти не было видно.

Я кивнул.

Решение было его.

Мы начали спускать ящики в воду.

Патронный контейнер соскользнул с ремня и ударился о край плиты. Крышка раскрылась. Две упаковки ушли в протоку раньше, чем боец успел их поймать.

Он дёрнулся за ними.

Я схватил его за разгрузку.

— Оставь.

Он показал на воду.

— Там боезапас.

— Там ещё очередь через три секунды.

Очередь пришла раньше.

Пули ударили в верх дамбы.

Мы ушли ниже.

В воде двигались медленно. Грунт под ногами был мягким, но не засасывал. Павел шёл первым и показывал направление фонарём под прикрытием бетонного края.

Кирилл прижал пульт к груди. Сорока оставалась сверху и передавала картинку по кабелю.

— Второе окно, — сказал он тихо.

— Что там?

— Движение.

Мы остановились.

На экране мелькнула фигура.

Павел показал Климову на боковой проход. Сапёр с двумя бойцами вышел к сараю через камыш.

Стрельба сместилась.

Я услышал короткую очередь ближе, затем хлопок гранаты за стеной.

Через несколько секунд из окна перестали стрелять.

Мы не полезли наверх сразу.

Павел показал ожидание.

Сорока прошла над крышей.

— Один вышел сзади, — сообщил Кирилл. — Уходит к протоке.

Один из бойцов у сарая перехватил его почти у воды. Раздались два выстрела. Потом Павел поднял жёлтую карточку.

Мы поднялись на дамбу.

У входа в сарай лежал боец противника. Второй оставался внутри у радиостойки. Климов проверил помещение и позвал нас.

— Здесь чисто.

Сарай пах старой рыбой и горелой изоляцией. На полу стоял небольшой приёмник с автономной батареей. Передатчика у него не было.

Я посмотрел на Павла.

— Только приём?

— Похоже.

Кирилл отсоединил провод.

— Память есть.

— Не включай здесь, — сказал я.

Он показал на батарею.

— Она автономная.

— Поэтому и не включай.

Мы запаковали устройство в экранирующий чехол.

Снаружи Климов проверил северный проход. Нашёл две мины, уложенные под свежим грунтом. Между ними оставили свободный коридор шириной меньше метра.

Павел повернулся к нему.

— Если бы пошли по рекомендации?

— Первый человек мог пройти. Второй, скорее всего, нет.

Я посмотрел на терминал.

Предложенный «Сводом» маршрут шёл почти по центру заминированной полосы.

Система не отправляла нас на мину специально. Она выбрала самый удобный путь по доступной карте. Противник рассчитывал именно на такое решение.

После боя пришлось снова переносить груз.

Часть боекомплекта осталась в воде. Два ящика намокли, один пришлось открыть и раздать пригодные упаковки по людям. Ерохин идти не мог. Его посадили на освобождённую раму наземника, когда машина наконец обошла размыв по старой сервисной полосе.

К 09:30 мы добрались до третьей точки сверки.

Там уцелел кабельный колодец.

Павел поднял линию на К-7 и передал пакет. Ответ Асланова пришёл через минуту: продолжать к насосной косе, раненого эвакуировать первой обратной платформой.

Вера попросила подключить захваченный приёмник к изолированному считывателю.

Мы установили его на бетонной плите.

— Память открылась, — сказала она по кабелю. — Есть записи.

На экране появился список файлов.

Большинство состояли из коротких звуковых фрагментов. Кирилл открыл последний.

Из динамика прозвучал голос Асланова:

— Северный обход. Две коротких. Потом белая.

Павел медленно повернул голову ко мне.

Я узнал голос майора.

Фраза была записана чисто, без помех.

— Он этого сегодня говорил? — спросил Кирилл.

— Нет, — сказал Павел. — И последовательность старая.

Вера запросила файл целиком.

Там было четыре команды голосом Асланова. Они описывали прежний порядок немого маршрута: северный обход, две световые вспышки, остановка на белую карточку.

Павел достал мокрый резервный набор.

— Эти сигналы мы не использовали с весны.

— Откуда запись? — спросил я.

— Метаданные вычищены, — ответила Вера. — Но файл загружен в приёмник до нашего выхода.

Я посмотрел на северную дамбу, которая отсюда была почти не видна.

Противник знал, каким маршрутом нас предложит вести система. Знал старые физические команды. Для этого не требовалось слышать нашу сегодняшнюю связь.

— Значит, молчание нас не спрятало, — сказал Кирилл.

— От радио спрятало, — ответил Павел. — От украденного протокола — нет.

Он взял белую карточку. Вода размыла край, и картон начал расслаиваться.

— Все резервные коды считаю скомпрометированными.

— Согласен, — сказал я.

— Новые сейчас придумывать будем?

— Нет. До насосной косы идём по твоей основной схеме. На следующем выходе меняем всё.

Павел повернулся ко мне.

— Ты опять не хочешь улучшить систему?

— Сейчас не хочу улучшать ничего, что люди ещё помнят одинаково.

Он убрал карточки.

Мы продолжили движение.

Ерохин уехал назад на наземнике. Вместе с ним отправили промокший боекомплект, который нельзя было использовать без проверки. Группа стала легче, но и запас патронов уменьшился.

Насосная коса появилась впереди около десяти часов. За ней стояла низкая конструкция ретранслятора.

Кирилл сверился с картой.

— Это Маяк-3.

Я достал захваченный приёмник. На одном из внутренних файлов стояла служебная отметка ретрансляции с тем же номером.

Вера подтвердила по кабелю:

— Записи голосов проходили через Маяк-3.

— Какие?

— Пока вижу архивные профили Линского коридора.

Я посмотрел на ретранслятор за водой.

Голосовая подмена оказалась привязана к обычному оборудованию. В сарае нам оставили запись живого Асланова, а старые команды вывели к заминированному обходу. Мы прошли маршрут без радио и всё равно попали в подготовленную схему.

До Маяка-3 оставалось меньше километра. Там нужно было выяснить, откуда в кадирскую сеть приходили голоса погибших, и кто использовал их вместе со старыми правилами движения.

Глава 5. Позывной из Линского

4 сентября 2060 года, 13:20–16:50

К Маяку-3 мы подошли по воде после двух часов ожидания. Прилив поднялся, затопил нижнюю часть ремонтной площадки и открыл проход между старыми сваями. Лодочную платформу оставили за бетонным выступом. Дальше мотор мог выдать нас раньше, чем камеры ретранслятора увидели людей.

Маяк стоял на железной раме над водой. Под ним темнел сервисный уровень, к которому вёл настил. На крыше я сразу заметил одну автоматическую турель. Вторая на изображении Сороки не появлялась.

Кирилл ещё раз провёл разведчика над площадкой.

— Верхняя турель смотрит на воду. Сектор почти круговой.

— Нижний люк?

— Есть. С южной стороны. Камера над ним.

— Разведчики?

Он увеличил изображение. Между опорами двигались два дешёвых аппарата с небольшими винтами. Они не поднимались выше крыши и шли по короткому замкнутому маршруту.

— Простые, — сказал Кирилл. — Автономия на оптике. Связи почти нет.

Павел посмотрел на экран.

— Значит, глушить нечего.

— Можно испортить картинку.

Кирилл достал из ящика три отражателя. Небольшие пластины на поплавках мы таскали второй день, но до этого не использовали.

— Пустишь по течению? — спросил я.

— Один возле восточной сваи, два вдоль настила. На камере они будут гулять.

— Турель среагирует?

— Если её обучали на движение — может.

— «Может» мне не подходит.

— Тогда узнаем после первого выстрела.

Павел усмехнулся.

— Прекрасный план.

Я посмотрел на схему. Через нижний люк можно было попасть в технический отсек и отключить верхнюю турель изнутри. Но до люка оставалось около пятидесяти метров открытого настила. Если автоматика увидит нас раньше, спрятаться будет негде.

— Кирилл запускает отражатели. Павел остаётся на платформе и контролирует кабель. Я иду с Климовым и Руденко.

— Опять сам? — спросил Павел.

— Люк надо открыть вручную.

— Это сапёры умеют без младшего сержанта.

— А архивный блок проверять будем уже внутри.

Павел хотел ответить, но передумал.

— Хорошо. Только если пропадёт связь, назад не геройствуй.

— Мне звание вернули, не бессмертие.

— Иногда вы это путаете.

Мы проверили оружие и спустились в воду.

Кирилл выпустил первый отражатель. Пластина легла на поверхность и пошла вдоль опоры. Через несколько секунд один дешёвый разведчик сменил маршрут.

— Зацепился, — тихо сказал Кирилл в локальный проводной канал.

Второй отражатель прошёл ближе к настилу. На этот раз повернула турель.

Ствол ушёл вправо.

— Пошли.

Мы добрались до первой сваи и спрятались за бетоном. Вода доходила почти до пояса. Климов первым перебрался на настил. Я пошёл за ним.

С крыши послышался короткий треск.

Турель дала очередь по отражателю.

Пули вспороли воду метрах в двадцати от нас.

— Работает, — сообщил Кирилл.

— Это мы заметили.

— Я для уверенности.

Третий отражатель он отправил к дальней опоре. Турель повернулась снова.

Мы прошли ещё пятнадцать метров.

Один разведчик снизился.

Руденко прижался к железной балке.

— Видит?

— Пока отражатель, — ответил Кирилл.

Аппарат прошёл над настилом и повернул за сваей.

До сервисного люка оставалось десять метров.

Я увидел камеру. Маленький чёрный блок стоял прямо над дверью.

Климов достал аэрозольный экран.

— Три секунды.

— Делай.

Он выбросил короткое облако перед камерой. Мы пересекли последний участок и легли у стены.

Турель на крыше снова стреляла по воде.

Климов проверил люк.

— Магнитный замок.

— Питание?

— Есть.

Руденко передал ему обходной блок. Климов подсоединил контакты и замер, наблюдая за индикатором.

— Секунд двадцать.

Я перевёл взгляд на воду. Отражатель Кирилла зацепился за кусок арматуры и остановился.

Верхняя турель перестала двигаться.

— Кирилл.

— Вижу.

Он попытался пустить пластину дальше коротким импульсом маленького буксира. Отражатель дёрнулся и остался на месте.

Турель начала возвращаться к исходному сектору.

— Климов?

— Ещё пять.

Ствол показался над краем крыши.

Замок щёлкнул.

Мы открыли люк и вошли внутрь.

Руденко закрыл дверь за собой. Над головой ударила очередь, несколько пуль прошли по внешней панели.

Внутри было темно. Аварийное освещение работало возле пола.

— Кабель есть, — сказал Климов.

По стене шла старая линия связи. Я подключил переносной терминал.

Система ответила сразу.

Маяк-3 продолжал работать.

Я нашёл контур верхней турели и дал команду на сервисную блокировку. Интерфейс запросил ключ.

— Не принимает.

— Физически отключить? — спросил Руденко.

— Сначала найдём питание.

Климов открыл нижнюю панель.

В гарнитуре появился шум.

Я сначала решил, что это помехи от силового блока. Потом на отдельном индикаторе загорелся М-17.

Позывной пришёл раньше голоса.

Корнев.

Я замер.

Илья Корнев.

Фамилию я помнил хорошо. Связист. Полевой ретранслятор. Линский коридор. В первую операцию его узел перестал отвечать во время налёта. После этого имя осталось в записях чаще, чем сам человек в моей памяти.

Голос восстановить я не смог.

Из помех прошла фраза:

— Вторая после паузы.

Потом канал снова заполнился шумом.

— Денис? — спросил Кирилл.

— М-17. Позывной Корнева.

— Что сказал?

Я проверил экран.

— Не повторяй в общий канал. Вера получит исходник.

По кабелю вызвал К-7.

Вера ответила через несколько секунд.

— Пакет вижу.

— Позывной Ильи Корнева. Фраза короткая. Сверь с белой записью первой операции.

— Уже открываю.

Я сам хотел произнести услышанное, но остановился. Если фразу подбирала система по нашей реакции, лишнее повторение могло загрязнить проверку.

Климов показал на силовую схему.

— Нашёл питание турели.

Я посмотрел на крышу по внутренней камере. Верхняя установка вернулась в исходный сектор.

— Отключай.

Он разомкнул сервисный блок.

Турель замерла.

Павел увидел это с платформы.

— Верхняя встала. Выходим к вам?

Я вспомнил фразу.

Вторая после паузы.

Она могла относиться к чему угодно. Ко второй турели, второй группе, второму проходу. Если вообще относилась к текущей ситуации.

— Жди.

— Верхняя отключена.

— Жди тридцать секунд.

— Почему?

Я посмотрел на таймер терминала.

— Проверяю.

Павел только выдохнул и замолчал.

Вера вернулась в канал.

— Акустический профиль совпадает с Корневым по белой записи. Уверенность высокая.

— Готовая фраза есть?

— Пока не вижу.

— Понял.

Прошло десять секунд.

Пятнадцать.

На платформе Павел снова спросил:

— Денис, сколько?

— Ещё немного.

— У нас открытое место.

На двадцать второй секунде ничего не произошло.

Я почти решил, что задерживаю людей из-за случайного обрывка.

Потом Руденко повернул голову к стене.

— Слышите?

Где-то справа заработал привод.

На внутренней схеме появился новый контур.

До этого его не было.

Сбоку от ремонтного настила откинулась металлическая створка. Из углубления поднялась вторая автоматическая установка.

Она смотрела прямо на лодочную платформу.

— Павел, вниз!

Турель открыла огонь.

Пули прошли по краю платформы. Павел и двое бойцов успели лечь за двигательным блоком.

Кирилл увёл Сороку вверх.

— Откуда она взялась?

— Из бокового корпуса. На разведке была закрыта.

Вторая турель дала ещё одну очередь.

— Питание здесь? — спросил Климов.

Я открыл новый контур.

Линия уходила в отдельный блок. Через сервисную сеть он не отключался.

— Независимое.

Руденко показал на боковую дверь.

— Отсюда к ней есть настил.

На схеме проход шёл вдоль стены. Метров пятнадцать, потом поворот к нише турели.

Климов достал ручной заряд.

— Подойду снизу.

— Вместе.

— Один быстрее.

— Один не увидит угол.

Климов кивнул.

Мы вышли через боковую дверь.

Настил был уже основного прохода и наполовину скрыт водой. Турель стреляла по платформе и нас пока не замечала.

Кирилл пустил оставшийся отражатель с другой стороны.

— Перевожу внимание.

Пластина появилась возле дальней сваи.

Турель повернулась на несколько градусов.

Этого хватило.

Мы дошли до поворота.

Климов лёг, вытянул руку и поставил заряд на заднюю часть корпуса установки.

— Готово.

Мы отошли за металлическую переборку.

От хлопка заложило уши даже через защиту.

Турель дёрнулась и остановилась. Снизу посыпались осколки крепления.

— Вторая снята, — сообщил Кирилл.

Павел поднял голову за двигательным блоком.

— Теперь можно выходить или ждём третью?

Я посмотрел на таймер. От первой остановки прошло чуть больше минуты.

— Сначала разведчик.

— Правильно. А то у покойного фраза короткая.

Кирилл провёл Сороку над крышей. Других установок не было.

Дешёвые разведчики после отключения верхнего контура продолжали ходить по своим маршрутам. Один сел на старую раму. Второй исчез за свайным рядом.

— Площадка чистая, — сказал Кирилл.

Павел с бойцами перешёл к нам.

На платформе нашли две пробоины. Одна пуля разбила внешний датчик, другая застряла в защитном коробе. Людей не задело.

Павел повернулся ко мне.

— Ты из-за фразы ждал?

— Из-за неё.

— И если бы ничего не произошло?

— Через тридцать секунд пошли бы дальше.

— Почему тридцать?

— Никакой причины. Нужна была ограниченная проверка, а не ожидание до вечера.

— Хорошо, что твой покойник уложился.

— Он не мой и не покойник в канале.

Павел кивнул.

— Уже лучше.

Мы вошли в основной зал Маяка-3 через сервисную дверь.

Ретранслятор оказался почти пустым. Большую часть нового оборудования сняли. Остались старые стойки, аварийная батарея и серверный блок, который питался отдельно от турелей.

Кирилл первым нашёл голосовой каталог.

— Здесь много.

На экране появились папки с кодами операций.

Линский коридор был среди них.

Я вызвал Веру.

— Мы внутри. Архив читается.

— Не подключайте его к общей сети.

— Физический разрыв сохраняем.

Павел поставил автономный накопитель между сервером и нашим терминалом.

Кирилл открыл индекс.

В нём были акустические профили погибших. Некоторые имена я знал. Другие ничего мне не говорили.

Илья Корнев оказался почти в начале списка.

— Открываю профиль, — сказал Кирилл.

— Только метаданные.

Появилась дорожка голоса. Несколько десятков фрагментов. Служебные команды, подтверждения связи, короткие ответы из старых журналов.

Я прослушал один.

Голос был знакомым только потому, что рядом стояло имя.

Я не смог связать его с лицом.

На секунду перед глазами появилась сигнальная мачта из Линского. Потом — разбитый ретранслятор. Самого Ильи не было.

Вера сверила данные с К-7 и подтвердила подлинность профиля Корнева. Готовой записи «вторая после паузы» в каталоге не было, но отдельные слова встречались в разных фрагментах, и голосовая модель могла собрать их в одну фразу.

Кирилл поднял журнал датчиков. Вторая турель находилась в спящем режиме до 14:06 и получила первый текущий импульс уже после того, как фраза прошла по М-17.

Я положил временные дорожки рядом. Архивный модуль не должен был видеть этот импульс через наш физический разрыв. До прихода группы между сервером и старым контроллером существовало соединение, закрытое за двадцать минут до атаки.

— Значит, предупреждение могли собрать заранее? — спросил Павел.

— Могли, если живой оператор знал схему площадки, — сказала Вера. — Но следа подготовки у нас пока нет.

Она оставила второй вариант рабочим: архив давал голос, текущая система — контекст, а Пепельное поле могло закреплять повтор реакции. Выводом Вера это не считала.

Он просматривал каталог дальше.

Я заметил, как он остановился на одной строке. Имя исчезло с экрана почти сразу: Кирилл свернул папку и переключился на общий индекс.

— Что нашёл?

— Ничего.

Он ответил быстрее обычного.

Я подошёл ближе.

— Кирилл.

— Личный профиль.

— Чей?

Он молчал несколько секунд.

Потом снова открыл папку, но уже только заголовок.

СЕДОВ А.

Я повернулся к нему.

— Антон?

Кирилл кивнул.

О брате он говорил редко. Я знал только, что Антон погиб раньше и часть его сообщений оставалась у Кирилла в личном архиве.

— Здесь его военные записи? — спросил я.

— Есть и военные.

— А остальные?

— Похоже, личные сообщения тоже.

Вера услышала разговор.

— Кирилл, ничего не открывай до копирования каталога.

— Я не открывал.

— Ты свернул папку.

— Потому что она личная.

— Если профиль находится в рабочем архиве Маяка, это уже часть проверки.

Он посмотрел на экран.

— Проверяйте технические поля. Сами сообщения пока не трогайте.

— Я не могу обещать, что они останутся закрытыми.

— А я не прошу навсегда.

В его голосе не было истерики. От этого разговор звучал неприятнее.

Я спросил:

— Что тебе нужно?

— Оставить М-17 включённым до окончания разбора.

Павел повернулся к нему.

— Зачем?

— Хочу понять, использовали его профиль или нет.

— Если заговорит брат?

Кирилл не ответил.

Я повернулся к Вере.

— Риск?

— Пассивное прослушивание само по себе огневых прав не даёт. Но личный профиль нельзя смешивать с текущими командами.

— Физический разрыв есть?

— Да.

Я сказал Кириллу:

— М-17 остаётся на приёме. Никаких действий по голосу без проверки. Если услышишь Антона, сначала сообщаешь.

— Понял.

— Не после действия. До.

Он кивнул ещё раз.

Мы копировали память Маяка почти час.

В каталоге нашлись профили из Линского коридора, текущие данные площадки и следы обновлений, которые шли через старую кабельную сеть. Часть ложных голосов теперь имела понятный источник. Их можно было собрать технически.

Фраза Ильи оставалась отдельно.

Она появилась раньше импульса второй турели и точно совпала по времени с её включением. Для готовой записи подтверждения не было.

Перед уходом я ещё раз посмотрел на две дорожки.

Голос — раньше.

Турель — позже.

Разница была небольшой, но достаточной, чтобы не списать её на одну и ту же запись.

В 16:42 мы отключили сервер от площадки и оставили Маяк на пассивном ретрансляторе. Кирилл последним закрыл каталог Антона.

На обратном пути М-17 снова ожил.

На этот раз система не показала короткое предупреждение. В служебном поле появился пакет изменения маршрута к М-4, оформленный как команда.

Я не стал его открывать на ходу. После Маяка голос уже нельзя было считать обычной помехой, но именно поэтому я не собирался позволять ему решать, куда мы пойдём дальше.

Глава 6. Приказ без источника

5 сентября 2060 года, 04:30–09:00

Пакет с М-17 пришёл за восемь минут до выхода. Я стоял над картой у западной двери К-7 и проверял время прилива, когда на закрытом терминале появилась новая строка.

Позывной был знакомым.

ЯКУБОВ.

Через секунду включился голос:

— Маршрутной группе перейти на западную дамбу. Прямой проход не использовать. Двигаться к Солевому двору через западный настил.

Я дослушал до конца и убрал руку от терминала.

Марат Якубов никогда так не говорил через Мёртвую частоту. На бакене номер девять пришли два слова — «нижний паз». Их он мог знать при жизни. Здесь была полноценная команда с текущим названием нашей группы и указанием маршрута, который существовал сейчас.

Вера сидела за отдельным столом у изолированного фильтра. Она сразу сохранила исходный пакет.

— Слышала?

— Да.

— Голос совпадает?

— По первичной проверке профиль Якубова. Формулировка не совпадает с его архивными сообщениями.

Павел застегнул разгрузку.

— То есть покойный решил стать начальником.

— Это не Марат, — сказал я.

— Я про голос.

— Тогда тем более.

Кирилл подошёл к столу с пультом Сороки.

— Западная дамба хотя бы существует?

Я развернул бумажную карту Марьям. От развилки у Солевого двора шли два пути. Прямой проход был короче почти на километр. Западная дамба огибала заболоченный участок, потом возвращалась к внутренним островам.

— Существует.

— А состояние?

— Сейчас узнаем.

Кирилл поднял Сороку с крыши станции. Мы смотрели изображение по кабелю, пока аппарат не ушёл за пределы прямой линии, потом он перешёл на автономную запись. Активную передачу не включали.

Через четыре минуты разведчик вернулся.

Западная дамба была почти сухой. На ней сохранился деревянный настил, установленный поверх старых плит. Прямой путь выглядел лучше на карте, но на местности проходил по открытой насыпи между водой и низкими складами.

Павел поставил пальцы на край стола.

— Если выбирать без голоса, я бы пошёл западом.

— Почему?

— Укрытий больше. Группа после вчерашнего урезана. Два раненых ушли назад, боекомплект не восстановили полностью.

— И путь дольше на сорок минут, — напомнила Вера.

— Живой солдат тоже дольше идёт, чем мёртвый.

Я открыл данные «Свода». Система предпочитала прямой маршрут. Причины были понятны: срок операции, состояние дамбы, ожидаемый прилив.

Асланов подключился по кабелю в 04:39.

— Группа готова?

— Готова, — ответил я. — Есть проблема с маршрутом.

— Какая?

— М-17 выдал команду идти западной дамбой.

Майор помолчал.

— Команду?

— Полную. С позывным Якубова.

— Источник?

— Не подтверждён.

— Тогда у тебя приказ идти прямым маршрутом. Выход в четыре пятьдесят. К Солевому двору прибыть не позже семи.

Я повернулся к Вере.

— Разведка западного пути показывает проходимый настил.

— А прямого?

— Проходим. Но открыт для наблюдения.

— Открытым он был и вчера. У нас срок по М-4. Голос погибшего срок не меняет.

— Понял.

Асланов не отключился.

— Круглов, я серьёзно. Тебе вернули право проверять систему, а не выбирать удобную подсказку.

— Понимаю.

— Тогда выполняй.

Канал закрылся.

Павел повернулся ко мне.

— Прямой?

— Пока прямой.

Вера откинулась на спинку стула.

— Мне не нравится это «пока».

— Мне тоже.

— Источник команды я подтвердить не могу. На Маяке мы нашли инфраструктуру подмены. Профиль Марата есть в общей базе.

— Я это помню.

— Тогда не делай из точного совпадения доказательство.

— Я и не делаю.

Она несколько секунд смотрела на меня, потом сказала:

— Хорошо. Просто напоминаю.

Мы вышли в 04:51.

До развилки добрались без контакта. Впереди шёл Климов с сапёром, дальше наземник с двумя ящиками боекомплекта. Павел отвечал за заднюю часть колонны. Кирилл нёс пульт, а Сорока шла выше нас без активной передачи.

М-17 молчал.

На развилке мы остановились.

Прямая дамба уходила на юго-восток. Она была шириной метров шесть, с низким бетонным бортиком со стороны протоки. Укрыться там было почти негде.

Западный настил начинался справа. Деревянные секции лежали поверх старой насыпи и уходили за полосой кустарника.

Климов проверил вход на прямую дамбу.

— Чисто.

Я посмотрел на западный путь.

— Пять минут.

Павел подошёл ближе.

— На что?

— Крепления настила.

— Денис, у нас прямой приказ.

— Приказ запрещает осмотр местности?

— Нет.

— Тогда пять минут.

Я пошёл к западной дамбе с Климовым.

Первые секции выглядели старыми. Доски посерели, болты покрылись ржавчиной. Через двадцать метров настил поднимался над водой на металлических опорах.

Я присел возле первой стойки.

На боковой части была царапина.

Свежая.

Металл прорезало до светлого слоя. След тянулся горизонтально на высоте гусеницы небольшого наземника.

Климов посмотрел.

— Недавняя.

— Сколько?

— После последнего дождя точно.

Я провёл пальцем рядом, не касаясь повреждения.

Чуть дальше нашёлся второй след. На влажной доске сохранился отпечаток гусеничного грунтозацепа. Его частично размыло, но направление читалось.

Машина двигалась к внутренним островам.

— Наши здесь ходили? — спросил я.

— По журналу нет.

Я вызвал Павла жестом.

Он подошёл.

— Что?

Я показал царапину.

— Наземник.

— Пакта?

— Не знаю.

— Тогда что знаем?

— Западный путь использовали недавно. Наши по нему не проходили.

Павел посмотрел в сторону прямой дамбы.

— Это ещё не засада.

— Нет.

— И не доказательство голоса.

— Тоже нет.

Вера слушала нас по короткому проводному каналу от наземника.

— Денис, твой срок вышел.

Я ответил:

— Есть свежий след техники на западном настиле.

— Фиксирую. Но это работает в обе стороны. Противник мог сам пройти там и оставить наблюдение.

— Согласен.

Павел тихо спросил:

— Что решил?

Я ещё раз посмотрел на прямую дамбу.

Если противник знал наши старые физические команды, он мог знать и обычный порядок движения к М-4. Вчера на северном обходе нас ждали именно там, куда логично направлял «Свод».

Голос Марата мог быть частью той же схемы.

Но свежая гусеница на западном настиле существовала без голоса.

— Идём западом.

Павел выдохнул.

— Асланов тебя съест.

— Потом.

— Что запишем основанием?

— Свежий след чужой техники и открытый сектор на прямом пути.

— Про М-17?

— Отдельно. Не как основание решения.

Вера услышала.

— Я запишу именно так.

— Записывай.

Я отправил Асланову короткий пакет по кабелю. Маршрут изменён полевым валидатором после визуального осмотра. Основание — свежие следы движения на западном настиле и высокий риск наблюдения прямой дамбы.

Ответ пришёл почти сразу.

«Решение принято. Ответственность Круглова. Срок не меняется».

Павел прочитал.

— Поздравляю с возвращением в командиры.

— Я уже пожалел.

— Рано. Обычно жалеют после стрельбы.

Мы повернули на запад.

Первый километр прошли без остановки.

Настил оказался крепче, чем выглядел на Сороке. В двух местах вода закрывала доски, но наземник прошёл сам. След гусеницы появлялся ещё дважды и потом исчез у поворота к камышовой полосе.

Кирилл остановился.

— Сорока что-то увидела впереди.

— Что именно?

— Движение в камыше. Один объект. Маленький.

— Глухарь?

— Нет. Похоже на наземный маяк.

Я поднял кулак.

Колонна остановилась.

Климов пошёл вперёд, используя край дамбы как прикрытие. Через пару минут вернулся с маленьким металлическим корпусом.

— Пустышка.

— Передатчик?

— Был. Батарею сняли.

Павел посмотрел на следы крепления.

— Значит, здесь действительно работали.

Я повернулся к Кириллу.

— Прямой маршрут проверь ещё раз.

Сорока поднялась выше и ушла к открытой дамбе.

Мы ждали меньше минуты.

На экране появилась цепочка тёмных точек у бетонного бортика.

— Это что?

Кирилл увеличил изображение.

— Метки.

Павел наклонился к экрану.

— Наши?

— По форме похожи на имитаторы тепла.

В ту же секунду на прямой дамбе взорвалась первая закладка.

Даже с западного пути мы услышали его отчётливо.

Сорока дёрнулась от волны.

За первым разрывом пришёл второй. Потом по пустой дамбе прошла автоматическая очередь.

Павел медленно повернул голову ко мне.

— Вот тебе срок Асланова.

На экране прямой путь накрыло дымом.

Противник стрелял по тепловым меткам, которые считал нашей колонной.

— Дистанционная засада, — сказал Кирилл. — Нас бы накрыли на середине.

Вера вышла на связь через ретранслятор наземника.

— Денис, вижу разрывы.

— Прямой путь был подготовлен.

— Да.

Павел спросил:

— Можем считать голос правильным?

Вера ответила раньше меня:

— Можем считать, что изменение маршрута спасло группу от этой засады. Источник голоса по-прежнему не установлен.

— Я так и знал, что ты испортишь красивый момент.

— Это моя работа.

Я дал сигнал на движение.

После прямой дамбы противник уже знал, что колонны там нет. У нас оставалось мало времени до того, как он начнёт искать второй маршрут.

Мы прошли ещё четыреста метров, когда Кирилл остановился снова.

— Сзади движение.

На экране Сороки показались три низких аппарата. Они шли вдоль настила, используя след наземника.

— Гончие, — сказал он.

Павел посмотрел на расстояние.

— Догонят минут через пять.

— Сколько ловцов?

— Два заряженных, — ответил Кирилл. — Всё.

— Один оставь.

— Против троих?

— Один оставь для выхода к двору.

Он сжал губы.

— Тогда первым сниму ведущего.

Мы ускорились.

Западная дамба сузилась. Справа была вода, слева камыш. Впереди виднелся старый бетонный короб, откуда настил поворачивал к Солевому двору.

Гончие приближались.

Павел снял с плеча карабин.

— Задний сектор мой.

— Не останавливай колонну.

— Я знаю.

Он оставил рядом двух бойцов и пропустил остальных вперёд.

Кирилл развернул пульт.

Первый ловец ушёл назад с переносной площадки. Через несколько секунд над водой раздался короткий удар.

— Один снят.

— Два продолжают.

Павел открыл огонь.

Одна Гончая ушла к краю дамбы, обходя прямой сектор. Вторая поднялась на полметра выше.

— Они разошлись, — сказал Кирилл.

— Второй ловец.

— Ты сказал оставить один.

— Сейчас оставим людей вместо него.

Кирилл молча поднял второй перехватчик.

Я дошёл до бетонного короба и увидел впереди разрыв настила.

Не широкий — метра четыре. Старый мостик разобрали, оставив две балки.

Наземник не пройдёт.

— Стоп.

Павел услышал по локальной линии:

— Что там?

— Разрыв. Груз руками.

— У нас Гончие в ста метрах.

— Поэтому быстрее.

Мы открыли крепления.

Первый ящик пошёл через балки. Второй был с боекомплектом для мобильной группы и весил почти вдвое больше.

Климов с Руденко взяли его за ручки.

Сзади раздался взрыв.

Кирилл сказал:

— Ловец попал. Вторая Гончая снята.

— Третья?

— Павел ведёт.

Я посмотрел назад.

Павел стрелял короткими очередями, отходя по настилу. Гончая шла низко и использовала сваи как прикрытие.

— Быстрее! — сказал я бойцам у ящика.

Они перенесли груз через первую балку.

Под Руденко доска треснула.

Он успел переставить ногу, но ящик ударился углом о край и вырвал ручку.

Климов едва удержал его.

— Ставь.

Ящик опустили на балки.

Руденко проверил ладонь.

Кровь шла из пореза у большого пальца.

— Потом.

Мы привязали ремень вместо ручки.

Сзади автоматическая очередь ударила по бетонному коробу. Куски старого бетона посыпались в воду.

Павел крикнул:

— Двадцать метров!

Я видел Гончую над его плечом.

Кирилл посмотрел на пустую ячейку пульта.

— Ловцов нет.

— Сорока?

— Разведчик. Удара не выдержит.

— Тогда не трать.

Павел упал за борт дамбы. Гончая прошла над ним и повернула к грузу.

Климов схватил карабин.

Я выстрелил первым.

Попал в переднюю защиту. Аппарат дёрнулся, но продолжил движение.

Ещё две очереди пришли справа.

Руденко бил с колена.

Гончая ушла вверх.

Это открыло нижнюю часть корпуса.

Павел поднялся из-за бортика и выпустил короткую очередь снизу.

Аппарат перевернулся и рухнул между балками, куда мы только что собирались переносить последний ящик.

— Хорошее место выбрал, — сказал Павел, тяжело дыша.

— Перетащим.

— Сначала его утопим.

Климов ногой сбросил повреждённую Гончую в воду.

Боекомплект переправили последним.

Наземник оставили на западной стороне разрыва. Он должен был вернуться по собственному следу, если связь не пропадёт.

Павел повернулся к Кириллу.

— Что осталось?

— Сорока. Один ловец с разряженной батареей.

— То есть ловцов нет.

— Если зарядить, будет один.

— Тогда у нас много надежды и один пустой аккумулятор.

Руденко перевязали руку на ходу. Вторая травма появилась у бойца задней группы: осколок от бетонного короба вошёл в бедро. Он мог идти, но медленнее.

До Солевого двора оставалось меньше километра.

Прямую дамбу мы больше не видели. По донесению К-7, там сработали четыре заряда. Затем противник прекратил огонь.

Западный путь тоже был подготовлен: Гончие вышли по нашему следу почти сразу. На бумажной карте обе линии сходились у Солевого двора. Прямая вела через дистанционную засаду, западная — под преследование.

— Значит, приготовили обе, — сказал Павел.

Вера согласилась только с проверяемым: оба маршрута были опасны, но западный обошёлся дешевле. Мы потеряли два ловца и получили двух раненых; на прямой дамбе сработали четыре заряда.

В журнал я продиктовал: «Западный маршрут снизил потери. Причина точности М-17 не установлена». Канал оставили на пассивном прослушивании, без автоматической передачи в «Свод».

Правило записали отдельно: голос сам по себе не является приказом; любое сообщение М-17 сначала требует материальной проверки.

Мы двинулись дальше.

К Солевому двору вышли в 08:26.

За низкой дамбой начинались склады. Часть крыш ушла под воду после старого затопления. Между корпусами проходила узкая дорога к внутренним островам.

У входа нас встретила группа охраны.

Раненого с осколком отправили к медицинскому посту. Руденко настоял, что порез руки не мешает работе, но Павел всё равно записал его на осмотр.

Кирилл поставил разряженного ловца на зарядку от малого блока.

— Сколько?

— До рабочего минимума сорок пять минут.

— Есть сорок пять?

— Теперь уже есть.

За спиной загудела Сорока, возвращавшаяся с короткого осмотра дороги.

Я снял карту с ящика. На ней две дорожные линии сходились возле Солевого двора. Вера передала обновлённую запись по кабелю. Рядом с отметкой М-17 стояла её пометка: «источник не установлен».

Я попросил не менять формулировку.

М-17 оставили в разведывательном контуре только как непроверенный источник. Решение начиналось после материальной проверки.

Часть II. Голоса знают дорогу

Глава 7. Фильтр мёртвой частоты

6 сентября 2060 года, 08:00–12:20

Изолированный зал К-7 мы открыли в восемь утра, когда второй дизель ещё не работал. Вера сняла пломбу со шкафа, проверила механический разрыв и подала питание на фильтр. Между модулем М-17 и внутренней сетью оставался разомкнутый участок кабеля длиной с ладонь. Перемычка лежала рядом.

— Пока перемычка лежит здесь, из зала ничего не уйдёт в огневой контур, — сказала Вера. — Вернёте её на место — журнал запишет фамилию и время.

Павел проверил разрыв сам и отодвинулся от шкафа.

Перед разбором Павел проверил разрыв действием. Тестовая команда дошла до границы изолированного модуля и остановилась. Вера передала её дальше вручную, после подписи оператора. Фильтр мог подсказать, но не мог сам превратить подсказку в команду.

Пакеты между контурами переносили руками. Это отнимало время, зато ошибку ещё можно было остановить.

Я сел перед экраном. После вчерашнего выхода к Солевому двору М-17 оставили в пассивном режиме. За ночь канал набрал несколько десятков коротких пакетов, но Вера не разрешила обрабатывать их общей моделью. Каждый проходил через изолированную копию.

На экране появились четыре дорожки. Первая принимала живой радиообмен. Вторая отмечала совпадения с архивными профилями. Третья собирала старые фразы, повторённые почти без изменений. Четвёртая показывала сообщения, связанные с прежними маршрутами. Рядом оставалось поле без подписи.

— А пустое поле? — спросил Кирилл.

— Не называю его ни Отголоском, ни синтетикой, — ответила Вера. — Назовём заранее — начнём искать подтверждение выбранной версии.

Я попросил порядок работы. Вера вывела первый из десяти фрагментов. Голос сам по себе ничего не значил, даже знакомый. Нужно было установить, что погибший мог знать, откуда пришёл пакет и остался ли после него материальный след.

Первый фрагмент пришёл ночью голосом погибшего связиста из Линского коридора. Он сообщал, что западный причал Крайнего закрыт из-за повреждённой сваи.

— Свая цела, ночью там прошли две лодки, — сказал Павел.

Вера проверила источник.

— Пакет пришёл с работающего ретранслятора за внешним рейдом. Информация текущая, погибший её знать не мог. Материального следа нет. Подмена.

Второй голос принадлежал Роману Кулешову. Фраза была короткой: «левее красной стойки». Я вспомнил старую запись из Линского, и Вера нашла исходник. Совпали слова и пауза.

— Нового знания здесь нет, — сказал Павел.

— Значит, повтор старой записи, — ответила Вера и перенесла карточку.

Третий фрагмент потребовал больше времени. Голос погибшей на старой кабельной станции женщины предупреждал не включать насос до закрытия нижней заслонки. На К-7 такой насос был, но она здесь не работала.

— В архиве есть её разговор о таком же запуске, — сказал Кирилл. — А наш насос отключён со вчерашнего вечера.

— Тогда к текущей обстановке фраза не относится, — сказала Вера.

Четвёртый пакет пришёл голосом Асланова и требовал перенести батареи с северной площадки на западную. По времени майор находился на Солевом дворе и говорил по кабелю с другой группой.

— Голос майора есть в действующей сети, место батарей знает снабжение, — сказала Вера. — Закрытых данных не требовалось. Ещё одна подмена.

Пятый фрагмент оказался хуже. Голос Ильи Корнева произнёс: «не поднимай второй канал». Через три минуты на К-7 пришла сильная помеха по резервной линии. Но сама фраза существовала в старой записи из Линского.

— Совпадение или Пепел? — спросил Павел.

— Не выбираю, — ответила Вера. — Данных мало. Фраза пришла до помехи, но сама помеха возникла на внешней линии. Оставляем без вывода.

Она передвинула пакет в пустое поле.

Шестой фрагмент повторял старую команду Марата о погрузчике. Рядом с К-7 погрузчиков не было. Седьмой собрали голосом Самата и отправили с живого вражеского узла. В нём звучал текущий номер нашей маршрутной группы, которого старая запись знать не могла.

Павел отнёс седьмой пакет к подмене. Восьмой почти дословно повторял архивную команду Романа. В девятом голос называл отметку воды у насосной косы, но датчик там не работал. Отправлять отдельную группу ради одной проверки я запретил: отметку должны были посмотреть по пути.

Десятый фрагмент пришёл в 06:17. Голос принадлежал связисту, погибшему три года назад на Кадире. Он произнёс:

— Две лодки под стеной.

Кирилл открыл ночную запись Сороки. В 06:19 камера поймала две малые лодки противника у бетонной стены северного канала. Они простояли меньше минуты и ушли до нашего патруля.

Павел назвал случай интересным, но Вера сначала проверила источник. На внешних ретрансляторах следа не было, готовой фразы в архиве погибшего тоже.

Марьям вошла с бумажным журналом и подтвердила, что связист обслуживал северный канал до войны. Место он знать мог, нынешние лодки — нет. Пакет пришёл за две минуты до изображения Сороки. Кирилл спросил, можно ли считать его настоящим, но Вера оставила более узкую формулировку: готовой записью случай не объяснялся.

На экране карточки разошлись по категориям. У четырёх источник и содержание указывали на обычную голосовую подмену. Три совпадали со старыми фразами. Два случая мы не смогли подтвердить. Последний совпал с реальным движением лодок раньше, чем их увидела Сорока. Перед закрытием первого набора Вера сохранила исходные дорожки отдельно от оценок. Если вывод позже изменится, можно было вернуться к самому пакету, а не к нашей подписи под ним.

— Нужна рабочая версия, — сказал Павел.

Вера вывела схему речевого модуля.

— Повреждённая модель заполняет пропуски голосами из архива. Пепельное поле может закреплять прежнее направление. Но это не предсказание будущего. Ранние предупреждения пока без подписи.

— Итог не закрываем. Нужен порядок, который можно применить на маршруте, а не новое название тайны.

«Свод» вывел собственную рекомендацию. Он предлагал оценивать каждый пакет по носителю, времени, доступному знанию источника и материальному следу. Павел прочитал окно.

— Наконец без вопроса «узнал ли я голос», — сказал Павел.

— Когда услышишь близкого, посмотрим, — ответил Кирилл.

Павел замолчал. Я открыл настройки.

— Положительный вывод система ставить не будет. Она собирает основания. Решение подтверждают два человека.

Вера повернулась ко мне и спросила:

— Какие два?

— Один из группы, которая использует сообщение. Второй проверяет источник или след.

— А если времени нет? — спросил Кирилл.

— Тогда сообщение остаётся неподтверждённым.

— И если оно предупреждает об ударе через десять секунд?

— Человек решает, как реагировать. Но М-17 сам не меняет маршрут и не получает доступа к оружию.

Вера несколько секунд смотрела на меня, затем кивнула.

— Согласна. Но ты можешь принять желаемое за проверку.

— Поэтому нужен второй человек.

Павел усмехнулся и покачал головой.

— Две фамилии не делают решение правильным.

— Нет. Но показывают, кто его принял.

Вера внесла изменение. Возле положительной оценки появилось два пустых поля.

Кирилл спросил:

— Если личный голос слышу я, могу быть первым проверяющим?

— Нет, — ответила Вера. — Ты в таком случае заинтересованная сторона.

Кирилл откинулся на спинку стула и убрал руки с пульта.

— Удобно.

— Безопаснее.

Я видел, о чём он думает. Папка Антона оставалась закрыта в каталоге Маяка-3.

В 10:47 по кабелю подключился Кастин. Он попросил вывести результаты фильтра за первые сутки.

На стене появилась схема подвоза. После включения пассивного режима лодки перестали разворачивать на каждое голосовое предупреждение. Часть пакетов отсеялась по времени и знанию источника, ещё несколько закрыли по береговым камерам. Проверочные рейсы сократились, и освободившиеся лодки вернулись к доставке батарей.

— Вот ради этого я и подключился, — сказал Кастин. — Не ради разговора с мёртвыми.

Павел сложил руки на груди и посмотрел на таблицу.

— Фильтр может пропустить настоящее предупреждение.

— Может.

— Тогда экономия не доказывает, что он прав, — сказала Вера.

— Я и не называю её доказательством. Это результат процедуры. За сутки по отсеянным сообщениям подтверждённых потерь нет.

Я спросил:

— А по принятым?

— Тоже нет. Пока.

Вера кивнула и оставила слово «пока» в строке отчёта.

— Это слово оставьте.

— Оставлю.

Кастин продолжил:

— Мне не нужно ваше доверие к Пеплу. Мне нужно, чтобы батареи доходили до К-7, а лодки не уходили с маршрута из-за знакомого голоса.

— А необъяснимый случай с северным каналом? — спросил я.

— Поэтому человек остаётся в цепи.

Кастин вывел форму допуска и открыл новый пункт.

— Двойную проверку принимаю на время операции. Фильтр — советник. Огневых прав нет. Автоматической смены маршрута нет.

Вера спросила:

— Профиль Якоря используется?

Я повернулся к ней. Кастин ответил после паузы:

— Исторический профиль доступен фильтру в изолированной копии.

— Без нового согласия Дениса?

— Нового подключения к Круглову нет.

— Я спросила другое.

— Архивный профиль остался после прежних операций.

Вера не продолжила. Я тоже промолчал.

Профиль Якоря существовал ещё с Линского коридора. В Эльмаре мы спорили, можно ли использовать его без нового подключения. Теперь он снова работал внутри фильтра, хотя я ничего не чувствовал.

Мне было легче принять это, пока между модулем и оружием лежал разорванный кабель.

На служебном мониторе прошла лодка с батареями. Ночью такие платформы останавливали из-за неподтверждённых голосов. Теперь тревога осталась внутри фильтра, и лодка дошла до К-7 без лишней остановки.

Но две лодки у северной стены процедура не объяснила. Там данных не хватало. Кастин отключился в 11:18.

Мы вернулись к двум неясным фрагментам. Один так и не подтвердили. Для второго Марьям нашла старую запись уровня воды, и стало ясно, что фраза могла быть обычным повтором. Кирилл молчал, потом спросил:

— Личный архив можно проверить отдельно?

Вера поняла сразу и закрыла общий индекс.

— Антона?

— Да.

— Можно. После текущего сеанса.

— Он закончился.

— Фильтр ещё пишет.

В этот момент на центральном экране появилось новое окно. Никто ничего не запускал.

Я сначала решил, что «Свод» вывел итог. Вместо служебной строки появилась звуковая дорожка без позывного. Вера потянулась к клавиатуре.

— Не трогай, — сказал я.

Из динамика прозвучал мужской голос:

— Сначала снимай питание. Потом лезь в привод. Иначе опять ключ выбьет.

Пальцы сжались на краю стола. Я узнал порядок действий раньше, чем успел подумать о голосе.

Я знал эту фразу. Точнее, знал порядок действий.

Перед глазами на секунду появился верстак. На деревянной подкладке лежал серый корпус двигателя. Справа горела лампа. Чужая рука тянулась к ключу. Дальше память обрывалась.

Я попытался вспомнить больше. Знал, что перед ремонтом питание снимали и на щите, и на самом приводе. Помнил ключ в ладони, но человека рядом память не вернула.

Роман, Марат и Илья были связаны с военными записями. Здесь система коснулась времени до армии, которого в кадирском архиве отдельным файлом быть не должно.

— Денис? — позвал Павел.

Вера закрыла окно и перевела дорожку в отдельный буфер.

— Почему закрыла? — спросил я.

— Потому что это не военный пакет.

— Откуда он?

— Проверяю.

Кирилл смотрел на меня и ждал ответа.

— Ты знаешь фразу?

— Да.

— Откуда?

— Мастерская. До армии.

— Чья?

— Не помню.

Вера сохранила событие на отдельный накопитель и отключила его от общего журнала.

— В военном архиве такой фразы быть не должно.

— В профиле Якоря? — спросил Павел.

— Это может быть реакция, связанная с памятью. Готовой записи я не вижу.

Я попросил открыть только метаданные и не запускать дорожку повторно.

Источник отображался как внутренний профиль Якоря. У дорожки не было имени и временной привязки.

На экране снова появились четыре основные дорожки фильтра. Рядом осталась пятая без подписи.

— Это запись моей памяти? — спросил я.

— Я не могу так сказать, — ответила Вера. — Профиль содержит реакции и фрагменты прошлых сеансов. Откуда появилась именно эта фраза, пока неизвестно.

Павел подвинул стул ближе и посмотрел на закрытое окно.

— Сам ремонт помнишь?

— Кусок.

— Человека?

— Нет.

Вера сняла питание с окна воспроизведения и проверила физический разрыв.

— Событие сохраняю отдельно. В общий набор М-17 не добавляю.

Кирилл посмотрел на закрытую папку Антона и спросил:

— А если там будет то же?

— Поэтому личные сообщения проверим отдельно, — сказала Вера.

— Сегодня.

Она хотела возразить, но я сказал:

— Сегодня. После восемнадцати, когда закончится подвоз и будет резерв питания.

— Я хочу без общего экрана, — сказал Кирилл.

— Согласен. Ты, Вера и я.

Павел поднял брови и вернулся к пульту.

— Меня вычеркнули?

Кирилл посмотрел на него и ответил:

— Это мой брат.

Павел кивнул и отступил от стола.

— Тогда вопросов нет.

Вера закрыла журнал и сняла копию настроек фильтра.

— Отдельный терминал. Физический разрыв. Никаких команд наружу.

— И М-17 остаётся включённым, — сказал Кирилл.

Я вспомнил фразу из мастерской. Она не предупреждала об атаке и не указывала маршрут. Она пришла из моей мирной жизни, которой в военном архиве в таком виде быть не должно.

— Остаётся. Правило не меняется.

Двойную проверку мы подписали в 12:07. Фильтр получил статус советника. Возле каждого положительного вывода теперь требовались две фамилии, а кабель к огневому контуру оставался разомкнутым.

Перед выходом я посмотрел на отдельную запись. Вера сохранила фразу из мастерской без имени и объяснения. Рядом стояла отметка профиля Якоря.

До вечера мы собирались открыть личный архив Антона. Утром мне казалось, что процедуру можно удержать в пределах правил. Теперь предстояло проверить, останется ли это правилом, когда голос будет принадлежать человеку, которого Кирилл хотел услышать.

Глава 8. Брат в гарнитуре

6 сентября 2060 года, 18:10–21:00

Плавучий пункт роя качнуло кормой к дамбе, когда третий разведчик пропал с экрана. За секунду до этого он шёл вдоль старого моста и передавал карту отмелей. Потом метка остановилась, телеметрия оборвалась, а на пульте Кирилла осталась пустая строка.

— Потеря связи? — спросил я.

— Не похоже. Батарея была шестьдесят два процента. Канал оборвался сразу.

Кирилл вернул два ведомых с внешнего сектора и развернул их над протокой. Разведчик, который пропал, нёс свежую съёмку прохода для ночного подвоза воды. Если аппарат упал в открытом месте, данные могли снять раньше нас.

Павел стоял у кабельного блока и следил за линией к К-7. После дневного разбора М-17 оставили на пассивном прослушивании, а личный канал Кирилла открыли отдельно. Вера поставила на него журнал и запретила любую связь с управлением роем.

— Последняя точка? — спросил я.

Кирилл увеличил карту.

— Здесь. Южнее разрушенного моста метров на восемьдесят.

— Течение?

— К востоку. Если упал в воду, его понесло к насосной косе.

— Ищи по течению.

Он кивнул, но один ведомый вместо восточного сектора пошёл на север и стал снижаться к мосту.

Я посмотрел на схему ещё раз.

— Кирилл.

— Вижу.

— Тогда почему второй аппарат ушёл под мост?

Он не ответил. Ведомый продолжал снижение.

— Верни на сектор.

— Дай двадцать секунд.

— Я сказал вернуть.

Кирилл остановил аппарат под краем пролёта, но назад не повёл.

Павел оторвался от кабельного блока.

— Кирилл, у нас новая система приказов?

— Камера проверит и вернётся.

— Что она проверяет?

Кирилл сжал губы. На экране показалась бетонная опора, почти полностью ушедшая в воду.

Я подошёл и потребовал объяснить смену сектора. Кирилл признался: минуту назад в личном канале прозвучал голос Антона с фразой «Смотри под мостом». Он не сообщил сразу, потому что хотел проверить направление камерой и не отправлял туда людей.

Меня это не устраивало. После западной дамбы разведчиков и ловцов осталось мало; несколько таких самостоятельных проверок быстро оставили бы группу без глаз. Павел тоже считал, что Кирилл сначала послушался голоса, а уже потом решил оформить это как безопасную проверку.

Вера подключилась по кабелю и подняла исходный пакет. Фраза была настоящей: Антон говорил её Кириллу много лет назад, когда они искали замок от велосипеда возле канавы. Нового военного содержания в записи не было.

— Я не сказал, что это брат, — сказал Кирилл.

— Но сектор ты изменил без команды.

Я оставил ведомого у опоры и приказал второму продолжать поиск по течению. Дальше правило было простым: любое изменение сектора после личного голоса Кирилл согласовывает до манёвра.

Кирилл принял условие. Камера первого ведомого прошла под разрушенной плитой. Вода там была темнее, чем на открытом участке. Под пролётом висел старый трос, уходивший от бетонной балки к затопленной опоре.

Кирилл приблизил изображение.

На тросе что-то блеснуло.

— Стой.

Он повернул камеру.

Повреждённый разведчик висел метрах в двух над водой. Один винт был сломан, корпус зажало между тросом и остатком арматуры.

— Нашёл, — сказал Кирилл.

Павел ничего не ответил.

Я посмотрел на время. От фразы в личном канале прошло меньше трёх минут.

— Не вытаскиваем, пока не проверим подход.

Кирилл повёл ведомого вдоль троса.

Чуть выше потерянного аппарата на бетоне стояла небольшая пластина. Сначала я принял её за кусок старой обшивки. Потом камера поймала другой угол, и на корпусе появилась сетка отражателя.

Вера попросила показать крепление.

Кирилл подвёл камеру ближе. Металл на крепеже ещё блестел, а провод уходил в щель между плитами.

— Чужой, — сказал Павел.

— Пассивный отражатель, — ответила Вера. — Постоянно в эфир не выходит. Может собирать обмен рядом и отвечать по запросу.

Я открыл журнал полёта пропавшего разведчика. Перед потерей связи аппарат дважды прошёл над мостом.

— Он мог снять наши пакеты?

— Если был активирован в нужный момент — да.

Климов ждал у входа на понтон. Я показал ему изображение.

— Трос свежий?

Он присмотрелся.

— Нет. Старый. Обрастание видно. Отражатель новый.

Значит, аппарат зацепился случайно. Противник использовал удобную точку под старой конструкцией, где наши разведчики и без того снижались.

Я вызвал Асланова и доложил о находке.

— Данные на аппарате важные? — спросил он.

— Карта ночного маршрута воды.

— Возвращайте. Отражатель тоже, если сапёр разрешит.

— Придётся идти под мост.

— Сначала проверьте камерой. Из-за одного аппарата людей не класть.

Канал закрылся.

Кирилл показал на сервисную лодку.

— На ней подойдём.

— Под мост не войдёт.

— Малый буксир дотянет кабель.

— Проверим.

Мы пустили вдоль опоры маленький буксир на плавучих колёсах. Обычно им протягивали линию между платформами. Кирилл вёл машину с пункта роя. До моста она добралась без проблем, но дальше упёрлась в обломок плиты.

— Всё, — сказал Кирилл. — Ниже не пройду.

Последние пятнадцать метров оставались людям.

Климов взял резак и страховочную линию. Я пошёл с ним. Павел хотел отправить Руденко, но после вчерашнего боя ладонь у него ещё была перевязана.

— Я сам, — сказал я.

— У тебя теперь отдельная должность для каждого люка и троса? — спросил Павел.

— Мне нужно посмотреть провод отражателя до снятия.

— Камера есть.

— За плиту она не видит.

Павел передал мне страховочный карабин.

— Тогда без самодеятельности.

Мы пересели в сервисную лодку и дошли до края моста. Двигатель выключили за двадцать метров. Климов подтянул лодку к старому поручню.

Под плитой пахло тиной и топливом. Разведчик висел над нами, зажатый тросом. На одном луче корпуса мигал аварийный индикатор.

Климов проверил растяжку.

— Заряда не вижу.

— Отражатель?

— Сначала ввод.

Мы перебрались на узкий бетонный выступ. Вода доходила до колен. Я посветил под плиту.

Провод от отражателя уходил в старый дренажный канал. Внутри стоял небольшой накопитель с автономным питанием.

Климов наклонился к нему.

— Снимать?

— Сначала разведчик.

Он перекусил трос. Аппарат упал мне в руки. Корпус оказался тяжелее, чем выглядел на камере, один винт висел на проводе.

В гарнитуре раздался шорох.

Потом голос повторил:

— Смотри под мостом.

Я не ответил.

Кирилл услышал его на пункте.

— Денис?

— Слышал.

— Та же фраза.

— Да.

— После того как нашли.

Я посмотрел на повреждённый корпус.

— Или после того, как телеметрия разведчика показала системе, где он находится.

Кирилл замолчал.

Климов снял отражатель вместе с накопителем. На корпусе обнаружился служебный разъём без маркировки.

На пункт роя мы вернулись в 19:14.

Повреждённый разведчик положили на ремонтный стол. Мотор требовал замены, луч корпуса можно было выправить. Память отвечала на диагностику.

Вера подключила накопитель через изолированный терминал.

— Последний маршрут сохранился.

На экране появилась карта отмелей вдоль насосной косы. Потом Вера открыла бортовой журнал.

Перед потерей связи разведчик несколько раз отправлял служебные пакеты на пункт роя. В них лежал участок будущего ночного маршрута снабжения.

Отражатель под мостом принял часть этих пакетов.

Павел посмотрел на карту.

— Значит, ночью нас бы ждали.

— Если успели считать, — сказала Вера.

Климов положил накопитель отражателя на стол.

— Успели.

В памяти стояла отметка чтения за девять минут до пропажи разведчика. Климов упаковал отражатель отдельно от повреждённого разведчика и отметил место крепления на схеме моста. Провод из дренажного канала мы не выдёргивали: его обрезали у накопителя, оба конца закрыли и сфотографировали. Так оставался материальный след, который можно было сравнить с кабельной картой. Разведчика отправили в ремонт с его собственной памятью, не перенося данные в общий маршрутный модуль.

Я спросил:

— Куда дальше ушли данные?

— Ответный канал короткий. Здесь адреса нет. Мог забирать проходящий аппарат.

— Но маршрут воды у них был.

— Да.

Кирилл всё это время смотрел на повреждённого разведчика.

Он считал, что голос помог найти аппарат. Вера разделила результат и источник: полезным оказалось направление, сказанное голосом Антона, но это ещё не доказывало нового знания.

Она подняла телеметрию. За две секунды до обрыва бортовой датчик отметил боковое усилие, а аппарат успел передать последнюю координату. Основной пульт пакет потерял, диагностический контур — получил.

Фильтр и личный канал Кирилла работали через один модуль. Значит, система знала место и характер остановки разведчика ещё до фразы. Подходящую запись она могла подобрать из личного архива, где были сообщения Антона.

— Почему именно эту фразу? — спросил Кирилл.

Вера ответила: это рабочая гипотеза, а не доказанный внутренний механизм. Входные данные показать можно, полный выбор повреждённой модели восстановить нельзя.

Кирилл принял только факты. Он отвернулся к окну; вода била в поплавки понтона, а прожектор К-7 почти не доставал до нас.

Я подвёл черту под данными: Антон не дал системе координату — она уже была в телеметрии. Голос лишь вынес на слышимый канал то, что основной пульт потерял.

Кирилл считал это полезным предупреждением. Павел напомнил другое: источник он скрыл и сообщил о нём только после того, как я заметил ведомого в чужом секторе.

— Почему сразу не сказал? — спросил я.

— Хотел понять, получится ли ещё раз. Услышать его и получить что-нибудь настоящее.

Вера назвала происходящее Слепком: архивные сообщения Антона, ожидание Кирилла и текущие данные складывались в один выход. Поле могло закреплять повтор, но это оставалось рабочей версией.

Проверяемое было проще: фраза про мост существовала в личном архиве, диагностический контур получил последнюю координату разведчика, а голос пришёл после этого пакета. Подтверждённого нового знания в нём не было.

Павел предлагал закрыть канал. Я оставил его в отдельном режиме, потому что на столе лежали возвращённый разведчик и отражатель противника с маршрутом воды.

— Значит, исключение, — сказал Павел.

— Да. Под журнал.

Он посмотрел на меня так, будто уже слышал эту формулировку раньше. И слышал: я сам говорил о контролируемом риске «Свода».

— Если канал остаётся, нужны ограничения.

— Пиши, — сказал я.

— Двадцать минут за сеанс. Только пассивное прослушивание. Пакет сначала фиксируется в журнале, потом воспроизводится.

Кирилл покачал головой.

— Задержка?

— Меньше секунды.

— Хорошо.

— Любое изменение роя после фразы подтверждает второй оператор.

— Денис?

— Дежурный оператор или я, — ответил я.

Вера продолжила:

— Личный канал не имеет прямого выхода на управление. Кирилл голосом не отвечает.

Он поднял голову.

— Почему?

— Потому что ответ станет новым материалом для модели.

— Я хотел задать один вопрос.

— Тогда получится разговор, — сказал Павел.

— И что?

Вера ответила:

— После твоего вопроса мы не поймём, где реакция модели, а где то, что ты сам ей подсказал.

Кирилл несколько секунд смотрел на стол.

— Ладно.

Я подписал разрешение первым.

Павел посмотрел на фамилию.

— Уверен?

— Риск ограничен.

— Эта фраза тоже знакомая.

— Поэтому журнал открыт тебе.

Он поставил подпись как второй проверяющий.

Кирилл сел к отдельному терминалу в 20:12.

На общем экране шли только технические отметки. Звук Вера вывела в его гарнитуру.

Первые пять минут ничего не происходило.

Потом Кирилл поднял голову.

— Есть.

— Фраза? — спросила Вера.

— Про цепь.

— Дословно.

Он помедлил.

— Цепь сначала ослабь. Потом тяни колесо.

Вера нашла исходник. Антон действительно говорил это в старом сообщении о ремонте велосипеда.

— Текущая привязка есть? — спросил я.

— Нет. Обычный архивный повтор.

Кирилл опустил глаза.

— Голос тот же.

— Профиль точный, — сказала Вера.

— Я слышу.

Через две минуты он дёрнулся и повернулся к терминалу.

— Опять мост.

— Что именно?

— «Смотри под мостом».

Вера проверила журнал.

— Повтор пришёл после подключения найденного разведчика к диагностике.

— Значит, система его видит.

— Да.

Кирилл снял гарнитуру, но канал оставался открыт.

— Всё. На сегодня хватит.

До конца разрешённого окна оставалось девять минут.

— Сам заканчиваешь? — спросил я.

— Да.

— Почему?

Он положил гарнитуру на стол.

— Потому что следующую фразу я уже буду ждать.

Вера остановила сеанс и сохранила журнал.

Павел подошёл к ремонтному столу. Техник успел заменить повреждённый винт, но разведчик оставили без вылета до полной проверки.

Отражатель противника лежал рядом в экранированном пакете.

После отключения личного канала Вера дочитала его память. Внутри нашлись отметки нашего ночного маршрута от Крайнего к насосной косе. Три точки наблюдения стояли именно на трассе автономного подвоза воды.

— Готовят удар, — сказал Павел.

— Разведку перед ударом точно, — ответила Вера.

Я посмотрел на время первой записи. Она появилась до того, как наш аппарат пропал. Противник собирал маршрут заранее, а устройство под мостом должно было уточнить расписание.

— Первый рейс воды когда? — спросил я.

Павел открыл график.

— В четыре пятьдесят.

Кирилл поднялся.

— Значит, будут ждать.

— Теперь мы тоже знаем, где.

Вера перенесла карту отражателя в отдельный пакет и закрыла личный архив Антона. Кирилл попросил сохранить окно на следующий день; я согласился при тех же условиях.

Я оставил ему отдельный канал, хотя понимал: с чужим голосом поступил бы жёстче.

Перед уходом я подписал изменение ночного снабжения. Маршрут меняли по данным захваченного отражателя, а голос Антона оставался только основанием для проверки.

В четыре пятьдесят противник должен был получить совсем другой конвой.

Глава 9. Три минуты воды

7 сентября 2060 года, 04:50–07:30

Первую лодку вывели из укрытия в 04:50, когда течение у свай на несколько минут ослабло. Шесть одинаковых корпусов стояли носами к протоке, на каждом — по две мягкие ёмкости с водой. Людей на них не было. Один оператор вёл весь пакет с платформы у Крайнего, а Павел, Марьям и разгрузочная группа ждали на Насосной косе.

После найденного под мостом отражателя старый график отменили. Новый маршрут шёл южнее через открытую воду между двумя рядами свай.

Кирилл стоял рядом с оператором и смотрел не на лодки, а на шкалу помех.

— Следующий провал через сорок секунд, — сказал Кирилл. — Чистого времени три минуты.

Оператор проверил общий пакет.

— Если связь пропадёт, лодки дойдут по инерциальному маршруту до третьей пары свай. Дальше нужен маяк косы.

Павел ответил по кабелю:

— Маяк работает. Разгрузка готова.

Старый провод под протокой ещё держался, хотя автономные лодки управлялись по отдельному каналу.

Я перевёл взгляд на воду. У первой сваи крутилась пустая пластиковая канистра. За минуту до этого она шла к берегу, теперь остановилась почти на месте.

— Выпускай.

Оператор снял ограничение. Первая лодка вышла в протоку, вторая пошла через восемь секунд, остальные повторили интервал. Кирилл включил таймер — 02:54. Ускорять пакет было нельзя: при сближении одна потеря перекрыла бы проход, а при большем интервале шестая не успела бы в окно.

Первая дошла до середины, вторая шла за ней, а третья начала сокращать дистанцию. Оператор поправил тягу и сообщил, что третья идёт быстрее на четыре процента: левый двигатель даёт больше оборотов. Вчера лодку проверяли с другим грузом, и разница не проявилась. Расстояние между второй и третьей продолжало уменьшаться.

«Свод» выдал предупреждение о риске сближения. Следом появился вариант: вывести третью из общего строя и пропустить остальные по расчётному интервалу.

В этот момент в М-17 прошёл голос. Он был незнаком мне, но фильтр сразу показал архивное совпадение. Мужчина произнёс:

— Третью отпусти.

Фраза оборвалась, и канал снова заполнился фоном. Вера была на К-7 и услышала пакет через изолированный фильтр.

— Архивный профиль. Лодочник, погибший здесь в пятьдесят седьмом. Готовую фразу ищу.

Кирилл поднял глаза.

— Совпало со «Сводом».

— Вижу.

Третья лодка подошла ко второй ещё ближе. Оператор спросил:

— Решение?

Я вышел к краю платформы. Вода между сваями несла траву, обломок доски и две пустые бутылки. Все три предмета шли не вдоль оси протоки, а смещались к западной отмели.

На электронной карте течение показывалось почти прямым. Я присел, следя за доской. Она дошла до третьей сваи и резко повернула влево.

— Карта опаздывает. Течение тянет к отмели.

— Тогда третью как раз туда и посадим, — сказал Кирилл.

— Если выключим тягу, её развернёт поперёк.

Оператор вывел ручной прогноз.

— Могу дать ей левый поворот и малый ход. Сядет носом на ил.

— А остальные?

— Пройдут справа, если интервал восстановится.

Таймер показывал 01:58.

Вера нашла ту же фразу в аварийном журнале 2057 года. Запись относилась к столкновению лодок на этой протоке; подробности она обещала дать после прохода.

Мне хватило того, что я видел в воде.

— Третью выводи влево. Малый ход до касания грунта. Остальные сохраняют скорость.

Оператор подтвердил. Третья лодка вышла из линии, её корма качнулась, нос повернул к западной отмели. Несколько секунд корпус шёл почти параллельно второй лодке, потом между ними появился просвет. Четвёртая и пятая прошли следом без торможения.

Третья лодка коснулась ила и остановилась. Вода продолжала толкать корму, но нос сидел на грунте, чуть в стороне от рабочего прохода. На экране дистанции снова стали безопасными.

— Первая у маяка, — передал Павел.

На таймере было 01:11. Первая лодка скрылась за бетонной стенкой Насосной косы, вторая вошла следом. Четвёртая дошла до середины, пятая была за ней, а шестая только пересекала открытую часть. Кирилл увидел дрон раньше оператора.

— Справа низко.

На камере у шестой лодки появилась маленькая тёмная точка. Аппарат шёл над самой водой со стороны камыша. Радио от него не было.

Ловец не успевал: до сближения оставалось около двадцати секунд. Стрелок мобильной группы повернул оружие вправо, но дрон шёл ниже бетонного борта. Оператор предложил ускорить шестую, я запретил ломать пакет: впереди шла пятая лодка, и ускорение могло свести их у входа на косу.

Стрелок дал короткую очередь, когда аппарат на секунду поднялся над водой, но пули прошли позади. Дрон ушёл вниз и ударил в корму шестой лодки. Её метка дёрнулась, корпус развернуло боком. Одна ёмкость лопнула, вода пошла через борт белой струёй. Вторая осталась закреплена, но лодка потеряла ход.

— Шестая выбыла, — сказал оператор.

— Людей там нет. Остальных не возвращать.

Пятая прошла вход, когда таймер дошёл до нуля. Помехи вернулись почти сразу. Картинка с открытой протоки рассыпалась, но четыре метки уже находились за стеной Насосной косы.

Павел сообщил:

— Четыре здесь. Начинаем Последний метр.

До разгрузки оставалось меньше ста метров. Разбитая причальная площадка не пускала лодки дальше нижнего края, и ёмкости пришлось переносить вручную.

Мы переправились туда на служебной лодке. Третью грузовую не трогали: она сидела носом в иле и не мешала проходу.

У Насосной косы Павел уже стоял по колено в воде. Марьям тянула первую ёмкость по короткому настилу вместе с двумя грузчиками.

Наземник не мог спуститься к воде, поэтому последние девяносто метров оставались людям. Марьям отпустила ремень только после того, как ёмкость легла на тележку. На последнем участке воду снова передавали руками. Полные ёмкости уходили к укрытиям, пустые возвращались к лодкам тем же проходом, чтобы не смешивать поток людей. Потерянные корпуса на воде отмечали отдельно: следующий рейс не должен был принять обломок за новую береговую метку.

Первая партия ушла в насосный двор.

Мы взялись за вторую.

Воду перекачивали в меньшие резервуары прямо у стенки. Насос работал от отдельной батареи, которая быстро садилась.

Индикатор показывал, что её хватит ещё на три полных перекачки. Запасная кассета была одна; вторую забрали в медицинский модуль. Марьям подключила следующий шланг.

Первый выстрел пришёл со стороны дальнего берега и разбил край бетонной стенки.

Все легли.

Через секунду ударила ещё одна очередь. Противник стрелял не по лодкам, а по месту разгрузки.

Павел показал на окно под крышей старого склада за протокой.

Наш огневой расчёт развернулся, но между ним и складом проходила металлическая ферма старого водовода. Стрелок не видел цель постоянно.

— Дым к настилу, — приказал Павел.

Две дымовые шашки упали у воды. Ветер потянул дым вдоль стенки, закрывая людей.

Марьям снова взялась за ремень.

— Куда?

— Вода сама не дойдёт.

— Подожди, пока расчёт прижмёт стрелка.

— Насосный резерв внизу на четырнадцати процентах. Мне нужно четыре партии внутри.

Она была права, но это не делало настил безопаснее.

Я помог Павлу поднять ёмкость на тележку. Мы протащили её до пролома в стене, где груз забрали люди насосной станции.

За спиной стрельба стала реже.

Третий рейс начали под дымом.

Грузчик впереди меня поскользнулся на мокрой плите. Он успел встать, сделал два шага, и пуля ударила его в бок.

Мужчина упал на колено.

Ёмкость пошла в сторону.

Павел подхватил ремень. Я схватил второй край, и мы не дали грузу скатиться в воду.

— Санитар! — крикнул Павел.

Евгения появилась из-за стены через несколько секунд. Она прижала повязку к боку грузчика и потребовала перенести его в нижний проход. Грузчик оставался в сознании. Евгения запретила ему говорить.

Мы довели ёмкость до пролома. После ёмкости я вернулся к стене и увидел второго раненого — пленного в чужой форме. Руки были связаны, на правом плече темнела кровь.

Охрана взяла пленного в камыше перед нашим приходом. Он наблюдал за косой и получил осколок во время обстрела.

Евгения коротко осмотрела его и срезала рукав.

Охранник сказал:

— Сначала наш. Этот подождёт.

Евгения даже не подняла головы.

— У нашего давление держится. У пленного осколок рядом с артерией.

— Он наводил огонь.

— После перевязки спросишь.

Охранник показал на единственную ампулу обезболивающего.

— Препарат один. Грузчику.

— Решение принимаю я. Сейчас препарат не нужен ни одному. Сначала остановлю кровь.

Охранник хотел возразить.

— У меня двое раненых, — сказала Евгения. — Форма в сортировке не работает.

Павел стоял рядом, тяжело дыша после переноски. Он не вмешался.

Евгения закрепила повязку пленному и приказала готовить обоих к эвакуации под охраной.

Очередь снова прошла по верхней стене.

— Денис, четвёртая партия ещё снаружи, — сказал Павел.

Мы вернулись к воде.

Дым начал уходить. Стрелок на лодочной платформе поймал окно между фермами и дал несколько коротких очередей по складу. Ответный огонь прекратился.

Марьям уже подключала последний шланг.

— Батарея семь процентов.

— Хватит?

— На перекачку да. На запуск после остановки — не обещаю.

— Тогда не останавливай.

Насос гудел, шланг дёргался у соединения. Мы стояли возле ёмкости и ждали, пока вода уйдёт в резервуар.

Автоматика довела лодки через протоку, но последние метры снова остались людям: разбитая стенка и слабая батарея насоса дальше машины не пускали.

Индикатор опустился до трёх процентов.

Марьям отключила насос.

— Всё. Четвёртая внутри.

Павел сел у стены и проверил время.

— Пять сорок семь.

С выхода первой лодки не прошло и часа, хотя по работе на причале казалось больше.

Мы проверили причал.

У стенки стояли первая, вторая, четвёртая и пятая лодки. Третья мигала в иле. Шестую развернуло к камышу, и её решили не трогать до разведки.

Кирилл сообщил с Крайнего, что Сорока после двух кругов новых дронов не нашла. Я запретил тратить батарею на третий проход.

Вера попросила прислать журнал М-17 и видео течения у свай.

Я отправил оба пакета по кабелю.

Через несколько минут она вызвала меня отдельно.

Вера сообщила результат проверки. Фраза «третью отпусти» была взята из записи аварии 17 октября 2057 года на той же протоке. Тогда шесть грузовых лодок шли через проход, третья начала догонять вторую из-за разницы тяги и бокового течения. Лодочник вывел её к западной отмели, где она села на ил, а четыре следующих корпуса прошли. Последнюю лодку потеряли по другой причине — её повредило обломком после взрыва на берегу.

Я посмотрел на нашу третью лодку и попросил сравнить воду.

Вера вывела две шкалы. Уровень прилива отличался на несколько сантиметров. Направление течения в момент команды почти совпадало.

По словам Веры, фильтр распознал повтор по скорости лодок, уровню воды и боковому сносу. Архивная фраза была частью старого события, и модель связала её с похожим маршрутом. Пепельное поле могло усилить совпадение, но обычных данных хватало, чтобы выбрать ту же команду без предсказания.

Павел подошёл с бумажным журналом разгрузки.

— Значит, мёртвый лодочник нас не спасал?

— Запись помогла распознать ситуацию, — ответила Вера по громкой связи. — Это точнее.

Павел заметил, что запись не увидела шестую лодку. Вера ответила: в старой аварии не было нынешнего дрона. Я посмотрел на разбитый корпус у камыша. Эта граница работала лучше любого объяснения.

Повтор помог там, где вода, порядок лодок и ошибка тяги совпали со старым случаем. Новый манёвр противника в него не помещался.

— Это в журнал, — сказал я. — Отдельно.

Вера подтвердила.

Марьям подсчитала: четырёх партий хватало на сутки при текущем расходе.

— Следующий рейс? — спросил я.

— По этой трассе без нового ретранслятора не пойдёт.

Павел посмотрел на запад.

После возврата помех маяк Насосной косы работал с провалами. Повторять маршрут без устойчивой привязки было опасно, а противник теперь знал точку разгрузки.

— Проводной, — сказал Павел.

— Время на подготовку?

— До полудня надо быть готовыми к выходу.

— Значит, опять без длинного отдыха.

— Отдохнём после проверки острова.

— Ты умеешь обнадёжить.

Я открыл карту. На небольшом острове севернее косы стоял старый узел, который мог закрыть разрыв связи между К-7 и внутренними маршрутами.

— Если поднимем ретранслятор там, лодки получат локальную привязку до самой косы.

— Если остров свободен.

— После сегодняшнего я на это не рассчитываю.

Евгения вышла из нижнего прохода. На перчатках осталась кровь.

— Грузчика увезли. Пленный тоже готов к транспортировке.

— Оба стабильны? — спросил я.

— Пока да.

Охранник за её спиной отступил.

К 06:35 разгрузку закончили. Батарею насоса поставили на заряд, у мобильной группы осталось меньше половины ленты.

Третью лодку решили не вытаскивать до следующего спада воды. Она сидела в иле, повернув нос к западной отмели. Мимо неё шёл мусор, по которому я утром проверял течение.

Четыре одинаковых корпуса стояли у Насосной косы. Они дошли потому, что одну машину мы сознательно вывели из строя. Шестая погибла от угрозы, которой старый повтор не знал.

Я проверил течение и подтвердил вывод третьей лодки из строя. Голос в решение не записывал.

Я записал основание сам.

Павел прочитал строку и вернул журнал.

— Считаешь это хорошим примером работы фильтра?

— Да. Голос дал вариант, но решение я подтвердил по воде.

— А если бы третью после посадки добили?