圣约翰大学实验室的排风扇嗡嗡作响,程墨白用液氮喷雾冻结被盐酸腐蚀的日记残页。林清和将载玻片浸入硫代硫酸钠溶液,焦黑字迹在显微投影下逐渐显形:"…气罐伪装成万国储蓄会募捐箱,转运至…"
窗外传来报童的叫卖声,程墨白抓起当天的《申报》。社会版头条照片里,外滩慈善游园会的募捐箱排成钟表刻度状,正中央的锡制储蓄罐铸成小天使造型,羽翼纹路与沉船玩偶如出一辙。
"游园会在海关广场举办。"林清和用游标卡尺测量照片比例,"十一点钟方向的蒸汽机车模型,排气管首径足够藏匿氯气罐。"
程墨白扯下墙上的租界地图,红铅笔圈出万国储蓄会三个分理处。他突然用放大镜对准霞飞路分理处的建筑图纸,发现地下金库通风管走向与德兴馆后巷的下水道重合。
暴雨突降时,程墨白站在霞飞路分理处的罗马柱廊下。大理石台阶的排水口边缘,他刮下片蓝绿色铜锈——与沉船玩偶腹腔的防潮涂料光谱特征完全吻合。林清和用内窥镜探查通风管道,突然在镜头里看到反光的齿轮组。
"是货仓毒气装置的缩小版!"她调整焦距,"联动杆末端连着气压计,刻度停在970百帕。"
程墨白掏怀表对照海关气象记录,三天前下午两点的气压值正是970百帕。他猛然想起父亲日记里提到的"玩具枪",转身朝圣约翰大学附属小学狂奔。
操场上的孩童嬉闹声中,程墨白夺下男孩手中的锡制左轮手枪。拆开撞针装置的瞬间,他嗅到淡淡的苦杏仁味。林清和用X光机扫描枪身,底片显示弹巢里嵌着微型玻璃管,液态氯气在日光下泛着黄绿色。
"每把玩具枪对应不同小学。"程墨白翻查缴获的出货单,"周三下午两点有手工课,正是气压最低的时段。"
缉捕队的汽车急刹在荣昌商行旧址前,程墨白踹开腐朽的木门。尘封的账房里,二十八台老式打字机排列成货轮甲板形状。他按下空格键,滚筒上浮现出带RC标记的蜡纸,每张都印着不同小学的课程表。
林清和用紫外线灯照射蜡纸,暗纹显出氯气化学式:"凶手根据各校手工课时间,精确计算气压变化周期。"她突然抽出一张泛黄的毕业合影,背景里的气象观测塔挂着船锚形风向标。
外滩信号塔的铜质避雷针在雷云下泛着冷光。程墨白攀上瞭望台时,发现温度计基座被改装成温差发电器。他用热成像仪扫描,发现避雷针南北面的温差恒定保持七度——正是氯气汽化的临界值。
"当雷暴导致温差突破阈值…"林清和将示波器探头接在发电器输出端,"就会触发玩具枪的撞针装置!"
程墨白扯开信号塔的木地板,成捆的《儿童画报》堆里藏着水文记录仪。记录纸上的波浪线突然在某个节点出现规律波动,他掏出六分仪测算,发现每次波动都对应货轮经过吴淞口沙洲的时段。
解剖台的无影灯下,林清和解剖从江底打捞的船锚形风向标。铸铁空腔里填满结晶硫磺,中心卡着半张戏票,日期是明天的慈善游园会。程墨白用立体显微镜观察票根齿孔,突然发现边缘有极细的钢丝勒痕。
"和戏院吊灯使用的琴钢线一致。"林清和检测勒痕处的金属残留,"凶手要在大庭广众下制造意外事故。"
暴雨夜的缉私队突袭中,程墨白在沙洲灯塔截获运往游园会的"慈善物资"。撬开贴着糖果标签的木箱,二十八尊锡制天使雕像的眼睛里,淡黄色液体正在虹吸管中缓缓上升。林清和用激光测温仪扫描雕像翅膀:"内部恒温装置设定在25℃,刚好是氯气汽化温度。"
程墨白突然注意到雕像底座刻着摩尔斯电码,翻译过来是"十一点钟方向"。他望向海关大钟,分针与时针即将重合的瞬间,江面传来货轮汽笛的长鸣。
"是倒计时!"林清和扯过程墨白扑向甲板。天使雕像的瞳孔骤然迸发绿光,氯气烟雾却顺着设计好的导流管冲向江面——那里停泊着插满万国旗的观礼船。
程墨白纵身跃入江中,抓住正在下沉的触发装置。防水外壳内,老式座钟的青铜摆锤正在加速摆动,控制板上焊着圣约翰大学的实验标签。他用匕首切断最后一根导线时,瞥见标签背面用蓝墨水写着:第七实验室。
晨雾中,程墨白踹开第七实验室的防爆门。通风橱里摆着微型货轮模型,烟囱喷出的不是蒸汽,而是淡蓝色氯气。他突然用磁铁吸起窗台的铁屑,在显微镜下看到齿轮磨损的独特纹路——与父亲日记里夹带的金属碎屑完全一致。
"当年陆远樵就在这间实验室改造货轮。"林清和指着墙上的水路图,"所有氯气泄漏点都标注着儿童聚集区。"
档案室突然响起的火警铃声中,程墨白抢出烧焦的实验记录本。碳化的纸页间,半张完好的照片显示父亲正在与陆远樵争执,背景里是装满玩具的货箱。照片边缘用红笔写着:"见证者必须沉默"。
暴雨再次笼罩外滩时,程墨白在汇丰银行地下库找到最后的证据。成箱的玩具枪浸泡在液氮里,枪柄刻着父亲的名字缩写。林清和用质谱仪分析冷冻气体,突然抬头:"这不是普通液氮,掺了延缓氯气反应的抑制剂!"
海关钟楼的钟声震碎雨幕,程墨白望着对岸亮起彩灯的游园会现场。他摸出那张残破的戏票,突然意识到所有线索都指向同一个时刻——今夜九点,《基督山伯爵》最后一场演出。