
Полная версия
Большой Уссурийский. Нулевая протока
— Вы всё ещё не сказали, почему попытка искать погибших связана с картами.
— Потому что мы допустили ошибку. Решили, что у острова должно быть одно правильное описание.
— У него есть государственная граница и утверждённые названия.
— Речь не о принадлежности территории. Граница урегулирована. Мы пытались свести старые русла, местные названия, промеры разных лет и личные записи в одну схему. Хотели убрать противоречия.
— И что получили?
— Пустую середину, которая стала слишком удобной. В ней можно было записать маршрут, не принадлежащий ни одной исходной системе.
Алексей посмотрел на разрыв между линиями.
— Нулевая протока.
— Так её назвали после первого совпадения с документом о переходе.
— Каким документом?
— Этого сегодня не будет.
— Семён мог попасть туда.
— Поэтому вы получите карту, а не весь архив.
Климов вынул лист без даты. На нём пустой коридор был проведён серым карандашом. У края стояла подпись: «вход не подтверждён». Алексей наложил поверх прозрачную копию плана пункта пропуска. Ось будущей дороги прошла через коридор.
— Десятая полоса, — сказал он.
— Пока только совпадение.
Алексей совместил опорные точки. Девять проектных направлений легли рядом с отмеченными старыми руслами. Десятое вошло в пустой промежуток.
Алексей уточнил, видел ли Климов современную схему стройки раньше. Тот получил её только сегодня, поэтому линии десяти полос не могли быть заранее нанесены на старую карту.
На старой карте проступил светлый след. Сначала Алексей решил, что это царапина на защитной плёнке. Он снял прозрачный лист. След остался на бумаге.
От пустого коридора расходились прямые линии. Их становилось больше, пока на карте не появилась геометрия проектных полос. Климов выключил верхнюю лампу и осветил лист сбоку. Линии лежали внутри бумаги, словно их нанесли до старения.
— Оригинал подменяли? — спросил Алексей.
— Он хранился здесь. Журнал выдачи перед вами.
— Чернила можно проверить.
— Проверим сейчас.
Климов взял ватную палочку, смочил её водой из закрытой бутылки и коснулся свободного края. Бумага потемнела обычным пятном. Возле новых линий вода собралась в каплю и не впиталась.
— Другая пропитка, — сказал Алексей.
— Вся карта из одного листа.
Алексей измерил координату начала линий по сетке. Она совпала с исходным положением смещённого репера. Физическое положение знака давало сдвиг, приборная координата — точное начало рисунка.
— Карта реагирует на исходную точку, — сказал Алексей.
— И на предмет, который вы принесли.
Контейнер стоял на соседнем столе. Белая стрелка на асфальте теперь указывала прямо на карту.
Алексей позвонил Линь и отправил ей снимок. Она попросила не перемещать лист и прислать отдельные кадры без электронной обработки.
Линь потребовала проверить зеркальный участок по китайским исходным данным и сохранить российский оригинал у независимого свидетеля. Климов подтвердил, что карта из архива не выйдет; Алексей получит только заверенную копию.
Старик добавил письменное условие: копия передаётся для поиска живого Семёна Кириллова и не может использоваться для закрепления маршрута Романа Неверова. Алексей заметил, что это не юридический запрет, но всё же поставил подпись под обязательством не использовать карту для поиска Романа.
Климов сделал копию нужного фрагмента, отметил исходную координату и поставил печать речного клуба. Подписанное обязательство осталось в журнале, а оригинал карты — на столе под стеклом.
Новые линии на карте стали белее. У десятого направления начали проступать буквы. Климов первым заметил надпись и включил камеру.
Слова появлялись медленно, будто их выводила вода внутри бумаги.
«Десятая полоса — входная отметка».
Алексей перечитал фразу и перевёл взгляд на контейнер с асфальтом. Стрелка под крышкой повернулась к двери архивной комнаты. За дверью начинался обратный путь, для которого уже не хватало одного навигатора.
Глава 6. Два моста
Утром над Фуюанем шёл низкий дождь. Линь Юэ стояла у окна технического офиса и смотрела, как машины уходят к мосту через протоку Фуюань. Мост соединял Фуюань с Хэйсяцзыдао. Дальше начиналась дорога к будущему пункту пропуска, но до российской площадки она пока не доходила.
На экране телефона оставался снимок карты Климова. На старой бумаге проступили десять прямых линий, а под последней появилась надпись о входной отметке. Алексей прислал изображение поздно вечером и добавил одну фразу: «Оригинал у независимого свидетеля». Для него это почти заменяло признание, что Климов оказался прав.
Линь сохранила снимок отдельно от рабочих материалов. Смешивать его с официальными схемами она не собиралась. Сначала требовалось найти запись на своей стороне.
Дверь открылась, и Чэнь Жуй вошёл с двумя стаканами кофе. На его каске была наклейка с уткой в защитном жилете.
Он поставил стаканы, увидел ночной снимок карты и быстро понял задачу: десятая полоса проходила через пустой участок, а Линь искала на китайской стороне след машины, объявленной российским оповещением. Чэнь напомнил, что молчание оповещения ещё не означает пустой журнал.
Доступ к исходным маршрутам требовал совместного запроса. Чэнь Жуй мог читать только состояние оборудования; Линь настаивала, что совместной системы пока нет и локальную запись нужно сохранить до обновления. Оба понимали: им мешал не только регламент, но и осторожность профессора Чжао Вэймин.
Линь позвонила Чжао и сослалась на российское сообщение с точным временем и направлением из Фуюаня. Наставник потребовал дождаться согласованного запроса. Она предупредила, что локальный журнал может обновиться и что независимость записи нужно установить сейчас.
Чжао разрешил фиксировать техническое состояние и носитель, но запретил открывать маршруты до оформления доступа. Разговор дал почти всё, кроме нужного журнала; Линь решила начать с разрешённой части проверки.
Они выехали к мосту. Линь сидела рядом с водителем и сверяла время ночного события. Оба журнала хранили события в едином серверном времени, хотя локальные часы Хабаровска и Фуюаня отличались на два часа. Российская запись соответствовала трём минутам первого часа ночи по хабаровскому времени. После нормализации отметки совпали. Главным оставалось направление: журнал отмечал прибытие из Фуюаня, хотя дорога с той стороны ещё не была соединена.
На подъезде к мосту Чэнь напомнил, что скрытый физический проезд исключала отдельная система наблюдения. Линь искала не машину, а её запись без транспорта. Такой сбой, заметил Чэнь, ремонтировать труднее.
Мост через протоку Фуюань работал много лет и связывал материковый Китай с Хэйсяцзыдао. Линь специально сняла координаты на въезде и на островном конце. Ей требовалось проверить, не возникла ли ошибка ещё до будущего пункта пропуска.
Обычный журнал моста не показал проездов. После фильтрации служебных вызовов они нашли запрос ровно в 00:03:11: без источника и карточки транспорта, только с ответом контроллера «локальная точка доступна». Внешних соединений в этот момент не было.
Чэнь предложил ограничиться контрольной суммой, но Линь настояла на физической копии. Они договорились, что накопитель останется в шкафу контроллера и не покинет китайскую сторону. Так запись сохраняла независимое происхождение.
Он отфильтровал записи. В 00:03:11 контроллер получил короткий запрос от островного направления. Команда не открывала шлагбаум и не включала сигнал. Она только проверяла готовность маршрута.
Чэнь открыл список сетевых соединений. В момент запроса внешних каналов не было. Локальный контроллер работал автономно.
Чэнь вздохнул и создал защищённую локальную копию. Накопитель оставил в шкафу контроллера, запечатав порт служебной лентой.
Во втором узле машина считалась ушедшей к материку, тогда как российский журнал отмечал прибытие из Фуюаня. Линь напомнила схему двух мостов. Китайский связывает Фуюань с Хэйсяцзыдао, российский — Хабаровск с российской частью Большого Уссурийского. Между ними лежат дороги и два пункта пропуска, ещё не соединённые в общий маршрут.
Совпавшие события были привязаны к обоим краям будущего пути. Допуск не подтвердил ни один контроллер; отметка пришла из временного узла с пустым номером — ещё одно событие, которого в штатной процедуре быть не должно.
Они доехали до технической площадки будущего китайского пункта. Часть оборудования находилась во временном модуле, остальное проверяли на стендах. Постоянного движения здесь не было, поэтому ночная запись не могла затеряться среди реальных проездов.
На технической площадке Линь попросила воспроизвести только поля направления и допуска, не загружая исходный журнал. Инженер смены считал повтор лишним, но согласился на изолированный стенд. Чэнь предупредил: обещанные пять минут, скорее всего, превратятся в сорок и один служебный конфликт.
Им дали изолированный стенд. Он не имел связи с внешней сетью и управлял двумя световыми стрелками на макете проезда. При обычном тесте одна указывала на въезд, другая — на выезд.
Линь открыла поле «сторона допуска». В китайской версии оно обозначало систему, которая должна принять транспорт после прохождения местного контроля. В российской копии сходное поле переводилось как «принимающая сторона». Перевод был близким, но неточным.
Сначала Чэнь выбрал китайскую сторону: стрелка указала к местному пункту. Российское значение развернуло её к будущему соединению. Пустое обязательное поле погасило обе стрелки.
Когда в форму подставили русское «принимающая сторона», обе стрелки указали наружу. Замена на «сторону подтверждения» заставила их меняться местами: программа заново выбирала адрес действия, но не находила владельца и ожидала внешнюю функцию.
Инженер смены попросил прекратить тест: стенд начал формировать команды для несуществующего модуля. Чэнь Жуй отключил внешний сетевой кабель; служебная линия между контроллером и локальным регистратором осталась подключённой. Стенд перестал обмениваться данными с общей сетью, но команды продолжили появляться в его локальном журнале.
— Источник внутри программы? — спросила Линь.
— Проверяю.
Чэнь открыл таблицу функций допуска. У каждой был номер и владелец. У последней записи не было номера. В графе владельца стояли две пустые скобки.
Линь вспомнила знак в паспорте Семёна.
— Покажи символ крупнее.
Чэнь вывел его на экран.
— Ты его видела?
— В найденном документе. Он не адресован ни российской, ни китайской системе.
— Значит, это общий контур?
— Общего контура нет.
Инженер смены указал на журнал.
— Строка создана во время теста?
— Нет, — ответил Чэнь. — Она существовала до загрузки стенда. Мы только заставили её проявиться в таблице.
— Тогда откуда подтверждение?
Чэнь открыл ночную строку автомобиля. Рядом с полем допуска стоял тот же символ. Неизвестная функция подтвердила проезд, хотя ни одна сторона этого не делала.
Линь попросила повторить тест с полностью отключённым питанием стенда. Инженер смены возразил, что без питания ничего не произойдёт, но Чэнь уже вынул кабель.
Световые стрелки погасли. На экране ноутбука осталась копия журнала. Через несколько секунд направление ночной машины изменилось само: статус «выбыла» сменился на «прибыла».
Даже после отключения стенда копия журнала меняла направление машины при выборе пустой стороны допуска. Ноутбук был вне сети, файл открыт только для чтения. Контрольная сумма не менялась. Иным становилось только отображение поля: каждый проверяющий видел, что транспорт отправлен к соседу. Поэтому обе стороны считали машину выбывшей.
Линь закрыла копию и открыла заново. Запись снова считала машину выбывшей. Они повторили тест. При выборе пустой стороны допуска направление поменялось.
Линь посмотрела на схему маршрута. Два моста удерживали собственные точки. Каждый журнал знал свой берег и собственную дорогу, но середина существовала только как взаимное ожидание. Неизвестная функция заняла это место и подтвердила проезд вместо обеих сторон.
Она позвонила Алексею. Он ответил почти сразу.
— Нашли запись, — сказала Линь. — Время совпадает до секунды. Здесь машина ушла в обратном направлении.
— Сетевого обмена не было?
— Не было. Запись появилась в локальном контроллере моста.
— Номер?
— Отсутствует.
— Водитель?
— Тоже. Допуск подтверждён функцией без владельца.
Алексей помолчал.
— Такой же знак, как в паспорте?
— Да.
— Карта Климова показывает входную отметку на десятой полосе. Возможно, мосты фиксируют концы маршрута.
— Я тоже так думаю. Но пока передадим только проверенные данные.
— Левин уже знает?
— Почему он должен знать?
— Утром запросил копию отчёта по асфальту.
— Не отправляй исходные материалы.
— Елена решает доступ. Я предупредил её.
Линь хотела спросить, сумел ли он вспомнить дорогу к дому, но при нём не стала. Алексей сам не сообщал о потере, хотя она видела, как он открыл карту сразу после прикосновения к асфальту.
— Сохрани исходный журнал отдельно, — сказал он.
— Уже.
Чэнь посмотрел на неё.
— Мне приятно, что вы оба цените мою будущую дисциплинарную беседу.
— Запись остаётся на китайской стороне, — ответила Линь. — Это важно.
— Для дисциплинарной беседы тоже.
После разговора Линь составила краткое техническое заключение. Она указала совпадение времени, автономность систем и появление неизвестной функции допуска. Версию о маршруте между мостами в документ не внесла: для неё требовалась совместная проверка.
Чжао Вэймин позвонил сам.
— Вы открывали журнал маршрутов? — спросил он.
— Мы проверили локальный контроллер моста и изолированный стенд.
— Я просил ждать согласования.
— Российская копия могла измениться. Нам требовалась независимая фиксация.
— Вы приняли решение за группу.
— Я приняла решение сохранить данные нашей стороны.
— Это не одно и то же?
— Нет. Я не передала исходный файл и не согласовала общую версию. Копия хранится здесь.
Чжао замолчал. Линь знала этот способ разговора: наставник давал ей время самой понять, насколько далеко она зашла.
— Отчёт направьте мне до передачи российской стороне, — сказал он. — Дальнейшие проверки только после согласования.
— Хорошо.
— И прекратите опыты с переводом.
— Мы проверяли адрес подтверждения.
— Именно поэтому прекратите. Формулировка влияет на логику системы, а вы пока не понимаете, как.
Сеанс связи завершился. Чэнь покрутил в руках наклейку-пломбу.
— Он сердится?
— Он осторожен.
— Это слово люди используют, когда начальник сердится профессионально.
К площадке подъехал автомобиль с китайскими номерами. Аркадий Левин вышел вместе с представителем подрядчика и показал документы на доступ. До Фуюаня он добрался через действующий пограничный переход, а местную машину предоставил подрядчик. Разрешения были оформлены без ошибок. Линь не знала, когда он успел их получить.
— Елена Руденко сообщила о совместной проверке, — сказал Левин. — Я привёз подтверждение по тестовому каналу.
— Какому каналу? — спросила Линь.
— Резервному обмену проектными данными. Он мог создать зеркальную запись.
Чэнь пригласил его в модуль. Левин посмотрел на стенд и сразу спросил, удалось ли воспроизвести смену направления.
— Откуда вы знаете о направлении? — спросила Линь.
— В российском журнале машина прибыла. Логично предположить, что здесь она выбыла.
— Логично. Но запись появилась до обмена данными.
Левин передал ей папку с разрешениями и схемой тестового канала.
— Пакеты могли сохраниться в буфере и пройти после восстановления связи.
— Контроллер моста не был подключён к этому каналу.
— Значит, ошибочно получил служебный шаблон.
— Шаблон тоже загрузили позже.
Левин согласился. Он изучил совпадение времени и неизвестный символ.
— Полезная находка, — сказал он. — Теперь проверку хотя бы не закроют как внутреннюю неисправность российской площадки.
В этом он был прав. Официальное объяснение о тестовой синхронизации давало группе время. Без него доступ могли остановить до отдельного расследования.
— Вы предлагаете принять неверную версию? — спросила Линь.
— Я предлагаю принять проверяемую рабочую версию. Она позволяет сохранить оборудование и людей на местах. Если её опровергнем, будет следующий этап.
— Вы уже знали о таком сбое?
— Знал, что проектные системы иногда подтверждают маршрут до физического соединения.
— Это невозможно без адреса допуска.
— Поэтому мы и проверяем нулевой коридор.
Чэнь перестал листать бумаги. Линь посмотрела на Левина.
— Как вы его назвали?
Он задержался на долю секунды.
— Технологический разрыв между двумя системами.
— В документах такого термина нет.
— Рабочее название. Так проще объяснять инвесторам пустой участок.
— Кто его предложил?
— Не помню. Возможно, один из проектировщиков.
Линь открыла папку. В документах стояло «участок будущего сопряжения». Слов «нулевой коридор» нигде не было.
Левин подошёл к экрану.
Ему показали не исходный журнал, а рабочую копию. В служебной части обнаружилось свёрнутое поле пассажиров, хотя водитель и пассажиры отсутствовали. После открытия появилась строка без номера документа.
— Закройте, — сказал Левин до того, как имя стало читаемым.
Чэнь не выполнил команду. В поле проявилось: «Вера Левина». Аркадий объяснил фамилию данными своего разрешения, но разрешение загрузили позже. Он заметил первые буквы раньше, чем строка развернулась в правильном направлении, и потребовал не делать выводов из его реакции.
Он помог им сохранить проверку, привёз нужные разрешения и предложил объяснение, которое руководство хотя бы могло обсуждать. Но термин «нулевой коридор» произнёс до того, как увидел схему. Имя Веры узнал до появления читаемой строки.
После его ухода Линь велела закрыть рабочую копию. Исходный файл остался в контроллере моста. Вторую изолированную копию он записал на новый накопитель и убрал в отдельный шкаф.
— Чжао будет очень доволен, — сказал Чэнь.
— Он будет знать, где хранится файл.
— Это не то же самое.
— Сегодня всё не то же самое.
Линь отправила Алексею только заверенную выписку со временем операции и направлением. Имя пассажира передала отдельным сообщением, без фотографии журнала. Так российская копия не могла стать единственным источником.
Перед закрытием Чэнь ещё раз открыл строку. Неизвестная функция допуска оставалась активной. Поле пассажира получило статус, которого не было в штатном интерфейсе.
На экране стояло: «Вера Левина — прибытие не завершено».
Глава 7. Ночной досмотр
К одиннадцати вечера площадка снова жила обычной ночной работой, но только за пределами двух закрытых полос. На восьмой укладывали кабель, у дальнего павильона сварщик собирал ограждение. Девятая и десятая оставались за бетонными блоками, а перед технологическим проездом дежурил погрузчик с поднятым ковшом.
Алексей сидел в контрольной кабине и сверял копию журнала с выпиской, которую Линь прислала из Фуюаня. В обеих системах машина появилась в одну секунду. Российская запись считала её прибывшей, китайская — выбывшей. Номера и водителя не было. Допуск подтверждала функция без владельца.
На соседнем мониторе светилась надпись, появившаяся после проверки на китайской стороне: «Вера Левина — прибытие не завершено».
Елена не разрешила вносить имя в общий отчёт. Левину о строке официально не сообщали.
Паша принёс чайник, но Алексей велел убрать его от аппаратуры. Рабочий успел заметить имя Веры в окне журнала и спросил о Семёне. Алексей показал ему пустую строку смены и велел проверить, не изменился ли статус пропуска пропавшего мастера.
Алексей закрыл окно журнала. Он собирался отправить Пашу на обход, когда камера технологического проезда дёрнулась. В кадре мелькнула тёмная кабина грузовика.
Машина появилась у насыпи без перехода из соседней зоны. Ещё секунду назад проезд был пуст. Теперь грузовик медленно катился к шлагбауму.
— Включи запись на отдельный носитель, — сказал Алексей.
Паша перестал улыбаться.
Он увеличил кадр, но номерного знака на кабине не оказалось.
Алексей вызвал пост у закрытого сектора:
— Машина на технологическом проезде. Выход не открывать. Людей убрать за павильон.
Из рации ответил Миша:
— Здесь ничего не слышно.
— Смотри в сторону насыпи.
Через несколько секунд Миша выругался и сразу извинился. В свете мачт машина уже была видна с площадки. Грузовик шёл прямо, фары не горели.
Алексей переключил камеру на шлагбаум. Стрела оставалась закрытой, питание привода было снято после первого исчезновения Семёна. Машина не снижала скорость.
— Погрузчик на выезд, — приказал Алексей. — Ковш опустить. Вторую машину поставьте поперёк проезда.
— Водителя предупредить? — спросил Паша.
— Когда найдёшь, предупреди.
Он позвонил Елене. Та была в штабе и ответила сразу.
— Грузовик идёт с закрытого проезда, — сообщил Алексей. — Номера и света нет. Выезд блокируем.
— В кабине есть человек?
— Камера не показывает.
— Не приближаться до остановки. Медиков к павильону. Левину ничего не передавать без моего решения.
— Он уже едет?
— Он запросил ночной доступ полчаса назад.
Шлагбаум поднялся, хотя привод не включился. Стрела пошла вверх медленно, без обычных трёх щелчков и удара. На панели появилось зелёное разрешение проезда. В графе оператора стояли две пустые скобки.
— Питание снято? — спросил Алексей.
Оператор проверил автомат:
— Физически. Кабель отключён.
— Тогда не трогай панель.
Грузовик прошёл под стрелой. Она опустилась сразу за кузовом и легла на упор. Красный индикатор на стойке не загорелся.
Алексей выбежал из кабины. На улице двигатель машины работал почти без звука, хотя грузовик продолжал катиться. Погрузчик перекрыл выезд. Вторая служебная машина встала у бокового прохода.
— Всем за линию! — крикнул Алексей. — К кабине не подходить.
Грузовик свернул в зону досмотра. Машина сама выровнялась между направляющими и остановилась у павильона. Двигатель заглох.
Паша подбежал к Алексею, остановился за чертой и спросил:
— Может, водитель лёг?
— Тогда он очень хорошо паркуется лёжа.
— Я и сидя так не умею.
Елена приехала на служебной машине. За ней остановился медицинский модуль. Она выслушала доклад, посмотрела запись проезда и велела включить обычную процедуру первичного осмотра.
— Обычную? — переспросил Паша.
— У нас нет отдельной инструкции для машины без водителя, — ответила Елена. — Значит, начинаем с той, которая есть.
Алексей согласился. Невозможный грузовик не отменял обычной опасности тяжёлой машины.
Они обошли её с расстояния. Кабина была тёмной. На лобовом стекле не осталось следов дождя, хотя площадка промокла. Под передней осью растекалась вода.
— Запаха топлива нет, — сказал Миша.
— Не наклоняйся под раму, — остановил его Алексей.
Тепловизор показывал холодный кузов и слабое тепло двигателя. Человека в кабине не было.
Елена назначила двух наблюдателей и только после этого разрешила приблизиться. Алексей проверил дверь длинным захватом. Замок оказался открыт.









