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