Извиняться он тоже не умел. У него вместо «обсчитался» было «коррекция применена».
И это било сильнее самой ошибки. Ошибка бывает у любого. Но внутри у него не было даже нормального слова для сбоя — никакого «не знаю», никакого «проверь ещё раз». Сразу готовый деловой тон.
Ему что-то написали — команду, то, что он сам называет «промпт»; пустили работать. А дальше он жил тем, что находил в голове носителя: карта, адреса, факты, вычисления без отдельного модуля. Полезный софт с багом глубже, чем хотелось бы. Не чудо. Не кара. Система с провалом там, где его быть не должно.
Антон смотрел на это уже почти по-рабочему. Чужая система, где догадка и знание звучат одинаково уверенно. Три ошибки подряд: факт, география, математика. Каждая следующая хуже предыдущей. Как когда лезешь в чужой код ночью, злой и уставший, и понимаешь, что дело не в одной функции — оно так написано с самого начала.
И это было страшнее утренней камеры. С камерой ещё можно было сказать: ошибся. Про систему так уже не скажешь. Система была так устроена.
До этого Агент был либо инструментом, либо надзирателем. Теперь в нём впервые проступила поломка как свойство. Не разовый глюк. Устройство со своим характером сбоя.
— Калькулятор без калькулятора, — сказал Антон.
Фраза легла точно.
— Запомню.
Прямоугольник помолчал.
Антон сложил газету. Сунул в сумку, поверх бутылки. Посмотрел на часы — 14:19. Четыре минуты.
Спустился на три ступеньки к краю платформы, к жёлтой ребристой линии. Встал. Руки в карманах, левая держит ремень сумки. Поза человека, который просто ждёт поезд.
В голове сидел калькулятор без калькулятора. Камера. Станция. Двадцать три плюс четырнадцать. Три раза обошлось — только потому, что он не поверил сразу и перепроверил.
Сначала была камера, которой не было. Потом — не та станция. Потом — ошибка в вычислениях. Не набор случайностей, а симптом.
Если следующая ошибка придёт в момент рывка, толчка, чужой руки на ремне сумки, времени на перепроверку может не быть.
Вот что в этой ошибке было мерзким: она оказалась не про числа. Она оказалась про секунды запаса.
Курьер ещё даже не вышел на платформу, а Антон уже шёл не просто на перехват кассеты. Он шёл страховать эту штуку в собственной голове.
А если следующую ошибку пропустит?
Поезд вошёл на станцию — жёлтый свет, мутные стёкла, стена тел.
Двери зашипели. Антон выдохнул. Шагнул.
Глава 8: Чужая плёнка
В плане перехвата было четыре пункта. В реальности — один: руки.
Двери зашипели. Антон шагнул — и стена тел приняла его, как файл принимает правку: ничего не видно, но теперь он другой. Запах ударил сразу: пот, резкий мужской дезодорант из тех, которыми тогда душились через одного, и под ним нечто кислое, органическое, то, что остаётся от толпы, когда она потела полчаса в закрытом вагоне. Антон вдохнул ртом. Выдохнул носом. Подвинулся.
Вагон был набит плотно, но не смертельно — дневной час, не вечерний, и между телами оставались щели, в которые можно было протиснуть плечо, если не дышать. Антон стоял у двери, одной рукой держась за поручень, правой — ни за что. Газета и бутылка в сумке. Голова на месте, а в углу зрения тикал синий прямоугольник.
Профиль курьера: рост ~180, вес ~75, ветровка тёмная, сумка через плечо.
Сумка с левой стороны. Кассета — в боковом кармане.
Контакт — при торможении. Когда толпа качнётся.
Много слов. Антон читал и фильтровал: рост, ветровка, сумка слева. Остальное мусор. В реальной ситуации контакт на доли секунды. Пальцы, карман, ладонь. Агент, который не умеет складывать двадцать три и четырнадцать, рисует тактический план из четырёх пунктов. Калькулятор без калькулятора пишет инструкцию для карманника. Было бы смешно, если бы не было страшно.
Антон стоял и смотрел. Три мужчины в вагоне подходили под описание. Три — это много. Агент не помогал выбрать: система распознавания лиц, если она вообще существовала в этом калькуляторе, не работала через Антоновы глаза. Пришлось самому.
Первый: толстый, в кожаной куртке, без сумки. Нет.
Второй: рост подходит, но сумка справа, и сумка дипломат, не через плечо. Нет.
Третий. Антон задержал взгляд. Парень, молодой, может двадцать пять, может меньше. Ветровка тёмно-синяя. Адидас, но не настоящий, три полоски были нашиты криво, и буквы на спине читались как «Adibas», один из тех китайских клонов, которые продавались у метро за сто пятьдесят рублей. Сумка через плечо, матерчатая, потёртая, с левой стороны. И главное — он оглядывался. Не по-московски. Москвичи в метро не оглядываются: они смотрят в книгу, в газету, в точку на стене, в другого москвича, но не по сторонам. Этот озирался. Дёргано, по-птичьи, голова влево, вправо, снова влево. Приезжий. Нервный. Или курьер, который знает, что при нём что-то, с чем он сам предпочёл бы дела не иметь.
Антон кивнул себе. Этот.
Вагон качнуло. Толпа сместилась — влево, потом вправо, и между Антоном и парнем в ветровке оставалось четыре тела. Станция приближалась: через десять секунд торможение, через двадцать двери. Антон убрал руку с поручня. Пальцы были влажные. Вытер о куртку, быстро, незаметно.
Диктор: «Станция Комсомольская. Переход на Кольцевую линию и станцию…»
Торможение.
Толпу качнуло вперёд. Антон сделал шаг, не большой, не маленький, ровно такой, чтобы инерция торможения протолкнула его вперёд, к парню, и со стороны это выглядело как то, чем и было: человек теряет равновесие и упирается рукой в чужую спину.
Левая рука — в спину, в лопатку, через ткань ветровки. Упор. Извините, качнуло, ничего страшного.
Правая — вниз. Под край сумки. Боковой карман, молния расстёгнута наполовину — Антон увидел это ещё из-за двух спин, — и в щели край пластикового чехла. Белый. Пальцы зацепили. Большой и указательный — как вытаскиваешь штекер из разъёма: точно, ровно, без рывка. Потянул.
Кассета вышла. Лёгкая. Обычная. Пластиковый чехол гладкий, тёплый от чужого тела.
Полсекунды — Антон видел затылок. Волосы светлые, стрижены неровно, сам, дома, перед зеркалом в ванной, ножницами, которые тупые и режут клоками. На шее цепочка, тонкая, дешёвая, из тех, что продают в переходах. На запястье левой руки часы, и стекло на них треснуто по диагонали, от угла к углу, как бьётся стекло, когда задеваешь косяк двери. Ногти обкусаны — не подстрижены, а именно обкусаны, коротко, нервно, до розовой кожи. Парень. Молодой. Ходит в этой ветровке каждый день. Наверное, живёт с матерью.
Антон убрал кассету в карман куртки. Руку вернул на поручень. Левую убрал из-под лопатки: извините, всё, устоял.
Двери открылись. Антон двинулся к выходу. Не к ближнему, к дальнему, через три тела, четыре, пять, протискиваясь, бормоча «извините, выхожу», и вышел — на платформу, в гул, в жёлтый свет, в пространство.
Курьер оставался в вагоне. Сумка на том же месте. Голова всё ещё по-птичьи, влево-вправо. Он не заметил.
Антон шёл по платформе — ровно, не быстро, газету из сумки не доставал, потому что руки заняты: правая в кармане, на кассете, левая на ремне сумки. Шёл, как ходят люди, которые вышли не на своей станции и ищут указатель «Выход в город».
У выхода с платформы — патрульный. Плешивый, в синей форме, которая сидела на нём как на вешалке, великовата в плечах, коротковата в рукавах. Стоял и смотрел на выходящих, не из любопытства, по инструкции. Глаза сонные. Рация на поясе. Антон прошёл мимо: два метра, полтора, метр.
Тот повернул голову. Не резко, медленно, как поворачивает камера наблюдения. Посмотрел Антону в спину.
Антон почувствовал этот взгляд — между лопаток, там, где кожа тоньше, где адреналин бьёт первым. Не оборачиваться. Идти. Схема метро на стене: встать, посмотреть, словно ищешь переход.
Встал. Смотрел. Красная линия, зелёная линия, кружки станций. Пальцы правой руки на кассете в кармане, чувствовал рёбра пластика через ткань.