第17章

凌晨四点半,雨停在港区外沿,路灯脑袋上挂着连夜积的水珠,偶尔掉下一颗,砸在湿柏油上,声音短促而清晰。市政“乙类”仓储中心E-12号库房背面的围栏有一段新焊的钢网,焊点还带着没抛净的银刺,在微弱的灯光里反着硬冷的光。风从河面抬进来,带着潮气和油味,吹得墙皮上的“安全第一”四个大字轻微起伏。

“巡逻车三十秒后掠过北侧弯道,摄像头盲区窗口七秒。”韩明远伏在围栏外的排水渠边,低声报着,声音因为整夜未合眼而有点沙哑。

凌峰把手插进黑色手套,手指因旧伤发紧,关节像塞了石子。他看一眼表,又看一眼每个人的脸——顾城的气色比昨夜回了一些,但脸色苍白;沈青禾把膝盖上那道擦伤包了两层,绑带外已经湿了一圈;林妍把手背的破皮贴上了透气胶,握枪时手心仍出汗。几双眼睛没有互相安慰,只有确认。

风掀开巡逻车车顶那块松动的雨布,车灯在水汽中虚得发白。光束一压一抬间,围栏上那段新焊钢网被投出一道较厚的阴影。林妍一脚踩在排水渠的窄沿,手肘先上,腰像折刀一样折过栅顶,身形轻,落地几乎不带声。其余三人紧随其后。

E-12号库房的辅门锁换过,门把上有指纹油。顾城把随身工具从衣袋里倒在手心,挑最短的那支金属片,贴着锁舌轻轻探。两秒,没有反应;第四秒,锁舌里一只薄簧“咔”的一声让路,门缝吐出一口冷风,夹着消毒水和纸箱潮味。门后就是二层拣货通道,地上黄线清晰,拐角处竖着“止步”的红牌。夜灯把通道照成一条苍白的肠道,远处传送带还在缓慢地滑动,齿轮声像小动物的牙在啃木片。

“目标:三号位托盘区,冷链间旁的局域记录器;次目标:货运出口的调度终端。”韩明远在手心屏幕上画出简图,“我们只拿这两样。”

“走位按昨晚复盘。”凌峰低声说到。他贴着传送带的阴影前进,每次靠近拐角,手指都会掠过墙面,捉那一点点风向的变化。林妍跟在他左后;沈青禾断后,顾城中位,背着那台换了新电池的终端。

三号托盘区的卷闸半抬着一条缝,缝下露出一截托盘角、几条塑料薄膜的尾巴,薄膜上印着“乙类”。灯光在薄膜的折面上跳,像有人在里面呼吸。凌峰把手伸进去,把卷闸抬高两指,卡住。里面冷得像冰箱。空调风沿地面爬,钻进人的裤管。靠墙一排灰色铁皮柜,每个柜子都贴着“调试请登记”。韩明远直奔第三个,掀开下层的挡板,露出一只黑色小盒,盒子上贴着市政标记,标记下面多了一个不该有的二维码贴纸。

“先拍。”林妍抬手,镜头对准那张贴纸,一按,保存到本地,再投匿名链。她的手指微微发抖,不是怕,是长时间高度专注后人的筋在发酸。她深吸一口气,把抖稳住。

“拆。”韩明远抽出小盒,递给顾城。

顾城把盒子放到腿上,拇指捏住盒边两角,往相反方向轻轻一掰,壳体在他指间松开半圈。他用指甲挑开安全扣,一根超短数据线从里头拉出,插进他的终端。“日志在,完整。”他眼睛里闪了一下光,又很快沉,“但……有延迟。昨晚之后有人动过它,加入了‘延时提交’。”

“谁?”凌峰问。

“不是凯恩。这种补丁是外包风格。”顾城抬眼,“他让货物记录表面上正常,延迟二十四小时后自动聚合,形成完美账目。真实货流会在延迟窗口里转一次手,变成‘培训辅料’或‘城市更新’,再从账面上消失。”

“也就是说,今晚我们不动手,明晚它就干净了。”沈青禾冷笑,“他真会打扫。”

“拿完走第二目标。”凌峰压低声音,“快。”

他们刚从托盘区跨回通道,北侧整排灯忽然“嗒嗒嗒”亮了,冷不丁的白光把瞳孔逼得一缩。紧接着卷闸“哗”的一下落下,铁链在外面咬住门扣。

一个男人的声音从拣货通道尽头传过来,不急不慢,像站在一块干净的地面上闲聊:“我手下告诉我,你们喜欢趁雨夜钻洞。今夜好不容易雨停,给你们换一个干的场地,免得滑倒。”

他现身在货运出口的钢梁下,黑色战术披肩披到膝,右肩披肩下露出一截深灰色的碳纤外骨骼护臂,护臂关节处嵌着金属环,抬起时环间有细小的摩擦声。他左颈侧一道古旧的刀痕,从下颌边直直切到锁骨,皮肉愈合后留下的高低不平让他每一次呼吸都有肉眼可见的起伏。他没有像凯恩那样戴助听器,耳后是一条骨传导的细线,顺着颈侧埋进衣领。眼睛干净而冷,像做过很长时间的精度训练之后裁掉了所有犹疑。

“洛岚,”顾城出声,“外包清场部的‘斑鸦’。”

“顾先生还记得我。”洛岚笑了一下,笑容不热,带着职业的礼貌,“你当年写那个‘入仓事故’的时候,没写我的名字。可你知道是谁先把人从泡沫下拽出来的。你没写,因为你写了人就活不成了。你欠我一笔情。我来收。”

他抬起碳纤护臂,指尖向上一弹。天花板两台灭火喷头同时打开,白色泡沫从高处直直铺下,落在地上越堆越厚,迅速把地面性状改变成一块块半固态的陷阱。泡沫里混着某种刺激性粉末,让人感到眼睛和喉咙同时刺痛。

“两分钟后,这边的氧浓度会下降到你们不太喜欢的程度。”洛岚语气平和,“你们可以选择以最快速度往货运出口撤。这条路我留着。”

“他想把我们往外打,门外是他布的圈。”沈青禾咳了一声,把口罩往上拉,“不走正门。”

“顶右侧审计间。”凌峰果断。他的声音压低,像把一块石头磕在另一块上,清而硬。

右侧审计间的门带老式门闩,木头边被推得泛白。林妍抬脚踹,门板往里凹一寸,闩还挂着。沈青禾补上一脚,门开。里面一张旧办公桌,一台盖布的热敏打印机,窗外是货车通道的暗影。空气不流通,积着纸墨味与霉气。

“翻桌,堵门。”凌峰把桌脚往门边一撬,桌面落在泡沫上“扑嗒”一声。韩明远已把终端接到打印机上,手指飞,“调度终端端口在这,能直接抓今夜出入库的原始记录。”

“你不该在这儿。”洛岚在门外说,“顾先生,去年你写的那篇稿,让一个没做错什么的仓管辞职。我送他一罐啤酒,他说对不起。你来替他道歉吗?”

“道歉不值钱。”顾城声音哑,“有用的是让真相被看见。”

“真相?”洛岚轻笑,“真相是这城里每天有两百辆车要准时发货,否则明天午饭就会断一半。‘乙类’是保障,动它的人,不是‘真相’,是‘饥饿’。”

他话未落,门外泡沫里两只黑影靠近,持重盾,低姿,盾面镀膜上挂着泡沫,像抹了层白泥。凌峰打盾下沿与地面之间那条缝,子弹打进去一个角度,金属震动传进人手臂里,盾后的人脚踝一歪。第二个黑影紧接,抬盾顶门,门板“嘎吱”一声,老木纹被挤得叫喊。林妍从门缝斜角打一枪,打翻门口的泡沫管,白从侧墙喷开,正好封了对方的肩线。

“明远——”凌峰。

“抓完!走!”韩明远一把拽掉数据线,把打印机抽走插头,防止它在我们撤后被远程回写。他把终端抱在胸前。

窗外货车通道边正好停着一台小叉车,钥匙不在,但点火线很新。沈青禾翻窗,落地,步子略一沉,膝盖像被一只手攥了一把。他忍着,钻进驾驶位,手伸到仪表下方一扣,把两根线捻在一起,“咔”一声,油门灯亮。车一震,铲叉抬起两寸。

“上来!”他把叉抬高,胯下那台老叉车像一个抱怨着被唤醒的动物,咕噜着起步。顾城先扶着叉臂上去,凌峰一手按在他背上,一手把打印机掷进铲框。林妍最后一跳,腿上蹭掉一条皮,火辣辣。

叉车刚冲到通道中段,天花板上的侧灯忽然全灭。下一秒,两道刺眼的白从通道口对向扫进来,是便携式探照灯固定在两辆低矮的多轮平台上,光束低角度贴地,把他们的影子压扁。平台后方有四个人影,动作整齐,持长枪,枪口上的小红点落在叉车铲架上,像几只不耐烦的红蟋蟀。

“左拐!”凌峰吼。

左侧是防火门,门头有处红漆剥落,露出灰色底。门把的角度与常规不同——被人故意装反,习惯性动作会卡。凌峰伸手直直推,门果然“嗒”的一声卡住。他不退,反手拧,把门往相反方向猛拽,门开。他把叉车方向一甩,整车挤进防火门后狭窄的楼梯间,铲叉“当”的一下撞到扶手,把扶手撞弯,火星一溜。探照灯追过来,光被墙反了一道,亮得刺眼,但打不进来。

“封门!”林妍回身一脚踹在门上,门“嘭”地关上,门外传来一声憋住的怒气,随后是重物撞门。门叶颤,灰落一地。

楼梯间的混凝土潮湿,墙上挂着两块灭火器,一块过期,一块半空。扶手冰冷,滚边上沾着手汗凝出来的盐。楼梯往上两层是货运平台的外沿,再往上是天面冷却塔。风从缝里灌进来,带着夜退后的凉。

“洛岚不会追到楼梯里硬碰。”顾城说,“他用地形把我们往上逼,顶层有他的东西。”

“微波定向。”韩明远喘,一边往上跑,一边紧紧护着终端,“他可以把我们所有无线都在那儿烤成渣。”

“那就用线。”凌峰说。他把背包甩到前胸,拉开,丢出两根旧式屏蔽线。

二层平台外沿,风大,云层被东方初出的灰撕开一条窄口,港区的灯像被晨雾拉了一层纱。平台边摆着一排退役的金属笼车,笼车底轮生锈,吱呀作响。远处冷却塔边,一辆改装的小厢车停在防鸟刺后面,车顶支着一只短口的抛物面天线,天线口对着楼梯出口,像张开的白碟。天线旁边站着一个瘦高的影,披肩被风掀起一角,露出碳纤护臂的关节环。洛岚。身边两名队员各持一支短筒设备,像猎枪,却不是枪——电磁脉冲发射器,专盯电子设备。

“我只要你们放下那两样东西。”洛岚隔着风说,“你们走,谁也不死。你们不放,我们照程序来。”

“你的程序,从来只有一个结局。”林妍回,“我们也只有一个。”

洛岚没有再啰嗦。他抬手,天线“嗡”的一声轻响,平台上的空气像被揉了一把,胸腔里有一刹那的发空感。韩明远的终端屏裂了一条细线,像玻璃被小石子轻轻撞了一下。他一把把终端塞进屏蔽袋,另手把有线头从屏蔽袋口拽出,插进平台边一只信息箱——市政自用的旧有线口,很多年没人管,刚好能用。

“速度!”凌峰压低嗓音。他和沈青禾把两只笼车推到边沿,笼车撞着地面,震得手臂发麻。他们借笼车做移动掩体,一点一点往天线方向逼。对面那两支脉冲短筒先打笼车,笼车金属网一阵“嗞嗞”,火星像细雨。林妍打天线背后那只供电箱的下沿,把电源线打出一道口子。电线在风里“滋”的一声冒了个小白点,瞬间熄灭。

洛岚眉眼一敛,一脚踢在供电箱上,备用电源接入,天线又亮了起来。他的碳纤护臂在晨光里显出每一节的纹路,像人类骨骼被换上了冷硬的替身。他向前一步,不快,步子每一寸都贴着平台的纹理。

“他要贴近用护臂。”沈青禾低声,“那东西一旦扣住你的关节,就别想再拿枪。”

“让他贴。”凌峰道。他忽然把笼车一推,笼车在风里横着滑出半米,撞在防鸟刺上,发出一串刺耳的响。他借着这一下侧身切出,左脚前探,右脚后蹬,身体像一把被压住的弓猛地弹出,盾面(他从楼梯间顺手抄了一块钢板)横着压向洛岚的肩。洛岚反手抬臂,护臂与钢板撞在一起,发出钝响,震得两人手臂一麻。下一刻,洛岚脚尖一挑,钢板斜斜弹起,凌峰顺势撤,银光一闪——不是刀,是撬棍的尖,直取碳纤护臂内侧那道防尘缝。撬棍尖刚刚顶到缝,洛岚反腕一扣,护臂卡爪伸出,抓住撬棍一揪。凌峰松手,退半步,换枪,抬臂点射,打对方膝侧的缝。子弹打中,洛岚身体微沉,步子却没乱。

“他关节缝带软护。”凌峰心里一闪,“破不了。”

“那就打他不硬的地方。”林妍用余光把洛岚与天线的位置对齐,枪口一偏,打天线旁的支架上那只安规接地条。接地条被打断一半,天线负载上涌,电流回噬,天线口“哧”的一声冒烟。那两名持脉冲短筒的人各自后撤两步,防止被波及。

“青禾!”凌峰一喊。

沈青禾把刀从腰侧抽出,刀背贴前臂,身体像风扫过平台边缘。洛岚护臂又一扣,卡爪张开,“喀”的一声想要抓住他。他在卡爪闭合前那半寸,整个人像一张纸从卡口下钻过去,刀尖从天线的供电束侧面切入,切断第一根,电花一溜;第二根,火星更大;第三根没切到,被洛岚脚背一勾,刀身偏了一个角度,擦出一片火。他的脚底在湿滑的铁皮上一滑,膝盖那道伤立刻翻疼,他“嘶”了一声,换手反握刀,再切。供电束断,天线瞬间黑灭。

“现在!”韩明远在屏蔽袋里吼,“有线跑通了!日志直传外节!”

“撤!”凌峰压嗓。

洛岚没有惊慌。他抬手把护臂上的卡爪收回,掌背轻轻一拍护臂边沿,像在提醒一只宠物。他向前一步,步子仍稳,眼睛里一丝惋惜:“本来不想你们受伤。”

他说“不想”,但护臂撞上来的下一瞬,凌峰肩上旧伤再被磕中,疼得眼前发白。他没有倒,他让身体顺着冲撞的力旋出去,卸掉一半,再用这一半的力去推林妍:“走!”

洛岚身后,一组人影从冷却塔后绕出,手里不是枪,是两根长柄钩——用于拉拦坠网。他们抬钩向凌峰几人脚下扫去,想把人从平台边缘撩下去。顾城一把扯过身边的笼车,把笼车整个翻起,砸在钩上,钩卡进笼格再拔不动。

风一股股掠过平台,晨光在云厚处开了第二道缝,城市更远的一排楼顶浮出来。楼缝间若隐若现几道细光,像谁在另一个世界点燃了火柴。

他们撤回楼梯口。洛岚没有追进来。他俯身拾起那把被切断供电束时弹开的电缆头,手指轻轻抹去上面的灰。他抬抬手,示意两名队员收起脉冲短筒。他看了看天,又看了看平台边沿线,仿佛在衡量风向。

“终端有线通道外链回执到了。”韩明远额角汗水顺着眉骨淌下,“‘延时提交’的补丁样本拿到,‘晨光’频段调用记录也推上去一份。我们没白来。”

他们绕过楼梯,走另一道应急通道出库房。门外是早市刚开张的街,蒸汽在摊位上方升起,空气里有淡淡的食物味道。没人注意这几个人从阴影里走出,也没人知道刚才楼上发生过一场剧烈的切磋。凌峰把手里那块被泡沫糊了一层的打印机交给顾城,顾城用背包里的干布一点一点擦干。纸槽里还有半截没撕的热敏纸,黑色字迹湿了一角,却还能认:车牌号、司机号、货类编号,和几个奇怪的标记。林妍把那几个标记拍下来,放大,慢慢辨认——每一个标记其实是一个微小的方阵,像二维码的孩子。她心里“噔”一下。

“它们在货单上藏了触发表。”她喉咙发紧,“每一批‘乙类’货里,都带一个微型触发码,进入特定区域就会唤醒在岗人员头上的那玩意儿——‘晨光’。”

“也就是说,除了塔的远程唤醒,它还有‘近身’。”顾城把那条热敏纸卷起来,“这就解释了为什么有些人只在某些路段‘突然高效’。”

“车道,路段,信号灯。”韩明远眼神更亮,“它们把城市的路网当做触发器。我们要做的,是把城市的每一根线单独拿出来,给它标注‘危险’。”

凌峰抬头看见前方街角有一辆改装过的轻卡尾灯一闪,像某人用眼角余光扫了他们一眼。那辆轻卡车厢侧板很新,喷了“城市更新”。车尾的钩子挂了一枚黑色小徽章,徽章上印着一只翅膀斑驳的乌鸦。

“洛岚留的名片。”林妍轻声。

“他在提醒我们:这城里,他也会按时上下班。”顾城捏紧了纸卷,“我们就守他下班路口。”

他们穿过早市那条街,停在一家摊车前,买了四个刚出锅的薄饼。摊主抬眼看他们,什么也没问,只把酱多抹了半勺。人间烟火贴在身上,紧张像被一只暖手轻轻按平一瞬。薄饼的热度还在掌心,凌峰把自己的那一个塞进沈青禾手里:“补糖。”

“欠的那瓶啤酒,再加上一张饼。”沈青禾咧嘴,“记账。”

“回去我们算总账。”凌峰目光落在前方的路,“今晚,标注‘乙类’仓的全部分布点;明晚,引洛岚离开仓网;后晚,去找凯恩的‘更好看的路’。”

“还有第四晚。”林妍接,“把‘晨光’在城市路网里的每一条触发路线全部画出来,让它在公众面前无所遁形。”

“第五晚。”韩明远把终端揣进衣怀,“让它停。”

顾城把那条卷起的纸轻轻塞进内袋,贴着心口。他低声:“我们欠的道歉,一条条补。”

风把他们的背影往前推。他们走进更亮的早晨。身后的E-12号库房渐渐隐在风和蒸汽里,像一块被人用手掌抚平的褶皱。路边的树叶刚被雨洗过,边缘还挂着水珠。城市醒了,还不知道自己被谁在夜里握住了喉咙,又被谁在天亮前放开了一指。

他们要做的,是把这座城里那张看不见的网一根根勾出来,把每一处会伸手勒人的地方钉上名字,然后在天亮之前,先拿下一处,让人们看到。

吃完薄饼,油纸叠成小方块塞进衣兜,四人沿着早市边缘散开,各自走在不同的人群缝隙里,步子不快。顾城掉在最后,盯着那辆挂着“斑鸦”徽章的轻卡。车厢侧板太新,螺丝头的暗影说明昨夜才拧过,里头八成加了东西。尾灯又轻轻一闪,不像打转向,更像给后车看暗号。前方红绿灯刚转绿,车没走,像在等一条看不见的指令。

“南二环匝道。”韩明远压低声音,“它在等‘时间段窗口’。我们守下一个口。”

“按昨晚的节律,它下一站是西工坊立交下的旧料场。”顾城眼睛不眨,把那条路线上所有可能躲人的死角在脑子里亮起来,“那里有一条废了的自动输送带隧道,车能从里头钻过去,别的车追不上。”

“林妍,先去料场东口卡位;青禾拦在北口,我和顾城贴车。”凌峰简短。

林妍把帽檐压低,拐进旁边一条窄巷。巷里潮气重,昨夜的雨还挤在砖缝里。她从巷子另一头出时,骑了一辆破旧的单车,链条上泥点还湿,正好给她遮遮眼线。她骑着车,从早市的背风面绕出,消失在拐角。

沈青禾一瘸一拐,膝盖疼得像有人在里头塞了一块烫石头。每一步都落在能支撑身体轴的点上。他绕小区外沿跑,利用垃圾站后墙那一段长阴影节省体力,最后在北口一棵枯树下蹲下,目光像钉子一样钉在出入口。

轻卡如愿以偿地等到了“绿波”,顺着一串灯平顺地滑过两个路口,然后在第三个路口故意停了停,像做给谁看的。它右拐,进匝道,车身轻轻一晃,压过一块被雨水泡软的柏油补丁。凌峰侧身贴在后车厢边缘,右手按在侧板缝里。顾城走在更外侧,像一个普通晨跑的人,步频一致,眼睛不看车,实则在玻璃倒影里盯着驾驶位。

车过立交下,拐入旧料场。料场入口竖着两块落灰的告示牌:“施工暂停”“闲人勿近”。告示牌后是一片半废弃的场地,铁轨露在泥土上,被昨夜的雨洗得发黑。最里面是那条输送带隧道,口子被铁皮挡了一半,另一半被杂物堵住,只留出一条勉强容得轻卡挤过去的通道。

“来了。”林妍在东口,枪已经找好角度,瞄着隧道口上方那块松动的铁皮。她知道,一旦有人从里头想投光或投泡沫,铁皮就是最好用的反射面。

轻卡不减速,像司机在走一条熟得不能再熟的不用看路的路。它刚挤进隧道口,后轮踩上铁轨,车身向右轻轻一沉。凌峰手一扣,把一块薄到只剩磁片厚度的追踪片按在侧板内沿,指尖一松,磁片“叭”的一下吸住。他顺势后撤半步,躲进侧墙阴影。顾城走在更外侧,目光扫到隧道口上方那一排老式照明灯,电线裸露,接头处有黑色的电工胶布。他心里一动——这是城市旧时代留下的手艺。

“注意,西口进三台摩托,车灯灭,头盔全封。”沈青禾低声,“他们先掉头再打火,想卡我们后路。”

“林妍,打铁皮的边。”凌峰。

铁皮被一枪敲在边角,整个板面震出一串金属颤音,白灰抖下,在灯下形成一片很薄的雾。隧道里的人下意识一抬手挡眼,手上动作慢了半拍。摩托进场,前轮一踏在铁轨上,滑,车身一斜,骑手用力一撑才没倒。林妍换位,扳机轻点,子弹打在摩托车头护杠与地面之间的锐角,火星一溜,车手被迫把车身再压低,避位。躲位的那一瞬,凌峰已钻到车尾与墙缝里,抬手一拉,把堵在缝里的破木托盘抽出来半张,托盘斜斜插在地上,形成一个临时坡。第二台摩托不知底,照样冲入,前轮一踏上这块滑托盘,整个车前冲,后轮原地腾空半拍,骑手不得不松手稳车,身体暴露一条缝。沈青禾“嘣”地一枪打在车把靠里那截金属上,震得骑手虎口发麻。第三台摩托抱刹,轮胎在湿泥上拉出一串“吱”的细响。

这时,隧道里传来一声短促的金属碰撞声,像某个弹簧被扣断的尾音。轻卡停了半秒,又启动。它没有在隧道里停人,而是直接把车开到另一头,车尾在隧道里扫出一串风。

“盯车。”凌峰说。他不恋战,手一招,撤入侧墙的阴影,沿着铁轨追。顾城紧贴另一侧,脚步均匀。林妍开枪,压住那三台摩托的火线。

轻卡出隧道,通向一片更空阔的工地。远处一台老吊车的臂在风里轻微抖动,吊钩低到离地不到两米的地方,像一只无精打采的手。车穿过吊钩下面,侧板被吊钩“哐”地轻磕了一下。司机没有停,甚至没有回头看。

“他故意撞。”顾城心里一顿,“他要用这一下把车身上的什么东西震下来。”

“磁片不会掉,但里头的货可能换位。”韩明远的声音从耳里进来,短促,“磁片贴稳了,我看见信号,往东。”

他们从料场东侧出去,钻进一条两侧都是绿化带的辅道。风把树叶吹得“沙沙”,地上被雨淋过的土溅在裤脚上。前方五十米处有一处道路施工的围挡,围挡把路压成一条狭缝。轻卡直接撞上去,塑料围挡被推歪,露出里面一片规整的电缆沟。沟盖板被撬开一半,露出密密麻麻的线缆,像一簇簇黑蛇蜷在水泥槽里。

“他要上‘近触发’节点。”韩明远声音快,“沟里有市政的路侧触发器——‘晨光’的近身嘴替。”

轻卡车厢门从里面被推开,一只戴手套的手伸出来,往电缆沟里丢东西。黑色,像比火柴盒大一点的方盒,落进去没声,像本来就属于那儿。丢了三只,车厢门“砰”地合上,车继续往前。

“拦。”凌峰没别的选择。他冲出阴影,直直冲到车侧,一手拉开侧板卡扣,另一手抬枪瞄车后轮。司机显然没想到有人敢在这角度出现,车身一抖,刹车延迟了半拍。林妍从右侧冲出,一脚踏上后轮泥挡,整个人借力上翻,像一片影子跃上了车尾。她抓住侧板的内钢梁,把身体贴进去,趴伏在货箱内沿。货箱里堆着一排排灰色塑料箱,箱面印着“城市更新辅料”。她伸手扯开最近一只的封条,里面不是辅料,是十几只一模一样的黑色方盒,整齐排列。

“证据。”她喉咙发紧,“拿两只走人。”

“拿一只,另一只留坑。”顾城在地面低声,他知道拿太多等同于告诉对方“我们吃饱了”。林妍点头,把其中一只塞进胸前袋,又把另一只拆开,取出里头的电池,把外壳扣回原位,盖好。

司机终于回过味来,猛打方向,想把车甩到路边,把车尾上那道影子撞落。林妍握住钢梁,身体顺着车身侧滑,脚尖紧贴箱壁往下摩擦,找着那一点点摩擦力。在她手心汗因为紧张而更滑的一瞬,她把牙往下咬,指节全白,没松。她等待一个点——一个能让她用腿的点。车身再猛甩了一下,她腿部肌肉一绷,整个人像蜘蛛一样“贴”回了内沿。她从胸口抽出一支短绑带,把自己和钢梁捆了个活结。

“下一个口。”凌峰的声音压着风,几乎只有气,“东二环下穿道。守右偏。”

这时,侧后方传来摩托的怒吼。那三台摩托终于从铁轨一侧绕出,灯全开,光直直刺在凌峰背上。沈青禾转身,枪口一压,第一枪打偏,打在轮圈边,火星一溜;第二枪压得准,轮胎“嘭”的一声爆,车身横甩。骑手硬生生把车扶住,换外圈绕。第三台趁机超越,从左侧抄近。韩明远早一步从围挡后跳出,一只路障锥被他一脚踢出,直直进了第三台的前轮里。骑手咒骂,车身重重一栽,滑出一道长长的黑。

“明远,离车远点!”林妍在车尾尽力压住自己声音,怕司机听见更用力甩车。

“收到,撤。”韩明远翻身回围挡,胸口剧烈起伏。他忽然意识到自己手在抖,不是害怕,是肾上腺素过量后的空虚。

轻卡冲入东二环下穿道。道里灯管半坏,光一明一灭,风像从一排排漏斗里灌进来,呼哧的声响催人心跳快半拍。前方有几台早班车缓缓往外爬,车轮压过积水,溅起一片片水花。轻卡匀速,没再甩。司机估计觉得已经摆脱跟尾。凌峰跑在侧墙阴影里,脚步像敲在石上的鼓,稳。顾城在外侧,眼睛刻着每一处摄像头的位置——这些镜头稍后都会成证据的一部分。

出下穿道,就是西郊旧仓路。路旁一排排立着的灯杆上,有些挂着“市政公益”的广告,有些空着。空的那几根灯杆里,顾城知道,曾经塞过“晨光”的临时节点。今天不知道还在不在。

林妍把绑带“咔”的一声解开,手脚并用,整个人从车尾的内沿滑出,落在车后第一格的缓冲杆上。她等一个颠簸——路面上的井盖给了她机会。车尾轻轻一弹,她松手,落地,两步化去惯性,躲回侧墙。

“车往西偏。”韩明远看着终端上的光点,声音低而急,“它不是回仓,是去换装点。我们可以先拿沟里的那三只。”

“青禾,掩护;明远,钩子;顾城,剪电。”凌峰把人瞬间排开。三人像习惯这套配合一样,无需语言,各就位。电缆沟里的三只黑方盒就像三颗被丢进土里的种子。顾城把手伸进沟里,指尖摸到第一只方盒的棱角,盒子表面有一层细细的防水蜡,滑。他换抓法,用两个指节卡住棱角,轻轻一提,盒子从一束线缝里抽出来。他把盒子递给韩明远,后者把钩子伸进沟里,把第二只拉过来。第三只在更里侧,藏在一带缆束后面。沈青禾整个人趴在沟边,半个肩伸进去,把缆束掀开一线。膝盖突然一抽,他脑袋里“嗡”的一声,眼前发白。他咬牙,把疼再往下压,指尖探进更深,把第三只摸出来。

“走!”凌峰不让他们在路边多停一秒。他们转身钻进背街小巷,把方盒塞进屏蔽袋。韩明远把其中一只打开,里面结构并不复杂:一块小电路板,一粒锂电,一枚超短波发射模块,和一段存储芯片。芯片上写着一行小字:QSC-近程-校准5。顾城眼里闪过一丝冷:“这就是‘近身’。”

“它存的是路段触发表。”韩明远快速拷贝,“拿到这批,我们就能逆着把路段标出来。”

“洛岚不会让我们安生。”凌峰刚说完,前方街角一台黑色厢车发动,像一个一直在等号的病人被叫到了名字。厢车左右两侧同时升起两根短杆,杆顶各有一个圆形设备,像小号的雷达。安静,没声,但空气里有一点轻微的麻——不是电,是高频的轻风刮过皮肤的感觉。

“定向干扰。”韩明远声音紧,“别用无线。”

凌峰一挥手。四人钻进更窄的居民楼间小径,两边晾衣杆低低伸出来,衬衫袖子在风里拍人脸。某家窗台上放着一只老旧的小风扇,叶片上落了灰,被风吹起一丝丝灰线。楼角处堆着一个红色消防栓,螺帽锈得发黑。沈青禾一把拧,水从侧面喷口“嘶”地冲出来,带着昨夜的冷。水沿着坡道冲下,路面快速湿滑。

厢车冲进巷口,前轮一踩水,车身一抖,速度降下来。林妍在巷口另一头架起枪,打厢车腰线下方的空腔,声音叮的一声,弹片在腔里乱跳,发出一连串软响。司机下意识松油门。顾城抬手,扔出一枚小小的烟罐,烟不是掩护,有一点刺激,逼人眯眼。厢车停了半拍,后门“哐”的一声开,两名黑衣人跳下,持盾持短筒。盾面一抬,挡住烟雾,但脚下刚好踩到水里,鞋底与地面之间那层薄薄的泥让人不得不把重心向后拉。林妍抓住这半秒,切位,打盾下沿的支撑杆,杆“咔”一声断半截,盾把瞬间变成了拖累。

“走!”凌峰不贪,反手把那三只近程触发盒塞进顾城背包里,四人从另一头巷口抽身而出,像几缕被风带走的影。

他们绕到西工坊外的旧电车调度场。调度场铁轨交错,草从轨缝里长出来,尖尖的叶子上挂着昨夜留下的水。场地中央有一台废弃的行车吊,吊臂斜着伸向空中,电磁吊盘被人卸了,只剩一圈圆铁壳,外边的线头裸露,但行车本体的开关箱还在,盖子破了半边。

“好地方。”凌峰目光一亮,“他要追,就让他在这儿摔倒。”

“我去接线。”韩明远钻到行车底下,把破开关箱里的残线一根根理出来,找到那条还通着的主供,他咬掉线头的氧化层,用工具钳夹出一个勉强能通电的接点,把电压调低,免得一通就把旧线烧了。顾城在旁帮他拿工具,动作细、稳,如同十年前在报社值夜班时修打印机那样笃定。

“林妍,轨枕侧边找掩体;青禾,守左翼,别让人绕。”凌峰把每个人的位置像插旗一样插定。他自己站在吊臂的投影边缘,手里揣着一块拇指大的磁铁。这玩意儿看起来不起眼,但一旦行车上那圈半残的电磁壳通了电,周围一米内有金属就得乖乖过去。

不出所料,洛岚的黑厢车并没有死磕巷战。他绕开居民区,沿主干道直直杀来,车身稳、速度快,像是没有任何地形能让它犹疑。他站在车后,披肩往后一掀,护臂在晨光里像一条冷线。他在三十米外下车,目光扫一圈场地,落在吊车上,眼里有了一丝兴趣。

“旧时代的玩具。”他开口,声音仍旧温,“你们也喜欢。”

“我们喜不喜欢不重要。”凌峰回,“重要的是它会不会重。”

洛岚不再说。他抬手,身后两名队员分左右散开,形成一个简易的火力三角。但地形不给他们舒服的视线——轨道的起伏、草的遮挡和吊臂的阴影打断了他们的交叉。林妍在轨枕边趴低,枪线贴着草尖,准星稳定地切换目标。她不先开枪,她等洛岚动。

洛岚动。他向前走一步,护臂抬半寸,卡爪半开,像一只准备咬住什么的鸟嘴。他的脚步踩在枕木边缘,不出声。他的眼睛一直盯着凌峰,像两把细细的刀锋,在风里不晃。

“现在。”韩明远在行车下方低吼。他把开关一推,旧行车“嗡”的一声,铁壳轻轻一颤,磁场像一条看不见的布向外铺开。凌峰抬手,那枚拇指大小的磁铁被他扔向洛岚脚侧的轨道接缝。磁铁粘住,发出一声细不可闻的“嗒”。洛岚脚步不乱,护臂抬得更高。

他抬到最高的那一秒,护臂上的金属环与行车的磁场重叠了一线。那一线,像人把手指伸进河里刚刚碰到水面时的触感——轻,却不可忽略。护臂“嗒”的一声被吸扯半寸,洛岚手腕一紧,步子一滞。这半寸,就是机会。凌峰上,撬棍扫护臂内侧缝隙,借被吸的那点拉力,把护臂往磁盘方向“送”。洛岚反腕回扣,卡爪“喀”的一声扣住撬棍,想顺势把人拖回来。但磁力更贪,护臂与半残磁盘之间“嗡”的一声,吸实了半掌。洛岚眼里第一次闪过一点意外,他没有慌,他向前再走一小步,借角度,把吸力的方向改变了一线,护臂从“贴死”变成“擦边”。擦边的那刹那,他猛然收肩,生生把护臂拔离磁场,护臂表面的环被磨出一圈亮白。

凌峰没有追那一下,他退半步,让林妍的视线从遮挡后掠过。林妍一枪压在洛岚右脚踝外侧地面,碎石打起,逼他换位。沈青禾从左侧切入,刀背抬,打护臂外圈的关节圈。洛岚不闪,硬接,护臂与刀背撞出一声闷响。他左手无护,空。凌峰一抹身,抬肘压他左臂肱二头,逼他让位。洛岚不退,他突然放弃上半身的较劲,整个身体向右沉,把重心放在那只被擦亮了半圈的护臂上。护臂卡爪再张,想抓凌峰的手腕。凌峰松腕,手像一条细蛇滑开,回手抓住洛岚护臂上的金属环,出人意料地把它往磁盘方向轻轻一送——不是硬推,是“送”。磁场吃力,护臂又被吸住半寸。

“明远,加半格。”凌峰沉声。

“再加就烧线。”韩明远咬牙,“半格,行。”

电流上去,磁盘边缘“嗡”的颤变得明显。洛岚护臂被吸住一瞬,他不能再退,否则整臂要被吸在盘上。他向前踏出一步,护臂与磁盘贴着,发出一串令人牙酸的摩擦音。他的眼睛在这一刻窄成两条缝,气从鼻孔里短促出。他抬膝,直撞凌峰的肋。凌峰侧身一躲,还是被擦到一条生疼。林妍在这冷里找到了一线平静,按住扳机,打在洛岚护臂与肩部连接的外座。火花一溜,外座上的一个紧固钉“啪”地断了半截。护臂的惊艳稳定终于被削去一层。

“撤。”洛岚低声对身后两名队员说。他不恋战。他的眼睛扫过行车的开关箱,扫过韩明远的侧脸,扫过林妍掌背那道没愈的裂口。最后,他看了沈青禾膝上一眼,像是把某个位置在脑子里重重标了个记号。他抬手,队员收拢。黑厢车倒车,扭头,远离。走之前,他把地上那枚被吸痕磨亮的金属环捡起,抹掉上面的粉尘,揣进披肩内袋。

行车“嗡”的声渐弱,磁场退下去。韩明远松了开关,整个人像刚从水里爬上岸,背心全湿。他往后一靠,靠在行车的柱子上,闭了闭眼,再睁开:“线没烧。挺住了。”

“他也挺住了。”凌峰把胸口那口火慢慢压下去,拇指在肋骨上按了一下,止痛点找准了,疼就没那么乱了。

“这一仗不白打。”顾城从背包里把那只触发盒拿出来,手心还热。他指尖轻轻扣在盒角上,“我们拿到了‘近身’。我们还拿到了他护臂的磨痕。”

“磨痕能告诉我们型号、批次、供货。”韩明远眼睛又亮,“从供货往后倒,能倒到一家公司,那家公司会在工商登记里留下痕迹。”

“今晚让‘晨光’再亮一次,不过这次,是在公众眼睛里亮。”林妍把枪收回,手背裂口渗出一点血,。

凌峰下达,“去老电车库的临时点。”

他们从调度场的侧门出去,穿过一条空旷的货运甬道。甬道边走过两个清洁工,推着垃圾车,车轮在路面的裂缝里“咯”地一声。清洁工只抬眼看了他们一眼,又低头看路,像看见一群夜归的人。空气里有铅味,也有阳光刚刚掀起的尘的味道。城市开始醒来,嗓门大起来。

老电车库的砖墙斑驳,窗格子斜斜的,每一扇都挂着厚厚的尘土。库内角落里堆着拆下来的座椅,布料上有不知何年何月留下的圆圆水渍。凌峰把门关到只留一指的缝,让风还能进。他们围在一张旧图板前,图板上用记号笔拉出今天早晨的线:E-12号库房——料场——下穿道——近触发沟——调度场。韩明远把拿到的近程触发表展开,指尖在一排排看似普通的数字上飞。顾城拿出那条热敏纸,放在一边,两者对照。林妍把掌背的裂口重新贴胶。沈青禾坐在台阶上,膝盖上的绷带拆开一半,消毒水往上倒,火辣辣。他没皱眉,只是把牙咬住,等那股辣过去,再重新绑上。

“看这里。”韩明远点一处,“每周二、周四的晨高峰,近触发会在西郊四个交通节点同时上电,持续二十分钟。它的目的是同步一批节点——‘晨光’的街头版升级。”

“今天周四。”顾城看表,“九点半第一波,十一点第二波。”

“我们拆一波,公开一波。”凌峰抬眼,“第一波让公众看见,第二波让他们没法说‘误传’。”

“洛岚会来。”林妍把那枚“斑鸦”徽章的形状记在心里,“他不喜欢‘看见’这件事。”

“他会从信息优势转成地形优势,再转成兵力优势,最后用终极手段。”顾城把洛岚今天的出手一条条在脑子里重放,“我们在第一步打掉了他的局部信息优势;第二步,选地形,让他不好展开;第三步,他一定会带更多人;第四步,他会用不再礼貌的东西。”

“不礼貌的东西是什么?”沈青禾问。

“移动式干扰阵列和溶胶。”韩明远眼神沉,“它能在十秒内把我们的脚黏在地上。”

“那就选有水的地方。”林妍说,“水和溶胶不对脾。”

“东环的下沉广场,水泵半坏,一下雨就积。”顾城迅速在图上点,“那里人多,媒体也爱去拍‘城市内涝’。一旦动手,‘看见’是自然的。”

“我们不伤人。”凌峰把这句话说得很慢,“我们拆机器,揭名单,逼他们在阳光下说话。”

“先活着拿出去。”四个人几乎同时重复。

时间一点点挪到九点二十。城市的声浪像被推高的水。四人分两组,一组去东环下沉广场,一组去四个交通节点中的两个。顾城和林妍先行,背包里装着那只近程触发盒与一叠拷贝好的触发表;凌峰和沈青禾带卸线钳、屏蔽袋、绝缘胶和一把短柄撬棍。韩明远留在电车库,接线,盯链路,同时准备一套很简单的东西——一个开放的直播窗口,放在一个没有署名的公共账号上。他知道,今天所有的“看见”,都得在几分钟内发生,否则就会被阐释、消解、洗去边缘。

东环下沉广场的水泵果然半坏。昨夜的雨把广场最低的那块切出了一个浅池,水没过鞋背。孩子在岸边玩耍,家长在上方栏杆旁聊天。广场一角的路侧箱里,近程触发接点嵌在一团电缆之间,像一个无害的小黑点。顾城蹲下,林妍抬眼扫描四周。她看见一辆看似普通的维修车停在不远处,车顶一块方平的板正对着广场,板边缘有短小的天线——移动干扰阵列。洛岚没来,但他的手伸到了。

“开始。”顾城低声。他把屏蔽袋从背包里取出,套在那只接点上方,袋子里铺着导电层,像一面小小的罩子。他手腕稳稳往下一扣,袋口“喀”的一声对上路侧箱的边缘。接点被罩,瞬间失声。他把另一只拿的黑方盒轻轻放到路侧箱里,盒子上贴着“演示”两个字。林妍把摄像头伸到人群方向,镜头带到上方栏杆旁那些普通的脸,然后缓缓推回路侧箱,推到那只被屏蔽袋罩住的接点,推到放进去的“演示”盒。

九点二十九分四十秒,维修车的阵列起动,空气轻轻一麻。九点三十,广场上方四根路灯杆内同时上电。若按平常的“近身”,此刻在这片区域内佩戴某类“工作帽”的人会突然“高效起来”。而镜头下,那只被他们放进去的“演示”盒子开始闪动,闪烁频率与路灯杆的启动频率一模一样。顾城把“演示”盒的信号引到手机上,屏幕上跳出“近程触发——东环下沉广场——校准5——同步成功”的小行字。直播窗口里弹幕开始跑,有人问“这是什么”,有人说“假的吧”,有人把昨夜凌峰他们匿名发的“晨光频段对照表”贴在弹幕里做对照。

“第二个点?”凌峰耳机里问。

“北桥的接点罩住了。”沈青禾在风里,“第三个正在上电。”

“继续。”顾城收手,站起,腰直得慢,昨夜的冷气像至今还卡在肺底。他回头看一眼那辆维修车,车里的人在观察,不动。他们也不动。他们上阶,混在人群里。有人看他们多一眼,又移开视线。

十点四十五,第二波“看见”在另一个广场上映。三台由市政挂名的清洁车“恰好”停在近程触发点周围,阵列板朝外。屏蔽袋罩住,演示盒闪烁,直播窗口里对照表一条条被贴出来。这一次,评论开始变了味:有人报出自己小区的路灯杆编号,说“这个杆里就有盒子”;有人把昨夜在某个仓库门口看见的异常发出来,配图;有人问“谁审批的”;有人说“你们小心”。

十一点,第三波不再是“看见”,而是“堵”。西郊四个路口同时上电,但其中一个点的路侧箱里,除了近程触发盒,还有溶胶罐的高压阀。阀被定时装置系着,十秒后打开。我们远远看见白色的胶从箱底像一条静静的蛇爬出来,沿着地面铺开,粘稠,遇水发硬。

凌峰在耳机里轻声喊到,“别被溶胶黏住。”

“收到。”林妍在东环,“我们转去北五的节点。明远,盯住那台维修车。”

他们按计划散开,再次在城市的缝隙里消失。空中的云被日头烤散,风里有晒热的味道。人群在广场上走走停停,谁也没注意到脚下某条路在慢慢被什么东西封死。直播窗口的热度上去又下,像一条心率曲线。他们知道,这条曲线最后会落到哪里:在新闻的角落,在一个不甚显眼的版面,在一张被收藏的截图里。但在那之前,他们还得继续战斗——在更阴暗的地方,把凯恩所谓“更好看的路”从地下挖出来,扔到天光里。