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