第二十四章 三秒的時間窗
葉星河約蘇鑫培喝酒,約在了下城區一家沒有招牌的燒烤攤。這種地方在下城區很常見——臨街的店面白天捲簾門關著,晚上支幾張摺疊桌出來,炭火一升,濃煙順著老舊排風扇往外抽,油星濺在電線桿上能積一層黑殼。蘇鑫培到的時候葉星河已經喝空了兩瓶啤酒,第三瓶剛開,泡沫沿著瓶口淌下來滴在摺疊桌上,他也沒擦。
「坐。」葉星河踢了張塑料凳到他面前。蘇鑫培坐下,老闆端了一盤烤串過來,孜然味沖得人眼睛發酸。葉星河把一瓶沒開的啤酒推到他面前,蘇鑫培接過,用桌角磕開瓶蓋,沒喝,只是握著瓶子,餘光掃了一眼葉星河——葉星河這個人平時從來不約人喝酒。他在街道辦門口堵過蘇鑫培兩次、在特象局會議室開過三次會,每次都是公事公辦,說話像念報告,連標點符號都省著用。今天他約人喝酒,說明他心裡有事。
兩人悶頭吃了一會兒。葉星河的手邊已經堆了三個空酒瓶,第四瓶拿在手裡轉來轉去,瓶底在塑料桌面上刮出一道道細痕。燒烤攤旁邊的路燈閃了一下,飛蛾撞在燈罩上發出輕微的噼啪聲。然後他忽然開口了,聲音很輕,像是自言自語又像是把壓了太久的東西從牙縫裡往外擠。
「今天下午,情報分析科截獲了一組北聯的加密通訊。破譯出來就一句話——『年末窗口,黑砂海峽,同步測試』。同步測試這個詞,我們上次在農機廠裂縫擴張前的北聯信號里也出現過。情報科連夜做對比,確認這次的信號源是同一個發射基地,功率提高了六倍。六倍。」葉星河把啤酒瓶擱在桌上,瓶底敲在塑料桌面上,「六倍是什麼意思你知道嗎——足夠同時激活至少三處裂縫。」
蘇鑫培把筷子放在盤沿上,沒有打斷他。
葉星河繼續說下去。「北聯那邊最近在做兩件事。一件是把亞空間裂縫同步化的技術從實驗室搬到實戰平台,你上次在北河廢棄工廠看到的裂縫還是單點自然擴張,他們現在能用同步信號同時控制多個裂縫,讓它們在一瞬間全部進入階躍擴張——不是一隻一隻出,是四面一起打。另一件是年底的軍演。軍演是幌子,同步測試才是真東西。我們現在監測到的信號越來越頻繁,頻率越來越高,像有人在反覆按門鈴,看我們這邊什麼時候開門。」
他頓了頓,把第四瓶啤酒的最後一口灌下去,空瓶子擱在腳邊。「軍方現在最怕的不是亞空間實體。亞空間實體可以打,可以收容,可以封鎖。他們怕的是北聯在南盟最脆弱的時刻發動大規模襲擊。年關就是那個時刻。下城區居民要過節,工廠要停工,市政系統留的值班人力只有平時的三成。整個城市的警惕性降到最低點的時候,裂縫一起開,亞空間實體一起涌,我們拿什麼堵?」
蘇鑫培點了點頭。他沒有接話,只是在腦子裡把葉星河剛才說的時間節點拼進自己的信息網絡里。北河老區的裂縫活動最近幾周有所回落,他和周澄對過監測數據,確認波動的低谷期大概還能持續六到八周。如果同步測試定在年末,說明北聯恰恰是要卡在平峰期的尾端動手——不是趁熱打鐵,而是等防守方習慣低風險級別之後突然加壓。
葉星河從煙盒裡抖出一根煙,叼在嘴裡,打火機按了兩下沒打著,他把打火機往桌上一撂。「這兩個月我一直在盯北聯的滲透路線。從下城區老工業區到中城區的地下管網,至少有四條可以繞過軍方哨卡的通道。其中一條就在你們北河街道辦轄區底下——老區東側那條廢棄的市政排水干管。去年雨季塌過一次,環衛局報修了沒人批預算,一直沒人封。」蘇鑫培知道那條干管,去年塌方的時候他和老齊去貼過警示膠帶,膠帶現在應該還在。
「我把情況報上去了,」葉星河把沒點著的煙夾在手指間繼續說了下去,聲音里多了一層疲憊,「閻局長批了加強防守的建議,但軍區那邊不批額外兵力——他們的理由是年底軍演已經占用了全部機動力量。我就四支外勤隊,值守著五個異常區域,輪休的隊員已經連續加班八周,上次休假還是九月。四支外勤隊,十五個人,防五條線,底線一捅就穿。」
他把煙從嘴裡拿下來,看著蘇鑫培。燒烤攤的炭火在他臉上投下明暗不定的影子。「政治的事,不是我們這些小棋子管的。」
蘇鑫培點了點頭。這句話不需要回復——葉星河不是要討論政治,他只是把一件他無法獨自消化的事攤在桌上,找一個能聽懂的人一起分擔沉默。
他把那瓶一直沒喝的啤酒端起來掂了掂,又放回桌邊。兩個人又坐了一會兒,炭火漸漸暗下去,老闆過來撤了空簽子。葉星河把煙放回煙盒,站起身拍了下蘇鑫培的肩,什麼都沒說,轉身往巷子另一頭走了。他的背影在昏黃的路燈下顯得很瘦——不是身材瘦,是那種扛了太多東西之後被壓扁了一截的錯覺。
蘇鑫培沒有馬上離開。他坐在塑料凳上,把葉星河那瓶空啤酒拿過來看了看瓶底的編號——是他不認識的生產線。他把瓶子放回去,然後站起來付了帳,沿著老區東側的巷子往回走。巷子裡很暗,頭頂上中城區的高架軌道偶爾碾過去一班輕軌,車輪摩擦軌道的轟鳴聲在狹窄的巷壁之間來回彈跳,震得牆根堆積的舊鐵管嗡嗡發響。
他走到老區東側那片舊廠區外圍停下來。遠處軍方哨卡的探照燈在圍牆上緩慢地掃來掃去,燈光掃過的地方能看到圍牆後面那個黑洞洞的車間輪廓。他站了片刻,想起剛才燒烤攤上葉星河那句「小棋子」,又想起白天在檔案室看到的三年前那些「未解決」的投訴——檔案里的投訴人和葉星河其實站在同一條線上:一個在黑暗中反覆摁響了一扇永遠無人應答的門鈴。
他轉身往公寓的方向走。
回到公寓已經是深夜。他換了拖鞋,把外套掛在椅背上,然後走進客廳中央,脫掉上衣,在昏暗的檯燈光里站好樁架。雙腳與肩同寬,膝蓋微屈,髖後坐,脊柱拉直。關元穴的熱感在十幾分鐘之後升起來,沿著任脈上行,又順著脊柱兩側回到丹田。周天循環轉了一圈,他把意識沉進丹田,然後他站在原地又做了半個時辰的煉筋功法——不是三百拳那種爆發式的打法,而是用秘手穿袖式緩慢地、一束一束地把筋束擰緊再鬆開。每一束肌肉都沿著力線從腳踝一直擰到拳鋒,擰到盡頭時停頓片刻,再慢慢鬆開。面板上跳了點經驗值,但他沒去數。
煉筋的緊繃感把剛才坐在燒烤攤時淤在胸口的那股什麼散開了。不是焦慮——是那種明知一件事要發生但還不能去堵、又不能走開、只能等著的感覺。葉星河說政治的事不是小棋子管的,但蘇鑫培知道,裂縫不會管誰是大棋子小棋子。裂縫只會從最薄的地方撕開。下城區就是最薄的地方——老舊建築、老弱居民、人手不足的街道辦、加不了班的外勤隊。如果北聯在年底發動同步襲擊,第一個遭殃的不是軍方防線,是北河老區的住戶、菜市場的小販、筒子樓里那家養狗的老人、平房區那個孩子。何姨退休前整理的那批「已退」名單,現在還放在他工位底層的文件夾里。
他不想再往名單里加名字了。
次日上班,他坐在工位上打開電腦,先是按日常流程處理了幾份例行材料,然後把北河街道辦的轄區地圖調出來,用繪圖軟體在新圖層上逐項標記:異常投訴地址標記為藍色圓點,裂縫活躍區域是特象局監控數據中波動超過環境閾值的坐標,標成紅色斑塊。低保戶和獨居老人名單他花了一個多小時逐個核對住址,在紅點密集區塊周圍用灰線框出潛在疏散需要優先關注的家庭。標註完成後他端詳著圖層疊合的部分——老區東側幾個藍色圓點正落在紅色斑塊的邊緣,灰色框和它們之間的距離近到不用尺子都能看出危險。他把這個圖層設為私有,文件名是一串無意義的編碼,密碼和密鑰分開存儲。這份圖他暫時不打算提交給任何人——不是隱瞞,是在它能夠獨立說服一張正式派遣單之前,未經加密的熱力圖落在任何一張辦公桌上都可能先於行動引發不必要的恐慌,或者被財閥觀察員截收。
從北河廢棄工廠回來之後,他就在反覆琢磨一個問題:北聯特工滲透速度太快,特象局的反應周期跟不上。反應周期之所以長,是因為常規流程要把異常信號匯總到指揮中心、經過層級審核、再下發派遣單——在半夜,這些環節走完一遍可能要六個小時。但如果街道辦有人能當場識別異常信號,反應周期就會從層級審批壓縮到外勤隊的幾條街半徑之內。他不需要觀察所有點,他只需要把觀察範圍從「全城」縮小到他每天會走過的幾條街。監控全部裂縫不現實,但只要重點盯死一個窗口,那窗口附近的居民就能早一步脫險。
他對第一個窗口最熟悉:北河老區東側,從他每天上下班必經的巷口一直延伸到北河二小圍牆背後的那片棚戶。他把窗口的經緯度寫在便簽本上,用紅筆圈起來,又用黑線連到葉星河提到的那條未封堵的廢棄排水干管上。
他寫完最後一個字後把鉛筆擱在便簽本上。窗外的陽光穿過霧霾照在工位上,把他桌面上那盆君子蘭的影子投在鍵盤旁邊。他站起來去茶水間接了杯熱水,在微波爐里放了一分鐘,水沒開,只是溫。把杯子放在那片影子旁邊。他不清楚葉星河能不能要到增援,不清楚軍方會不會批,不清楚北聯究竟在年關布了多少處測試點。但他知道北河老區東側那條巷子有多寬、哪家的老人在深夜最容易驚醒、以及萬一有事哪條消防通道可以緊急疏散。
下午去鐵骨堂之前,他繞路到老區東側,站在一條岔巷的磚牆拐角處借角度避著哨卡的光,用手掌貼著牆面走了一遍。牆根有一塊鬆動的紅磚,他蹲下來把磚抽出來看了看——磚後面是空的,能看到干管的混凝土頂壁。他把磚塞回去,把位置記在腦子裡,拍了拍手上的灰。
從岔巷穿出來時葉星河那條「小棋子」又在他腦子裡響了一聲。他把這句話推進心裡——葉星河不是抱怨,是在描述一個事實。他們確實都是小棋子,但小棋子有小棋子的走法。那些亮著燈火的窗戶離這條巷子不過一胸之高,全在可聽見的範圍內,最晚的人家也將在十二點前入睡。他要做的就是在爐火慢慢涼下去的夜裡,站在這個裂隙的最近處看著火,直到靴子落地的那一秒。
「坐。」葉星河踢了張塑料凳到他面前。蘇鑫培坐下,老闆端了一盤烤串過來,孜然味沖得人眼睛發酸。葉星河把一瓶沒開的啤酒推到他面前,蘇鑫培接過,用桌角磕開瓶蓋,沒喝,只是握著瓶子,餘光掃了一眼葉星河——葉星河這個人平時從來不約人喝酒。他在街道辦門口堵過蘇鑫培兩次、在特象局會議室開過三次會,每次都是公事公辦,說話像念報告,連標點符號都省著用。今天他約人喝酒,說明他心裡有事。
兩人悶頭吃了一會兒。葉星河的手邊已經堆了三個空酒瓶,第四瓶拿在手裡轉來轉去,瓶底在塑料桌面上刮出一道道細痕。燒烤攤旁邊的路燈閃了一下,飛蛾撞在燈罩上發出輕微的噼啪聲。然後他忽然開口了,聲音很輕,像是自言自語又像是把壓了太久的東西從牙縫裡往外擠。
「今天下午,情報分析科截獲了一組北聯的加密通訊。破譯出來就一句話——『年末窗口,黑砂海峽,同步測試』。同步測試這個詞,我們上次在農機廠裂縫擴張前的北聯信號里也出現過。情報科連夜做對比,確認這次的信號源是同一個發射基地,功率提高了六倍。六倍。」葉星河把啤酒瓶擱在桌上,瓶底敲在塑料桌面上,「六倍是什麼意思你知道嗎——足夠同時激活至少三處裂縫。」
蘇鑫培把筷子放在盤沿上,沒有打斷他。
葉星河繼續說下去。「北聯那邊最近在做兩件事。一件是把亞空間裂縫同步化的技術從實驗室搬到實戰平台,你上次在北河廢棄工廠看到的裂縫還是單點自然擴張,他們現在能用同步信號同時控制多個裂縫,讓它們在一瞬間全部進入階躍擴張——不是一隻一隻出,是四面一起打。另一件是年底的軍演。軍演是幌子,同步測試才是真東西。我們現在監測到的信號越來越頻繁,頻率越來越高,像有人在反覆按門鈴,看我們這邊什麼時候開門。」
他頓了頓,把第四瓶啤酒的最後一口灌下去,空瓶子擱在腳邊。「軍方現在最怕的不是亞空間實體。亞空間實體可以打,可以收容,可以封鎖。他們怕的是北聯在南盟最脆弱的時刻發動大規模襲擊。年關就是那個時刻。下城區居民要過節,工廠要停工,市政系統留的值班人力只有平時的三成。整個城市的警惕性降到最低點的時候,裂縫一起開,亞空間實體一起涌,我們拿什麼堵?」
蘇鑫培點了點頭。他沒有接話,只是在腦子裡把葉星河剛才說的時間節點拼進自己的信息網絡里。北河老區的裂縫活動最近幾周有所回落,他和周澄對過監測數據,確認波動的低谷期大概還能持續六到八周。如果同步測試定在年末,說明北聯恰恰是要卡在平峰期的尾端動手——不是趁熱打鐵,而是等防守方習慣低風險級別之後突然加壓。
葉星河從煙盒裡抖出一根煙,叼在嘴裡,打火機按了兩下沒打著,他把打火機往桌上一撂。「這兩個月我一直在盯北聯的滲透路線。從下城區老工業區到中城區的地下管網,至少有四條可以繞過軍方哨卡的通道。其中一條就在你們北河街道辦轄區底下——老區東側那條廢棄的市政排水干管。去年雨季塌過一次,環衛局報修了沒人批預算,一直沒人封。」蘇鑫培知道那條干管,去年塌方的時候他和老齊去貼過警示膠帶,膠帶現在應該還在。
「我把情況報上去了,」葉星河把沒點著的煙夾在手指間繼續說了下去,聲音里多了一層疲憊,「閻局長批了加強防守的建議,但軍區那邊不批額外兵力——他們的理由是年底軍演已經占用了全部機動力量。我就四支外勤隊,值守著五個異常區域,輪休的隊員已經連續加班八周,上次休假還是九月。四支外勤隊,十五個人,防五條線,底線一捅就穿。」
他把煙從嘴裡拿下來,看著蘇鑫培。燒烤攤的炭火在他臉上投下明暗不定的影子。「政治的事,不是我們這些小棋子管的。」
蘇鑫培點了點頭。這句話不需要回復——葉星河不是要討論政治,他只是把一件他無法獨自消化的事攤在桌上,找一個能聽懂的人一起分擔沉默。
他把那瓶一直沒喝的啤酒端起來掂了掂,又放回桌邊。兩個人又坐了一會兒,炭火漸漸暗下去,老闆過來撤了空簽子。葉星河把煙放回煙盒,站起身拍了下蘇鑫培的肩,什麼都沒說,轉身往巷子另一頭走了。他的背影在昏黃的路燈下顯得很瘦——不是身材瘦,是那種扛了太多東西之後被壓扁了一截的錯覺。
蘇鑫培沒有馬上離開。他坐在塑料凳上,把葉星河那瓶空啤酒拿過來看了看瓶底的編號——是他不認識的生產線。他把瓶子放回去,然後站起來付了帳,沿著老區東側的巷子往回走。巷子裡很暗,頭頂上中城區的高架軌道偶爾碾過去一班輕軌,車輪摩擦軌道的轟鳴聲在狹窄的巷壁之間來回彈跳,震得牆根堆積的舊鐵管嗡嗡發響。
他走到老區東側那片舊廠區外圍停下來。遠處軍方哨卡的探照燈在圍牆上緩慢地掃來掃去,燈光掃過的地方能看到圍牆後面那個黑洞洞的車間輪廓。他站了片刻,想起剛才燒烤攤上葉星河那句「小棋子」,又想起白天在檔案室看到的三年前那些「未解決」的投訴——檔案里的投訴人和葉星河其實站在同一條線上:一個在黑暗中反覆摁響了一扇永遠無人應答的門鈴。
他轉身往公寓的方向走。
回到公寓已經是深夜。他換了拖鞋,把外套掛在椅背上,然後走進客廳中央,脫掉上衣,在昏暗的檯燈光里站好樁架。雙腳與肩同寬,膝蓋微屈,髖後坐,脊柱拉直。關元穴的熱感在十幾分鐘之後升起來,沿著任脈上行,又順著脊柱兩側回到丹田。周天循環轉了一圈,他把意識沉進丹田,然後他站在原地又做了半個時辰的煉筋功法——不是三百拳那種爆發式的打法,而是用秘手穿袖式緩慢地、一束一束地把筋束擰緊再鬆開。每一束肌肉都沿著力線從腳踝一直擰到拳鋒,擰到盡頭時停頓片刻,再慢慢鬆開。面板上跳了點經驗值,但他沒去數。
煉筋的緊繃感把剛才坐在燒烤攤時淤在胸口的那股什麼散開了。不是焦慮——是那種明知一件事要發生但還不能去堵、又不能走開、只能等著的感覺。葉星河說政治的事不是小棋子管的,但蘇鑫培知道,裂縫不會管誰是大棋子小棋子。裂縫只會從最薄的地方撕開。下城區就是最薄的地方——老舊建築、老弱居民、人手不足的街道辦、加不了班的外勤隊。如果北聯在年底發動同步襲擊,第一個遭殃的不是軍方防線,是北河老區的住戶、菜市場的小販、筒子樓里那家養狗的老人、平房區那個孩子。何姨退休前整理的那批「已退」名單,現在還放在他工位底層的文件夾里。
他不想再往名單里加名字了。
次日上班,他坐在工位上打開電腦,先是按日常流程處理了幾份例行材料,然後把北河街道辦的轄區地圖調出來,用繪圖軟體在新圖層上逐項標記:異常投訴地址標記為藍色圓點,裂縫活躍區域是特象局監控數據中波動超過環境閾值的坐標,標成紅色斑塊。低保戶和獨居老人名單他花了一個多小時逐個核對住址,在紅點密集區塊周圍用灰線框出潛在疏散需要優先關注的家庭。標註完成後他端詳著圖層疊合的部分——老區東側幾個藍色圓點正落在紅色斑塊的邊緣,灰色框和它們之間的距離近到不用尺子都能看出危險。他把這個圖層設為私有,文件名是一串無意義的編碼,密碼和密鑰分開存儲。這份圖他暫時不打算提交給任何人——不是隱瞞,是在它能夠獨立說服一張正式派遣單之前,未經加密的熱力圖落在任何一張辦公桌上都可能先於行動引發不必要的恐慌,或者被財閥觀察員截收。
從北河廢棄工廠回來之後,他就在反覆琢磨一個問題:北聯特工滲透速度太快,特象局的反應周期跟不上。反應周期之所以長,是因為常規流程要把異常信號匯總到指揮中心、經過層級審核、再下發派遣單——在半夜,這些環節走完一遍可能要六個小時。但如果街道辦有人能當場識別異常信號,反應周期就會從層級審批壓縮到外勤隊的幾條街半徑之內。他不需要觀察所有點,他只需要把觀察範圍從「全城」縮小到他每天會走過的幾條街。監控全部裂縫不現實,但只要重點盯死一個窗口,那窗口附近的居民就能早一步脫險。
他對第一個窗口最熟悉:北河老區東側,從他每天上下班必經的巷口一直延伸到北河二小圍牆背後的那片棚戶。他把窗口的經緯度寫在便簽本上,用紅筆圈起來,又用黑線連到葉星河提到的那條未封堵的廢棄排水干管上。
他寫完最後一個字後把鉛筆擱在便簽本上。窗外的陽光穿過霧霾照在工位上,把他桌面上那盆君子蘭的影子投在鍵盤旁邊。他站起來去茶水間接了杯熱水,在微波爐里放了一分鐘,水沒開,只是溫。把杯子放在那片影子旁邊。他不清楚葉星河能不能要到增援,不清楚軍方會不會批,不清楚北聯究竟在年關布了多少處測試點。但他知道北河老區東側那條巷子有多寬、哪家的老人在深夜最容易驚醒、以及萬一有事哪條消防通道可以緊急疏散。
下午去鐵骨堂之前,他繞路到老區東側,站在一條岔巷的磚牆拐角處借角度避著哨卡的光,用手掌貼著牆面走了一遍。牆根有一塊鬆動的紅磚,他蹲下來把磚抽出來看了看——磚後面是空的,能看到干管的混凝土頂壁。他把磚塞回去,把位置記在腦子裡,拍了拍手上的灰。
從岔巷穿出來時葉星河那條「小棋子」又在他腦子裡響了一聲。他把這句話推進心裡——葉星河不是抱怨,是在描述一個事實。他們確實都是小棋子,但小棋子有小棋子的走法。那些亮著燈火的窗戶離這條巷子不過一胸之高,全在可聽見的範圍內,最晚的人家也將在十二點前入睡。他要做的就是在爐火慢慢涼下去的夜裡,站在這個裂隙的最近處看著火,直到靴子落地的那一秒。