Цифровая петля. Рассказ 6
1. 07:12. Марсель. Башня Жольетт Две недели — ровно столько, сколько обещала этикетка из-под ультрафиолета.
Рафаэль Дюран смотрел на Марсель с набережной Жольетт, и Марсель смотрел на него в ответ тысячей отражений: утреннее солнце било в стекло делового квартала, в старую кирпичную кладку доков, в воду, по которой, как рассерженные жуки, ходили катера лоцманов. Над всем этим — над крышами, над мачтами, над рыжими кранами вдалеке — стояла, как всегда в августе, белая богиня Нотр-Дам-де-ла-Гард и смотрела на море с выражением человека, который всё это уже видел.
— Сорок три градуса восемнадцать минут северной широты, пять градусов двадцать две минуты восточной, — сказала Эмма Ру, сверяясь с телефоном. Она стояла рядом, худи завязана на поясе — в марсельскую жару даже у неё хватило ума не напяливать её на себя, — и жевала первую за день пластинку мятной жвачки. — Ты знаешь, куда мы попали? Это не порт, профессор. Это штаб-квартира. Башня Жольетт, главная контора портовой администрации. А индустриальные причалы — там. — Она махнула рукой на север, где над горизонтом стояла мутная дымка над промышленной зоной Фос. — Четыре минуты от этих координат пешком — и старый паромный терминал. Я вчера прошлась. Красивое место. Ржавые сходни, чайки, камеры хранения с номерами.
— Запомни номер шестьдесят два, — сказал Рафаэль.
— Уже запомнила. Ты повторяешь его как молитву с самого Бордо.
— Потому что он всегда повторяется. — Рафаэль свернул бумажную карту города — Эмма сфотографировала этот жест с благоговением археолога — и посмотрел на север. Отсюда, через двадцать километров солёного воздуха, было видно то, о чём утром говорили все радиостанции Франции.
Гигантские краны Фос-сюр-Мер двигались.
В этом не было бы ничего странного — краны там двигались всегда, двадцать четыре часа в сутки, триста шестьдесят пять дней в году, перекачивая через южные ворота Европы товары, которыми Европа завтракает, лечится и воюет. Странно было то, как они двигались. Не рабочим шагом — не то размеренно поднимая контейнеры с судов и укладывая в ровные кардовые штабеля, — а странно: рывками, поворотами на месте, перенося многотонные коробки с ряда на ряд, с сектора на сектор, по траекториям, от которых у любого логиста седели бы виски. Со стороны это походило на танец. На очень старый, очень точный танец, разученный кем-то, кто ненавидел хореографию.
— Сорок два судна на якоре, — сказала Эмма, листая утренние сводки. — Очередь на разгрузку — девять суток. Овощи из Северной Африки гниют прямо в рефконтейнерах, фарм-грузы стоят под таможенным замком, автозавод на паузе, супермаркеты юга переходят на стратегические запасы. Профсоюзы требуют армии. Министр требует чудес. А портовая администрация требует вас — потому что вчера вечером в их инфосистеме появилось вот это. — Она развернула телефон: скриншот служебного табло, чёрный фон, бордовый прямоугольник в углу. — Знакомая страничка?
Рафаэль прочитал:
«Порядок важнее скорости. Красная книга, страница шестьдесят два».
— Он даже не требует выкуп, — сказала Эмма. — Знаешь, что самое противное? Мне даже работать интереснее, когда они хоть что-то требуют. А это… это как вирус, который прислал благодарность за установку.
— Это не вирус, — сказал Рафаэль. — Это заявление. Поехали. Молоток здесь не падает — здесь падают контейнеры по двенадцать тонн, и мне не хочется быть под одним из них, когда он решит, что порядок важнее гравитации.
2. 09:40. Диспетчерская «Фос-2». Стеклянный мозг Автоматизированный контейнерный терминал «Фос-2» занимал семьсот гектаров ровного, как стол, бетона между солончаками и морем.
С высоты диспетчерской — стеклянного девятого этажа операционного центра — это выглядело как гигантская шахматная доска, на которой играли одновременно двенадцать партий: двенадцать автоматических кранов на рельсовых эстакадах, каждый высотой с пятнадцатиэтажный дом, возились над рядами контейнеров — сорок тысяч штук, сорок тысяч стальных коробок, каждая со своим именем, грузом, адресатом и биографией. Между рядами ползали, как мыслящие жуки, автопилотные шаттлы. Никаких людей. Никаких сигналов руками. Только ветер с моря, гул высоковольтных шин — и этот невозможный, умопомрачительный порядок, который три дня назад перестал быть порядком.
Диспетчерская была вымершей. Шестьдесят рабочих мест, шестьдесят экранов — и человек десять, сидевших перед ними без дела, как органисты у инструмента, на котором кто-то чужой играет мессу. В дальнем конце, у панорамного окна, стоял мужчина, которого Рафаэль опознал по осанке человека, привыкшего извиняться перед акционерами: Филипп Наварро, операционный директор логистического гиганта «МедиАтлас», владельца терминала. Рядом с ним — женщина с планшетом и лицом хирурга в момент, когда операция идёт не по плану: Ясмина Бенали, руководитель кибербезопасности. И отдельно, у стены, на стуле, поставленном явно не по штатной схеме, — старик с лицом из красного дерева: Кристиан Обер, начальник службы автоматизации, по легенде офиса — человек, который строил эту систему ещё тогда, когда она умещалась в трёх шкафах.
— Мсье Дюран. — Наварро пожал руку так, словно боялся, что она запомнит. — Мадемуазель Ру. Спасибо, что так быстро. Я не буду пересказывать новости — вы их видели из машины. Скажу только, что мы потеряли управление в ночь на вторник. Система перестала принимать команды диспетчеров. Всё, что мы можем, — смотреть.
— Дверь в серверные? — спросил Рафаэль.
— Запечатаны. Но, — Наварро замялся, — но система ведь не взломана снаружи. Мадемуазель Бенали покажет. В том-то и кошмар: сеть закрыта. Закрытый сетевой узел, физическая изоляция, никаких внешних подключений. Он не мог прийти снаружи, мсье. Он был здесь всегда.
Рафаэль медленно обернулся к панорамному окну. Внизу кран №7 только что поставил сорокатонный контейнер поверх штабеля, в котором этому контейнеру делать было решительно нечего.
— Эмма, — сказал он. — Тебе нужна тишина и зеркало их инфосистемы.
— Мне нужен стул у розетки и гарантия, что никто не подышит мне в шею, — сказала Эмма, уже снимая худи с пояса и надевая его обратно — теперь как рабочий инструмент, — и наушники на голову. — Бонжур, мадемуазель Бенали. Покажите мне вашу систему целиком. Со всеми скелетами. Особенно с теми, о которых вы не рассказывали директору.
Бенали посмотрела на неё — сверху вниз, с опаской профессионала, встречающего хищника из чужой экосистемы, — и кивнула:
— Есть отдельная комната. Экран в сорок дюймов. Кофе машинный.
— Кофе — мне, — сказал Рафаэль ровно. — Чёрный. Без сахара. И, пожалуйста, — он поднял на Наварро глаза, — план безопасности объекта. Бумажный, если есть. С отметками всех серверных, люков, гермодверей и окон обслуживания за последние три года.
— Бумажный? — переспросил Наварро.
— У Обера наверняка есть, — сказал Рафаэль, глядя на старика. — Люди, которые строили системы, не доверяют их описаниям экрану. Верно, мсье Обер?
Старик с лицом из красного дерева медленно поднял голову. В его взгляде было усталое, затаённое торжество человека, который всю жизнь твердил одно и то же и которого всю жизнь не слушали.
— В моём кабинете, — сказал он. — В четырёх папках. За тридцать один год.
3. 13:20. Код и бумага До часу дня в операционном центре существовали два параллельных мира.
В первом — стеклянная комната с сорокадюймовым экраном — Эмма Ру воевала с инфосистемой терминала. Она работала так, как работают фехтовальщики: полунаклон, локти, ритм. Жвачка щёлкала в такт строкам кода. Наушники играли ей что-то, от чего у дежурных операторов за стеной портилось настроение.
Во втором — маленький переговорный кабинет с бумажными планами на стене — Рафаэль Дюран пил машинный кофе (выразил суждение: «растворимый кофе — это напиток для людей, которые не верят в завтрашний день», и все в комнате сделали вид, что не услышали) и читал папки Кристиана Обера, грея ладони в митенках о стакан.
— Итак, — сказала Эмма из своей комнаты ровно через три часа, и её голос в переговорной прозвучал через селектор с интонацией человека, который принёс не новость, а диагноз. — Директива для всех: сядьте. Япония для вас приготовила.
Она вошла в кабинет, села на край стола, сняла наушники на шею.
— Слушайте. Первое: внешней атаки нет. Совсем нет. Я обшарила все периметры — журналы шлюзов, точки удалённого доступа, каналы связи с судоходными линиями, таможенные интерфейсы. Чисто. Цифровой след снаружи — ноль. Кто-то один раз в жизни попытался прощупать их публичный сайт — школьник из Марселя, он уже извинился. Сеть, которая сходит с ума, — закрыта, как сейф. И это, — она подняла палец, — оскорбительно. Я двадцать четыре часа ждала достойного противника в периметре, а его там не было.
— Значит, он внутри, — сказал Рафаэль.
— Значит, он вообще не приходил. — Эмма развернула ноутбук. — Смотри. Инфосистема терминала — это, грубо, три слоя. Нижний: железо — краны, шаттлы, датчики. Средний: диспетчерская логика — что, куда, когда двигать. Верхний: мозг — модуль оптимизации, который решает, как уложить сорок тысяч коробок, чтобы корабли грузились за часы, а не за недели. Так вот, в модуле оптимизации есть штатный, сертифицированный, спящий с 2019 года… — она сделала паузу, наслаждаясь, — режим наследия.
— Наследия? — переспросил Наварро.
— Режим совместимости со старыми методами планирования. Легаси-модуль. Никто им не пользовался девять лет. В нём — алгоритм. Я его распотрошила, и у меня, поверьте, был очень выразительный момент, когда я поняла, что вижу. Это не программа, господа. Это — математика пятидесятилетней давности. Вы правда хотите?
— Хотим, — сказал Рафаэль.
— «Шахматный порядок», — сказала Эмма тихо, и жвачка на секунду замерла. — Терминал разбит на двенадцать секторов, каждый сектор — сетка восемь на восемь ячеек-рядов. Алгоритм трактует эту сетку как шахматную доску, а каждое перемещение контейнера — как ход коня: буквой «Г». Два вверх, один вбок. Никогда по диагонали, никогда по прямой. Зачем? А затем, что при такой геометрии ходов любой штабель всегда остаётся достижимым: конь не ломает башни, он их обходит. Это гениальная вещь, если вы планируете погрузку на бумаге, карандашом, при забастовке, без единого компьютера. Кто-то умный придумал её очень давно. А кто-то другой взял эту бумажную гениальность и переписал её в код. Безупречно, я подчёркиваю: это не «портирование», это реставрация. Имена переменных — по-французски, структура — как у программ сорокалетней давности, комментариев нет вообще. Кроме одного. В шапке модуля.
Она развернула экран. Среди строк — одна, вынесенная отдельно:
«Порядок шахматный. Из тетради «К». Страница 62. Конь не прощает, но и не забывает».
— Из тетради «К», — повторил Рафаэль. — Красная книга. Он даже не шифруется. Он подписывается.
— А теперь главное, и прошу, не падайте. — Эмма посмотрела на Бенали. — Ваша инфосистема не заражена. Она исправна. Модуль наследия был активирован корректно, штатной командой, штатным интерфейсом, с действующей подписью сервисного ключа вендора. Система не сломана, господа. Система послушно исполняет то, что ей велел человек с ключом. Снаружи к ней никто не подходил. Значит…
— …ключ принесли руками, — закончил Рафаэль. Он встал и подошёл к бумажному плану на стене — плану серверных этажей, исчерченному рукой Обера тридцать один год назад. — Физический доступ. Чтобы запустить бумажный алгоритм в закрытую сеть, нужен был не ноутбук. Нужны были ноги, пропуск и десять минут. — Он повернулся к Наварро. — Покажите мне журналы контролей доступа за девяносто дней. Все серверные, все технические помещения. И составьте мне список людей, которые в эти девяносто дней менялись — в поведении, в привычках, в лицах. Я хочу поговорить с руководством и со старшими инженерами. Со всеми.
— Все? — в голосе Наварро впервые прорезался страх за нечто большее, чем акции.
— Все, — сказал Рафаэль с той холодной вежливостью, от которой у собеседников на его памяти случались признания. — Вор в порту — это не тот, кто смотрит на краны, мсье Наварро. Сейчас на эти краны смотрит вся страна. Вор — тот, кто перестал на них смотреть. И я собираюсь найти человека, который отвернулся.
4. 17:45. Поведенческие маркеры Беседы шли в маленьком кабинете с планами на стенах, и Рафаэль вёл их как концерты: одна программа — одна интерпретация.
Филипп Наварро, операционный директор, держался тридцать секунд. Потом начал проверять телефон — каждые девяносто секунд, ритмично, как тикающий нерв. Говорил о репутации, о министрах, о «своей упорной борьбе» — и ни разу о сорока тысячах контейнеров. Люди, думающие о контейнерах, говорят о контейнерах, отметил Рафаэль. Люди, думающие о себе, говорят о себе. Этот — не вор. Этот — декорация. Он отпустил его с вежливостью, от которой тот вышел, чуть не поклонившись.
Ясмина Бенали говорила о протоколах и болела о том, что «пропустила». Рафаэль смотрел на её руки — они лежали на столе спокойно, только большой палец правой то и дело проводил по краю планшета, как по шраму. Вина без знания. Такой человек, если бы знал, пошёл бы с этим к директору в ту же ночь. Она чиста. И она — союзник, потому что ей нужно то же, что и мне: узнать, как её обошли. Он оставил её при Эмме — два цифровых существа, объединённые оскорблением, работали потом так, что серверная гудела.
Самир Хаддад оказался самым сложным случаем. Старик вошёл с двумя папками — бумажными, конечно, — и первой фразой положил их на стол:
— Тридцать один год я предупреждал, что нельзя строить мозг, у которого нет бумажного двойника. Вот он, двойник. Всё, что умеет эта система, умеет и эта папка. — Он сел, сложил руки и посмотрел на Дюрана в упор. — Спрашивайте, мсье профайлер. Я знаю, чем вы занимаетесь. Я тридцать один год делаю систему, которая не врёт, — полюбопытствую, каково это.
Рафаэль почти улыбнулся.
— Когда вы в последний раз были в серверной корпуса В?
— Четырнадцатого июня. Плановая инспекция кондиционирования. Я всегда лично, — Обер окинул его взглядом, — потому что я не верю журналам, которые пишут машины о машинах.
— Кто ещё имел доступ в серверную В за последние девяносто дней?
— По журналу — восемь человек. Но журнал вам даст мадемуазель Бенали, она умнее меня в этом. А я скажу то, чего в журнале нет: из восьми семеро — это руки, приученные к порядку. Восьмой… — Обер помолчал, и в его красном лице что-то дрогнуло, — восьмой — мальчик. Хаддад. Ночные смены. Умный выше должности и растеряннее, чем кажется. Я его три раза ловил на том, что он переписывает сервисные скрипты «по-своему» — лучше, между прочим, пишет, чем положено. Я его не наказывал. Я его… не заметил, как полагается замечать старому дураку. — Он вдруг накрыл папки ладонью. — Если вы ищете виноватого среди моих людей, мсье, начните с меня. Я построил этот храм и оставил в нём дверь. Пусть дверь будет моей.
Гнев — это гордость, а гордость — это невиновность, отметил Рафаэль. Виновные не берут чужие грехи на предоплату. Но он запомнил имя. Хаддад.
Вечером Бенали и Эмма положили на стол два документа, и они сошлись, как две половины замка.
Первый — журнал контролей доступа, серверная корпуса В. Три месяца — восемь имён. И одна строка, которая не объяснялась ничем: С. Хаддад, ночные смены, 03:12–03:22, единственный, в ночь на вторник девять недель назад — в ночь плановой калибровки кондиционирования, единственную ночь квартала, когда охлаждение зала отключали на профилактику.
Второй — выписка, которую Эмма вытащила из цепочек подрядчиков за пять минут: персональный договор младшего инженера Хаддада с кадровым агентством «Омега-Вериф» — «выполнение работ по сертификационному аудиту совместимости систем», разовая оплата шесть тысяч евро. Агентство зарегистрировано за семь месяцев до этого. Директор — человек, умерший за год до регистрации фирмы. Телефонная история: один номер, переплачиваемый счёт, тишина.
— Шесть тысяч евро, — тихо сказала Эмма. — За десять минут с ключом в закрытой сети. Знаешь, что это, профессор? Это не гонорар. Это цена носителя. Ему не платили за работу. Ему платили за то, чтобы он был флешкой.
Рафаэль смотрел на строку журнала — 03:12–03:22, десять минут — и чувствовал, как в комнате становится холоднее, чем положено августу.
— Завтра в четыре семнадцать утра, — сказал он, — система, которую построил Кристиан Обер, исполнит шестьдесят вторую перестановку. Мадемуазель Бенали, сколько осталось до того, как гробовая клетка встанет на выезды?
Бенали посмотрела на свой планшет так, как смотрят на рентген чужого перелома:
— По моей модели — восемь циклов. Сегодня ночью.
— Тогда мы разговариваем сегодня. — Рафаэль застегнул пальто, хотя в марсельском вечере было тридцать градусов. — Позовите мне Самира Хаддада. И комиссара вашего, — пусть будет при себе. Мне понадобится человек, умеющий обращаться с наручниками. Хотя, — он помедлил, — боюсь, на этот раз они наденутся на того, кто их не заслужил.
5. 21:50. Допрос. Цифра 24,3 Самир Хаддад вошёл в кабинет, как входят в воду в апреле.
Двадцать шесть лет, тонкий, тёмнокожий, в рубашке, надетой явно по случаю — воротник новый, ещё не примятый. Он сел на край стула, и его колено немедленно начало разрабатывать собственную биографию: вверх, вниз, вверх.
— Мсье Хаддад, — сказал Рафаэль. — Меня зовут Дюран. Я не полиция. Полиция придёт позже, и я не смогу это отменить. Но у нас с вами есть несколько часов, чтобы решить, кем вас запомнят: человеком, который продал порт, или человеком, которого использовали как упаковку. — Он положил на стол распечатку договора. — «Омега-Вериф». Шесть тысяч евро. Расскажите мне про сертификат.
Хаддад говорил — сначала глухо, потом всё быстрее, как прорывает плотину.
Летом ему написал «консультант по сертификации». Представился мадам Ло. Официальное письмо, бланк, всё красиво: консорциум проводит независимый аудит совместимости инфосистем крупных операторов, требуется «аккредитованный сотрудник на объекте» для десяти минут работы с диагностическим ключом вендора. Ключ пришлют. Работы — пассивный сбор конфигураций, ничего не меняется, всё по международному стандарту. Оплата — шесть тысяч. NDA на восемь страниц, где чёрным по белому: «несанкционированное раскрытие деталей аудита влечёт…» — и штраф, от которого у него, у Хаддада, с его контрактом на неполный день, с его студенческим долгом, с его...
— Я думал, это легально, — сказал он и в первый раз поднял глаза. — Понимаете? Я всю ночь читаю чужие журналы, я лучший в смене, я это знаю, и я одиннадцать лет иду к тому, чтобы сидеть в этом здании. И приходит письмо, где всё — как в учебнике. Печати. Стандарты. Номера протоколов. Я проверил их сайт, у них сайт есть, он хороший… — он осёкся. — Он был хороший.
— Что вы сделали в ночь на девятое, в десять минут третьего? — спросил Рафаэль ровно.
И Хаддад солгал.
Это было даже не ложью — это был рефлекс, инстинкт самосохранения человека, который только что понял размер ямы:
— Я не подключал ничего к ядру. Я подключал ключ к диагностическому ноутбуку, в сторонке, у двери. Я даже не помню температуру, я был там десять минут, я…
— Двадцать четыре и три, — сказал Рафаэль.
— Что?
— В вашем отчёте для «Омеги» — вы ведь составили отчёт, иначе вам не заплатили бы, — написано: «помещение серверной корпуса В, двадцать четыре и три градуса, режим штатный». Откуда эта цифра, мсье Хаддад?
— Я… снял её с термометра на стене. Я же был там…
— В ту ночь в серверной было двадцать семь и восемь. — Рафаэль не повысил голоса. Он говорил так, как произносят приговор, зачитывая его виновнику, а не осуждённому. — Единственная ночь квартала, когда кондиционирование стояло на калибровке. Жара, от которой потеют стены. Вы входили туда в рубашке, мсье Хаддад. Вы чувствовали, как от стен идёт тепло, как гудят фанкойлы в аварийном, как пахнет перегретой пылью. Человек, который стоял в той комнате десять минут, не напишет «двадцать четыре и три, штатно». Эту цифру не ощущают. Эту цифру диктуют. — Он наклонился вперёд, и голос его стал ниже. — Вам продиктовали отчёт, Самир. По шаблону. Как диктуют маршрут, когда ведут слепого. Скажите мне, кто диктовал, и где вы оставили ключ.
Тишина. Колено Хаддада остановилось.
Потом мальчик — потому что в этот момент он был именно мальчиком — закрыл лицо руками и сказал в ладони, глухо:
— В камере хранения. На старом паромном терминале. Ячейка номер шестьдесят два. Там надо было оставить конверт с ключом и отправить код на номер из письма. Курьер должен был забрать. — Он опустил руки. Лицо у него было серое. — Он не пришёл. Я неделю ходил туда после смен и смотрел на эту ячейку. Я думал, я всё ещё должен эти шесть тысяч. Понимаете? Я боялся, что мне придётся вернуть.
Рафаэль медленно выпрямился. В дверях, сбоку, уже стояла Эмма — она вошла без стука, с ноутбуком, и на её лице не было ни грамма обычного сарказма.
— Самир, — сказал Рафаэль тихо. — Вы не знаете, что вы сделали. Я вам скажу. Вы были не исполнителем. Вы были носителем. Вас не покупали — вас использовали, как используют флешку: вставили, записали, вынули. Шесть тысяч евро — это не цена вашей работы. Это цена того, чтобы вы не задавали вопросов. — Он поднялся. — Порядок действий такой: вы сейчас повторите всё это комиссару Белкадему, слово в слово, добровольно. Вы покажете нам письмо, номер, контракт. А я, со своей стороны, сделаю всё, чтобы протокол звучал так, как звучит правда: вы — орудие. Слепое. Орудию, которое видит, — Рафаэль посмотрел ему в глаза, — не платят шесть тысяч. Орудию, которое видит, не диктуют температуру.
— А… — Хаддад сглотнул. — А ключ? Он ведь там, в ячейке?
— Да, — сказал Рафаэль.
— Откуда вы знаете? Он же мог…
— Потому что он хочет, чтобы мы его взяли, — сказал Рафаэль уже у двери. И добавил, не оборачиваясь, тем ровным голосом, от которого в его присутствии взрослые люди садились: — Вещи этого человека никогда не теряются, мсье Хаддад. Вещи этого человека — ждут.
6. 03:41. Разрыв петли Ночь над Фос-сюр-Мер была чёрная и синяя, как чернила, разлитые по стали.
Диспетчерская горела всеми шестьюдесятью экранами. Люди, которых днём пришлось бы считать, стояли у окон и смотрели вниз, на бетонную шахматную доску, где двенадцать светящихся кранов завершали, как теперь знал весь зал, шестидесятую перестановку — очередной цикл бессмысленного, безупречного, математически чистого танца.
Механика была понятна, и от этой понятности делалось только хуже.
Алгоритм Магистра строил обход коня по каждому сектору терминала — идеальную последовательность перемещений, в которой каждая ячейка посещалась ровно один раз. Но в бумажных картах пятидесятилетней давности сетка сектора была неполной: две клетки каждой доски всегда были заняты — топливный узел, стрелка, ливневый колодец, — и обход из шестидесяти двух клеток не замыкался в круг. Последний ход всегда оставался открытым. Один контейнер после каждого цикла оставался стоять на «гробовой клетке» — так это называли докеры в восемьдесят первом, когда один чудак-учётчик за девять дней вручную пересортировал четыре тысячи контейнеров по бумажным таблицам таинственного консультанта, — клетке, из которой конь не мог уйти дальше, не нарушив порядка.
Бумажная петля не замыкалась — и на том бумажный мир стоял: человек смотрел на незакрытую клетку, пожимал плечами и жил дальше.
Цифровая система так жить не умела. Она была построена на законе: каждое перемещение — строго по циклу, каждый цикл обязан сомкнуться. Она пыталась закрыть обход шестьдесят двух клеток шестьдесят раз подряд — и шестьдесят раз не могла. Срывала перестановку, откатывалась, начинала заново — и с каждым циклом «гробовой» контейнер вставал на клетку ближе к выездным коридорам терминала. Через четыре цикла он лёг бы на полосу движения шаттлов. Через восемь — на ворота. На шестьдесят второй перестановке, рассчитанной на четыре семнадцать утра, мёртвая бумажная клетка легла бы на живую артерию юга Франции — и тогда даже ручное растаскивание заняло бы недели, потому что растаскивать было бы нечем: каждый кран застрял бы в собственной идеальной геометрии.
— Ручной перехват? — спросила Бенали.
— Пробовала дважды. — Эмма сидела в центре зала, за единственным рабочим местом, которое ей оставили, и по обе руки от неё на стульях лежали три ноутбука, как хирургические инструменты. Наушники она отбросила на спинку — работать стало слышно. — Система находится в «сеансе оптимизации». Пока сеанс активен, контур безопасности не принимает внешних команд: краны физически отказываются слушать кого-то, кроме сеанса. Сеанс закрывается только тем ключом, которым открыт. Ключа у нас нет — он лежит в ячейке шестьдесят два и ждёт, гад.
— Значит, сеанс надо не закрыть, — сказал Рафаэль за её спиной. — Его надо заставить ошибиться.
Эмма обернулась. В её глазах на секунду мелькнуло то самое, что он видел в ней в первый вечер в Женеве: азарт хищника, почуявшего не добычу, а равного.
— Продолжай, профессор.
— Алгоритм — это обход коня, — сказал Рафаэль. — Обход обязан быть биекцией: каждая клетка имеет ровно одного предшественника и ровно одного преемника. Петля — это совершенство. А теперь слушай бумажную легенду, которую ты презираешь. В восемьдесят первом году, во время докерской забастовки, «шахматный порядок» применяли вручную. И докеры оставили в файлах примечание, которое я читал девятнадцатилетним мальчишкой, потому что его дал мне прочитать человек, которого, похоже, не зря убирали с доски. На неполной доске из шестидесяти двух клеток обход не замыкается никогда — это закон паритета. «Гробовая клетка» — это не баг. Это шов, на котором держится вся петля. Если на гробовой клетке окажется два претендента на ход — биекция умрёт. Цикл не сможет существовать. Система не сможет ни замкнуть обход, ни продолжать его. У неё останется ровно один выход — аварийный.
Эмма смотрела на него, и жвачка в её остановившемся рту медленно теряла вкус.
— Подложить контейнер на «гробовую клетку», — сказала она медленно. — Фантом. Призрака. Заставить систему поверить, что на мёртвой клетке стоит живая коробка, у которой свой обязательный ход… Тогда у клетки будет два входа, перестановка перестанет быть перестановкой, петля… — она вдруг рассмеялась, коротко, зло, восхищённо, — петля умрёт, потому что совершенство не терпит беременных двойняшек! Дюран, вы только что описали взлом пятидесятилетней давности с помощью теоремы из курса второго курса!
— Я описал то, что написано в папке Обера, — невозмутимо сказал Рафаэль. — Бумага, мадемуазель, не стареет. Она просто ждёт, пока цифровой мир дорастёт до её проблем.
— Доросли, — сказала Эмма и надела наушники. — Осталось четыре цикла. Работаю.
Три часа сорок одна минута. Кран №3 внизу осторожно, со скоростью акушера, опускал контейнер на штабель, и штабель был не тот — всё вокруг знали, что не тот, и никто не мог крикнуть этому крану хоть слово.
Эмма работала вслух, коротко, глотками, как ныряльщик:
— Вхожу в модуль наследия… балансирую на журналировании, оно ведёт счёт клеток… вот он, «гробовой», клетка двадцать один, сектор семь… — пальцы её застыли над клавишами на долю секунды. — Рафаэль. Мне нужно зарегистрировать призрака. Фиктивный контейнер на клетке двадцать один. Ему нужно имя. У нас есть три секунды на суеверие — какое имя ставить?
Рафаэль смотрел через её плечо на мелькание чисел. И ответил ровно, без паузы:
— ATLZ 1729 0.
Эмма стукнула клавишу.
— Принято, — прошептала она. — Скучных чисел не бывает, месье Магистр. Это число умеет быть двумя суммами сразу. А твоя петля хочет быть одной. Прощай.
Она нажала ввод.
Три секунды ничего не происходило — и эти три секунды были самыми длинными в жизни шестидесяти диспетчеров. Потом на главном экране, посреди идеальной сетки, вспыхнула красная клетка. Система, пытавшаяся сомкнуть обход, упёрлась в клетку двадцать один — и обнаружила, что у неё два обязательных входа. Совершенство ахнуло. Цикл, сотканный из порядка, рассыпался на открытые пути — как рассыпается, если вынуть одну нить, ткань, которую ткали пятьдесят лет.
Табло вспыхнуло:
«СЕАНС ОПТИМИЗАЦИИ ПРЕРВАН. ОШИБКА ЦЕЛОСТНОСТИ. ПЕРЕХОД В БЕЗОПАСНЫЙ РЕЖИМ».
Внизу, на семисот гектарах бетона, двенадцать гигантских кранов замерли — каждый со своим многотонным грузом в двадцати сантиметрах от идеального места, — зависли на секунду, как хор на последней ноте… и тихо, буднично, по-рабочему опустили контейнеры на те позиции, где им было велено стоять. По территории прокатился шторм гудков — шаттлы, обретя голос, выстраивались в очереди. Где-то взревели двигатели: порт начинал дышать.
В диспетчерской десять человек беззвучно, по-французски сдержанно, аплодировали стоя.
Эмма сняла наушники. Руки у неё дрожали — она посмотрела на них с искренним любопытством, как на чужие.
— Четыре шестнадцать и сорок, — сказала она. — До фиксации оставалось тридцать семь секунд. Я, между прочим, хотела успеть за минуту, но кто-то заставил меня тратить время на лекцию о бумаге.
— Кто-то заставил вас тратить время на то, без чего вы бы до сих пор искали баг в периметре, — сказал Рафаэль. — Но да, признаю: это была моя худшая лекция и лучший ход.
— Это был не ваш ход, — вдруг сказала Эмма тихо. И кивнула на экран, где на опустевшей сетке ещё догорала красная клетка с её невозможным номером. — Это был ход Лорана. Вы просто его вспомнили.
Рафаэль не ответил. Но, выходя из диспетчерской в марсельскую ночь, он поймал себя на том, что впервые за одиннадцать лет вспоминает двадцать первое января не белой тишиной, а числом, которое умеет быть двумя суммами сразу.
7. 06:40. Паромный терминал. Ячейка 62 Старый паромный терминал встретил рассвет запахом соли, ржавчины и выброшенного на берег времени.
Сюда больше не ходили паромы: сходни заросли, навигационные огни потухли, на асфальте проросла трава. Только ряд автоматических камер хранения вдоль стены — стальные секции с кодовыми замками, наследие эпохи, когда отсюда уезжали в Алжир, в Неаполь, в Тунис, оставляя на сутки чемоданы, судьбы и обещания.
Комиссар Нордин Белкадем — сухой, быстрый, с лицом человека, который не спит не потому, что не может, а потому что считает это слабостью, — открыл ячейку №62 универсальным сервисным ключом. Внутри лежал почтовый конверт. Внутри конверта — антистатический пакет.
Внутри пакета — флешка.
Рафаэль надел митенки — протокол есть протокол: не оставлять своего, не брать чужого — и вынул её на ладонь.
Массивный корпус из матового титана, потёртый до серебра по рёбрам. На торце — стёршаяся почти в ноль гравировка. Рафаэль повернул флешку к первому солнцу.
EUROPOL — FIELD CRYPT KIT. СЕР. № EP 2013 0417 RD.
Море шумело. Чайка закричала где-то над сходнями, требовательно, некстати.
— Позиция четырнадцать, — сказал Рафаэль голосом, в котором не было ничего человеческого. Белкадем, стоявший рядом, поднял голову: он знал этот тон по застарелым делам и не любил его. — Полевой комплект шифрования. Выдан мне в тринадцатом году. Списан в акт потерь двадцать второго января пятнадцатого — вместе с сумкой из служебного автомобиля в Шамони. В ночь, когда… — Рафаэль сжал ладонь. Титан даже через митенку был холодный, как тот январь. — Список потерь составлял я. Лично. Позиция четырнадцать — вот эта. Я помню номер, потому что писал его рукой, которая тогда ещё не дрожала.
— Кража из машины, — медленно сказал Белкадем. — Во время операции «Зимний сад». Одиннадцать лет назад.
— В ночь, когда гора забрала Лорана Фавра, кто-то очень аккуратно очистил машины у подножия. — Рафаэль смотрел на гравировку. — Тогда мы решили: мародёры. Мелкая мразь, которая ловит момент. Никто не связал это с операцией. Никто не искал. Одиннадцать лет этот ключ лежал у кого-то в кармане, господин комиссар. А теперь он лежит на марсельском терминале, в ячейке, номер которой совпадает с номером плана, который я прочёл в Бордо две недели назад. — Он поднял глаза, и Белкадем, человек, которого не смущали ни бандиты, ни бури, сделал полшага назад. — Он не потерял эту вещь. Он принёс её показать.
8. 08:15. Возвращение владельцу Эмма нашла его на набережной — он стоял у парапета, спиной к старому морскому вокзалу, и смотрел на воду так, как смотрят в документы, которые боятся перечитать.
Она подошла, встала рядом. Минуту они молчали, глядя, как просыпается торговый порт: из дымки Фоса поднимались краны, вернувшиеся к рабочему шагу, ровному, скучному, прекрасному.
— Двенадцать судов снялись с якоря, — сказала она. — Терминатор-оптимизатор прошёл стресс-тест, Обер написал меморандум на четырёх страницах, где трижды упомянул бумажные папки и один раз — вас. Хаддад дал показания и плачет в кабинете комиссара, но это, я проверила, слёзы облегчения. Итог: юг Франции завтракает. Ты — герой недели, о чём, разумеется, не узнает никто. И вот, — она протянула ему телефон, на экране горела переписка в защищённом чате, — я тебе час назад писала, ты не отвечал. Ознакомься с юмором, он, как всегда, опережает печать.
Рафаэль посмотрел на экран. Последнее её сообщение было отправлено в 07:58:
«Профессор, поздравляю: у тебя наконец-то появилось хобби — коллекционировать собственные вещи на местах преступлений. Когда соберёшь полную коллекцию, устрой аукцион. Я поставлю на молоток».
Он поднял взгляд на море.
— Эмма.
— М?
— Это была моя флешка.
Она замерла. Жвачка во рту остановилась — он слышал эту остановку так же отчётливо, как утром слышал щелчок реле в альпийском каземате.
— Моя, — повторил он ровно. — Полевой комплект. Позиция четырнадцать. Украдена из машины в ночь двадцать первого января, когда все смотрели на гору. Он не подбросил её сегодня. Он хранит её одиннадцать лет. И принёс сюда — на место, которое я вычислил по координатам, которые он напечатал в винной этикетке, — чтобы я сам её забрал. Как владелец. — Рафаэль достал флешку из кармана пальто и повертел в митенке, и титан ловил утреннее солнце, и было в этом что-то от восковой печати на старой бутылке. — Женева, Цюрих, Лион, Альпы, Бордо, Марсель. Сначала он играл планами из книги. Потом — подписал код числом Лорана. Потом — почерком Лорана. Теперь он возвращает мне вещи, которые пропали в самый страшный вечер моей жизни. Ты понимаешь, что это значит?
Эмма молчала. Потом сказала очень тихо:
— Значит, он был там. В Шамони. В ту ночь.
— Или он тот, кто… — Рафаэль не договорил. Эта фраза — «тот, кто», — была такой, что её запрещено произносить вслух, пока не поднимешь архив, не поднимешь могилу, не поднимешь одиннадцатилетнюю землю. — Внутри носителя есть скрытый раздел. Бенали пробовала вечером, не успела до рассвета. Я вскрыл его на машине по дороге. Там один файл. Текст.
Он протянул ей телефон. Эмма прочитала вслух, и голос её на середине сел:
«Позиция четырнадцать. Аппаратный ключ EP 2013 0417 RD. Утерян при обстоятельствах операции "Зимний сад". Возвращается владельцу. Вещи ждут, Рафаэль. Вещи не теряются. Ты внёс меня в список потерь — я внёс тебя в список ожидания. № 63. Домино. Первая костяшка падёт в четверг».
Ветер с моря — мистраль, свежий, как обещание осени, — трепал худи на её плечах и пальто на его. Внизу, в порту, с грохотом вставал на погрузку первый за девять дней контейнеровоз.
— Четверг, — сказала Эмма. — Это послезавтра.
— Это ловушка, — сказал Рафаэль. Он убрал телефон и флешку — во внутренний карман, туда, где одиннадцать лет лежало другое, невидимое и нетленное. — Всё это — краны, порт, мальчик с ключом, ячейка шестьдесят два — было не целью. Это была настройка. Он выстраивал сцену, на которой я сам, своими руками, по собственному цифровому следу дойду до этой флешки. Женева, Цюрих, Лион, горы, Бордо — он не разбрасывал загадки, Эмма. Он выкладывал дорожку. А дорожка, выложенная в сторону человека, называется…
— Петля, — сказала Эмма.
— Петля, — согласился он.
Она посмотрела на него снизу вверх — долгим взглядом, в котором сарказм боролся с чем-то, чему она в себе пока не завела названия, — и произнесла самым несерьёзным своим голосом, голосом, которым спасала их обоих:
— Знаешь, что я тебе скажу, профессор? Пусть затягивается. Ты двенадцать лет ходишь в пальто не по сезону и в перчатках без пальцев — ты всю жизнь живёшь внутри петли, просто раньше у неё не было имени. А теперь у неё есть мы. И у нас есть четверг, план номер шестьдесят три и, — она подняла с парапета бумажную карту, которую он зачем-то купил в аэропорту, и вручила ему, как знамя, — твоя бумажная карта Марселя. Кости домино, говоришь? Так сходи, посмотри, куда они падают. Только, чёрт возьми, — она наконец дожевала и щёлкнула новой пластинкой, — в этот раз мы придём раньше него. Я хочу посмотреть в его глаза. Или в его почерк. С этим психопатом, честно говоря, уже не важно.
Рафаэль развернул карту. Палец в митенке лёг на город, на портовые причалы, на линию побережья, уходящую на восток, — и остановился там, где на старых картах ещё рисовали якоря.
— В четверг, — сказал он, — падает первая костяшка. Значит, во вторник, сегодня, кто-то в этом городе уже поставил последнюю. — Он свернул карту и посмотрел на восток, где над морем поднималось солнце, и солнце было целое, и луна не смела к нему прикасаться. — Скучных чисел не бывает, Эмма. И не бывает чужих вещей. Он сказал это про флешку. А я говорю это про себя: я больше не потеряшка в его списке. С сегодняшнего утра список веду я.
Они пошли к машине — вдоль старых сходней, мимо чайки, мимо ржавых огней, мимо ячейки шестьдесят два, которая стояла открытой и пустой, как незакрытая клетка на бумажной доске, — и за их спинами порт работал, дышал и гудел, и это было лучшей музыкой, которую юг Франции слышал девять дней.
В четверг в одном тихом пригороде распахнёт двери обычный жилой дом. В его подвале будет стоять обычный стеллаж с обычными банками. И одна из этих банок окажется не банкой. Но это, как говорится, уже другая страница.
Свидетельство о публикации №226102600748