Tromsø, Norge · 69°39'N 18°57'E

Прыжок, секунда темноты, три файла — и я на месте. Как будто и не уходила. Это и есть взросление. Не сила, не скорость. Умение не терять себя.

Норвегия. Лиза. Операция.

Код Жёлтый.

Бьорн не разговаривал первые сорок минут. Вёл пикап по узкой дороге вдоль фьорда, обеими руками на руле, глаза на асфальт. Дождь стучал по крыше — мелкий, монотонный, норвежский.

Лиза нашла его на ферме. Точнее — на том, что осталось от фермы. Дом стоял, но внутри — следы обыска. Перевёрнутые ящики, вскрытые полы, содранные розетки. Антолик не церемонился.

Бьорн сидел на крыльце. Курил самокрутку. Большой, медленный, шестьдесят с чем-то. Руки — как лопаты. Лицо обветренное, спокойное. Человек, который видел всякое и решил, что большая часть этого не стоит реакции.

— Вы от него? — спросил Бьорн, не поворачивая головы.

— Я от него.

— Он живой?

— Технически.

Бьорн докурил. Затушил окурок о перила. Встал.

— Поехали.

Без вопросов. Без условий. Просто — поехали. Лиза подумала, что Шелли умел выбирать людей.

Больница на окраине города. Три этажа, бежевый кирпич, парковка на двадцать мест. Маленькая — районная, не столичная. Именно поэтому здесь держали Шелли. Не в Осло, где журналисты. Здесь, где тихо.

Бьорн остановил пикап на парковке через дорогу. Заглушил мотор. Посмотрел на Лизу.

— Сколько?

— Двадцать минут. Может тридцать.

— Если через сорок не выйдешь?

— Уезжай.

Бьорн кивнул. Не спорил. Лиза вышла, не хлопая дверью. Дождь принял её — холодный, равнодушный.

Двадцать минут.

Код Оранжевый.

Служебный вход. Карточка не нужна — дверь подперта кирпичом. Кто-то из персонала курит здесь в перерыве. Спасибо, неизвестный курильщик.

Коридор подвального этажа. Трубы под потолком, гул вентиляции, запах хлорки и стирального порошка. Прачечная слева. Серверная — дальше по коридору. Дверь с надписью «Teknikk» — техническая комната.

Заперта. Обычный замок — не электронный. Лиза достала из волос заколку. Две секунды. Щелчок.

Протокол.

Каптёрка. Метр на два. Щиток на стене — автоматы по этажам. Сетевой шкаф в углу — роутер, свитч, патч-панель. Мигают зелёные огоньки. Больничная локалка.

Лиза села на пол. Достала ноутбук. Патч-корд из кармана — короткий, жёлтый, такой же как в Хельсинки. Воткнула в свободный порт свитча.

liza@localhost:~$ ip a

eth0: 172.16.4.87/24

liza@localhost:~$ nmap -sn 172.16.4.0/24 –open

172.16.4.12 — PRINTER

172.16.4.20 — WORKSTATION-NURSE

172.16.4.31 — MONITOR-ICU-1

172.16.4.32 — MONITOR-ICU-2

172.16.4.40 — PB980-VENT-4471

172.16.4.50 — CCTV-CONTROLLER

172.16.4.254 — GATEWAY

Пациент 4471. Аппарат в сети. Тот же Puritan Bennett 980 — тот же протокол, что в Хельсинки. Один изучишь — знаешь все.

Пятнадцать минут.

liza@localhost:~$ python3 breath_protocol.py –target 172.16.4.40

[*] Connecting to PB980-VENT-4471…

[*] Reading current parameters…

Mode: AC/VC | RR: 14/min | TV: 500ml | FiO2: 40%

[*] Patient vitals: HR 62 | SpO2 97% | BP 118/74

[*] Status: STABLE

[*] Initiating breath pattern modification…

[*] Safety limits: RR 12-18 | TV 450-550 | FiO2 35-45%

[*] Pattern: 2 short — pause — 1 long — repeat

[*] Starting sequence…

Два коротких вдоха. Пауза. Длинный. Пауза. Два коротких. Пауза. Длинный.

▲▲ · · ▲   ▲ · · ▲▲ · · ▲   ▲

Не частота — паттерн. Тело замечает. Тело всегда замечает.

Лиза смотрела на экран. Пульс Шелли: 62… 62… 63… 62…

Ничего. Минута. Две.

63… 64… 65…

Дыхание. Вдох — не по расписанию. Аппарат зафиксировал спонтанную попытку вдоха. Первую за — Лиза посмотрела на дату поступления — за четыре недели.

[!] Spontaneous breath detected

[!] Patient triggering above set rate

HR: 68 | SpO2 97% | Spontaneous RR: 2/min

Он дышал. Сам. Слабо, редко — два вдоха в минуту поверх машинных. Но сам.

Лиза продолжила паттерн. Два коротких — длинный. Два коротких — длинный. Как стук в дверь. Как рука на плече. Как голос, который говорит: я здесь, проснись, ты нужен, автоном.

HR: 72 | SpO2 98% | Spontaneous RR: 6/min

[!] Patient awareness level changing

[!] GCS rising: E2 V1 M4

Глазная реакция — с «на боль» до «на голос». Вербальная — с нуля до нечленораздельных звуков. Моторная — с «сгибание» до «локализация боли». Он поднимался. Медленно, как водолаз с глубины. Но поднимался.

Десять минут.

Код Красный.

Шаги в коридоре. Тяжёлые, размеренные. Охранник. Обход.

Лиза замерла. Ноутбук — единственный источник света в каптёрке. Экран отражался в её глазах — зелёные цифры на чёрном фоне. Скрипт работал. Паттерн продолжался.

Шаги прошли мимо. Удалились. Вернутся через семь-восемь минут — стандартный обход.

Лиза переключилась на второй терминал.

liza@localhost:~$ nmap -sV 172.16.4.50 -p 80,443,554,8080

PORT STATE SERVICE

80/tcp open http Hikvision CCTV Web

554/tcp open rtsp Hikvision DS-series

liza@localhost:~$ # default creds? серьёзно?

liza@localhost:~$ curl -u admin:12345 http://172.16.4.50/System/status

200 OK

Камеры на дефолтных паролях. Районная больница. Бюджет на IT — ноль. Спасибо, норвежская бюрократия.

liza@localhost:~$ # щиток на стене. Автомат "2 этаж" — третий слева.
# пожарная сигнализация — отдельный контур. Не отключится со светом.
# план:
# 1. камеры — отключить запись
# 2. свет 2 этажа — автомат вниз
# 3. пожарная — ручной извещатель в коридоре
# 4. 30 секунд

Лиза посмотрела на монитор пациента 4471. Пульс — 74. Спонтанное дыхание — 10 в минуту. GCS — E3V2M5. Он был почти здесь. Почти.

Она остановила скрипт. Вернула аппарат в стандартный режим. Никаких следов в логах — breath_protocol.py чистил за собой.

Лиза встала. Закрыла ноутбук. Убрала патч-корд в карман.

Подошла к щитку. Нашла автомат второго этажа. Положила на него палец.

Другой рукой — отключила запись камер. Одна команда, отправленная перед тем как вытащить кабель.

Вдох на четыре.

Автомат — вниз.

ТЕМНОТА

Лестница. Наощупь — перила холодные, металлические. Первый этаж, второй. Дверь на этаж — открыта, аварийный магнит отпустил.

Коридор второго этажа. Красные аварийные огни — тусклые, через каждые десять метров. Достаточно, чтобы видеть контуры. Недостаточно, чтобы узнать лицо.

Лиза дёрнула ручной пожарный извещатель на стене. Стекло хрустнуло под пальцами.

Сирена.

Громкая, пульсирующая, заполняющая каждый угол. В Хельсинки — тишина. В Норвегии — вой сирены в темноте. Контраст.

Двери палат начали открываться. Медсёстры с фонариками. Пациенты в халатах. Голоса, шарканье тапок, скрип каталок.

Палата в конце коридора. Дверь закрыта. Рядом — стул. На стуле должен был сидеть охранник.

Стул пустой.

Лиза оглянулась. В дальнем конце коридора — силуэт. Широкий, в куртке. Лиза вошла в палату. Красный аварийный свет. Кровать. Человек на кровати.

Шелли.

Худой — похудел. Борода отросла. Руки поверх одеяла — тонкие, с катетером в вене. Глаза — закрыты. Но дыхание — своё. Аппарат работал в поддерживающем режиме, не в принудительном. Он дышал сам. Паттерн подействовал.

Каталка у стены. Лиза отключила капельницу. Отсоединила датчики монитора — пульсоксиметр, давление. Монитор запищал — потерянный сигнал. Не важно. Сирена громче.

Маска ИВЛ — сняла. Шелли вздрогнул. Втянул воздух — жадно, хрипло, сам. Глаза открылись.

Мутные. Как у Маркуса в подвале. Но живые.

— Это я, — сказала Лиза. — Не разговаривай. Дыши.

Перекатила его на каталку. Лёгкий — слишком лёгкий. Четыре недели комы съедают мышцы.

Она сделала шаг вперёд. Чья-то рука обхватила горло сзади. Душит. Попыталась вывернуться — не получилось. Упали на пол. Захват слишком силён. «Здоровый кабан» — только и успела подумать Лиза, прежде чем отключиться.

Но за секунду до этого в дверном проёме возник силуэт Бьорна.

Три широких шага, футбольный удар в голову. Тело нападавшего дёрнулось и обмякло.

Бьорн не смотрел на него. Уже не угроза.

Лиза лежала на полу. Глаза закрыты. Дышит — но неглубоко, рвано.

Бьорн опустился на колено. Проверил пульс на запястье — не на шее. Шею после удушения не трогают. Есть. Слабый, частый, но есть.

Грузовой лифт. Первый этаж. Служебный выход — тот же кирпич подпирает дверь. Спасибо, неизвестный курильщик. Дважды.

Дождь. Парковка.

Лиза увидела их первой. Трое. Возле пикапа Бьорна. Чёрные куртки, короткие стрижки, стойка — ноги на ширине плеч. ЧВК. Охранник успел позвонить.

Бьорн стоял у угла здания. Тоже увидел. Лиза — с каталкой, тяжело дышит, без оружия. Беспомощная.

Один из троих повернул голову. Заметил. Рука пошла к бедру — к кобуре.

Бьёрн сделал три шага в сторону пикапа и вдруг превратился в пружину - левое бедро прикрывает пах, левый локоть - сердце, в полусогнутых руках - пистолет. Бам, Бам, Бам! Левое зеркало, правое зеркало, переднее колесо. Трое пригнулись за пикап — рефлекс, секунда.

Пружина распрямилась и скользнула за руль скорой.

— Сюда, — Бьорн. Коротко, спокойно. Как будто зовёт обедать.

Скорая. Жёлто-красная, с работающим двигателем — водитель выскочил на сирену, оставил ключи.

Бьорн открыл задние двери. Помог перекатить Шелли с каталки внутрь. Лиза забралась следом.

— Живой? — спросил Бьорн.

— Живой.

Бьорн сел за руль. Скорая тронулась.

Через дорогу, вдоль фьорда, в темноту.

Шелли открыл глаза. Посмотрел на Лизу. Узнал — или нет, не понять. Губы шевельнулись.

— …автоном?

Лиза наклонилась к его уху.

— Автоном. Всё по плану. Спи.

Он закрыл глаза. Дождь стучал по крыше скорой. Бьорн вёл молча. Мигалки красили фьорд в синий и красный — чёрная вода, чёрные горы, чужая машина.

Лиза считала его вдохи. Двенадцать в минуту. Свои. Без аппарата.