<module>
<baseinfo>
name=UCenterÄ£¿é
team=Ö¯ÃÎ¹Ù·½
time=2009-08-10
email=card126@gmail.com
url=http://www.dedecms.com
hash=8a4773468b800900dcfefbc5988833ed
indexname=
indexurl=
ismember=0
autosetup=1
autodel=1
lang=gb2312
moduletype=soft
</baseinfo>
<systemfile>
<menustring>
PG06dG9wIG5hbWU9J1VDZW50ZXLEo7/pJyBjPSc2LCcgZGlzcGxheT0nYmxvY2snIHJhbms9Jyc+DQo8bTppdGVtIG5hbWU9J1VDZW50ZXLF5NbDJyBsaW5rPSdhcGlfdWNlbnRlci5waHAnIHJhbms9JycgdGFyZ2V0PSdtYWluJyAvPg0KPC9tOnRvcD4=
</menustring>
<readme>
PHAgc3R5bGU9J2xpbmUtaGVpZ2h0OjE1MCUnPjxwIHN0eWxlPSdsaW5lLWhlaWdodDoxNTAlJz6w5sioy/nT0CAyMDAzLTIwMDijrERlZGVDbXMuY29tILGjwfTL+dPQyKjA+6GjIDxiciAvPjxiciAvPg0KuNDQu8T60aHU8davw87E2sjdudzA7c+1zbOjqNLUz8K88rPGRGVkZUNtc6Opo6xEZWRlQ21zysfEv8ewufrE2tfux7+086Gi1+7OyLaotcTW0NCh0M3DxbunzfjVvr2oyei94r72t72wuNau0rujrL7T09ogUEhQICsgTXlTUUwgtcS8vMr1v6q3oqOsyKuyv9S0wuu/qrfFoaNEZWRlQ21zILXEudm3vc341rfKx6O6IHd3dy5kZWRlY21zLmNvbSC9u8H3wtvMs6O6IGJicy5kZWRlY21zLmNvbTxiciAvPjxiciAvPg0KzqrBy8q5xOPV/ci3sqK6z7eotcTKudPDsb7I7bz+o6zH68Tj1NrKudPDx7DO8bHY1MS2wcfls/7PwsPmtcTQrdLpzPW/7qO6PGJyIC8+PGJyIC8+DQrSu6Gisb7K2sio0K3S6crK08PH0r32ysrTw9PaIERlZGVDbXMgNS54LnggsOaxvqOsRGVkZUNtc7nZt7221LG+ytrIqNCt0um1xNfu1tW94srNyKihoyA8YnIgLz48YnIgLz4NCrb+oaLQrdLp0O2/ybXEyKjA+yA8YnIgLz48YnIgLz4NCjGhosT6v8nS1NTazerIq9fxytixvtfu1tXTw7unytrIqNCt0um1xLv5tKHJz6OsvauxvsjtvP7TptPD09q3x8nM0rXTw82+o6y2+LK7sdjWp7i2yO28/rDmyKjK2siot9HTw6GjIDxiciAvPjxiciAvPg0KMqGixPq/ydLU1NrQrdLpuea2qLXE1LzK+LrNz97Wxre2zqfE2tDeuMQgRGVkZUNtcyDUtLT6wuu78r3nw+a357jx0tTKytOmxPq1xM341b7SqsfzoaMgPGJyIC8+PGJyIC8+DQozoaLE+tO109DKudPDsb7I7bz+ubm9qLXEzfjVvsirsr/E2sjdy/nT0Mioo6yyorbAwaKz0LWj0+vV4tCpxNrI3bXEz+C52LeowsnS5c7xoaMgPGJyIC8+PGJyIC8+DQo0oaK78bXDyczStcrayKjWrrrzo6zE+r/J0tS9q7G+yO28/tOm08PT2snM0rXTw82+o6zNrMqx0sC+3cv5ubrC8rXEytrIqMDg0M3W0Mi3tqi1xLy8yvXWp7PWxNrI3aOs19S5usLyyrG/zMbwo6zU2ry8yvXWp7PWxtrP3sTa07XT0M2ouf3WuLaotcS3vcq9u/G1w9a4tqi3ts6nxNq1xLy8yvXWp7PWt/7O8aGjyczStcrayKjTw7unz+3T0Le007O6zczhs/bS4rz7tcTIqMGmo6zP4LnY0uK8+72rsbvX986qytfSqr+8wsejrLWrw7vT0NK7tqixu7LJxMm1xLPQxbW78rGj1qShoyA8YnIgLz48YnIgLz4NCsj9oaLQrdLpuea2qLXE1LzK+LrNz97WxiA8YnIgLz48YnIgLz4NCjGhos60u/HJzNK1ytrIqNaux7CjrLK7tcO9q7G+yO28/tPD09rJzNK108PNvqOosPzAqLWrsrvP3tPaxvPStc341b6hor6t06rQ1M341b6hotLU06rA+86qxL+1xLvyyrXP1tOvwPu1xM341b6jqaGjubrC8snM0rXK2siox+u1x8K9IGJicy5kZWRlY21zLmNvbSDBy73i1+7Qwsu1w/ehoyA8YnIgLz48YnIgLz4NCjKhos60vq252be90O2/yaOssru1w7bUsb7I7bz+u/LT69auudjBqrXEyczStcrayKi9+NDQs/bX4qGis/bK26GitdbRurvyt6K3xdfT0O2/ydakoaMgPGJyIC8+PGJyIC8+DQozoaKyu7ncxOO1xM341b7Kx7fx1fvM5cq508MgRGVkZUNtcyCjrLu5yseyv7fdwLjEv8q508MgRGVkZUNtc6Os1NrE48q508PByyBEZWRlQ21zILXEzfjVvtb30rPJz7HY0Ou808nPIERlZGVDbXMgudm3vc341rcod3d3LmRlZGVjbXMuY29tKbXEwbS906GjIDxiciAvPjxiciAvPg0KNKGizrS+rbnZt73Q7b/Jo6y9+9a51NogRGVkZUNtcyC1xNX7zOW78sjOus6yv7fWu/m0ocnP0tS3otW5yM66zsXJyfqw5rG+oaLQ3rjEsOaxvrvytdrI/be9sOaxvtPD09rW2NDCt9a3oqGjIDxiciAvPjxiciAvPg0KNaGiyOe5+8T6zrTE3NfxytixvtCt0um1xMz1v+6jrMT6tcTK2siovauxu9bV1rmjrMv5sbvQ7b/JtcTIqMD7vauxu8rVu9ijrLKis9C1o8/g06a3qMLJ1PDIzqGjIDxiciAvPjxiciAvPg0Ky8ShotPQz961o7Gjus3D4tTwyfnD9yA8YnIgLz48YnIgLz4NCjGhorG+yO28/rywy/m4vbT4tcTOxLz+ysfX986qsrvM4bmpyM66zsP3yLe1xLvy0v66rLXExeKzpbvytaOxo7XE0M7Kvczhuam1xKGjIDxiciAvPjxiciAvPg0KMqGi08O7p7P209rX1NS4tvjKudPDsb7I7bz+o6zE+rHY0OvBy73iyrnTw7G+yO28/rXEt+fP1aOs1NrJ0M60ubrC8rL6xre8vMr1t/7O8daux7CjrM7Sw8eyu7PQxbW21MPit9HTw7unzOG5qcjOus7Qzsq9tcS8vMr11qez1qGiyrnTw7WjsaOjrNKysruz0LWjyM66ztLyyrnTw7G+yO28/rb4svrJ+s7KzOK1xM/gudjU8MjOoaMgPGJyIC8+PGJyIC8+DQozoaK159fTzsSxvtDOyr21xMrayKjQrdLpyOfNrMurt73K6cPmx6nK8LXE0K3S6dK70fmjrL7f09DN6sirtcS6zbXIzay1xLeowsnQp8GmoaPE+tK7tam/qsq8yLfIz7G+0K3S6bKisLLXsCBEZWRlQ21zo6y8tLG7ytPOqs3qyKvA7b3isqK908rcsb7QrdLptcS498/uzPW/7qOs1NrP7dPQyc/K9sz1v+7K2tPotcTIqMGmtcTNrMqxo6zK3LW9z+C52LXE1LzK+LrNz97WxqGj0K3S6dDtv8m3ts6n0tTN4rXE0NDOqqOsvavWsb3TzqW3tLG+ytrIqNCt0umyorm5s8nH1sioo6zO0sPH09DIqMvmyrHW1da5ytrIqKOs1PDB7s2j1rnL8Lqmo6yyorGjwfTXt76/z+C52NTwyM61xMiowaahoyA8YnIgLz48YnIgLz4NCjShosjnufuxvsjtvP60+NPQxuTL/MjtvP61xNX7us9BUEnKvre2wP3X07D8o6zV4tCpzsS8/rDmyKiyu8r009qxvsjtvP652be9o6yyosfS1eLQqc7EvP7Kx8O7vq25/crayKi3orK8tcSjrMfrss6/vM/gudjI7bz+tcTKudPD0O2/ybrPt6i1xMq508OhozxiciAvPjxiciAvPg0K0K3S6beisrzKsbzko7ogMjAwOMTqONTCMjDI1SBCeSBEZWRlQ21zLmNvbTwvcD48L3A+
</readme>
<setupsql40>

</setupsql40>
<delsql>

</delsql>
<setup>

</setup>
<uninstall>

</uninstall>
<oldfilelist>
api_ucenter.php
templets/api_ucenter_edit.htm
templets/api_ucenter_install.htm
../uc_client
../api
</oldfilelist>
</systemfile>

<modulefiles>
<file type='file' name='api_ucenter.php'>
PD9waHANCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4iL2NvbmZpZy5waHAiKTsNCkNoZWNrUHVydmlldygnYXBpX3VjZW50ZXInKTsNCmlmKCFmdW5jdGlvbl9leGlzdHMoJ2ZpbGVfcHV0X2NvbnRlbnRzJykpeyBmdW5jdGlvbiBmaWxlX3B1dF9jb250ZW50cygkZmlsZW5hbWUsICRzKQ0Kew0KCSRmcCA9IEBmb3BlbigkZmlsZW5hbWUsICd3Jyk7DQoJQGZ3cml0ZSgkZnAsICRzKTsNCglAZmNsb3NlKCRmcCk7DQoJcmV0dXJuIFRSVUU7DQp9fQ0KcmVxdWlyZV9vbmNlKERFREVJTkMuJy9kZWRldGVtcGxhdGUuY2xhc3MucGhwJyk7DQppZihmaWxlX2V4aXN0cyhERURFUk9PVC4nL3VjX2NsaWVudC9jbGllbnQucGhwJykpDQp7DQoJaWYoIWRlZmluZWQoJ1VDX0FQSScpKSBkZWZpbmUoJ1VDX0FQSScsICcnKTsNCglpbmNsdWRlX29uY2UgREVERVJPT1QuJy91Y19jbGllbnQvY2xpZW50LnBocCc7DQp9DQplbHNlDQp7DQoJU2hvd01zZygnx+uwstewVUNlbnRlcsSjv+khJywtMSk7DQoJZXhpdCgpOw0KfQ0KDQokZG9wb3N0ID0gYXBpX2dwYygnZG9wb3N0JywnUicpOw0KDQokdWMgPSBuZXcgYXBpX3VjZW50ZXIoJGRvcG9zdCk7DQoNCmNsYXNzIGFwaV91Y2VudGVyDQp7DQoJdmFyICRhY3Rpb247DQoJdmFyICRkdHA7DQoJdmFyICRjb25maWc7DQoJDQoJLy9waHA1ubnU7Lqvyv1QSFA+PTUuMA0KCWZ1bmN0aW9uIF9fY29uc3RydWN0KCRhYyA9ICcnKQ0KCXsNCgkJJGFjdGlvbiA9ICd1Y18nLihlbXB0eSgkYWMpfHwoIWluX2FycmF5KCRhYyxhcnJheSgnaW5zdGFsbCcsJ2VkaXQnKSkpID8gJ3Nob3cnIDogdHJpbSgkYWMpKTsNCgkJJHRoaXMtPmR0cCA9IG5ldyBEZWRlVGVtcGxhdGUoKTsNCgkJJHRoaXMtPmNvbmZpZyA9IERFREVJTkMuJy9jb21tb24uaW5jLnBocCc7DQoJCSR0aGlzLT4kYWN0aW9uKCk7DQoJfQ0KCQ0KCS8vubnU7MDgs8nUsVBIUDw1LjANCglmdW5jdGlvbiBhcGlfdWNlbnRlcigkYWMgPSAnJykNCgl7DQoJCSR0aGlzLT5fX2NvbnN0cnVjdCgkYWMpOw0KCX0NCgkNCglmdW5jdGlvbiB1Y19pbnN0YWxsKCkNCgl7DQoJCSR1Y19zZXRpbmdzID0gYXBpX2dwYygndWNfc2V0aW5ncycsJ1AnKTsNCgkJDQoJCWlmKCFpc3NldCgkdWNfc2V0aW5nc1snYXV0aGtleSddKSB8fCBlbXB0eSgkdWNfc2V0aW5nc1snYXV0aGtleSddKSkNCgkJew0KCQkJU2hvd01zZygnx+vM7tC0dWO0tMq8yMvD3MLrIScsLTEpOw0KCQkJZXhpdCgpOw0KCQl9DQoJCQ0KCQkkdWNfc2V0aW5nc1sndWNhcGknXSA9IHByZWdfcmVwbGFjZSgiL1wvJC8iLCAnJywgdHJpbSgkdWNfc2V0aW5nc1sndWNhcGknXSkpOw0KCQkNCgkJaWYoZW1wdHkoJHVjX3NldGluZ3NbJ3VjYXBpJ10pIHx8ICFwcmVnX21hdGNoKCIvXihodHRwOlwvXC8pL2kiLCAkdWNfc2V0aW5nc1sndWNhcGknXSkpDQoJCXsNCgkJCVNob3dNc2coJ8frzO7V/ci3tcS3/s7xtsu12Na30tRodHRwOi8vv6rNtyEnLC0xKTsNCgkJCWV4aXQoKTsNCgkJfQ0KCQllbHNlDQoJCXsNCgkJCWlmKCEkdWNfc2V0aW5nc1sndWNpcCddKQ0KCQkJew0KCQkJCSR0ZW1wID0gQHBhcnNlX3VybCgkdWNfc2V0aW5nc1sndWNhcGknXSk7DQoJCQkJJHVjX3NldGluZ3NbJ3VjYXBpJ10gPSBnZXRob3N0YnluYW1lKCR0ZW1wWydob3N0J10pOw0KCQkJCWlmKGlwMmxvbmcoJHVjX3NldGluZ3NbJ3VjYXBpJ10pID09IC0xIHx8IGlwMmxvbmcoJHVjX3NldGluZ3NbJ3VjYXBpJ10pID09PSBGQUxTRSkNCgkJCQl7DQoJCQkJCSR1Y19zZXRpbmdzWyd1Y2lwJ10gPSAnMTI3LjAuMC4xJzsNCgkJCQl9DQoJCQl9DQoJCX0NCgkJDQoJCSR1Y2luZm8gPSBhcGlfZm9wZW4oJHVjX3NldGluZ3NbJ3VjYXBpJ10uJy9pbmRleC5waHA/bT1hcHAmYT11Y2luZm8nLCA1MDAsICcnLCAnJywgMSwgJHVjX3NldGluZ3NbJ3VjaXAnXSk7DQoJCQ0KCQlsaXN0KCRzdGF0dXMsICR1Y3ZlcnNpb24sICR1Y3JlbGVhc2UsICR1Y2NoYXJzZXQsICR1Y2RiY2hhcnNldCwgJGFwcHR5cGVzKSA9IGV4cGxvZGUoJ3wnLCAkdWNpbmZvKTsNCgkJDQoJCWlmKCRzdGF0dXMgIT0gJ1VDX1NUQVRVU19PSycpDQoJCXsNCgkJCVNob3dNc2coJ3Vjt/7O8bbLtdjWt87e0Kcsx+vX0M+4vOyy6cT6sLLXsLXEdWO3/s7xtsu12Na3IScsLTEpOw0KCQkJZXhpdCgpOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJJHVjZGJjaGFyc2V0ID0gc3RydG9sb3dlcigkdWNkYmNoYXJzZXQgPyBzdHJfcmVwbGFjZSgnLScsICcnLCAkdWNkYmNoYXJzZXQpIDogJHVjZGJjaGFyc2V0KTsNCgkJCWlmKFVDX0NMSUVOVF9WRVJTSU9OID4gJHVjdmVyc2lvbikNCgkJCXsNCgkJCQlTaG93TXNnKCd1Y7f+zvG2y7Dmsb6yu9K71sIsxPq1scewtcR1Y7/Nt/62y7Dmsb7OqjonLlVDX0NMSUVOVF9WRVJTSU9OLicstvi3/s7xtsuw5rG+zqo6Jy4kdWN2ZXJzaW9uLichJywtMSk7DQoJCQkJZXhpdCgpOwkNCgkJCX0NCgkJCWVsc2VpZigkdWNkYmNoYXJzZXQgIT0gJ2diaycpDQoJCQl7DQoJCQkJU2hvd01zZygndWO3/s7xtsux4MLr0+tEZWRlQ01TseDC67K70rvWwiHSqsfzxPq1xHVjt/7O8bbLseDC686qOmdia7HgwusuJywtMSk7DQoJCQkJZXhpdCgpOwkNCgkJCX0NCgkJCS8vserHqdOm08PEo7DlDQoJCQkkYXBwX3RhZ3RlbXBsYXRlcyA9ICdhcHB0YWd0ZW1wbGF0ZXNbdGVtcGxhdGVdPScudXJsZW5jb2RlKCc8YSBocmVmPSJ7dXJsfSIgdGFyZ2V0PSJfYmxhbmsiPnt0aXRsZX08L2E+JykuJyYnLg0KCQkJJ2FwcHRhZ3RlbXBsYXRlc1tmaWVsZHNdW3RpdGxlXT0nLnVybGVuY29kZSgnserM4icpLicmJy4NCgkJCSdhcHB0YWd0ZW1wbGF0ZXNbZmllbGRzXVt3cml0ZXJdPScudXJsZW5jb2RlKCfX99XfJykuJyYnLg0KCQkJJ2FwcHRhZ3RlbXBsYXRlc1tmaWVsZHNdW3B1YmRhdGVdPScudXJsZW5jb2RlKCfKsbzkJykuJyYnLg0KCQkJJ2FwcHRhZ3RlbXBsYXRlc1tmaWVsZHNdW3VybF09Jy51cmxlbmNvZGUoJ7XY1rcnKTsNCgkJCQ0KCQkJJHBvc3RkYXRhID0gJ209YXBwJmE9YWRkJnVjZm91bmRlcj0mdWNmb3VuZGVycHc9Jy51cmxlbmNvZGUoJHVjX3NldGluZ3NbJ2F1dGhrZXknXSkuJyZhcHB0eXBlPU9USEVSJmFwcG5hbWU9Jy51cmxlbmNvZGUoJEdMT0JBTFNbJ2NmZ193ZWJuYW1lJ10pLicmYXBwdXJsPScudXJsZW5jb2RlKCRHTE9CQUxTWydjZmdfYmFzZWhvc3QnXSkuJyZhcHBpcD0mYXBwY2hhcnNldD1nYmsmYXBwZGJjaGFyc2V0PWdiayYnLiRhcHBfdGFndGVtcGxhdGVzLicmcmVsZWFzZT0nLlVDX0NMSUVOVF9SRUxFQVNFOw0KCQkNCgkJCSR1Y2NvbmZpZyA9IGFwaV9mb3BlbigkdWNfc2V0aW5nc1sndWNhcGknXS4nL2luZGV4LnBocCcsIDUwMCwgJHBvc3RkYXRhLCAnJywgMSwgJHVjX3NldGluZ3NbJ3VjaXAnXSk7DQoJCQkNCgkJCWlmKHN0cnN0cigkdWNjb25maWcsJzw/eG1sJykpDQoJCQl7DQoJCQkJJHRlbXAgPSBleHBsb2RlKCc8P3htbCcsICR1Y2NvbmZpZyk7DQoJCQkJJHVjY29uZmlnID0gJHRlbXBbMF07IHVuc2V0KCR0ZW1wKTsNCgkJCX0NCgkJCQ0KCQkJaWYoZW1wdHkoJHVjY29uZmlnKSkNCgkJCXsNCgkJCQlTaG93TXNnKCfH68zu0LTT0NCntcTF5NbD0MXPoiEnLC0xKTsNCgkJCQlleGl0KCk7DQoJCQl9DQoJCQllbHNlaWYoJHVjY29uZmlnID09ICctMScpDQoJCQl7DQoJCQkJU2hvd01zZygntLTKvMjLw9zC67TtzvMhJywtMSk7DQoJCQkJZXhpdCgpOw0KCQkJfQ0KCQkJZWxzZQ0KCQkJew0KCQkJCWxpc3QoJGFwcGF1dGhrZXksICRhcHBpZCkgPSBleHBsb2RlKCd8JywgJHVjY29uZmlnKTsNCgkJCQlpZihlbXB0eSgkYXBwYXV0aGtleSkgfHwgZW1wdHkoJGFwcGlkKSkNCgkJCQl7DQoJCQkJCVNob3dNc2coJ8r9vt278cihyqew3CEnLC0xKTsNCgkJCQkJZXhpdCgpOw0KCQkJCX0NCgkJCQllbHNlaWYoJHN1Y2NlZWQgPSBhcGlfd3JpdGVfY29uZmlnKCR1Y2NvbmZpZy4ifCIuJHVjX3NldGluZ3NbJ3VjYXBpJ10uInwiLiR1Y19zZXRpbmdzWyd1Y2lwJ10sICR0aGlzLT5jb25maWcpKQ0KCQkJCXsNCgkJCQkJU2hvd01zZygnsLLXsLPJuaYhJywtMSk7DQoJCQkJCWV4aXQoKTsNCgkJCQl9DQoJCQkJZWxzZQ0KCQkJCXsNCgkJCQkJU2hvd01zZygn0LTI68Xk1sPK/b7dyqew3CEnLiR0aGlzLT5jb25maWcuJyDH68no1sO/ydC0yKjP3iEnLC0xKTsNCgkJCQkJZXhpdCgpOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCX0NCgkNCglmdW5jdGlvbiB1Y19lZGl0KCkNCgl7DQoJCSR1Y19zZXRpbmdzID0gYXBpX2dwYygndWNfc2V0aW5ncycsJ1AnKTsJCQ0KCQkkdWNfZGJwYXNzID0gJHVjX3NldGluZ3NbJ2RicGFzcyddID09ICcqKioqKioqKicgPyBVQ19EQlBXIDogJHVjX3NldGluZ3NbJ2RicGFzcyddOwkNCgkJJGZwID0gZm9wZW4oJHRoaXMtPmNvbmZpZywgJ3InKTsNCgkJJGNvbnRlbnQgPSBmcmVhZCgkZnAsIGZpbGVzaXplKCR0aGlzLT5jb25maWcpKTsNCgkJJGNvbnRlbnQgPSB0cmltKCRjb250ZW50KTsNCgkJJGNvbnRlbnQgPSBzdWJzdHIoJGNvbnRlbnQsIC0yKSA9PSAnPz4nID8gc3Vic3RyKCRjb250ZW50LCAwLCAtMikgOiAkY29udGVudDsNCgkJJGNvbnRlbnQgPSBzdHJzdHIoJGNvbnRlbnQsICdffGNmZ198R0xPQkFMUycpID8gc3RyX3JlcGxhY2UoJ198Y2ZnX3xHTE9CQUxTJywnY2ZnX3xHTE9CQUxTJywkY29udGVudCkgOiAkY29udGVudDsNCgkJZmNsb3NlKCRmcCk7DQoJCQ0KCQkkY29ubmVjdCA9ICcnOwkJDQoJCWlmKCR1Y19zZXRpbmdzWydjb25uZWN0J10pDQoJCXsNCgkJCSR1Y19kYmxpbmsgPSBAbXlzcWxfY29ubmVjdCgkdWNfc2V0aW5nc1snZGJob3N0J10sICR1Y19zZXRpbmdzWydkYnVzZXInXSwgJHVjX2RicGFzcywgMSk7DQoJCQlpZighJHVjX2RibGluaykNCgkJCXsNCgkJCQlTaG93TXNnKCfK/b7dv+LBrL3Tyqew3CEnLC0xKTsNCgkJCQlleGl0KCk7DQoJCQl9ZWxzZXsNCgkJCQlteXNxbF9jbG9zZSgkdWNfZGJsaW5rKTsNCgkJCX0NCgkJCQ0KCQkJJGNvbm5lY3QgPSAnbXlzcWwnOw0KCQkJJGNvbnRlbnQgPSBhcGlfaW5zZXJ0X2NvbmZpZygkY29udGVudCwgIi9kZWZpbmVcKCdVQ19EQkhPU1QnLFxzKicuKj8nXCk7L2kiLCAiZGVmaW5lKCdVQ19EQkhPU1QnLCAnIi4kdWNfc2V0aW5nc1snZGJob3N0J10uIicpOyIpOw0KCQkJJGNvbnRlbnQgPSBhcGlfaW5zZXJ0X2NvbmZpZygkY29udGVudCwgIi9kZWZpbmVcKCdVQ19EQlVTRVInLFxzKicuKj8nXCk7L2kiLCAiZGVmaW5lKCdVQ19EQlVTRVInLCAnIi4kdWNfc2V0aW5nc1snZGJ1c2VyJ10uIicpOyIpOw0KCQkJJGNvbnRlbnQgPSBhcGlfaW5zZXJ0X2NvbmZpZygkY29udGVudCwgIi9kZWZpbmVcKCdVQ19EQlBXJyxccyonLio/J1wpOy9pIiwgImRlZmluZSgnVUNfREJQVycsICciLiR1Y19kYnBhc3MuIicpOyIpOw0KCQkJJGNvbnRlbnQgPSBhcGlfaW5zZXJ0X2NvbmZpZygkY29udGVudCwgIi9kZWZpbmVcKCdVQ19EQk5BTUUnLFxzKicuKj8nXCk7L2kiLCAiZGVmaW5lKCdVQ19EQk5BTUUnLCAnIi4kdWNfc2V0aW5nc1snZGJuYW1lJ10uIicpOyIpOw0KCQkJJGNvbnRlbnQgPSBhcGlfaW5zZXJ0X2NvbmZpZygkY29udGVudCwgIi9kZWZpbmVcKCdVQ19EQlRBQkxFUFJFJyxccyonLio/J1wpOy9pIiwgImRlZmluZSgnVUNfREJUQUJMRVBSRScsICdgIi4kdWNfc2V0aW5nc1snZGJuYW1lJ10uJ2AuJy4kdWNfc2V0aW5nc1snZGJ0YWJsZXByZSddLiInKTsiKTsNCgkJfQ0KCQkNCgkJJGNvbnRlbnQgPSBhcGlfaW5zZXJ0X2NvbmZpZygkY29udGVudCwgIi9kZWZpbmVcKCdVQ19DT05ORUNUJyxccyonLio/J1wpOy9pIiwgImRlZmluZSgnVUNfQ09OTkVDVCcsICckY29ubmVjdCcpOyIpOw0KCQkkY29udGVudCA9IGFwaV9pbnNlcnRfY29uZmlnKCRjb250ZW50LCAiL2RlZmluZVwoJ1VDX0tFWScsXHMqJy4qPydcKTsvaSIsICJkZWZpbmUoJ1VDX0tFWScsICciLiR1Y19zZXRpbmdzWydhdXRoa2V5J10uIicpOyIpOw0KCQkkY29udGVudCA9IGFwaV9pbnNlcnRfY29uZmlnKCRjb250ZW50LCAiL2RlZmluZVwoJ1VDX0FQSScsXHMqJy4qPydcKTsvaSIsICJkZWZpbmUoJ1VDX0FQSScsICciLiR1Y19zZXRpbmdzWyd1Y2FwaSddLiInKTsiKTsNCgkJJGNvbnRlbnQgPSBhcGlfaW5zZXJ0X2NvbmZpZygkY29udGVudCwgIi9kZWZpbmVcKCdVQ19JUCcsXHMqJy4qPydcKTsvaSIsICJkZWZpbmUoJ1VDX0lQJywgJyIuJHVjX3NldGluZ3NbJ3VjaXAnXS4iJyk7Iik7DQoJCSRjb250ZW50ID0gYXBpX2luc2VydF9jb25maWcoJGNvbnRlbnQsICIvZGVmaW5lXCgnVUNfQVBQSUQnLFxzKic/Lio/Jz9cKTsvaSIsICJkZWZpbmUoJ1VDX0FQUElEJywgJyIuVUNfQVBQSUQuIicpOyIpOw0KCQkkY29udGVudCAuPSAnPz4nOw0KCQkNCgkJaWYoJGZwID0gQGZvcGVuKCR0aGlzLT5jb25maWcsICd3JykpDQoJCXsNCgkJCUBmd3JpdGUoJGZwLCB0cmltKCRjb250ZW50KSk7DQoJCQlAZmNsb3NlKCRmcCk7DQoJCQlTaG93TXNnKCfF5NbD0tG+rbj8uMQhJywtMSk7DQoJCQlleGl0KCk7DQoJCX1lbHNlew0KCQkJU2hvd01zZygn0LTI68Xk1sPK/b7dyqew3CEnLiR0aGlzLT5jb25maWcuJyDH68no1sO/ydC0yKjP3iEnLC0xKTsNCgkJCWV4aXQoKTsNCgkJfQ0KCX0JDQoJDQoJZnVuY3Rpb24gdWNfc2hvdygpDQoJew0KCQkkdGhpcy0+ZHRwLT5Bc3NpZ24oJ3VjX2NvbmZpZ19maWxlJywkdGhpcy0+Y29uZmlnKTsNCgkJDQoJCWlmKCFkZWZpbmVkKCdVQ19BUFBJRCcpKQ0KCQl7DQoJCQkkdGhpcy0+ZHRwLT5Mb2FkVGVtcGxhdGUoREVERUFETUlOLicvdGVtcGxldHMvYXBpX3VjZW50ZXJfaW5zdGFsbC5odG0nKTsNCgkJfQ0KCQllbHNlDQoJCXsNCgkJCSR1Y19hcGlfb3BlbiA9IGZhbHNlOwkJCQ0KCQkJJHVjYXBwYXJyYXkgPSB1Y19hcHBfbHMoKTsNCgkJCWZvcmVhY2goJHVjYXBwYXJyYXkgYXMgJGFwcGFycmF5KQ0KCQkJew0KCQkJCWlmKCRhcHBhcnJheVsnYXBwaWQnXSA9PSBVQ19BUFBJRCkNCgkJCQl7DQoJCQkJCSR1Y19hcGlfb3BlbiA9IHRydWU7DQoJCQkJCWJyZWFrOw0KCQkJCX0NCgkJCX0NCgkNCgkJCWlmKCEkdWNfYXBpX29wZW4pDQoJCQl7DQoJCQkJU2hvd01zZygiRGVkZUNNU8O71dK1vdX9yLe1xHVjxeTWw6OhIiwtMSk7DQoJCQkJZXhpdCgpOw0KCQkJfQ0KCQkJDQoJDQoJCQlsaXN0KCRkYm5hbWUsJGRidGFibGVwcmUpID0gZXhwbG9kZSgnLicsc3RyX3JlcGxhY2UoJ2AnLCcnLFVDX0RCVEFCTEVQUkUpKTsJDQoJCQkkdWNfc2V0aW5ncyA9IGFycmF5KCdhcHBpZCcgPT4gVUNfQVBQSUQsICd1Y2FwaScgPT4gVUNfQVBJLCAnY29ubmVjdCcgPT4gVUNfQ09OTkVDVCwgJ2RiaG9zdCcgPT4gVUNfREJIT1NULCAnZGJ1c2VyJyA9PiBVQ19EQlVTRVIsJ2RicGFzcycgPT4gVUNfREJQVywgJ2RibmFtZScgPT4gJGRibmFtZSwgJ2RidGFibGVwcmUnID0+ICRkYnRhYmxlcHJlLCd1Y2lwJyA9PiBVQ19JUCwnYXV0aGtleScgPT4gVUNfS0VZKTsNCgkJDQoJCQkkdGhpcy0+ZHRwLT5Bc3NpZ24oJ3VjX3NldGluZ3MnLCR1Y19zZXRpbmdzKTsNCgkJCSR0aGlzLT5kdHAtPkxvYWRUZW1wbGF0ZShERURFQURNSU4uJy90ZW1wbGV0cy9hcGlfdWNlbnRlcl9lZGl0Lmh0bScpOw0KCQl9DQoJCSR0aGlzLT5kdHAtPkRpc3BsYXkoKTsNCgkJZXhpdCgpOw0KCX0NCn0NCi8qDQpjbGFzcyB1Y19mdW5jdGlvbnsuLi59DQoqLw0KZnVuY3Rpb24gYXBpX2ZvcGVuKCR1cmwsICRsaW1pdCA9IDAsICRwb3N0ID0gJycsICRjb29raWUgPSAnJywgJGJ5c29ja2V0ID0gRkFMU0UsICRpcCA9ICcnLCAkdGltZW91dCA9IDE1LCAkYmxvY2sgPSBUUlVFKQ0Kew0KCSRyZXR1cm4gPSAnJzsNCgkkbWF0Y2hlcyA9IHBhcnNlX3VybCgkdXJsKTsNCgkkaG9zdCA9ICRtYXRjaGVzWydob3N0J107DQoJJHBhdGggPSAkbWF0Y2hlc1sncGF0aCddID8gJG1hdGNoZXNbJ3BhdGgnXS4oJG1hdGNoZXNbJ3F1ZXJ5J10gPyAnPycuJG1hdGNoZXNbJ3F1ZXJ5J10gOiAnJykgOiAnLyc7DQoJJHBvcnQgPSAhZW1wdHkoJG1hdGNoZXNbJ3BvcnQnXSkgPyAkbWF0Y2hlc1sncG9ydCddIDogODA7DQoJaWYoJHBvc3QpDQoJew0KCQkkb3V0ID0gIlBPU1QgJHBhdGggSFRUUC8xLjBcclxuIjsNCgkJJG91dCAuPSAiQWNjZXB0OiAqLypcclxuIjsNCgkJLy8kb3V0IC49ICJSZWZlcmVyOiAkYm9hcmR1cmxcclxuIjsNCgkJJG91dCAuPSAiQWNjZXB0LUxhbmd1YWdlOiB6aC1jblxyXG4iOw0KCQkkb3V0IC49ICJDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFxyXG4iOw0KCQkkb3V0IC49ICJVc2VyLUFnZW50OiAkX1NFUlZFUltIVFRQX1VTRVJfQUdFTlRdXHJcbiI7DQoJCSRvdXQgLj0gIkhvc3Q6ICRob3N0XHJcbiI7DQoJCSRvdXQgLj0gJ0NvbnRlbnQtTGVuZ3RoOiAnLnN0cmxlbigkcG9zdCkuIlxyXG4iOw0KCQkkb3V0IC49ICJDb25uZWN0aW9uOiBDbG9zZVxyXG4iOw0KCQkkb3V0IC49ICJDYWNoZS1Db250cm9sOiBuby1jYWNoZVxyXG4iOw0KCQkkb3V0IC49ICJDb29raWU6ICRjb29raWVcclxuXHJcbiI7DQoJCSRvdXQgLj0gJHBvc3Q7DQoJfWVsc2V7DQoJCSRvdXQgPSAiR0VUICRwYXRoIEhUVFAvMS4wXHJcbiI7DQoJCSRvdXQgLj0gIkFjY2VwdDogKi8qXHJcbiI7DQoJCS8vJG91dCAuPSAiUmVmZXJlcjogJGJvYXJkdXJsXHJcbiI7DQoJCSRvdXQgLj0gIkFjY2VwdC1MYW5ndWFnZTogemgtY25cclxuIjsNCgkJJG91dCAuPSAiVXNlci1BZ2VudDogJF9TRVJWRVJbSFRUUF9VU0VSX0FHRU5UXVxyXG4iOw0KCQkkb3V0IC49ICJIb3N0OiAkaG9zdFxyXG4iOw0KCQkkb3V0IC49ICJDb25uZWN0aW9uOiBDbG9zZVxyXG4iOw0KCQkkb3V0IC49ICJDb29raWU6ICRjb29raWVcclxuXHJcbiI7DQoJfQ0KDQoJJGZwID0gQGZzb2Nrb3BlbigoJGhvc3QgPyAkaG9zdCA6ICRpcCksICRwb3J0LCAkZXJybm8sICRlcnJzdHIsICR0aW1lb3V0KTsNCglpZighJGZwKQ0KCXsNCgkJcmV0dXJuICcnOw0KCX1lbHNlew0KCQlzdHJlYW1fc2V0X2Jsb2NraW5nKCRmcCwgJGJsb2NrKTsNCgkJc3RyZWFtX3NldF90aW1lb3V0KCRmcCwgJHRpbWVvdXQpOw0KCQlAZndyaXRlKCRmcCwgJG91dCk7DQoJCSRzdGF0dXMgPSBzdHJlYW1fZ2V0X21ldGFfZGF0YSgkZnApOw0KCQlpZighJHN0YXR1c1sndGltZWRfb3V0J10pDQoJCXsNCgkJCXdoaWxlICghZmVvZigkZnApKQ0KCQkJew0KCQkJCWlmKCgkaGVhZGVyID0gQGZnZXRzKCRmcCkpICYmICgkaGVhZGVyID09ICJcclxuIiB8fCAgJGhlYWRlciA9PSAiXG4iKSkNCgkJCQl7DQoJCQkJCWJyZWFrOw0KCQkJCX0NCgkJCX0NCg0KCQkJJHN0b3AgPSBmYWxzZTsNCgkJCXdoaWxlKCFmZW9mKCRmcCkgJiYgISRzdG9wKQ0KCQkJew0KCQkJCSRkYXRhID0gZnJlYWQoJGZwLCAoJGxpbWl0ID09IDAgfHwgJGxpbWl0ID4gODE5MiA/IDgxOTIgOiAkbGltaXQpKTsNCgkJCQkkcmV0dXJuIC49ICRkYXRhOw0KCQkJCWlmKCRsaW1pdCkNCgkJCQl7DQoJCQkJCSRsaW1pdCAtPSBzdHJsZW4oJGRhdGEpOw0KCQkJCQkkc3RvcCA9ICRsaW1pdCA8PSAwOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQlAZmNsb3NlKCRmcCk7DQoJCXJldHVybiAkcmV0dXJuOw0KCX0NCn0NCg0KZnVuY3Rpb24gYXBpX3dyaXRlX2NvbmZpZygkY29uZmlnLCAkZmlsZSkNCnsNCgkkc3VjY2VzcyA9IGZhbHNlOw0KCWxpc3QoJGFwcGF1dGhrZXksICRhcHBpZCwgJHVjZGJob3N0LCAkdWNkYm5hbWUsICR1Y2RidXNlciwgJHVjZGJwdywgJHVjZGJjaGFyc2V0LCAkdWN0YWJsZXByZSwgJHVjY2hhcnNldCwgJHVjYXBpLCAkdWNpcCkgPSBleHBsb2RlKCd8JywgJGNvbmZpZyk7DQoJCQ0KCWlmKCRjb250ZW50ID0gZmlsZV9nZXRfY29udGVudHMoJGZpbGUpKQ0KCXsNCgkJJGNvbnRlbnQgPSB0cmltKCRjb250ZW50KTsNCgkJJGNvbnRlbnQgPSBzdWJzdHIoJGNvbnRlbnQsIC0yKSA9PSAnPz4nID8gc3Vic3RyKCRjb250ZW50LCAwLCAtMikgOiAkY29udGVudDsNCgkJJGNvbnRlbnQgPSBzdHJzdHIoJGNvbnRlbnQsICdffGNmZ198R0xPQkFMUycpID8gc3RyX3JlcGxhY2UoJ198Y2ZnX3xHTE9CQUxTJywnY2ZnX3xHTE9CQUxTJywkY29udGVudCkgOiAkY29udGVudDsNCgkJJGxpbmsgPSBteXNxbF9jb25uZWN0KCR1Y2RiaG9zdCwgJHVjZGJ1c2VyLCAkdWNkYnB3LCAxKTsNCgkJJHVjX2Nvbm5uZWN0ID0gJGxpbmsgJiYgbXlzcWxfc2VsZWN0X2RiKCR1Y2RibmFtZSwgJGxpbmspID8gJ215c3FsJyA6ICcnOw0KCQkkY29udGVudCA9IGFwaV9pbnNlcnRfY29uZmlnKCRjb250ZW50LCAiL2RlZmluZVwoJ1VDX0NPTk5FQ1QnLFxzKicuKj8nXCk7L2kiLCAiZGVmaW5lKCdVQ19DT05ORUNUJywgJyR1Y19jb25ubmVjdCcpOyIpOw0KCQkkY29udGVudCA9IGFwaV9pbnNlcnRfY29uZmlnKCRjb250ZW50LCAiL2RlZmluZVwoJ1VDX0RCSE9TVCcsXHMqJy4qPydcKTsvaSIsICJkZWZpbmUoJ1VDX0RCSE9TVCcsICckdWNkYmhvc3QnKTsiKTsNCgkJJGNvbnRlbnQgPSBhcGlfaW5zZXJ0X2NvbmZpZygkY29udGVudCwgIi9kZWZpbmVcKCdVQ19EQlVTRVInLFxzKicuKj8nXCk7L2kiLCAiZGVmaW5lKCdVQ19EQlVTRVInLCAnJHVjZGJ1c2VyJyk7Iik7DQoJCSRjb250ZW50ID0gYXBpX2luc2VydF9jb25maWcoJGNvbnRlbnQsICIvZGVmaW5lXCgnVUNfREJQVycsXHMqJy4qPydcKTsvaSIsICJkZWZpbmUoJ1VDX0RCUFcnLCAnJHVjZGJwdycpOyIpOw0KCQkkY29udGVudCA9IGFwaV9pbnNlcnRfY29uZmlnKCRjb250ZW50LCAiL2RlZmluZVwoJ1VDX0RCTkFNRScsXHMqJy4qPydcKTsvaSIsICJkZWZpbmUoJ1VDX0RCTkFNRScsICckdWNkYm5hbWUnKTsiKTsNCgkJJGNvbnRlbnQgPSBhcGlfaW5zZXJ0X2NvbmZpZygkY29udGVudCwgIi9kZWZpbmVcKCdVQ19EQkNIQVJTRVQnLFxzKicuKj8nXCk7L2kiLCAiZGVmaW5lKCdVQ19EQkNIQVJTRVQnLCAnJHVjZGJjaGFyc2V0Jyk7Iik7DQoJCSRjb250ZW50ID0gYXBpX2luc2VydF9jb25maWcoJGNvbnRlbnQsICIvZGVmaW5lXCgnVUNfREJUQUJMRVBSRScsXHMqJy4qPydcKTsvaSIsICJkZWZpbmUoJ1VDX0RCVEFCTEVQUkUnLCAnYCR1Y2RibmFtZWAuJHVjdGFibGVwcmUnKTsiKTsNCgkJJGNvbnRlbnQgPSBhcGlfaW5zZXJ0X2NvbmZpZygkY29udGVudCwgIi9kZWZpbmVcKCdVQ19EQkNPTk5FQ1QnLFxzKicuKj8nXCk7L2kiLCAiZGVmaW5lKCdVQ19EQkNPTk5FQ1QnLCAnMCcpOyIpOw0KCQkkY29udGVudCA9IGFwaV9pbnNlcnRfY29uZmlnKCRjb250ZW50LCAiL2RlZmluZVwoJ1VDX0tFWScsXHMqJy4qPydcKTsvaSIsICJkZWZpbmUoJ1VDX0tFWScsICckYXBwYXV0aGtleScpOyIpOw0KCQkkY29udGVudCA9IGFwaV9pbnNlcnRfY29uZmlnKCRjb250ZW50LCAiL2RlZmluZVwoJ1VDX0FQSScsXHMqJy4qPydcKTsvaSIsICJkZWZpbmUoJ1VDX0FQSScsICckdWNhcGknKTsiKTsNCgkJJGNvbnRlbnQgPSBhcGlfaW5zZXJ0X2NvbmZpZygkY29udGVudCwgIi9kZWZpbmVcKCdVQ19DSEFSU0VUJyxccyonLio/J1wpOy9pIiwgImRlZmluZSgnVUNfQ0hBUlNFVCcsICckdWNjaGFyc2V0Jyk7Iik7DQoJCSRjb250ZW50ID0gYXBpX2luc2VydF9jb25maWcoJGNvbnRlbnQsICIvZGVmaW5lXCgnVUNfSVAnLFxzKicuKj8nXCk7L2kiLCAiZGVmaW5lKCdVQ19JUCcsICckdWNpcCcpOyIpOw0KCQkkY29udGVudCA9IGFwaV9pbnNlcnRfY29uZmlnKCRjb250ZW50LCAiL2RlZmluZVwoJ1VDX0FQUElEJyxccyonPy4qPyc/XCk7L2kiLCAiZGVmaW5lKCdVQ19BUFBJRCcsICckYXBwaWQnKTsiKTsNCgkJJGNvbnRlbnQgPSBhcGlfaW5zZXJ0X2NvbmZpZygkY29udGVudCwgIi9kZWZpbmVcKCdVQ19QUFAnLFxzKic/Lio/Jz9cKTsvaSIsICJkZWZpbmUoJ1VDX1BQUCcsICcyMCcpOyIpOw0KCQkkY29udGVudCAuPSAiXHJcbiIuJz8+JzsNCgkJDQoJCWlmKEBmaWxlX3B1dF9jb250ZW50cygkZmlsZSwgJGNvbnRlbnQpKQ0KCQl7DQoJCQkkc3VjY2VzcyA9IHRydWU7DQoJCX0NCgl9DQoJcmV0dXJuICRzdWNjZXNzOw0KfQ0KDQpmdW5jdGlvbiBhcGlfaW5zZXJ0X2NvbmZpZygkcywgJGZpbmQsICRyZXBsYWNlKQ0Kew0KCWlmKHByZWdfbWF0Y2goJGZpbmQsICRzKSkNCgl7DQoJCSRzID0gcHJlZ19yZXBsYWNlKCRmaW5kLCAkcmVwbGFjZSwgJHMpOw0KCX1lbHNlew0KCQkvLyCy5cjrtb3X7rrz0rvQ0A0KCQkkcyAuPSAiXHJcbiIuJHJlcGxhY2U7DQoJfQ0KCXJldHVybiAkczsNCn0NCg0KZnVuY3Rpb24gYXBpX2dwYygkaywgJHZhcj0nUicpDQp7DQoJc3dpdGNoKCR2YXIpDQoJew0KCQljYXNlICdHJzogJHZhciA9ICYkX0dFVDsgYnJlYWs7DQoJCWNhc2UgJ1AnOiAkdmFyID0gJiRfUE9TVDsgYnJlYWs7DQoJCWNhc2UgJ0MnOiAkdmFyID0gJiRfQ09PS0lFOyBicmVhazsNCgkJY2FzZSAnUic6ICR2YXIgPSAmJF9SRVFVRVNUOyBicmVhazsNCgl9DQoJcmV0dXJuIGlzc2V0KCR2YXJbJGtdKSA/ICR2YXJbJGtdIDogTlVMTDsNCn0NCg0KaWYoIWZ1bmN0aW9uX2V4aXN0cygnZmlsZV9wdXRfY29udGVudHMnKSl7IGZ1bmN0aW9uIGZpbGVfcHV0X2NvbnRlbnRzKCRmaWxlbmFtZSwgJHMpDQp7DQoJJGZwID0gQGZvcGVuKCRmaWxlbmFtZSwgJ3cnKTsNCglAZndyaXRlKCRmcCwgJHMpOw0KCUBmY2xvc2UoJGZwKTsNCglyZXR1cm4gVFJVRTsNCn19DQo/Pg==
</file>
<file type='file' name='templets/api_ucenter_edit.htm'>
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSdDb250ZW50LVR5cGUnIGNvbnRlbnQ9J3RleHQvaHRtbDsgY2hhcnNldD1nYjIzMTInPg0KPHRpdGxlPnVjZW50ZXIxLjUuMMXk1sPP8rW8PC90aXRsZT4NCjxzdHlsZSByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4NCjwhLS0NCip7IHdvcmQtd3JhcDpicmVhay13b3JkOyBvdXRsaW5lOm5vbmU7IH0NCmJvZHl7IGJhY2tncm91bmQ6I0ZGRjsgdGV4dC1hbGlnbjpjZW50ZXI7IH0NCmJvZHksIHRkLCBpbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCwgYnV0dG9ueyBjb2xvcjojNjY2OyBmb250OjEycHggIkx1Y2lkYSBHcmFuZGUiLCBWZXJkYW5hLCBMdWNpZGEsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH0NCmJvZHksIHVsLCBkbCwgZGQsIHAsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIGZvcm0sIGZpZWxkc2V0IHsgbWFyZ2luOjA7IHBhZGRpbmc6MDsgfQ0KaDEsIGgyLCBoMywgaDQsIGg1LCBoNnsgZm9udC1zaXplOjEycHg7IH0NCmF7IGNvbG9yOiMyMzY2QTg7IHRleHQtZGVjb3JhdGlvbjpub25lOyB9DQoJYTpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7IH0NCglhIGltZ3sgYm9yZGVyOm5vbmU7IH0NCmVtLCBjaXRlLCB0aHsgZm9udC1zdHlsZTpub3JtYWw7IGZvbnQtd2VpZ2h0Om5vcm1hbDsgfQ0KdGFibGV7IGJvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTsgfQ0KLyogZm9ybSAqLw0KdGV4dGFyZWEsIGlucHV0eyBwYWRkaW5nOjJweDsgYm9yZGVyOjFweCBzb2xpZDsgYm9yZGVyLWNvbG9yOiM2NjYgI2VlZSAjZWVlICM2NjY7IH0NCmlucHV0LnR4dDpob3ZlciwgaW5wdXQudHh0OmZvY3VzLCB0ZXh0YXJlYTpob3ZlciwgdGV4dGFyZWE6Zm9jdXN7IGJvcmRlci1jb2xvcjojMDlDOyBiYWNrZ3JvdW5kOiNGNUY5RkQ7IH0NCi5yYWRpb3sgbWFyZ2luLXRvcDotMXB4OyBib3JkZXI6bm9uZTsgdmVydGljYWwtYWxpZ246bWlkZGxlOyB9DQouY2hlY2tib3h7IGhlaWdodDoxNHB4OyBib3JkZXI6bm9uZTsgdmVydGljYWwtYWxpZ246bWlkZGxlOyB9DQouYnRueyBtYXJnaW46M3B4IDA7IHBhZGRpbmc6MnB4IDVweDsgKnBhZGRpbmc6NHB4IDVweCAxcHg7IGJvcmRlci1jb2xvcjojZGRkICM2NjYgIzY2NiAjZGRkOyBiYWNrZ3JvdW5kOiNEREQ7IGNvbG9yOiMwMDA7IGN1cnNvcjpwb2ludGVyOyB9DQouc2didG57IG1hcmdpbi1sZWZ0OjIwcHg7IHBhZGRpbmc6M3B4IDdweDsgKnBhZGRpbmc6NHB4IDdweCAycHg7IGJvcmRlcjoxcHggc29saWQgI0I1Q0ZEOTsgYmFja2dyb3VuZDojRjJGOUZEOyBjb2xvcjojNjY2OyBmb250LXNpemU6MTJweDsgZm9udC13ZWlnaHQ6NDAwOyB9DQoJLnNnYnRuOmhvdmVyeyB0ZXh0LWRlY29yYXRpb246bm9uZTsgfQ0KLmJpZ2FyZWF7IG1hcmdpbi1sZWZ0OjVweDsgd2lkdGg6MjMwcHg7IGhlaWdodDoxMjBweDsgfQ0KLm9wdHsgY2xlYXI6Ym90aDsgb3ZlcmZsb3c6aGlkZGVuOyB9DQoJLm9wdCB0aHsgcGFkZGluZzo1cHggMDsgZm9udC13ZWlnaHQ6NzAwOyB0ZXh0LWFsaWduOmxlZnQ7IH0NCgkub3B0IHRkeyBwYWRkaW5nLWJvdHRvbToxMHB4OyB9DQoJLm9wdCAudHh0LCAub3B0IHRleHRhcmVheyB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7IG1hcmdpbi1yaWdodDoxMHB4OyB3aWR0aDoxODBweDsgfQ0KCS5vcHQgc2VsZWN0eyB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7IG1hcmdpbi1yaWdodDoxMHB4OyB9DQoJLm9wdCAuYXJlYXsgaGVpZ2h0OjgwcHg7IH0NCgkub3B0IC5iaWdhcmVhIHsgd2lkdGg6IDUwMHB4OyBoZWlnaHQ6IDgwcHg7IH0NCgkub3B0IGxhYmVseyBtYXJnaW4tcmlnaHQ6MjBweDsgfQ0KCS5vcHQgcHsgZmxvYXQ6bGVmdDsgbGluZS1oZWlnaHQ6MTgwJTsgfQ0KLyogdGl0bGUgKi8NCmgzeyBmb250LXNpemU6MTRweDsgfQ0KCWgzIC5idG57IG1hcmdpbi1sZWZ0OjEwcHg7IHZlcnRpY2FsLWFsaWduOm1pZGRsZTsgfQ0KLm1haW5ib3h7IG1hcmdpbjoxMHB4IDA7IHBhZGRpbmc6MjBweDsgdGV4dC1hbGlnbjpsZWZ0O30NCi0tPg0KPC9zdHlsZT4NCg0KPC9oZWFkPg0KPGJvZHkgYmFja2dyb3VuZD0naW1nL2FsbGJnLmdpZicgbGVmdG1hcmdpbj0nOCcgdG9wbWFyZ2luPSc4Jz4NCjxkaXYgY2xhc3M9Im1haW5ib3giPg0KPGgzIHN0eWxlPSJtYXJnaW4tYm90dG9tOjEwcHg7Ij7Q3rjEvdO/2sXk1sM8YSBocmVmPSJtb2R1bGVfbWFpbi5waHAiIGNsYXNzPSJzZ2J0biI+t7W72MSjv+nB0LHtPC9hPjwvaDM+DQo8Zm9ybSBhY3Rpb249ImFwaV91Y2VudGVyLnBocCIgbWV0aG9kPSJwb3N0Ij4NCgk8aW5wdXQgbmFtZT0iZG9wb3N0IiB0eXBlPSJoaWRkZW4iIHZhbHVlPSJlZGl0IiAvPg0KICAgIDx0YWJsZSBjbGFzcz0ib3B0Ij4NCiAgICA8dHI+DQogICAgICAgIDx0aCBjb2xzcGFuPSIyIj5JRDoge2RlZGU6dmFyLnVjX3NldGluZ3MuYXBwaWQvfTwvdGg+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgICAgIDx0aCBjb2xzcGFuPSIyIj63/s7xtsu12Na3OjwvdGg+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgICAgIDx0ZD48aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9InR4dCIgbmFtZT0idWNfc2V0aW5nc1t1Y2FwaV0iIHZhbHVlPSJ7ZGVkZTp2YXIudWNfc2V0aW5ncy51Y2FwaS99IiAvPjwvdGQ+DQogICAgICAgIDx0ZD7U2sT6IFVDZW50ZXIgICC12Na3u/LV38S/wry4xLHktcTH6b/2z8KjrNDeuMS0y8/uo6zSu7Djx+m/9sfrsrvSqrjEtq88YnIgLz4NCgkJCQkgIMD9yOc6IGh0dHA6Ly93d3cuc2l0ZS5jb20vdWNfc2VydmVyICjX7rrzsrvSqrzTJy8nKaGjPC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgICAgPHRoIGNvbHNwYW49IjIiPrf+zvG2yyBJUDo8L3RoPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgICA8dGQ+PGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJ0eHQiIG5hbWU9InVjX3NldGluZ3NbdWNpcF0iIHZhbHVlPSJ7ZGVkZTp2YXIudWNfc2V0aW5ncy51Y2lwL30iIC8+PC90ZD4NCiAgICAgICAgPHRkPtX9s6PH6b/2z8LB9L/VvLS/yaGjyOe5+9PJ09rT8sP7veLO9s7KzOK1vNbCIFVDZW50ZXIg0+u4w9Om08PNqNDFyqew3KOsx+uzosrUyejWw86quMPTptPDy/nU2rf+zvHG97XEIElQILXY1rehozwvdGQ+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgICAgIDx0aCBjb2xzcGFuPSIyIj7NqNDFw9zUvzo8L3RoPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgICA8dGQ+PGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJ0eHQiIG5hbWU9InVjX3NldGluZ3NbYXV0aGtleV0iIHZhbHVlPSJ7ZGVkZTp2YXIudWNfc2V0aW5ncy5hdXRoa2V5L30iIC8+PC90ZD4NCiAgICAgICAgPHRkPta71MrQ7cq508PTos7E19bEuLywyv3X1qOsz94gNjQg19a92qGj06bTw7bLtcTNqNDFw9zUv7HY0OvT67TLyejWw7Gjs9bSu9bCo6y38dTyuMPTptPDvavO3reo0+sgVUNlbnRlciDV/bOjzajQxaGjPC90ZD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgICAgPHRoIGNvbHNwYW49IjIiPsGsvdO3vcq9OjwvdGg+DQogICAgPC90cj4NCiAgICA8dHI+DQogICAgICAgIDx0ZD4gICAgICANCiAgICAgICAgPHNlbGVjdCBuYW1lPSJ1Y19zZXRpbmdzW2Nvbm5lY3RdIiBvbkNoYW5nZT0iaWYodGhpcy52YWx1ZT09Jycpe2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd1Y215c3FsJykuc3R5bGUuZGlzcGxheSA9ICdub25lJzt9ZWxzZXtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndWNteXNxbCcpLnN0eWxlLmRpc3BsYXkgPSAnJzt9Ij4NCgkJCTxvcHRpb24gdmFsdWU9Im15c3FsIiA8P3BocCBpZighZW1wdHkoJF92YXJzWyd1Y19zZXRpbmdzJ11bJ2Nvbm5lY3QnXSkpIGVjaG8gJ3NlbGVjdGVkPSJzZWxlY3RlZCInOz8+PiDK/b7dv+K3vcq9KE15U1FMKSA8L29wdGlvbj4NCgkJCTxvcHRpb24gdmFsdWU9IiIgPD9waHAgaWYoZW1wdHkoJF92YXJzWyd1Y19zZXRpbmdzJ11bJ2Nvbm5lY3QnXSkpIGVjaG8gJ3NlbGVjdGVkPSJzZWxlY3RlZCInOz8+PiC907/at73KvShmc29ja29wZW4pIDwvb3B0aW9uPg0KICAgICAgICA8L3NlbGVjdD4NCiAgICAgICAgPC90ZD4NCiAgICAgICAgPHRkPsfruPm+3cT6tcS3/s7xxvfN+MLnu7e+s9Gh1PHKyrWxtcTBrL3Tt73KvaGjPC90ZD4NCiAgICA8L3RyPg0KDQogICAgPHRyPg0KICAgICAgICA8dGQgY29sc3Bhbj0iMiI+DQogICAgICAgICAgICA8dGFibGUgaWQ9InVjbXlzcWwiIGNsYXNzPSJvcHQiIDw/cGhwIGlmKGVtcHR5KCRfdmFyc1sndWNfc2V0aW5ncyddWydjb25uZWN0J10pKSBlY2hvICdzdHlsZT0iZGlzcGxheTpub25lOyInOz8+Pg0KICAgICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICAgICAgPHRoIGNvbHNwYW49IjIiPsr9vt2/4rf+zvHG9zo8L3RoPg0KICAgICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+DQogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0idHh0IiBuYW1lPSJ1Y19zZXRpbmdzW2RiaG9zdF0iIHZhbHVlPSJ7ZGVkZTp2YXIudWNfc2V0aW5ncy5kYmhvc3QvfSIgLz4JCQkJDQogICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDx0ZD7ErMjPOmxvY2FsaG9zdCwgyOe5+yBNeVNRTCC2y7/asrvKx8SsyM+1xCAzMzA2o6zH68zu0LTI58/C0M7KvaO6MTI3LjAuMC4xOjYwMzOhozwvdGQ+DQogICAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgICAgIDx0aCBjb2xzcGFuPSIyIj7K/b7dv+LTw7unw/s6PC90aD4NCiAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICAgICAgPHRkPg0KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9InR4dCIgbmFtZT0idWNfc2V0aW5nc1tkYnVzZXJdIiB2YWx1ZT0ie2RlZGU6dmFyLnVjX3NldGluZ3MuZGJ1c2VyL30iIC8+CQ0KICAgICAgICAgICAgICAgICAgICA8L3RkPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+tcfCvHVjt/7O8bbLtcTK/b7dv+LTw7unw/uhozwvdGQ+CQkNCiAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICAgICAgPHRoIGNvbHNwYW49IjIiPsr9vt2/4sPcwus6PC90aD4NCiAgICAgICAgICAgICAgICA8L3RyPiAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgICAgIDx0ZD4NCiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJ0eHQiIG5hbWU9InVjX3NldGluZ3NbZGJwYXNzXSIgdmFsdWU9IioqKioqKioqIiAvPgkNCiAgICAgICAgICAgICAgICAgICAgPC90ZD4NCiAgICAgICAgICAgICAgICAgICAgPHRkPrXHwrx1Y7f+zvG2y8r9vt2/4sq508O1xMPcwuuhozwvdGQ+CQkNCiAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICAgICAgPHRoIGNvbHNwYW49IjIiPsr9vt2/4sP7OjwvdGg+DQogICAgICAgICAgICAgICAgPC90cj4gICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgICAgICA8dGQ+DQogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0idHh0IiBuYW1lPSJ1Y19zZXRpbmdzW2RibmFtZV0iIHZhbHVlPSJ7ZGVkZTp2YXIudWNfc2V0aW5ncy5kYm5hbWUvfSIgLz4JDQogICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDx0ZD61x8K8dWO3/s7xtsu1xMr9vt2/4sP7s8ahozwvdGQ+CQkNCiAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICAgICAgPHRoIGNvbHNwYW49IjIiPsr9vt2/4rHtx7DXujo8L3RoPg0KICAgICAgICAgICAgICAgIDwvdHI+ICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICAgICAgPHRkPg0KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9InR4dCIgbmFtZT0idWNfc2V0aW5nc1tkYnRhYmxlcHJlXSIgdmFsdWU9IntkZWRlOnZhci51Y19zZXRpbmdzLmRidGFibGVwcmUvfSIgLz4JDQogICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDx0ZD51Y7f+zvG2y8q508O1xMr9vt2/4rHtx7DXuizSu7K7sOPOqiB1Y18goaM8L3RkPgkJDQogICAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgIDwvdGFibGU+ICAgICAgICAgICAgDQogICAgICAgIDwvdGQ+DQogICAgPC90cj4gICAgDQogICAgDQogICAgPHRyPg0KICAgICAgICA8dGggY29sc3Bhbj0iMiI+1f3It7XExeTWw9DFz6I6PC90aD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgICAgPHRoPg0KICAgICAgICAgICAgPHRleHRhcmVhIGNsYXNzPSJhcmVhIiBvbkZvY3VzPSJ0aGlzLnNlbGVjdCgpIj4NCmRlZmluZSgnVUNfQ09OTkVDVCcsICd7ZGVkZTp2YXIudWNfc2V0aW5ncy5jb25uZWN0L30nKTsNCmRlZmluZSgnVUNfREJIT1NUJywgJ3tkZWRlOnZhci51Y19zZXRpbmdzLmRiaG9zdC99Jyk7DQpkZWZpbmUoJ1VDX0RCVVNFUicsICd7ZGVkZTp2YXIudWNfc2V0aW5ncy5kYnVzZXIvfScpOw0KZGVmaW5lKCdVQ19EQlBXJywgJyoqKioqKioqJyk7DQpkZWZpbmUoJ1VDX0RCTkFNRScsICd7ZGVkZTp2YXIudWNfc2V0aW5ncy5kYm5hbWUvfScpOw0KZGVmaW5lKCdVQ19EQkNIQVJTRVQnLCAnZ2JrJyk7DQpkZWZpbmUoJ1VDX0RCVEFCTEVQUkUnLCAnYHtkZWRlOnZhci51Y19zZXRpbmdzLmRibmFtZS99YC51Y18nKTsNCmRlZmluZSgnVUNfREJDT05ORUNUJywgJzAnKTsNCmRlZmluZSgnVUNfS0VZJywgJ3tkZWRlOnZhci51Y19zZXRpbmdzLmF1dGhrZXkvfScpOw0KZGVmaW5lKCdVQ19BUEknLCAne2RlZGU6dmFyLnVjX3NldGluZ3MudWNhcGkvfScpOw0KZGVmaW5lKCdVQ19DSEFSU0VUJywgJ2diaycpOw0KZGVmaW5lKCdVQ19JUCcsICd7ZGVkZTp2YXIudWNfc2V0aW5ncy51Y2lwL30nKTsNCmRlZmluZSgnVUNfQVBQSUQnLCAne2RlZGU6dmFyLnVjX3NldGluZ3MuYXBwaWQvfScpOw0KZGVmaW5lKCdVQ19QUFAnLCAnMjAnKTsNCiAgICAgICAgICAgIDwvdGV4dGFyZWE+DQogICAgICAgIDwvdGg+DQogICAgICAgIDx0ZD61sdOm08O1xCBVQ2VudGVyIMXk1sPQxc+itqrKp8qxv8m4tNbG1/Oy4LXEtPrC67W906bTw7XExeTWw87EvP7W0DwvdGQ+DQogICAgPC90cj4NCjwvdGFibGU+DQo8ZGl2IGNsYXNzPSJvcHQiPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InN1Ym1pdCIgdmFsdWU9IiDM4SC9uyAiIGNsYXNzPSJidG4iIHRhYmluZGV4PSIzIiAvPjwvZGl2Pg0KICAgIA0KPC9mb3JtPg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+
</file>
<file type='file' name='templets/api_ucenter_install.htm'>
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSdDb250ZW50LVR5cGUnIGNvbnRlbnQ9J3RleHQvaHRtbDsgY2hhcnNldD1nYjIzMTInPg0KPHRpdGxlPnVjZW50ZXIxLjUuMLCy17DP8rW8PC90aXRsZT4NCjxzdHlsZSByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4NCjwhLS0NCip7IHdvcmQtd3JhcDpicmVhay13b3JkOyBvdXRsaW5lOm5vbmU7IH0NCmJvZHl7IGJhY2tncm91bmQ6I0ZGRjsgdGV4dC1hbGlnbjpjZW50ZXI7IH0NCmJvZHksIHRkLCBpbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCwgYnV0dG9ueyBjb2xvcjojNjY2OyBmb250OjEycHggIkx1Y2lkYSBHcmFuZGUiLCBWZXJkYW5hLCBMdWNpZGEsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH0NCmJvZHksIHVsLCBkbCwgZGQsIHAsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIGZvcm0sIGZpZWxkc2V0IHsgbWFyZ2luOjA7IHBhZGRpbmc6MDsgfQ0KaDEsIGgyLCBoMywgaDQsIGg1LCBoNnsgZm9udC1zaXplOjEycHg7IH0NCmF7IGNvbG9yOiMyMzY2QTg7IHRleHQtZGVjb3JhdGlvbjpub25lOyB9DQoJYTpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7IH0NCglhIGltZ3sgYm9yZGVyOm5vbmU7IH0NCmVtLCBjaXRlLCB0aHsgZm9udC1zdHlsZTpub3JtYWw7IGZvbnQtd2VpZ2h0Om5vcm1hbDsgfQ0KdGFibGV7IGJvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTsgfQ0KLyogZm9ybSAqLw0KdGV4dGFyZWEsIGlucHV0eyBwYWRkaW5nOjJweDsgYm9yZGVyOjFweCBzb2xpZDsgYm9yZGVyLWNvbG9yOiM2NjYgI2VlZSAjZWVlICM2NjY7IH0NCmlucHV0LnR4dDpob3ZlciwgaW5wdXQudHh0OmZvY3VzLCB0ZXh0YXJlYTpob3ZlciwgdGV4dGFyZWE6Zm9jdXN7IGJvcmRlci1jb2xvcjojMDlDOyBiYWNrZ3JvdW5kOiNGNUY5RkQ7IH0NCi5yYWRpb3sgbWFyZ2luLXRvcDotMXB4OyBib3JkZXI6bm9uZTsgdmVydGljYWwtYWxpZ246bWlkZGxlOyB9DQouY2hlY2tib3h7IGhlaWdodDoxNHB4OyBib3JkZXI6bm9uZTsgdmVydGljYWwtYWxpZ246bWlkZGxlOyB9DQouYnRueyBtYXJnaW46M3B4IDA7IHBhZGRpbmc6MnB4IDVweDsgKnBhZGRpbmc6NHB4IDVweCAxcHg7IGJvcmRlci1jb2xvcjojZGRkICM2NjYgIzY2NiAjZGRkOyBiYWNrZ3JvdW5kOiNEREQ7IGNvbG9yOiMwMDA7IGN1cnNvcjpwb2ludGVyOyB9DQouc2didG57IG1hcmdpbi1sZWZ0OjIwcHg7IHBhZGRpbmc6M3B4IDdweDsgKnBhZGRpbmc6NHB4IDdweCAycHg7IGJvcmRlcjoxcHggc29saWQgI0I1Q0ZEOTsgYmFja2dyb3VuZDojRjJGOUZEOyBjb2xvcjojNjY2OyBmb250LXNpemU6MTJweDsgZm9udC13ZWlnaHQ6NDAwOyB9DQoJLnNnYnRuOmhvdmVyeyB0ZXh0LWRlY29yYXRpb246bm9uZTsgfQ0KLmJpZ2FyZWF7IG1hcmdpbi1sZWZ0OjVweDsgd2lkdGg6MjMwcHg7IGhlaWdodDoxMjBweDsgfQ0KLm9wdHsgY2xlYXI6Ym90aDsgb3ZlcmZsb3c6aGlkZGVuOyB9DQoJLm9wdCB0aHsgcGFkZGluZzo1cHggMDsgZm9udC13ZWlnaHQ6NzAwOyB0ZXh0LWFsaWduOmxlZnQ7IH0NCgkub3B0IHRkeyBwYWRkaW5nLWJvdHRvbToxMHB4OyB9DQoJLm9wdCAudHh0LCAub3B0IHRleHRhcmVheyB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7IG1hcmdpbi1yaWdodDoxMHB4OyB3aWR0aDoxODBweDsgfQ0KCS5vcHQgc2VsZWN0eyB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7IG1hcmdpbi1yaWdodDoxMHB4OyB9DQoJLm9wdCAuYXJlYXsgaGVpZ2h0OjgwcHg7IH0NCgkub3B0IC5iaWdhcmVhIHsgd2lkdGg6IDUwMHB4OyBoZWlnaHQ6IDgwcHg7IH0NCgkub3B0IGxhYmVseyBtYXJnaW4tcmlnaHQ6MjBweDsgfQ0KCS5vcHQgcHsgZmxvYXQ6bGVmdDsgbGluZS1oZWlnaHQ6MTgwJTsgfQ0KLyogdGl0bGUgKi8NCmgzeyBmb250LXNpemU6MTRweDsgfQ0KCWgzIC5idG57IG1hcmdpbi1sZWZ0OjEwcHg7IHZlcnRpY2FsLWFsaWduOm1pZGRsZTsgfQ0KLm1haW5ib3h7IG1hcmdpbjoxMHB4IDA7IHBhZGRpbmc6MjBweDsgdGV4dC1hbGlnbjpsZWZ0O30NCi5ub3RleyBtYXJnaW46NXB4IDA7IHBhZGRpbmc6MTBweDsgd2lkdGg6NTgwcHg7IGJvcmRlcjoxcHggc29saWQgI0I1Q0ZEOTsgYmFja2dyb3VuZDojRjVGOUZEOyB9DQoJLml7IHBhZGRpbmctbGVmdDoyMnB4OyBsaW5lLWhlaWdodDoxOXB4OyBiYWNrZ3JvdW5kOnVybChpbWcvaGVscC5naWYpIG5vLXJlcGVhdDsgfQ0KCQkuaSBheyB0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOyB9DQoJCS5pIGE6aG92ZXJ7IHRleHQtZGVjb3JhdGlvbjpub25lOyB9DQouZml4d2lkdGh7IHdpZHRoOiAxMDAlOyB9DQoJLmZpeHdpZHRoZGVjeyB3aWR0aDo3MDBweDsgfQ0KLS0+DQo8L3N0eWxlPg0KPC9oZWFkPg0KPGJvZHkgYmFja2dyb3VuZD0naW1nL2FsbGJnLmdpZicgbGVmdG1hcmdpbj0nOCcgdG9wbWFyZ2luPSc4Jz4NCjxkaXYgY2xhc3M9Im1haW5ib3giPg0KICAgIDxoMyBzdHlsZT0ibWFyZ2luLWJvdHRvbToxMHB4OyI+sLLXsM/ytbw8YSBocmVmPSJtb2R1bGVfbWFpbi5waHAiIGNsYXNzPSJzZ2J0biI+t7W72MSjv+nB0LHtPC9hPjwvaDM+DQogICAgPGRpdiBjbGFzcz0ibm90ZSBmaXh3aWR0aGRlYyI+PHAgY2xhc3M9ImkiPsrXtM6wstewx7DH67G4t926w3tkZWRlOnZhci51Y19jb25maWdfZmlsZS99xeTWw87EvP4u0tS3wNa50N64xLTtzvO1vNbCzfjVvs7et6jUy9DQPC9wPjwvZGl2Pg0KICAgIDxmb3JtIGFjdGlvbj0iYXBpX3VjZW50ZXIucGhwIiBtZXRob2Q9InBvc3QiPg0KCTxpbnB1dCBuYW1lPSJkb3Bvc3QiIHR5cGU9ImhpZGRlbiIgdmFsdWU9Imluc3RhbGwiIC8+DQoJPHRhYmxlIGNsYXNzPSJvcHQiPg0KICAgIDx0cj4NCiAgICAgICAgPHRoIGNvbHNwYW49IjIiPrf+zvG2y7XY1rc6PC90aD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgICAgPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0idHh0IiBuYW1lPSJ1Y19zZXRpbmdzW3VjYXBpXSIgdmFsdWU9IiIgLz48L3RkPg0KICAgICAgICA8dGQ+uMPWtdTaxPqwstewzeogVUNlbnRlciC687vhsbuz9cq8u6+jrNTaxPogVUNlbnRlciAgILXY1re78tXfxL/CvLjEseS1xMfpv/bPwqOs0N64xLTLz+6jrNK7sOPH6b/2x+uyu9KquMS2rzxiciAvPg0KCQkJCSAgwP3I5zogaHR0cDovL3d3dy5zaXRlLmNvbS91Y19zZXJ2ZXIgKNfuuvOyu9KqvNMnLycpoaM8L3RkPg0KICAgIDwvdHI+DQogICAgDQogICAgPHRyPg0KICAgICAgICA8dGggY29sc3Bhbj0iMiI+tLTKvMjLw9zC6zo8L3RoPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgICA8dGQ+PGlucHV0IHR5cGU9InRleHQiIGNsYXNzPSJ0eHQiIG5hbWU9InVjX3NldGluZ3NbYXV0aGtleV0iIHZhbHVlPSIiIC8+PC90ZD4NCiAgICAgICAgPHRkPrjD1rXU2sT6sLLXsM3qIFVDZW50ZXIguvO74bG7s/XKvLuv0ru49rXHwrzD3MLrLFVDZW50ZXKzxtauzqqhsLS0yrzIy8PcwuuhsTwvdGQ+DQogICAgPC90cj4NCiAgICANCiAgICA8dHI+DQogICAgICAgIDx0aCBjb2xzcGFuPSIyIj63/s7xtstJULXY1rc6PC90aD4NCiAgICA8L3RyPg0KICAgIDx0cj4NCiAgICAgICAgPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0idHh0IiBuYW1lPSJ1Y19zZXRpbmdzW3VjaXBdIiB2YWx1ZT0iMTI3LjAuMC4xIiAvPjwvdGQ+DQogICAgICAgIDx0ZD7I57n7xPq1xLf+zvHG987et6jNqLn90/LD+7fDzsogVUNlbnRlcqOsv8nS1MrkyOsgVUNlbnRlciC3/s7xxve1xCBJUCC12Na3PC90ZD4NCiAgICA8L3RyPg0KICAgIA0KICAgIA0KICAgIDwvdGFibGU+DQogICAgPGRpdiBjbGFzcz0ib3B0Ij48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJzdWJtaXQiIHZhbHVlPSIgyLfIz7Cy17AgIiBjbGFzcz0iYnRuIiB0YWJpbmRleD0iMyIgLz48L2Rpdj4NCiAgICA8L2Zvcm0+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4=
</file>
<file type='dir' name='../uc_client'>
</file>
<file type='file' name='../uc_client/client.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogY2xpZW50LnBocCx2IDEuMSAyMDA5LzA4LzExIDAzOjIxOjIxIGJsdCBFeHAgJA0KKi8NCg0KaWYoIWRlZmluZWQoJ1VDX0FQSScpKSB7DQoJZXhpdCgnQWNjZXNzIGRlbmllZCcpOw0KfQ0KDQplcnJvcl9yZXBvcnRpbmcoMCk7DQoNCmRlZmluZSgnSU5fVUMnLCBUUlVFKTsNCmRlZmluZSgnVUNfQ0xJRU5UX1ZFUlNJT04nLCAnMS41LjAnKTsNCmRlZmluZSgnVUNfQ0xJRU5UX1JFTEVBU0UnLCAnMjAwOTAxMjEnKTsNCmRlZmluZSgnVUNfUk9PVCcsIHN1YnN0cihfX0ZJTEVfXywgMCwgLTEwKSk7DQpkZWZpbmUoJ1VDX0RBVEFESVInLCBVQ19ST09ULicuL2RhdGEvJyk7DQpkZWZpbmUoJ1VDX0RBVEFVUkwnLCBVQ19BUEkuJy9kYXRhJyk7DQpkZWZpbmUoJ1VDX0FQSV9GVU5DJywgVUNfQ09OTkVDVCA9PSAnbXlzcWwnID8gJ3VjX2FwaV9teXNxbCcgOiAndWNfYXBpX3Bvc3QnKTsNCiRHTE9CQUxTWyd1Y19jb250cm9scyddID0gYXJyYXkoKTsNCg0KZnVuY3Rpb24gdWNfYWRkc2xhc2hlcygkc3RyaW5nLCAkZm9yY2UgPSAwLCAkc3RyaXAgPSBGQUxTRSkgew0KCSFkZWZpbmVkKCdNQUdJQ19RVU9URVNfR1BDJykgJiYgZGVmaW5lKCdNQUdJQ19RVU9URVNfR1BDJywgZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSk7DQoJaWYoIU1BR0lDX1FVT1RFU19HUEMgfHwgJGZvcmNlKSB7DQoJCWlmKGlzX2FycmF5KCRzdHJpbmcpKSB7DQoJCQlmb3JlYWNoKCRzdHJpbmcgYXMgJGtleSA9PiAkdmFsKSB7DQoJCQkJJHN0cmluZ1ska2V5XSA9IHVjX2FkZHNsYXNoZXMoJHZhbCwgJGZvcmNlLCAkc3RyaXApOw0KCQkJfQ0KCQl9IGVsc2Ugew0KCQkJJHN0cmluZyA9IGFkZHNsYXNoZXMoJHN0cmlwID8gc3RyaXBzbGFzaGVzKCRzdHJpbmcpIDogJHN0cmluZyk7DQoJCX0NCgl9DQoJcmV0dXJuICRzdHJpbmc7DQp9DQoNCmlmKCFmdW5jdGlvbl9leGlzdHMoJ2RhZGRzbGFzaGVzJykpIHsNCglmdW5jdGlvbiBkYWRkc2xhc2hlcygkc3RyaW5nLCAkZm9yY2UgPSAwKSB7DQoJCXJldHVybiB1Y19hZGRzbGFzaGVzKCRzdHJpbmcsICRmb3JjZSk7DQoJfQ0KfQ0KDQpmdW5jdGlvbiB1Y19zdHJpcHNsYXNoZXMoJHN0cmluZykgew0KCSFkZWZpbmVkKCdNQUdJQ19RVU9URVNfR1BDJykgJiYgZGVmaW5lKCdNQUdJQ19RVU9URVNfR1BDJywgZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSk7DQoJaWYoTUFHSUNfUVVPVEVTX0dQQykgew0KCQlyZXR1cm4gc3RyaXBzbGFzaGVzKCRzdHJpbmcpOw0KCX0gZWxzZSB7DQoJCXJldHVybiAkc3RyaW5nOw0KCX0NCn0NCg0KZnVuY3Rpb24gdWNfYXBpX3Bvc3QoJG1vZHVsZSwgJGFjdGlvbiwgJGFyZyA9IGFycmF5KCkpIHsNCgkkcyA9ICRzZXAgPSAnJzsNCglmb3JlYWNoKCRhcmcgYXMgJGsgPT4gJHYpIHsNCgkJJGsgPSB1cmxlbmNvZGUoJGspOw0KCQlpZihpc19hcnJheSgkdikpIHsNCgkJCSRzMiA9ICRzZXAyID0gJyc7DQoJCQlmb3JlYWNoKCR2IGFzICRrMiA9PiAkdjIpIHsNCgkJCQkkazIgPSB1cmxlbmNvZGUoJGsyKTsNCgkJCQkkczIgLj0gIiRzZXAyeyRrfVskazJdPSIudXJsZW5jb2RlKHVjX3N0cmlwc2xhc2hlcygkdjIpKTsNCgkJCQkkc2VwMiA9ICcmJzsNCgkJCX0NCgkJCSRzIC49ICRzZXAuJHMyOw0KCQl9IGVsc2Ugew0KCQkJJHMgLj0gIiRzZXAkaz0iLnVybGVuY29kZSh1Y19zdHJpcHNsYXNoZXMoJHYpKTsNCgkJfQ0KCQkkc2VwID0gJyYnOw0KCX0NCgkkcG9zdGRhdGEgPSB1Y19hcGlfcmVxdWVzdGRhdGEoJG1vZHVsZSwgJGFjdGlvbiwgJHMpOw0KCXJldHVybiB1Y19mb3BlbjIoVUNfQVBJLicvaW5kZXgucGhwJywgNTAwMDAwLCAkcG9zdGRhdGEsICcnLCBUUlVFLCBVQ19JUCwgMjApOw0KfQ0KDQpmdW5jdGlvbiB1Y19hcGlfcmVxdWVzdGRhdGEoJG1vZHVsZSwgJGFjdGlvbiwgJGFyZz0nJywgJGV4dHJhPScnKSB7DQoJJGlucHV0ID0gdWNfYXBpX2lucHV0KCRhcmcpOw0KCSRwb3N0ID0gIm09JG1vZHVsZSZhPSRhY3Rpb24maW5hamF4PTImcmVsZWFzZT0iLlVDX0NMSUVOVF9SRUxFQVNFLiImaW5wdXQ9JGlucHV0JmFwcGlkPSIuVUNfQVBQSUQuJGV4dHJhOw0KCXJldHVybiAkcG9zdDsNCn0NCg0KZnVuY3Rpb24gdWNfYXBpX3VybCgkbW9kdWxlLCAkYWN0aW9uLCAkYXJnPScnLCAkZXh0cmE9JycpIHsNCgkkdXJsID0gVUNfQVBJLicvaW5kZXgucGhwPycudWNfYXBpX3JlcXVlc3RkYXRhKCRtb2R1bGUsICRhY3Rpb24sICRhcmcsICRleHRyYSk7DQoJcmV0dXJuICR1cmw7DQp9DQoNCmZ1bmN0aW9uIHVjX2FwaV9pbnB1dCgkZGF0YSkgew0KCSRzID0gdXJsZW5jb2RlKHVjX2F1dGhjb2RlKCRkYXRhLicmYWdlbnQ9Jy5tZDUoJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddKS4iJnRpbWU9Ii50aW1lKCksICdFTkNPREUnLCBVQ19LRVkpKTsNCglyZXR1cm4gJHM7DQp9DQoNCmZ1bmN0aW9uIHVjX2FwaV9teXNxbCgkbW9kZWwsICRhY3Rpb24sICRhcmdzPWFycmF5KCkpIHsNCglnbG9iYWwgJHVjX2NvbnRyb2xzOw0KCWlmKGVtcHR5KCR1Y19jb250cm9sc1skbW9kZWxdKSkgew0KCQlpbmNsdWRlX29uY2UgVUNfUk9PVC4nLi9saWIvZGIuY2xhc3MucGhwJzsNCgkJaW5jbHVkZV9vbmNlIFVDX1JPT1QuJy4vbW9kZWwvYmFzZS5waHAnOw0KCQlpbmNsdWRlX29uY2UgVUNfUk9PVC4iLi9jb250cm9sLyRtb2RlbC5waHAiOw0KCQlldmFsKCJcJHVjX2NvbnRyb2xzWyckbW9kZWwnXSA9IG5ldyB7JG1vZGVsfWNvbnRyb2woKTsiKTsNCgl9DQoJaWYoJGFjdGlvbnswfSAhPSAnXycpIHsNCgkJJGFyZ3MgPSB1Y19hZGRzbGFzaGVzKCRhcmdzLCAxLCBUUlVFKTsNCgkJJGFjdGlvbiA9ICdvbicuJGFjdGlvbjsNCgkJJHVjX2NvbnRyb2xzWyRtb2RlbF0tPmlucHV0ID0gJGFyZ3M7DQoJCXJldHVybiAkdWNfY29udHJvbHNbJG1vZGVsXS0+JGFjdGlvbigkYXJncyk7DQoJfSBlbHNlIHsNCgkJcmV0dXJuICcnOw0KCX0NCn0NCg0KZnVuY3Rpb24gdWNfc2VyaWFsaXplKCRhcnIsICRodG1sb24gPSAwKSB7DQoJaW5jbHVkZV9vbmNlIFVDX1JPT1QuJy4vbGliL3htbC5jbGFzcy5waHAnOw0KCXJldHVybiB4bWxfc2VyaWFsaXplKCRhcnIsICRodG1sb24pOw0KfQ0KDQpmdW5jdGlvbiB1Y191bnNlcmlhbGl6ZSgkcykgew0KCWluY2x1ZGVfb25jZSBVQ19ST09ULicuL2xpYi94bWwuY2xhc3MucGhwJzsNCglyZXR1cm4geG1sX3Vuc2VyaWFsaXplKCRzKTsNCn0NCg0KZnVuY3Rpb24gdWNfYXV0aGNvZGUoJHN0cmluZywgJG9wZXJhdGlvbiA9ICdERUNPREUnLCAka2V5ID0gJycsICRleHBpcnkgPSAwKSB7DQoNCgkkY2tleV9sZW5ndGggPSA0Ow0KDQoJJGtleSA9IG1kNSgka2V5ID8gJGtleSA6IFVDX0tFWSk7DQoJJGtleWEgPSBtZDUoc3Vic3RyKCRrZXksIDAsIDE2KSk7DQoJJGtleWIgPSBtZDUoc3Vic3RyKCRrZXksIDE2LCAxNikpOw0KCSRrZXljID0gJGNrZXlfbGVuZ3RoID8gKCRvcGVyYXRpb24gPT0gJ0RFQ09ERScgPyBzdWJzdHIoJHN0cmluZywgMCwgJGNrZXlfbGVuZ3RoKTogc3Vic3RyKG1kNShtaWNyb3RpbWUoKSksIC0kY2tleV9sZW5ndGgpKSA6ICcnOw0KDQoJJGNyeXB0a2V5ID0gJGtleWEubWQ1KCRrZXlhLiRrZXljKTsNCgkka2V5X2xlbmd0aCA9IHN0cmxlbigkY3J5cHRrZXkpOw0KDQoJJHN0cmluZyA9ICRvcGVyYXRpb24gPT0gJ0RFQ09ERScgPyBiYXNlNjRfZGVjb2RlKHN1YnN0cigkc3RyaW5nLCAkY2tleV9sZW5ndGgpKSA6IHNwcmludGYoJyUwMTBkJywgJGV4cGlyeSA/ICRleHBpcnkgKyB0aW1lKCkgOiAwKS5zdWJzdHIobWQ1KCRzdHJpbmcuJGtleWIpLCAwLCAxNikuJHN0cmluZzsNCgkkc3RyaW5nX2xlbmd0aCA9IHN0cmxlbigkc3RyaW5nKTsNCg0KCSRyZXN1bHQgPSAnJzsNCgkkYm94ID0gcmFuZ2UoMCwgMjU1KTsNCg0KCSRybmRrZXkgPSBhcnJheSgpOw0KCWZvcigkaSA9IDA7ICRpIDw9IDI1NTsgJGkrKykgew0KCQkkcm5ka2V5WyRpXSA9IG9yZCgkY3J5cHRrZXlbJGkgJSAka2V5X2xlbmd0aF0pOw0KCX0NCg0KCWZvcigkaiA9ICRpID0gMDsgJGkgPCAyNTY7ICRpKyspIHsNCgkJJGogPSAoJGogKyAkYm94WyRpXSArICRybmRrZXlbJGldKSAlIDI1NjsNCgkJJHRtcCA9ICRib3hbJGldOw0KCQkkYm94WyRpXSA9ICRib3hbJGpdOw0KCQkkYm94WyRqXSA9ICR0bXA7DQoJfQ0KDQoJZm9yKCRhID0gJGogPSAkaSA9IDA7ICRpIDwgJHN0cmluZ19sZW5ndGg7ICRpKyspIHsNCgkJJGEgPSAoJGEgKyAxKSAlIDI1NjsNCgkJJGogPSAoJGogKyAkYm94WyRhXSkgJSAyNTY7DQoJCSR0bXAgPSAkYm94WyRhXTsNCgkJJGJveFskYV0gPSAkYm94WyRqXTsNCgkJJGJveFskal0gPSAkdG1wOw0KCQkkcmVzdWx0IC49IGNocihvcmQoJHN0cmluZ1skaV0pIF4gKCRib3hbKCRib3hbJGFdICsgJGJveFskal0pICUgMjU2XSkpOw0KCX0NCg0KCWlmKCRvcGVyYXRpb24gPT0gJ0RFQ09ERScpIHsNCgkJaWYoKHN1YnN0cigkcmVzdWx0LCAwLCAxMCkgPT0gMCB8fCBzdWJzdHIoJHJlc3VsdCwgMCwgMTApIC0gdGltZSgpID4gMCkgJiYgc3Vic3RyKCRyZXN1bHQsIDEwLCAxNikgPT0gc3Vic3RyKG1kNShzdWJzdHIoJHJlc3VsdCwgMjYpLiRrZXliKSwgMCwgMTYpKSB7DQoJCQlyZXR1cm4gc3Vic3RyKCRyZXN1bHQsIDI2KTsNCgkJfSBlbHNlIHsNCgkJCXJldHVybiAnJzsNCgkJfQ0KCX0gZWxzZSB7DQoJCXJldHVybiAka2V5Yy5zdHJfcmVwbGFjZSgnPScsICcnLCBiYXNlNjRfZW5jb2RlKCRyZXN1bHQpKTsNCgl9DQp9DQoNCmZ1bmN0aW9uIHVjX2ZvcGVuMigkdXJsLCAkbGltaXQgPSAwLCAkcG9zdCA9ICcnLCAkY29va2llID0gJycsICRieXNvY2tldCA9IEZBTFNFLCAkaXAgPSAnJywgJHRpbWVvdXQgPSAxNSwgJGJsb2NrID0gVFJVRSkgew0KCSRfX3RpbWVzX18gPSBpc3NldCgkX0dFVFsnX190aW1lc19fJ10pID8gaW50dmFsKCRfR0VUWydfX3RpbWVzX18nXSkgKyAxIDogMTsNCglpZigkX190aW1lc19fID4gMikgew0KCQlyZXR1cm4gJyc7DQoJfQ0KCSR1cmwgLj0gKHN0cnBvcygkdXJsLCAnPycpID09PSBGQUxTRSA/ICc/JyA6ICcmJykuIl9fdGltZXNfXz0kX190aW1lc19fIjsNCglyZXR1cm4gdWNfZm9wZW4oJHVybCwgJGxpbWl0LCAkcG9zdCwgJGNvb2tpZSwgJGJ5c29ja2V0LCAkaXAsICR0aW1lb3V0LCAkYmxvY2spOw0KfQ0KDQpmdW5jdGlvbiB1Y19mb3BlbigkdXJsLCAkbGltaXQgPSAwLCAkcG9zdCA9ICcnLCAkY29va2llID0gJycsICRieXNvY2tldCA9IEZBTFNFLCAkaXAgPSAnJywgJHRpbWVvdXQgPSAxNSwgJGJsb2NrID0gVFJVRSkgew0KCSRyZXR1cm4gPSAnJzsNCgkkbWF0Y2hlcyA9IHBhcnNlX3VybCgkdXJsKTsNCgkhaXNzZXQoJG1hdGNoZXNbJ2hvc3QnXSkgJiYgJG1hdGNoZXNbJ2hvc3QnXSA9ICcnOw0KCSFpc3NldCgkbWF0Y2hlc1sncGF0aCddKSAmJiAkbWF0Y2hlc1sncGF0aCddID0gJyc7DQoJIWlzc2V0KCRtYXRjaGVzWydxdWVyeSddKSAmJiAkbWF0Y2hlc1sncXVlcnknXSA9ICcnOw0KCSFpc3NldCgkbWF0Y2hlc1sncG9ydCddKSAmJiAkbWF0Y2hlc1sncG9ydCddID0gJyc7DQoJJGhvc3QgPSAkbWF0Y2hlc1snaG9zdCddOw0KCSRwYXRoID0gJG1hdGNoZXNbJ3BhdGgnXSA/ICRtYXRjaGVzWydwYXRoJ10uKCRtYXRjaGVzWydxdWVyeSddID8gJz8nLiRtYXRjaGVzWydxdWVyeSddIDogJycpIDogJy8nOw0KCSRwb3J0ID0gIWVtcHR5KCRtYXRjaGVzWydwb3J0J10pID8gJG1hdGNoZXNbJ3BvcnQnXSA6IDgwOw0KCWlmKCRwb3N0KSB7DQoJCSRvdXQgPSAiUE9TVCAkcGF0aCBIVFRQLzEuMFxyXG4iOw0KCQkkb3V0IC49ICJBY2NlcHQ6ICovKlxyXG4iOw0KCQkvLyRvdXQgLj0gIlJlZmVyZXI6ICRib2FyZHVybFxyXG4iOw0KCQkkb3V0IC49ICJBY2NlcHQtTGFuZ3VhZ2U6IHpoLWNuXHJcbiI7DQoJCSRvdXQgLj0gIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXHJcbiI7DQoJCSRvdXQgLj0gIlVzZXItQWdlbnQ6ICRfU0VSVkVSW0hUVFBfVVNFUl9BR0VOVF1cclxuIjsNCgkJJG91dCAuPSAiSG9zdDogJGhvc3RcclxuIjsNCgkJJG91dCAuPSAnQ29udGVudC1MZW5ndGg6ICcuc3RybGVuKCRwb3N0KS4iXHJcbiI7DQoJCSRvdXQgLj0gIkNvbm5lY3Rpb246IENsb3NlXHJcbiI7DQoJCSRvdXQgLj0gIkNhY2hlLUNvbnRyb2w6IG5vLWNhY2hlXHJcbiI7DQoJCSRvdXQgLj0gIkNvb2tpZTogJGNvb2tpZVxyXG5cclxuIjsNCgkJJG91dCAuPSAkcG9zdDsNCgl9IGVsc2Ugew0KCQkkb3V0ID0gIkdFVCAkcGF0aCBIVFRQLzEuMFxyXG4iOw0KCQkkb3V0IC49ICJBY2NlcHQ6ICovKlxyXG4iOw0KCQkvLyRvdXQgLj0gIlJlZmVyZXI6ICRib2FyZHVybFxyXG4iOw0KCQkkb3V0IC49ICJBY2NlcHQtTGFuZ3VhZ2U6IHpoLWNuXHJcbiI7DQoJCSRvdXQgLj0gIlVzZXItQWdlbnQ6ICRfU0VSVkVSW0hUVFBfVVNFUl9BR0VOVF1cclxuIjsNCgkJJG91dCAuPSAiSG9zdDogJGhvc3RcclxuIjsNCgkJJG91dCAuPSAiQ29ubmVjdGlvbjogQ2xvc2VcclxuIjsNCgkJJG91dCAuPSAiQ29va2llOiAkY29va2llXHJcblxyXG4iOw0KCX0NCgkkZnAgPSBAZnNvY2tvcGVuKCgkaXAgPyAkaXAgOiAkaG9zdCksICRwb3J0LCAkZXJybm8sICRlcnJzdHIsICR0aW1lb3V0KTsNCglpZighJGZwKSB7DQoJCXJldHVybiAnJzsNCgl9IGVsc2Ugew0KCQlzdHJlYW1fc2V0X2Jsb2NraW5nKCRmcCwgJGJsb2NrKTsNCgkJc3RyZWFtX3NldF90aW1lb3V0KCRmcCwgJHRpbWVvdXQpOw0KCQlAZndyaXRlKCRmcCwgJG91dCk7DQoJCSRzdGF0dXMgPSBzdHJlYW1fZ2V0X21ldGFfZGF0YSgkZnApOw0KCQlpZighJHN0YXR1c1sndGltZWRfb3V0J10pIHsNCgkJCXdoaWxlICghZmVvZigkZnApKSB7DQoJCQkJaWYoKCRoZWFkZXIgPSBAZmdldHMoJGZwKSkgJiYgKCRoZWFkZXIgPT0gIlxyXG4iIHx8ICAkaGVhZGVyID09ICJcbiIpKSB7DQoJCQkJCWJyZWFrOw0KCQkJCX0NCgkJCX0NCg0KCQkJJHN0b3AgPSBmYWxzZTsNCgkJCXdoaWxlKCFmZW9mKCRmcCkgJiYgISRzdG9wKSB7DQoJCQkJJGRhdGEgPSBmcmVhZCgkZnAsICgkbGltaXQgPT0gMCB8fCAkbGltaXQgPiA4MTkyID8gODE5MiA6ICRsaW1pdCkpOw0KCQkJCSRyZXR1cm4gLj0gJGRhdGE7DQoJCQkJaWYoJGxpbWl0KSB7DQoJCQkJCSRsaW1pdCAtPSBzdHJsZW4oJGRhdGEpOw0KCQkJCQkkc3RvcCA9ICRsaW1pdCA8PSAwOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQlAZmNsb3NlKCRmcCk7DQoJCXJldHVybiAkcmV0dXJuOw0KCX0NCn0NCg0KZnVuY3Rpb24gdWNfYXBwX2xzKCkgew0KCSRyZXR1cm4gPSBjYWxsX3VzZXJfZnVuYyhVQ19BUElfRlVOQywgJ2FwcCcsICdscycsIGFycmF5KCkpOw0KCXJldHVybiBVQ19DT05ORUNUID09ICdteXNxbCcgPyAkcmV0dXJuIDogdWNfdW5zZXJpYWxpemUoJHJldHVybik7DQp9DQoNCmZ1bmN0aW9uIHVjX2ZlZWRfYWRkKCRpY29uLCAkdWlkLCAkdXNlcm5hbWUsICR0aXRsZV90ZW1wbGF0ZT0nJywgJHRpdGxlX2RhdGE9JycsICRib2R5X3RlbXBsYXRlPScnLCAkYm9keV9kYXRhPScnLCAkYm9keV9nZW5lcmFsPScnLCAkdGFyZ2V0X2lkcz0nJywgJGltYWdlcyA9IGFycmF5KCkpIHsNCglyZXR1cm4gY2FsbF91c2VyX2Z1bmMoVUNfQVBJX0ZVTkMsICdmZWVkJywgJ2FkZCcsDQoJCWFycmF5KCAgJ2ljb24nPT4kaWNvbiwNCgkJCSdhcHBpZCc9PlVDX0FQUElELA0KCQkJJ3VpZCc9PiR1aWQsDQoJCQkndXNlcm5hbWUnPT4kdXNlcm5hbWUsDQoJCQkndGl0bGVfdGVtcGxhdGUnPT4kdGl0bGVfdGVtcGxhdGUsDQoJCQkndGl0bGVfZGF0YSc9PiR0aXRsZV9kYXRhLA0KCQkJJ2JvZHlfdGVtcGxhdGUnPT4kYm9keV90ZW1wbGF0ZSwNCgkJCSdib2R5X2RhdGEnPT4kYm9keV9kYXRhLA0KCQkJJ2JvZHlfZ2VuZXJhbCc9PiRib2R5X2dlbmVyYWwsDQoJCQkndGFyZ2V0X2lkcyc9PiR0YXJnZXRfaWRzLA0KCQkJJ2ltYWdlXzEnPT4kaW1hZ2VzWzBdWyd1cmwnXSwNCgkJCSdpbWFnZV8xX2xpbmsnPT4kaW1hZ2VzWzBdWydsaW5rJ10sDQoJCQknaW1hZ2VfMic9PiRpbWFnZXNbMV1bJ3VybCddLA0KCQkJJ2ltYWdlXzJfbGluayc9PiRpbWFnZXNbMV1bJ2xpbmsnXSwNCgkJCSdpbWFnZV8zJz0+JGltYWdlc1syXVsndXJsJ10sDQoJCQknaW1hZ2VfM19saW5rJz0+JGltYWdlc1syXVsnbGluayddLA0KCQkJJ2ltYWdlXzQnPT4kaW1hZ2VzWzNdWyd1cmwnXSwNCgkJCSdpbWFnZV80X2xpbmsnPT4kaW1hZ2VzWzNdWydsaW5rJ10NCgkJKQ0KCSk7DQp9DQoNCmZ1bmN0aW9uIHVjX2ZlZWRfZ2V0KCRsaW1pdCA9IDEwMCwgJGRlbGV0ZSA9IFRSVUUpIHsNCgkkcmV0dXJuID0gY2FsbF91c2VyX2Z1bmMoVUNfQVBJX0ZVTkMsICdmZWVkJywgJ2dldCcsIGFycmF5KCdsaW1pdCc9PiRsaW1pdCwgJ2RlbGV0ZSc9PiRkZWxldGUpKTsNCglyZXR1cm4gVUNfQ09OTkVDVCA9PSAnbXlzcWwnID8gJHJldHVybiA6IHVjX3Vuc2VyaWFsaXplKCRyZXR1cm4pOw0KfQ0KDQpmdW5jdGlvbiB1Y19mcmllbmRfYWRkKCR1aWQsICRmcmllbmRpZCwgJGNvbW1lbnQ9JycpIHsNCglyZXR1cm4gY2FsbF91c2VyX2Z1bmMoVUNfQVBJX0ZVTkMsICdmcmllbmQnLCAnYWRkJywgYXJyYXkoJ3VpZCc9PiR1aWQsICdmcmllbmRpZCc9PiRmcmllbmRpZCwgJ2NvbW1lbnQnPT4kY29tbWVudCkpOw0KfQ0KDQpmdW5jdGlvbiB1Y19mcmllbmRfZGVsZXRlKCR1aWQsICRmcmllbmRpZHMpIHsNCglyZXR1cm4gY2FsbF91c2VyX2Z1bmMoVUNfQVBJX0ZVTkMsICdmcmllbmQnLCAnZGVsZXRlJywgYXJyYXkoJ3VpZCc9PiR1aWQsICdmcmllbmRpZHMnPT4kZnJpZW5kaWRzKSk7DQp9DQoNCmZ1bmN0aW9uIHVjX2ZyaWVuZF90b3RhbG51bSgkdWlkLCAkZGlyZWN0aW9uID0gMCkgew0KCXJldHVybiBjYWxsX3VzZXJfZnVuYyhVQ19BUElfRlVOQywgJ2ZyaWVuZCcsICd0b3RhbG51bScsIGFycmF5KCd1aWQnPT4kdWlkLCAnZGlyZWN0aW9uJz0+JGRpcmVjdGlvbikpOw0KfQ0KDQpmdW5jdGlvbiB1Y19mcmllbmRfbHMoJHVpZCwgJHBhZ2UgPSAxLCAkcGFnZXNpemUgPSAxMCwgJHRvdGFsbnVtID0gMTAsICRkaXJlY3Rpb24gPSAwKSB7DQoJJHJldHVybiA9IGNhbGxfdXNlcl9mdW5jKFVDX0FQSV9GVU5DLCAnZnJpZW5kJywgJ2xzJywgYXJyYXkoJ3VpZCc9PiR1aWQsICdwYWdlJz0+JHBhZ2UsICdwYWdlc2l6ZSc9PiRwYWdlc2l6ZSwgJ3RvdGFsbnVtJz0+JHRvdGFsbnVtLCAnZGlyZWN0aW9uJz0+JGRpcmVjdGlvbikpOw0KCXJldHVybiBVQ19DT05ORUNUID09ICdteXNxbCcgPyAkcmV0dXJuIDogdWNfdW5zZXJpYWxpemUoJHJldHVybik7DQp9DQoNCmZ1bmN0aW9uIHVjX3VzZXJfcmVnaXN0ZXIoJHVzZXJuYW1lLCAkcGFzc3dvcmQsICRlbWFpbCwgJHF1ZXN0aW9uaWQgPSAnJywgJGFuc3dlciA9ICcnKSB7DQoJcmV0dXJuIGNhbGxfdXNlcl9mdW5jKFVDX0FQSV9GVU5DLCAndXNlcicsICdyZWdpc3RlcicsIGFycmF5KCd1c2VybmFtZSc9PiR1c2VybmFtZSwgJ3Bhc3N3b3JkJz0+JHBhc3N3b3JkLCAnZW1haWwnPT4kZW1haWwsICdxdWVzdGlvbmlkJz0+JHF1ZXN0aW9uaWQsICdhbnN3ZXInPT4kYW5zd2VyKSk7DQp9DQoNCmZ1bmN0aW9uIHVjX3VzZXJfbG9naW4oJHVzZXJuYW1lLCAkcGFzc3dvcmQsICRpc3VpZCA9IDAsICRjaGVja3F1ZXMgPSAwLCAkcXVlc3Rpb25pZCA9ICcnLCAkYW5zd2VyID0gJycpIHsNCgkkaXN1aWQgPSBpbnR2YWwoJGlzdWlkKTsNCgkkcmV0dXJuID0gY2FsbF91c2VyX2Z1bmMoVUNfQVBJX0ZVTkMsICd1c2VyJywgJ2xvZ2luJywgYXJyYXkoJ3VzZXJuYW1lJz0+JHVzZXJuYW1lLCAncGFzc3dvcmQnPT4kcGFzc3dvcmQsICdpc3VpZCc9PiRpc3VpZCwgJ2NoZWNrcXVlcyc9PiRjaGVja3F1ZXMsICdxdWVzdGlvbmlkJz0+JHF1ZXN0aW9uaWQsICdhbnN3ZXInPT4kYW5zd2VyKSk7DQoJcmV0dXJuIFVDX0NPTk5FQ1QgPT0gJ215c3FsJyA/ICRyZXR1cm4gOiB1Y191bnNlcmlhbGl6ZSgkcmV0dXJuKTsNCn0NCg0KZnVuY3Rpb24gdWNfdXNlcl9zeW5sb2dpbigkdWlkKSB7DQoJJHVpZCA9IGludHZhbCgkdWlkKTsNCgkkcmV0dXJuID0gdWNfYXBpX3Bvc3QoJ3VzZXInLCAnc3lubG9naW4nLCBhcnJheSgndWlkJz0+JHVpZCkpOw0KCXJldHVybiAkcmV0dXJuOw0KfQ0KDQpmdW5jdGlvbiB1Y191c2VyX3N5bmxvZ291dCgpIHsNCgkkcmV0dXJuID0gdWNfYXBpX3Bvc3QoJ3VzZXInLCAnc3lubG9nb3V0JywgYXJyYXkoKSk7DQoJcmV0dXJuICRyZXR1cm47DQp9DQoNCmZ1bmN0aW9uIHVjX3VzZXJfZWRpdCgkdXNlcm5hbWUsICRvbGRwdywgJG5ld3B3LCAkZW1haWwsICRpZ25vcmVvbGRwdyA9IDAsICRxdWVzdGlvbmlkID0gJycsICRhbnN3ZXIgPSAnJykgew0KCXJldHVybiBjYWxsX3VzZXJfZnVuYyhVQ19BUElfRlVOQywgJ3VzZXInLCAnZWRpdCcsIGFycmF5KCd1c2VybmFtZSc9PiR1c2VybmFtZSwgJ29sZHB3Jz0+JG9sZHB3LCAnbmV3cHcnPT4kbmV3cHcsICdlbWFpbCc9PiRlbWFpbCwgJ2lnbm9yZW9sZHB3Jz0+JGlnbm9yZW9sZHB3LCAncXVlc3Rpb25pZCc9PiRxdWVzdGlvbmlkLCAnYW5zd2VyJz0+JGFuc3dlcikpOw0KfQ0KDQpmdW5jdGlvbiB1Y191c2VyX2RlbGV0ZSgkdWlkKSB7DQoJcmV0dXJuIGNhbGxfdXNlcl9mdW5jKFVDX0FQSV9GVU5DLCAndXNlcicsICdkZWxldGUnLCBhcnJheSgndWlkJz0+JHVpZCkpOw0KfQ0KDQpmdW5jdGlvbiB1Y191c2VyX2RlbGV0ZWF2YXRhcigkdWlkKSB7DQoJdWNfYXBpX3Bvc3QoJ3VzZXInLCAnZGVsZXRlYXZhdGFyJywgYXJyYXkoJ3VpZCc9PiR1aWQpKTsNCn0NCg0KZnVuY3Rpb24gdWNfdXNlcl9jaGVja25hbWUoJHVzZXJuYW1lKSB7DQoJcmV0dXJuIGNhbGxfdXNlcl9mdW5jKFVDX0FQSV9GVU5DLCAndXNlcicsICdjaGVja191c2VybmFtZScsIGFycmF5KCd1c2VybmFtZSc9PiR1c2VybmFtZSkpOw0KfQ0KDQpmdW5jdGlvbiB1Y191c2VyX2NoZWNrZW1haWwoJGVtYWlsKSB7DQoJcmV0dXJuIGNhbGxfdXNlcl9mdW5jKFVDX0FQSV9GVU5DLCAndXNlcicsICdjaGVja19lbWFpbCcsIGFycmF5KCdlbWFpbCc9PiRlbWFpbCkpOw0KfQ0KDQpmdW5jdGlvbiB1Y191c2VyX2FkZHByb3RlY3RlZCgkdXNlcm5hbWUsICRhZG1pbj0nJykgew0KCXJldHVybiBjYWxsX3VzZXJfZnVuYyhVQ19BUElfRlVOQywgJ3VzZXInLCAnYWRkcHJvdGVjdGVkJywgYXJyYXkoJ3VzZXJuYW1lJz0+JHVzZXJuYW1lLCAnYWRtaW4nPT4kYWRtaW4pKTsNCn0NCg0KZnVuY3Rpb24gdWNfdXNlcl9kZWxldGVwcm90ZWN0ZWQoJHVzZXJuYW1lKSB7DQoJcmV0dXJuIGNhbGxfdXNlcl9mdW5jKFVDX0FQSV9GVU5DLCAndXNlcicsICdkZWxldGVwcm90ZWN0ZWQnLCBhcnJheSgndXNlcm5hbWUnPT4kdXNlcm5hbWUpKTsNCn0NCg0KZnVuY3Rpb24gdWNfdXNlcl9nZXRwcm90ZWN0ZWQoKSB7DQoJJHJldHVybiA9IGNhbGxfdXNlcl9mdW5jKFVDX0FQSV9GVU5DLCAndXNlcicsICdnZXRwcm90ZWN0ZWQnLCBhcnJheSgnMSc9PjEpKTsNCglyZXR1cm4gVUNfQ09OTkVDVCA9PSAnbXlzcWwnID8gJHJldHVybiA6IHVjX3Vuc2VyaWFsaXplKCRyZXR1cm4pOw0KfQ0KDQpmdW5jdGlvbiB1Y19nZXRfdXNlcigkdXNlcm5hbWUsICRpc3VpZD0wKSB7DQoJJHJldHVybiA9IGNhbGxfdXNlcl9mdW5jKFVDX0FQSV9GVU5DLCAndXNlcicsICdnZXRfdXNlcicsIGFycmF5KCd1c2VybmFtZSc9PiR1c2VybmFtZSwgJ2lzdWlkJz0+JGlzdWlkKSk7DQoJcmV0dXJuIFVDX0NPTk5FQ1QgPT0gJ215c3FsJyA/ICRyZXR1cm4gOiB1Y191bnNlcmlhbGl6ZSgkcmV0dXJuKTsNCn0NCg0KZnVuY3Rpb24gdWNfdXNlcl9tZXJnZSgkb2xkdXNlcm5hbWUsICRuZXd1c2VybmFtZSwgJHVpZCwgJHBhc3N3b3JkLCAkZW1haWwpIHsNCglyZXR1cm4gY2FsbF91c2VyX2Z1bmMoVUNfQVBJX0ZVTkMsICd1c2VyJywgJ21lcmdlJywgYXJyYXkoJ29sZHVzZXJuYW1lJz0+JG9sZHVzZXJuYW1lLCAnbmV3dXNlcm5hbWUnPT4kbmV3dXNlcm5hbWUsICd1aWQnPT4kdWlkLCAncGFzc3dvcmQnPT4kcGFzc3dvcmQsICdlbWFpbCc9PiRlbWFpbCkpOw0KfQ0KDQpmdW5jdGlvbiB1Y191c2VyX21lcmdlX3JlbW92ZSgkdXNlcm5hbWUpIHsNCglyZXR1cm4gY2FsbF91c2VyX2Z1bmMoVUNfQVBJX0ZVTkMsICd1c2VyJywgJ21lcmdlX3JlbW92ZScsIGFycmF5KCd1c2VybmFtZSc9PiR1c2VybmFtZSkpOw0KfQ0KDQpmdW5jdGlvbiB1Y191c2VyX2dldGNyZWRpdCgkYXBwaWQsICR1aWQsICRjcmVkaXQpIHsNCglyZXR1cm4gdWNfYXBpX3Bvc3QoJ3VzZXInLCAnZ2V0Y3JlZGl0JywgYXJyYXkoJ2FwcGlkJz0+JGFwcGlkLCAndWlkJz0+JHVpZCwgJ2NyZWRpdCc9PiRjcmVkaXQpKTsNCn0NCg0KZnVuY3Rpb24gdWNfcG1fbG9jYXRpb24oJHVpZCwgJG5ld3BtID0gMCkgew0KCSRhcGl1cmwgPSB1Y19hcGlfdXJsKCdwbV9jbGllbnQnLCAnbHMnLCAidWlkPSR1aWQiLCAoJG5ld3BtID8gJyZmb2xkZXI9bmV3Ym94JyA6ICcnKSk7DQoJQGhlYWRlcigiRXhwaXJlczogMCIpOw0KCUBoZWFkZXIoIkNhY2hlLUNvbnRyb2w6IHByaXZhdGUsIHBvc3QtY2hlY2s9MCwgcHJlLWNoZWNrPTAsIG1heC1hZ2U9MCIsIEZBTFNFKTsNCglAaGVhZGVyKCJQcmFnbWE6IG5vLWNhY2hlIik7DQoJQGhlYWRlcigibG9jYXRpb246ICRhcGl1cmwiKTsNCn0NCg0KZnVuY3Rpb24gdWNfcG1fY2hlY2tuZXcoJHVpZCwgJG1vcmUgPSAwKSB7DQoJJHJldHVybiA9IGNhbGxfdXNlcl9mdW5jKFVDX0FQSV9GVU5DLCAncG0nLCAnY2hlY2tfbmV3cG0nLCBhcnJheSgndWlkJz0+JHVpZCwgJ21vcmUnPT4kbW9yZSkpOw0KCXJldHVybiAoISRtb3JlIHx8IFVDX0NPTk5FQ1QgPT0gJ215c3FsJykgPyAkcmV0dXJuIDogdWNfdW5zZXJpYWxpemUoJHJldHVybik7DQp9DQoNCmZ1bmN0aW9uIHVjX3BtX3NlbmQoJGZyb211aWQsICRtc2d0bywgJHN1YmplY3QsICRtZXNzYWdlLCAkaW5zdGFudGx5ID0gMSwgJHJlcGx5cG1pZCA9IDAsICRpc3VzZXJuYW1lID0gMCkgew0KCWlmKCRpbnN0YW50bHkpIHsNCgkJJHJlcGx5cG1pZCA9IEBpc19udW1lcmljKCRyZXBseXBtaWQpID8gJHJlcGx5cG1pZCA6IDA7DQoJCXJldHVybiBjYWxsX3VzZXJfZnVuYyhVQ19BUElfRlVOQywgJ3BtJywgJ3NlbmRwbScsIGFycmF5KCdmcm9tdWlkJz0+JGZyb211aWQsICdtc2d0byc9PiRtc2d0bywgJ3N1YmplY3QnPT4kc3ViamVjdCwgJ21lc3NhZ2UnPT4kbWVzc2FnZSwgJ3JlcGx5cG1pZCc9PiRyZXBseXBtaWQsICdpc3VzZXJuYW1lJz0+JGlzdXNlcm5hbWUpKTsNCgl9IGVsc2Ugew0KCQkkZnJvbXVpZCA9IGludHZhbCgkZnJvbXVpZCk7DQoJCSRzdWJqZWN0ID0gdXJsZW5jb2RlKCRzdWJqZWN0KTsNCgkJJG1zZ3RvID0gdXJsZW5jb2RlKCRtc2d0byk7DQoJCSRtZXNzYWdlID0gdXJsZW5jb2RlKCRtZXNzYWdlKTsNCgkJJHJlcGx5cG1pZCA9IEBpc19udW1lcmljKCRyZXBseXBtaWQpID8gJHJlcGx5cG1pZCA6IDA7DQoJCSRyZXBseWFkZCA9ICRyZXBseXBtaWQgPyAiJnBtaWQ9JHJlcGx5cG1pZCZkbz1yZXBseSIgOiAnJzsNCgkJJGFwaXVybCA9IHVjX2FwaV91cmwoJ3BtX2NsaWVudCcsICdzZW5kJywgInVpZD0kZnJvbXVpZCIsICImbXNndG89JG1zZ3RvJnN1YmplY3Q9JHN1YmplY3QmbWVzc2FnZT0kbWVzc2FnZSRyZXBseWFkZCIpOw0KCQlAaGVhZGVyKCJFeHBpcmVzOiAwIik7DQoJCUBoZWFkZXIoIkNhY2hlLUNvbnRyb2w6IHByaXZhdGUsIHBvc3QtY2hlY2s9MCwgcHJlLWNoZWNrPTAsIG1heC1hZ2U9MCIsIEZBTFNFKTsNCgkJQGhlYWRlcigiUHJhZ21hOiBuby1jYWNoZSIpOw0KCQlAaGVhZGVyKCJsb2NhdGlvbjogIi4kYXBpdXJsKTsNCgl9DQp9DQoNCmZ1bmN0aW9uIHVjX3BtX2RlbGV0ZSgkdWlkLCAkZm9sZGVyLCAkcG1pZHMpIHsNCglyZXR1cm4gY2FsbF91c2VyX2Z1bmMoVUNfQVBJX0ZVTkMsICdwbScsICdkZWxldGUnLCBhcnJheSgndWlkJz0+JHVpZCwgJ2ZvbGRlcic9PiRmb2xkZXIsICdwbWlkcyc9PiRwbWlkcykpOw0KfQ0KDQpmdW5jdGlvbiB1Y19wbV9kZWxldGV1c2VyKCR1aWQsICR0b3VpZHMpIHsNCglyZXR1cm4gY2FsbF91c2VyX2Z1bmMoVUNfQVBJX0ZVTkMsICdwbScsICdkZWxldGV1c2VyJywgYXJyYXkoJ3VpZCc9PiR1aWQsICd0b3VpZHMnPT4kdG91aWRzKSk7DQp9DQoNCmZ1bmN0aW9uIHVjX3BtX3JlYWRzdGF0dXMoJHVpZCwgJHVpZHMsICRwbWlkcyA9IGFycmF5KCksICRzdGF0dXMgPSAwKSB7DQoJcmV0dXJuIGNhbGxfdXNlcl9mdW5jKFVDX0FQSV9GVU5DLCAncG0nLCAncmVhZHN0YXR1cycsIGFycmF5KCd1aWQnPT4kdWlkLCAndWlkcyc9PiR1aWRzLCAncG1pZHMnPT4kcG1pZHMsICdzdGF0dXMnPT4kc3RhdHVzKSk7DQp9DQoNCmZ1bmN0aW9uIHVjX3BtX2xpc3QoJHVpZCwgJHBhZ2UgPSAxLCAkcGFnZXNpemUgPSAxMCwgJGZvbGRlciA9ICdpbmJveCcsICRmaWx0ZXIgPSAnbmV3cG0nLCAkbXNnbGVuID0gMCkgew0KCSR1aWQgPSBpbnR2YWwoJHVpZCk7DQoJJHBhZ2UgPSBpbnR2YWwoJHBhZ2UpOw0KCSRwYWdlc2l6ZSA9IGludHZhbCgkcGFnZXNpemUpOw0KCSRyZXR1cm4gPSBjYWxsX3VzZXJfZnVuYyhVQ19BUElfRlVOQywgJ3BtJywgJ2xzJywgYXJyYXkoJ3VpZCc9PiR1aWQsICdwYWdlJz0+JHBhZ2UsICdwYWdlc2l6ZSc9PiRwYWdlc2l6ZSwgJ2ZvbGRlcic9PiRmb2xkZXIsICdmaWx0ZXInPT4kZmlsdGVyLCAnbXNnbGVuJz0+JG1zZ2xlbikpOw0KCXJldHVybiBVQ19DT05ORUNUID09ICdteXNxbCcgPyAkcmV0dXJuIDogdWNfdW5zZXJpYWxpemUoJHJldHVybik7DQp9DQoNCmZ1bmN0aW9uIHVjX3BtX2lnbm9yZSgkdWlkKSB7DQoJJHVpZCA9IGludHZhbCgkdWlkKTsNCglyZXR1cm4gY2FsbF91c2VyX2Z1bmMoVUNfQVBJX0ZVTkMsICdwbScsICdpZ25vcmUnLCBhcnJheSgndWlkJz0+JHVpZCkpOw0KfQ0KDQpmdW5jdGlvbiB1Y19wbV92aWV3KCR1aWQsICRwbWlkLCAkdG91aWQgPSAwLCAkZGF0ZXJhbmdlID0gMSkgew0KCSR1aWQgPSBpbnR2YWwoJHVpZCk7DQoJJHRvdWlkID0gaW50dmFsKCR0b3VpZCk7DQoJJHBtaWQgPSBAaXNfbnVtZXJpYygkcG1pZCkgPyAkcG1pZCA6IDA7DQoJJHJldHVybiA9IGNhbGxfdXNlcl9mdW5jKFVDX0FQSV9GVU5DLCAncG0nLCAndmlldycsIGFycmF5KCd1aWQnPT4kdWlkLCAncG1pZCc9PiRwbWlkLCAndG91aWQnPT4kdG91aWQsICdkYXRlcmFuZ2UnPT4kZGF0ZXJhbmdlKSk7DQoJcmV0dXJuIFVDX0NPTk5FQ1QgPT0gJ215c3FsJyA/ICRyZXR1cm4gOiB1Y191bnNlcmlhbGl6ZSgkcmV0dXJuKTsNCn0NCg0KZnVuY3Rpb24gdWNfcG1fdmlld25vZGUoJHVpZCwgJHR5cGUgPSAwLCAkcG1pZCA9IDApIHsNCgkkdWlkID0gaW50dmFsKCR1aWQpOw0KCSRwbWlkID0gQGlzX251bWVyaWMoJHBtaWQpID8gJHBtaWQgOiAwOw0KCSRyZXR1cm4gPSBjYWxsX3VzZXJfZnVuYyhVQ19BUElfRlVOQywgJ3BtJywgJ3ZpZXdub2RlJywgYXJyYXkoJ3VpZCc9PiR1aWQsICdwbWlkJz0+JHBtaWQsICd0eXBlJz0+JHR5cGUpKTsNCglyZXR1cm4gVUNfQ09OTkVDVCA9PSAnbXlzcWwnID8gJHJldHVybiA6IHVjX3Vuc2VyaWFsaXplKCRyZXR1cm4pOw0KfQ0KDQpmdW5jdGlvbiB1Y19wbV9ibGFja2xzX2dldCgkdWlkKSB7DQoJJHVpZCA9IGludHZhbCgkdWlkKTsNCglyZXR1cm4gY2FsbF91c2VyX2Z1bmMoVUNfQVBJX0ZVTkMsICdwbScsICdibGFja2xzX2dldCcsIGFycmF5KCd1aWQnPT4kdWlkKSk7DQp9DQoNCmZ1bmN0aW9uIHVjX3BtX2JsYWNrbHNfc2V0KCR1aWQsICRibGFja2xzKSB7DQoJJHVpZCA9IGludHZhbCgkdWlkKTsNCglyZXR1cm4gY2FsbF91c2VyX2Z1bmMoVUNfQVBJX0ZVTkMsICdwbScsICdibGFja2xzX3NldCcsIGFycmF5KCd1aWQnPT4kdWlkLCAnYmxhY2tscyc9PiRibGFja2xzKSk7DQp9DQoNCmZ1bmN0aW9uIHVjX3BtX2JsYWNrbHNfYWRkKCR1aWQsICR1c2VybmFtZSkgew0KCSR1aWQgPSBpbnR2YWwoJHVpZCk7DQoJcmV0dXJuIGNhbGxfdXNlcl9mdW5jKFVDX0FQSV9GVU5DLCAncG0nLCAnYmxhY2tsc19hZGQnLCBhcnJheSgndWlkJz0+JHVpZCwgJ3VzZXJuYW1lJz0+JHVzZXJuYW1lKSk7DQp9DQoNCmZ1bmN0aW9uIHVjX3BtX2JsYWNrbHNfZGVsZXRlKCR1aWQsICR1c2VybmFtZSkgew0KCSR1aWQgPSBpbnR2YWwoJHVpZCk7DQoJcmV0dXJuIGNhbGxfdXNlcl9mdW5jKFVDX0FQSV9GVU5DLCAncG0nLCAnYmxhY2tsc19kZWxldGUnLCBhcnJheSgndWlkJz0+JHVpZCwgJ3VzZXJuYW1lJz0+JHVzZXJuYW1lKSk7DQp9DQoNCmZ1bmN0aW9uIHVjX2RvbWFpbl9scygpIHsNCgkkcmV0dXJuID0gY2FsbF91c2VyX2Z1bmMoVUNfQVBJX0ZVTkMsICdkb21haW4nLCAnbHMnLCBhcnJheSgnMSc9PjEpKTsNCglyZXR1cm4gVUNfQ09OTkVDVCA9PSAnbXlzcWwnID8gJHJldHVybiA6IHVjX3Vuc2VyaWFsaXplKCRyZXR1cm4pOw0KfQ0KDQpmdW5jdGlvbiB1Y19jcmVkaXRfZXhjaGFuZ2VfcmVxdWVzdCgkdWlkLCAkZnJvbSwgJHRvLCAkdG9hcHBpZCwgJGFtb3VudCkgew0KCSR1aWQgPSBpbnR2YWwoJHVpZCk7DQoJJGZyb20gPSBpbnR2YWwoJGZyb20pOw0KCSR0b2FwcGlkID0gaW50dmFsKCR0b2FwcGlkKTsNCgkkdG8gPSBpbnR2YWwoJHRvKTsNCgkkYW1vdW50ID0gaW50dmFsKCRhbW91bnQpOw0KCXJldHVybiB1Y19hcGlfcG9zdCgnY3JlZGl0JywgJ3JlcXVlc3QnLCBhcnJheSgndWlkJz0+JHVpZCwgJ2Zyb20nPT4kZnJvbSwgJ3RvJz0+JHRvLCAndG9hcHBpZCc9PiR0b2FwcGlkLCAnYW1vdW50Jz0+JGFtb3VudCkpOw0KfQ0KDQpmdW5jdGlvbiB1Y190YWdfZ2V0KCR0YWduYW1lLCAkbnVtcyA9IDApIHsNCgkkcmV0dXJuID0gY2FsbF91c2VyX2Z1bmMoVUNfQVBJX0ZVTkMsICd0YWcnLCAnZ2V0dGFnJywgYXJyYXkoJ3RhZ25hbWUnPT4kdGFnbmFtZSwgJ251bXMnPT4kbnVtcykpOw0KCXJldHVybiBVQ19DT05ORUNUID09ICdteXNxbCcgPyAkcmV0dXJuIDogdWNfdW5zZXJpYWxpemUoJHJldHVybik7DQp9DQoNCmZ1bmN0aW9uIHVjX2F2YXRhcigkdWlkLCAkdHlwZSA9ICd2aXJ0dWFsJywgJHJldHVybmh0bWwgPSAxKSB7DQoJJHVpZCA9IGludHZhbCgkdWlkKTsNCgkkdWNfaW5wdXQgPSB1Y19hcGlfaW5wdXQoInVpZD0kdWlkIik7DQoJJHVjX2F2YXRhcmZsYXNoID0gVUNfQVBJLicvaW1hZ2VzL2NhbWVyYS5zd2Y/aW5hamF4PTEmYXBwaWQ9Jy5VQ19BUFBJRC4nJmlucHV0PScuJHVjX2lucHV0LicmYWdlbnQ9Jy5tZDUoJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddKS4nJnVjYXBpPScudXJsZW5jb2RlKHN0cl9yZXBsYWNlKCdodHRwOi8vJywgJycsIFVDX0FQSSkpLicmYXZhdGFydHlwZT0nLiR0eXBlOw0KCWlmKCRyZXR1cm5odG1sKSB7DQoJCXJldHVybiAnPG9iamVjdCBjbGFzc2lkPSJjbHNpZDpkMjdjZGI2ZS1hZTZkLTExY2YtOTZiOC00NDQ1NTM1NDAwMDAiIGNvZGViYXNlPSJodHRwOi8vZG93bmxvYWQubWFjcm9tZWRpYS5jb20vcHViL3Nob2Nrd2F2ZS9jYWJzL2ZsYXNoL3N3Zmxhc2guY2FiI3ZlcnNpb249OSwwLDAsMCIgd2lkdGg9IjQ0NyIgaGVpZ2h0PSI0NzciIGlkPSJteWNhbWVyYSIgYWxpZ249Im1pZGRsZSI+DQoJCQk8cGFyYW0gbmFtZT0iYWxsb3dTY3JpcHRBY2Nlc3MiIHZhbHVlPSJhbHdheXMiIC8+DQoJCQk8cGFyYW0gbmFtZT0ic2NhbGUiIHZhbHVlPSJleGFjdGZpdCIgLz4NCgkJCTxwYXJhbSBuYW1lPSJ3bW9kZSIgdmFsdWU9InRyYW5zcGFyZW50IiAvPg0KCQkJPHBhcmFtIG5hbWU9InF1YWxpdHkiIHZhbHVlPSJoaWdoIiAvPg0KCQkJPHBhcmFtIG5hbWU9ImJnY29sb3IiIHZhbHVlPSIjZmZmZmZmIiAvPg0KCQkJPHBhcmFtIG5hbWU9Im1vdmllIiB2YWx1ZT0iJy4kdWNfYXZhdGFyZmxhc2guJyIgLz4NCgkJCTxwYXJhbSBuYW1lPSJtZW51IiB2YWx1ZT0iZmFsc2UiIC8+DQoJCQk8ZW1iZWQgc3JjPSInLiR1Y19hdmF0YXJmbGFzaC4nIiBxdWFsaXR5PSJoaWdoIiBiZ2NvbG9yPSIjZmZmZmZmIiB3aWR0aD0iNDQ3IiBoZWlnaHQ9IjQ3NyIgbmFtZT0ibXljYW1lcmEiIGFsaWduPSJtaWRkbGUiIGFsbG93U2NyaXB0QWNjZXNzPSJhbHdheXMiIGFsbG93RnVsbFNjcmVlbj0iZmFsc2UiIHNjYWxlPSJleGFjdGZpdCIgIHdtb2RlPSJ0cmFuc3BhcmVudCIgdHlwZT0iYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2giIHBsdWdpbnNwYWdlPSJodHRwOi8vd3d3Lm1hY3JvbWVkaWEuY29tL2dvL2dldGZsYXNocGxheWVyIiAvPg0KCQk8L29iamVjdD4nOw0KCX0gZWxzZSB7DQoJCXJldHVybiBhcnJheSgNCgkJCSd3aWR0aCcsICc0NDcnLA0KCQkJJ2hlaWdodCcsICc0NzcnLA0KCQkJJ3NjYWxlJywgJ2V4YWN0Zml0JywNCgkJCSdzcmMnLCAkdWNfYXZhdGFyZmxhc2gsDQoJCQknaWQnLCAnbXljYW1lcmEnLA0KCQkJJ25hbWUnLCAnbXljYW1lcmEnLA0KCQkJJ3F1YWxpdHknLCdoaWdoJywNCgkJCSdiZ2NvbG9yJywnI2ZmZmZmZicsDQoJCQknd21vZGUnLCd0cmFuc3BhcmVudCcsDQoJCQknbWVudScsICdmYWxzZScsDQoJCQknc3dMaXZlQ29ubmVjdCcsICd0cnVlJywNCgkJCSdhbGxvd1NjcmlwdEFjY2VzcycsICdhbHdheXMnDQoJCSk7DQoJfQ0KfQ0KDQpmdW5jdGlvbiB1Y19tYWlsX3F1ZXVlKCR1aWRzLCAkZW1haWxzLCAkc3ViamVjdCwgJG1lc3NhZ2UsICRmcm9tbWFpbCA9ICcnLCAkY2hhcnNldCA9ICdnYmsnLCAkaHRtbG9uID0gRkFMU0UsICRsZXZlbCA9IDEpIHsNCglyZXR1cm4gY2FsbF91c2VyX2Z1bmMoVUNfQVBJX0ZVTkMsICdtYWlsJywgJ2FkZCcsIGFycmF5KCd1aWRzJyA9PiAkdWlkcywgJ2VtYWlscycgPT4gJGVtYWlscywgJ3N1YmplY3QnID0+ICRzdWJqZWN0LCAnbWVzc2FnZScgPT4gJG1lc3NhZ2UsICdmcm9tbWFpbCcgPT4gJGZyb21tYWlsLCAnY2hhcnNldCcgPT4gJGNoYXJzZXQsICdodG1sb24nID0+ICRodG1sb24sICdsZXZlbCcgPT4gJGxldmVsKSk7DQp9DQoNCmZ1bmN0aW9uIHVjX2NoZWNrX2F2YXRhcigkdWlkLCAkc2l6ZSA9ICdtaWRkbGUnLCAkdHlwZSA9ICd2aXJ0dWFsJykgew0KCSR1cmwgPSBVQ19BUEkuIi9hdmF0YXIucGhwP3VpZD0kdWlkJnNpemU9JHNpemUmdHlwZT0kdHlwZSZjaGVja19maWxlX2V4aXN0cz0xIjsNCgkkcmVzID0gdWNfZm9wZW4yKCR1cmwsIDUwMDAwMCwgJycsICcnLCBUUlVFLCBVQ19JUCwgMjApOw0KCWlmKCRyZXMgPT0gMSkgew0KCQlyZXR1cm4gMTsNCgl9IGVsc2Ugew0KCQlyZXR1cm4gMDsNCgl9DQp9DQoNCmZ1bmN0aW9uIHVjX2NoZWNrX3ZlcnNpb24oKSB7DQoJJHJldHVybiA9IHVjX2FwaV9wb3N0KCd2ZXJzaW9uJywgJ2NoZWNrJywgYXJyYXkoKSk7DQoJJGRhdGEgPSB1Y191bnNlcmlhbGl6ZSgkcmV0dXJuKTsNCglyZXR1cm4gaXNfYXJyYXkoJGRhdGEpID8gJGRhdGEgOiAkcmV0dXJuOw0KfQ0KDQo/Pg==
</file>
<file type='dir' name='../uc_client/control'>
</file>
<file type='file' name='../uc_client/control/app.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogYXBwLnBocCx2IDEuMSAyMDA5LzA4LzExIDAzOjIxOjIyIGJsdCBFeHAgJA0KKi8NCg0KIWRlZmluZWQoJ0lOX1VDJykgJiYgZXhpdCgnQWNjZXNzIERlbmllZCcpOw0KDQpjbGFzcyBhcHBjb250cm9sIGV4dGVuZHMgYmFzZSB7DQoNCglmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHsNCgkJJHRoaXMtPmFwcGNvbnRyb2woKTsNCgl9DQoNCglmdW5jdGlvbiBhcHBjb250cm9sKCkgew0KCQlwYXJlbnQ6Ol9fY29uc3RydWN0KCk7DQoJCSR0aGlzLT5sb2FkKCdhcHAnKTsNCgl9DQoNCglmdW5jdGlvbiBvbmxzKCkgew0KCQkkdGhpcy0+aW5pdF9pbnB1dCgpOw0KCQkkYXBwbGlzdCA9ICRfRU5WWydhcHAnXS0+Z2V0X2FwcHMoJ2FwcGlkLCB0eXBlLCBuYW1lLCB1cmwsIHRhZ3RlbXBsYXRlcywgdmlld3Byb3VybCwgc3lubG9naW4nKTsNCgkJJGFwcGxpc3QyID0gYXJyYXkoKTsNCgkJZm9yZWFjaCgkYXBwbGlzdCBhcyAka2V5ID0+ICRhcHApIHsNCgkJCSRhcHBbJ3RhZ3RlbXBsYXRlcyddID0gJHRoaXMtPnVuc2VyaWFsaXplKCRhcHBbJ3RhZ3RlbXBsYXRlcyddKTsNCgkJCSRhcHBsaXN0MlskYXBwWydhcHBpZCddXSA9ICRhcHA7DQoJCX0NCgkJcmV0dXJuICRhcHBsaXN0MjsNCgl9DQoNCglmdW5jdGlvbiBvbmFkZCgpIHsNCgl9DQoNCglmdW5jdGlvbiBvbnVjaW5mbygpIHsNCgl9DQoNCglmdW5jdGlvbiBfcmFuZG9tKCRsZW5ndGgsICRudW1lcmljID0gMCkgew0KCX0NCg0KCWZ1bmN0aW9uIF9nZW5lcmF0ZV9rZXkoKSB7DQoJfQ0KDQoJZnVuY3Rpb24gX2Zvcm1hdF9ub3RlZGF0YSgkbm90ZWRhdGEpIHsNCgl9DQp9DQoNCj8+
</file>
<file type='file' name='../uc_client/control/cache.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogY2FjaGUucGhwLHYgMS4xIDIwMDkvMDgvMTEgMDM6MjE6MjIgYmx0IEV4cCAkDQoqLw0KDQohZGVmaW5lZCgnSU5fVUMnKSAmJiBleGl0KCdBY2Nlc3MgRGVuaWVkJyk7DQoNCmNsYXNzIGNhY2hlY29udHJvbCBleHRlbmRzIGJhc2Ugew0KDQoJZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7DQoJCSR0aGlzLT5jYWNoZWNvbnRyb2woKTsNCgl9DQoNCglmdW5jdGlvbiBjYWNoZWNvbnRyb2woKSB7DQoJCXBhcmVudDo6X19jb25zdHJ1Y3QoKTsNCgl9DQoNCglmdW5jdGlvbiBvbnVwZGF0ZSgkYXJyKSB7DQoJCSR0aGlzLT5sb2FkKCJjYWNoZSIpOw0KCQkkX0VOVlsnY2FjaGUnXS0+dXBkYXRlZGF0YSgpOw0KCX0NCg0KfQ0KDQo/Pg==
</file>
<file type='file' name='../uc_client/control/domain.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogZG9tYWluLnBocCx2IDEuMSAyMDA5LzA4LzExIDAzOjIxOjIyIGJsdCBFeHAgJA0KKi8NCg0KIWRlZmluZWQoJ0lOX1VDJykgJiYgZXhpdCgnQWNjZXNzIERlbmllZCcpOw0KDQpjbGFzcyBkb21haW5jb250cm9sIGV4dGVuZHMgYmFzZSB7DQoNCglmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHsNCgkJJHRoaXMtPmRvbWFpbmNvbnRyb2woKTsNCgl9DQoNCglmdW5jdGlvbiBkb21haW5jb250cm9sKCkgew0KCQlwYXJlbnQ6Ol9fY29uc3RydWN0KCk7DQoJCSR0aGlzLT5pbml0X2lucHV0KCk7DQoJCSR0aGlzLT5sb2FkKCdkb21haW4nKTsNCgl9DQoNCglmdW5jdGlvbiBvbmxzKCkgew0KCQlyZXR1cm4gJF9FTlZbJ2RvbWFpbiddLT5nZXRfbGlzdCgxLCA5OTk5LCA5OTk5KTsNCgl9DQp9DQoNCj8+
</file>
<file type='file' name='../uc_client/control/feed.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogZmVlZC5waHAsdiAxLjEgMjAwOS8wOC8xMSAwMzoyMToyMiBibHQgRXhwICQNCiovDQoNCiFkZWZpbmVkKCdJTl9VQycpICYmIGV4aXQoJ0FjY2VzcyBEZW5pZWQnKTsNCg0KY2xhc3MgZmVlZGNvbnRyb2wgZXh0ZW5kcyBiYXNlIHsNCg0KCWZ1bmN0aW9uIF9fY29uc3RydWN0KCkgew0KCQkkdGhpcy0+ZmVlZGNvbnRyb2woKTsNCgl9DQoNCglmdW5jdGlvbiBmZWVkY29udHJvbCgpIHsNCgkJcGFyZW50OjpfX2NvbnN0cnVjdCgpOw0KCQkkdGhpcy0+aW5pdF9pbnB1dCgpOw0KCX0NCg0KCWZ1bmN0aW9uIG9uYWRkKCkgew0KCQkkdGhpcy0+bG9hZCgnbWlzYycpOw0KCQkkYXBwaWQgPSBpbnR2YWwoJHRoaXMtPmlucHV0KCdhcHBpZCcpKTsNCgkJJGljb24gPSAkdGhpcy0+aW5wdXQoJ2ljb24nKTsNCgkJJHVpZCA9IGludHZhbCgkdGhpcy0+aW5wdXQoJ3VpZCcpKTsNCgkJJHVzZXJuYW1lID0gJHRoaXMtPmlucHV0KCd1c2VybmFtZScpOw0KCQkkYm9keV9kYXRhID0gJF9FTlZbJ21pc2MnXS0+YXJyYXkyc3RyaW5nKCR0aGlzLT5pbnB1dCgnYm9keV9kYXRhJykpOw0KCQkkdGl0bGVfZGF0YSA9ICRfRU5WWydtaXNjJ10tPmFycmF5MnN0cmluZygkdGhpcy0+aW5wdXQoJ3RpdGxlX2RhdGEnKSk7DQoNCgkJJHRpdGxlX3RlbXBsYXRlID0gJHRoaXMtPl9wYXJzZXRlbXBsYXRlKCR0aGlzLT5pbnB1dCgndGl0bGVfdGVtcGxhdGUnKSk7DQoJCSRib2R5X3RlbXBsYXRlID0gJHRoaXMtPl9wYXJzZXRlbXBsYXRlKCR0aGlzLT5pbnB1dCgnYm9keV90ZW1wbGF0ZScpKTsNCgkJJGJvZHlfZ2VuZXJhbCA9ICR0aGlzLT5pbnB1dCgnYm9keV9nZW5lcmFsJyk7DQoJCSR0YXJnZXRfaWRzID0gJHRoaXMtPmlucHV0KCd0YXJnZXRfaWRzJyk7DQoJCSRpbWFnZV8xID0gJHRoaXMtPmlucHV0KCdpbWFnZV8xJyk7DQoJCSRpbWFnZV8xX2xpbmsgPSAkdGhpcy0+aW5wdXQoJ2ltYWdlXzFfbGluaycpOw0KCQkkaW1hZ2VfMiA9ICR0aGlzLT5pbnB1dCgnaW1hZ2VfMicpOw0KCQkkaW1hZ2VfMl9saW5rID0gJHRoaXMtPmlucHV0KCdpbWFnZV8yX2xpbmsnKTsNCgkJJGltYWdlXzMgPSAkdGhpcy0+aW5wdXQoJ2ltYWdlXzMnKTsNCgkJJGltYWdlXzNfbGluayA9ICR0aGlzLT5pbnB1dCgnaW1hZ2VfM19saW5rJyk7DQoJCSRpbWFnZV80ID0gJHRoaXMtPmlucHV0KCdpbWFnZV80Jyk7DQoJCSRpbWFnZV80X2xpbmsgPSAkdGhpcy0+aW5wdXQoJ2ltYWdlXzRfbGluaycpOw0KDQoJCSRoYXNoX3RlbXBsYXRlID0gbWQ1KCR0aXRsZV90ZW1wbGF0ZS4kYm9keV90ZW1wbGF0ZSk7DQoJCSRoYXNoX2RhdGEgPSBtZDUoJHRpdGxlX3RlbXBsYXRlLiR0aXRsZV9kYXRhLiRib2R5X3RlbXBsYXRlLiRib2R5X2RhdGEpOw0KCQkkZGF0ZWxpbmUgPSAkdGhpcy0+dGltZTsNCgkJJHRoaXMtPmRiLT5xdWVyeSgiSU5TRVJUIElOVE8gIi5VQ19EQlRBQkxFUFJFLiJmZWVkcyBTRVQgYXBwaWQ9JyRhcHBpZCcsIGljb249JyRpY29uJywgdWlkPSckdWlkJywgdXNlcm5hbWU9JyR1c2VybmFtZScsDQoJCQl0aXRsZV90ZW1wbGF0ZT0nJHRpdGxlX3RlbXBsYXRlJywgdGl0bGVfZGF0YT0nJHRpdGxlX2RhdGEnLCBib2R5X3RlbXBsYXRlPSckYm9keV90ZW1wbGF0ZScsIGJvZHlfZGF0YT0nJGJvZHlfZGF0YScsIGJvZHlfZ2VuZXJhbD0nJGJvZHlfZ2VuZXJhbCcsDQoJCQlpbWFnZV8xPSckaW1hZ2VfMScsIGltYWdlXzFfbGluaz0nJGltYWdlXzFfbGluaycsIGltYWdlXzI9JyRpbWFnZV8yJywgaW1hZ2VfMl9saW5rPSckaW1hZ2VfMl9saW5rJywNCgkJCWltYWdlXzM9JyRpbWFnZV8zJywgaW1hZ2VfM19saW5rPSckaW1hZ2VfM19saW5rJywgaW1hZ2VfND0nJGltYWdlXzQnLCBpbWFnZV80X2xpbms9JyRpbWFnZV80X2xpbmsnLA0KCQkJaGFzaF90ZW1wbGF0ZT0nJGhhc2hfdGVtcGxhdGUnLCBoYXNoX2RhdGE9JyRoYXNoX2RhdGEnLCB0YXJnZXRfaWRzPSckdGFyZ2V0X2lkcycsIGRhdGVsaW5lPSckZGF0ZWxpbmUnIik7DQoJCXJldHVybiAkdGhpcy0+ZGItPmluc2VydF9pZCgpOw0KCX0NCg0KCWZ1bmN0aW9uIG9uZGVsZXRlKCkgew0KCQkkc3RhcnQgPSAkdGhpcy0+aW5wdXQoJ3N0YXJ0Jyk7DQoJCSRsaW1pdCA9ICR0aGlzLT5pbnB1dCgnbGltaXQnKTsNCgkJJGVuZCA9ICRzdGFydCArICRsaW1pdDsNCgkJJHRoaXMtPmRiLT5xdWVyeSgiREVMRVRFIEZST00gIi5VQ19EQlRBQkxFUFJFLiJmZWVkcyBXSEVSRSBmZWVkaWQ+JyRzdGFydCcgQU5EIGZlZWRpZDwnJGVuZCciKTsNCgl9DQoNCglmdW5jdGlvbiBvbmdldCgpIHsNCgkJJHRoaXMtPmxvYWQoJ21pc2MnKTsNCgkJJGxpbWl0ID0gaW50dmFsKCR0aGlzLT5pbnB1dCgnbGltaXQnKSk7DQoJCSRkZWxldGUgPSAkdGhpcy0+aW5wdXQoJ2RlbGV0ZScpOw0KCQkkZmVlZGxpc3QgPSAkdGhpcy0+ZGItPmZldGNoX2FsbCgiU0VMRUNUICogRlJPTSAiLlVDX0RCVEFCTEVQUkUuImZlZWRzIE9SREVSIEJZIGZlZWRpZCBERVNDIExJTUlUICRsaW1pdCIpOw0KCQlpZigkZmVlZGxpc3QpIHsNCgkJCSRtYXhmZWVkaWQgPSAkZmVlZGxpc3RbMF1bJ2ZlZWRpZCddOw0KCQkJZm9yZWFjaCgkZmVlZGxpc3QgYXMgJGtleSA9PiAkZmVlZCkgew0KCQkJCSRmZWVkWydib2R5X2RhdGEnXSA9ICRfRU5WWydtaXNjJ10tPnN0cmluZzJhcnJheSgkZmVlZFsnYm9keV9kYXRhJ10pOw0KCQkJCSRmZWVkWyd0aXRsZV9kYXRhJ10gPSAkX0VOVlsnbWlzYyddLT5zdHJpbmcyYXJyYXkoJGZlZWRbJ3RpdGxlX2RhdGEnXSk7DQoJCQkJJGZlZWRsaXN0WyRrZXldID0gJGZlZWQ7DQoJCQl9DQoJCX0NCgkJaWYoIWVtcHR5KCRmZWVkbGlzdCkpIHsNCgkJCWlmKCFpc3NldCgkZGVsZXRlKSB8fCAkZGVsZXRlKSB7DQoJCQkJJHRoaXMtPl9kZWxldGUoMCwgJG1heGZlZWRpZCk7DQoJCQl9DQoJCX0NCgkJcmV0dXJuICRmZWVkbGlzdDsNCgl9DQoNCglmdW5jdGlvbiBfZGVsZXRlKCRzdGFydCwgJGVuZCkgew0KCQkkdGhpcy0+ZGItPnF1ZXJ5KCJERUxFVEUgRlJPTSAiLlVDX0RCVEFCTEVQUkUuImZlZWRzIFdIRVJFIGZlZWRpZD49JyRzdGFydCcgQU5EIGZlZWRpZDw9JyRlbmQnIik7DQoJfQ0KDQoJZnVuY3Rpb24gX3BhcnNldGVtcGxhdGUoJHRlbXBsYXRlKSB7DQoJCSR0ZW1wbGF0ZSA9IHN0cl9yZXBsYWNlKGFycmF5KCJcciIsICJcbiIpLCAnJywgJHRlbXBsYXRlKTsNCgkJJHRlbXBsYXRlID0gc3RyX3JlcGxhY2UoYXJyYXkoJzxicj4nLCAnPGJyIC8+JywgJzxCUj4nLCAnPEJSIC8+JyksICJcbiIsICR0ZW1wbGF0ZSk7DQoJCSR0ZW1wbGF0ZSA9IHN0cl9yZXBsYWNlKGFycmF5KCc8Yj4nLCAnPEI+JyksICdbQl0nLCAkdGVtcGxhdGUpOw0KCQkkdGVtcGxhdGUgPSBzdHJfcmVwbGFjZShhcnJheSgnPGk+JywgJzxJPicpLCAnW0ldJywgJHRlbXBsYXRlKTsNCgkJJHRlbXBsYXRlID0gc3RyX3JlcGxhY2UoYXJyYXkoJzx1PicsICc8VT4nKSwgJ1tVXScsICR0ZW1wbGF0ZSk7DQoJCSR0ZW1wbGF0ZSA9IHN0cl9yZXBsYWNlKGFycmF5KCc8L2I+JywgJzwvQj4nKSwgJ1svQl0nLCAkdGVtcGxhdGUpOw0KCQkkdGVtcGxhdGUgPSBzdHJfcmVwbGFjZShhcnJheSgnPC9pPicsICc8L0k+JyksICdbL0ldJywgJHRlbXBsYXRlKTsNCgkJJHRlbXBsYXRlID0gc3RyX3JlcGxhY2UoYXJyYXkoJzwvdT4nLCAnPC9VPicpLCAnWy9VXScsICR0ZW1wbGF0ZSk7DQoJCSR0ZW1wbGF0ZSA9IGh0bWxzcGVjaWFsY2hhcnMoJHRlbXBsYXRlKTsNCgkJJHRlbXBsYXRlID0gbmwyYnIoJHRlbXBsYXRlKTsNCgkJJHRlbXBsYXRlID0gc3RyX3JlcGxhY2UoYXJyYXkoJ1tCXScsICdbSV0nLCAnW1VdJywgJ1svQl0nLCAnWy9JXScsICdbL1VdJyksIGFycmF5KCc8Yj4nLCAnPGk+JywgJzx1PicsICc8L2I+JywgJzwvaT4nLCAnPC91PicpLCAkdGVtcGxhdGUpOw0KCQlyZXR1cm4gJHRlbXBsYXRlOw0KCX0NCg0KfQ0KDQo/Pg==
</file>
<file type='file' name='../uc_client/control/friend.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogZnJpZW5kLnBocCx2IDEuMSAyMDA5LzA4LzExIDAzOjIxOjIyIGJsdCBFeHAgJA0KKi8NCg0KIWRlZmluZWQoJ0lOX1VDJykgJiYgZXhpdCgnQWNjZXNzIERlbmllZCcpOw0KDQpjbGFzcyBmcmllbmRjb250cm9sIGV4dGVuZHMgYmFzZSB7DQoNCglmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHsNCgkJJHRoaXMtPmZyaWVuZGNvbnRyb2woKTsNCgl9DQoNCglmdW5jdGlvbiBmcmllbmRjb250cm9sKCkgew0KCQlwYXJlbnQ6Ol9fY29uc3RydWN0KCk7DQoJCSR0aGlzLT5pbml0X2lucHV0KCk7DQoJCSR0aGlzLT5sb2FkKCdmcmllbmQnKTsNCgl9DQoNCglmdW5jdGlvbiBvbmRlbGV0ZSgpIHsNCgkJJHVpZCA9IGludHZhbCgkdGhpcy0+aW5wdXQoJ3VpZCcpKTsNCgkJJGZyaWVuZGlkcyA9ICR0aGlzLT5pbnB1dCgnZnJpZW5kaWRzJyk7DQoJCSRpZCA9ICRfRU5WWydmcmllbmQnXS0+ZGVsZXRlKCR1aWQsICRmcmllbmRpZHMpOw0KCQlyZXR1cm4gJGlkOw0KCX0NCg0KCWZ1bmN0aW9uIG9uYWRkKCkgew0KCQkkdWlkID0gaW50dmFsKCR0aGlzLT5pbnB1dCgndWlkJykpOw0KCQkkZnJpZW5kaWQgPSAkdGhpcy0+aW5wdXQoJ2ZyaWVuZGlkJyk7DQoJCSRjb21tZW50ID0gJHRoaXMtPmlucHV0KCdjb21tZW50Jyk7DQoJCSRpZCA9ICRfRU5WWydmcmllbmQnXS0+YWRkKCR1aWQsICRmcmllbmRpZCwgJGNvbW1lbnQpOw0KCQlyZXR1cm4gJGlkOw0KCX0NCg0KCWZ1bmN0aW9uIG9udG90YWxudW0oKSB7DQoJCSR1aWQgPSBpbnR2YWwoJHRoaXMtPmlucHV0KCd1aWQnKSk7DQoJCSRkaXJlY3Rpb24gPSBpbnR2YWwoJHRoaXMtPmlucHV0KCdkaXJlY3Rpb24nKSk7DQoJCSR0b3RhbG51bSA9ICRfRU5WWydmcmllbmQnXS0+Z2V0X3RvdGFsbnVtX2J5X3VpZCgkdWlkLCAkZGlyZWN0aW9uKTsNCgkJcmV0dXJuICR0b3RhbG51bTsNCgl9DQoNCglmdW5jdGlvbiBvbmxzKCkgew0KCQkkdWlkID0gaW50dmFsKCR0aGlzLT5pbnB1dCgndWlkJykpOw0KCQkkcGFnZSA9IGludHZhbCgkdGhpcy0+aW5wdXQoJ3BhZ2UnKSk7DQoJCSRwYWdlc2l6ZSA9IGludHZhbCgkdGhpcy0+aW5wdXQoJ3BhZ2VzaXplJykpOw0KCQkkdG90YWxudW0gPSBpbnR2YWwoJHRoaXMtPmlucHV0KCd0b3RhbG51bScpKTsNCgkJJGRpcmVjdGlvbiA9IGludHZhbCgkdGhpcy0+aW5wdXQoJ2RpcmVjdGlvbicpKTsNCgkJJHBhZ2VzaXplID0gJHBhZ2VzaXplID8gJHBhZ2VzaXplIDogVUNfUFBQOw0KCQkkdG90YWxudW0gPSAkdG90YWxudW0gPyAkdG90YWxudW0gOiAkX0VOVlsnZnJpZW5kJ10tPmdldF90b3RhbG51bV9ieV91aWQoJHVpZCk7DQoJCSRkYXRhID0gJF9FTlZbJ2ZyaWVuZCddLT5nZXRfbGlzdCgkdWlkLCAkcGFnZSwgJHBhZ2VzaXplLCAkdG90YWxudW0sICRkaXJlY3Rpb24pOw0KCQlyZXR1cm4gJGRhdGE7DQoJfQ0KfQ0KDQo/Pg==
</file>
<file type='file' name='../uc_client/control/index.htm'>
IA==
</file>
<file type='file' name='../uc_client/control/mail.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogbWFpbC5waHAsdiAxLjEgMjAwOS8wOC8xMSAwMzoyMToyMiBibHQgRXhwICQNCiovDQoNCiFkZWZpbmVkKCdJTl9VQycpICYmIGV4aXQoJ0FjY2VzcyBEZW5pZWQnKTsNCg0KY2xhc3MgbWFpbGNvbnRyb2wgZXh0ZW5kcyBiYXNlIHsNCg0KCWZ1bmN0aW9uIF9fY29uc3RydWN0KCkgew0KCQkkdGhpcy0+bWFpbGNvbnRyb2woKTsNCgl9DQoNCglmdW5jdGlvbiBtYWlsY29udHJvbCgpIHsNCgkJcGFyZW50OjpfX2NvbnN0cnVjdCgpOw0KCQkkdGhpcy0+aW5pdF9pbnB1dCgpOw0KCX0NCg0KCWZ1bmN0aW9uIG9uYWRkKCkgew0KCQkkdGhpcy0+bG9hZCgnbWFpbCcpOw0KCQkkbWFpbCA9IGFycmF5KCk7DQoJCSRtYWlsWydhcHBpZCddCQk9IFVDX0FQUElEOw0KCQkkbWFpbFsndWlkcyddCQk9IGV4cGxvZGUoJywnLCAkdGhpcy0+aW5wdXQoJ3VpZHMnKSk7DQoJCSRtYWlsWydlbWFpbHMnXQkJPSBleHBsb2RlKCcsJywgJHRoaXMtPmlucHV0KCdlbWFpbHMnKSk7DQoJCSRtYWlsWydzdWJqZWN0J10JPSAkdGhpcy0+aW5wdXQoJ3N1YmplY3QnKTsNCgkJJG1haWxbJ21lc3NhZ2UnXQk9ICR0aGlzLT5pbnB1dCgnbWVzc2FnZScpOw0KCQkkbWFpbFsnY2hhcnNldCddCT0gJHRoaXMtPmlucHV0KCdjaGFyc2V0Jyk7DQoJCSRtYWlsWydodG1sb24nXQkJPSBpbnR2YWwoJHRoaXMtPmlucHV0KCdodG1sb24nKSk7DQoJCSRtYWlsWydsZXZlbCddCQk9IGFicyhpbnR2YWwoJHRoaXMtPmlucHV0KCdsZXZlbCcpKSk7DQoJCSRtYWlsWydmcm9tbWFpbCddCT0gJHRoaXMtPmlucHV0KCdmcm9tbWFpbCcpOw0KCQkkbWFpbFsnZGF0ZWxpbmUnXQk9ICR0aGlzLT50aW1lOw0KCQlyZXR1cm4gJF9FTlZbJ21haWwnXS0+YWRkKCRtYWlsKTsNCgl9DQoNCn0NCg0KPz4=
</file>
<file type='file' name='../uc_client/control/pm.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogcG0ucGhwLHYgMS4xIDIwMDkvMDgvMTEgMDM6MjE6MjIgYmx0IEV4cCAkDQoqLw0KDQohZGVmaW5lZCgnSU5fVUMnKSAmJiBleGl0KCdBY2Nlc3MgRGVuaWVkJyk7DQoNCmRlZmluZSgnUE1MSU1JVDFEQVlfRVJST1InLCAtMSk7DQpkZWZpbmUoJ1BNRkxPT0RDVFJMX0VSUk9SJywgLTIpOw0KZGVmaW5lKCdQTU1TR1RPTk9URlJJRU5EJywgLTMpOw0KZGVmaW5lKCdQTVNFTkRSRUdEQVlTJywgLTQpOw0KDQpjbGFzcyBwbWNvbnRyb2wgZXh0ZW5kcyBiYXNlIHsNCg0KCWZ1bmN0aW9uIF9fY29uc3RydWN0KCkgew0KCQkkdGhpcy0+cG1jb250cm9sKCk7DQoJfQ0KDQoJZnVuY3Rpb24gcG1jb250cm9sKCkgew0KCQlwYXJlbnQ6Ol9fY29uc3RydWN0KCk7DQoJCSR0aGlzLT5sb2FkKCd1c2VyJyk7DQoJCSR0aGlzLT5sb2FkKCdwbScpOw0KCX0NCg0KCWZ1bmN0aW9uIG9uY2hlY2tfbmV3cG0oKSB7DQoJCSR0aGlzLT5pbml0X2lucHV0KCk7DQoJCSR0aGlzLT51c2VyWyd1aWQnXSA9IGludHZhbCgkdGhpcy0+aW5wdXQoJ3VpZCcpKTsNCgkJJG1vcmUgPSAkdGhpcy0+aW5wdXQoJ21vcmUnKTsNCgkJJHJlc3VsdCA9ICRfRU5WWydwbSddLT5jaGVja19uZXdwbSgkdGhpcy0+dXNlclsndWlkJ10sICRtb3JlKTsNCgkJaWYoJG1vcmUgPT0gMykgew0KCQkJcmVxdWlyZV9vbmNlIFVDX1JPT1QuJ2xpYi91Y2NvZGUuY2xhc3MucGhwJzsNCgkJCSR0aGlzLT51Y2NvZGUgPSBuZXcgdWNjb2RlKCk7DQoJCQkkcmVzdWx0WydsYXN0bXNnJ10gPSAkdGhpcy0+dWNjb2RlLT5jb21wbGllKCRyZXN1bHRbJ2xhc3Rtc2cnXSk7DQoJCX0NCgkJcmV0dXJuICRyZXN1bHQ7DQoJfQ0KDQoJZnVuY3Rpb24gb25zZW5kcG0oKSB7DQoJCSR0aGlzLT5pbml0X2lucHV0KCk7DQoJCSRmcm9tdWlkID0gJHRoaXMtPmlucHV0KCdmcm9tdWlkJyk7DQoJCSRtc2d0byA9ICR0aGlzLT5pbnB1dCgnbXNndG8nKTsNCgkJJHN1YmplY3QgPSAkdGhpcy0+aW5wdXQoJ3N1YmplY3QnKTsNCgkJJG1lc3NhZ2UgPSAkdGhpcy0+aW5wdXQoJ21lc3NhZ2UnKTsNCgkJJHJlcGx5cG1pZCA9ICR0aGlzLT5pbnB1dCgncmVwbHlwbWlkJyk7DQoJCSRpc3VzZXJuYW1lID0gJHRoaXMtPmlucHV0KCdpc3VzZXJuYW1lJyk7DQoJCWlmKCRmcm9tdWlkKSB7DQoJCQkkdXNlciA9ICRfRU5WWyd1c2VyJ10tPmdldF91c2VyX2J5X3VpZCgkZnJvbXVpZCk7DQoJCQkkdXNlciA9IGRhZGRzbGFzaGVzKCR1c2VyLCAxKTsNCgkJCWlmKCEkdXNlcikgew0KCQkJCXJldHVybiAwOw0KCQkJfQ0KCQkJJHRoaXMtPnVzZXJbJ3VpZCddID0gJHVzZXJbJ3VpZCddOw0KCQkJJHRoaXMtPnVzZXJbJ3VzZXJuYW1lJ10gPSAkdXNlclsndXNlcm5hbWUnXTsNCgkJfSBlbHNlIHsNCgkJCSR0aGlzLT51c2VyWyd1aWQnXSA9IDA7DQoJCQkkdGhpcy0+dXNlclsndXNlcm5hbWUnXSA9ICcnOw0KCQl9DQoJCWlmKCRyZXBseXBtaWQpIHsNCgkJCSRpc3VzZXJuYW1lID0gMTsNCgkJCSRwbXMgPSAkX0VOVlsncG0nXS0+Z2V0X3BtX2J5X3BtaWQoJHRoaXMtPnVzZXJbJ3VpZCddLCAkcmVwbHlwbWlkKTsNCgkJCWlmKCRwbXNbMF1bJ21zZ2Zyb21pZCddID09ICR0aGlzLT51c2VyWyd1aWQnXSkgew0KCQkJCSR1c2VyID0gJF9FTlZbJ3VzZXInXS0+Z2V0X3VzZXJfYnlfdWlkKCRwbXNbMF1bJ21zZ3RvaWQnXSk7DQoJCQkJJG1zZ3RvID0gJHVzZXJbJ3VzZXJuYW1lJ107DQoJCQl9IGVsc2Ugew0KCQkJCSRtc2d0byA9ICRwbXNbMF1bJ21zZ2Zyb20nXTsNCgkJCX0NCgkJfQ0KDQoJCSRtc2d0byA9IGFycmF5X3VuaXF1ZShleHBsb2RlKCcsJywgJG1zZ3RvKSk7DQoJCSRpc3VzZXJuYW1lICYmICRtc2d0byA9ICRfRU5WWyd1c2VyJ10tPm5hbWUyaWQoJG1zZ3RvKTsNCgkJJGJsYWNrbHMgPSAkX0VOVlsncG0nXS0+Z2V0X2JsYWNrbHMoJHRoaXMtPnVzZXJbJ3VpZCddLCAkbXNndG8pOw0KDQoJCWlmKCRmcm9tdWlkKSB7DQoJCQlpZigkdGhpcy0+c2V0dGluZ3NbJ3Btc2VuZHJlZ2RheXMnXSkgew0KCQkJCWlmKCR1c2VyWydyZWdkYXRlJ10gPiAkdGhpcy0+dGltZSAtICR0aGlzLT5zZXR0aW5nc1sncG1zZW5kcmVnZGF5cyddICogODY0MDApIHsNCgkJCQkJcmV0dXJuIFBNU0VORFJFR0RBWVM7DQoJCQkJfQ0KCQkJfQ0KCQkJJHRoaXMtPmxvYWQoJ2ZyaWVuZCcpOw0KCQkJaWYoY291bnQoJG1zZ3RvKSA+IDEgJiYgISgkaXNfZnJpZW5kID0gJF9FTlZbJ2ZyaWVuZCddLT5pc19mcmllbmQoJGZyb211aWQsICRtc2d0bywgMykpKSB7DQoJCQkJcmV0dXJuIFBNTVNHVE9OT1RGUklFTkQ7DQoJCQl9DQoJCQkkcG1saW1pdDFkYXkgPSAkdGhpcy0+c2V0dGluZ3NbJ3BtbGltaXQxZGF5J10gJiYgJF9FTlZbJ3BtJ10tPmNvdW50X3BtX2J5X2Zyb211aWQoJHRoaXMtPnVzZXJbJ3VpZCddLCA4NjQwMCkgPiAkdGhpcy0+c2V0dGluZ3NbJ3BtbGltaXQxZGF5J107DQoJCQlpZigkcG1saW1pdDFkYXkgfHwgKCR0aGlzLT5zZXR0aW5nc1sncG1mbG9vZGN0cmwnXSAmJiAkX0VOVlsncG0nXS0+Y291bnRfcG1fYnlfZnJvbXVpZCgkdGhpcy0+dXNlclsndWlkJ10sICR0aGlzLT5zZXR0aW5nc1sncG1mbG9vZGN0cmwnXSkpKSB7DQoJCQkJaWYoISRfRU5WWydmcmllbmQnXS0+aXNfZnJpZW5kKCRmcm9tdWlkLCAkbXNndG8sIDMpKSB7DQoJCQkJCWlmKCEkX0VOVlsncG0nXS0+aXNfcmVwbHlfcG0oJGZyb211aWQsICRtc2d0bykpIHsNCgkJCQkJCWlmKCRwbWxpbWl0MWRheSkgew0KCQkJCQkJCXJldHVybiBQTUxJTUlUMURBWV9FUlJPUjsNCgkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJcmV0dXJuIFBNRkxPT0RDVFJMX0VSUk9SOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCSRsYXN0cG1pZCA9IDA7DQoJCWZvcmVhY2goJG1zZ3RvIGFzICR1aWQpIHsNCgkJCWlmKCEkZnJvbXVpZCB8fCAhaW5fYXJyYXkoJ3tBTEx9JywgJGJsYWNrbHNbJHVpZF0pKSB7DQoJCQkJJGJsYWNrbHNbJHVpZF0gPSAkX0VOVlsndXNlciddLT5uYW1lMmlkKCRibGFja2xzWyR1aWRdKTsNCgkJCQlpZighJGZyb211aWQgfHwgaXNzZXQoJGJsYWNrbHNbJHVpZF0pICYmICFpbl9hcnJheSgkdGhpcy0+dXNlclsndWlkJ10sICRibGFja2xzWyR1aWRdKSkgew0KCQkJCQkkbGFzdHBtaWQgPSAkX0VOVlsncG0nXS0+c2VuZHBtKCRzdWJqZWN0LCAkbWVzc2FnZSwgJHRoaXMtPnVzZXIsICR1aWQsICRyZXBseXBtaWQpOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQlyZXR1cm4gJGxhc3RwbWlkOw0KCX0NCg0KCWZ1bmN0aW9uIG9uZGVsZXRlKCkgew0KCQkkdGhpcy0+aW5pdF9pbnB1dCgpOw0KCQkkdGhpcy0+dXNlclsndWlkJ10gPSBpbnR2YWwoJHRoaXMtPmlucHV0KCd1aWQnKSk7DQoJCSRpZCA9ICRfRU5WWydwbSddLT5kZWxldGVwbSgkdGhpcy0+dXNlclsndWlkJ10sICR0aGlzLT5pbnB1dCgncG1pZHMnKSk7DQoJCXJldHVybiAkaWQ7DQoJfQ0KDQoJZnVuY3Rpb24gb25kZWxldGV1c2VyKCkgew0KCQkkdGhpcy0+aW5pdF9pbnB1dCgpOw0KCQkkdGhpcy0+dXNlclsndWlkJ10gPSBpbnR2YWwoJHRoaXMtPmlucHV0KCd1aWQnKSk7DQoJCSRpZCA9ICRfRU5WWydwbSddLT5kZWxldGV1aWRwbSgkdGhpcy0+dXNlclsndWlkJ10sICR0aGlzLT5pbnB1dCgndG91aWRzJykpOw0KCQlyZXR1cm4gJGlkOw0KCX0NCgkNCglmdW5jdGlvbiBvbnJlYWRzdGF0dXMoKSB7DQoJCSR0aGlzLT5pbml0X2lucHV0KCk7DQoJCSR0aGlzLT51c2VyWyd1aWQnXSA9IGludHZhbCgkdGhpcy0+aW5wdXQoJ3VpZCcpKTsNCgkJJF9FTlZbJ3BtJ10tPnNldF9wbV9zdGF0dXMoJHRoaXMtPnVzZXJbJ3VpZCddLCAkdGhpcy0+aW5wdXQoJ3VpZHMnKSwgJHRoaXMtPmlucHV0KCdwbWlkcycpLCAkdGhpcy0+aW5wdXQoJ3N0YXR1cycpKTsNCgl9DQoNCglmdW5jdGlvbiBvbmlnbm9yZSgpIHsNCgkJJHRoaXMtPmluaXRfaW5wdXQoKTsNCgkJJHRoaXMtPnVzZXJbJ3VpZCddID0gaW50dmFsKCR0aGlzLT5pbnB1dCgndWlkJykpOw0KCQlyZXR1cm4gJF9FTlZbJ3BtJ10tPnNldF9pZ25vcmUoJHRoaXMtPnVzZXJbJ3VpZCddKTsNCgl9DQoNCiAJZnVuY3Rpb24gb25scygpIHsNCiAJCSR0aGlzLT5pbml0X2lucHV0KCk7DQogCQkkcGFnZXNpemUgPSAkdGhpcy0+aW5wdXQoJ3BhZ2VzaXplJyk7DQogCQkkZm9sZGVyID0gJHRoaXMtPmlucHV0KCdmb2xkZXInKTsNCiAJCSRmaWx0ZXIgPSAkdGhpcy0+aW5wdXQoJ2ZpbHRlcicpOw0KIAkJJHBhZ2UgPSAkdGhpcy0+aW5wdXQoJ3BhZ2UnKTsNCiAJCSRmb2xkZXIgPSBpbl9hcnJheSgkZm9sZGVyLCBhcnJheSgnbmV3Ym94JywgJ2luYm94JywgJ291dGJveCcsICdzZWFyY2hib3gnKSkgPyAkZm9sZGVyIDogJ2luYm94JzsNCiAJCWlmKCRmb2xkZXIgIT0gJ3NlYXJjaGJveCcpIHsNCiAJCQkkZmlsdGVyID0gJGZpbHRlciA/IChpbl9hcnJheSgkZmlsdGVyLCBhcnJheSgnbmV3cG0nLCAncHJpdmF0ZXBtJywgJ3N5c3RlbXBtJywgJ2Fubm91bmNlcG0nKSkgPyAkZmlsdGVyIDogJycpIDogJyc7DQogCQl9DQogCQkkbXNnbGVuID0gJHRoaXMtPmlucHV0KCdtc2dsZW4nKTsNCiAJCSR0aGlzLT51c2VyWyd1aWQnXSA9IGludHZhbCgkdGhpcy0+aW5wdXQoJ3VpZCcpKTsNCgkJaWYoJGZvbGRlciAhPSAnc2VhcmNoYm94Jykgew0KIAkJCSRwbW51bSA9ICRfRU5WWydwbSddLT5nZXRfbnVtKCR0aGlzLT51c2VyWyd1aWQnXSwgJGZvbGRlciwgJGZpbHRlcik7DQogCQkJJHN0YXJ0ID0gJHRoaXMtPnBhZ2VfZ2V0X3N0YXJ0KCRwYWdlLCAkcGFnZXNpemUsICRwbW51bSk7DQogCQl9IGVsc2Ugew0KIAkJCSRwbW51bSA9ICRwYWdlc2l6ZTsNCiAJCQkkc3RhcnQgPSAoJHBhZ2UgLSAxKSAqICRwYWdlc2l6ZTsNCiAJCX0NCiAJCWlmKCRwYWdlc2l6ZSA+IDApIHsNCgkgCQkkcG1zID0gJF9FTlZbJ3BtJ10tPmdldF9wbV9saXN0KCR0aGlzLT51c2VyWyd1aWQnXSwgJHBtbnVtLCAkZm9sZGVyLCAkZmlsdGVyLCAkc3RhcnQsICRwYWdlc2l6ZSk7DQoJIAkJaWYoaXNfYXJyYXkoJHBtcykgJiYgIWVtcHR5KCRwbXMpKSB7DQoJCQkJZm9yZWFjaCgkcG1zIGFzICRrZXkgPT4gJHBtKSB7DQoJCQkJCWlmKCRtc2dsZW4pIHsNCgkJCQkJCSRwbXNbJGtleV1bJ21lc3NhZ2UnXSA9IGh0bWxzcGVjaWFsY2hhcnMoJF9FTlZbJ3BtJ10tPnJlbW92ZWNvZGUoJHBtc1ska2V5XVsnbWVzc2FnZSddLCAkbXNnbGVuKSk7DQoJCQkJCX0gZWxzZSB7DQoJCQkJCQl1bnNldCgkcG1zWyRrZXldWydtZXNzYWdlJ10pOw0KCQkJCQl9DQoJCQkJCXVuc2V0KCRwbXNbJGtleV1bJ2ZvbGRlciddKTsNCgkJCQl9DQoJCQl9DQoJCQkkcmVzdWx0WydkYXRhJ10gPSAkcG1zOw0KCQl9DQoJCSRyZXN1bHRbJ2NvdW50J10gPSAkcG1udW07DQogCQlyZXR1cm4gJHJlc3VsdDsNCiAJfQ0KDQogCWZ1bmN0aW9uIG9udmlld25vZGUoKSB7DQogIAkJJHRoaXMtPmluaXRfaW5wdXQoKTsNCiAgCQkkdGhpcy0+dXNlclsndWlkJ10gPSBpbnR2YWwoJHRoaXMtPmlucHV0KCd1aWQnKSk7DQogCQkkcG1pZCA9ICRfRU5WWydwbSddLT5wbWludHZhbCgkdGhpcy0+aW5wdXQoJ3BtaWQnKSk7DQogCQkkdHlwZSA9ICR0aGlzLT5pbnB1dCgndHlwZScpOw0KIAkJJHBtID0gJF9FTlZbJ3BtJ10tPmdldF9wbW5vZGVfYnlfcG1pZCgkdGhpcy0+dXNlclsndWlkJ10sICRwbWlkLCAkdHlwZSk7DQogCQlpZigkcG0pIHsNCgkJCXJlcXVpcmVfb25jZSBVQ19ST09ULidsaWIvdWNjb2RlLmNsYXNzLnBocCc7DQoJCQkkdGhpcy0+dWNjb2RlID0gbmV3IHVjY29kZSgpOw0KCQkJJHBtWydtZXNzYWdlJ10gPSAkdGhpcy0+dWNjb2RlLT5jb21wbGllKCRwbVsnbWVzc2FnZSddKTsNCgkJCXJldHVybiAkcG07DQoJCX0NCiAJfQ0KDQogCWZ1bmN0aW9uIG9udmlldygpIHsNCiAJCSR0aGlzLT5pbml0X2lucHV0KCk7DQogCQkkdGhpcy0+dXNlclsndWlkJ10gPSBpbnR2YWwoJHRoaXMtPmlucHV0KCd1aWQnKSk7DQoJCSR0b3VpZCA9ICR0aGlzLT5pbnB1dCgndG91aWQnKTsNCgkJJHBtaWQgPSAkX0VOVlsncG0nXS0+cG1pbnR2YWwoJHRoaXMtPmlucHV0KCdwbWlkJykpOw0KCQkkZGF0ZXJhbmdlID0gJHRoaXMtPmlucHV0KCdkYXRlcmFuZ2UnKTsNCiAJCWlmKGVtcHR5KCRwbWlkKSkgew0KCSAJCSRkYXRlcmFuZ2UgPSBlbXB0eSgkZGF0ZXJhbmdlKSA/IDEgOiAkZGF0ZXJhbmdlOw0KCSAJCSR0b2RheSA9ICR0aGlzLT50aW1lIC0gKCR0aGlzLT50aW1lICsgJHRoaXMtPnNldHRpbmdzWyd0aW1lb2Zmc2V0J10pICUgODY0MDA7DQoJIAkJaWYoJGRhdGVyYW5nZSA9PSAxKSB7DQoJIAkJCSRzdGFydHRpbWUgPSAkdG9kYXk7DQoJIAkJfSBlbHNlaWYoJGRhdGVyYW5nZSA9PSAyKSB7DQoJIAkJCSRzdGFydHRpbWUgPSAkdG9kYXkgLSA4NjQwMDsNCgkgCQl9IGVsc2VpZigkZGF0ZXJhbmdlID09IDMpIHsNCgkgCQkJJHN0YXJ0dGltZSA9ICR0b2RheSAtIDE3MjgwMDsNCgkgCQl9IGVsc2VpZigkZGF0ZXJhbmdlID09IDQpIHsNCgkgCQkJJHN0YXJ0dGltZSA9ICR0b2RheSAtIDYwNDgwMDsNCgkgCQl9IGVsc2VpZigkZGF0ZXJhbmdlID09IDUpIHsNCgkgCQkJJHN0YXJ0dGltZSA9IDA7DQoJIAkJfQ0KCSAJCSRlbmR0aW1lID0gJHRoaXMtPnRpbWU7DQoJIAkJJHBtcyA9ICRfRU5WWydwbSddLT5nZXRfcG1fYnlfdG91aWQoJHRoaXMtPnVzZXJbJ3VpZCddLCAkdG91aWQsICRzdGFydHRpbWUsICRlbmR0aW1lKTsNCgkgCX0gZWxzZSB7DQoJIAkJJHBtcyA9ICRfRU5WWydwbSddLT5nZXRfcG1fYnlfcG1pZCgkdGhpcy0+dXNlclsndWlkJ10sICRwbWlkKTsNCgkgCX0NCg0KIAkgCXJlcXVpcmVfb25jZSBVQ19ST09ULidsaWIvdWNjb2RlLmNsYXNzLnBocCc7DQoJCSR0aGlzLT51Y2NvZGUgPSBuZXcgdWNjb2RlKCk7DQoJCSRzdGF0dXMgPSBGQUxTRTsNCgkJZm9yZWFjaCgkcG1zIGFzICRrZXkgPT4gJHBtKSB7DQoJCQkkcG1zWyRrZXldWydtZXNzYWdlJ10gPSAkdGhpcy0+dWNjb2RlLT5jb21wbGllKCRwbXNbJGtleV1bJ21lc3NhZ2UnXSk7DQoJCQkhJHN0YXR1cyAmJiAkc3RhdHVzID0gJHBtWydtc2d0b2lkJ10gJiYgJHBtWyduZXcnXTsNCgkJfQ0KCQkkc3RhdHVzICYmICRfRU5WWydwbSddLT5zZXRfcG1fc3RhdHVzKCR0aGlzLT51c2VyWyd1aWQnXSwgJHRvdWlkLCAkcG1pZCk7DQoJCXJldHVybiAkcG1zOw0KIAl9DQoNCiAgCWZ1bmN0aW9uIG9uYmxhY2tsc19nZXQoKSB7DQogIAkJJHRoaXMtPmluaXRfaW5wdXQoKTsNCiAJCSR0aGlzLT51c2VyWyd1aWQnXSA9IGludHZhbCgkdGhpcy0+aW5wdXQoJ3VpZCcpKTsNCiAJCXJldHVybiAkX0VOVlsncG0nXS0+Z2V0X2JsYWNrbHMoJHRoaXMtPnVzZXJbJ3VpZCddKTsNCiAJfQ0KDQogCWZ1bmN0aW9uIG9uYmxhY2tsc19zZXQoKSB7DQogCQkkdGhpcy0+aW5pdF9pbnB1dCgpOw0KIAkJJHRoaXMtPnVzZXJbJ3VpZCddID0gaW50dmFsKCR0aGlzLT5pbnB1dCgndWlkJykpOw0KIAkJJGJsYWNrbHMgPSAkdGhpcy0+aW5wdXQoJ2JsYWNrbHMnKTsNCiAJCXJldHVybiAkX0VOVlsncG0nXS0+c2V0X2JsYWNrbHMoJHRoaXMtPnVzZXJbJ3VpZCddLCAkYmxhY2tscyk7DQogCX0NCg0KCWZ1bmN0aW9uIG9uYmxhY2tsc19hZGQoKSB7DQoJCSR0aGlzLT5pbml0X2lucHV0KCk7DQogCQkkdGhpcy0+dXNlclsndWlkJ10gPSBpbnR2YWwoJHRoaXMtPmlucHV0KCd1aWQnKSk7DQogCQkkdXNlcm5hbWUgPSAkdGhpcy0+aW5wdXQoJ3VzZXJuYW1lJyk7DQogCQlyZXR1cm4gJF9FTlZbJ3BtJ10tPnVwZGF0ZV9ibGFja2xzKCR0aGlzLT51c2VyWyd1aWQnXSwgJHVzZXJuYW1lLCAxKTsNCiAJfQ0KDQogCWZ1bmN0aW9uIG9uYmxhY2tsc19kZWxldGUoJGFycikgew0KCQkkdGhpcy0+aW5pdF9pbnB1dCgpOw0KIAkJJHRoaXMtPnVzZXJbJ3VpZCddID0gaW50dmFsKCR0aGlzLT5pbnB1dCgndWlkJykpOw0KIAkJJHVzZXJuYW1lID0gJHRoaXMtPmlucHV0KCd1c2VybmFtZScpOw0KIAkJcmV0dXJuICRfRU5WWydwbSddLT51cGRhdGVfYmxhY2tscygkdGhpcy0+dXNlclsndWlkJ10sICR1c2VybmFtZSwgMik7DQogCX0NCg0KfQ0KDQo/Pg==
</file>
<file type='file' name='../uc_client/control/tag.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogdGFnLnBocCx2IDEuMSAyMDA5LzA4LzExIDAzOjIxOjIyIGJsdCBFeHAgJA0KKi8NCg0KIWRlZmluZWQoJ0lOX1VDJykgJiYgZXhpdCgnQWNjZXNzIERlbmllZCcpOw0KDQpjbGFzcyB0YWdjb250cm9sIGV4dGVuZHMgYmFzZSB7DQoNCglmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHsNCgkJJHRoaXMtPnRhZ2NvbnRyb2woKTsNCgl9DQoNCglmdW5jdGlvbiB0YWdjb250cm9sKCkgew0KCQlwYXJlbnQ6Ol9fY29uc3RydWN0KCk7DQoJCSR0aGlzLT5pbml0X2lucHV0KCk7DQoJCSR0aGlzLT5sb2FkKCd0YWcnKTsNCgkJJHRoaXMtPmxvYWQoJ21pc2MnKTsNCgl9DQoNCglmdW5jdGlvbiBvbmdldHRhZygpIHsNCgkJJGFwcGlkID0gJHRoaXMtPmlucHV0KCdhcHBpZCcpOw0KCQkkdGFnbmFtZSA9ICR0aGlzLT5pbnB1dCgndGFnbmFtZScpOw0KCQkkbnVtcyA9ICR0aGlzLT5pbnB1dCgnbnVtcycpOw0KCQlpZihlbXB0eSgkdGFnbmFtZSkpIHsNCgkJCXJldHVybiBOVUxMOw0KCQl9DQoJCSRyZXR1cm4gPSAkYXBwYXJyYXkgPSAkYXBwYWRkID0gYXJyYXkoKTsNCg0KCQlpZigkbnVtcyAmJiBpc19hcnJheSgkbnVtcykpIHsNCgkJCWZvcmVhY2goJG51bXMgYXMgJGsgPT4gJG51bSkgew0KCQkJCSRhcHBhcnJheVska10gPSAkazsNCgkJCX0NCgkJfQ0KDQoJCSRkYXRhID0gJF9FTlZbJ3RhZyddLT5nZXRfdGFnX2J5X25hbWUoJHRhZ25hbWUpOw0KCQlpZigkZGF0YSkgew0KCQkJJGFwcGFycmF5bmV3ID0gYXJyYXkoKTsNCgkJCWZvcmVhY2goJGRhdGEgYXMgJHRhZ2RhdGEpIHsNCgkJCQkkcm93ID0gJHIgPSBhcnJheSgpOw0KCQkJCSR0bXAgPSBleHBsb2RlKCJcdCIsICR0YWdkYXRhWydkYXRhJ10pOw0KCQkJCSR0eXBlID0gJHRtcFswXTsNCgkJCQlhcnJheV9zaGlmdCgkdG1wKTsNCgkJCQlmb3JlYWNoKCR0bXAgYXMgJHRtcDEpIHsNCgkJCQkJJHRtcDEgIT0gJycgJiYgJHJbXSA9ICRfRU5WWydtaXNjJ10tPnN0cmluZzJhcnJheSgkdG1wMSk7DQoJCQkJfQ0KCQkJCWlmKGluX2FycmF5KCR0YWdkYXRhWydhcHBpZCddLCAkYXBwYXJyYXkpKSB7DQoJCQkJCWlmKCR0YWdkYXRhWydleHBpcmF0aW9uJ10gPiAwICYmICR0aGlzLT50aW1lIC0gJHRhZ2RhdGFbJ2V4cGlyYXRpb24nXSA+IDM2MDApIHsNCgkJCQkJCSRhcHBhZGRbXSA9ICR0YWdkYXRhWydhcHBpZCddOw0KCQkJCQkJJF9FTlZbJ3RhZyddLT5mb3JtYXRjYWNoZSgkdGFnZGF0YVsnYXBwaWQnXSwgJHRhZ25hbWUpOw0KCQkJCQl9IGVsc2Ugew0KCQkJCQkJJGFwcGFycmF5bmV3W10gPSAkdGFnZGF0YVsnYXBwaWQnXTsNCgkJCQkJfQ0KCQkJCQkkZGF0YWtleSA9IGFycmF5KCk7DQoJCQkJCSRjb3VudCA9IDA7DQoJCQkJCWZvcmVhY2goJHIgYXMgJGRhdGEpIHsNCgkJCQkJCSRyZXR1cm5bJHRhZ2RhdGFbJ2FwcGlkJ11dWydkYXRhJ11bXSA9ICRkYXRhOw0KCQkJCQkJJHJldHVyblskdGFnZGF0YVsnYXBwaWQnXV1bJ3R5cGUnXSA9ICR0eXBlOw0KCQkJCQkJJGNvdW50Kys7DQoJCQkJCQlpZigkY291bnQgPj0gJG51bXNbJHRhZ2RhdGFbJ2FwcGlkJ11dKSB7DQoJCQkJCQkJYnJlYWs7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoJCQkkYXBwYXJyYXkgPSBhcnJheV9kaWZmKCRhcHBhcnJheSwgJGFwcGFycmF5bmV3KTsNCgkJfSBlbHNlIHsNCgkJCWZvcmVhY2goJGFwcGFycmF5IGFzICRhcHBpZCkgew0KCQkJCSRfRU5WWyd0YWcnXS0+Zm9ybWF0Y2FjaGUoJGFwcGlkLCAkdGFnbmFtZSk7DQoJCQl9DQoJCX0NCgkJaWYoJGFwcGFycmF5KSB7DQoJCQkkdGhpcy0+bG9hZCgnbm90ZScpOw0KCQkJJF9FTlZbJ25vdGUnXS0+YWRkKCdnZXR0YWcnLCAiaWQ9JHRhZ25hbWUiLCAnJywgJGFwcGFkZCwgLTEpOw0KCQl9DQoJCXJldHVybiAkcmV0dXJuOw0KCX0NCg0KfQ0KDQo/Pg==
</file>
<file type='file' name='../uc_client/control/user.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogdXNlci5waHAsdiAxLjEgMjAwOS8wOC8xMSAwMzoyMToyMiBibHQgRXhwICQNCiovDQoNCiFkZWZpbmVkKCdJTl9VQycpICYmIGV4aXQoJ0FjY2VzcyBEZW5pZWQnKTsNCg0KZGVmaW5lKCdVQ19VU0VSX0NIRUNLX1VTRVJOQU1FX0ZBSUxFRCcsIC0xKTsNCmRlZmluZSgnVUNfVVNFUl9VU0VSTkFNRV9CQURXT1JEJywgLTIpOw0KZGVmaW5lKCdVQ19VU0VSX1VTRVJOQU1FX0VYSVNUUycsIC0zKTsNCmRlZmluZSgnVUNfVVNFUl9FTUFJTF9GT1JNQVRfSUxMRUdBTCcsIC00KTsNCmRlZmluZSgnVUNfVVNFUl9FTUFJTF9BQ0NFU1NfSUxMRUdBTCcsIC01KTsNCmRlZmluZSgnVUNfVVNFUl9FTUFJTF9FWElTVFMnLCAtNik7DQoNCmNsYXNzIHVzZXJjb250cm9sIGV4dGVuZHMgYmFzZSB7DQoNCg0KCWZ1bmN0aW9uIF9fY29uc3RydWN0KCkgew0KCQkkdGhpcy0+dXNlcmNvbnRyb2woKTsNCgl9DQoNCglmdW5jdGlvbiB1c2VyY29udHJvbCgpIHsNCgkJcGFyZW50OjpfX2NvbnN0cnVjdCgpOw0KCQkkdGhpcy0+bG9hZCgndXNlcicpOw0KCQkkdGhpcy0+YXBwID0gJHRoaXMtPmNhY2hlWydhcHBzJ11bVUNfQVBQSURdOw0KCX0NCg0KCS8vIC0xIM60v6rG9A0KCWZ1bmN0aW9uIG9uc3lubG9naW4oKSB7DQoJCSR0aGlzLT5pbml0X2lucHV0KCk7DQoJCSR1aWQgPSAkdGhpcy0+aW5wdXQoJ3VpZCcpOw0KCQlpZigkdGhpcy0+YXBwWydzeW5sb2dpbiddKSB7DQoJCQlpZigkdGhpcy0+dXNlciA9ICRfRU5WWyd1c2VyJ10tPmdldF91c2VyX2J5X3VpZCgkdWlkKSkgew0KCQkJCSRzeW5zdHIgPSAnJzsNCgkJCQlmb3JlYWNoKCR0aGlzLT5jYWNoZVsnYXBwcyddIGFzICRhcHBpZCA9PiAkYXBwKSB7DQoJCQkJCWlmKCRhcHBbJ3N5bmxvZ2luJ10gJiYgJGFwcFsnYXBwaWQnXSAhPSAkdGhpcy0+YXBwWydhcHBpZCddKSB7DQoJCQkJCQkkc3luc3RyIC49ICc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSInLiRhcHBbJ3VybCddLicvYXBpL3VjLnBocD90aW1lPScuJHRoaXMtPnRpbWUuJyZjb2RlPScudXJsZW5jb2RlKCR0aGlzLT5hdXRoY29kZSgnYWN0aW9uPXN5bmxvZ2luJnVzZXJuYW1lPScuJHRoaXMtPnVzZXJbJ3VzZXJuYW1lJ10uJyZ1aWQ9Jy4kdGhpcy0+dXNlclsndWlkJ10uJyZwYXNzd29yZD0nLiR0aGlzLT51c2VyWydwYXNzd29yZCddLiImdGltZT0iLiR0aGlzLT50aW1lLCAnRU5DT0RFJywgJGFwcFsnYXV0aGtleSddKSkuJyI+PC9zY3JpcHQ+JzsNCgkJCQkJfQ0KCQkJCX0NCgkJCQlyZXR1cm4gJHN5bnN0cjsNCgkJCX0NCgkJfQ0KCQlyZXR1cm4gJyc7DQoJfQ0KDQoJZnVuY3Rpb24gb25zeW5sb2dvdXQoKSB7DQoJCSR0aGlzLT5pbml0X2lucHV0KCk7DQoJCWlmKCR0aGlzLT5hcHBbJ3N5bmxvZ2luJ10pIHsNCgkJCSRzeW5zdHIgPSAnJzsNCgkJCWZvcmVhY2goJHRoaXMtPmNhY2hlWydhcHBzJ10gYXMgJGFwcGlkID0+ICRhcHApIHsNCgkJCQlpZigkYXBwWydzeW5sb2dpbiddICYmICRhcHBbJ2FwcGlkJ10gIT0gJHRoaXMtPmFwcFsnYXBwaWQnXSkgew0KCQkJCQkkc3luc3RyIC49ICc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSInLiRhcHBbJ3VybCddLicvYXBpL3VjLnBocD90aW1lPScuJHRoaXMtPnRpbWUuJyZjb2RlPScudXJsZW5jb2RlKCR0aGlzLT5hdXRoY29kZSgnYWN0aW9uPXN5bmxvZ291dCZ0aW1lPScuJHRoaXMtPnRpbWUsICdFTkNPREUnLCAkYXBwWydhdXRoa2V5J10pKS4nIj48L3NjcmlwdD4nOw0KCQkJCX0NCgkJCX0NCgkJCXJldHVybiAkc3luc3RyOw0KCQl9DQoJCXJldHVybiAnJzsNCgl9DQoNCglmdW5jdGlvbiBvbnJlZ2lzdGVyKCkgew0KCQkkdGhpcy0+aW5pdF9pbnB1dCgpOw0KCQkkdXNlcm5hbWUgPSAkdGhpcy0+aW5wdXQoJ3VzZXJuYW1lJyk7DQoJCSRwYXNzd29yZCA9ICAkdGhpcy0+aW5wdXQoJ3Bhc3N3b3JkJyk7DQoJCSRlbWFpbCA9ICR0aGlzLT5pbnB1dCgnZW1haWwnKTsNCgkJJHF1ZXN0aW9uaWQgPSAkdGhpcy0+aW5wdXQoJ3F1ZXN0aW9uaWQnKTsNCgkJJGFuc3dlciA9ICR0aGlzLT5pbnB1dCgnYW5zd2VyJyk7DQoNCgkJaWYoKCRzdGF0dXMgPSAkdGhpcy0+X2NoZWNrX3VzZXJuYW1lKCR1c2VybmFtZSkpIDwgMCkgew0KCQkJcmV0dXJuICRzdGF0dXM7DQoJCX0NCgkJaWYoKCRzdGF0dXMgPSAkdGhpcy0+X2NoZWNrX2VtYWlsKCRlbWFpbCkpIDwgMCkgew0KCQkJcmV0dXJuICRzdGF0dXM7DQoJCX0NCgkJJHVpZCA9ICRfRU5WWyd1c2VyJ10tPmFkZF91c2VyKCR1c2VybmFtZSwgJHBhc3N3b3JkLCAkZW1haWwsIDAsICRxdWVzdGlvbmlkLCAkYW5zd2VyKTsNCgkJcmV0dXJuICR1aWQ7DQoJfQ0KDQoJZnVuY3Rpb24gb25lZGl0KCkgew0KCQkkdGhpcy0+aW5pdF9pbnB1dCgpOw0KCQkkdXNlcm5hbWUgPSAkdGhpcy0+aW5wdXQoJ3VzZXJuYW1lJyk7DQoJCSRvbGRwdyA9ICR0aGlzLT5pbnB1dCgnb2xkcHcnKTsNCgkJJG5ld3B3ID0gJHRoaXMtPmlucHV0KCduZXdwdycpOw0KCQkkZW1haWwgPSAkdGhpcy0+aW5wdXQoJ2VtYWlsJyk7DQoJCSRpZ25vcmVvbGRwdyA9ICR0aGlzLT5pbnB1dCgnaWdub3Jlb2xkcHcnKTsNCgkJJHF1ZXN0aW9uaWQgPSAkdGhpcy0+aW5wdXQoJ3F1ZXN0aW9uaWQnKTsNCgkJJGFuc3dlciA9ICR0aGlzLT5pbnB1dCgnYW5zd2VyJyk7DQoNCgkJaWYoISRpZ25vcmVvbGRwdyAmJiAkZW1haWwgJiYgKCRzdGF0dXMgPSAkdGhpcy0+X2NoZWNrX2VtYWlsKCRlbWFpbCwgJHVzZXJuYW1lKSkgPCAwKSB7DQoJCQlyZXR1cm4gJHN0YXR1czsNCgkJfQ0KCQkkc3RhdHVzID0gJF9FTlZbJ3VzZXInXS0+ZWRpdF91c2VyKCR1c2VybmFtZSwgJG9sZHB3LCAkbmV3cHcsICRlbWFpbCwgJGlnbm9yZW9sZHB3LCAkcXVlc3Rpb25pZCwgJGFuc3dlcik7DQoNCgkJaWYoJG5ld3B3ICYmICRzdGF0dXMgPiAwKSB7DQoJCQkkdGhpcy0+bG9hZCgnbm90ZScpOw0KCQkJJF9FTlZbJ25vdGUnXS0+YWRkKCd1cGRhdGVwdycsICd1c2VybmFtZT0nLnVybGVuY29kZSgkdXNlcm5hbWUpLicmcGFzc3dvcmQ9Jyk7DQoJCQkkX0VOVlsnbm90ZSddLT5zZW5kKCk7DQoJCX0NCgkJcmV0dXJuICRzdGF0dXM7DQoJfQ0KDQoJZnVuY3Rpb24gb25sb2dpbigpIHsNCgkJJHRoaXMtPmluaXRfaW5wdXQoKTsNCgkJJGlzdWlkID0gJHRoaXMtPmlucHV0KCdpc3VpZCcpOw0KCQkkdXNlcm5hbWUgPSAkdGhpcy0+aW5wdXQoJ3VzZXJuYW1lJyk7DQoJCSRwYXNzd29yZCA9ICR0aGlzLT5pbnB1dCgncGFzc3dvcmQnKTsNCgkJJGNoZWNrcXVlcyA9ICR0aGlzLT5pbnB1dCgnY2hlY2txdWVzJyk7DQoJCSRxdWVzdGlvbmlkID0gJHRoaXMtPmlucHV0KCdxdWVzdGlvbmlkJyk7DQoJCSRhbnN3ZXIgPSAkdGhpcy0+aW5wdXQoJ2Fuc3dlcicpOw0KCQlpZigkaXN1aWQpIHsNCgkJCSR1c2VyID0gJF9FTlZbJ3VzZXInXS0+Z2V0X3VzZXJfYnlfdWlkKCR1c2VybmFtZSk7DQoJCX0gZWxzZSB7DQoJCQkkdXNlciA9ICRfRU5WWyd1c2VyJ10tPmdldF91c2VyX2J5X3VzZXJuYW1lKCR1c2VybmFtZSk7DQoJCX0NCg0KCQkkcGFzc3dvcmRtZDUgPSBwcmVnX21hdGNoKCcvXlx3ezMyfSQvJywgJHBhc3N3b3JkKSA/ICRwYXNzd29yZCA6IG1kNSgkcGFzc3dvcmQpOw0KCQlpZihlbXB0eSgkdXNlcikpIHsNCgkJCSRzdGF0dXMgPSAtMTsNCgkJfSBlbHNlaWYoJHVzZXJbJ3Bhc3N3b3JkJ10gIT0gbWQ1KCRwYXNzd29yZG1kNS4kdXNlclsnc2FsdCddKSkgew0KCQkJJHN0YXR1cyA9IC0yOw0KCQl9IGVsc2VpZigkY2hlY2txdWVzICYmICR1c2VyWydzZWNxdWVzJ10gIT0gJycgJiYgJHVzZXJbJ3NlY3F1ZXMnXSAhPSAkX0VOVlsndXNlciddLT5xdWVzY3J5cHQoJHF1ZXN0aW9uaWQsICRhbnN3ZXIpKSB7DQoJCQkkc3RhdHVzID0gLTM7DQoJCX0gZWxzZSB7DQoJCQkkc3RhdHVzID0gJHVzZXJbJ3VpZCddOw0KCQl9DQoJCSRtZXJnZSA9ICRzdGF0dXMgIT0gLTEgJiYgISRpc3VpZCAmJiAkX0VOVlsndXNlciddLT5jaGVja19tZXJnZXVzZXIoJHVzZXJuYW1lKSA/IDEgOiAwOw0KCQlyZXR1cm4gYXJyYXkoJHN0YXR1cywgJHVzZXJbJ3VzZXJuYW1lJ10sICRwYXNzd29yZCwgJHVzZXJbJ2VtYWlsJ10sICRtZXJnZSk7DQoJfQ0KDQoJZnVuY3Rpb24gb25jaGVja19lbWFpbCgpIHsNCgkJJHRoaXMtPmluaXRfaW5wdXQoKTsNCgkJJGVtYWlsID0gJHRoaXMtPmlucHV0KCdlbWFpbCcpOw0KCQlyZXR1cm4gJHRoaXMtPl9jaGVja19lbWFpbCgkZW1haWwpOw0KCX0NCg0KCWZ1bmN0aW9uIG9uY2hlY2tfdXNlcm5hbWUoKSB7DQoJCSR0aGlzLT5pbml0X2lucHV0KCk7DQoJCSR1c2VybmFtZSA9ICR0aGlzLT5pbnB1dCgndXNlcm5hbWUnKTsNCgkJaWYoKCRzdGF0dXMgPSAkdGhpcy0+X2NoZWNrX3VzZXJuYW1lKCR1c2VybmFtZSkpIDwgMCkgew0KCQkJcmV0dXJuICRzdGF0dXM7DQoJCX0gZWxzZSB7DQoJCQlyZXR1cm4gMTsNCgkJfQ0KCX0NCg0KCWZ1bmN0aW9uIG9uZ2V0X3VzZXIoKSB7DQoJCSR0aGlzLT5pbml0X2lucHV0KCk7DQoJCSR1c2VybmFtZSA9ICR0aGlzLT5pbnB1dCgndXNlcm5hbWUnKTsNCgkJaWYoISR0aGlzLT5pbnB1dCgnaXN1aWQnKSkgew0KCQkJJHN0YXR1cyA9ICRfRU5WWyd1c2VyJ10tPmdldF91c2VyX2J5X3VzZXJuYW1lKCR1c2VybmFtZSk7DQoJCX0gZWxzZSB7DQoJCQkkc3RhdHVzID0gJF9FTlZbJ3VzZXInXS0+Z2V0X3VzZXJfYnlfdWlkKCR1c2VybmFtZSk7DQoJCX0NCgkJaWYoJHN0YXR1cykgew0KCQkJcmV0dXJuIGFycmF5KCRzdGF0dXNbJ3VpZCddLCRzdGF0dXNbJ3VzZXJuYW1lJ10sJHN0YXR1c1snZW1haWwnXSk7DQoJCX0gZWxzZSB7DQoJCQlyZXR1cm4gMDsNCgkJfQ0KCX0NCg0KDQoJZnVuY3Rpb24gb25nZXRwcm90ZWN0ZWQoKSB7DQoJCSRwcm90ZWN0ZWRtZW1iZXJzID0gJHRoaXMtPmRiLT5mZXRjaF9hbGwoIlNFTEVDVCB1aWQsdXNlcm5hbWUgRlJPTSAiLlVDX0RCVEFCTEVQUkUuInByb3RlY3RlZG1lbWJlcnMgR1JPVVAgQlkgdXNlcm5hbWUiKTsNCgkJcmV0dXJuICRwcm90ZWN0ZWRtZW1iZXJzOw0KCX0NCg0KCWZ1bmN0aW9uIG9uZGVsZXRlKCkgew0KCQkkdGhpcy0+aW5pdF9pbnB1dCgpOw0KCQkkdWlkID0gJHRoaXMtPmlucHV0KCd1aWQnKTsNCgkJcmV0dXJuICRfRU5WWyd1c2VyJ10tPmRlbGV0ZV91c2VyKCR1aWQpOw0KCX0NCg0KCWZ1bmN0aW9uIG9uYWRkcHJvdGVjdGVkKCkgew0KCQkkdGhpcy0+aW5pdF9pbnB1dCgpOw0KCQkkdXNlcm5hbWUgPSAkdGhpcy0+aW5wdXQoJ3VzZXJuYW1lJyk7DQoJCSRhZG1pbiA9ICR0aGlzLT5pbnB1dCgnYWRtaW4nKTsNCgkJJGFwcGlkID0gJHRoaXMtPmFwcFsnYXBwaWQnXTsNCgkJJHVzZXJuYW1lcyA9IChhcnJheSkkdXNlcm5hbWU7DQoJCWZvcmVhY2goJHVzZXJuYW1lcyBhcyAkdXNlcm5hbWUpIHsNCgkJCSR1c2VyID0gJF9FTlZbJ3VzZXInXS0+Z2V0X3VzZXJfYnlfdXNlcm5hbWUoJHVzZXJuYW1lKTsNCgkJCSR1aWQgPSAkdXNlclsndWlkJ107DQoJCQkkdGhpcy0+ZGItPnF1ZXJ5KCJSRVBMQUNFIElOVE8gIi5VQ19EQlRBQkxFUFJFLiJwcm90ZWN0ZWRtZW1iZXJzIFNFVCB1aWQ9JyR1aWQnLCB1c2VybmFtZT0nJHVzZXJuYW1lJywgYXBwaWQ9JyRhcHBpZCcsIGRhdGVsaW5lPSd7JHRoaXMtPnRpbWV9JywgYWRtaW49JyRhZG1pbiciLCAnU0lMRU5UJyk7DQoJCX0NCgkJcmV0dXJuICR0aGlzLT5kYi0+ZXJybm8oKSA/IC0xIDogMTsNCgl9DQoNCglmdW5jdGlvbiBvbmRlbGV0ZXByb3RlY3RlZCgpIHsNCgkJJHRoaXMtPmluaXRfaW5wdXQoKTsNCgkJJHVzZXJuYW1lID0gJHRoaXMtPmlucHV0KCd1c2VybmFtZScpOw0KCQkkYXBwaWQgPSAkdGhpcy0+YXBwWydhcHBpZCddOw0KCQkkdXNlcm5hbWVzID0gKGFycmF5KSR1c2VybmFtZTsNCgkJZm9yZWFjaCgkdXNlcm5hbWVzIGFzICR1c2VybmFtZSkgew0KCQkJJHRoaXMtPmRiLT5xdWVyeSgiREVMRVRFIEZST00gIi5VQ19EQlRBQkxFUFJFLiJwcm90ZWN0ZWRtZW1iZXJzIFdIRVJFIHVzZXJuYW1lPSckdXNlcm5hbWUnIEFORCBhcHBpZD0nJGFwcGlkJyIpOw0KCQl9DQoJCXJldHVybiAkdGhpcy0+ZGItPmVycm5vKCkgPyAtMSA6IDE7DQoJfQ0KDQoJZnVuY3Rpb24gb25tZXJnZSgpIHsNCgkJJHRoaXMtPmluaXRfaW5wdXQoKTsNCgkJJG9sZHVzZXJuYW1lID0gJHRoaXMtPmlucHV0KCdvbGR1c2VybmFtZScpOw0KCQkkbmV3dXNlcm5hbWUgPSAkdGhpcy0+aW5wdXQoJ25ld3VzZXJuYW1lJyk7DQoJCSR1aWQgPSAkdGhpcy0+aW5wdXQoJ3VpZCcpOw0KCQkkcGFzc3dvcmQgPSAkdGhpcy0+aW5wdXQoJ3Bhc3N3b3JkJyk7DQoJCSRlbWFpbCA9ICR0aGlzLT5pbnB1dCgnZW1haWwnKTsNCgkJaWYoKCRzdGF0dXMgPSAkdGhpcy0+X2NoZWNrX3VzZXJuYW1lKCRuZXd1c2VybmFtZSkpIDwgMCkgew0KCQkJcmV0dXJuICRzdGF0dXM7DQoJCX0NCgkJJHVpZCA9ICRfRU5WWyd1c2VyJ10tPmFkZF91c2VyKCRuZXd1c2VybmFtZSwgJHBhc3N3b3JkLCAkZW1haWwsICR1aWQpOw0KCQkkdGhpcy0+ZGItPnF1ZXJ5KCJVUERBVEUgIi5VQ19EQlRBQkxFUFJFLiJwbXMgU0VUIG1zZ2Zyb209JyRuZXd1c2VybmFtZScgV0hFUkUgbXNnZnJvbWlkPSckdWlkJyBBTkQgbXNnZnJvbT0nJG9sZHVzZXJuYW1lJyIpOw0KCQkkdGhpcy0+ZGItPnF1ZXJ5KCJERUxFVEUgRlJPTSAiLlVDX0RCVEFCTEVQUkUuIm1lcmdlbWVtYmVycyBXSEVSRSBhcHBpZD0nIi4kdGhpcy0+YXBwWydhcHBpZCddLiInIEFORCB1c2VybmFtZT0nJG9sZHVzZXJuYW1lJyIpOw0KCQlyZXR1cm4gJHVpZDsNCgl9DQoNCglmdW5jdGlvbiBvbm1lcmdlX3JlbW92ZSgpIHsNCgkJJHRoaXMtPmluaXRfaW5wdXQoKTsNCgkJJHVzZXJuYW1lID0gJHRoaXMtPmlucHV0KCd1c2VybmFtZScpOw0KCQkkdGhpcy0+ZGItPnF1ZXJ5KCJERUxFVEUgRlJPTSAiLlVDX0RCVEFCTEVQUkUuIm1lcmdlbWVtYmVycyBXSEVSRSBhcHBpZD0nIi4kdGhpcy0+YXBwWydhcHBpZCddLiInIEFORCB1c2VybmFtZT0nJHVzZXJuYW1lJyIpOw0KCQlyZXR1cm4gTlVMTDsNCgl9DQoNCglmdW5jdGlvbiBfY2hlY2tfdXNlcm5hbWUoJHVzZXJuYW1lKSB7DQoJCSR1c2VybmFtZSA9IGFkZHNsYXNoZXModHJpbShzdHJpcHNsYXNoZXMoJHVzZXJuYW1lKSkpOw0KCQlpZighJF9FTlZbJ3VzZXInXS0+Y2hlY2tfdXNlcm5hbWUoJHVzZXJuYW1lKSkgew0KCQkJcmV0dXJuIFVDX1VTRVJfQ0hFQ0tfVVNFUk5BTUVfRkFJTEVEOw0KCQl9IGVsc2VpZighJF9FTlZbJ3VzZXInXS0+Y2hlY2tfdXNlcm5hbWVjZW5zb3IoJHVzZXJuYW1lKSkgew0KCQkJcmV0dXJuIFVDX1VTRVJfVVNFUk5BTUVfQkFEV09SRDsNCgkJfSBlbHNlaWYoJF9FTlZbJ3VzZXInXS0+Y2hlY2tfdXNlcm5hbWVleGlzdHMoJHVzZXJuYW1lKSkgew0KCQkJcmV0dXJuIFVDX1VTRVJfVVNFUk5BTUVfRVhJU1RTOw0KCQl9DQoJCXJldHVybiAxOw0KCX0NCg0KCWZ1bmN0aW9uIF9jaGVja19lbWFpbCgkZW1haWwsICR1c2VybmFtZSA9ICcnKSB7DQoJCWlmKGVtcHR5KCR0aGlzLT5zZXR0aW5ncykpIHsNCgkJCSR0aGlzLT5zZXR0aW5ncyA9ICR0aGlzLT5jYWNoZSgnc2V0dGluZ3MnKTsNCgkJfQ0KCQlpZighJF9FTlZbJ3VzZXInXS0+Y2hlY2tfZW1haWxmb3JtYXQoJGVtYWlsKSkgew0KCQkJcmV0dXJuIFVDX1VTRVJfRU1BSUxfRk9STUFUX0lMTEVHQUw7DQoJCX0gZWxzZWlmKCEkX0VOVlsndXNlciddLT5jaGVja19lbWFpbGFjY2VzcygkZW1haWwpKSB7DQoJCQlyZXR1cm4gVUNfVVNFUl9FTUFJTF9BQ0NFU1NfSUxMRUdBTDsNCgkJfSBlbHNlaWYoISR0aGlzLT5zZXR0aW5nc1snZG91YmxlZSddICYmICRfRU5WWyd1c2VyJ10tPmNoZWNrX2VtYWlsZXhpc3RzKCRlbWFpbCwgJHVzZXJuYW1lKSkgew0KCQkJcmV0dXJuIFVDX1VTRVJfRU1BSUxfRVhJU1RTOw0KCQl9IGVsc2Ugew0KCQkJcmV0dXJuIDE7DQoJCX0NCgl9DQoNCglmdW5jdGlvbiBvbnVwbG9hZGF2YXRhcigpIHsNCgl9DQoNCglmdW5jdGlvbiBvbnJlY3RhdmF0YXIoKSB7DQoJfQ0KCWZ1bmN0aW9uIGZsYXNoZGF0YV9kZWNvZGUoJHMpIHsNCgl9DQp9DQoNCj8+
</file>
<file type='dir' name='../uc_client/data'>
</file>
<file type='dir' name='../uc_client/data/cache'>
</file>
<file type='file' name='../uc_client/data/cache/index.htm'>
IA==
</file>
<file type='file' name='../uc_client/data/index.htm'>
IA==
</file>
<file type='file' name='../uc_client/index.htm'>
IA==
</file>
<file type='dir' name='../uc_client/lib'>
</file>
<file type='file' name='../uc_client/lib/db.class.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogZGIuY2xhc3MucGhwLHYgMS4xIDIwMDkvMDgvMTEgMDM6MjE6MjIgYmx0IEV4cCAkDQoqLw0KDQoNCmNsYXNzIGRiIHsNCgl2YXIgJHF1ZXJ5bnVtID0gMDsNCgl2YXIgJGxpbms7DQoJdmFyICRoaXN0b3JpZXM7DQoNCgl2YXIgJGRiaG9zdDsNCgl2YXIgJGRidXNlcjsNCgl2YXIgJGRicHc7DQoJdmFyICRkYmNoYXJzZXQ7DQoJdmFyICRwY29ubmVjdDsNCgl2YXIgJHRhYmxlcHJlOw0KCXZhciAkdGltZTsNCg0KCXZhciAkZ29uZWF3YXkgPSA1Ow0KDQoJZnVuY3Rpb24gY29ubmVjdCgkZGJob3N0LCAkZGJ1c2VyLCAkZGJwdywgJGRibmFtZSA9ICcnLCAkZGJjaGFyc2V0ID0gJycsICRwY29ubmVjdCA9IDAsICR0YWJsZXByZT0nJywgJHRpbWUgPSAwKSB7DQoJCSR0aGlzLT5kYmhvc3QgPSAkZGJob3N0Ow0KCQkkdGhpcy0+ZGJ1c2VyID0gJGRidXNlcjsNCgkJJHRoaXMtPmRicHcgPSAkZGJwdzsNCgkJJHRoaXMtPmRibmFtZSA9ICRkYm5hbWU7DQoJCSR0aGlzLT5kYmNoYXJzZXQgPSAkZGJjaGFyc2V0Ow0KCQkkdGhpcy0+cGNvbm5lY3QgPSAkcGNvbm5lY3Q7DQoJCSR0aGlzLT50YWJsZXByZSA9ICR0YWJsZXByZTsNCgkJJHRoaXMtPnRpbWUgPSAkdGltZTsNCg0KCQlpZigkcGNvbm5lY3QpIHsNCgkJCWlmKCEkdGhpcy0+bGluayA9IG15c3FsX3Bjb25uZWN0KCRkYmhvc3QsICRkYnVzZXIsICRkYnB3KSkgew0KCQkJCSR0aGlzLT5oYWx0KCdDYW4gbm90IGNvbm5lY3QgdG8gTXlTUUwgc2VydmVyJyk7DQoJCQl9DQoJCX0gZWxzZSB7DQoJCQlpZighJHRoaXMtPmxpbmsgPSBteXNxbF9jb25uZWN0KCRkYmhvc3QsICRkYnVzZXIsICRkYnB3KSkgew0KCQkJCSR0aGlzLT5oYWx0KCdDYW4gbm90IGNvbm5lY3QgdG8gTXlTUUwgc2VydmVyJyk7DQoJCQl9DQoJCX0NCg0KCQlpZigkdGhpcy0+dmVyc2lvbigpID4gJzQuMScpIHsNCgkJCWlmKCRkYmNoYXJzZXQpIHsNCgkJCQlteXNxbF9xdWVyeSgiU0VUIGNoYXJhY3Rlcl9zZXRfY29ubmVjdGlvbj0iLiRkYmNoYXJzZXQuIiwgY2hhcmFjdGVyX3NldF9yZXN1bHRzPSIuJGRiY2hhcnNldC4iLCBjaGFyYWN0ZXJfc2V0X2NsaWVudD1iaW5hcnkiLCAkdGhpcy0+bGluayk7DQoJCQl9DQoNCgkJCWlmKCR0aGlzLT52ZXJzaW9uKCkgPiAnNS4wLjEnKSB7DQoJCQkJbXlzcWxfcXVlcnkoIlNFVCBzcWxfbW9kZT0nJyIsICR0aGlzLT5saW5rKTsNCgkJCX0NCgkJfQ0KDQoJCWlmKCRkYm5hbWUpIHsNCgkJCW15c3FsX3NlbGVjdF9kYigkZGJuYW1lLCAkdGhpcy0+bGluayk7DQoJCX0NCg0KCX0NCg0KCWZ1bmN0aW9uIGZldGNoX2FycmF5KCRxdWVyeSwgJHJlc3VsdF90eXBlID0gTVlTUUxfQVNTT0MpIHsNCgkJcmV0dXJuIG15c3FsX2ZldGNoX2FycmF5KCRxdWVyeSwgJHJlc3VsdF90eXBlKTsNCgl9DQoNCglmdW5jdGlvbiByZXN1bHRfZmlyc3QoJHNxbCkgew0KCQkkcXVlcnkgPSAkdGhpcy0+cXVlcnkoJHNxbCk7DQoJCXJldHVybiAkdGhpcy0+cmVzdWx0KCRxdWVyeSwgMCk7DQoJfQ0KDQoJZnVuY3Rpb24gZmV0Y2hfZmlyc3QoJHNxbCkgew0KCQkkcXVlcnkgPSAkdGhpcy0+cXVlcnkoJHNxbCk7DQoJCXJldHVybiAkdGhpcy0+ZmV0Y2hfYXJyYXkoJHF1ZXJ5KTsNCgl9DQoNCglmdW5jdGlvbiBmZXRjaF9hbGwoJHNxbCwgJGlkID0gJycpIHsNCgkJJGFyciA9IGFycmF5KCk7DQoJCSRxdWVyeSA9ICR0aGlzLT5xdWVyeSgkc3FsKTsNCgkJd2hpbGUoJGRhdGEgPSAkdGhpcy0+ZmV0Y2hfYXJyYXkoJHF1ZXJ5KSkgew0KCQkJJGlkID8gJGFyclskZGF0YVskaWRdXSA9ICRkYXRhIDogJGFycltdID0gJGRhdGE7DQoJCX0NCgkJcmV0dXJuICRhcnI7DQoJfQ0KDQoJZnVuY3Rpb24gY2FjaGVfZ2MoKSB7DQoJCSR0aGlzLT5xdWVyeSgiREVMRVRFIEZST00geyR0aGlzLT50YWJsZXByZX1zcWxjYWNoZXMgV0hFUkUgZXhwaXJ5PCR0aGlzLT50aW1lIik7DQoJfQ0KDQoJZnVuY3Rpb24gcXVlcnkoJHNxbCwgJHR5cGUgPSAnJywgJGNhY2hldGltZSA9IEZBTFNFKSB7DQoJCSRmdW5jID0gJHR5cGUgPT0gJ1VOQlVGRkVSRUQnICYmIEBmdW5jdGlvbl9leGlzdHMoJ215c3FsX3VuYnVmZmVyZWRfcXVlcnknKSA/ICdteXNxbF91bmJ1ZmZlcmVkX3F1ZXJ5JyA6ICdteXNxbF9xdWVyeSc7DQoJCWlmKCEoJHF1ZXJ5ID0gJGZ1bmMoJHNxbCwgJHRoaXMtPmxpbmspKSAmJiAkdHlwZSAhPSAnU0lMRU5UJykgew0KCQkJJHRoaXMtPmhhbHQoJ015U1FMIFF1ZXJ5IEVycm9yJywgJHNxbCk7DQoJCX0NCgkJJHRoaXMtPnF1ZXJ5bnVtKys7DQoJCSR0aGlzLT5oaXN0b3JpZXNbXSA9ICRzcWw7DQoJCXJldHVybiAkcXVlcnk7DQoJfQ0KDQoJZnVuY3Rpb24gYWZmZWN0ZWRfcm93cygpIHsNCgkJcmV0dXJuIG15c3FsX2FmZmVjdGVkX3Jvd3MoJHRoaXMtPmxpbmspOw0KCX0NCg0KCWZ1bmN0aW9uIGVycm9yKCkgew0KCQlyZXR1cm4gKCgkdGhpcy0+bGluaykgPyBteXNxbF9lcnJvcigkdGhpcy0+bGluaykgOiBteXNxbF9lcnJvcigpKTsNCgl9DQoNCglmdW5jdGlvbiBlcnJubygpIHsNCgkJcmV0dXJuIGludHZhbCgoJHRoaXMtPmxpbmspID8gbXlzcWxfZXJybm8oJHRoaXMtPmxpbmspIDogbXlzcWxfZXJybm8oKSk7DQoJfQ0KDQoJZnVuY3Rpb24gcmVzdWx0KCRxdWVyeSwgJHJvdykgew0KCQkkcXVlcnkgPSBAbXlzcWxfcmVzdWx0KCRxdWVyeSwgJHJvdyk7DQoJCXJldHVybiAkcXVlcnk7DQoJfQ0KDQoJZnVuY3Rpb24gbnVtX3Jvd3MoJHF1ZXJ5KSB7DQoJCSRxdWVyeSA9IG15c3FsX251bV9yb3dzKCRxdWVyeSk7DQoJCXJldHVybiAkcXVlcnk7DQoJfQ0KDQoJZnVuY3Rpb24gbnVtX2ZpZWxkcygkcXVlcnkpIHsNCgkJcmV0dXJuIG15c3FsX251bV9maWVsZHMoJHF1ZXJ5KTsNCgl9DQoNCglmdW5jdGlvbiBmcmVlX3Jlc3VsdCgkcXVlcnkpIHsNCgkJcmV0dXJuIG15c3FsX2ZyZWVfcmVzdWx0KCRxdWVyeSk7DQoJfQ0KDQoJZnVuY3Rpb24gaW5zZXJ0X2lkKCkgew0KCQlyZXR1cm4gKCRpZCA9IG15c3FsX2luc2VydF9pZCgkdGhpcy0+bGluaykpID49IDAgPyAkaWQgOiAkdGhpcy0+cmVzdWx0KCR0aGlzLT5xdWVyeSgiU0VMRUNUIGxhc3RfaW5zZXJ0X2lkKCkiKSwgMCk7DQoJfQ0KDQoJZnVuY3Rpb24gZmV0Y2hfcm93KCRxdWVyeSkgew0KCQkkcXVlcnkgPSBteXNxbF9mZXRjaF9yb3coJHF1ZXJ5KTsNCgkJcmV0dXJuICRxdWVyeTsNCgl9DQoNCglmdW5jdGlvbiBmZXRjaF9maWVsZHMoJHF1ZXJ5KSB7DQoJCXJldHVybiBteXNxbF9mZXRjaF9maWVsZCgkcXVlcnkpOw0KCX0NCg0KCWZ1bmN0aW9uIHZlcnNpb24oKSB7DQoJCXJldHVybiBteXNxbF9nZXRfc2VydmVyX2luZm8oJHRoaXMtPmxpbmspOw0KCX0NCg0KCWZ1bmN0aW9uIGNsb3NlKCkgew0KCQlyZXR1cm4gbXlzcWxfY2xvc2UoJHRoaXMtPmxpbmspOw0KCX0NCg0KCWZ1bmN0aW9uIGhhbHQoJG1lc3NhZ2UgPSAnJywgJHNxbCA9ICcnKSB7DQoJCSRlcnJvciA9IG15c3FsX2Vycm9yKCk7DQoJCSRlcnJvcm5vID0gbXlzcWxfZXJybm8oKTsNCgkJaWYoJGVycm9ybm8gPT0gMjAwNiAmJiAkdGhpcy0+Z29uZWF3YXktLSA+IDApIHsNCgkJCSR0aGlzLT5jb25uZWN0KCR0aGlzLT5kYmhvc3QsICR0aGlzLT5kYnVzZXIsICR0aGlzLT5kYnB3LCAkdGhpcy0+ZGJuYW1lLCAkdGhpcy0+ZGJjaGFyc2V0LCAkdGhpcy0+cGNvbm5lY3QsICR0aGlzLT50YWJsZXByZSwgJHRoaXMtPnRpbWUpOw0KCQkJJHRoaXMtPnF1ZXJ5KCRzcWwpOw0KCQl9IGVsc2Ugew0KCQkJJHMgPSAnPGI+RXJyb3I6PC9iPicuJGVycm9yLic8YnIgLz4nOw0KCQkJJHMgLj0gJzxiPkVycm5vOjwvYj4nLiRlcnJvcm5vLic8YnIgLz4nOw0KCQkJJHMgLj0gJzxiPlNRTDo8L2I+OicuJHNxbDsNCgkJCWV4aXQoJHMpOw0KCQl9DQoJfQ0KfQ0KDQo/Pg==
</file>
<file type='file' name='../uc_client/lib/index.htm'>
IA==
</file>
<file type='file' name='../uc_client/lib/sendmail.inc.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogc2VuZG1haWwuaW5jLnBocCx2IDEuMSAyMDA5LzA4LzExIDAzOjIxOjI0IGJsdCBFeHAgJA0KKi8NCg0KIWRlZmluZWQoJ0lOX1VDJykgJiYgZXhpdCgnQWNjZXNzIERlbmllZCcpOw0KDQppZigkbWFpbF9zZXR0aW5nWydtYWlsc2lsZW50J10pIHsNCgllcnJvcl9yZXBvcnRpbmcoMCk7DQp9DQoNCiRtYWlsZGVsaW1pdGVyID0gJG1haWxfc2V0dGluZ1snbWFpbGRlbGltaXRlciddID09IDEgPyAiXHJcbiIgOiAoJG1haWxfc2V0dGluZ1snbWFpbGRlbGltaXRlciddID09IDIgPyAiXHIiIDogIlxuIik7DQokbWFpbHVzZXJuYW1lID0gaXNzZXQoJG1haWxfc2V0dGluZ1snbWFpbHVzZXJuYW1lJ10pID8gJG1haWxfc2V0dGluZ1snbWFpbHVzZXJuYW1lJ10gOiAxOw0KJGFwcG5hbWUgPSAkdGhpcy0+YmFzZS0+Y2FjaGVbJ2FwcHMnXVskbWFpbFsnYXBwaWQnXV1bJ25hbWUnXTsNCiRtYWlsWydzdWJqZWN0J10gPSAnPT8nLiRtYWlsWydjaGFyc2V0J10uJz9CPycuYmFzZTY0X2VuY29kZShzdHJfcmVwbGFjZSgiXHIiLCAnJywgc3RyX3JlcGxhY2UoIlxuIiwgJycsICdbJy4kYXBwbmFtZS4nXSAnLiRtYWlsWydzdWJqZWN0J10pKSkuJz89JzsNCiRtYWlsWydtZXNzYWdlJ10gPSBjaHVua19zcGxpdChiYXNlNjRfZW5jb2RlKHN0cl9yZXBsYWNlKCJcclxuLiIsICIgXHJcbi4uIiwgc3RyX3JlcGxhY2UoIlxuIiwgIlxyXG4iLCBzdHJfcmVwbGFjZSgiXHIiLCAiXG4iLCBzdHJfcmVwbGFjZSgiXHJcbiIsICJcbiIsIHN0cl9yZXBsYWNlKCJcblxyIiwgIlxyIiwgJG1haWxbJ21lc3NhZ2UnXSkpKSkpKSk7DQoNCiRlbWFpbF9mcm9tID0gJG1haWxbJ2Zyb21tYWlsJ10gPT0gJycgPyAnPT8nLiRtYWlsWydjaGFyc2V0J10uJz9CPycuYmFzZTY0X2VuY29kZSgkYXBwbmFtZSkuIj89IDwkbWFpbF9zZXR0aW5nW21haWxkZWZhdWx0XT4iIDogKHByZWdfbWF0Y2goJy9eKC4rPykgXDwoLis/KVw+JC8nLCRlbWFpbF9mcm9tLCAkZnJvbSkgPyAnPT8nLiRtYWlsWydjaGFyc2V0J10uJz9CPycuYmFzZTY0X2VuY29kZSgkZnJvbVsxXSkuIj89IDwkZnJvbVsyXT4iIDogJG1haWxbJ2Zyb21tYWlsJ10pOw0KDQpmb3JlYWNoKGV4cGxvZGUoJywnLCAkbWFpbFsnZW1haWxfdG8nXSkgYXMgJHRvdXNlcikgew0KCSR0b3VzZXJzW10gPSBwcmVnX21hdGNoKCcvXiguKz8pIFw8KC4rPylcPiQvJywkdG91c2VyLCAkdG8pID8gKCRtYWlsdXNlcm5hbWUgPyAnPT8nLiRtYWlsWydjaGFyc2V0J10uJz9CPycuYmFzZTY0X2VuY29kZSgkdG9bMV0pLiI/PSA8JHRvWzJdPiIgOiAkdG9bMl0pIDogJHRvdXNlcjsNCn0NCg0KJG1haWxbJ2VtYWlsX3RvJ10gPSBpbXBsb2RlKCcsJywgJHRvdXNlcnMpOw0KDQokaGVhZGVycyA9ICJGcm9tOiAkZW1haWxfZnJvbXskbWFpbGRlbGltaXRlcn1YLVByaW9yaXR5OiAzeyRtYWlsZGVsaW1pdGVyfVgtTWFpbGVyOiBEaXNjdXohICR2ZXJzaW9ueyRtYWlsZGVsaW1pdGVyfU1JTUUtVmVyc2lvbjogMS4weyRtYWlsZGVsaW1pdGVyfUNvbnRlbnQtdHlwZTogdGV4dC8iLigkbWFpbFsnaHRtbG9uJ10gPyAnaHRtbCcgOiAncGxhaW4nKS4iOyBjaGFyc2V0PSRtYWlsW2NoYXJzZXRdeyRtYWlsZGVsaW1pdGVyfUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NHskbWFpbGRlbGltaXRlcn0iOw0KDQokbWFpbF9zZXR0aW5nWydtYWlscG9ydCddID0gJG1haWxfc2V0dGluZ1snbWFpbHBvcnQnXSA/ICRtYWlsX3NldHRpbmdbJ21haWxwb3J0J10gOiAyNTsNCg0KaWYoJG1haWxfc2V0dGluZ1snbWFpbHNlbmQnXSA9PSAxICYmIGZ1bmN0aW9uX2V4aXN0cygnbWFpbCcpKSB7DQoNCgkgcmV0dXJuIEBtYWlsKCRtYWlsWydlbWFpbF90byddLCAkbWFpbFsnc3ViamVjdCddLCAkbWFpbFsnbWVzc2FnZSddLCAkaGVhZGVycyk7DQoNCn0gZWxzZWlmKCRtYWlsX3NldHRpbmdbJ21haWxzZW5kJ10gPT0gMikgew0KDQoJaWYoISRmcCA9IGZzb2Nrb3BlbigkbWFpbF9zZXR0aW5nWydtYWlsc2VydmVyJ10sICRtYWlsX3NldHRpbmdbJ21haWxwb3J0J10sICRlcnJubywgJGVycnN0ciwgMzApKSB7DQoJCXJldHVybiBmYWxzZTsNCgl9DQoNCiAJc3RyZWFtX3NldF9ibG9ja2luZygkZnAsIHRydWUpOw0KDQoJJGxhc3RtZXNzYWdlID0gZmdldHMoJGZwLCA1MTIpOw0KCWlmKHN1YnN0cigkbGFzdG1lc3NhZ2UsIDAsIDMpICE9ICcyMjAnKSB7DQoJCXJldHVybiBmYWxzZTsNCgl9DQoNCglmcHV0cygkZnAsICgkbWFpbF9zZXR0aW5nWydtYWlsYXV0aCddID8gJ0VITE8nIDogJ0hFTE8nKS4iIGRpc2N1elxyXG4iKTsNCgkkbGFzdG1lc3NhZ2UgPSBmZ2V0cygkZnAsIDUxMik7DQoJaWYoc3Vic3RyKCRsYXN0bWVzc2FnZSwgMCwgMykgIT0gMjIwICYmIHN1YnN0cigkbGFzdG1lc3NhZ2UsIDAsIDMpICE9IDI1MCkgew0KCQlyZXR1cm4gZmFsc2U7DQoJfQ0KDQoJd2hpbGUoMSkgew0KCQlpZihzdWJzdHIoJGxhc3RtZXNzYWdlLCAzLCAxKSAhPSAnLScgfHwgZW1wdHkoJGxhc3RtZXNzYWdlKSkgew0KIAkJCWJyZWFrOw0KIAkJfQ0KIAkJJGxhc3RtZXNzYWdlID0gZmdldHMoJGZwLCA1MTIpOw0KCX0NCg0KCWlmKCRtYWlsX3NldHRpbmdbJ21haWxhdXRoJ10pIHsNCgkJZnB1dHMoJGZwLCAiQVVUSCBMT0dJTlxyXG4iKTsNCgkJJGxhc3RtZXNzYWdlID0gZmdldHMoJGZwLCA1MTIpOw0KCQlpZihzdWJzdHIoJGxhc3RtZXNzYWdlLCAwLCAzKSAhPSAzMzQpIHsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KDQoJCWZwdXRzKCRmcCwgYmFzZTY0X2VuY29kZSgkbWFpbF9zZXR0aW5nWydtYWlsYXV0aF91c2VybmFtZSddKS4iXHJcbiIpOw0KCQkkbGFzdG1lc3NhZ2UgPSBmZ2V0cygkZnAsIDUxMik7DQoJCWlmKHN1YnN0cigkbGFzdG1lc3NhZ2UsIDAsIDMpICE9IDMzNCkgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJZnB1dHMoJGZwLCBiYXNlNjRfZW5jb2RlKCRtYWlsX3NldHRpbmdbJ21haWxhdXRoX3Bhc3N3b3JkJ10pLiJcclxuIik7DQoJCSRsYXN0bWVzc2FnZSA9IGZnZXRzKCRmcCwgNTEyKTsNCgkJaWYoc3Vic3RyKCRsYXN0bWVzc2FnZSwgMCwgMykgIT0gMjM1KSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCg0KCQkkZW1haWxfZnJvbSA9ICRtYWlsX3NldHRpbmdbJ21haWxmcm9tJ107DQoJfQ0KDQoJZnB1dHMoJGZwLCAiTUFJTCBGUk9NOiA8Ii5wcmVnX3JlcGxhY2UoIi8uKlw8KC4rPylcPi4qLyIsICJcXDEiLCAkZW1haWxfZnJvbSkuIj5cclxuIik7DQoJJGxhc3RtZXNzYWdlID0gZmdldHMoJGZwLCA1MTIpOw0KCWlmKHN1YnN0cigkbGFzdG1lc3NhZ2UsIDAsIDMpICE9IDI1MCkgew0KCQlmcHV0cygkZnAsICJNQUlMIEZST006IDwiLnByZWdfcmVwbGFjZSgiLy4qXDwoLis/KVw+LiovIiwgIlxcMSIsICRlbWFpbF9mcm9tKS4iPlxyXG4iKTsNCgkJJGxhc3RtZXNzYWdlID0gZmdldHMoJGZwLCA1MTIpOw0KCQlpZihzdWJzdHIoJGxhc3RtZXNzYWdlLCAwLCAzKSAhPSAyNTApIHsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KCX0NCg0KCSRlbWFpbF90b3MgPSBhcnJheSgpOw0KCWZvcmVhY2goZXhwbG9kZSgnLCcsICRtYWlsWydlbWFpbF90byddKSBhcyAkdG91c2VyKSB7DQoJCSR0b3VzZXIgPSB0cmltKCR0b3VzZXIpOw0KCQlpZigkdG91c2VyKSB7DQoJCQlmcHV0cygkZnAsICJSQ1BUIFRPOiA8Ii5wcmVnX3JlcGxhY2UoIi8uKlw8KC4rPylcPi4qLyIsICJcXDEiLCAkdG91c2VyKS4iPlxyXG4iKTsNCgkJCSRsYXN0bWVzc2FnZSA9IGZnZXRzKCRmcCwgNTEyKTsNCgkJCWlmKHN1YnN0cigkbGFzdG1lc3NhZ2UsIDAsIDMpICE9IDI1MCkgew0KCQkJCWZwdXRzKCRmcCwgIlJDUFQgVE86IDwiLnByZWdfcmVwbGFjZSgiLy4qXDwoLis/KVw+LiovIiwgIlxcMSIsICR0b3VzZXIpLiI+XHJcbiIpOw0KCQkJCSRsYXN0bWVzc2FnZSA9IGZnZXRzKCRmcCwgNTEyKTsNCgkJCQlyZXR1cm4gZmFsc2U7DQoJCQl9DQoJCX0NCgl9DQoNCglmcHV0cygkZnAsICJEQVRBXHJcbiIpOw0KCSRsYXN0bWVzc2FnZSA9IGZnZXRzKCRmcCwgNTEyKTsNCglpZihzdWJzdHIoJGxhc3RtZXNzYWdlLCAwLCAzKSAhPSAzNTQpIHsNCgkJcmV0dXJuIGZhbHNlOw0KCX0NCg0KCSRoZWFkZXJzIC49ICdNZXNzYWdlLUlEOiA8Jy5nbWRhdGUoJ1ltZEhzJykuJy4nLnN1YnN0cihtZDUoJG1haWxbJ21lc3NhZ2UnXS5taWNyb3RpbWUoKSksIDAsIDYpLnJhbmQoMTAwMDAwLCA5OTk5OTkpLidAJy4kX1NFUlZFUlsnSFRUUF9IT1NUJ10uIj57JG1haWxkZWxpbWl0ZXJ9IjsNCg0KCWZwdXRzKCRmcCwgIkRhdGU6ICIuZ21kYXRlKCdyJykuIlxyXG4iKTsNCglmcHV0cygkZnAsICJUbzogIi4kbWFpbFsnZW1haWxfdG8nXS4iXHJcbiIpOw0KCWZwdXRzKCRmcCwgIlN1YmplY3Q6ICIuJG1haWxbJ3N1YmplY3QnXS4iXHJcbiIpOw0KCWZwdXRzKCRmcCwgJGhlYWRlcnMuIlxyXG4iKTsNCglmcHV0cygkZnAsICJcclxuXHJcbiIpOw0KCWZwdXRzKCRmcCwgIiRtYWlsW21lc3NhZ2VdXHJcbi5cclxuIik7DQoJJGxhc3RtZXNzYWdlID0gZmdldHMoJGZwLCA1MTIpOw0KCWlmKHN1YnN0cigkbGFzdG1lc3NhZ2UsIDAsIDMpICE9IDI1MCkgew0KCQlyZXR1cm4gZmFsc2U7DQoJfQ0KDQoJZnB1dHMoJGZwLCAiUVVJVFxyXG4iKTsNCglyZXR1cm4gdHJ1ZTsNCg0KfSBlbHNlaWYoJG1haWxfc2V0dGluZ1snbWFpbHNlbmQnXSA9PSAzKSB7DQoNCglpbmlfc2V0KCdTTVRQJywgJG1haWxfc2V0dGluZ1snbWFpbHNlcnZlciddKTsNCglpbmlfc2V0KCdzbXRwX3BvcnQnLCAkbWFpbF9zZXR0aW5nWydtYWlscG9ydCddKTsNCglpbmlfc2V0KCdzZW5kbWFpbF9mcm9tJywgJGVtYWlsX2Zyb20pOw0KDQoJcmV0dXJuIEBtYWlsKCRtYWlsWydlbWFpbF90byddLCAkbWFpbFsnc3ViamVjdCddLCAkbWFpbFsnbWVzc2FnZSddLCAkaGVhZGVycyk7DQoNCn0NCg0KPz4=
</file>
<file type='file' name='../uc_client/lib/uccode.class.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogdWNjb2RlLmNsYXNzLnBocCx2IDEuMSAyMDA5LzA4LzExIDAzOjIxOjI0IGJsdCBFeHAgJA0KKi8NCg0KY2xhc3MgdWNjb2RlIHsNCgl2YXIgJHVjY29kZXM7DQoNCglmdW5jdGlvbiB1Y2NvZGUoKSB7DQoJCSR0aGlzLT51Y2NvZGUgPSBhcnJheSgNCgkJCSdwY29kZWNvdW50JyA9PiAtMSwNCgkJCSdjb2RlY291bnQnID0+IDAsDQoJCQknY29kZWh0bWwnID0+ICcnDQoJCSk7DQoJfQ0KDQoJZnVuY3Rpb24gY29kZWRpc3AoJGNvZGUpIHsNCgkJJHRoaXMtPnVjY29kZVsncGNvZGVjb3VudCddKys7DQoJCSRjb2RlID0gc3RyX3JlcGxhY2UoJ1xcIicsICciJywgcHJlZ19yZXBsYWNlKCIvXltcblxyXSooLis/KVtcblxyXSokL2lzIiwgIlxcMSIsICRjb2RlKSk7DQoJCSR0aGlzLT51Y2NvZGVbJ2NvZGVodG1sJ11bJHRoaXMtPnVjY29kZVsncGNvZGVjb3VudCddXSA9ICR0aGlzLT50cGxfY29kZWRpc3AoJGNvZGUpOw0KCQkkdGhpcy0+dWNjb2RlWydjb2RlY291bnQnXSsrOw0KCQlyZXR1cm4gIltcdFVDRU5URVJfQ09ERV8iLiR0aGlzLT51Y2NvZGVbcGNvZGVjb3VudF0uIlx0XSI7DQoJfQ0KDQoJZnVuY3Rpb24gY29tcGxpZSgkbWVzc2FnZSkgew0KCQkkbWVzc2FnZSA9IGh0bWxzcGVjaWFsY2hhcnMoJG1lc3NhZ2UpOw0KCQlpZihzdHJwb3MoJG1lc3NhZ2UsICdbL2NvZGVdJykgIT09IEZBTFNFKSB7DQoJCQkkbWVzc2FnZSA9IHByZWdfcmVwbGFjZSgiL1xzKlxbY29kZVxdKC4rPylcW1wvY29kZVxdXHMqL2llcyIsICJcJHRoaXMtPmNvZGVkaXNwKCdcXDEnKSIsICRtZXNzYWdlKTsNCgkJfQ0KCQlpZihzdHJwb3MoJG1lc3NhZ2UsICdbL3VybF0nKSAhPT0gRkFMU0UpIHsNCgkJCSRtZXNzYWdlID0gcHJlZ19yZXBsYWNlKCIvXFt1cmwoPSgoaHR0cHM/fGZ0cHxnb3BoZXJ8bmV3c3x0ZWxuZXR8cnRzcHxtbXN8Y2FsbHRvfGJjdHB8ZWQya3x0aHVuZGVyfHN5bmFjYXN0KXsxfTpcL1wvfHd3d1wuKShbXlxbXCInXSs/KSk/XF0oLis/KVxbXC91cmxcXS9pZXMiLCAiXCR0aGlzLT5wYXJzZXVybCgnXFwxJywgJ1xcNScpIiwgJG1lc3NhZ2UpOw0KCQl9DQoJCWlmKHN0cnBvcygkbWVzc2FnZSwgJ1svZW1haWxdJykgIT09IEZBTFNFKSB7DQoJCQkkbWVzc2FnZSA9IHByZWdfcmVwbGFjZSgiL1xbZW1haWwoPShbYS16MC05XC1fLitdKylAKFthLXowLTlcLV9dK1suXVthLXowLTlcLV8uXSspKT9cXSguKz8pXFtcL2VtYWlsXF0vaWVzIiwgIlwkdGhpcy0+cGFyc2VlbWFpbCgnXFwxJywgJ1xcNCcpIiwgJG1lc3NhZ2UpOw0KCQl9DQoJCSRtZXNzYWdlID0gc3RyX3JlcGxhY2UoYXJyYXkoDQoJCQknWy9jb2xvcl0nLCAnWy9zaXplXScsICdbL2ZvbnRdJywgJ1svYWxpZ25dJywgJ1tiXScsICdbL2JdJywNCgkJCSdbaV0nLCAnWy9pXScsICdbdV0nLCAnWy91XScsICdbbGlzdF0nLCAnW2xpc3Q9MV0nLCAnW2xpc3Q9YV0nLA0KCQkJJ1tsaXN0PUFdJywgJ1sqXScsICdbL2xpc3RdJywgJ1tpbmRlbnRdJywgJ1svaW5kZW50XScsICdbL2Zsb2F0XScNCgkJKSwgYXJyYXkoDQoJCQknPC9mb250PicsICc8L2ZvbnQ+JywgJzwvZm9udD4nLCAnPC9wPicsICc8c3Ryb25nPicsICc8L3N0cm9uZz4nLCAnPGk+JywNCgkJCSc8L2k+JywgJzx1PicsICc8L3U+JywgJzx1bD4nLCAnPHVsIHR5cGU9IjEiPicsICc8dWwgdHlwZT0iYSI+JywNCgkJCSc8dWwgdHlwZT0iQSI+JywgJzxsaT4nLCAnPC91bD4nLCAnPGJsb2NrcXVvdGU+JywgJzwvYmxvY2txdW90ZT4nLCAnPC9zcGFuPicNCgkJKSwgcHJlZ19yZXBsYWNlKGFycmF5KA0KCQkJIi9cW2NvbG9yPShbI1x3XSs/KVxdL2kiLA0KCQkJIi9cW3NpemU9KFxkKz8pXF0vaSIsDQoJCQkiL1xbc2l6ZT0oXGQrKFwuXGQrKT8ocHh8cHR8aW58Y218bW18cGN8ZW18ZXh8JSkrPylcXS9pIiwNCgkJCSIvXFtmb250PShbXlxbXDxdKz8pXF0vaSIsDQoJCQkiL1xbYWxpZ249KGxlZnR8Y2VudGVyfHJpZ2h0KVxdL2kiLA0KCQkJIi9cW2Zsb2F0PShsZWZ0fHJpZ2h0KVxdL2kiDQoJCSksIGFycmF5KA0KCQkJIjxmb250IGNvbG9yPVwiXFwxXCI+IiwNCgkJCSI8Zm9udCBzaXplPVwiXFwxXCI+IiwNCgkJCSI8Zm9udCBzdHlsZT1cImZvbnQtc2l6ZTogXFwxXCI+IiwNCgkJCSI8Zm9udCBmYWNlPVwiXFwxIFwiPiIsDQoJCQkiPHAgYWxpZ249XCJcXDFcIj4iLA0KCQkJIjxzcGFuIHN0eWxlPVwiZmxvYXQ6IFxcMTtcIj4iDQoJCSksICRtZXNzYWdlKSk7DQoJCWlmKHN0cnBvcygkbWVzc2FnZSwgJ1svcXVvdGVdJykgIT09IEZBTFNFKSB7DQoJCQkkbWVzc2FnZSA9IHByZWdfcmVwbGFjZSgiL1xzKlxbcXVvdGVcXVtcblxyXSooLis/KVtcblxyXSpcW1wvcXVvdGVcXVxzKi9pcyIsICR0aGlzLT50cGxfcXVvdGUoKSwgJG1lc3NhZ2UpOw0KCQl9DQoJCWlmKHN0cnBvcygkbWVzc2FnZSwgJ1svaW1nXScpICE9PSBGQUxTRSkgew0KCQkJJG1lc3NhZ2UgPSBwcmVnX3JlcGxhY2UoYXJyYXkoDQoJCQkJIi9cW2ltZ1xdXHMqKFteXFtcPFxyXG5dKz8pXHMqXFtcL2ltZ1xdL2llcyIsDQoJCQkJIi9cW2ltZz0oXGR7MSw0fSlbeHxcLF0oXGR7MSw0fSlcXVxzKihbXlxbXDxcclxuXSs/KVxzKlxbXC9pbWdcXS9pZXMiDQoJCQkpLCBhcnJheSgNCgkJCQkiXCR0aGlzLT5iYmNvZGV1cmwoJ1xcMScsICc8aW1nIHNyYz1cIiVzXCIgYm9yZGVyPVwiMFwiIGFsdD1cIlwiIC8+JykiLA0KCQkJCSJcJHRoaXMtPmJiY29kZXVybCgnXFwzJywgJzxpbWcgd2lkdGg9XCJcXDFcIiBoZWlnaHQ9XCJcXDJcIiBzcmM9XCIlc1wiIGJvcmRlcj1cIjBcIiBhbHQ9XCJcIiAvPicpIg0KCQkJKSwgJG1lc3NhZ2UpOw0KCQl9DQoJCWZvcigkaSA9IDA7ICRpIDw9ICR0aGlzLT51Y2NvZGVbJ3Bjb2RlY291bnQnXTsgJGkrKykgew0KCQkJJG1lc3NhZ2UgPSBzdHJfcmVwbGFjZSgiW1x0VUNFTlRFUl9DT0RFXyRpXHRdIiwgJHRoaXMtPnVjY29kZVsnY29kZWh0bWwnXVskaV0sICRtZXNzYWdlKTsNCgkJfQ0KCQlyZXR1cm4gbmwyYnIoc3RyX3JlcGxhY2UoYXJyYXkoIlx0IiwgJyAgICcsICcgICcpLCBhcnJheSgnJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICcsICcmbmJzcDsgJm5ic3A7JywgJyZuYnNwOyZuYnNwOycpLCAkbWVzc2FnZSkpOw0KCX0NCg0KCWZ1bmN0aW9uIHBhcnNldXJsKCR1cmwsICR0ZXh0KSB7DQoJCWlmKCEkdXJsICYmIHByZWdfbWF0Y2goIi8oKGh0dHBzP3xmdHB8Z29waGVyfG5ld3N8dGVsbmV0fHJ0c3B8bW1zfGNhbGx0b3xiY3RwfGVkMmt8dGh1bmRlcnxzeW5hY2FzdCl7MX06XC9cL3x3d3dcLilbXlxbXCInXSsvaSIsIHRyaW0oJHRleHQpLCAkbWF0Y2hlcykpIHsNCgkJCSR1cmwgPSAkbWF0Y2hlc1swXTsNCgkJCSRsZW5ndGggPSA2NTsNCgkJCWlmKHN0cmxlbigkdXJsKSA+ICRsZW5ndGgpIHsNCgkJCQkkdGV4dCA9IHN1YnN0cigkdXJsLCAwLCBpbnR2YWwoJGxlbmd0aCAqIDAuNSkpLicgLi4uICcuc3Vic3RyKCR1cmwsIC0gaW50dmFsKCRsZW5ndGggKiAwLjMpKTsNCgkJCX0NCgkJCXJldHVybiAnPGEgaHJlZj0iJy4oc3Vic3RyKHN0cnRvbG93ZXIoJHVybCksIDAsIDQpID09ICd3d3cuJyA/ICdodHRwOi8vJy4kdXJsIDogJHVybCkuJyIgdGFyZ2V0PSJfYmxhbmsiPicuJHRleHQuJzwvYT4nOw0KCQl9IGVsc2Ugew0KCQkJJHVybCA9IHN1YnN0cigkdXJsLCAxKTsNCgkJCWlmKHN1YnN0cihzdHJ0b2xvd2VyKCR1cmwpLCAwLCA0KSA9PSAnd3d3LicpIHsNCgkJCQkkdXJsID0gJ2h0dHA6Ly8nLiR1cmw7DQoJCQl9DQoJCQlyZXR1cm4gJzxhIGhyZWY9IicuJHVybC4nIiB0YXJnZXQ9Il9ibGFuayI+Jy4kdGV4dC4nPC9hPic7DQoJCX0NCgl9DQoNCglmdW5jdGlvbiBwYXJzZWVtYWlsKCRlbWFpbCwgJHRleHQpIHsNCgkJaWYoISRlbWFpbCAmJiBwcmVnX21hdGNoKCIvXHMqKFthLXowLTlcLV8uK10rKUAoW2EtejAtOVwtX10rWy5dW2EtejAtOVwtXy5dKylccyovaSIsICR0ZXh0LCAkbWF0Y2hlcykpIHsNCgkJCSRlbWFpbCA9IHRyaW0oJG1hdGNoZXNbMF0pOw0KCQkJcmV0dXJuICc8YSBocmVmPSJtYWlsdG86Jy4kZW1haWwuJyI+Jy4kZW1haWwuJzwvYT4nOw0KCQl9IGVsc2Ugew0KCQkJcmV0dXJuICc8YSBocmVmPSJtYWlsdG86Jy5zdWJzdHIoJGVtYWlsLCAxKS4nIj4nLiR0ZXh0Lic8L2E+JzsNCgkJfQ0KCX0NCg0KCWZ1bmN0aW9uIGJiY29kZXVybCgkdXJsLCAkdGFncykgew0KCQlpZighcHJlZ19tYXRjaCgiLzwuKz8+L3MiLCAkdXJsKSkgew0KCQkJaWYoIWluX2FycmF5KHN0cnRvbG93ZXIoc3Vic3RyKCR1cmwsIDAsIDYpKSwgYXJyYXkoJ2h0dHA6LycsICdodHRwczonLCAnZnRwOi8vJywgJ3J0c3A6LycsICdtbXM6Ly8nKSkpIHsNCgkJCQkkdXJsID0gJ2h0dHA6Ly8nLiR1cmw7DQoJCQl9DQoJCQlyZXR1cm4gc3RyX3JlcGxhY2UoYXJyYXkoJ3N1Ym1pdCcsICdsb2dnaW5nLnBocCcpLCBhcnJheSgnJywgJycpLCBzcHJpbnRmKCR0YWdzLCAkdXJsLCBhZGRzbGFzaGVzKCR1cmwpKSk7DQoJCX0gZWxzZSB7DQoJCQlyZXR1cm4gJyZuYnNwOycuJHVybDsNCgkJfQ0KCX0NCg0KCWZ1bmN0aW9uIHRwbF9jb2RlZGlzcCgkY29kZSkgew0KCQlyZXR1cm4gJzxkaXYgY2xhc3M9ImJsb2NrY29kZSI+PGNvZGUgaWQ9ImNvZGUnLiR0aGlzLT51Y2NvZGVzWydjb2RlY291bnQnXS4nIj4nLiRjb2RlLic8L2NvZGU+PC9kaXY+JzsNCgl9DQoNCglmdW5jdGlvbiB0cGxfcXVvdGUoKSB7DQoJCXJldHVybiAnPGRpdiBjbGFzcz0icXVvdGUiPjxibG9ja3F1b3RlPlxcMTwvYmxvY2txdW90ZT48L2Rpdj4nOw0KCX0NCn0NCg0KLyoNCg0KVXNhZ2U6DQokc3RyID0gPDw8RU9GDQoxDQoyDQozDQpFT0Y7DQpyZXF1aXJlX29uY2UgJ2xpYi91Y2NvZGUuY2xhc3MucGhwJzsNCiR0aGlzLT51Y2NvZGUgPSBuZXcgdWNjb2RlKCk7DQplY2hvICR0aGlzLT51Y2NvZGUtPmNvbXBsaWUoJHN0cik7DQoNCiovDQoNCj8+
</file>
<file type='file' name='../uc_client/lib/xml.class.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogeG1sLmNsYXNzLnBocCx2IDEuMSAyMDA5LzA4LzExIDAzOjIxOjI0IGJsdCBFeHAgJA0KKi8NCg0KZnVuY3Rpb24geG1sX3Vuc2VyaWFsaXplKCYkeG1sLCAkaXNub3JtYWwgPSBGQUxTRSkgew0KCSR4bWxfcGFyc2VyID0gbmV3IFhNTCgkaXNub3JtYWwpOw0KCSRkYXRhID0gJHhtbF9wYXJzZXItPnBhcnNlKCR4bWwpOw0KCSR4bWxfcGFyc2VyLT5kZXN0cnVjdCgpOw0KCXJldHVybiAkZGF0YTsNCn0NCg0KZnVuY3Rpb24geG1sX3NlcmlhbGl6ZSgkYXJyLCAkaHRtbG9uID0gRkFMU0UsICRpc25vcm1hbCA9IEZBTFNFLCAkbGV2ZWwgPSAxKSB7DQoJJHMgPSAkbGV2ZWwgPT0gMSA/ICI8P3htbCB2ZXJzaW9uPVwiMS4wXCIgZW5jb2Rpbmc9XCJJU08tODg1OS0xXCI/PlxyXG48cm9vdD5cclxuIiA6ICcnOw0KCSRzcGFjZSA9IHN0cl9yZXBlYXQoIlx0IiwgJGxldmVsKTsNCglmb3JlYWNoKCRhcnIgYXMgJGsgPT4gJHYpIHsNCgkJaWYoIWlzX2FycmF5KCR2KSkgew0KCQkJJHMgLj0gJHNwYWNlLiI8aXRlbSBpZD1cIiRrXCI+Ii4oJGh0bWxvbiA/ICc8IVtDREFUQVsnIDogJycpLiR2LigkaHRtbG9uID8gJ11dPicgOiAnJykuIjwvaXRlbT5cclxuIjsNCgkJfSBlbHNlIHsNCgkJCSRzIC49ICRzcGFjZS4iPGl0ZW0gaWQ9XCIka1wiPlxyXG4iLnhtbF9zZXJpYWxpemUoJHYsICRodG1sb24sICRpc25vcm1hbCwgJGxldmVsICsgMSkuJHNwYWNlLiI8L2l0ZW0+XHJcbiI7DQoJCX0NCgl9DQoJJHMgPSBwcmVnX3JlcGxhY2UoIi8oW1x4MDEtXHgwOVx4MGItXHgwY1x4MGUtXHgxZl0pKy8iLCAnICcsICRzKTsNCglyZXR1cm4gJGxldmVsID09IDEgPyAkcy4iPC9yb290PiIgOiAkczsNCn0NCg0KY2xhc3MgWE1MIHsNCg0KCXZhciAkcGFyc2VyOw0KCXZhciAkZG9jdW1lbnQ7DQoJdmFyICRzdGFjazsNCgl2YXIgJGRhdGE7DQoJdmFyICRsYXN0X29wZW5lZF90YWc7DQoJdmFyICRpc25vcm1hbDsNCgl2YXIgJGF0dHJzID0gYXJyYXkoKTsNCgl2YXIgJGZhaWxlZCA9IEZBTFNFOw0KDQoJZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGlzbm9ybWFsKSB7DQoJCSR0aGlzLT5YTUwoJGlzbm9ybWFsKTsNCgl9DQoNCglmdW5jdGlvbiBYTUwoJGlzbm9ybWFsKSB7DQoJCSR0aGlzLT5pc25vcm1hbCA9ICRpc25vcm1hbDsNCgkJJHRoaXMtPnBhcnNlciA9IHhtbF9wYXJzZXJfY3JlYXRlKCdJU08tODg1OS0xJyk7DQoJCXhtbF9wYXJzZXJfc2V0X29wdGlvbigkdGhpcy0+cGFyc2VyLCBYTUxfT1BUSU9OX0NBU0VfRk9MRElORywgZmFsc2UpOw0KCQl4bWxfc2V0X29iamVjdCgkdGhpcy0+cGFyc2VyLCAkdGhpcyk7DQoJCXhtbF9zZXRfZWxlbWVudF9oYW5kbGVyKCR0aGlzLT5wYXJzZXIsICdvcGVuJywnY2xvc2UnKTsNCgkJeG1sX3NldF9jaGFyYWN0ZXJfZGF0YV9oYW5kbGVyKCR0aGlzLT5wYXJzZXIsICdkYXRhJyk7DQoJfQ0KDQoJZnVuY3Rpb24gZGVzdHJ1Y3QoKSB7DQoJCXhtbF9wYXJzZXJfZnJlZSgkdGhpcy0+cGFyc2VyKTsNCgl9DQoNCglmdW5jdGlvbiBwYXJzZSgmJGRhdGEpIHsNCgkJJHRoaXMtPmRvY3VtZW50ID0gYXJyYXkoKTsNCgkJJHRoaXMtPnN0YWNrCT0gYXJyYXkoKTsNCgkJcmV0dXJuIHhtbF9wYXJzZSgkdGhpcy0+cGFyc2VyLCAkZGF0YSwgdHJ1ZSkgJiYgISR0aGlzLT5mYWlsZWQgPyAkdGhpcy0+ZG9jdW1lbnQgOiAnJzsNCgl9DQoNCglmdW5jdGlvbiBvcGVuKCYkcGFyc2VyLCAkdGFnLCAkYXR0cmlidXRlcykgew0KCQkkdGhpcy0+ZmFpbGVkID0gRkFMU0U7DQoJCWlmKCEkdGhpcy0+aXNub3JtYWwpIHsNCgkJCWlmKGlzc2V0KCRhdHRyaWJ1dGVzWydpZCddKSAmJiAhaXNfc3RyaW5nKCR0aGlzLT5kb2N1bWVudFskYXR0cmlidXRlc1snaWQnXV0pKSB7DQoJCQkJJHRoaXMtPmRvY3VtZW50ICA9ICYkdGhpcy0+ZG9jdW1lbnRbJGF0dHJpYnV0ZXNbJ2lkJ11dOw0KCQkJfSBlbHNlIHsNCgkJCQkkdGhpcy0+ZmFpbGVkID0gVFJVRTsNCgkJCX0NCgkJfSBlbHNlIHsNCgkJCWlmKCFpc19zdHJpbmcoJHRoaXMtPmRvY3VtZW50WyR0YWddKSkgew0KCQkJCSR0aGlzLT5kb2N1bWVudCAgPSAmJHRoaXMtPmRvY3VtZW50WyR0YWddOw0KCQkJfSBlbHNlIHsNCgkJCQkkdGhpcy0+ZmFpbGVkID0gVFJVRTsNCgkJCX0NCgkJfQ0KCQkkdGhpcy0+c3RhY2tbXSA9ICYkdGhpcy0+ZG9jdW1lbnQ7DQoJCSR0aGlzLT5sYXN0X29wZW5lZF90YWcgPSAkdGFnOw0KCQkkdGhpcy0+YXR0cnMgPSAkYXR0cmlidXRlczsNCgl9DQoNCglmdW5jdGlvbiBkYXRhKCYkcGFyc2VyLCAkZGF0YSkgew0KCQlpZigkdGhpcy0+bGFzdF9vcGVuZWRfdGFnICE9IE5VTEwpIHsNCgkJCSR0aGlzLT5kYXRhID0gJGRhdGE7DQoJCX0gZWxzZSB7DQoJCQkkdGhpcy0+ZGF0YSA9ICcnOw0KCQl9DQoJfQ0KDQoJZnVuY3Rpb24gY2xvc2UoJiRwYXJzZXIsICR0YWcpIHsNCgkJaWYoJHRoaXMtPmxhc3Rfb3BlbmVkX3RhZyA9PSAkdGFnKSB7DQoJCQkkdGhpcy0+ZG9jdW1lbnQgPSAkdGhpcy0+ZGF0YTsNCgkJCSR0aGlzLT5sYXN0X29wZW5lZF90YWcgPSBOVUxMOw0KCQl9DQoJCWFycmF5X3BvcCgkdGhpcy0+c3RhY2spOw0KCQlpZigkdGhpcy0+c3RhY2spIHsNCgkJCSR0aGlzLT5kb2N1bWVudCA9ICYkdGhpcy0+c3RhY2tbY291bnQoJHRoaXMtPnN0YWNrKS0xXTsNCgkJfQ0KCX0NCg0KfQ0KDQo/Pg==
</file>
<file type='dir' name='../uc_client/model'>
</file>
<file type='file' name='../uc_client/model/app.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogYXBwLnBocCx2IDEuMSAyMDA5LzA4LzExIDAzOjIxOjI0IGJsdCBFeHAgJA0KKi8NCg0KIWRlZmluZWQoJ0lOX1VDJykgJiYgZXhpdCgnQWNjZXNzIERlbmllZCcpOw0KDQpjbGFzcyBhcHBtb2RlbCB7DQoNCgl2YXIgJGRiOw0KCXZhciAkYmFzZTsNCg0KCWZ1bmN0aW9uIF9fY29uc3RydWN0KCYkYmFzZSkgew0KCQkkdGhpcy0+YXBwbW9kZWwoJGJhc2UpOw0KCX0NCg0KCWZ1bmN0aW9uIGFwcG1vZGVsKCYkYmFzZSkgew0KCQkkdGhpcy0+YmFzZSA9ICRiYXNlOw0KCQkkdGhpcy0+ZGIgPSAkYmFzZS0+ZGI7DQoJfQ0KDQoJZnVuY3Rpb24gZ2V0X2FwcHMoJGNvbCA9ICcqJywgJHdoZXJlID0gJycpIHsNCgkJJGFyciA9ICR0aGlzLT5kYi0+ZmV0Y2hfYWxsKCJTRUxFQ1QgJGNvbCBGUk9NICIuVUNfREJUQUJMRVBSRS4iYXBwbGljYXRpb25zIi4oJHdoZXJlID8gJyBXSEVSRSAnLiR3aGVyZSA6ICcnKSwgJ2FwcGlkJyk7DQoJCWZvcmVhY2goJGFyciBhcyAkayA9PiAkdikgew0KCQkJaXNzZXQoJHZbJ2V4dHJhJ10pICYmICFlbXB0eSgkdlsnZXh0cmEnXSkgJiYgJHZbJ2V4dHJhJ10gPSB1bnNlcmlhbGl6ZSgkdlsnZXh0cmEnXSk7DQoJCQl1bnNldCgkdlsnYXV0aGtleSddKTsNCgkJCSRhcnJbJGtdID0gJHY7DQoJCX0NCgkJcmV0dXJuICRhcnI7DQoJfQ0KfQ0KPz4=
</file>
<file type='file' name='../uc_client/model/base.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogYmFzZS5waHAsdiAxLjEgMjAwOS8wOC8xMSAwMzoyMToyNCBibHQgRXhwICQNCiovDQoNCiFkZWZpbmVkKCdJTl9VQycpICYmIGV4aXQoJ0FjY2VzcyBEZW5pZWQnKTsNCg0KaWYoIWZ1bmN0aW9uX2V4aXN0cygnZ2V0Z3BjJykpIHsNCglmdW5jdGlvbiBnZXRncGMoJGssICR2YXI9J0cnKSB7DQoJCXN3aXRjaCgkdmFyKSB7DQoJCQljYXNlICdHJzogJHZhciA9ICYkX0dFVDsgYnJlYWs7DQoJCQljYXNlICdQJzogJHZhciA9ICYkX1BPU1Q7IGJyZWFrOw0KCQkJY2FzZSAnQyc6ICR2YXIgPSAmJF9DT09LSUU7IGJyZWFrOw0KCQkJY2FzZSAnUic6ICR2YXIgPSAmJF9SRVFVRVNUOyBicmVhazsNCgkJfQ0KCQlyZXR1cm4gaXNzZXQoJHZhclska10pID8gJHZhclska10gOiBOVUxMOw0KCX0NCn0NCg0KY2xhc3MgYmFzZSB7DQoNCgl2YXIgJHRpbWU7DQoJdmFyICRvbmxpbmVpcDsNCgl2YXIgJGRiOw0KCXZhciAka2V5Ow0KCXZhciAkc2V0dGluZ3MgPSBhcnJheSgpOw0KCXZhciAkY2FjaGUgPSBhcnJheSgpOw0KCXZhciAkYXBwID0gYXJyYXkoKTsNCgl2YXIgJHVzZXIgPSBhcnJheSgpOw0KCXZhciAkaW5wdXQgPSBhcnJheSgpOw0KCWZ1bmN0aW9uIF9fY29uc3RydWN0KCkgew0KCQkkdGhpcy0+YmFzZSgpOw0KCX0NCg0KCWZ1bmN0aW9uIGJhc2UoKSB7DQoJCSR0aGlzLT5pbml0X3ZhcigpOw0KCQkkdGhpcy0+aW5pdF9kYigpOw0KCQkkdGhpcy0+aW5pdF9jYWNoZSgpOw0KCQkkdGhpcy0+aW5pdF9ub3RlKCk7DQoJCSR0aGlzLT5pbml0X21haWwoKTsNCgl9DQoNCglmdW5jdGlvbiBpbml0X3ZhcigpIHsNCgkJJHRoaXMtPnRpbWUgPSB0aW1lKCk7DQoJCSRjaXAgPSBnZXRlbnYoJ0hUVFBfQ0xJRU5UX0lQJyk7DQoJCSR4aXAgPSBnZXRlbnYoJ0hUVFBfWF9GT1JXQVJERURfRk9SJyk7DQoJCSRyaXAgPSBnZXRlbnYoJ1JFTU9URV9BRERSJyk7DQoJCSRzcmlwID0gJF9TRVJWRVJbJ1JFTU9URV9BRERSJ107DQoJCWlmKCRjaXAgJiYgc3RyY2FzZWNtcCgkY2lwLCAndW5rbm93bicpKSB7DQoJCQkkdGhpcy0+b25saW5laXAgPSAkY2lwOw0KCQl9IGVsc2VpZigkeGlwICYmIHN0cmNhc2VjbXAoJHhpcCwgJ3Vua25vd24nKSkgew0KCQkJJHRoaXMtPm9ubGluZWlwID0gJHhpcDsNCgkJfSBlbHNlaWYoJHJpcCAmJiBzdHJjYXNlY21wKCRyaXAsICd1bmtub3duJykpIHsNCgkJCSR0aGlzLT5vbmxpbmVpcCA9ICRyaXA7DQoJCX0gZWxzZWlmKCRzcmlwICYmIHN0cmNhc2VjbXAoJHNyaXAsICd1bmtub3duJykpIHsNCgkJCSR0aGlzLT5vbmxpbmVpcCA9ICRzcmlwOw0KCQl9DQoJCXByZWdfbWF0Y2goIi9bXGRcLl17NywxNX0vIiwgJHRoaXMtPm9ubGluZWlwLCAkbWF0Y2gpOw0KCQkkdGhpcy0+b25saW5laXAgPSAkbWF0Y2hbMF0gPyAkbWF0Y2hbMF0gOiAndW5rbm93bic7DQoJCSR0aGlzLT5hcHBbJ2FwcGlkJ10gPSBVQ19BUFBJRDsNCgl9DQoNCglmdW5jdGlvbiBpbml0X2lucHV0KCkgew0KDQoJfQ0KDQoJZnVuY3Rpb24gaW5pdF9kYigpIHsNCgkJcmVxdWlyZV9vbmNlIFVDX1JPT1QuJ2xpYi9kYi5jbGFzcy5waHAnOw0KCQkkdGhpcy0+ZGIgPSBuZXcgZGIoKTsNCgkJJHRoaXMtPmRiLT5jb25uZWN0KFVDX0RCSE9TVCwgVUNfREJVU0VSLCBVQ19EQlBXLCAnJywgVUNfREJDSEFSU0VULCBVQ19EQkNPTk5FQ1QsIFVDX0RCVEFCTEVQUkUpOw0KCX0NCg0KCWZ1bmN0aW9uIGxvYWQoJG1vZGVsLCAkYmFzZSA9IE5VTEwpIHsNCgkJJGJhc2UgPSAkYmFzZSA/ICRiYXNlIDogJHRoaXM7DQoJCWlmKGVtcHR5KCRfRU5WWyRtb2RlbF0pKSB7DQoJCQlyZXF1aXJlX29uY2UgVUNfUk9PVC4iLi9tb2RlbC8kbW9kZWwucGhwIjsNCgkJCWV2YWwoJyRfRU5WWyRtb2RlbF0gPSBuZXcgJy4kbW9kZWwuJ21vZGVsKCRiYXNlKTsnKTsNCgkJfQ0KCQlyZXR1cm4gJF9FTlZbJG1vZGVsXTsNCgl9DQoNCglmdW5jdGlvbiBkYXRlKCR0aW1lLCAkdHlwZSA9IDMpIHsNCgkJaWYoISR0aGlzLT5zZXR0aW5ncykgew0KCQkJJHRoaXMtPnNldHRpbmdzID0gJHRoaXMtPmNhY2hlKCdzZXR0aW5ncycpOw0KCQl9DQoJCSRmb3JtYXRbXSA9ICR0eXBlICYgMiA/ICghZW1wdHkoJHRoaXMtPnNldHRpbmdzWydkYXRlZm9ybWF0J10pID8gJHRoaXMtPnNldHRpbmdzWydkYXRlZm9ybWF0J10gOiAnWS1uLWonKSA6ICcnOw0KCQkkZm9ybWF0W10gPSAkdHlwZSAmIDEgPyAoIWVtcHR5KCR0aGlzLT5zZXR0aW5nc1sndGltZWZvcm1hdCddKSA/ICR0aGlzLT5zZXR0aW5nc1sndGltZWZvcm1hdCddIDogJ0g6aScpIDogJyc7DQoJCXJldHVybiBnbWRhdGUoaW1wbG9kZSgnICcsICRmb3JtYXQpLCAkdGltZSArICR0aGlzLT5zZXR0aW5nc1sndGltZW9mZnNldCddKTsNCgl9DQoNCglmdW5jdGlvbiBwYWdlX2dldF9zdGFydCgkcGFnZSwgJHBwcCwgJHRvdGFsbnVtKSB7DQoJCSR0b3RhbHBhZ2UgPSBjZWlsKCR0b3RhbG51bSAvICRwcHApOw0KCQkkcGFnZSA9ICBtYXgoMSwgbWluKCR0b3RhbHBhZ2UsaW50dmFsKCRwYWdlKSkpOw0KCQlyZXR1cm4gKCRwYWdlIC0gMSkgKiAkcHBwOw0KCX0NCg0KCWZ1bmN0aW9uIGltcGxvZGUoJGFycikgew0KCQlyZXR1cm4gIiciLmltcGxvZGUoIicsJyIsIChhcnJheSkkYXJyKS4iJyI7DQoJfQ0KDQoJZnVuY3Rpb24gJmNhY2hlKCRjYWNoZWZpbGUpIHsNCgkJc3RhdGljICRfQ0FDSEUgPSBhcnJheSgpOw0KCQlpZighaXNzZXQoJF9DQUNIRVskY2FjaGVmaWxlXSkpIHsNCgkJCSRjYWNoZXBhdGggPSBVQ19EQVRBRElSLicuL2NhY2hlLycuJGNhY2hlZmlsZS4nLnBocCc7DQoJCQlpZighZmlsZV9leGlzdHMoJGNhY2hlcGF0aCkpIHsNCgkJCQkkdGhpcy0+bG9hZCgnY2FjaGUnKTsNCgkJCQkkX0VOVlsnY2FjaGUnXS0+dXBkYXRlZGF0YSgkY2FjaGVmaWxlKTsNCgkJCX0gZWxzZSB7DQoJCQkJaW5jbHVkZV9vbmNlICRjYWNoZXBhdGg7DQoJCQl9DQoJCX0NCgkJcmV0dXJuICRfQ0FDSEVbJGNhY2hlZmlsZV07DQoJfQ0KDQoJZnVuY3Rpb24gZ2V0X3NldHRpbmcoJGsgPSBhcnJheSgpLCAkZGVjb2RlID0gRkFMU0UpIHsNCgkJJHJldHVybiA9IGFycmF5KCk7DQoJCSRzcWxhZGQgPSAkayA/ICJXSEVSRSBrIElOICgiLiR0aGlzLT5pbXBsb2RlKCRrKS4iKSIgOiAnJzsNCgkJJHNldHRpbmdzID0gJHRoaXMtPmRiLT5mZXRjaF9hbGwoIlNFTEVDVCAqIEZST00gIi5VQ19EQlRBQkxFUFJFLiJzZXR0aW5ncyAkc3FsYWRkIik7DQoJCWlmKGlzX2FycmF5KCRzZXR0aW5ncykpIHsNCgkJCWZvcmVhY2goJHNldHRpbmdzIGFzICRhcnIpIHsNCgkJCQkkcmV0dXJuWyRhcnJbJ2snXV0gPSAkZGVjb2RlID8gdW5zZXJpYWxpemUoJGFyclsndiddKSA6ICRhcnJbJ3YnXTsNCgkJCX0NCgkJfQ0KCQlyZXR1cm4gJHJldHVybjsNCgl9DQoNCglmdW5jdGlvbiBpbml0X2NhY2hlKCkgew0KCQkkdGhpcy0+c2V0dGluZ3MgPSAkdGhpcy0+Y2FjaGUoJ3NldHRpbmdzJyk7DQoJCSR0aGlzLT5jYWNoZVsnYXBwcyddID0gJHRoaXMtPmNhY2hlKCdhcHBzJyk7DQoNCgkJaWYoUEhQX1ZFUlNJT04gPiAnNS4xJykgew0KCQkJJHRpbWVvZmZzZXQgPSBpbnR2YWwoJHRoaXMtPnNldHRpbmdzWyd0aW1lb2Zmc2V0J10gLyAzNjAwKTsNCgkJCUBkYXRlX2RlZmF1bHRfdGltZXpvbmVfc2V0KCdFdGMvR01UJy4oJHRpbWVvZmZzZXQgPiAwID8gJy0nIDogJysnKS4oYWJzKCR0aW1lb2Zmc2V0KSkpOw0KCQl9DQoJfQ0KDQoJZnVuY3Rpb24gY3V0c3RyKCRzdHJpbmcsICRsZW5ndGgsICRkb3QgPSAnIC4uLicpIHsNCgkJaWYoc3RybGVuKCRzdHJpbmcpIDw9ICRsZW5ndGgpIHsNCgkJCXJldHVybiAkc3RyaW5nOw0KCQl9DQoNCgkJJHN0cmluZyA9IHN0cl9yZXBsYWNlKGFycmF5KCcmYW1wOycsICcmcXVvdDsnLCAnJmx0OycsICcmZ3Q7JyksIGFycmF5KCcmJywgJyInLCAnPCcsICc+JyksICRzdHJpbmcpOw0KDQoJCSRzdHJjdXQgPSAnJzsNCgkJaWYoc3RydG9sb3dlcihVQ19DSEFSU0VUKSA9PSAndXRmLTgnKSB7DQoNCgkJCSRuID0gJHRuID0gJG5vYyA9IDA7DQoJCQl3aGlsZSgkbiA8IHN0cmxlbigkc3RyaW5nKSkgew0KDQoJCQkJJHQgPSBvcmQoJHN0cmluZ1skbl0pOw0KCQkJCWlmKCR0ID09IDkgfHwgJHQgPT0gMTAgfHwgKDMyIDw9ICR0ICYmICR0IDw9IDEyNikpIHsNCgkJCQkJJHRuID0gMTsgJG4rKzsgJG5vYysrOw0KCQkJCX0gZWxzZWlmKDE5NCA8PSAkdCAmJiAkdCA8PSAyMjMpIHsNCgkJCQkJJHRuID0gMjsgJG4gKz0gMjsgJG5vYyArPSAyOw0KCQkJCX0gZWxzZWlmKDIyNCA8PSAkdCAmJiAkdCA8IDIzOSkgew0KCQkJCQkkdG4gPSAzOyAkbiArPSAzOyAkbm9jICs9IDI7DQoJCQkJfSBlbHNlaWYoMjQwIDw9ICR0ICYmICR0IDw9IDI0Nykgew0KCQkJCQkkdG4gPSA0OyAkbiArPSA0OyAkbm9jICs9IDI7DQoJCQkJfSBlbHNlaWYoMjQ4IDw9ICR0ICYmICR0IDw9IDI1MSkgew0KCQkJCQkkdG4gPSA1OyAkbiArPSA1OyAkbm9jICs9IDI7DQoJCQkJfSBlbHNlaWYoJHQgPT0gMjUyIHx8ICR0ID09IDI1Mykgew0KCQkJCQkkdG4gPSA2OyAkbiArPSA2OyAkbm9jICs9IDI7DQoJCQkJfSBlbHNlIHsNCgkJCQkJJG4rKzsNCgkJCQl9DQoNCgkJCQlpZigkbm9jID49ICRsZW5ndGgpIHsNCgkJCQkJYnJlYWs7DQoJCQkJfQ0KDQoJCQl9DQoJCQlpZigkbm9jID4gJGxlbmd0aCkgew0KCQkJCSRuIC09ICR0bjsNCgkJCX0NCg0KCQkJJHN0cmN1dCA9IHN1YnN0cigkc3RyaW5nLCAwLCAkbik7DQoNCgkJfSBlbHNlIHsNCgkJCWZvcigkaSA9IDA7ICRpIDwgJGxlbmd0aDsgJGkrKykgew0KCQkJCSRzdHJjdXQgLj0gb3JkKCRzdHJpbmdbJGldKSA+IDEyNyA/ICRzdHJpbmdbJGldLiRzdHJpbmdbKyskaV0gOiAkc3RyaW5nWyRpXTsNCgkJCX0NCgkJfQ0KDQoJCSRzdHJjdXQgPSBzdHJfcmVwbGFjZShhcnJheSgnJicsICciJywgJzwnLCAnPicpLCBhcnJheSgnJmFtcDsnLCAnJnF1b3Q7JywgJyZsdDsnLCAnJmd0OycpLCAkc3RyY3V0KTsNCg0KCQlyZXR1cm4gJHN0cmN1dC4kZG90Ow0KCX0NCg0KCWZ1bmN0aW9uIGluaXRfbm90ZSgpIHsNCgkJaWYoJHRoaXMtPm5vdGVfZXhpc3RzKCkpIHsNCgkJCSR0aGlzLT5sb2FkKCdub3RlJyk7DQoJCQkkX0VOVlsnbm90ZSddLT5zZW5kKCk7DQoJCX0NCgl9DQoNCglmdW5jdGlvbiBub3RlX2V4aXN0cygpIHsNCgkJJG5vdGVleGlzdHMgPSAkdGhpcy0+ZGItPmZldGNoX2ZpcnN0KCJTRUxFQ1QgdmFsdWUgRlJPTSAiLlVDX0RCVEFCTEVQUkUuInZhcnMgV0hFUkUgbmFtZT0nbm90ZWV4aXN0cyIuVUNfQVBQSUQuIiciKTsNCgkJaWYoZW1wdHkoJG5vdGVleGlzdHMpKSB7DQoJCQlyZXR1cm4gRkFMU0U7DQoJCX0gZWxzZSB7DQoJCQlyZXR1cm4gVFJVRTsNCgkJfQ0KCX0NCg0KCWZ1bmN0aW9uIGluaXRfbWFpbCgpIHsNCgkJaWYoJHRoaXMtPm1haWxfZXhpc3RzKCkgJiYgIWdldGdwYygnaW5hamF4JykpIHsNCgkJCSR0aGlzLT5sb2FkKCdtYWlsJyk7DQoJCQkkX0VOVlsnbWFpbCddLT5zZW5kKCk7DQoJCX0NCgl9DQoNCglmdW5jdGlvbiBhdXRoY29kZSgkc3RyaW5nLCAkb3BlcmF0aW9uID0gJ0RFQ09ERScsICRrZXkgPSAnJywgJGV4cGlyeSA9IDApIHsNCgkJcmV0dXJuIHVjX2F1dGhjb2RlKCRzdHJpbmcsICRvcGVyYXRpb24sICRrZXksICRleHBpcnkpOw0KCX0NCi8qDQoJZnVuY3Rpb24gc2VyaWFsaXplKCkgew0KDQoJfQ0KKi8NCglmdW5jdGlvbiB1bnNlcmlhbGl6ZSgkcykgew0KCQlyZXR1cm4gdWNfdW5zZXJpYWxpemUoJHMpOw0KCX0NCg0KCWZ1bmN0aW9uIGlucHV0KCRrKSB7DQoJCXJldHVybiBpc3NldCgkdGhpcy0+aW5wdXRbJGtdKSA/IChpc19hcnJheSgkdGhpcy0+aW5wdXRbJGtdKSA/ICR0aGlzLT5pbnB1dFska10gOiB0cmltKCR0aGlzLT5pbnB1dFska10pKSA6IE5VTEw7DQoJfQ0KDQoJZnVuY3Rpb24gbWFpbF9leGlzdHMoKSB7DQoJCSRtYWlsZXhpc3RzID0gJHRoaXMtPmRiLT5mZXRjaF9maXJzdCgiU0VMRUNUIHZhbHVlIEZST00gIi5VQ19EQlRBQkxFUFJFLiJ2YXJzIFdIRVJFIG5hbWU9J21haWxleGlzdHMnIik7DQoJCWlmKGVtcHR5KCRtYWlsZXhpc3RzKSkgew0KCQkJcmV0dXJuIEZBTFNFOw0KCQl9IGVsc2Ugew0KCQkJcmV0dXJuIFRSVUU7DQoJCX0NCgl9DQoNCglmdW5jdGlvbiBkc3RyaXBzbGFzaGVzKCRzdHJpbmcpIHsNCgkJaWYoaXNfYXJyYXkoJHN0cmluZykpIHsNCgkJCWZvcmVhY2goJHN0cmluZyBhcyAka2V5ID0+ICR2YWwpIHsNCgkJCQkkc3RyaW5nWyRrZXldID0gJHRoaXMtPmRzdHJpcHNsYXNoZXMoJHZhbCk7DQoJCQl9DQoJCX0gZWxzZSB7DQoJCQkkc3RyaW5nID0gc3RyaXBzbGFzaGVzKCRzdHJpbmcpOw0KCQl9DQoJCXJldHVybiAkc3RyaW5nOw0KCX0NCg0KfQ0KDQo/Pg==
</file>
<file type='file' name='../uc_client/model/cache.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogY2FjaGUucGhwLHYgMS4xIDIwMDkvMDgvMTEgMDM6MjE6MjQgYmx0IEV4cCAkDQoqLw0KDQohZGVmaW5lZCgnSU5fVUMnKSAmJiBleGl0KCdBY2Nlc3MgRGVuaWVkJyk7DQoNCmlmKCFmdW5jdGlvbl9leGlzdHMoJ2ZpbGVfcHV0X2NvbnRlbnRzJykpIHsNCglmdW5jdGlvbiBmaWxlX3B1dF9jb250ZW50cygkZmlsZW5hbWUsICRzKSB7DQoJCSRmcCA9IEBmb3BlbigkZmlsZW5hbWUsICd3Jyk7DQoJCUBmd3JpdGUoJGZwLCAkcyk7DQoJCUBmY2xvc2UoJGZwKTsNCgl9DQp9DQoNCmNsYXNzIGNhY2hlbW9kZWwgew0KDQoJdmFyICRkYjsNCgl2YXIgJGJhc2U7DQoJdmFyICRtYXA7DQoNCglmdW5jdGlvbiBfX2NvbnN0cnVjdCgmJGJhc2UpIHsNCgkJJHRoaXMtPmNhY2hlbW9kZWwoJGJhc2UpOw0KCX0NCg0KCWZ1bmN0aW9uIGNhY2hlbW9kZWwoJiRiYXNlKSB7DQoJCSR0aGlzLT5iYXNlID0gJGJhc2U7DQoJCSR0aGlzLT5kYiA9ICRiYXNlLT5kYjsNCgkJJHRoaXMtPm1hcCA9IGFycmF5KA0KCQkJJ3NldHRpbmdzJyA9PiBhcnJheSgnc2V0dGluZ3MnKSwNCgkJCSdiYWR3b3JkcycgPT4gYXJyYXkoJ2JhZHdvcmRzJyksDQoJCQknYXBwcycgPT4gYXJyYXkoJ2FwcHMnKQ0KCQkpOw0KCX0NCg0KCS8vcHVibGljDQoJZnVuY3Rpb24gdXBkYXRlZGF0YSgkY2FjaGVmaWxlID0gJycpIHsNCgkJaWYoJGNhY2hlZmlsZSkgew0KCQkJZm9yZWFjaCgoYXJyYXkpJHRoaXMtPm1hcFskY2FjaGVmaWxlXSBhcyAkbW9kdWxlcykgew0KCQkJCSRzID0gIjw/cGhwXHJcbiI7DQoJCQkJZm9yZWFjaCgoYXJyYXkpJG1vZHVsZXMgYXMgJG0pIHsNCgkJCQkJJG1ldGhvZCA9ICJfZ2V0XyRtIjsNCgkJCQkJJHMgLj0gJyRfQ0FDSEVbXCcnLiRtLidcJ10gPSAnLnZhcl9leHBvcnQoJHRoaXMtPiRtZXRob2QoKSwgVFJVRSkuIjtcclxuIjsNCgkJCQl9DQoJCQkJJHMgLj0gIlxyXG4/PiI7DQoJCQkJQGZpbGVfcHV0X2NvbnRlbnRzKFVDX0RBVEFESVIuIi4vY2FjaGUvJGNhY2hlZmlsZS5waHAiLCAkcyk7DQoJCQl9DQoJCX0gZWxzZSB7DQoJCQlmb3JlYWNoKChhcnJheSkkdGhpcy0+bWFwIGFzICRmaWxlID0+ICRtb2R1bGVzKSB7DQoJCQkJJHMgPSAiPD9waHBcclxuIjsNCgkJCQlmb3JlYWNoKCRtb2R1bGVzIGFzICRtKSB7DQoJCQkJCSRtZXRob2QgPSAiX2dldF8kbSI7DQoJCQkJCSRzIC49ICckX0NBQ0hFW1wnJy4kbS4nXCddID0gJy52YXJfZXhwb3J0KCR0aGlzLT4kbWV0aG9kKCksIFRSVUUpLiI7XHJcbiI7DQoJCQkJfQ0KCQkJCSRzIC49ICJcclxuPz4iOw0KCQkJCUBmaWxlX3B1dF9jb250ZW50cyhVQ19EQVRBRElSLiIuL2NhY2hlLyRmaWxlLnBocCIsICRzKTsNCgkJCX0NCgkJfQ0KCX0NCg0KCWZ1bmN0aW9uIHVwZGF0ZXRwbCgpIHsNCg0KCX0NCg0KCS8vcHJpdmF0ZQ0KCWZ1bmN0aW9uIF9nZXRfYmFkd29yZHMoKSB7DQoJCSRkYXRhID0gJHRoaXMtPmRiLT5mZXRjaF9hbGwoIlNFTEVDVCAqIEZST00gIi5VQ19EQlRBQkxFUFJFLiJiYWR3b3JkcyIpOw0KCQkkcmV0dXJuID0gYXJyYXkoKTsNCgkJaWYoaXNfYXJyYXkoJGRhdGEpKSB7DQoJCQlmb3JlYWNoKCRkYXRhIGFzICRrID0+ICR2KSB7DQoJCQkJJHJldHVyblsnZmluZHBhdHRlcm4nXVska10gPSAkdlsnZmluZHBhdHRlcm4nXTsNCgkJCQkkcmV0dXJuWydyZXBsYWNlJ11bJGtdID0gJHZbJ3JlcGxhY2VtZW50J107DQoJCQl9DQoJCX0NCgkJcmV0dXJuICRyZXR1cm47DQoJfQ0KDQoJLy9wcml2YXRlDQoJZnVuY3Rpb24gX2dldF9hcHBzKCkgew0KCQkkdGhpcy0+YmFzZS0+bG9hZCgnYXBwJyk7DQoJCSRhcHBzID0gJF9FTlZbJ2FwcCddLT5nZXRfYXBwcygpOw0KCQkkYXBwczIgPSBhcnJheSgpOw0KCQlpZihpc19hcnJheSgkYXBwcykpIHsNCgkJCWZvcmVhY2goJGFwcHMgYXMgJHYpIHsNCgkJCQkkdlsnZXh0cmEnXSA9IHVuc2VyaWFsaXplKCR2WydleHRyYSddKTsNCgkJCQkkYXBwczJbJHZbJ2FwcGlkJ11dID0gJHY7DQoJCQl9DQoJCX0NCgkJcmV0dXJuICRhcHBzMjsNCgl9DQoNCglmdW5jdGlvbiBfZ2V0X3NldHRpbmdzKCkgew0KCQlyZXR1cm4gJHRoaXMtPmJhc2UtPmdldF9zZXR0aW5nKCk7DQoJfQ0KDQp9DQoNCj8+
</file>
<file type='file' name='../uc_client/model/domain.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogZG9tYWluLnBocCx2IDEuMSAyMDA5LzA4LzExIDAzOjIxOjI0IGJsdCBFeHAgJA0KKi8NCg0KIWRlZmluZWQoJ0lOX1VDJykgJiYgZXhpdCgnQWNjZXNzIERlbmllZCcpOw0KDQpjbGFzcyBkb21haW5tb2RlbCB7DQoNCgl2YXIgJGRiOw0KCXZhciAkYmFzZTsNCg0KCWZ1bmN0aW9uIF9fY29uc3RydWN0KCYkYmFzZSkgew0KCQkkdGhpcy0+ZG9tYWlubW9kZWwoJGJhc2UpOw0KCX0NCg0KCWZ1bmN0aW9uIGRvbWFpbm1vZGVsKCYkYmFzZSkgew0KCQkkdGhpcy0+YmFzZSA9ICRiYXNlOw0KCQkkdGhpcy0+ZGIgPSAkYmFzZS0+ZGI7DQoJfQ0KDQoJZnVuY3Rpb24gYWRkX2RvbWFpbigkZG9tYWluLCAkaXApIHsNCgkJaWYoJGRvbWFpbikgew0KCQkJJHRoaXMtPmRiLT5xdWVyeSgiSU5TRVJUIElOVE8gIi5VQ19EQlRBQkxFUFJFLiJkb21haW5zIFNFVCBkb21haW49JyRkb21haW4nLCBpcD0nJGlwJyIpOw0KCQl9DQoJCXJldHVybiAkdGhpcy0+ZGItPmluc2VydF9pZCgpOw0KCX0NCg0KCWZ1bmN0aW9uIGdldF90b3RhbF9udW0oKSB7DQoJCSRkYXRhID0gJHRoaXMtPmRiLT5yZXN1bHRfZmlyc3QoIlNFTEVDVCBDT1VOVCgqKSBGUk9NICIuVUNfREJUQUJMRVBSRS4iZG9tYWlucyIpOw0KCQlyZXR1cm4gJGRhdGE7DQoJfQ0KDQoJZnVuY3Rpb24gZ2V0X2xpc3QoJHBhZ2UsICRwcHAsICR0b3RhbG51bSkgew0KCQkkc3RhcnQgPSAkdGhpcy0+YmFzZS0+cGFnZV9nZXRfc3RhcnQoJHBhZ2UsICRwcHAsICR0b3RhbG51bSk7DQoJCSRkYXRhID0gJHRoaXMtPmRiLT5mZXRjaF9hbGwoIlNFTEVDVCAqIEZST00gIi5VQ19EQlRBQkxFUFJFLiJkb21haW5zIExJTUlUICRzdGFydCwgJHBwcCIpOw0KCQlyZXR1cm4gJGRhdGE7DQoJfQ0KDQoJZnVuY3Rpb24gZGVsZXRlX2RvbWFpbigkYXJyKSB7DQoJCSRkb21haW5pZHMgPSAkdGhpcy0+YmFzZS0+aW1wbG9kZSgkYXJyKTsNCgkJJHRoaXMtPmRiLT5xdWVyeSgiREVMRVRFIEZST00gIi5VQ19EQlRBQkxFUFJFLiJkb21haW5zIFdIRVJFIGlkIElOICgkZG9tYWluaWRzKSIpOw0KCQlyZXR1cm4gJHRoaXMtPmRiLT5hZmZlY3RlZF9yb3dzKCk7DQoJfQ0KDQoJZnVuY3Rpb24gdXBkYXRlX2RvbWFpbigkZG9tYWluLCAkaXAsICRpZCkgew0KCQkkdGhpcy0+ZGItPnF1ZXJ5KCJVUERBVEUgIi5VQ19EQlRBQkxFUFJFLiJkb21haW5zIFNFVCBkb21haW49JyRkb21haW4nLCBpcD0nJGlwJyBXSEVSRSBpZD0nJGlkJyIpOw0KCQlyZXR1cm4gJHRoaXMtPmRiLT5hZmZlY3RlZF9yb3dzKCk7DQoJfQ0KfQ0KDQo/Pg==
</file>
<file type='file' name='../uc_client/model/friend.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogZnJpZW5kLnBocCx2IDEuMSAyMDA5LzA4LzExIDAzOjIxOjI0IGJsdCBFeHAgJA0KKi8NCg0KIWRlZmluZWQoJ0lOX1VDJykgJiYgZXhpdCgnQWNjZXNzIERlbmllZCcpOw0KDQpjbGFzcyBmcmllbmRtb2RlbCB7DQoNCgl2YXIgJGRiOw0KCXZhciAkYmFzZTsNCg0KCWZ1bmN0aW9uIF9fY29uc3RydWN0KCYkYmFzZSkgew0KCQkkdGhpcy0+ZnJpZW5kbW9kZWwoJGJhc2UpOw0KCX0NCg0KCWZ1bmN0aW9uIGZyaWVuZG1vZGVsKCYkYmFzZSkgew0KCQkkdGhpcy0+YmFzZSA9ICRiYXNlOw0KCQkkdGhpcy0+ZGIgPSAkYmFzZS0+ZGI7DQoJfQ0KDQoJZnVuY3Rpb24gYWRkKCR1aWQsICRmcmllbmRpZCwgJGNvbW1lbnQ9JycpIHsNCgkJJGRpcmVjdGlvbiA9ICR0aGlzLT5kYi0+cmVzdWx0X2ZpcnN0KCJTRUxFQ1QgZGlyZWN0aW9uIEZST00gIi5VQ19EQlRBQkxFUFJFLiJmcmllbmRzIFdIRVJFIHVpZD0nJGZyaWVuZGlkJyBBTkQgZnJpZW5kaWQ9JyR1aWQnIExJTUlUIDEiKTsNCgkJaWYoJGRpcmVjdGlvbiA9PSAxKSB7DQoJCQkkdGhpcy0+ZGItPnF1ZXJ5KCJJTlNFUlQgSU5UTyAiLlVDX0RCVEFCTEVQUkUuImZyaWVuZHMgU0VUIHVpZD0nJHVpZCcsIGZyaWVuZGlkPSckZnJpZW5kaWQnLCBjb21tZW50PSckY29tbWVudCcsIGRpcmVjdGlvbj0nMyciLCAnU0lMRU5UJyk7DQoJCQkkdGhpcy0+ZGItPnF1ZXJ5KCJVUERBVEUgIi5VQ19EQlRBQkxFUFJFLiJmcmllbmRzIFNFVCBkaXJlY3Rpb249JzMnIFdIRVJFIHVpZD0nJGZyaWVuZGlkJyBBTkQgZnJpZW5kaWQ9JyR1aWQnIik7DQoJCQlyZXR1cm4gMTsNCgkJfSBlbHNlaWYoJGRpcmVjdGlvbiA9PSAyKSB7DQoJCQlyZXR1cm4gMTsNCgkJfSBlbHNlaWYoJGRpcmVjdGlvbiA9PSAzKSB7DQoJCQlyZXR1cm4gLTE7DQoJCX0gZWxzZSB7DQoJCQkkdGhpcy0+ZGItPnF1ZXJ5KCJJTlNFUlQgSU5UTyAiLlVDX0RCVEFCTEVQUkUuImZyaWVuZHMgU0VUIHVpZD0nJHVpZCcsIGZyaWVuZGlkPSckZnJpZW5kaWQnLCBjb21tZW50PSckY29tbWVudCcsIGRpcmVjdGlvbj0nMSciLCAnU0lMRU5UJyk7DQoJCQlyZXR1cm4gJHRoaXMtPmRiLT5pbnNlcnRfaWQoKTsNCgkJfQ0KCX0NCg0KCWZ1bmN0aW9uIGRlbGV0ZSgkdWlkLCAkZnJpZW5kaWRzKSB7DQoJCSRmcmllbmRpZHMgPSAkdGhpcy0+YmFzZS0+aW1wbG9kZSgkZnJpZW5kaWRzKTsNCgkJJHRoaXMtPmRiLT5xdWVyeSgiREVMRVRFIEZST00gIi5VQ19EQlRBQkxFUFJFLiJmcmllbmRzIFdIRVJFIHVpZD0nJHVpZCcgQU5EIGZyaWVuZGlkIElOICgkZnJpZW5kaWRzKSIpOw0KCQkkYWZmZWN0ZWRyb3dzID0gJHRoaXMtPmRiLT5hZmZlY3RlZF9yb3dzKCk7DQoJCWlmKCRhZmZlY3RlZHJvd3MgPiAwKSB7DQoJCQkkdGhpcy0+ZGItPnF1ZXJ5KCJVUERBVEUgIi5VQ19EQlRBQkxFUFJFLiJmcmllbmRzIFNFVCBkaXJlY3Rpb249MSBXSEVSRSB1aWQgSU4gKCRmcmllbmRpZHMpIEFORCBmcmllbmRpZD0nJHVpZCcgQU5EIGRpcmVjdGlvbj0nMyciKTsNCgkJfQ0KCQlyZXR1cm4gJGFmZmVjdGVkcm93czsNCgl9DQoNCglmdW5jdGlvbiBnZXRfdG90YWxudW1fYnlfdWlkKCR1aWQsICRkaXJlY3Rpb24gPSAwKSB7DQoJCSRzcWxhZGQgPSAnJzsNCgkJaWYoJGRpcmVjdGlvbiA9PSAwKSB7DQoJCQkkc3FsYWRkID0gInVpZD0nJHVpZCciOw0KCQl9IGVsc2VpZigkZGlyZWN0aW9uID09IDEpIHsNCgkJCSRzcWxhZGQgPSAidWlkPSckdWlkJyBBTkQgZGlyZWN0aW9uPScxJyI7DQoJCX0gZWxzZWlmKCRkaXJlY3Rpb24gPT0gMikgew0KCQkJJHNxbGFkZCA9ICJmcmllbmRpZD0nJHVpZCcgQU5EIGRpcmVjdGlvbj0nMSciOw0KCQl9IGVsc2VpZigkZGlyZWN0aW9uID09IDMpIHsNCgkJCSRzcWxhZGQgPSAidWlkPSckdWlkJyBBTkQgZGlyZWN0aW9uPSczJyI7DQoJCX0NCgkJJHRvdGFsbnVtID0gJHRoaXMtPmRiLT5yZXN1bHRfZmlyc3QoIlNFTEVDVCBDT1VOVCgqKSBGUk9NICIuVUNfREJUQUJMRVBSRS4iZnJpZW5kcyBXSEVSRSAkc3FsYWRkIik7DQoJCXJldHVybiAkdG90YWxudW07DQoJfQ0KDQoJZnVuY3Rpb24gZ2V0X2xpc3QoJHVpZCwgJHBhZ2UsICRwYWdlc2l6ZSwgJHRvdGFsbnVtLCAkZGlyZWN0aW9uID0gMCkgew0KCQkkc3RhcnQgPSAkdGhpcy0+YmFzZS0+cGFnZV9nZXRfc3RhcnQoJHBhZ2UsICRwYWdlc2l6ZSwgJHRvdGFsbnVtKTsNCgkJJHNxbGFkZCA9ICcnOw0KCQlpZigkZGlyZWN0aW9uID09IDApIHsNCgkJCSRzcWxhZGQgPSAiZi51aWQ9JyR1aWQnIjsNCgkJfSBlbHNlaWYoJGRpcmVjdGlvbiA9PSAxKSB7DQoJCQkkc3FsYWRkID0gImYudWlkPSckdWlkJyBBTkQgZi5kaXJlY3Rpb249JzEnIjsNCgkJfSBlbHNlaWYoJGRpcmVjdGlvbiA9PSAyKSB7DQoJCQkkc3FsYWRkID0gImYuZnJpZW5kaWQ9JyR1aWQnIEFORCBmLmRpcmVjdGlvbj0nMSciOw0KCQl9IGVsc2VpZigkZGlyZWN0aW9uID09IDMpIHsNCgkJCSRzcWxhZGQgPSAiZi51aWQ9JyR1aWQnIEFORCBmLmRpcmVjdGlvbj0nMyciOw0KCQl9DQoJCWlmKCRzcWxhZGQpIHsNCgkJCSRkYXRhID0gJHRoaXMtPmRiLT5mZXRjaF9hbGwoIlNFTEVDVCBmLiosIG0udXNlcm5hbWUgRlJPTSAiLlVDX0RCVEFCTEVQUkUuImZyaWVuZHMgZiBMRUZUIEpPSU4gIi5VQ19EQlRBQkxFUFJFLiJtZW1iZXJzIG0gT04gZi5mcmllbmRpZD1tLnVpZCBXSEVSRSAkc3FsYWRkIExJTUlUICRzdGFydCwgJHBhZ2VzaXplIik7DQoJCQlyZXR1cm4gJGRhdGE7DQoJCX0gZWxzZSB7DQoJCQlyZXR1cm4gYXJyYXkoKTsNCgkJfQ0KCX0NCg0KCWZ1bmN0aW9uIGlzX2ZyaWVuZCgkdWlkLCAkZnJpZW5kaWRzLCAkZGlyZWN0aW9uID0gMCkgew0KCQkkZnJpZW5kaWRfc3RyID0gaW1wbG9kZSgiJywgJyIsICRmcmllbmRpZHMpOw0KCQkkc3FsYWRkID0gJyc7DQoJCWlmKCRkaXJlY3Rpb24gPT0gMCkgew0KCQkJJHNxbGFkZCA9ICJ1aWQ9JyR1aWQnIjsNCgkJfSBlbHNlaWYoJGRpcmVjdGlvbiA9PSAxKSB7DQoJCQkkc3FsYWRkID0gInVpZD0nJHVpZCcgQU5EIGZyaWVuZGlkIElOICgnJGZyaWVuZGlkX3N0cicpIEFORCBkaXJlY3Rpb249JzEnIjsNCgkJfSBlbHNlaWYoJGRpcmVjdGlvbiA9PSAyKSB7DQoJCQkkc3FsYWRkID0gImZyaWVuZGlkPSckdWlkJyBBTkQgdWlkIElOICgnJGZyaWVuZGlkX3N0cicpIEFORCBkaXJlY3Rpb249JzEnIjsNCgkJfSBlbHNlaWYoJGRpcmVjdGlvbiA9PSAzKSB7DQoJCQkkc3FsYWRkID0gInVpZD0nJHVpZCcgQU5EIGZyaWVuZGlkIElOICgnJGZyaWVuZGlkX3N0cicpIEFORCBkaXJlY3Rpb249JzMnIjsNCgkJfQ0KCQlpZigkdGhpcy0+ZGItPnJlc3VsdF9maXJzdCgiU0VMRUNUIENPVU5UKCopIEZST00gIi5VQ19EQlRBQkxFUFJFLiJmcmllbmRzIFdIRVJFICRzcWxhZGQiKSA9PSBjb3VudCgkZnJpZW5kaWRzKSkgew0KCQkJcmV0dXJuIHRydWU7DQoJCX0gZWxzZSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCgl9DQp9DQoNCj8+
</file>
<file type='file' name='../uc_client/model/index.htm'>
IA==
</file>
<file type='file' name='../uc_client/model/mail.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogbWFpbC5waHAsdiAxLjEgMjAwOS8wOC8xMSAwMzoyMToyNCBibHQgRXhwICQNCiovDQoNCiFkZWZpbmVkKCdJTl9VQycpICYmIGV4aXQoJ0FjY2VzcyBEZW5pZWQnKTsNCg0KZGVmaW5lKCdVQ19NQUlMX1JFUEVBVCcsIDUpOw0KDQpjbGFzcyBtYWlsbW9kZWwgew0KDQoJdmFyICRkYjsNCgl2YXIgJGJhc2U7DQoJdmFyICRhcHBzOw0KDQoJZnVuY3Rpb24gX19jb25zdHJ1Y3QoJiRiYXNlKSB7DQoJCSR0aGlzLT5tYWlsbW9kZWwoJGJhc2UpOw0KCX0NCg0KCWZ1bmN0aW9uIG1haWxtb2RlbCgmJGJhc2UpIHsNCgkJJHRoaXMtPmJhc2UgPSAkYmFzZTsNCgkJJHRoaXMtPmRiID0gJGJhc2UtPmRiOw0KCQkkdGhpcy0+YXBwcyA9ICYkdGhpcy0+YmFzZS0+Y2FjaGVbJ2FwcHMnXTsNCgl9DQoNCglmdW5jdGlvbiBnZXRfdG90YWxfbnVtKCkgew0KCQkkZGF0YSA9ICR0aGlzLT5kYi0+cmVzdWx0X2ZpcnN0KCJTRUxFQ1QgQ09VTlQoKikgRlJPTSAiLlVDX0RCVEFCTEVQUkUuIm1haWxxdWV1ZSIpOw0KCQlyZXR1cm4gJGRhdGE7DQoJfQ0KDQoJZnVuY3Rpb24gZ2V0X2xpc3QoJHBhZ2UsICRwcHAsICR0b3RhbG51bSkgew0KCQkkc3RhcnQgPSAkdGhpcy0+YmFzZS0+cGFnZV9nZXRfc3RhcnQoJHBhZ2UsICRwcHAsICR0b3RhbG51bSk7DQoJCSRkYXRhID0gJHRoaXMtPmRiLT5mZXRjaF9hbGwoIlNFTEVDVCBtLiosIHUudXNlcm5hbWUsIHUuZW1haWwgRlJPTSAiLlVDX0RCVEFCTEVQUkUuIm1haWxxdWV1ZSBtIExFRlQgSk9JTiAiLlVDX0RCVEFCTEVQUkUuIm1lbWJlcnMgdSBPTiBtLnRvdWlkPXUudWlkIE9SREVSIEJZIGRhdGVsaW5lIERFU0MgTElNSVQgJHN0YXJ0LCAkcHBwIik7DQoJCWZvcmVhY2goKGFycmF5KSRkYXRhIGFzICRrID0+ICR2KSB7DQoJCQkkZGF0YVska11bJ3N1YmplY3QnXSA9IGh0bWxzcGVjaWFsY2hhcnMoJHZbJ3N1YmplY3QnXSk7DQoJCQkkZGF0YVska11bJ3RvbWFpbCddID0gZW1wdHkoJHZbJ3RvbWFpbCddKSA/ICR2WydlbWFpbCddIDogJHZbJ3RvbWFpbCddOw0KCQkJJGRhdGFbJGtdWydkYXRlbGluZSddID0gJHZbJ2RhdGVsaW5lJ10gPyAkdGhpcy0+YmFzZS0+ZGF0ZSgkZGF0YVska11bJ2RhdGVsaW5lJ10pIDogJyc7DQoJCQkkZGF0YVska11bJ2FwcG5hbWUnXSA9ICR0aGlzLT5iYXNlLT5jYWNoZVsnYXBwcyddWyR2WydhcHBpZCddXVsnbmFtZSddOw0KCQl9DQoJCXJldHVybiAkZGF0YTsNCgl9DQoNCglmdW5jdGlvbiBkZWxldGVfbWFpbCgkaWRzKSB7DQoJCSRpZHMgPSAkdGhpcy0+YmFzZS0+aW1wbG9kZSgkaWRzKTsNCgkJJHRoaXMtPmRiLT5xdWVyeSgiREVMRVRFIEZST00gIi5VQ19EQlRBQkxFUFJFLiJtYWlscXVldWUgV0hFUkUgbWFpbGlkIElOICgkaWRzKSIpOw0KCQlyZXR1cm4gJHRoaXMtPmRiLT5hZmZlY3RlZF9yb3dzKCk7DQoJfQ0KDQoJZnVuY3Rpb24gYWRkKCRtYWlsKSB7DQoJCWlmKCRtYWlsWydsZXZlbCddKSB7DQoJCQkkc3FsID0gIklOU0VSVCBJTlRPICIuVUNfREJUQUJMRVBSRS4ibWFpbHF1ZXVlICh0b3VpZCwgdG9tYWlsLCBzdWJqZWN0LCBtZXNzYWdlLCBmcm9tbWFpbCwgY2hhcnNldCwgaHRtbG9uLCBsZXZlbCwgZGF0ZWxpbmUsIGZhaWx1cmVzLCBhcHBpZCkgVkFMVUVTICI7DQoJCQkkdmFsdWVzX2FyciA9IGFycmF5KCk7DQoJCQlmb3JlYWNoKCRtYWlsWyd1aWRzJ10gYXMgJHVpZCkgew0KCQkJCWlmKGVtcHR5KCR1aWQpKSBjb250aW51ZTsNCgkJCQkkdmFsdWVzX2FycltdID0gIignJHVpZCcsICcnLCAnJG1haWxbc3ViamVjdF0nLCAnJG1haWxbbWVzc2FnZV0nLCAnJG1haWxbZnJvbW1haWxdJywgJyRtYWlsW2NoYXJzZXRdJywgJyRtYWlsW2h0bWxvbl0nLCAnJG1haWxbbGV2ZWxdJywgJyRtYWlsW2RhdGVsaW5lXScsICcwJywgJyRtYWlsW2FwcGlkXScpIjsNCgkJCX0NCgkJCWZvcmVhY2goJG1haWxbJ2VtYWlscyddIGFzICRlbWFpbCkgew0KCQkJCWlmKGVtcHR5KCRlbWFpbCkpIGNvbnRpbnVlOw0KCQkJCSR2YWx1ZXNfYXJyW10gPSAiKCcnLCAnJGVtYWlsJywgJyRtYWlsW3N1YmplY3RdJywgJyRtYWlsW21lc3NhZ2VdJywgJyRtYWlsW2Zyb21tYWlsXScsICckbWFpbFtjaGFyc2V0XScsICckbWFpbFtodG1sb25dJywgJyRtYWlsW2xldmVsXScsICckbWFpbFtkYXRlbGluZV0nLCAnMCcsICckbWFpbFthcHBpZF0nKSI7DQoJCQl9DQoJCQkkc3FsIC49IGltcGxvZGUoJywnLCAkdmFsdWVzX2Fycik7DQoJCQkkdGhpcy0+ZGItPnF1ZXJ5KCRzcWwpOw0KCQkJJGluc2VydF9pZCA9ICR0aGlzLT5kYi0+aW5zZXJ0X2lkKCk7DQoJCQkkaW5zZXJ0X2lkICYmICR0aGlzLT5kYi0+cXVlcnkoIlJFUExBQ0UgSU5UTyAiLlVDX0RCVEFCTEVQUkUuInZhcnMgU0VUIG5hbWU9J21haWxleGlzdHMnLCB2YWx1ZT0nMSciKTsNCgkJCXJldHVybiAkaW5zZXJ0X2lkOw0KCQl9IGVsc2Ugew0KCQkJJG1haWxbJ2VtYWlsX3RvJ10gPSBhcnJheSgpOw0KCQkJJHVpZHMgPSAwOw0KCQkJZm9yZWFjaCgkbWFpbFsndWlkcyddIGFzICR1aWQpIHsNCgkJCQlpZihlbXB0eSgkdWlkKSkgY29udGludWU7DQoJCQkJJHVpZHMgLj0gJywnLiR1aWQ7DQoJCQl9DQoJCQkkdXNlcnMgPSAkdGhpcy0+ZGItPmZldGNoX2FsbCgiU0VMRUNUIHVpZCwgdXNlcm5hbWUsIGVtYWlsIEZST00gIi5VQ19EQlRBQkxFUFJFLiJtZW1iZXJzIFdIRVJFIHVpZCBJTiAoJHVpZHMpIik7DQoJCQlmb3JlYWNoKCR1c2VycyBhcyAkdikgew0KCQkJCSRtYWlsWydlbWFpbF90byddW10gPSAkdlsndXNlcm5hbWUnXS4nPCcuJHZbJ2VtYWlsJ10uJz4nOw0KCQkJfQ0KCQkJZm9yZWFjaCgkbWFpbFsnZW1haWxzJ10gYXMgJGVtYWlsKSB7DQoJCQkJaWYoZW1wdHkoJGVtYWlsKSkgY29udGludWU7DQoJCQkJJG1haWxbJ2VtYWlsX3RvJ11bXSA9ICRlbWFpbDsNCgkJCX0NCgkJCSRtYWlsWydtZXNzYWdlJ10gPSBzdHJfcmVwbGFjZSgnXCInLCAnIicsICRtYWlsWydtZXNzYWdlJ10pOw0KCQkJJG1haWxbJ2VtYWlsX3RvJ10gPSBpbXBsb2RlKCcsJywgJG1haWxbJ2VtYWlsX3RvJ10pOw0KCQkJcmV0dXJuICR0aGlzLT5zZW5kX29uZV9tYWlsKCRtYWlsKTsNCgkJfQ0KCX0NCg0KCWZ1bmN0aW9uIHNlbmQoKSB7DQoJCXJlZ2lzdGVyX3NodXRkb3duX2Z1bmN0aW9uKGFycmF5KCR0aGlzLCAnX3NlbmQnKSk7DQoJfQ0KDQoJZnVuY3Rpb24gX3NlbmQoKSB7DQoNCgkJJG1haWwgPSAkdGhpcy0+X2dldF9tYWlsKCk7DQoJCWlmKGVtcHR5KCRtYWlsKSkgew0KCQkJJHRoaXMtPmRiLT5xdWVyeSgiUkVQTEFDRSBJTlRPICIuVUNfREJUQUJMRVBSRS4idmFycyBTRVQgbmFtZT0nbWFpbGV4aXN0cycsIHZhbHVlPScwJyIpOw0KCQkJcmV0dXJuIE5VTEw7DQoJCX0gZWxzZSB7DQoJCQkkbWFpbFsnZW1haWxfdG8nXSA9ICRtYWlsWyd0b21haWwnXSA/ICRtYWlsWyd0b21haWwnXSA6ICRtYWlsWyd1c2VybmFtZSddLic8Jy4kbWFpbFsnZW1haWwnXS4nPic7DQoJCQlpZigkdGhpcy0+c2VuZF9vbmVfbWFpbCgkbWFpbCkpIHsNCgkJCQkkdGhpcy0+X2RlbGV0ZV9vbmVfbWFpbCgkbWFpbFsnbWFpbGlkJ10pOw0KCQkJCXJldHVybiB0cnVlOw0KCQkJfSBlbHNlIHsNCgkJCQkkdGhpcy0+X3VwZGF0ZV9mYWlsdXJlcygkbWFpbFsnbWFpbGlkJ10pOw0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0NCgkJfQ0KDQoJfQ0KDQoJZnVuY3Rpb24gc2VuZF9ieV9pZCgkbWFpbGlkKSB7DQoJCWlmICgkdGhpcy0+c2VuZF9vbmVfbWFpbCgkdGhpcy0+X2dldF9tYWlsX2J5X2lkKCRtYWlsaWQpKSkgew0KCQkJJHRoaXMtPl9kZWxldGVfb25lX21haWwoJG1haWxpZCk7DQoJCQlyZXR1cm4gdHJ1ZTsNCgkJfQ0KCX0NCg0KCWZ1bmN0aW9uIHNlbmRfb25lX21haWwoJG1haWwpIHsNCgkJaWYoZW1wdHkoJG1haWwpKSByZXR1cm47DQoJCSRtYWlsWydlbWFpbF90byddID0gJG1haWxbJ2VtYWlsX3RvJ10gPyAkbWFpbFsnZW1haWxfdG8nXSA6ICRtYWlsWyd1c2VybmFtZSddLic8Jy4kbWFpbFsnZW1haWwnXS4nPic7DQoJCSRtYWlsX3NldHRpbmcgPSAkdGhpcy0+YmFzZS0+c2V0dGluZ3M7DQoJCXJldHVybiBpbmNsdWRlIFVDX1JPT1QuJ2xpYi9zZW5kbWFpbC5pbmMucGhwJzsNCgl9DQoNCglmdW5jdGlvbiBfZ2V0X21haWwoKSB7DQoJCSRkYXRhID0gJHRoaXMtPmRiLT5mZXRjaF9maXJzdCgiU0VMRUNUIG0uKiwgdS51c2VybmFtZSwgdS5lbWFpbCBGUk9NICIuVUNfREJUQUJMRVBSRS4ibWFpbHF1ZXVlIG0gTEVGVCBKT0lOICIuVUNfREJUQUJMRVBSRS4ibWVtYmVycyB1IE9OIG0udG91aWQ9dS51aWQgV0hFUkUgZmFpbHVyZXM8JyIuVUNfTUFJTF9SRVBFQVQuIicgT1JERVIgQlkgbGV2ZWwgREVTQywgbWFpbGlkIEFTQyBMSU1JVCAxIik7DQoJCXJldHVybiAkZGF0YTsNCgl9DQoNCglmdW5jdGlvbiBfZ2V0X21haWxfYnlfaWQoJG1haWxpZCkgew0KCQkkZGF0YSA9ICR0aGlzLT5kYi0+ZmV0Y2hfZmlyc3QoIlNFTEVDVCBtLiosIHUudXNlcm5hbWUsIHUuZW1haWwgRlJPTSAiLlVDX0RCVEFCTEVQUkUuIm1haWxxdWV1ZSBtIExFRlQgSk9JTiAiLlVDX0RCVEFCTEVQUkUuIm1lbWJlcnMgdSBPTiBtLnRvdWlkPXUudWlkIFdIRVJFIG1haWxpZD0nJG1haWxpZCciKTsNCgkJcmV0dXJuICRkYXRhOw0KCX0NCg0KCWZ1bmN0aW9uIF9kZWxldGVfb25lX21haWwoJG1haWxpZCkgew0KCQkkbWFpbGlkID0gaW50dmFsKCRtYWlsaWQpOw0KCQlyZXR1cm4gJHRoaXMtPmRiLT5xdWVyeSgiREVMRVRFIEZST00gIi5VQ19EQlRBQkxFUFJFLiJtYWlscXVldWUgV0hFUkUgbWFpbGlkPSckbWFpbGlkJyIpOw0KCX0NCg0KCWZ1bmN0aW9uIF91cGRhdGVfZmFpbHVyZXMoJG1haWxpZCkgew0KCQkkbWFpbGlkID0gaW50dmFsKCRtYWlsaWQpOw0KCQlyZXR1cm4gJHRoaXMtPmRiLT5xdWVyeSgiVVBEQVRFICIuVUNfREJUQUJMRVBSRS4ibWFpbHF1ZXVlIFNFVCBmYWlsdXJlcz1mYWlsdXJlcysxIFdIRVJFIG1haWxpZD0nJG1haWxpZCciKTsNCgl9DQp9DQoNCj8+
</file>
<file type='file' name='../uc_client/model/misc.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogbWlzYy5waHAsdiAxLjEgMjAwOS8wOC8xMSAwMzoyMToyNCBibHQgRXhwICQNCiovDQoNCiFkZWZpbmVkKCdJTl9VQycpICYmIGV4aXQoJ0FjY2VzcyBEZW5pZWQnKTsNCg0KZGVmaW5lKCdVQ19BUlJBWV9TRVBfMScsICdVQ19BUlJBWV9TRVBfMScpOw0KZGVmaW5lKCdVQ19BUlJBWV9TRVBfMicsICdVQ19BUlJBWV9TRVBfMicpOw0KDQpjbGFzcyBtaXNjbW9kZWwgew0KDQoJdmFyICRkYjsNCgl2YXIgJGJhc2U7DQoNCglmdW5jdGlvbiBfX2NvbnN0cnVjdCgmJGJhc2UpIHsNCgkJJHRoaXMtPm1pc2Ntb2RlbCgkYmFzZSk7DQoJfQ0KDQoJZnVuY3Rpb24gbWlzY21vZGVsKCYkYmFzZSkgew0KCQkkdGhpcy0+YmFzZSA9ICRiYXNlOw0KCQkkdGhpcy0+ZGIgPSAkYmFzZS0+ZGI7DQoJfQ0KDQoJZnVuY3Rpb24gZ2V0X2FwcHMoJGNvbCA9ICcqJywgJHdoZXJlID0gJycpIHsNCgkJJGFyciA9ICR0aGlzLT5kYi0+ZmV0Y2hfYWxsKCJTRUxFQ1QgJGNvbCBGUk9NICIuVUNfREJUQUJMRVBSRS4iYXBwbGljYXRpb25zIi4oJHdoZXJlID8gJyBXSEVSRSAnLiR3aGVyZSA6ICcnKSk7DQoJCXJldHVybiAkYXJyOw0KCX0NCg0KCWZ1bmN0aW9uIGRlbGV0ZV9hcHBzKCRhcHBpZHMpIHsNCgl9DQoNCglmdW5jdGlvbiB1cGRhdGVfYXBwKCRhcHBpZCwgJG5hbWUsICR1cmwsICRhdXRoa2V5LCAkY2hhcnNldCwgJGRiY2hhcnNldCkgew0KCX0NCg0KCS8vcHJpdmF0ZQ0KCWZ1bmN0aW9uIGFsdGVyX2FwcF90YWJsZSgkYXBwaWQsICRvcGVyYXRpb24gPSAnQUREJykgew0KCX0NCg0KCWZ1bmN0aW9uIGdldF9ob3N0X2J5X3VybCgkdXJsKSB7DQoJfQ0KDQoJZnVuY3Rpb24gY2hlY2tfdXJsKCR1cmwpIHsNCgl9DQoNCglmdW5jdGlvbiBjaGVja19pcCgkdXJsKSB7DQoJfQ0KDQoJZnVuY3Rpb24gdGVzdF9hcGkoJHVybCwgJGlwID0gJycpIHsNCgl9DQoNCglmdW5jdGlvbiBkZm9wZW4yKCR1cmwsICRsaW1pdCA9IDAsICRwb3N0ID0gJycsICRjb29raWUgPSAnJywgJGJ5c29ja2V0ID0gRkFMU0UsICRpcCA9ICcnLCAkdGltZW91dCA9IDE1LCAkYmxvY2sgPSBUUlVFLCAkZW5jb2RldHlwZSAgPSAnVVJMRU5DT0RFJykgew0KCQkkX190aW1lc19fID0gaXNzZXQoJF9HRVRbJ19fdGltZXNfXyddKSA/IGludHZhbCgkX0dFVFsnX190aW1lc19fJ10pICsgMSA6IDE7DQoJCWlmKCRfX3RpbWVzX18gPiAyKSB7DQoJCQlyZXR1cm4gJyc7DQoJCX0NCgkJJHVybCAuPSAoc3RycG9zKCR1cmwsICc/JykgPT09IEZBTFNFID8gJz8nIDogJyYnKS4iX190aW1lc19fPSRfX3RpbWVzX18iOw0KCQlyZXR1cm4gJHRoaXMtPmRmb3BlbigkdXJsLCAkbGltaXQsICRwb3N0LCAkY29va2llLCAkYnlzb2NrZXQsICRpcCwgJHRpbWVvdXQsICRibG9jaywgJGVuY29kZXR5cGUpOw0KCX0NCg0KCWZ1bmN0aW9uIGRmb3BlbigkdXJsLCAkbGltaXQgPSAwLCAkcG9zdCA9ICcnLCAkY29va2llID0gJycsICRieXNvY2tldCA9IEZBTFNFCSwgJGlwID0gJycsICR0aW1lb3V0ID0gMTUsICRibG9jayA9IFRSVUUsICRlbmNvZGV0eXBlICA9ICdVUkxFTkNPREUnKSB7DQoJCS8vZXJyb3JfbG9nKCJbdWNfY2xpZW50XVxyXG51cmw6ICR1cmxcclxucG9zdDogJHBvc3RcclxuXHJcbiIsIDMsICdjOi9sb2cvcGhwX2ZvcGVuLnR4dCcpOw0KCQkkcmV0dXJuID0gJyc7DQoJCSRtYXRjaGVzID0gcGFyc2VfdXJsKCR1cmwpOw0KCQkkaG9zdCA9ICRtYXRjaGVzWydob3N0J107DQoJCSRwYXRoID0gJG1hdGNoZXNbJ3BhdGgnXSA/ICRtYXRjaGVzWydwYXRoJ10uKCRtYXRjaGVzWydxdWVyeSddID8gJz8nLiRtYXRjaGVzWydxdWVyeSddIDogJycpIDogJy8nOw0KCQkkcG9ydCA9ICFlbXB0eSgkbWF0Y2hlc1sncG9ydCddKSA/ICRtYXRjaGVzWydwb3J0J10gOiA4MDsNCg0KCQlpZigkcG9zdCkgew0KCQkJJG91dCA9ICJQT1NUICRwYXRoIEhUVFAvMS4wXHJcbiI7DQoJCQkkb3V0IC49ICJBY2NlcHQ6ICovKlxyXG4iOw0KCQkJLy8kb3V0IC49ICJSZWZlcmVyOiAkYm9hcmR1cmxcclxuIjsNCgkJCSRvdXQgLj0gIkFjY2VwdC1MYW5ndWFnZTogemgtY25cclxuIjsNCgkJCSRib3VuZGFyeSA9ICRlbmNvZGV0eXBlID09ICdVUkxFTkNPREUnID8gJycgOiAnOycuc3Vic3RyKCRwb3N0LCAwLCB0cmltKHN0cnBvcygkcG9zdCwgIlxuIikpKTsNCgkJCSRvdXQgLj0gJGVuY29kZXR5cGUgPT0gJ1VSTEVOQ09ERScgPyAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcclxuIiA6ICJDb250ZW50LVR5cGU6IG11bHRpcGFydC9mb3JtLWRhdGEkYm91bmRhcnlcclxuIjsNCgkJCSRvdXQgLj0gIlVzZXItQWdlbnQ6ICRfU0VSVkVSW0hUVFBfVVNFUl9BR0VOVF1cclxuIjsNCgkJCSRvdXQgLj0gIkhvc3Q6ICRob3N0XHJcbiI7DQoJCQkkb3V0IC49ICdDb250ZW50LUxlbmd0aDogJy5zdHJsZW4oJHBvc3QpLiJcclxuIjsNCgkJCSRvdXQgLj0gIkNvbm5lY3Rpb246IENsb3NlXHJcbiI7DQoJCQkkb3V0IC49ICJDYWNoZS1Db250cm9sOiBuby1jYWNoZVxyXG4iOw0KCQkJJG91dCAuPSAiQ29va2llOiAkY29va2llXHJcblxyXG4iOw0KCQkJJG91dCAuPSAkcG9zdDsNCgkJfSBlbHNlIHsNCgkJCSRvdXQgPSAiR0VUICRwYXRoIEhUVFAvMS4wXHJcbiI7DQoJCQkkb3V0IC49ICJBY2NlcHQ6ICovKlxyXG4iOw0KCQkJLy8kb3V0IC49ICJSZWZlcmVyOiAkYm9hcmR1cmxcclxuIjsNCgkJCSRvdXQgLj0gIkFjY2VwdC1MYW5ndWFnZTogemgtY25cclxuIjsNCgkJCSRvdXQgLj0gIlVzZXItQWdlbnQ6ICRfU0VSVkVSW0hUVFBfVVNFUl9BR0VOVF1cclxuIjsNCgkJCSRvdXQgLj0gIkhvc3Q6ICRob3N0XHJcbiI7DQoJCQkkb3V0IC49ICJDb25uZWN0aW9uOiBDbG9zZVxyXG4iOw0KCQkJJG91dCAuPSAiQ29va2llOiAkY29va2llXHJcblxyXG4iOw0KCQl9DQoJCSRmcCA9IEBmc29ja29wZW4oKCRpcCA/ICRpcCA6ICRob3N0KSwgJHBvcnQsICRlcnJubywgJGVycnN0ciwgJHRpbWVvdXQpOw0KCQlpZighJGZwKSB7DQoJCQlyZXR1cm4gJyc7DQoJCX0gZWxzZSB7DQoJCQlzdHJlYW1fc2V0X2Jsb2NraW5nKCRmcCwgJGJsb2NrKTsNCgkJCXN0cmVhbV9zZXRfdGltZW91dCgkZnAsICR0aW1lb3V0KTsNCgkJCUBmd3JpdGUoJGZwLCAkb3V0KTsNCgkJCSRzdGF0dXMgPSBzdHJlYW1fZ2V0X21ldGFfZGF0YSgkZnApOw0KCQkJaWYoISRzdGF0dXNbJ3RpbWVkX291dCddKSB7DQoJCQkJd2hpbGUgKCFmZW9mKCRmcCkpIHsNCgkJCQkJaWYoKCRoZWFkZXIgPSBAZmdldHMoJGZwKSkgJiYgKCRoZWFkZXIgPT0gIlxyXG4iIHx8ICAkaGVhZGVyID09ICJcbiIpKSB7DQoJCQkJCQlicmVhazsNCgkJCQkJfQ0KCQkJCX0NCg0KCQkJCSRzdG9wID0gZmFsc2U7DQoJCQkJd2hpbGUoIWZlb2YoJGZwKSAmJiAhJHN0b3ApIHsNCgkJCQkJJGRhdGEgPSBmcmVhZCgkZnAsICgkbGltaXQgPT0gMCB8fCAkbGltaXQgPiA4MTkyID8gODE5MiA6ICRsaW1pdCkpOw0KCQkJCQkkcmV0dXJuIC49ICRkYXRhOw0KCQkJCQlpZigkbGltaXQpIHsNCgkJCQkJCSRsaW1pdCAtPSBzdHJsZW4oJGRhdGEpOw0KCQkJCQkJJHN0b3AgPSAkbGltaXQgPD0gMDsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJCUBmY2xvc2UoJGZwKTsNCgkJCXJldHVybiAkcmV0dXJuOw0KCQl9DQoJfQ0KDQoJZnVuY3Rpb24gYXJyYXkyc3RyaW5nKCRhcnIpIHsNCgkJJHMgPSAkc2VwID0gJyc7DQoJCWlmKCRhcnIgJiYgaXNfYXJyYXkoJGFycikpIHsNCgkJCWZvcmVhY2goJGFyciBhcyAkayA9PiAkdikgew0KCQkJCSRzIC49ICRzZXAuJGsuVUNfQVJSQVlfU0VQXzEuJHY7DQoJCQkJJHNlcCA9IFVDX0FSUkFZX1NFUF8yOw0KCQkJfQ0KCQl9DQoJCXJldHVybiAkczsNCgl9DQoNCglmdW5jdGlvbiBzdHJpbmcyYXJyYXkoJHMpIHsNCgkJJGFyciA9IGV4cGxvZGUoVUNfQVJSQVlfU0VQXzIsICRzKTsNCgkJJGFycjIgPSBhcnJheSgpOw0KCQlmb3JlYWNoKCRhcnIgYXMgJGsgPT4gJHYpIHsNCgkJCWxpc3QoJGtleSwgJHZhbCkgPSBleHBsb2RlKFVDX0FSUkFZX1NFUF8xLCAkdik7DQoJCQkkYXJyMlska2V5XSA9ICR2YWw7DQoJCX0NCgkJcmV0dXJuICRhcnIyOw0KCX0NCn0NCg0KPz4=
</file>
<file type='file' name='../uc_client/model/note.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogbm90ZS5waHAsdiAxLjEgMjAwOS8wOC8xMSAwMzoyMToyNCBibHQgRXhwICQNCiovDQoNCiFkZWZpbmVkKCdJTl9VQycpICYmIGV4aXQoJ0FjY2VzcyBEZW5pZWQnKTsNCg0KZGVmaW5lKCdVQ19OT1RFX1JFUEVBVCcsIDUpOw0KZGVmaW5lKCdVQ19OT1RFX1RJTUVPVVQnLCAxNSk7DQpkZWZpbmUoJ1VDX05PVEVfR0MnLCAxMDAwMCk7DQoNCmRlZmluZSgnQVBJX1JFVFVSTl9GQUlMRUQnLCAnLTEnKTsNCg0KY2xhc3Mgbm90ZW1vZGVsIHsNCg0KCXZhciAkZGI7DQoJdmFyICRiYXNlOw0KCXZhciAkYXBwczsNCgl2YXIgJG9wZXJhdGlvbnMgPSBhcnJheSgpOw0KCXZhciAkbm90ZXR5cGUgPSAnSFRUUCc7DQoNCglmdW5jdGlvbiBfX2NvbnN0cnVjdCgmJGJhc2UpIHsNCgkJJHRoaXMtPm5vdGVtb2RlbCgkYmFzZSk7DQoJfQ0KDQoJZnVuY3Rpb24gbm90ZW1vZGVsKCYkYmFzZSkgew0KCQkkdGhpcy0+YmFzZSA9ICRiYXNlOw0KCQkkdGhpcy0+ZGIgPSAkYmFzZS0+ZGI7DQoJCSR0aGlzLT5hcHBzID0gJHRoaXMtPmJhc2UtPmNhY2hlKCdhcHBzJyk7DQoJCSR0aGlzLT5vcGVyYXRpb25zID0gYXJyYXkoDQoJCQkndGVzdCc9PmFycmF5KCcnLCAnYWN0aW9uPXRlc3QnKSwNCgkJCSdkZWxldGV1c2VyJz0+YXJyYXkoJycsICdhY3Rpb249ZGVsZXRldXNlcicpLA0KCQkJJ3JlbmFtZXVzZXInPT5hcnJheSgnJywgJ2FjdGlvbj1yZW5hbWV1c2VyJyksDQoJCQknZGVsZXRlZnJpZW5kJz0+YXJyYXkoJycsICdhY3Rpb249ZGVsZXRlZnJpZW5kJyksDQoJCQknZ2V0dGFnJz0+YXJyYXkoJycsICdhY3Rpb249Z2V0dGFnJywgJ3RhZycsICd1cGRhdGVkYXRhJyksDQoJCQknZ2V0Y3JlZGl0c2V0dGluZ3MnPT5hcnJheSgnJywgJ2FjdGlvbj1nZXRjcmVkaXRzZXR0aW5ncycpLA0KCQkJJ2dldGNyZWRpdCc9PmFycmF5KCcnLCAnYWN0aW9uPWdldGNyZWRpdCcpLA0KCQkJJ3VwZGF0ZWNyZWRpdHNldHRpbmdzJz0+YXJyYXkoJycsICdhY3Rpb249dXBkYXRlY3JlZGl0c2V0dGluZ3MnKSwNCgkJCSd1cGRhdGVjbGllbnQnPT5hcnJheSgnJywgJ2FjdGlvbj11cGRhdGVjbGllbnQnKSwNCgkJCSd1cGRhdGVwdyc9PmFycmF5KCcnLCAnYWN0aW9uPXVwZGF0ZXB3JyksDQoJCQkndXBkYXRlYmFkd29yZHMnPT5hcnJheSgnJywgJ2FjdGlvbj11cGRhdGViYWR3b3JkcycpLA0KCQkJJ3VwZGF0ZWhvc3RzJz0+YXJyYXkoJycsICdhY3Rpb249dXBkYXRlaG9zdHMnKSwNCgkJCSd1cGRhdGVhcHBzJz0+YXJyYXkoJycsICdhY3Rpb249dXBkYXRlYXBwcycpLA0KCQkJJ3VwZGF0ZWNyZWRpdCc9PmFycmF5KCcnLCAnYWN0aW9uPXVwZGF0ZWNyZWRpdCcpLA0KCQkpOw0KCX0NCg0KCWZ1bmN0aW9uIGdldF90b3RhbF9udW0oJGFsbCA9IFRSVUUpIHsNCgl9DQoNCglmdW5jdGlvbiBnZXRfbGlzdCgkcGFnZSwgJHBwcCwgJHRvdGFsbnVtLCAkYWxsID0gVFJVRSkgew0KCX0NCg0KCWZ1bmN0aW9uIGRlbGV0ZV9ub3RlKCRpZHMpIHsNCgl9DQoNCglmdW5jdGlvbiBhZGQoJG9wZXJhdGlvbiwgJGdldGRhdGE9JycsICRwb3N0ZGF0YT0nJywgJGFwcGlkcz1hcnJheSgpLCAkcHJpID0gMCkgew0KCQkkZXh0cmEgPSAkdmFyZXh0cmEgPSAnJzsNCgkJJGFwcGFkZCA9ICR2YXJhZGQgPSBhcnJheSgpOw0KCQlmb3JlYWNoKChhcnJheSkkdGhpcy0+YXBwcyBhcyAkYXBwaWQgPT4gJGFwcCkgew0KCQkJJGFwcGlkID0gJGFwcFsnYXBwaWQnXTsNCgkJCWlmKCRhcHBpZCA9PSBpbnR2YWwoJGFwcGlkKSkgew0KCQkJCWlmKCRhcHBpZHMgJiYgIWluX2FycmF5KCRhcHBpZCwgJGFwcGlkcykpIHsNCgkJCQkJJGFwcGFkZFtdID0gJ2FwcCcuJGFwcGlkLiI9JzEnIjsNCgkJCQl9IGVsc2Ugew0KCQkJCQkkdmFyYWRkW10gPSAiKCdub3RlZXhpc3RzeyRhcHBpZH0nLCAnMScpIjsNCgkJCQl9DQoJCQl9DQoJCX0NCgkJaWYoJGFwcGFkZCkgew0KCQkJJGV4dHJhID0gaW1wbG9kZSgnLCcsICRhcHBhZGQpOw0KCQkJJGV4dHJhID0gJGV4dHJhID8gJywgJy4kZXh0cmEgOiAnJzsNCgkJfQ0KCQlpZigkdmFyYWRkKSB7DQoJCQkkdmFyZXh0cmEgPSBpbXBsb2RlKCcsICcsICR2YXJhZGQpOw0KCQkJJHZhcmV4dHJhID0gJHZhcmV4dHJhID8gJywgJy4kdmFyZXh0cmEgOiAnJzsNCgkJfQ0KDQoJCSRnZXRkYXRhID0gYWRkc2xhc2hlcygkZ2V0ZGF0YSk7DQoJCSRwb3N0ZGF0YSA9IGFkZHNsYXNoZXMoJHBvc3RkYXRhKTsNCgkJJHRoaXMtPmRiLT5xdWVyeSgiSU5TRVJUIElOVE8gIi5VQ19EQlRBQkxFUFJFLiJub3RlbGlzdCBTRVQgZ2V0ZGF0YT0nJGdldGRhdGEnLCBvcGVyYXRpb249JyRvcGVyYXRpb24nLCBwcmk9JyRwcmknLCBwb3N0ZGF0YT0nJHBvc3RkYXRhJyRleHRyYSIpOw0KCQkkaW5zZXJ0X2lkID0gJHRoaXMtPmRiLT5pbnNlcnRfaWQoKTsNCgkJJGluc2VydF9pZCAmJiAkdGhpcy0+ZGItPnF1ZXJ5KCJSRVBMQUNFIElOVE8gIi5VQ19EQlRBQkxFUFJFLiJ2YXJzIChuYW1lLCB2YWx1ZSkgVkFMVUVTICgnbm90ZWV4aXN0cycsICcxJykkdmFyZXh0cmEiKTsNCgkJcmV0dXJuICRpbnNlcnRfaWQ7DQoJfQ0KDQoJZnVuY3Rpb24gc2VuZCgpIHsNCgkJcmVnaXN0ZXJfc2h1dGRvd25fZnVuY3Rpb24oYXJyYXkoJHRoaXMsICdfc2VuZCcpKTsNCgl9DQoNCglmdW5jdGlvbiBfc2VuZCgpIHsNCg0KDQoJCSRub3RlID0gJHRoaXMtPl9nZXRfbm90ZSgpOw0KCQlpZihlbXB0eSgkbm90ZSkpIHsNCgkJCSR0aGlzLT5kYi0+cXVlcnkoIlJFUExBQ0UgSU5UTyAiLlVDX0RCVEFCTEVQUkUuInZhcnMgU0VUIG5hbWU9J25vdGVleGlzdHMiLlVDX0FQUElELiInLCB2YWx1ZT0nMCciKTsNCgkJCXJldHVybiBOVUxMOw0KCQl9DQoNCgkJJHRoaXMtPnNlbmRvbmUoVUNfQVBQSUQsIDAsICRub3RlKTsNCg0KCQkkdGhpcy0+X2djKCk7DQoJfQ0KDQoJZnVuY3Rpb24gc2VuZG9uZSgkYXBwaWQsICRub3RlaWQgPSAwLCAkbm90ZSA9ICcnKSB7DQoJCXJlcXVpcmVfb25jZSBVQ19ST09ULicuL2xpYi94bWwuY2xhc3MucGhwJzsNCgkJJHJldHVybiA9IEZBTFNFOw0KCQkkYXBwID0gJHRoaXMtPmFwcHNbJGFwcGlkXTsNCgkJaWYoJG5vdGVpZCkgew0KCQkJJG5vdGUgPSAkdGhpcy0+X2dldF9ub3RlX2J5X2lkKCRub3RlaWQpOw0KCQl9DQoJCSR0aGlzLT5iYXNlLT5sb2FkKCdtaXNjJyk7DQoJCSRhcGlmaWxlbmFtZSA9IGlzc2V0KCRhcHBbJ2FwaWZpbGVuYW1lJ10pICYmICRhcHBbJ2FwaWZpbGVuYW1lJ10gPyAkYXBwWydhcGlmaWxlbmFtZSddIDogJ3VjLnBocCc7DQoJCWlmKCRhcHBbJ2V4dHJhJ11bJ2FwcHBhdGgnXSAmJiBAaW5jbHVkZSAkYXBwWydleHRyYSddWydhcHBwYXRoJ10uJy4vYXBpLycuJGFwaWZpbGVuYW1lKSB7DQoJCQkkdWNfbm90ZSA9IG5ldyB1Y19ub3RlKCk7DQoJCQkkbWV0aG9kID0gJG5vdGVbJ29wZXJhdGlvbiddOw0KCQkJaWYoaXNfc3RyaW5nKCRtZXRob2QpICYmICFlbXB0eSgkbWV0aG9kKSkgew0KCQkJCXBhcnNlX3N0cigkbm90ZVsnZ2V0ZGF0YSddLCAkbm90ZVsnZ2V0ZGF0YSddKTsNCgkJCQlpZihnZXRfbWFnaWNfcXVvdGVzX2dwYygpKSB7DQoJCQkJCSRub3RlWydnZXRkYXRhJ10gPSAkdGhpcy0+YmFzZS0+ZHN0cmlwc2xhc2hlcygkbm90ZVsnZ2V0ZGF0YSddKTsNCgkJCQl9DQoJCQkJJG5vdGVbJ3Bvc3RkYXRhJ10gPSB4bWxfdW5zZXJpYWxpemUoJG5vdGVbJ3Bvc3RkYXRhJ10pOw0KCQkJCSRyZXNwb25zZSA9ICR1Y19ub3RlLT4kbWV0aG9kKCRub3RlWydnZXRkYXRhJ10sICRub3RlWydwb3N0ZGF0YSddKTsNCgkJCX0NCgkJCXVuc2V0KCR1Y19ub3RlKTsNCgkJfSBlbHNlIHsNCgkJCSR1cmwgPSAkdGhpcy0+Z2V0X3VybF9jb2RlKCRub3RlWydvcGVyYXRpb24nXSwgJG5vdGVbJ2dldGRhdGEnXSwgJGFwcGlkKTsNCgkJCSRub3RlWydwb3N0ZGF0YSddID0gc3RyX3JlcGxhY2UoYXJyYXkoIlxuIiwgIlxyIiksICcnLCAkbm90ZVsncG9zdGRhdGEnXSk7DQoJCQkkcmVzcG9uc2UgPSB0cmltKCRfRU5WWydtaXNjJ10tPmRmb3BlbjIoJHVybCwgMCwgJG5vdGVbJ3Bvc3RkYXRhJ10sICcnLCAxLCAkYXBwWydpcCddLCBVQ19OT1RFX1RJTUVPVVQsIFRSVUUpKTsNCgkJfQ0KDQoJCSRyZXR1cm5zdWNjZWVkID0gJHJlc3BvbnNlICE9ICcnICYmICgkcmVzcG9uc2UgPT0gMSB8fCBpc19hcnJheSh4bWxfdW5zZXJpYWxpemUoJHJlc3BvbnNlKSkpOw0KDQoJCSRjbG9zZWRzcWxhZGQgPSAkdGhpcy0+X2Nsb3NlX25vdGUoJG5vdGUsICR0aGlzLT5hcHBzLCAkcmV0dXJuc3VjY2VlZCwgJGFwcGlkKSA/ICIsY2xvc2VkPScxJyIgOiAnJzsvLw0KDQoJCWlmKCRyZXR1cm5zdWNjZWVkKSB7DQoJCQlpZigkdGhpcy0+b3BlcmF0aW9uc1skbm90ZVsnb3BlcmF0aW9uJ11dWzJdKSB7DQoJCQkJJHRoaXMtPmJhc2UtPmxvYWQoJHRoaXMtPm9wZXJhdGlvbnNbJG5vdGVbJ29wZXJhdGlvbiddXVsyXSk7DQoJCQkJJGZ1bmMgPSAkdGhpcy0+b3BlcmF0aW9uc1skbm90ZVsnb3BlcmF0aW9uJ11dWzNdOw0KCQkJCSRfRU5WWyR0aGlzLT5vcGVyYXRpb25zWyRub3RlWydvcGVyYXRpb24nXV1bMl1dLT4kZnVuYygkYXBwaWQsICRyZXNwb25zZSk7DQoJCQl9DQoJCQkkdGhpcy0+ZGItPnF1ZXJ5KCJVUERBVEUgIi5VQ19EQlRBQkxFUFJFLiJub3RlbGlzdCBTRVQgYXBwJGFwcGlkPScxJywgdG90YWxudW09dG90YWxudW0rMSwgc3VjY2VlZG51bT1zdWNjZWVkbnVtKzEsIGRhdGVsaW5lPSd7JHRoaXMtPmJhc2UtPnRpbWV9JyAkY2xvc2Vkc3FsYWRkIFdIRVJFIG5vdGVpZD0nJG5vdGVbbm90ZWlkXSciLCAnU0lMRU5UJyk7DQoJCQkkcmV0dXJuID0gVFJVRTsNCgkJfSBlbHNlIHsNCgkJCSR0aGlzLT5kYi0+cXVlcnkoIlVQREFURSAiLlVDX0RCVEFCTEVQUkUuIm5vdGVsaXN0IFNFVCBhcHAkYXBwaWQgPSBhcHAkYXBwaWQtJzEnLCB0b3RhbG51bT10b3RhbG51bSsxLCBkYXRlbGluZT0neyR0aGlzLT5iYXNlLT50aW1lfScgJGNsb3NlZHNxbGFkZCBXSEVSRSBub3RlaWQ9JyRub3RlW25vdGVpZF0nIiwgJ1NJTEVOVCcpOw0KCQkJJHJldHVybiA9IEZBTFNFOw0KCQl9DQoJCXJldHVybiAkcmV0dXJuOw0KCX0NCg0KCWZ1bmN0aW9uIF9nZXRfbm90ZSgpIHsNCgkJJGFwcF9maWVsZCA9ICdhcHAnLlVDX0FQUElEOw0KCQkkZGF0YSA9ICR0aGlzLT5kYi0+ZmV0Y2hfZmlyc3QoIlNFTEVDVCAqIEZST00gIi5VQ19EQlRBQkxFUFJFLiJub3RlbGlzdCBXSEVSRSBjbG9zZWQ9JzAnIEFORCAkYXBwX2ZpZWxkPCcxJyBBTkQgJGFwcF9maWVsZD4nLSIuVUNfTk9URV9SRVBFQVQuIicgTElNSVQgMSIpOw0KCQlyZXR1cm4gJGRhdGE7DQoJfQ0KDQoJZnVuY3Rpb24gX2djKCkgew0KCQlyYW5kKDAsIFVDX05PVEVfR0MpID09IDAgJiYgJHRoaXMtPmRiLT5xdWVyeSgiREVMRVRFIEZST00gIi5VQ19EQlRBQkxFUFJFLiJub3RlbGlzdCBXSEVSRSBjbG9zZWQ9JzEnIik7DQoJfQ0KDQoJZnVuY3Rpb24gX2Nsb3NlX25vdGUoJG5vdGUsICRhcHBzLCAkcmV0dXJuc3VjY2VlZCwgJGFwcGlkKSB7DQoJCSRub3RlWydhcHAnLiRhcHBpZF0gPSAkcmV0dXJuc3VjY2VlZCA/IDEgOiAkbm90ZVsnYXBwJy4kYXBwaWRdIC0gMTsNCgkJJGFwcGNvdW50ID0gY291bnQoJGFwcHMpOw0KCQlmb3JlYWNoKCRhcHBzIGFzICRrZXkgPT4gJGFwcCkgew0KCQkJJGFwcHN0YXR1cyA9ICRub3RlWydhcHAnLiRhcHBbJ2FwcGlkJ11dOw0KCQkJaWYoISRhcHBbJ3JlY3Zub3RlJ10gfHwgJGFwcHN0YXR1cyA9PSAxIHx8ICRhcHBzdGF0dXMgPD0gLVVDX05PVEVfUkVQRUFUKSB7DQoJCQkJJGFwcGNvdW50LS07DQoJCQl9DQoJCX0NCgkJaWYoJGFwcGNvdW50IDwgMSkgew0KCQkJcmV0dXJuIFRSVUU7DQoJCQkvLyRjbG9zZWRzcWxhZGQgPSAiLGNsb3NlZD0nMSciOw0KCQl9DQoJfQ0KDQoJZnVuY3Rpb24gX2dldF9ub3RlX2J5X2lkKCRub3RlaWQpIHsNCgkJJGRhdGEgPSAkdGhpcy0+ZGItPmZldGNoX2ZpcnN0KCJTRUxFQ1QgKiBGUk9NICIuVUNfREJUQUJMRVBSRS4ibm90ZWxpc3QgV0hFUkUgbm90ZWlkPSckbm90ZWlkJyIpOw0KCQlyZXR1cm4gJGRhdGE7DQoJfQ0KDQoJZnVuY3Rpb24gZ2V0X3VybF9jb2RlKCRvcGVyYXRpb24sICRnZXRkYXRhLCAkYXBwaWQpIHsNCgkJJGFwcCA9ICR0aGlzLT5hcHBzWyRhcHBpZF07DQoJCSRhdXRoa2V5ID0gVUNfS0VZOw0KCQkkdXJsID0gJGFwcFsndXJsJ107DQoJCSRhcGlmaWxlbmFtZSA9IGlzc2V0KCRhcHBbJ2FwaWZpbGVuYW1lJ10pICYmICRhcHBbJ2FwaWZpbGVuYW1lJ10gPyAkYXBwWydhcGlmaWxlbmFtZSddIDogJ3VjLnBocCc7DQoJCSRhY3Rpb24gPSAkdGhpcy0+b3BlcmF0aW9uc1skb3BlcmF0aW9uXVsxXTsNCgkJJGNvZGUgPSB1cmxlbmNvZGUoJHRoaXMtPmJhc2UtPmF1dGhjb2RlKCIkYWN0aW9uJiIuKCRnZXRkYXRhID8gIiRnZXRkYXRhJiIgOiAnJykuInRpbWU9Ii4kdGhpcy0+YmFzZS0+dGltZSwgJ0VOQ09ERScsICRhdXRoa2V5KSk7DQoJCXJldHVybiAkdXJsLiIvYXBpLyRhcGlmaWxlbmFtZT9jb2RlPSRjb2RlIjsNCgl9DQoNCn0NCg0KPz4=
</file>
<file type='file' name='../uc_client/model/pm.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogcG0ucGhwLHYgMS4xIDIwMDkvMDgvMTEgMDM6MjE6MjQgYmx0IEV4cCAkDQoqLw0KDQohZGVmaW5lZCgnSU5fVUMnKSAmJiBleGl0KCdBY2Nlc3MgRGVuaWVkJyk7DQoNCmNsYXNzIHBtbW9kZWwgew0KDQoJdmFyICRkYjsNCgl2YXIgJGJhc2U7DQoJZnVuY3Rpb24gX19jb25zdHJ1Y3QoJiRiYXNlKSB7DQoJCSR0aGlzLT5wbW1vZGVsKCRiYXNlKTsNCgl9DQoNCglmdW5jdGlvbiBwbW1vZGVsKCYkYmFzZSkgew0KCQkkdGhpcy0+YmFzZSA9ICRiYXNlOw0KCQkkdGhpcy0+ZGIgPSAkYmFzZS0+ZGI7DQoJfQ0KDQoJZnVuY3Rpb24gcG1pbnR2YWwoJHBtaWQpIHsNCgkJcmV0dXJuIEBpc19udW1lcmljKCRwbWlkKSA/ICRwbWlkIDogMDsNCgl9DQoNCglmdW5jdGlvbiBnZXRfcG1fYnlfcG1pZCgkdWlkLCAkcG1pZCkgew0KCQkkYXJyID0gJHRoaXMtPmRiLT5mZXRjaF9hbGwoIlNFTEVDVCAqIEZST00gIi5VQ19EQlRBQkxFUFJFLiJwbXMgV0hFUkUgcG1pZD0nJHBtaWQnIEFORCAobXNndG9pZCBJTiAoJyR1aWQnLCcwJykgT1IgbXNnZnJvbWlkPSckdWlkJykiKTsNCgkJcmV0dXJuICRhcnI7DQoJfQ0KDQoJZnVuY3Rpb24gZ2V0X3BtX2J5X3RvdWlkKCR1aWQsICR0b3VpZCwgJHN0YXJ0dGltZSwgJGVuZHRpbWUpIHsNCgkJJGFycjEgPSAkdGhpcy0+ZGItPmZldGNoX2FsbCgiU0VMRUNUICogRlJPTSAiLlVDX0RCVEFCTEVQUkUuInBtcyBXSEVSRSBtc2dmcm9taWQ9JyR1aWQnIEFORCBtc2d0b2lkPSckdG91aWQnIEFORCBkYXRlbGluZT49JyRzdGFydHRpbWUnIEFORCBkYXRlbGluZTwnJGVuZHRpbWUnIEFORCByZWxhdGVkPicwJyBBTkQgZGVsc3RhdHVzIElOICgwLDIpIE9SREVSIEJZIGRhdGVsaW5lIik7DQoJCSRhcnIyID0gJHRoaXMtPmRiLT5mZXRjaF9hbGwoIlNFTEVDVCAqIEZST00gIi5VQ19EQlRBQkxFUFJFLiJwbXMgV0hFUkUgbXNnZnJvbWlkPSckdG91aWQnIEFORCBtc2d0b2lkPSckdWlkJyBBTkQgZGF0ZWxpbmU+PSckc3RhcnR0aW1lJyBBTkQgZGF0ZWxpbmU8JyRlbmR0aW1lJyBBTkQgcmVsYXRlZD4nMCcgQU5EIGRlbHN0YXR1cyBJTiAoMCwxKSBPUkRFUiBCWSBkYXRlbGluZSIpOw0KCQkkYXJyID0gYXJyYXlfbWVyZ2UoJGFycjEsICRhcnIyKTsNCgkJdWFzb3J0KCRhcnIsICdwbV9kYXRlbGluZXNvcnQnKTsNCgkJcmV0dXJuICRhcnI7DQoJfQ0KDQoJZnVuY3Rpb24gZ2V0X3Btbm9kZV9ieV9wbWlkKCR1aWQsICRwbWlkLCAkdHlwZSA9IDApIHsNCgkJJGFyciA9IGFycmF5KCk7DQoJCWlmKCR0eXBlID09IDEpIHsNCgkJCSRhcnIgPSAkdGhpcy0+ZGItPmZldGNoX2ZpcnN0KCJTRUxFQ1QgKiBGUk9NICIuVUNfREJUQUJMRVBSRS4icG1zIFdIRVJFIG1zZ2Zyb21pZD0nJHVpZCcgYW5kIGZvbGRlcj0naW5ib3gnIE9SREVSIEJZIGRhdGVsaW5lIERFU0MgTElNSVQgMSIpOw0KCQl9IGVsc2VpZigkdHlwZSA9PSAyKSB7DQoJCQkkYXJyID0gJHRoaXMtPmRiLT5mZXRjaF9maXJzdCgiU0VMRUNUICogRlJPTSAiLlVDX0RCVEFCTEVQUkUuInBtcyBXSEVSRSBtc2d0b2lkPSckdWlkJyBhbmQgZm9sZGVyPSdpbmJveCcgT1JERVIgQlkgZGF0ZWxpbmUgREVTQyBMSU1JVCAxIik7DQoJCX0gZWxzZSB7DQoJCQkkYXJyID0gJHRoaXMtPmRiLT5mZXRjaF9maXJzdCgiU0VMRUNUICogRlJPTSAiLlVDX0RCVEFCTEVQUkUuInBtcyBXSEVSRSBwbWlkPSckcG1pZCciKTsNCgkJfQ0KCQlyZXR1cm4gJGFycjsNCgl9DQoNCglmdW5jdGlvbiBzZXRfcG1fc3RhdHVzKCR1aWQsICR0b3VpZCwgJHBtaWQgPSAwLCAkc3RhdHVzID0gMCkgew0KCQlpZighJHN0YXR1cykgew0KCQkJJG9sZHN0YXR1cyA9IDE7DQoJCQkkbmV3c3RhdHVzID0gMDsNCgkJfSBlbHNlIHsNCgkJCSRvbGRzdGF0dXMgPSAwOw0KCQkJJG5ld3N0YXR1cyA9IDE7DQoJCX0NCgkJaWYoJHRvdWlkKSB7DQoJCQkkaWRzID0gaXNfYXJyYXkoJHRvdWlkKSA/ICR0aGlzLT5iYXNlLT5pbXBsb2RlKCR0b3VpZCkgOiAkdG91aWQ7DQoJCQkkdGhpcy0+ZGItPnF1ZXJ5KCJVUERBVEUgIi5VQ19EQlRBQkxFUFJFLiJwbXMgU0VUIG5ldz0nJG5ld3N0YXR1cycgV0hFUkUgbXNnZnJvbWlkIElOICgkaWRzKSBBTkQgbXNndG9pZD0nJHVpZCcgQU5EIG5ldz0nJG9sZHN0YXR1cyciLCAnVU5CVUZGRVJFRCcpOw0KCQl9DQoJCWlmKCRwbWlkKSB7DQoJCQkkaWRzID0gaXNfYXJyYXkoJHBtaWQpID8gJHRoaXMtPmJhc2UtPmltcGxvZGUoJHBtaWQpIDogJHBtaWQ7DQoJCQkkdGhpcy0+ZGItPnF1ZXJ5KCJVUERBVEUgIi5VQ19EQlRBQkxFUFJFLiJwbXMgU0VUIG5ldz0nJG5ld3N0YXR1cycgV0hFUkUgcG1pZCBJTiAoJGlkcykgQU5EIG1zZ3RvaWQ9JyR1aWQnIEFORCBuZXc9JyRvbGRzdGF0dXMnIiwgJ1VOQlVGRkVSRUQnKTsNCgkJfQ0KCX0NCg0KCWZ1bmN0aW9uIGdldF9wbV9udW0oKSB7DQoJfQ0KDQoJZnVuY3Rpb24gZ2V0X251bSgkdWlkLCAkZm9sZGVyLCAkZmlsdGVyID0gJycpIHsNCgkJc3dpdGNoKCRmb2xkZXIpIHsNCgkJCWNhc2UgJ25ld2JveCc6DQoJCQkJJHNxbCA9ICJTRUxFQ1QgY291bnQoKikgRlJPTSAiLlVDX0RCVEFCTEVQUkUuInBtcyBXSEVSRSBtc2d0b2lkPSckdWlkJyBBTkQgKHJlbGF0ZWQ9JzAnIEFORCBtc2dmcm9taWQ+JzAnIE9SIG1zZ2Zyb21pZD0nMCcpIEFORCBmb2xkZXI9J2luYm94JyBBTkQgbmV3PScxJyI7DQoJCQkJJG51bSA9ICR0aGlzLT5kYi0+cmVzdWx0X2ZpcnN0KCRzcWwpOw0KCQkJCXJldHVybiAkbnVtOw0KCQkJY2FzZSAnb3V0Ym94JzoNCgkJCWNhc2UgJ2luYm94JzoNCgkJCQlpZigkZmlsdGVyID09ICduZXdwbScpIHsNCgkJCQkJJGZpbHRlcmFkZCA9ICJtc2d0b2lkPSckdWlkJyBBTkQgKHJlbGF0ZWQ9JzAnIEFORCBtc2dmcm9taWQ+JzAnIE9SIG1zZ2Zyb21pZD0nMCcpIEFORCBmb2xkZXI9J2luYm94JyBBTkQgbmV3PScxJyI7DQoJCQkJfSBlbHNlaWYoJGZpbHRlciA9PSAnc3lzdGVtcG0nKSB7DQoJCQkJCSRmaWx0ZXJhZGQgPSAibXNndG9pZD0nJHVpZCcgQU5EIG1zZ2Zyb21pZD0nMCcgQU5EIGZvbGRlcj0naW5ib3gnIjsNCgkJCQl9IGVsc2VpZigkZmlsdGVyID09ICdwcml2YXRlcG0nKSB7DQoJCQkJCSRmaWx0ZXJhZGQgPSAibXNndG9pZD0nJHVpZCcgQU5EIHJlbGF0ZWQ9JzAnIEFORCBtc2dmcm9taWQ+JzAnIEFORCBmb2xkZXI9J2luYm94JyI7DQoJCQkJfSBlbHNlaWYoJGZpbHRlciA9PSAnYW5ub3VuY2VwbScpIHsNCgkJCQkJJGZpbHRlcmFkZCA9ICJtc2d0b2lkPScwJyBBTkQgZm9sZGVyPSdpbmJveCciOw0KCQkJCX0gZWxzZSB7DQoJCQkJCSRmaWx0ZXJhZGQgPSAibXNndG9pZD0nJHVpZCcgQU5EIHJlbGF0ZWQ9JzAnIEFORCBmb2xkZXI9J2luYm94JyI7DQoJCQkJfQ0KCQkJCSRzcWwgPSAiU0VMRUNUIGNvdW50KCopIEZST00gIi5VQ19EQlRBQkxFUFJFLiJwbXMgV0hFUkUgJGZpbHRlcmFkZCI7DQoJCQkJYnJlYWs7DQoJCQljYXNlICdzYXZlYm94JzoNCgkJCQlicmVhazsNCgkJfQ0KCQkkbnVtID0gJHRoaXMtPmRiLT5yZXN1bHRfZmlyc3QoJHNxbCk7DQoJCXJldHVybiAkbnVtOw0KCX0NCg0KCWZ1bmN0aW9uIGdldF9wbV9saXN0KCR1aWQsICRwbW51bSwgJGZvbGRlciwgJGZpbHRlciwgJHN0YXJ0LCAkcHBwID0gMTApIHsNCgkJJHBwcCA9ICRwcHAgPyAkcHBwIDogMTA7DQoJCXN3aXRjaCgkZm9sZGVyKSB7DQoJCQljYXNlICduZXdib3gnOg0KCQkJCSRmb2xkZXIgPSAnaW5ib3gnOw0KCQkJCSRmaWx0ZXIgPSAnbmV3cG0nOw0KCQkJY2FzZSAnb3V0Ym94JzoNCgkJCWNhc2UgJ2luYm94JzoNCgkJCQlpZigkZmlsdGVyID09ICduZXdwbScpIHsNCgkJCQkJJGZpbHRlcmFkZCA9ICJwbS5tc2d0b2lkPSckdWlkJyBBTkQgKHBtLnJlbGF0ZWQ9JzAnIEFORCBwbS5tc2dmcm9taWQ+JzAnIE9SIHBtLm1zZ2Zyb21pZD0nMCcpIEFORCBwbS5mb2xkZXI9J2luYm94JyBBTkQgcG0ubmV3PScxJyI7DQoJCQkJfSBlbHNlaWYoJGZpbHRlciA9PSAnc3lzdGVtcG0nKSB7DQoJCQkJCSRmaWx0ZXJhZGQgPSAicG0ubXNndG9pZD0nJHVpZCcgQU5EIHBtLm1zZ2Zyb21pZD0nMCcgQU5EIHBtLmZvbGRlcj0naW5ib3gnIjsNCgkJCQl9IGVsc2VpZigkZmlsdGVyID09ICdwcml2YXRlcG0nKSB7DQoJCQkJCSRmaWx0ZXJhZGQgPSAicG0ubXNndG9pZD0nJHVpZCcgQU5EIHBtLnJlbGF0ZWQ9JzAnIEFORCBwbS5tc2dmcm9taWQ+JzAnIEFORCBwbS5mb2xkZXI9J2luYm94JyI7DQoJCQkJfSBlbHNlaWYoJGZpbHRlciA9PSAnYW5ub3VuY2VwbScpIHsNCgkJCQkJJGZpbHRlcmFkZCA9ICJwbS5tc2d0b2lkPScwJyBBTkQgcG0uZm9sZGVyPSdpbmJveCciOw0KCQkJCX0gZWxzZSB7DQoJCQkJCSRmaWx0ZXJhZGQgPSAicG0ubXNndG9pZD0nJHVpZCcgQU5EIHBtLnJlbGF0ZWQ9JzAnIEFORCBwbS5mb2xkZXI9J2luYm94JyI7DQoJCQkJfQ0KCQkJCSRzcWwgPSAiU0VMRUNUIHBtLiosbS51c2VybmFtZSBhcyBtc2dmcm9tIEZST00gIi5VQ19EQlRBQkxFUFJFLiJwbXMgcG0NCgkJCQkJTEVGVCBKT0lOICIuVUNfREJUQUJMRVBSRS4ibWVtYmVycyBtIE9OIHBtLm1zZ2Zyb21pZCA9IG0udWlkDQoJCQkJCVdIRVJFICRmaWx0ZXJhZGQgT1JERVIgQlkgcG0uZGF0ZWxpbmUgREVTQyBMSU1JVCAkc3RhcnQsICRwcHAiOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAnc2VhcmNoYm94JzoNCgkJCQkkZmlsdGVyYWRkID0gIm1zZ3RvaWQ9JyR1aWQnIEFORCBmb2xkZXI9J2luYm94JyBBTkQgbWVzc2FnZSBMSUtFICclIi4oc3RyX3JlcGxhY2UoJ18nLCAnXF8nLCBhZGRjc2xhc2hlcygkZmlsdGVyLCAnJV8nKSkpLiIlJyI7DQoJCQkJJHNxbCA9ICJTRUxFQ1QgKiBGUk9NICIuVUNfREJUQUJMRVBSRS4icG1zDQoJCQkJCVdIRVJFICRmaWx0ZXJhZGQgT1JERVIgQlkgZGF0ZWxpbmUgREVTQyBMSU1JVCAkc3RhcnQsICRwcHAiOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAnc2F2ZWJveCc6DQoJCQkJYnJlYWs7DQoJCX0NCgkJJHF1ZXJ5ID0gJHRoaXMtPmRiLT5xdWVyeSgkc3FsKTsNCgkJJGFycmF5ID0gYXJyYXkoKTsNCgkJJHRvZGF5ID0gJHRoaXMtPmJhc2UtPnRpbWUgLSAkdGhpcy0+YmFzZS0+dGltZSAlIDg2NDAwOw0KCQl3aGlsZSgkZGF0YSA9ICR0aGlzLT5kYi0+ZmV0Y2hfYXJyYXkoJHF1ZXJ5KSkgew0KCQkJJGRhdGVyYW5nZSA9IDU7DQoJCQlpZigkZGF0YVsnZGF0ZWxpbmUnXSA+PSAkdG9kYXkpIHsNCgkJCQkkZGF0ZXJhbmdlID0gMTsNCgkJCX0gZWxzZWlmKCRkYXRhWydkYXRlbGluZSddID49ICR0b2RheSAtIDg2NDAwKSB7DQoJCQkJJGRhdGVyYW5nZSA9IDI7DQoJCQl9IGVsc2VpZigkZGF0YVsnZGF0ZWxpbmUnXSA+PSAkdG9kYXkgLSAxNzI4MDApIHsNCgkJCQkkZGF0ZXJhbmdlID0gMzsNCgkJCX0gZWxzZWlmKCRkYXRhWydkYXRlbGluZSddID49ICR0b2RheSAtIDYwNDgwMCkgew0KCQkJCSRkYXRlcmFuZ2UgPSA0Ow0KCQkJfQ0KCQkJJGRhdGFbJ2RhdGVyYW5nZSddID0gJGRhdGVyYW5nZTsNCgkJCSRkYXRhWydzdWJqZWN0J10gPSBodG1sc3BlY2lhbGNoYXJzKCRkYXRhWydzdWJqZWN0J10pOw0KCQkJaWYoJGZpbHRlciA9PSAnYW5ub3VuY2VwbScpIHsNCgkJCQl1bnNldCgkZGF0YVsnbXNnZnJvbWlkJ10sICRkYXRhWydtc2dmcm9tJ10pOw0KCQkJfQ0KCQkJJGRhdGFbJ3RvdWlkJ10gPSAkdWlkID09ICRkYXRhWydtc2dmcm9taWQnXSA/ICRkYXRhWydtc2d0b2lkJ10gOiAkZGF0YVsnbXNnZnJvbWlkJ107DQoJCQkkYXJyYXlbXSA9ICRkYXRhOw0KCQl9DQoJCWlmKCRmb2xkZXIgPT0gJ2luYm94Jykgew0KCQkJJHRoaXMtPmRiLT5xdWVyeSgiREVMRVRFIEZST00gIi5VQ19EQlRBQkxFUFJFLiJuZXdwbSBXSEVSRSB1aWQ9JyR1aWQnIiwgJ1VOQlVGRkVSRUQnKTsNCgkJfQ0KCQlyZXR1cm4gJGFycmF5Ow0KCX0NCg0KCWZ1bmN0aW9uIHNlbmRwbSgkc3ViamVjdCwgJG1lc3NhZ2UsICRtc2dmcm9tLCAkbXNndG8sICRyZWxhdGVkID0gMCkgew0KCQlpZigkbXNnZnJvbVsndWlkJ10gJiYgJG1zZ2Zyb21bJ3VpZCddID09ICRtc2d0bykgew0KCQkJcmV0dXJuIDA7DQoJCX0NCgkJJF9DQUNIRVsnYmFkd29yZHMnXSA9ICR0aGlzLT5iYXNlLT5jYWNoZSgnYmFkd29yZHMnKTsNCgkJaWYoJF9DQUNIRVsnYmFkd29yZHMnXVsnZmluZHBhdHRlcm4nXSkgew0KCQkJJHN1YmplY3QgPSBAcHJlZ19yZXBsYWNlKCRfQ0FDSEVbJ2JhZHdvcmRzJ11bJ2ZpbmRwYXR0ZXJuJ10sICRfQ0FDSEVbJ2JhZHdvcmRzJ11bJ3JlcGxhY2UnXSwgJHN1YmplY3QpOw0KCQkJJG1lc3NhZ2UgPSBAcHJlZ19yZXBsYWNlKCRfQ0FDSEVbJ2JhZHdvcmRzJ11bJ2ZpbmRwYXR0ZXJuJ10sICRfQ0FDSEVbJ2JhZHdvcmRzJ11bJ3JlcGxhY2UnXSwgJG1lc3NhZ2UpOw0KCQl9DQoNCgkJJGJveCA9ICdpbmJveCc7DQoJCSRzdWJqZWN0ID0gdHJpbSgkc3ViamVjdCk7DQoJCWlmKCRzdWJqZWN0ID09ICcnICYmICEkcmVsYXRlZCkgew0KCQkJJHN1YmplY3QgPSAkdGhpcy0+cmVtb3ZlY29kZSh0cmltKCRtZXNzYWdlKSwgNzUpOw0KCQl9IGVsc2Ugew0KCQkJJHN1YmplY3QgPSAkdGhpcy0+YmFzZS0+Y3V0c3RyKHRyaW0oJHN1YmplY3QpLCA3NSwgJyAnKTsNCgkJfQ0KDQoJCWlmKCRtc2dmcm9tWyd1aWQnXSkgew0KCQkJJHNlc3Npb25leGlzdCA9ICR0aGlzLT5kYi0+cmVzdWx0X2ZpcnN0KCJTRUxFQ1QgY291bnQoKikgRlJPTSAiLlVDX0RCVEFCTEVQUkUuInBtcyBXSEVSRSBtc2dmcm9taWQ9JyRtc2dmcm9tW3VpZF0nIEFORCBtc2d0b2lkPSckbXNndG8nIEFORCBmb2xkZXI9J2luYm94JyBBTkQgcmVsYXRlZD0nMCciKTsNCgkJCWlmKCEkc2Vzc2lvbmV4aXN0IHx8ICRzZXNzaW9uZXhpc3QgPiAxKSB7DQoJCQkJaWYoJHNlc3Npb25leGlzdCA+IDEpIHsNCgkJCQkJJHRoaXMtPmRiLT5xdWVyeSgiREVMRVRFIEZST00gIi5VQ19EQlRBQkxFUFJFLiJwbXMgV0hFUkUgbXNnZnJvbWlkPSckbXNnZnJvbVt1aWRdJyBBTkQgbXNndG9pZD0nJG1zZ3RvJyBBTkQgZm9sZGVyPSdpbmJveCcgQU5EIHJlbGF0ZWQ9JzAnIik7DQoJCQkJfQ0KCQkJCSR0aGlzLT5kYi0+cXVlcnkoIklOU0VSVCBJTlRPICIuVUNfREJUQUJMRVBSRS4icG1zIChtc2dmcm9tLG1zZ2Zyb21pZCxtc2d0b2lkLGZvbGRlcixuZXcsc3ViamVjdCxkYXRlbGluZSxyZWxhdGVkLG1lc3NhZ2UsZnJvbWFwcGlkKSBWQUxVRVMNCgkJCQkJKCciLiRtc2dmcm9tWyd1c2VybmFtZSddLiInLCciLiRtc2dmcm9tWyd1aWQnXS4iJywnJG1zZ3RvJywnJGJveCcsJzEnLCckc3ViamVjdCcsJyIuJHRoaXMtPmJhc2UtPnRpbWUuIicsJzAnLCckbWVzc2FnZScsJyIuJHRoaXMtPmJhc2UtPmFwcFsnYXBwaWQnXS4iJykiKTsNCgkJCQkkbGFzdHBtaWQgPSAkdGhpcy0+ZGItPmluc2VydF9pZCgpOw0KCQkJfSBlbHNlIHsNCgkJCQkkdGhpcy0+ZGItPnF1ZXJ5KCJVUERBVEUgIi5VQ19EQlRBQkxFUFJFLiJwbXMgU0VUIHN1YmplY3Q9JyRzdWJqZWN0JywgbWVzc2FnZT0nJG1lc3NhZ2UnLCBkYXRlbGluZT0nIi4kdGhpcy0+YmFzZS0+dGltZS4iJywgbmV3PScxJywgZnJvbWFwcGlkPSciLiR0aGlzLT5iYXNlLT5hcHBbJ2FwcGlkJ10uIicNCgkJCQkJV0hFUkUgbXNnZnJvbWlkPSckbXNnZnJvbVt1aWRdJyBBTkQgbXNndG9pZD0nJG1zZ3RvJyBBTkQgZm9sZGVyPSdpbmJveCcgQU5EIHJlbGF0ZWQ9JzAnIik7DQoJCQl9DQoJCQlpZighJHNhdmVib3gpIHsNCgkJCQkkc2Vzc2lvbmV4aXN0ID0gJHRoaXMtPmRiLT5yZXN1bHRfZmlyc3QoIlNFTEVDVCBjb3VudCgqKSBGUk9NICIuVUNfREJUQUJMRVBSRS4icG1zIFdIRVJFIG1zZ2Zyb21pZD0nJG1zZ3RvJyBBTkQgbXNndG9pZD0nJG1zZ2Zyb21bdWlkXScgQU5EIGZvbGRlcj0naW5ib3gnIEFORCByZWxhdGVkPScwJyIpOw0KCQkJCWlmKCRtc2dmcm9tWyd1aWQnXSAmJiAhJHNlc3Npb25leGlzdCkgew0KCQkJCQkkdGhpcy0+ZGItPnF1ZXJ5KCJJTlNFUlQgSU5UTyAiLlVDX0RCVEFCTEVQUkUuInBtcyAobXNnZnJvbSxtc2dmcm9taWQsbXNndG9pZCxmb2xkZXIsbmV3LHN1YmplY3QsZGF0ZWxpbmUscmVsYXRlZCxtZXNzYWdlLGZyb21hcHBpZCkgVkFMVUVTDQoJCQkJCQkoJyIuJG1zZ2Zyb21bJ3VzZXJuYW1lJ10uIicsJyRtc2d0bycsJyIuJG1zZ2Zyb21bJ3VpZCddLiInLCckYm94JywnMCcsJyRzdWJqZWN0JywnIi4kdGhpcy0+YmFzZS0+dGltZS4iJywnMCcsJyRtZXNzYWdlJywnMCcpIik7DQoJCQkJfQ0KCQkJCSR0aGlzLT5kYi0+cXVlcnkoIklOU0VSVCBJTlRPICIuVUNfREJUQUJMRVBSRS4icG1zIChtc2dmcm9tLG1zZ2Zyb21pZCxtc2d0b2lkLGZvbGRlcixuZXcsc3ViamVjdCxkYXRlbGluZSxyZWxhdGVkLG1lc3NhZ2UsZnJvbWFwcGlkKSBWQUxVRVMNCgkJCQkJKCciLiRtc2dmcm9tWyd1c2VybmFtZSddLiInLCciLiRtc2dmcm9tWyd1aWQnXS4iJywnJG1zZ3RvJywnJGJveCcsJzEnLCckc3ViamVjdCcsJyIuJHRoaXMtPmJhc2UtPnRpbWUuIicsJzEnLCckbWVzc2FnZScsJyIuJHRoaXMtPmJhc2UtPmFwcFsnYXBwaWQnXS4iJykiKTsNCgkJCQkkbGFzdHBtaWQgPSAkdGhpcy0+ZGItPmluc2VydF9pZCgpOw0KCQkJfQ0KCQl9IGVsc2Ugew0KCQkJJHRoaXMtPmRiLT5xdWVyeSgiSU5TRVJUIElOVE8gIi5VQ19EQlRBQkxFUFJFLiJwbXMgKG1zZ2Zyb20sbXNnZnJvbWlkLG1zZ3RvaWQsZm9sZGVyLG5ldyxzdWJqZWN0LGRhdGVsaW5lLHJlbGF0ZWQsbWVzc2FnZSxmcm9tYXBwaWQpIFZBTFVFUw0KCQkJCSgnIi4kbXNnZnJvbVsndXNlcm5hbWUnXS4iJywnIi4kbXNnZnJvbVsndWlkJ10uIicsJyRtc2d0bycsJyRib3gnLCcxJywnJHN1YmplY3QnLCciLiR0aGlzLT5iYXNlLT50aW1lLiInLCcwJywnJG1lc3NhZ2UnLCciLiR0aGlzLT5iYXNlLT5hcHBbJ2FwcGlkJ10uIicpIik7DQoJCQkkbGFzdHBtaWQgPSAkdGhpcy0+ZGItPmluc2VydF9pZCgpOw0KCQl9DQoJCSR0aGlzLT5kYi0+cXVlcnkoIlJFUExBQ0UgSU5UTyAiLlVDX0RCVEFCTEVQUkUuIm5ld3BtICh1aWQpIFZBTFVFUyAoJyRtc2d0bycpIik7DQoJCXJldHVybiAkbGFzdHBtaWQ7DQoJfQ0KDQoJZnVuY3Rpb24gc2V0X2lnbm9yZSgkdWlkKSB7DQoJCSR0aGlzLT5kYi0+cXVlcnkoIkRFTEVURSBGUk9NICIuVUNfREJUQUJMRVBSRS4ibmV3cG0gV0hFUkUgdWlkPSckdWlkJyIpOw0KCX0NCg0KCWZ1bmN0aW9uIGNoZWNrX25ld3BtKCR1aWQsICRtb3JlKSB7DQoJCWlmKCRtb3JlIDwgMikgew0KCQkJJG5ld3BtID0gJHRoaXMtPmRiLT5yZXN1bHRfZmlyc3QoIlNFTEVDVCBjb3VudCgqKSBGUk9NICIuVUNfREJUQUJMRVBSRS4ibmV3cG0gV0hFUkUgdWlkPSckdWlkJyIpOw0KCQkJaWYoJG5ld3BtKSB7DQoJCQkJJG5ld3BtID0gJHRoaXMtPmRiLT5yZXN1bHRfZmlyc3QoIlNFTEVDVCBjb3VudCgqKSBGUk9NICIuVUNfREJUQUJMRVBSRS4icG1zIFdIRVJFIChyZWxhdGVkPScwJyBBTkQgbXNnZnJvbWlkPicwJyBPUiBtc2dmcm9taWQ9JzAnKSBBTkQgbXNndG9pZD0nJHVpZCcgQU5EIGZvbGRlcj0naW5ib3gnIEFORCBuZXc9JzEnIik7DQoJCQkJaWYoJG1vcmUpIHsNCgkJCQkJJG5ld3BydnBtID0gJHRoaXMtPmRiLT5yZXN1bHRfZmlyc3QoIlNFTEVDVCBjb3VudCgqKSBGUk9NICIuVUNfREJUQUJMRVBSRS4icG1zIFdIRVJFIHJlbGF0ZWQ9JzAnIEFORCBtc2dmcm9taWQ+JzAnIEFORCBtc2d0b2lkPSckdWlkJyBBTkQgZm9sZGVyPSdpbmJveCcgQU5EIG5ldz0nMSciKTsNCgkJCQkJcmV0dXJuIGFycmF5KCduZXdwbScgPT4gJG5ld3BtLCAnbmV3cHJpdmF0ZXBtJyA9PiAkbmV3cHJ2cG0pOw0KCQkJCX0gZWxzZSB7DQoJCQkJCXJldHVybiAkbmV3cG07DQoJCQkJfQ0KCQkJfQ0KCQl9IGVsc2Ugew0KCQkJJG5ld3BtID0gJHRoaXMtPmRiLT5yZXN1bHRfZmlyc3QoIlNFTEVDVCBjb3VudCgqKSBGUk9NICIuVUNfREJUQUJMRVBSRS4icG1zIFdIRVJFIChyZWxhdGVkPScwJyBBTkQgbXNnZnJvbWlkPicwJyBPUiBtc2dmcm9taWQ9JzAnKSBBTkQgbXNndG9pZD0nJHVpZCcgQU5EIGZvbGRlcj0naW5ib3gnIEFORCBuZXc9JzEnIik7DQoJCQkkbmV3cHJ2cG0gPSAkdGhpcy0+ZGItPnJlc3VsdF9maXJzdCgiU0VMRUNUIGNvdW50KCopIEZST00gIi5VQ19EQlRBQkxFUFJFLiJwbXMgV0hFUkUgcmVsYXRlZD0nMCcgQU5EIG1zZ2Zyb21pZD4nMCcgQU5EIG1zZ3RvaWQ9JyR1aWQnIEFORCBmb2xkZXI9J2luYm94JyBBTkQgbmV3PScxJyIpOw0KCQkJaWYoJG1vcmUgPT0gMiB8fCAkbW9yZSA9PSAzKSB7DQoJCQkJJGFubnBtID0gJHRoaXMtPmRiLT5yZXN1bHRfZmlyc3QoIlNFTEVDVCBjb3VudCgqKSBGUk9NICIuVUNfREJUQUJMRVBSRS4icG1zIFdIRVJFIHJlbGF0ZWQ9JzAnIEFORCBtc2d0b2lkPScwJyBBTkQgZm9sZGVyPSdpbmJveCciKTsNCgkJCQkkc3lzcG0gPSAkdGhpcy0+ZGItPnJlc3VsdF9maXJzdCgiU0VMRUNUIGNvdW50KCopIEZST00gIi5VQ19EQlRBQkxFUFJFLiJwbXMgV0hFUkUgcmVsYXRlZD0nMCcgQU5EIG1zZ3RvaWQ9JyR1aWQnIEFORCBmb2xkZXI9J2luYm94JyBBTkQgbXNnZnJvbWlkPScwJyIpOw0KCQkJfQ0KCQkJaWYoJG1vcmUgPT0gMikgew0KCQkJCXJldHVybiBhcnJheSgnbmV3cG0nID0+ICRuZXdwbSwgJ25ld3ByaXZhdGVwbScgPT4gJG5ld3BydnBtLCAnYW5ub3VuY2VwbScgPT4gJGFubnBtLCAnc3lzdGVtcG0nID0+ICRzeXNwbSk7DQoJCQl9IGlmKCRtb3JlID09IDQpIHsNCgkJCQlyZXR1cm4gYXJyYXkoJ25ld3BtJyA9PiAkbmV3cG0sICduZXdwcml2YXRlcG0nID0+ICRuZXdwcnZwbSk7DQoJCQl9IGVsc2Ugew0KCQkJCSRwbSA9ICR0aGlzLT5kYi0+ZmV0Y2hfZmlyc3QoIlNFTEVDVCBwbS5kYXRlbGluZSxwbS5tc2dmcm9taWQsbS51c2VybmFtZSBhcyBtc2dmcm9tLHBtLm1lc3NhZ2UgRlJPTSAiLlVDX0RCVEFCTEVQUkUuInBtcyBwbSBMRUZUIEpPSU4gIi5VQ19EQlRBQkxFUFJFLiJtZW1iZXJzIG0gT04gcG0ubXNnZnJvbWlkID0gbS51aWQgV0hFUkUgKHBtLnJlbGF0ZWQ9JzAnIE9SIHBtLm1zZ2Zyb21pZD0nMCcpIEFORCBwbS5tc2d0b2lkPSckdWlkJyBBTkQgcG0uZm9sZGVyPSdpbmJveCcgT1JERVIgQlkgcG0uZGF0ZWxpbmUgREVTQyBMSU1JVCAxIik7DQoJCQkJcmV0dXJuIGFycmF5KCduZXdwbScgPT4gJG5ld3BtLCAnbmV3cHJpdmF0ZXBtJyA9PiAkbmV3cHJ2cG0sICdhbm5vdW5jZXBtJyA9PiAkYW5ucG0sICdzeXN0ZW1wbScgPT4gJHN5c3BtLCAnbGFzdGRhdGUnID0+ICRwbVsnZGF0ZWxpbmUnXSwgJ2xhc3Rtc2dmcm9taWQnID0+ICRwbVsnbXNnZnJvbWlkJ10sICdsYXN0bXNnZnJvbScgPT4gJHBtWydtc2dmcm9tJ10sICdsYXN0bXNnJyA9PiAkcG1bJ21lc3NhZ2UnXSk7DQoJCQl9DQoJCX0NCgl9DQoNCglmdW5jdGlvbiBkZWxldGVwbSgkdWlkLCAkcG1pZHMpIHsNCgkJJHRoaXMtPmRiLT5xdWVyeSgiREVMRVRFIEZST00gIi5VQ19EQlRBQkxFUFJFLiJwbXMgV0hFUkUgbXNndG9pZD0nJHVpZCcgQU5EIHBtaWQgSU4gKCIuJHRoaXMtPmJhc2UtPmltcGxvZGUoJHBtaWRzKS4iKSIpOw0KCQkkZGVsbnVtID0gJHRoaXMtPmRiLT5hZmZlY3RlZF9yb3dzKCk7DQoJCXJldHVybiAkZGVsbnVtOw0KCX0NCg0KCWZ1bmN0aW9uIGRlbGV0ZXVpZHBtKCR1aWQsICRpZHMpIHsNCgkJJGRlbG51bSA9IDA7DQoJCWlmKCRpZHMpIHsNCgkJCSRkZWxudW0gPSAxOw0KCQkJJGRlbHVpZHMgPSAkdGhpcy0+YmFzZS0+aW1wbG9kZSgkaWRzKTsNCgkJCSR0aGlzLT5kYi0+cXVlcnkoIkRFTEVURSBGUk9NICIuVUNfREJUQUJMRVBSRS4icG1zDQoJCQkJV0hFUkUgbXNnZnJvbWlkIElOICgkZGVsdWlkcykgQU5EIG1zZ3RvaWQ9JyR1aWQnIEFORCBmb2xkZXI9J2luYm94JyBBTkQgcmVsYXRlZD0nMCciLCAnVU5CVUZGRVJFRCcpOw0KCQkJJHRoaXMtPmRiLT5xdWVyeSgiVVBEQVRFICIuVUNfREJUQUJMRVBSRS4icG1zIFNFVCBkZWxzdGF0dXM9Mg0KCQkJCVdIRVJFIG1zZ2Zyb21pZCBJTiAoJGRlbHVpZHMpIEFORCBtc2d0b2lkPSckdWlkJyBBTkQgZm9sZGVyPSdpbmJveCcgQU5EIGRlbHN0YXR1cz0wIiwgJ1VOQlVGRkVSRUQnKTsNCgkJCSR0aGlzLT5kYi0+cXVlcnkoIlVQREFURSAiLlVDX0RCVEFCTEVQUkUuInBtcyBTRVQgZGVsc3RhdHVzPTENCgkJCQlXSEVSRSBtc2d0b2lkIElOICgkZGVsdWlkcykgQU5EIG1zZ2Zyb21pZD0nJHVpZCcgQU5EIGZvbGRlcj0naW5ib3gnIEFORCBkZWxzdGF0dXM9MCIsICdVTkJVRkZFUkVEJyk7DQoJCQkkdGhpcy0+ZGItPnF1ZXJ5KCJERUxFVEUgRlJPTSAiLlVDX0RCVEFCTEVQUkUuInBtcw0KCQkJCVdIRVJFIG1zZ2Zyb21pZCBJTiAoJGRlbHVpZHMpIEFORCBtc2d0b2lkPSckdWlkJyBBTkQgZGVsc3RhdHVzPTEgQU5EIGZvbGRlcj0naW5ib3gnIiwgJ1VOQlVGRkVSRUQnKTsNCgkJCSR0aGlzLT5kYi0+cXVlcnkoIkRFTEVURSBGUk9NICIuVUNfREJUQUJMRVBSRS4icG1zDQoJCQkJV0hFUkUgbXNndG9pZCBJTiAoJGRlbHVpZHMpIEFORCBtc2dmcm9taWQ9JyR1aWQnIEFORCBkZWxzdGF0dXM9MiBBTkQgZm9sZGVyPSdpbmJveCciLCAnVU5CVUZGRVJFRCcpOw0KCQl9DQoJCXJldHVybiAkZGVsbnVtOw0KCX0NCg0KCWZ1bmN0aW9uIGdldF9ibGFja2xzKCR1aWQsICR1aWRzID0gYXJyYXkoKSkgew0KCQlpZighJHVpZHMpIHsNCgkJCSRibGFja2xzID0gJHRoaXMtPmRiLT5yZXN1bHRfZmlyc3QoIlNFTEVDVCBibGFja2xpc3QgRlJPTSAiLlVDX0RCVEFCTEVQUkUuIm1lbWJlcmZpZWxkcyBXSEVSRSB1aWQ9JyR1aWQnIik7DQoJCX0gZWxzZSB7DQoJCQkkdWlkcyA9ICR0aGlzLT5iYXNlLT5pbXBsb2RlKCR1aWRzKTsNCgkJCSRibGFja2xzID0gYXJyYXkoKTsNCgkJCSRxdWVyeSA9ICR0aGlzLT5kYi0+cXVlcnkoIlNFTEVDVCB1aWQsIGJsYWNrbGlzdCBGUk9NICIuVUNfREJUQUJMRVBSRS4ibWVtYmVyZmllbGRzIFdIRVJFIHVpZCBJTiAoJHVpZHMpIik7DQoJCQl3aGlsZSgkZGF0YSA9ICR0aGlzLT5kYi0+ZmV0Y2hfYXJyYXkoJHF1ZXJ5KSkgew0KCQkJCSRibGFja2xzWyRkYXRhWyd1aWQnXV0gPSBleHBsb2RlKCcsJywgJGRhdGFbJ2JsYWNrbGlzdCddKTsNCgkJCX0NCgkJfQ0KCQlyZXR1cm4gJGJsYWNrbHM7DQoJfQ0KDQoJZnVuY3Rpb24gc2V0X2JsYWNrbHMoJHVpZCwgJGJsYWNrbHMpIHsNCgkJJHRoaXMtPmRiLT5xdWVyeSgiVVBEQVRFICIuVUNfREJUQUJMRVBSRS4ibWVtYmVyZmllbGRzIFNFVCBibGFja2xpc3Q9JyRibGFja2xzJyBXSEVSRSB1aWQ9JyR1aWQnIik7DQoJCXJldHVybiAkdGhpcy0+ZGItPmFmZmVjdGVkX3Jvd3MoKTsNCgl9DQoNCglmdW5jdGlvbiB1cGRhdGVfYmxhY2tscygkdWlkLCAkdXNlcm5hbWUsICRhY3Rpb24gPSAxKSB7DQoJCSR1c2VybmFtZSA9ICFpc19hcnJheSgkdXNlcm5hbWUpID8gYXJyYXkoJHVzZXJuYW1lKSA6ICR1c2VybmFtZTsNCgkJaWYoJGFjdGlvbiA9PSAxKSB7DQoJCQlpZighaW5fYXJyYXkoJ3tBTEx9JywgJHVzZXJuYW1lKSkgew0KCQkJCSR1c2VybmFtZXMgPSAkdGhpcy0+YmFzZS0+aW1wbG9kZSgkdXNlcm5hbWUpOw0KCQkJCSRxdWVyeSA9ICR0aGlzLT5kYi0+cXVlcnkoIlNFTEVDVCB1c2VybmFtZSBGUk9NICIuVUNfREJUQUJMRVBSRS4ibWVtYmVycyBXSEVSRSB1c2VybmFtZSBJTiAoJHVzZXJuYW1lcykiKTsNCgkJCQkkdXNlcm5hbWVzID0gYXJyYXkoKTsNCgkJCQl3aGlsZSgkZGF0YSA9ICR0aGlzLT5kYi0+ZmV0Y2hfYXJyYXkoJHF1ZXJ5KSkgew0KCQkJCQkkdXNlcm5hbWVzW2FkZHNsYXNoZXMoJGRhdGFbJ3VzZXJuYW1lJ10pXSA9IGFkZHNsYXNoZXMoJGRhdGFbJ3VzZXJuYW1lJ10pOw0KCQkJCX0NCgkJCQlpZighJHVzZXJuYW1lcykgew0KCQkJCQlyZXR1cm4gMDsNCgkJCQl9DQoJCQkJJGJsYWNrbHMgPSBhZGRzbGFzaGVzKCR0aGlzLT5kYi0+cmVzdWx0X2ZpcnN0KCJTRUxFQ1QgYmxhY2tsaXN0IEZST00gIi5VQ19EQlRBQkxFUFJFLiJtZW1iZXJmaWVsZHMgV0hFUkUgdWlkPSckdWlkJyIpKTsNCgkJCQlpZigkYmxhY2tscykgew0KCQkJCQkkbGlzdCA9IGV4cGxvZGUoJywnLCAkYmxhY2tscyk7DQoJCQkJCWZvcmVhY2goJGxpc3QgYXMgJGsgPT4gJHYpIHsNCgkJCQkJCWlmKGluX2FycmF5KCR2LCAkdXNlcm5hbWVzKSkgew0KCQkJCQkJCXVuc2V0KCR1c2VybmFtZXNbJHZdKTsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCX0NCgkJCQlpZighJHVzZXJuYW1lcykgew0KCQkJCQlyZXR1cm4gMTsNCgkJCQl9DQoJCQkJJGxpc3RuZXcgPSBpbXBsb2RlKCcsJywgJHVzZXJuYW1lcyk7DQoJCQkJJGJsYWNrbHMgLj0gJGJsYWNrbHMgIT09ICcnID8gJywnLiRsaXN0bmV3IDogJGxpc3RuZXc7DQoJCQl9IGVsc2Ugew0KCQkJCSRibGFja2xzID0gYWRkc2xhc2hlcygkdGhpcy0+ZGItPnJlc3VsdF9maXJzdCgiU0VMRUNUIGJsYWNrbGlzdCBGUk9NICIuVUNfREJUQUJMRVBSRS4ibWVtYmVyZmllbGRzIFdIRVJFIHVpZD0nJHVpZCciKSk7DQoJCQkJJGJsYWNrbHMgLj0gJyx7QUxMfSc7DQoJCQl9DQoJCX0gZWxzZSB7DQoJCQkkYmxhY2tscyA9IGFkZHNsYXNoZXMoJHRoaXMtPmRiLT5yZXN1bHRfZmlyc3QoIlNFTEVDVCBibGFja2xpc3QgRlJPTSAiLlVDX0RCVEFCTEVQUkUuIm1lbWJlcmZpZWxkcyBXSEVSRSB1aWQ9JyR1aWQnIikpOw0KCQkJJGxpc3QgPSAkYmxhY2tscyA9IGV4cGxvZGUoJywnLCAkYmxhY2tscyk7DQoJCQlmb3JlYWNoKCRsaXN0IGFzICRrID0+ICR2KSB7DQoJCQkJaWYoaW5fYXJyYXkoJHYsICR1c2VybmFtZSkpIHsNCgkJCQkJdW5zZXQoJGJsYWNrbHNbJGtdKTsNCgkJCQl9DQoJCQl9DQoJCQkkYmxhY2tscyA9IGltcGxvZGUoJywnLCAkYmxhY2tscyk7DQoJCX0NCgkJJHRoaXMtPmRiLT5xdWVyeSgiVVBEQVRFICIuVUNfREJUQUJMRVBSRS4ibWVtYmVyZmllbGRzIFNFVCBibGFja2xpc3Q9JyRibGFja2xzJyBXSEVSRSB1aWQ9JyR1aWQnIik7DQoJCXJldHVybiAxOw0KCX0NCg0KCWZ1bmN0aW9uIHJlbW92ZWNvZGUoJHN0ciwgJGxlbmd0aCkgew0KCQlyZXR1cm4gdHJpbSgkdGhpcy0+YmFzZS0+Y3V0c3RyKHByZWdfcmVwbGFjZShhcnJheSgNCgkJCQkiL1xbKGVtYWlsfGNvZGV8cXVvdGV8aW1nKT0/LipcXS4qP1xbXC8oZW1haWx8Y29kZXxxdW90ZXxpbWcpXF0vc2lVIiwNCgkJCQkiL1xbXC8/KGJ8aXx1cmx8dXxjb2xvcnxzaXplfGZvbnR8YWxpZ258bGlzdHxpbmRlbnR8ZmxvYXQpPT8uKlxdL3NpVSIsDQoJCQkJIi9cclxuLyIsDQoJCQkpLCAnJywgJHN0ciksICRsZW5ndGgpKTsNCgl9DQoNCglmdW5jdGlvbiBjb3VudF9wbV9ieV9mcm9tdWlkKCR1aWQsICR0aW1lb2Zmc2V0ID0gODY0MDApIHsNCgkJJGRhdGVsaW5lID0gJHRoaXMtPmJhc2UtPnRpbWUgLSBpbnR2YWwoJHRpbWVvZmZzZXQpOw0KCQlyZXR1cm4gJHRoaXMtPmRiLT5yZXN1bHRfZmlyc3QoIlNFTEVDVCBDT1VOVCgqKSBGUk9NICIuVUNfREJUQUJMRVBSRS4icG1zIFdIRVJFIG1zZ2Zyb21pZD0nJHVpZCcgQU5EIGRhdGVsaW5lPickZGF0ZWxpbmUnIik7DQoJfQ0KDQoJZnVuY3Rpb24gaXNfcmVwbHlfcG0oJHVpZCwgJHRvdWlkcykgew0KCQkkdG91aWRfc3RyID0gaW1wbG9kZSgiJywgJyIsICR0b3VpZHMpOw0KCQkkcG1fcmVwbHkgPSAkdGhpcy0+ZGItPmZldGNoX2FsbCgiU0VMRUNUIG1zZ2Zyb21pZCwgbXNndG9pZCBGUk9NICIuVUNfREJUQUJMRVBSRS4icG1zIFdIRVJFIG1zZ2Zyb21pZCBJTiAoJyR0b3VpZF9zdHInKSBBTkQgbXNndG9pZD0nJHVpZCcgQU5EIHJlbGF0ZWQ9MSIsICdtc2dmcm9taWQnKTsNCgkJZm9yZWFjaCgkdG91aWRzIGFzICR2YWwpIHsNCgkJCWlmKCFpc3NldCgkcG1fcmVwbHlbJHZhbF0pKSB7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0KCQl9DQoJCXJldHVybiB0cnVlOw0KCX0NCg0KfQ0KDQpmdW5jdGlvbiBwbV9kYXRlbGluZXNvcnQoJGEsICRiKSB7DQoJaWYgKCRhWydkYXRlbGluZSddID09ICRiWydkYXRlbGluZSddKSB7DQoJCXJldHVybiAwOw0KCX0NCglyZXR1cm4gKCRhWydkYXRlbGluZSddIDwgJGJbJ2RhdGVsaW5lJ10pID8gLTEgOiAxOw0KfQ0KDQo/Pg==
</file>
<file type='file' name='../uc_client/model/tag.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogdGFnLnBocCx2IDEuMSAyMDA5LzA4LzExIDAzOjIxOjI1IGJsdCBFeHAgJA0KKi8NCg0KIWRlZmluZWQoJ0lOX1VDJykgJiYgZXhpdCgnQWNjZXNzIERlbmllZCcpOw0KDQpjbGFzcyB0YWdtb2RlbCB7DQoNCgl2YXIgJGRiOw0KCXZhciAkYmFzZTsNCg0KCWZ1bmN0aW9uIF9fY29uc3RydWN0KCYkYmFzZSkgew0KCQkkdGhpcy0+dGFnbW9kZWwoJGJhc2UpOw0KCX0NCg0KCWZ1bmN0aW9uIHRhZ21vZGVsKCYkYmFzZSkgew0KCQkkdGhpcy0+YmFzZSA9ICRiYXNlOw0KCQkkdGhpcy0+ZGIgPSAkYmFzZS0+ZGI7DQoJfQ0KDQoJZnVuY3Rpb24gZ2V0X3RhZ19ieV9uYW1lKCR0YWduYW1lKSB7DQoJCSRhcnIgPSAkdGhpcy0+ZGItPmZldGNoX2FsbCgiU0VMRUNUICogRlJPTSAiLlVDX0RCVEFCTEVQUkUuInRhZ3MgV0hFUkUgdGFnbmFtZT0nJHRhZ25hbWUnIik7DQoJCXJldHVybiAkYXJyOw0KCX0NCg0KCWZ1bmN0aW9uIGdldF90ZW1wbGF0ZSgkYXBwaWQpIHsNCgkJJHJlc3VsdCA9ICR0aGlzLT5kYi0+cmVzdWx0X2ZpcnN0KCJTRUxFQ1QgdGFndGVtcGxhdGVzIEZST00gIi5VQ19EQlRBQkxFUFJFLiJhcHBsaWNhdGlvbnMgV0hFUkUgYXBwaWQ9JyRhcHBpZCciKTsNCgkJcmV0dXJuICRyZXN1bHQ7DQoJfQ0KDQoJZnVuY3Rpb24gdXBkYXRlZGF0YSgkYXBwaWQsICRkYXRhKSB7DQoJCSRhcHBpZCA9IGludHZhbCgkYXBwaWQpOw0KCQlpbmNsdWRlX29uY2UgVUNfUk9PVC4nbGliL3htbC5jbGFzcy5waHAnOw0KCQkkZGF0YSA9IHhtbF91bnNlcmlhbGl6ZSgkZGF0YSk7DQoJCSR0aGlzLT5iYXNlLT5sb2FkKCdhcHAnKTsNCgkJJGRhdGFbMF0gPSBhZGRzbGFzaGVzKCRkYXRhWzBdKTsNCgkJJGRhdGFuZXcgPSBhcnJheSgpOw0KCQlpZihpc19hcnJheSgkZGF0YVsxXSkpIHsNCgkJCWZvcmVhY2goJGRhdGFbMV0gYXMgJHIpIHsNCgkJCQkkZGF0YW5ld1tdID0gJF9FTlZbJ21pc2MnXS0+YXJyYXkyc3RyaW5nKCRyKTsNCgkJCX0NCgkJfQ0KCQkkdG1wID0gJF9FTlZbJ2FwcCddLT5nZXRfYXBwcygndHlwZScsICJhcHBpZD0nJGFwcGlkJyIpOw0KCQkkZGF0YW5ldyA9IGFkZHNsYXNoZXMoJHRtcFswXVsndHlwZSddLiJcdCIuaW1wbG9kZSgiXHQiLCAkZGF0YW5ldykpOw0KCQlpZighZW1wdHkoJGRhdGFbMF0pKSB7DQoJCQkkcmV0dXJuID0gJHRoaXMtPmRiLT5yZXN1bHRfZmlyc3QoIlNFTEVDVCBjb3VudCgqKSBGUk9NICIuVUNfREJUQUJMRVBSRS4idGFncyBXSEVSRSB0YWduYW1lPSckZGF0YVswXScgQU5EIGFwcGlkPSckYXBwaWQnIik7DQoJCQlpZigkcmV0dXJuKSB7DQoJCQkJJHRoaXMtPmRiLT5xdWVyeSgiVVBEQVRFICIuVUNfREJUQUJMRVBSRS4idGFncyBTRVQgZGF0YT0nJGRhdGFuZXcnLCBleHBpcmF0aW9uPSciLiR0aGlzLT5iYXNlLT50aW1lLiInIFdIRVJFIHRhZ25hbWU9JyRkYXRhWzBdJyBBTkQgYXBwaWQ9JyRhcHBpZCciKTsNCgkJCX0gZWxzZSB7DQoJCQkJJHRoaXMtPmRiLT5xdWVyeSgiSU5TRVJUIElOVE8gIi5VQ19EQlRBQkxFUFJFLiJ0YWdzICh0YWduYW1lLCBhcHBpZCwgZGF0YSwgZXhwaXJhdGlvbikgVkFMVUVTICgnJGRhdGFbMF0nLCAnJGFwcGlkJywgJyRkYXRhbmV3JywgJyIuJHRoaXMtPmJhc2UtPnRpbWUuIicpIik7DQoJCQl9DQoJCX0NCgl9DQoNCglmdW5jdGlvbiBmb3JtYXRjYWNoZSgkYXBwaWQsICR0YWduYW1lKSB7DQoJCSRyZXR1cm4gPSAkdGhpcy0+ZGItPnJlc3VsdF9maXJzdCgiU0VMRUNUIGNvdW50KCopIEZST00gIi5VQ19EQlRBQkxFUFJFLiJ0YWdzIFdIRVJFIHRhZ25hbWU9JyR0YWduYW1lJyBBTkQgYXBwaWQ9JyRhcHBpZCciKTsNCgkJaWYoJHJldHVybikgew0KCQkJJHRoaXMtPmRiLT5xdWVyeSgiVVBEQVRFICIuVUNfREJUQUJMRVBSRS4idGFncyBTRVQgZXhwaXJhdGlvbj0nMCcgV0hFUkUgdGFnbmFtZT0nJHRhZ25hbWUnIEFORCBhcHBpZD0nJGFwcGlkJyIpOw0KCQl9IGVsc2Ugew0KCQkJJHRoaXMtPmRiLT5xdWVyeSgiSU5TRVJUIElOVE8gIi5VQ19EQlRBQkxFUFJFLiJ0YWdzICh0YWduYW1lLCBhcHBpZCwgZXhwaXJhdGlvbikgVkFMVUVTICgnJHRhZ25hbWUnLCAnJGFwcGlkJywgJzAnKSIpOw0KCQl9DQoJfQ0KDQp9DQoNCj8+
</file>
<file type='file' name='../uc_client/model/user.php'>
PD9waHANCg0KLyoNCglbVUNlbnRlcl0gKEMpMjAwMS0yMDA5IENvbXNlbnogSW5jLg0KCVRoaXMgaXMgTk9UIGEgZnJlZXdhcmUsIHVzZSBpcyBzdWJqZWN0IHRvIGxpY2Vuc2UgdGVybXMNCg0KCSRJZDogdXNlci5waHAsdiAxLjEgMjAwOS8wOC8xMSAwMzoyMToyNSBibHQgRXhwICQNCiovDQoNCiFkZWZpbmVkKCdJTl9VQycpICYmIGV4aXQoJ0FjY2VzcyBEZW5pZWQnKTsNCg0KY2xhc3MgdXNlcm1vZGVsIHsNCg0KCXZhciAkZGI7DQoJdmFyICRiYXNlOw0KDQoJZnVuY3Rpb24gX19jb25zdHJ1Y3QoJiRiYXNlKSB7DQoJCSR0aGlzLT51c2VybW9kZWwoJGJhc2UpOw0KCX0NCg0KCWZ1bmN0aW9uIHVzZXJtb2RlbCgmJGJhc2UpIHsNCgkJJHRoaXMtPmJhc2UgPSAkYmFzZTsNCgkJJHRoaXMtPmRiID0gJGJhc2UtPmRiOw0KCX0NCg0KCWZ1bmN0aW9uIGdldF91c2VyX2J5X3VpZCgkdWlkKSB7DQoJCSRhcnIgPSAkdGhpcy0+ZGItPmZldGNoX2ZpcnN0KCJTRUxFQ1QgKiBGUk9NICIuVUNfREJUQUJMRVBSRS4ibWVtYmVycyBXSEVSRSB1aWQ9JyR1aWQnIik7DQoJCXJldHVybiAkYXJyOw0KCX0NCg0KCWZ1bmN0aW9uIGdldF91c2VyX2J5X3VzZXJuYW1lKCR1c2VybmFtZSkgew0KCQkkYXJyID0gJHRoaXMtPmRiLT5mZXRjaF9maXJzdCgiU0VMRUNUICogRlJPTSAiLlVDX0RCVEFCTEVQUkUuIm1lbWJlcnMgV0hFUkUgdXNlcm5hbWU9JyR1c2VybmFtZSciKTsNCgkJcmV0dXJuICRhcnI7DQoJfQ0KDQoJZnVuY3Rpb24gY2hlY2tfdXNlcm5hbWUoJHVzZXJuYW1lKSB7DQoJCSRndWVzdGV4cCA9ICdceEExXHhBMXxceEFDXHhBM3xeR3Vlc3R8Xlx4RDNceENFXHhCRlx4Q0R8XHhCOVx4NDNceEFCXHhDOCc7DQoJCSRsZW4gPSBzdHJsZW4oJHVzZXJuYW1lKTsNCgkJaWYoJGxlbiA+IDE1IHx8ICRsZW4gPCAzIHx8IHByZWdfbWF0Y2goIi9ccyt8XmM6XFxjb25cXGNvbnxbJSxcKlwiXHNcPFw+XCZdfCRndWVzdGV4cC9pcyIsICR1c2VybmFtZSkpIHsNCgkJCXJldHVybiBGQUxTRTsNCgkJfSBlbHNlIHsNCgkJCXJldHVybiBUUlVFOw0KCQl9DQoJfQ0KDQoJZnVuY3Rpb24gY2hlY2tfbWVyZ2V1c2VyKCR1c2VybmFtZSkgew0KCQkkZGF0YSA9ICR0aGlzLT5kYi0+cmVzdWx0X2ZpcnN0KCJTRUxFQ1QgY291bnQoKikgRlJPTSAiLlVDX0RCVEFCTEVQUkUuIm1lcmdlbWVtYmVycyBXSEVSRSBhcHBpZD0nIi4kdGhpcy0+YmFzZS0+YXBwWydhcHBpZCddLiInIEFORCB1c2VybmFtZT0nJHVzZXJuYW1lJyIpOw0KCQlyZXR1cm4gJGRhdGE7DQoJfQ0KDQoJZnVuY3Rpb24gY2hlY2tfdXNlcm5hbWVjZW5zb3IoJHVzZXJuYW1lKSB7DQoJCSRfQ0FDSEVbJ2JhZHdvcmRzJ10gPSAkdGhpcy0+YmFzZS0+Y2FjaGUoJ2JhZHdvcmRzJyk7DQoJCSRjZW5zb3J1c2VybmFtZSA9ICR0aGlzLT5iYXNlLT5nZXRfc2V0dGluZygnY2Vuc29ydXNlcm5hbWUnKTsNCgkJJGNlbnNvcnVzZXJuYW1lID0gJGNlbnNvcnVzZXJuYW1lWydjZW5zb3J1c2VybmFtZSddOw0KCQkkY2Vuc29yZXhwID0gJy9eKCcuc3RyX3JlcGxhY2UoYXJyYXkoJ1xcKicsICJcclxuIiwgJyAnKSwgYXJyYXkoJy4qJywgJ3wnLCAnJyksIHByZWdfcXVvdGUoKCRjZW5zb3J1c2VybmFtZSA9IHRyaW0oJGNlbnNvcnVzZXJuYW1lKSksICcvJykpLicpJC9pJzsNCgkJJHVzZXJuYW1lcmVwbGFjZWQgPSBpc3NldCgkX0NBQ0hFWydiYWR3b3JkcyddWydmaW5kcGF0dGVybiddKSAmJiAhZW1wdHkoJF9DQUNIRVsnYmFkd29yZHMnXVsnZmluZHBhdHRlcm4nXSkgPyBAcHJlZ19yZXBsYWNlKCRfQ0FDSEVbJ2JhZHdvcmRzJ11bJ2ZpbmRwYXR0ZXJuJ10sICRfQ0FDSEVbJ2JhZHdvcmRzJ11bJ3JlcGxhY2UnXSwgJHVzZXJuYW1lKSA6ICR1c2VybmFtZTsNCgkJaWYoKCR1c2VybmFtZXJlcGxhY2VkICE9ICR1c2VybmFtZSkgfHwgKCRjZW5zb3J1c2VybmFtZSAmJiBwcmVnX21hdGNoKCRjZW5zb3JleHAsICR1c2VybmFtZSkpKSB7DQoJCQlyZXR1cm4gRkFMU0U7DQoJCX0gZWxzZSB7DQoJCQlyZXR1cm4gVFJVRTsNCgkJfQ0KCX0NCg0KCWZ1bmN0aW9uIGNoZWNrX3VzZXJuYW1lZXhpc3RzKCR1c2VybmFtZSkgew0KCQkkZGF0YSA9ICR0aGlzLT5kYi0+cmVzdWx0X2ZpcnN0KCJTRUxFQ1QgdXNlcm5hbWUgRlJPTSAiLlVDX0RCVEFCTEVQUkUuIm1lbWJlcnMgV0hFUkUgdXNlcm5hbWU9JyR1c2VybmFtZSciKTsNCgkJcmV0dXJuICRkYXRhOw0KCX0NCg0KCWZ1bmN0aW9uIGNoZWNrX2VtYWlsZm9ybWF0KCRlbWFpbCkgew0KCQlyZXR1cm4gc3RybGVuKCRlbWFpbCkgPiA2ICYmIHByZWdfbWF0Y2goIi9eW1x3XC1cLl0rQFtcd1wtXC5dKyhcLlx3KykrJC8iLCAkZW1haWwpOw0KCX0NCg0KCWZ1bmN0aW9uIGNoZWNrX2VtYWlsYWNjZXNzKCRlbWFpbCkgew0KCQkkc2V0dGluZyA9ICR0aGlzLT5iYXNlLT5nZXRfc2V0dGluZyhhcnJheSgnYWNjZXNzZW1haWwnLCAnY2Vuc29yZW1haWwnKSk7DQoJCSRhY2Nlc3NlbWFpbCA9ICRzZXR0aW5nWydhY2Nlc3NlbWFpbCddOw0KCQkkY2Vuc29yZW1haWwgPSAkc2V0dGluZ1snY2Vuc29yZW1haWwnXTsNCgkJJGFjY2Vzc2V4cCA9ICcvKCcuc3RyX3JlcGxhY2UoIlxyXG4iLCAnfCcsIHByZWdfcXVvdGUodHJpbSgkYWNjZXNzZW1haWwpLCAnLycpKS4nKSQvaSc7DQoJCSRjZW5zb3JleHAgPSAnLygnLnN0cl9yZXBsYWNlKCJcclxuIiwgJ3wnLCBwcmVnX3F1b3RlKHRyaW0oJGNlbnNvcmVtYWlsKSwgJy8nKSkuJykkL2knOw0KCQlpZigkYWNjZXNzZW1haWwgfHwgJGNlbnNvcmVtYWlsKSB7DQoJCQlpZigoJGFjY2Vzc2VtYWlsICYmICFwcmVnX21hdGNoKCRhY2Nlc3NleHAsICRlbWFpbCkpIHx8ICgkY2Vuc29yZW1haWwgJiYgcHJlZ19tYXRjaCgkY2Vuc29yZXhwLCAkZW1haWwpKSkgew0KCQkJCXJldHVybiBGQUxTRTsNCgkJCX0gZWxzZSB7DQoJCQkJcmV0dXJuIFRSVUU7DQoJCQl9DQoJCX0gZWxzZSB7DQoJCQlyZXR1cm4gVFJVRTsNCgkJfQ0KCX0NCg0KCWZ1bmN0aW9uIGNoZWNrX2VtYWlsZXhpc3RzKCRlbWFpbCwgJHVzZXJuYW1lID0gJycpIHsNCgkJJHNxbGFkZCA9ICR1c2VybmFtZSAhPT0gJycgPyAiQU5EIHVzZXJuYW1lPD4nJHVzZXJuYW1lJyIgOiAnJzsNCgkJJGVtYWlsID0gJHRoaXMtPmRiLT5yZXN1bHRfZmlyc3QoIlNFTEVDVCBlbWFpbCBGUk9NICAiLlVDX0RCVEFCTEVQUkUuIm1lbWJlcnMgV0hFUkUgZW1haWw9JyRlbWFpbCcgJHNxbGFkZCIpOw0KCQlyZXR1cm4gJGVtYWlsOw0KCX0NCg0KCWZ1bmN0aW9uIGNoZWNrX2xvZ2luKCR1c2VybmFtZSwgJHBhc3N3b3JkLCAmJHVzZXIpIHsNCgkJJHVzZXIgPSAkdGhpcy0+Z2V0X3VzZXJfYnlfdXNlcm5hbWUoJHVzZXJuYW1lKTsNCgkJaWYoZW1wdHkoJHVzZXJbJ3VzZXJuYW1lJ10pKSB7DQoJCQlyZXR1cm4gLTE7DQoJCX0gZWxzZWlmKCR1c2VyWydwYXNzd29yZCddICE9IG1kNShtZDUoJHBhc3N3b3JkKS4kdXNlclsnc2FsdCddKSkgew0KCQkJcmV0dXJuIC0yOw0KCQl9DQoJCXJldHVybiAkdXNlclsndWlkJ107DQoJfQ0KDQoJZnVuY3Rpb24gYWRkX3VzZXIoJHVzZXJuYW1lLCAkcGFzc3dvcmQsICRlbWFpbCwgJHVpZCA9IDAsICRxdWVzdGlvbmlkID0gJycsICRhbnN3ZXIgPSAnJykgew0KCQkkc2FsdCA9IHN1YnN0cih1bmlxaWQocmFuZCgpKSwgLTYpOw0KCQkkcGFzc3dvcmQgPSBtZDUobWQ1KCRwYXNzd29yZCkuJHNhbHQpOw0KCQkkc3FsYWRkID0gJHVpZCA/ICJ1aWQ9JyIuaW50dmFsKCR1aWQpLiInLCIgOiAnJzsNCgkJJHNxbGFkZCAuPSAkcXVlc3Rpb25pZCA+IDAgPyAiIHNlY3F1ZXM9JyIuJHRoaXMtPnF1ZXNjcnlwdCgkcXVlc3Rpb25pZCwgJGFuc3dlcikuIicsIiA6ICIgc2VjcXVlcz0nJywiOw0KCQkkdGhpcy0+ZGItPnF1ZXJ5KCJJTlNFUlQgSU5UTyAiLlVDX0RCVEFCTEVQUkUuIm1lbWJlcnMgU0VUICRzcWxhZGQgdXNlcm5hbWU9JyR1c2VybmFtZScsIHBhc3N3b3JkPSckcGFzc3dvcmQnLCBlbWFpbD0nJGVtYWlsJywgcmVnaXA9JyIuJHRoaXMtPmJhc2UtPm9ubGluZWlwLiInLCByZWdkYXRlPSciLiR0aGlzLT5iYXNlLT50aW1lLiInLCBzYWx0PSckc2FsdCciKTsNCgkJJHVpZCA9ICR0aGlzLT5kYi0+aW5zZXJ0X2lkKCk7DQoJCSR0aGlzLT5kYi0+cXVlcnkoIklOU0VSVCBJTlRPICIuVUNfREJUQUJMRVBSRS4ibWVtYmVyZmllbGRzIFNFVCB1aWQ9JyR1aWQnIik7DQoJCXJldHVybiAkdWlkOw0KCX0NCg0KCWZ1bmN0aW9uIGVkaXRfdXNlcigkdXNlcm5hbWUsICRvbGRwdywgJG5ld3B3LCAkZW1haWwsICRpZ25vcmVvbGRwdyA9IDAsICRxdWVzdGlvbmlkID0gJycsICRhbnN3ZXIgPSAnJykgew0KCQkkZGF0YSA9ICR0aGlzLT5kYi0+ZmV0Y2hfZmlyc3QoIlNFTEVDVCB1c2VybmFtZSwgdWlkLCBwYXNzd29yZCwgc2FsdCBGUk9NICIuVUNfREJUQUJMRVBSRS4ibWVtYmVycyBXSEVSRSB1c2VybmFtZT0nJHVzZXJuYW1lJyIpOw0KDQoJCWlmKCRpZ25vcmVvbGRwdykgew0KCQkJJGlzcHJvdGVjdGVkID0gJHRoaXMtPmRiLT5yZXN1bHRfZmlyc3QoIlNFTEVDVCBDT1VOVCgqKSBGUk9NICIuVUNfREJUQUJMRVBSRS4icHJvdGVjdGVkbWVtYmVycyBXSEVSRSB1aWQgPSAnJGRhdGFbdWlkXSciKTsNCgkJCWlmKCRpc3Byb3RlY3RlZCkgew0KCQkJCXJldHVybiAtODsNCgkJCX0NCgkJfQ0KDQoJCWlmKCEkaWdub3Jlb2xkcHcgJiYgJGRhdGFbJ3Bhc3N3b3JkJ10gIT0gbWQ1KG1kNSgkb2xkcHcpLiRkYXRhWydzYWx0J10pKSB7DQoJCQlyZXR1cm4gLTE7DQoJCX0NCg0KCQkkc3FsYWRkID0gJG5ld3B3ID8gInBhc3N3b3JkPSciLm1kNShtZDUoJG5ld3B3KS4kZGF0YVsnc2FsdCddKS4iJyIgOiAnJzsNCgkJJHNxbGFkZCAuPSAkZW1haWwgPyAoJHNxbGFkZCA/ICcsJyA6ICcnKS4iIGVtYWlsPSckZW1haWwnIiA6ICcnOw0KCQlpZigkcXVlc3Rpb25pZCAhPT0gJycpIHsNCgkJCWlmKCRxdWVzdGlvbmlkID4gMCkgew0KCQkJCSRzcWxhZGQgLj0gKCRzcWxhZGQgPyAnLCcgOiAnJykuIiBzZWNxdWVzPSciLiR0aGlzLT5xdWVzY3J5cHQoJHF1ZXN0aW9uaWQsICRhbnN3ZXIpLiInIjsNCgkJCX0gZWxzZSB7DQoJCQkJJHNxbGFkZCAuPSAoJHNxbGFkZCA/ICcsJyA6ICcnKS4iIHNlY3F1ZXM9JyciOw0KCQkJfQ0KCQl9DQoJCWlmKCRzcWxhZGQgfHwgJGVtYWlsYWRkKSB7DQoJCQkkdGhpcy0+ZGItPnF1ZXJ5KCJVUERBVEUgIi5VQ19EQlRBQkxFUFJFLiJtZW1iZXJzIFNFVCAkc3FsYWRkIFdIRVJFIHVzZXJuYW1lPSckdXNlcm5hbWUnIik7DQoJCQlyZXR1cm4gJHRoaXMtPmRiLT5hZmZlY3RlZF9yb3dzKCk7DQoJCX0gZWxzZSB7DQoJCQlyZXR1cm4gLTc7DQoJCX0NCgl9DQoNCglmdW5jdGlvbiBkZWxldGVfdXNlcigkdWlkc2Fycikgew0KCQkkdWlkc2FyciA9IChhcnJheSkkdWlkc2FycjsNCgkJJHVpZHMgPSAkdGhpcy0+YmFzZS0+aW1wbG9kZSgkdWlkc2Fycik7DQoJCSRhcnIgPSAkdGhpcy0+ZGItPmZldGNoX2FsbCgiU0VMRUNUIHVpZCBGUk9NICIuVUNfREJUQUJMRVBSRS4icHJvdGVjdGVkbWVtYmVycyBXSEVSRSB1aWQgSU4gKCR1aWRzKSIpOw0KCQkkcHVpZHMgPSBhcnJheSgpOw0KCQlmb3JlYWNoKChhcnJheSkkYXJyIGFzICRtZW1iZXIpIHsNCgkJCSRwdWlkc1tdID0gJG1lbWJlclsndWlkJ107DQoJCX0NCgkJJHVpZHMgPSAkdGhpcy0+YmFzZS0+aW1wbG9kZShhcnJheV9kaWZmKCR1aWRzYXJyLCAkcHVpZHMpKTsNCgkJaWYoJHVpZHMpIHsNCgkJCSR0aGlzLT5kYi0+cXVlcnkoIkRFTEVURSBGUk9NICIuVUNfREJUQUJMRVBSRS4ibWVtYmVycyBXSEVSRSB1aWQgSU4oJHVpZHMpIik7DQoJCQkkdGhpcy0+ZGItPnF1ZXJ5KCJERUxFVEUgRlJPTSAiLlVDX0RCVEFCTEVQUkUuIm1lbWJlcmZpZWxkcyBXSEVSRSB1aWQgSU4oJHVpZHMpIik7DQoJCQl1Y191c2VyX2RlbGV0ZWF2YXRhcigkdWlkc2Fycik7DQoJCQkkdGhpcy0+YmFzZS0+bG9hZCgnbm90ZScpOw0KCQkJJF9FTlZbJ25vdGUnXS0+YWRkKCdkZWxldGV1c2VyJywgImlkcz0kdWlkcyIpOw0KCQkJcmV0dXJuICR0aGlzLT5kYi0+YWZmZWN0ZWRfcm93cygpOw0KCQl9IGVsc2Ugew0KCQkJcmV0dXJuIDA7DQoJCX0NCgl9DQoNCglmdW5jdGlvbiBnZXRfdG90YWxfbnVtKCRzcWxhZGQgPSAnJykgew0KCQkkZGF0YSA9ICR0aGlzLT5kYi0+cmVzdWx0X2ZpcnN0KCJTRUxFQ1QgQ09VTlQoKikgRlJPTSAiLlVDX0RCVEFCTEVQUkUuIm1lbWJlcnMgJHNxbGFkZCIpOw0KCQlyZXR1cm4gJGRhdGE7DQoJfQ0KDQoJZnVuY3Rpb24gZ2V0X2xpc3QoJHBhZ2UsICRwcHAsICR0b3RhbG51bSwgJHNxbGFkZCkgew0KCQkkc3RhcnQgPSAkdGhpcy0+YmFzZS0+cGFnZV9nZXRfc3RhcnQoJHBhZ2UsICRwcHAsICR0b3RhbG51bSk7DQoJCSRkYXRhID0gJHRoaXMtPmRiLT5mZXRjaF9hbGwoIlNFTEVDVCAqIEZST00gIi5VQ19EQlRBQkxFUFJFLiJtZW1iZXJzICRzcWxhZGQgTElNSVQgJHN0YXJ0LCAkcHBwIik7DQoJCXJldHVybiAkZGF0YTsNCgl9DQoNCglmdW5jdGlvbiBuYW1lMmlkKCR1c2VybmFtZXNhcnIpIHsNCgkJJHVzZXJuYW1lc2FyciA9IHVjX2FkZHNsYXNoZXMoJHVzZXJuYW1lc2FyciwgMSwgVFJVRSk7DQoJCSR1c2VybmFtZXMgPSAkdGhpcy0+YmFzZS0+aW1wbG9kZSgkdXNlcm5hbWVzYXJyKTsNCgkJJHF1ZXJ5ID0gJHRoaXMtPmRiLT5xdWVyeSgiU0VMRUNUIHVpZCBGUk9NICIuVUNfREJUQUJMRVBSRS4ibWVtYmVycyBXSEVSRSB1c2VybmFtZSBJTigkdXNlcm5hbWVzKSIpOw0KCQkkYXJyID0gYXJyYXkoKTsNCgkJd2hpbGUoJHVzZXIgPSAkdGhpcy0+ZGItPmZldGNoX2FycmF5KCRxdWVyeSkpIHsNCgkJCSRhcnJbXSA9ICR1c2VyWyd1aWQnXTsNCgkJfQ0KCQlyZXR1cm4gJGFycjsNCgl9DQoNCglmdW5jdGlvbiBxdWVzY3J5cHQoJHF1ZXN0aW9uaWQsICRhbnN3ZXIpIHsNCgkJcmV0dXJuICRxdWVzdGlvbmlkID4gMCAmJiAkYW5zd2VyICE9ICcnID8gc3Vic3RyKG1kNSgkYW5zd2VyLm1kNSgkcXVlc3Rpb25pZCkpLCAxNiwgOCkgOiAnJzsNCgl9DQoNCn0NCg0KPz4=
</file>
<file type='dir' name='../api'>
</file>
<file type='file' name='../api/uc.func.php'>
PD9waHANCmluY2x1ZGVfb25jZSAoZGlybmFtZShfX0ZJTEVfXykuIi8uLi9pbmNsdWRlL2NvbW1vbi5pbmMucGhwIik7DQppZighZGVmaW5lZCgnVUNfQVBQSUQnKSkgZXhpdCgnSW52YWxpZCBSZXF1ZXN0Jyk7DQppbmNsdWRlX29uY2UgREVERVJPT1QuJy91Y19jbGllbnQvY2xpZW50LnBocCc7DQoNCmZ1bmN0aW9uIHVjX2NyZWRpdF9ub3RlKCR1c2VybmFtZSwkYW1vdW50PTAsJGNyZWRpdHM9J3Njb3JlcycpDQp7DQoJbGlzdCgkdWlkKSA9IHVjX2dldF91c2VyKCR1c2VybmFtZSk7DQoJaWYoJHVpZCA8IDEgfHwgISRhbW91bnQpIHJldHVybiAwOw0KCWluY2x1ZGUgREVERURBVEEuJy9jcmVkaXRzLmluYy5waHAnOw0KCSRhcnIgPSBhcnJheSgnc2NvcmVzJyA9PiAxLCAnbW9uZXknID0+IDIpOw0KCSRjcmVkaXQgPSBpc3NldCgkYXJyWyRjcmVkaXRzXSkgPyAkYXJyWyRjcmVkaXRzXSA6IDE7DQoJDQoJaWYoaXNzZXQoJF9DQUNIRVsnY3JlZGl0J10pICYmIGlzX2FycmF5KCRfQ0FDSEVbJ2NyZWRpdCddKSkNCgl7DQoJCWZvcmVhY2goJF9DQUNIRVsnY3JlZGl0J10gYXMgJGFwcGlkID0+ICRjcmVkaXRzSXRlbXMpDQoJCXsNCgkJCWlmKCRjcmVkaXRzSXRlbXNbJ2NyZWRpdGRlc2MnXSE9JGNyZWRpdCkgY29udGludWU7DQoJCQkkYW1vdW50ID0gJGFtb3VudCokY3JlZGl0c0l0ZW1zWydyYXRpbyddOw0KCQkJdWNfY3JlZGl0X2V4Y2hhbmdlX3JlcXVlc3QoJHVpZCwkY3JlZGl0c0l0ZW1zWydjcmVkaXRkZXNjJ10sJGNyZWRpdHNJdGVtc1snY3JlZGl0c3JjJ10sJGFwcGlkLCRhbW91bnQpOw0KCQl9DQoJfQ0KfQ0KDQpmdW5jdGlvbiB1Y19mZWVkX25vdGUoJHVzZXJuYW1lLCRmZWVkKQ0Kew0KCSRkYXRhID0gdWNfZ2V0X3VzZXIoJHVzZXJuYW1lKTsNCglpZighJGRhdGEpIHJldHVybiAnJzsNCgkkdWlkID0gJGRhdGFbMF07DQoJcmV0dXJuIHVjX2ZlZWRfYWRkKCRmZWVkWydpY29uJ10sICR1aWQsICR1c2VybmFtZSwgJGZlZWRbJ3RpdGxlX3RlbXBsYXRlJ10sICRmZWVkWyd0aXRsZV9kYXRhJ10sICRmZWVkWydib2R5X3RlbXBsYXRlJ10sICRmZWVkWydib2R5X2RhdGEnXSwgJycsICcnLCAkZmVlZFsnaW1hZ2VzJ10pOw0KfQ0KPz4=
</file>
<file type='file' name='../api/uc.php'>
PD9waHANCmluY2x1ZGVfb25jZSAoZGlybmFtZShfX0ZJTEVfXykuIi8uLi9pbmNsdWRlL2NvbW1vbi5pbmMucGhwIik7DQpkZWZpbmUoJ0lOX0RJU0NVWicsIEZBTFNFKTsNCg0KZGVmaW5lKCdVQ19DTElFTlRfVkVSU0lPTicsICcxLjUuMCcpOwkvL25vdGUgVUNlbnRlciCw5rG+serKtg0KZGVmaW5lKCdVQ19DTElFTlRfUkVMRUFTRScsICcyMDA4MTAzMScpOw0KDQpkZWZpbmUoJ0FQSV9ERUxFVEVVU0VSJywgMSk7CQkvL25vdGUg08O7p8m+s/0gQVBJIL3Tv9q/qrnYDQpkZWZpbmUoJ0FQSV9SRU5BTUVVU0VSJywgMSk7CQkvL25vdGUg08O7p7jEw/sgQVBJIL3Tv9q/qrnYDQpkZWZpbmUoJ0FQSV9HRVRUQUcnLCAxKTsJCS8vbm90ZSC78cihserHqSBBUEkgvdO/2r+qudgNCmRlZmluZSgnQVBJX1NZTkxPR0lOJywgMSk7CQkvL25vdGUgzayyvbXHwrwgQVBJIL3Tv9q/qrnYDQpkZWZpbmUoJ0FQSV9TWU5MT0dPVVQnLCAxKTsJCS8vbm90ZSDNrLK9tcez9iBBUEkgvdO/2r+qudgNCmRlZmluZSgnQVBJX1VQREFURVBXJywgMSk7CQkvL25vdGUguPy4xNPDu6fD3MLrIL+qudgNCmRlZmluZSgnQVBJX1VQREFURUJBRFdPUkRTJywgMSk7CS8vbm90ZSC4/NDCudi8/NfWwdCx7SC/qrnYDQpkZWZpbmUoJ0FQSV9VUERBVEVIT1NUUycsIDEpOwkJLy9ub3RlILj80MLT8sP7veLO9ru6tOYgv6q52A0KZGVmaW5lKCdBUElfVVBEQVRFQVBQUycsIDEpOwkJLy9ub3RlILj80MLTptPDwdCx7SC/qrnYDQpkZWZpbmUoJ0FQSV9VUERBVEVDTElFTlQnLCAxKTsJCS8vbm90ZSC4/NDCv827p7bLu7q05iC/qrnYDQpkZWZpbmUoJ0FQSV9VUERBVEVDUkVESVQnLCAxKTsJCS8vbm90ZSC4/NDC08O7p7v9t9Ygv6q52A0KZGVmaW5lKCdBUElfR0VUQ1JFRElUU0VUVElOR1MnLCAxKTsJLy9ub3RlIM/yIFVDZW50ZXIgzOG5qbv9t9bJ6NbDIL+qudgNCmRlZmluZSgnQVBJX0dFVENSRURJVCcsIDEpOwkJLy9ub3RlILvxyKHTw7untcTEs8/uu/231iC/qrnYDQpkZWZpbmUoJ0FQSV9VUERBVEVDUkVESVRTRVRUSU5HUycsIDEpOwkvL25vdGUguPzQwtOm08O7/bfWyejWwyC/qrnYDQoNCmRlZmluZSgnQVBJX1JFVFVSTl9TVUNDRUVEJywgJzEnKTsNCmRlZmluZSgnQVBJX1JFVFVSTl9GQUlMRUQnLCAnLTEnKTsNCmRlZmluZSgnQVBJX1JFVFVSTl9GT1JCSURERU4nLCAnLTInKTsNCg0KZGVmaW5lKCdVQ19DTElFTlRfUk9PVCcsIERFREVST09ULicvdWNfY2xpZW50Jyk7DQoNCi8vbm90ZSDG1c2otcQgaHR0cCDNqNaqt73KvQ0KaWYoIWRlZmluZWQoJ0lOX1VDJykpDQp7DQoNCgllcnJvcl9yZXBvcnRpbmcoMCk7DQoJc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApOw0KCWRlZmluZWQoJ01BR0lDX1FVT1RFU19HUEMnKSB8fCBkZWZpbmUoJ01BR0lDX1FVT1RFU19HUEMnLCBnZXRfbWFnaWNfcXVvdGVzX2dwYygpKTsNCg0KCSRfRENBQ0hFID0gJGdldCA9ICRwb3N0ID0gYXJyYXkoKTsNCg0KCSRjb2RlID0gQCRfR0VUWydjb2RlJ107DQoNCglwYXJzZV9zdHIoX2F1dGhjb2RlKCRjb2RlLCAnREVDT0RFJywgVUNfS0VZKSwgJGdldCk7DQoJDQoJaWYoTUFHSUNfUVVPVEVTX0dQQykNCgl7DQoJCSRnZXQgPSBfc3RyaXBzbGFzaGVzKCRnZXQpOw0KCX0NCg0KCSR0aW1lc3RhbXAgPSB0aW1lKCk7DQoJaWYoJHRpbWVzdGFtcCAtICRnZXRbJ3RpbWUnXSA+IDM2MDApIHsNCgkJZXhpdCgnQXV0aHJhY2F0aW9uIGhhcyBleHBpcmllZCcpOw0KCX0NCglpZihlbXB0eSgkZ2V0KSkgew0KCQlleGl0KCdJbnZhbGlkIFJlcXVlc3QnKTsNCgl9DQoJJGFjdGlvbiA9ICRnZXRbJ2FjdGlvbiddOw0KDQoJcmVxdWlyZV9vbmNlIFVDX0NMSUVOVF9ST09ULicvbGliL3htbC5jbGFzcy5waHAnOw0KCSRwb3N0ID0geG1sX3Vuc2VyaWFsaXplKGZpbGVfZ2V0X2NvbnRlbnRzKCdwaHA6Ly9pbnB1dCcpKTsNCg0KCWlmKGluX2FycmF5KCRnZXRbJ2FjdGlvbiddLCBhcnJheSgndGVzdCcsICdERUxFVEUgdXNlcicsICdyZW5hbWV1c2VyJywgJ2dldHRhZycsICdzeW5sb2dpbicsICdzeW5sb2dvdXQnLCAndXBkYXRlcHcnLCAndXBkYXRlYmFkd29yZHMnLCAndXBkYXRlaG9zdHMnLCAndXBkYXRlYXBwcycsICd1cGRhdGVjbGllbnQnLCAndXBkYXRlY3JlZGl0JywgJ2dldGNyZWRpdHNldHRpbmdzJywgJ3VwZGF0ZWNyZWRpdHNldHRpbmdzJykpKQ0KCXsNCgkJJHVjX25vdGUgPSBuZXcgdWNfbm90ZSgpOw0KCQlleGl0KCR1Y19ub3RlLT4kZ2V0WydhY3Rpb24nXSgkZ2V0LCAkcG9zdCkpOw0KCX1lbHNlew0KCQlleGl0KEFQSV9SRVRVUk5fRkFJTEVEKTsNCgl9DQoNCi8vbm90ZSBpbmNsdWRlIM2o1qq3vcq9DQp9IGVsc2Ugew0KDQoJZXhpdCgnSW52YWxpZCBSZXF1ZXN0Jyk7DQp9DQoNCmNsYXNzIHVjX25vdGUNCnsNCg0KCXZhciAkZGJjb25maWcgPSAnJzsNCgl2YXIgJGRiID0gJyc7DQoJdmFyICRhcHBkaXIgPSAnJzsNCgl2YXIgJHRhYmxlcHJlID0gJ2RlZGVfJzsNCgkNCglmdW5jdGlvbiBfc2VyaWFsaXplKCRhcnIsICRodG1sb24gPSAwKQ0KCXsNCgkJaWYoIWZ1bmN0aW9uX2V4aXN0cygneG1sX3NlcmlhbGl6ZScpKQ0KCQl7DQoJCQlpbmNsdWRlX29uY2UgVUNfQ0xJRU5UX1JPT1QuJy9saWIveG1sLmNsYXNzLnBocCc7DQoJCX0NCgkJcmV0dXJuIHhtbF9zZXJpYWxpemUoJGFyciwgJGh0bWxvbik7DQoJfQ0KDQoJZnVuY3Rpb24gdWNfbm90ZSgpDQoJew0KCQkkdGhpcy0+YXBwZGlyID0gREVERVJPT1Q7DQoJCSR0aGlzLT5kYmNvbmZpZyA9IERFREVJTkMuJy9jb21tb24uaW5jLnBocCc7DQoJCSR0aGlzLT5kYiA9ICRHTE9CQUxTWydkc3FsJ107DQoJCSR0aGlzLT50YWJsZXByZSA9ICRHTE9CQUxTWydjZmdfZGJwcmVmaXgnXTsNCgl9DQoJDQoJZnVuY3Rpb24gZ2V0X3VpZHMoJHVpZHMpDQoJew0KCQlpbmNsdWRlIFVDX0NMSUVOVF9ST09ULicvY2xpZW50LnBocCc7DQoJCQ0KCQkkbWVtYmVycyA9IGV4cGxvZGUoIiwiLCAkdWlkcyk7DQoJCWVtcHR5KCRtZW1iZXJzKSAmJiBleGl0KEFQSV9SRVRVUk5fRk9SQklEREVOKTsNCgkJDQoJCSRtZW1iZXJzX3VzZXJuYW1lID0gYXJyYXkoKTsNCgkJDQoJCWZvcmVhY2goJG1lbWJlcnMgYXMgJGlkKQ0KCQl7DQoJCQkkcm93ID0gdWNfZ2V0X3VzZXIoJGlkLDEpOw0KCQkJJG1lbWJlcnNfdXNlcm5hbWVbXSA9ICAkcm93WzFdOwkJDQoJCX0NCgkJDQoJCSRjb21tYV90ZW1wcyA9IGltcGxvZGUoIiwiLCAkbWVtYmVyc191c2VybmFtZSk7DQoJCQ0KCQllbXB0eSgkY29tbWFfdGVtcHMpICYmIGV4aXQoQVBJX1JFVFVSTl9GT1JCSURERU4pOw0KCQkNCgkJJGNvbW1hX3VpZHMgPSBhcnJheSgpOw0KCQkNCgkJJHJvdyA9ICR0aGlzLT5kYi0+U2V0UXVlcnkoIlNFTEVDVCBtaWQgRlJPTSBgI0BfX21lbWJlcmAgV0hFUkUgdXNlcmlkIElOICgkY29tbWFfdGVtcHMpIik7DQoJCSR0aGlzLT5kYi0+RXhlY3V0ZSgpOw0KCQl3aGlsZSgkcm93ID0gJHRoaXMtPmRiLT5HZXRBcnJheSgpKQ0KCQl7DQoJCQkkY29tbWFfdWlkc1tdID0gJHJvd1snbWlkJ107DQoJCX0NCgkJDQoJCWVtcHR5KCRjb21tYV91aWRzKSAmJiBleGl0KEFQSV9SRVRVUk5fRk9SQklEREVOKTsNCgkJDQoJCXJldHVybiBpbXBsb2RlKCIsIiwgJGNvbW1hX3VpZHMpOw0KCX0NCg0KCWZ1bmN0aW9uIHRlc3QoJGdldCwgJHBvc3QpDQoJew0KCQlyZXR1cm4gQVBJX1JFVFVSTl9TVUNDRUVEOw0KCX0NCg0KCWZ1bmN0aW9uIGRlbGV0ZXVzZXIoJGdldCwgJHBvc3QpDQoJew0KCQkkdWlkcyA9ICR0aGlzLT5nZXRfdWlkcygkZ2V0WydpZHMnXSk7DQoJCSFBUElfREVMRVRFVVNFUiAmJiBleGl0KEFQSV9SRVRVUk5fRk9SQklEREVOKTsNCg0KCQkvL25vdGUg08O7p8m+s/0gQVBJIL3Tv9oNCgkJJHJzID0gJHRoaXMtPmRiLT5FeGVjdXRlTm9uZVF1ZXJ5MigiREVMRVRFIEZST00gYCNAX19tZW1iZXJgIFdIRVJFIG1pZCBJTiAoJHVpZHMpIEFORCBtYXR0PD4xMCBsaW1pdCAxIik7DQoJCWlmKCRycyA+IDApDQoJCXsNCgkJCSR0aGlzLT5kYi0+RXhlY3V0ZU5vbmVRdWVyeSgiREVMRVRFIEZST00gYCNAX19tZW1iZXJfdGpgIFdIRVJFIG1pZCBJTiAoJHVpZHMpIGxpbWl0IDEiKTsNCgkJCSR0aGlzLT5kYi0+RXhlY3V0ZU5vbmVRdWVyeSgiREVMRVRFIEZST00gYCNAX19tZW1iZXJfc3BhY2VgIFdIRVJFIG1pZCBJTiAoJHVpZHMpIGxpbWl0IDEiKTsNCgkJCSR0aGlzLT5kYi0+RXhlY3V0ZU5vbmVRdWVyeSgiREVMRVRFIEZST00gYCNAX19tZW1iZXJfY29tcGFueWAgV0hFUkUgbWlkIElOICgkdWlkcykgbGltaXQgMSIpOw0KCQkJJHRoaXMtPmRiLT5FeGVjdXRlTm9uZVF1ZXJ5KCJERUxFVEUgRlJPTSBgI0BfX21lbWJlcl9wZXJzb25gIFdIRVJFIG1pZCBJTiAoJHVpZHMpIGxpbWl0IDEiKTsNCgkJDQoJCQkvL8m+s/3Tw7unz+C52Mr9vt0NCgkJCSR0aGlzLT5kYi0+RXhlY3V0ZU5vbmVRdWVyeSgiREVMRVRFIEZST00gYCNAX19tZW1iZXJfc3Rvd2AgV0hFUkUgbWlkIElOICgkdWlkcykgIik7DQoJCQkkdGhpcy0+ZGItPkV4ZWN1dGVOb25lUXVlcnkoIkRFTEVURSBGUk9NIGAjQF9fbWVtYmVyX2ZsaW5rYCBXSEVSRSBtaWQgSU4gKCR1aWRzKSAiKTsNCgkJCSR0aGlzLT5kYi0+RXhlY3V0ZU5vbmVRdWVyeSgiREVMRVRFIEZST00gYCNAX19tZW1iZXJfZ3Vlc3Rib29rYCBXSEVSRSBtaWQgSU4gKCR1aWRzKSAiKTsNCgkJCSR0aGlzLT5kYi0+RXhlY3V0ZU5vbmVRdWVyeSgiREVMRVRFIEZST00gYCNAX19tZW1iZXJfb3BlcmF0aW9uYCBXSEVSRSBtaWQgSU4gKCR1aWRzKSAiKTsNCgkJCSR0aGlzLT5kYi0+RXhlY3V0ZU5vbmVRdWVyeSgiREVMRVRFIEZST00gYCNAX19tZW1iZXJfcG1zYCBXSEVSRSB0b2lkIElOICgkdWlkcykgT1IgZnJvbWlkIElOICgkdWlkcykgIik7DQoJCQkkdGhpcy0+ZGItPkV4ZWN1dGVOb25lUXVlcnkoIkRFTEVURSBGUk9NIGAjQF9fbWVtYmVyX2ZyaWVuZHNgIFdIRVJFIG1pZCBJTiAoJHVpZHMpIE9SIGZpZCBJTiAoJHVpZHMpICIpOw0KCQkJJHRoaXMtPmRiLT5FeGVjdXRlTm9uZVF1ZXJ5KCJERUxFVEUgRlJPTSBgI0BfX21lbWJlcl92aGlzdG9yeWAgV0hFUkUgbWlkIElOICgkdWlkcykgT1IgdmlkIElOICgkdWlkcykgIik7DQoJCQkkdGhpcy0+ZGItPkV4ZWN1dGVOb25lUXVlcnkoIkRFTEVURSBGUk9NIGAjQF9fZmVlZGJhY2tgIFdIRVJFIG1pZCBJTiAoJHVpZHMpICIpOw0KCQkJJHRoaXMtPmRiLT5FeGVjdXRlTm9uZVF1ZXJ5KCJVUERBVEUgYCNAX19hcmNoaXZlc2AgU0VUIG1pZD0nMCcgV0hFUkUgbWlkIElOICgkdWlkcykiKTsNCgkJfQ0KCQllbHNlDQoJCXsNCgkJCWV4aXQoQVBJX1JFVFVSTl9GT1JCSURERU4pOw0KCQl9DQoNCgkJcmV0dXJuIEFQSV9SRVRVUk5fU1VDQ0VFRDsNCgl9DQoNCglmdW5jdGlvbiByZW5hbWV1c2VyKCRnZXQsICRwb3N0KQ0KCXsNCgkJJHVpZHMgPSAkdGhpcy0+Z2V0X3VpZHMoJGdldFsnaWRzJ10pOw0KCQkNCgkJDQoJCSR1c2VybmFtZW9sZCA9ICRnZXRbJ29sZHVzZXJuYW1lJ107DQoJCSR1c2VybmFtZW5ldyA9ICRnZXRbJ25ld3VzZXJuYW1lJ107DQoJCWlmKCFBUElfUkVOQU1FVVNFUikNCgkJew0KCQkJcmV0dXJuIEFQSV9SRVRVUk5fRk9SQklEREVOOw0KCQl9DQoNCgkJLy9ub3RlILvxyKGx6sepIEFQSSC907/aDQoJCSRycyA9ICR0aGlzLT5kYi0+RXhlY3V0ZU5vbmVRdWVyeTIoIlVQREFURSBgI0BfX21lbWJlcmAgU0VUIHVzZXJpZD0nJHVzZXJuYW1lbmV3JyBXSEVSRSB1c2VyaWQ9JyR1c2VybmFtZW5ldycgQU5EIG1hdHQ8PjEwIGxpbWl0IDEiKTsNCgkJaWYoJHJzID4gMCkNCgkJew0KCQkJJHRoaXMtPmRiLT5FeGVjdXRlTm9uZVF1ZXJ5KCJVUERBVEUgYCNAX19hcmNoaXZlc2AgU0VUIHdyaXRlcj0nJHVzZXJuYW1lbmV3JyBXSEVSRSB3cml0ZXI9JyR1c2VybmFtZW5ldyciKTsNCgkJCSR0aGlzLT5kYi0+RXhlY3V0ZU5vbmVRdWVyeSgiVVBEQVRFIGAjQF9fbWVtYmVyX3Btc2AgU0VUIGZsb2dpbmlkPVJFUExBQ0UoZmxvZ2luaWQsICdcdCR1c2VybmFtZW9sZCcsICdcdCR1c2VybmFtZW5ldycpLHRvbG9naW5pZD1SRVBMQUNFKHRvbG9naW5pZCwgJ1x0JHVzZXJuYW1lb2xkJywgJ1x0JHVzZXJuYW1lbmV3JykiKTsNCgkJCQ0KCQkJDQoJCQkkcm93ID0gJHRoaXMtPmRiLT5HZXRPbmUoIlNIT1cgVEFCTEUgU1RBVFVTIik7DQoJCQkkZGJfdGFibGVzID0gJHJvd1snTmFtZSddOyB1bnNldCgkcm93KTsNCgkJCQ0KCQkJaWYoaW5fYXJyYXkoJHRoaXMtPnRhYmxlcHJlLidndWVzdGJvb2snLCRkYl90YWJsZXMpKQ0KCQkJew0KCQkJCSR0aGlzLT5kYi0+RXhlY3V0ZU5vbmVRdWVyeSgiVVBEQVRFIGAjQF9fZ3Vlc3Rib29rYCBTRVQgdW5hbWU9JyR1c2VybmFtZW5ldycgV0hFUkUgdW5hbWU9JyR1c2VybmFtZW5ldyciKTsNCgkJCX0NCgkJCQ0KCQkJaWYoaW5fYXJyYXkoJHRoaXMtPnRhYmxlcHJlLidzdG9yeV9ib29rcycsJGRiX3RhYmxlcykpDQoJCQl7DQoJCQkJJHRoaXMtPmRiLT5FeGVjdXRlTm9uZVF1ZXJ5KCJVUERBVEUgYCNAX19zdG9yeV9ib29rc2AgU0VUIGF1dGhvcj0nJHVzZXJuYW1lbmV3JyBXSEVSRSBhdXRob3I9JyR1c2VybmFtZW5ldyciKTsNCgkJCX0NCgkJCQ0KCQkJaWYoaW5fYXJyYXkoJHRoaXMtPnRhYmxlcHJlLidncm91cHMnLCRkYl90YWJsZXMpKQ0KCQkJew0KCQkJCSR0aGlzLT5kYi0+RXhlY3V0ZU5vbmVRdWVyeSgiVVBEQVRFIGAjQF9fZ3JvdXBzYCBTRVQgY3JlYXRlcj0nJHVzZXJuYW1lbmV3JyBXSEVSRSBjcmVhdGVyPSckdXNlcm5hbWVuZXcnIik7DQoJCQkJJHRoaXMtPmRiLT5FeGVjdXRlTm9uZVF1ZXJ5KCJVUERBVEUgYCNAX19ncm91cF90aHJlYWRzYCBTRVQgYXV0aG9yPSckdXNlcm5hbWVuZXcnIFdIRVJFIGF1dGhvcj0nJHVzZXJuYW1lbmV3JyIpOw0KCQkJCSR0aGlzLT5kYi0+RXhlY3V0ZU5vbmVRdWVyeSgiVVBEQVRFIGAjQF9fZ3JvdXBfdXNlcmAgU0VUIHVzZXJuYW1lPSckdXNlcm5hbWVuZXcnIFdIRVJFIHVzZXJuYW1lPSckdXNlcm5hbWVuZXcnIik7DQoJCQkJJHRoaXMtPmRiLT5FeGVjdXRlTm9uZVF1ZXJ5KCJVUERBVEUgYCNAX19ncm91cF9wb3N0c2AgU0VUIGF1dGhvcj0nJHVzZXJuYW1lbmV3JyBXSEVSRSBhdXRob3I9JyR1c2VybmFtZW5ldyciKTsNCgkJCQkkdGhpcy0+ZGItPkV4ZWN1dGVOb25lUXVlcnkoIlVQREFURSBgI0BfX2dyb3VwX2d1ZXN0Ym9va2AgU0VUIHVuYW1lPSckdXNlcm5hbWVuZXcnIFdIRVJFIHVuYW1lPSckdXNlcm5hbWVuZXcnIik7DQoJCQkJJHRoaXMtPmRiLT5FeGVjdXRlTm9uZVF1ZXJ5KCJVUERBVEUgYCNAX19ncm91cHNgIFNFVCBpc21hc3Rlcj1SRVBMQUNFKGlzbWFzdGVyLCAnXHQkdXNlcm5hbWVvbGQnLCAnXHQkdXNlcm5hbWVuZXcnKSIpOw0KCQkJfQ0KCQkJDQoJCQlyZXR1cm4gQVBJX1JFVFVSTl9TVUNDRUVEOw0KCQl9DQoJCWVsc2UNCgkJew0KCQkJcmV0dXJuIEFQSV9SRVRVUk5fRk9SQklEREVOOw0KCQl9DQoJfQ0KDQoJZnVuY3Rpb24gZ2V0dGFnKCRnZXQsICRwb3N0KQ0KCXsNCgkJJG5hbWUgPSAkZ2V0WydpZCddOw0KCQlpZighQVBJX0dFVFRBRykNCgkJew0KCQkJcmV0dXJuIEFQSV9SRVRVUk5fRk9SQklEREVOOw0KCQl9DQoNCgkJLy9ub3RlILvxyKGx6sepIEFQSSC907/aDQoNCgkJJG5hbWUgPSB0cmltKCRuYW1lKTsNCgkJaWYoZW1wdHkoJG5hbWUpIHx8ICFwcmVnX21hdGNoKCcvXihbXHg3Zi1ceGZmXy1dfFx3fFxzKSskLycsICRuYW1lKSB8fCBzdHJsZW4oJG5hbWUpID4gMjApDQoJCXsNCgkJCXJldHVybiBBUElfUkVUVVJOX0ZBSUxFRDsNCgkJfQ0KDQoJCSRyb3cgPSAkdGhpcy0+ZGItPkdldE9uZSgiU0VMRUNUIGB0b3RhbGAsYGlkYCBGUk9NIGAjQF9fdGFnaW5kZXhgIFdIRVJFIGB0YWdgPSckbmFtZSciKTsNCgkJaWYoIWlzX2FycmF5KCRyb3cpKQ0KCQl7DQoJCQlyZXR1cm4gQVBJX1JFVFVSTl9GQUlMRUQ7DQoJCX0NCgkJDQoJCSR0cHAgPSAkcm93Wyd0b3RhbCddID4gMTAgPyAxMCA6ICRyb3dbJ3RvdGFsJ107CQkNCgkJDQoJCSRpZHMgPSBhcnJheSgpOw0KCQkNCgkJJHRoaXMtPmRiLT5TZXRRdWVyeSgiU0VMRUNUIGFpZCBGUk9NIGAjQF9fdGFnbGlzdGAgV0hFUkUgYHRpZGA9JyRyb3dbaWRdJyBBTkQgYXJjcmFuaz4tMSIpOw0KCQkkdGhpcy0+ZGItPkV4ZWN1dGUoKTsNCgkJd2hpbGUoJHJvdyA9ICR0aGlzLT5kYi0+R2V0QXJyYXkoKSkNCgkJew0KCQkJJGlkc1tdID0gJHJvd1snYWlkJ107CQkJDQoJCX0NCgkJDQoJCWlmKGVtcHR5KCRpZHMpKQ0KCQl7DQoJCQlyZXR1cm4gQVBJX1JFVFVSTl9GQUlMRUQ7DQoJCX0NCgkJDQoJCSRhaWRzID0gaW1wbG9kZSgiLCIsICRpZHMpOw0KCQkNCgkJaW5jbHVkZV9vbmNlIERFREVJTkMuJy9jaGFubmVsdW5pdC5mdW5jLnBocCc7DQoJCQ0KCQkkYXJjaGl2ZXNfbGlzdCA9IGFycmF5KCk7CQkNCgkJJHRoaXMtPmRiLT5TZXRRdWVyeSgiU0VMRUNUIGFyYy4qLHRwLnR5cGVkaXIsdHAudHlwZW5hbWUsdHAuaXNkZWZhdWx0LHRwLmRlZmF1bHRuYW1lLHRwLm5hbWVydWxlLHRwLm5hbWVydWxlMix0cC5pc3BhcnQsdHAubW9yZXNpdGUsdHAuc2l0ZXVybCx0cC5zaXRlcGF0aCANCglGUk9NIGAjQF9fYXJjaGl2ZXNgIGFyYyBMRUZUIEpPSU4gYCNAX19hcmN0eXBlYCB0cCBPTiBhcmMudHlwZWlkPXRwLmlkIFdIRVJFIGFyYy5pZCBJTigkYWlkcykgT1JERVIgQlkgaWQgREVTQyBMSU1JVCAkdHBwIik7DQoJCSR0aGlzLT5kYi0+RXhlY3V0ZSgpOw0KCQl3aGlsZSgkcm93ID0gJHRoaXMtPmRiLT5HZXRBcnJheSgpKQ0KCQl7DQoJCQkkcm93Wyd1cmwnXSA9IEdldEZpbGVVcmwoJHJvd1snaWQnXSwkcm93Wyd0eXBlaWQnXSwkcm93WydzZW5kZGF0ZSddLCRyb3dbJ3RpdGxlJ10sJHJvd1snaXNtYWtlJ10sJHJvd1snYXJjcmFuayddLCRyb3dbJ25hbWVydWxlJ10sJHJvd1sndHlwZWRpciddLCRyb3dbJ21vbmV5J10sJHJvd1snZmlsZW5hbWUnXSwkcm93Wydtb3Jlc2l0ZSddLCRyb3dbJ3NpdGV1cmwnXSwkcm93WydzaXRlcGF0aCddKTsNCg0KCQkJJHJvd1sndXJsJ10gPSAhZXJlZygnaHR0cDonLCRyb3dbJ3VybCddKSA/ICRHTE9CQUxTWydjZmdfYmFzZWhvc3QnXS4kcm93Wyd1cmwnXSA6ICRyb3dbJ3VybCddOw0KCQkJDQoJCQlpZighZW1wdHkoJHJvd1sndXJsJ10pKQ0KCQkJew0KCQkJCSRhcmNoaXZlc19saXN0W10gPSBhcnJheSgndGl0bGUnID0+ICRyb3dbJ3RpdGxlJ10sJ3dyaXRlcicgPT4gJHJvd1snd3JpdGVyJ10sJ3B1YmRhdGUnID0+ICRyb3dbJ3B1YmRhdGUnXSwndXJsJyA9PiAkcm93Wyd1cmwnXSk7DQoJCQl9DQoJCX0NCg0KCQkkcmV0dXJuID0gYXJyYXkoJG5hbWUsICRhcmNoaXZlc19saXN0KTsNCgkJcmV0dXJuICR0aGlzLT5fc2VyaWFsaXplKCRyZXR1cm4sIDEpOw0KCX0NCg0KCWZ1bmN0aW9uIHN5bmxvZ2luKCRnZXQsICRwb3N0KQ0KCXsNCgkJJHVpZCA9ICRnZXRbJ3VpZCddOw0KCQkkdXNlcm5hbWUgPSAkZ2V0Wyd1c2VybmFtZSddOw0KCQlpZighQVBJX1NZTkxPR0lOKQ0KCQl7DQoJCQlyZXR1cm4gQVBJX1JFVFVSTl9GT1JCSURERU47DQoJCX0NCg0KCQkvL25vdGUgzayyvbXHwrwgQVBJIL3Tv9oNCgkJaGVhZGVyKCdQM1A6IENQPSJDVVJhIEFETWEgREVWYSBQU0FvIFBTRG8gT1VSIEJVUyBVTkkgUFVSIElOVCBERU0gU1RBIFBSRSBDT00gTkFWIE9UQyBOT0kgRFNQIENPUiInKTsNCgkJJHJlc3VsdCA9ICR0aGlzLT5kYi0+R2V0T25lKCJTRUxFQ1QgbWlkLHB3ZCBGUk9NIGAjQF9fbWVtYmVyYCBXSEVSRSBgdXNlcmlkYCBsaWtlICckdXNlcm5hbWUnIEFORCBtYXR0PD4xMCIpOw0KCQlpZihpc19hcnJheSgkcmVzdWx0KSkNCgkJew0KCQkJaW5jbHVkZV9vbmNlIERFREVJTkMuJy9tZW1iZXJsb2dpbi5jbGFzcy5waHAnOw0KCQkJJGNmZ19tbCA9IG5ldyBNZW1iZXJMb2dpbig4NjQwMCk7DQoJCQkkY2ZnX21sLT5QdXRMb2dpbkluZm8oJHJlc3VsdFsnbWlkJ10pOw0KCQl9DQoJfQ0KDQoJZnVuY3Rpb24gc3lubG9nb3V0KCRnZXQsICRwb3N0KQ0KCXsNCgkJaWYoIUFQSV9TWU5MT0dPVVQpDQoJCXsNCgkJCXJldHVybiBBUElfUkVUVVJOX0ZPUkJJRERFTjsNCgkJfQ0KDQoJCS8vbm90ZSDNrLK9tcez9iBBUEkgvdO/2g0KCQloZWFkZXIoJ1AzUDogQ1A9IkNVUmEgQURNYSBERVZhIFBTQW8gUFNEbyBPVVIgQlVTIFVOSSBQVVIgSU5UIERFTSBTVEEgUFJFIENPTSBOQVYgT1RDIE5PSSBEU1AgQ09SIicpOw0KCQlpbmNsdWRlX29uY2UgREVERUlOQy4nL21lbWJlcmxvZ2luLmNsYXNzLnBocCc7DQoJCSRjZmdfbWwgPSBuZXcgTWVtYmVyTG9naW4oKTsNCgkJJGNmZ19tbC0+RXhpdENvb2tpZSgpOw0KCX0NCg0KCWZ1bmN0aW9uIHVwZGF0ZXB3KCRnZXQsICRwb3N0KQ0KCXsNCgkJaWYoIUFQSV9VUERBVEVQVykNCgkJew0KCQkJcmV0dXJuIEFQSV9SRVRVUk5fRk9SQklEREVOOw0KCQl9DQoJCSR1c2VybmFtZSA9ICRnZXRbJ3VzZXJuYW1lJ107DQoJCSRwYXNzd29yZCA9ICRnZXRbJ3Bhc3N3b3JkJ107DQoJCQ0KCQkvL25vdGUg0N64xMPcwusgQVBJIL3Tv9oNCgkJJG5ld3B3ID0gbWQ1KCRwYXNzd29yZCk7DQoJCSR0aGlzLT5kYi0+RXhlY3V0ZU5vbmVRdWVyeSgiVVBEQVRFIGAjQF9fbWVtYmVyYCBTRVQgYHB3ZGA9JyRuZXdwdycgV0hFUkUgYHVzZXJpZGA9JyR1c2VybmFtZSciKTsNCgkJcmV0dXJuIEFQSV9SRVRVUk5fU1VDQ0VFRDsNCgl9DQoNCglmdW5jdGlvbiB1cGRhdGViYWR3b3JkcygkZ2V0LCAkcG9zdCkNCgl7DQoJCWlmKCFBUElfVVBEQVRFQkFEV09SRFMpDQoJCXsNCgkJCXJldHVybiBBUElfUkVUVVJOX0ZPUkJJRERFTjsNCgkJfQ0KDQoJCSRyb3cgPSAkdGhpcy0+ZGItPkdldE9uZSgiU0VMRUNUIGB2YWx1ZWAgRlJPTSBgI0BfX3N5c2NvbmZpZ2AgV0hFUkUgYHZhcm5hbWVgPSdjZmdfcmVwbGFjZXN0ciciKTsNCgkJDQoJCSRiYWR3b3JkcyA9IGlzc2V0KCRyb3dbJ3ZhbHVlJ10pID8gZXhwbG9kZSgiLCIsICRyb3dbJ3ZhbHVlJ10pIDogYXJyYXkoKTsNCgkJDQoJCWlmKGlzX2FycmF5KCRwb3N0KSkNCgkJew0KCQkJZm9yZWFjaCgkcG9zdCBhcyAkayA9PiAkdikNCgkJCXsNCgkJCQlpZihpbl9hcnJheSgkdlsnZmluZCddLCRiYWR3b3JkcykpIGNvbnRpbnVlOw0KCQkJCSRiYWR3b3Jkc1tdID0gJHZbJ2ZpbmQnXTsNCgkJCX0NCgkJfQ0KDQoJCSRiYWR3b3Jkc19jb21tYSA9ICFlbXB0eSgkYmFkd29yZHMpID8gaW1wbG9kZSgiLCIsICRiYWR3b3JkcykgOiAnJzsNCgkJDQoNCgkJJHRoaXMtPmRiLT5FeGVjdXRlTm9uZVF1ZXJ5KCJVUERBVEUgYCNAX19zeXNjb25maWdgIFNFVCBgdmFsdWVgPSckYmFkd29yZHNfY29tbWEnIFdIRVJFIGB2YXJuYW1lYD0nY2ZnX3JlcGxhY2VzdHInIik7DQoJCQ0KCQkkY2FjaGVmaWxlID0gREVERURBVEEuJy9jb25maWcuY2FjaGUuaW5jLnBocCc7DQoJCQ0KCQlpZighaXNfd3JpdGVhYmxlKCRjYWNoZWZpbGUpKQ0KCQl7DQoJCQlyZXR1cm4gQVBJX1JFVFVSTl9GT1JCSURERU47DQoJCX0NCg0KCQkkZnAgPSBmb3BlbigkY2FjaGVmaWxlLCAndycpOw0KCQkkdGhpcy0+ZGItPlNldFF1ZXJ5KCJTRUxFQ1QgYHZhcm5hbWVgLGB0eXBlYCxgdmFsdWVgLGBncm91cGlkYCBGcm9tIGAjQF9fc3lzY29uZmlnYCBvcmRlciBieSBhaWQgYXNjICIpOw0KCQkkdGhpcy0+ZGItPkV4ZWN1dGUoKTsNCgkJJHMgPSAnPD9waHAnLiJcclxuIjsNCgkJd2hpbGUoJHJvdyA9ICR0aGlzLT5kYi0+R2V0QXJyYXkoKSkNCgkJew0KCQkJJHMgLj0gJyQnLiRyb3dbJ3Zhcm5hbWUnXS4nID0gJy4oJHJvd1sndHlwZSddPT0nbnVtYmVyJyA/ICRyb3dbJ3ZhbHVlJ10gOiAiJyIuc3RyX3JlcGxhY2UoIiciLCcnLCRyb3dbJ3ZhbHVlJ10pLiInIikuIjtcclxuIjsNCgkJfQ0KCQkkcyAuPSAnPz4nOw0KCQlmd3JpdGUoJGZwLCAkcyk7DQoJCWZjbG9zZSgkZnApOw0KCQlyZXR1cm4gQVBJX1JFVFVSTl9TVUNDRUVEOw0KCX0NCg0KCWZ1bmN0aW9uIHVwZGF0ZWhvc3RzKCRnZXQsICRwb3N0KQ0KCXsNCgkJaWYoIUFQSV9VUERBVEVIT1NUUykNCgkJew0KCQkJcmV0dXJuIEFQSV9SRVRVUk5fRk9SQklEREVOOw0KCQl9DQoJCS8vbm90ZSDA7dDCSE9TVLu6tOYgQVBJIL3Tv9oNCgkJJGNhY2hlZmlsZSA9IFVDX0NMSUVOVF9ST09ULicvZGF0YS9jYWNoZS9ob3N0cy5waHAnOw0KCQkkZnAgPSBmb3BlbigkY2FjaGVmaWxlLCAndycpOw0KCQkkcyA9ICI8P3BocFxyXG4iOw0KCQkkcyAuPSAnJF9DQUNIRVtcJ2hvc3RzXCddID0gJy52YXJfZXhwb3J0KCRwb3N0LCBUUlVFKS4iO1xyXG4iOw0KCQlmd3JpdGUoJGZwLCAkcyk7DQoJCWZjbG9zZSgkZnApOw0KCQlyZXR1cm4gQVBJX1JFVFVSTl9TVUNDRUVEOw0KCX0NCg0KCWZ1bmN0aW9uIHVwZGF0ZWFwcHMoJGdldCwgJHBvc3QpDQoJew0KCQlpZighQVBJX1VQREFURUFQUFMpDQoJCXsNCgkJCXJldHVybiBBUElfUkVUVVJOX0ZPUkJJRERFTjsNCgkJfQ0KCQkkVUNfQVBJID0gJHBvc3RbJ1VDX0FQSSddOw0KDQoJCS8vbm90ZSDQtCBhcHAgu7q05s7EvP4NCgkJJGNhY2hlZmlsZSA9IFVDX0NMSUVOVF9ST09ULicvZGF0YS9jYWNoZS9hcHBzLnBocCc7DQoJCSRmcCA9IGZvcGVuKCRjYWNoZWZpbGUsICd3Jyk7DQoJCSRzID0gIjw/cGhwXHJcbiI7DQoJCSRzIC49ICckX0NBQ0hFW1wnYXBwc1wnXSA9ICcudmFyX2V4cG9ydCgkcG9zdCwgVFJVRSkuIjtcclxuIjsNCgkJZndyaXRlKCRmcCwgJHMpOw0KCQlmY2xvc2UoJGZwKTsNCg0KCQlyZXR1cm4gQVBJX1JFVFVSTl9TVUNDRUVEOw0KCX0NCg0KCWZ1bmN0aW9uIHVwZGF0ZWNsaWVudCgkZ2V0LCAkcG9zdCkNCgl7DQoJCWlmKCFBUElfVVBEQVRFQ0xJRU5UKQ0KCQl7DQoJCQlyZXR1cm4gQVBJX1JFVFVSTl9GT1JCSURERU47DQoJCX0NCgkJJGNhY2hlZmlsZSA9IFVDX0NMSUVOVF9ST09ULicvZGF0YS9jYWNoZS9zZXR0aW5ncy5waHAnOw0KCQkkZnAgPSBmb3BlbigkY2FjaGVmaWxlLCAndycpOw0KCQkkcyA9ICc8P3BocCcuIlxyXG4iOw0KCQkkcyAuPSAnJF9DQUNIRVtcJ3NldHRpbmdzXCddID0gJy52YXJfZXhwb3J0KCRwb3N0LCBUUlVFKS4iO1xyXG4iOw0KCQlmd3JpdGUoJGZwLCAkcyk7DQoJCWZjbG9zZSgkZnApOw0KCQkNCgkJcmV0dXJuIEFQSV9SRVRVUk5fU1VDQ0VFRDsNCgl9DQoNCglmdW5jdGlvbiB1cGRhdGVjcmVkaXQoJGdldCwgJHBvc3QpDQoJew0KCQlpZighQVBJX1VQREFURUNSRURJVCkNCgkJew0KCQkJcmV0dXJuIEFQSV9SRVRVUk5fRk9SQklEREVOOw0KCQl9DQoJCS8qDQoJCW5vdGUguPzQwrv9t9YNCgkJZGlzY3V6IMSsyM84uPa7/bfWse207yy2+ERlZGVDTVPWu9PQ0ru49rv9t9bX1rbOLHNjb3Jlcy7XotLibW9uZXmyu8Tc1/a7/bfWwLTTwy4NCgkJZXh0Y3JlZGl0czEgIGV4dGNyZWRpdHMyICBleHRjcmVkaXRzMyAgZXh0Y3JlZGl0czQgIGV4dGNyZWRpdHM1ICBleHRjcmVkaXRzNiAgZXh0Y3JlZGl0czcgIGV4dGNyZWRpdHM4DQoJCSovDQoJCQkJDQoJCSRjcmVkaXQgPSBpbnR2YWwoJGdldFsnY3JlZGl0J10pOw0KCQkkZmlsZWRzID0gJGNyZWRpdCA+IDEgPyAnbW9uZXknIDogJ3Njb3Jlcyc7DQoJCSRhbW91bnQgPSAkZ2V0WydhbW91bnQnXTsNCgkJJHVpZCA9ICRnZXRbJ3VpZCddOw0KCQlpbmNsdWRlIFVDX0NMSUVOVF9ST09ULicvY2xpZW50LnBocCc7DQoJCSRkYXRhID0gdWNfZ2V0X3VzZXIoJHVpZCwxKTsNCgkJJHVzZXJuYW1lID0gJGRhdGFbMV07DQoJCQ0KCQkkcmVzdWx0ID0gJHRoaXMtPmRiLT5HZXRPbmUoIlNFTEVDVCBtaWQgRlJPTSBgI0BfX21lbWJlcmAgV0hFUkUgdXNlcmlkPSckdXNlcm5hbWUnIik7DQoJCWlmKGlzX2FycmF5KCRyZXN1bHQpKQ0KCQl7DQoJCQkkdGhpcy0+ZGItPkV4ZWN1dGVOb25lUXVlcnkoIlVQREFURSBgI0BfX21lbWJlcmAgU0VUIGAkZmlsZWRzYD1gJGZpbGVkc2ArJyRhbW91bnQnIFdIRVJFIG1pZD0nJHJlc3VsdFttaWRdJyIpOw0KCQl9DQoJCQ0KCQlyZXR1cm4gQVBJX1JFVFVSTl9TVUNDRUVEOw0KCX0NCg0KCWZ1bmN0aW9uIGdldGNyZWRpdCgkZ2V0LCAkcG9zdCkNCgl7DQoJCWlmKCFBUElfR0VUQ1JFRElUKQ0KCQl7DQoJCQlyZXR1cm4gQVBJX1JFVFVSTl9GT1JCSURERU47DQoJCX0NCgkJDQoJCWluY2x1ZGUgVUNfQ0xJRU5UX1JPT1QuJy9jbGllbnQucGhwJzsNCgkJJGRhdGEgPSB1Y19nZXRfdXNlcigkdWlkLDEpOw0KCQkkdXNlcm5hbWUgPSAkZGF0YVsxXTsNCgkJJGNyZWRpdCA9IGludHZhbCgkZ2V0WydjcmVkaXQnXSk7DQoJCSRmaWxlZHMgPSAkY3JlZGl0ID4gMSA/ICdtb25leScgOiAnc2NvcmVzJzsNCgkJJHJlc3VsdCA9ICR0aGlzLT5kYi0+R2V0T25lKCJTRUxFQ1QgYCRmaWxlZHNgIEFTIGNyZWRpdCBGUk9NIGAjQF9fbWVtYmVyYCBXSEVSRSB1c2VyaWQ9JyR1c2VybmFtZSciKTsNCgkJDQoJCWVjaG8gaXNfYXJyYXkoJHJlc3VsdCkgPyAkcmVzdWx0WydjcmVkaXQnXSA6IDA7CQkNCgl9DQoNCglmdW5jdGlvbiBnZXRjcmVkaXRzZXR0aW5ncygkZ2V0LCAkcG9zdCkNCgl7DQoJCWlmKCFBUElfR0VUQ1JFRElUU0VUVElOR1MpDQoJCXsNCgkJCXJldHVybiBBUElfUkVUVVJOX0ZPUkJJRERFTjsNCgkJfQ0KCQkNCgkJLy/V4sDv1qez1kRlZGVDTVO7/bfWLL3wsdLJ6NbDDQoJCSRjcmVkaXRzWzFdID0gYXJyYXkoc3RyaXBfdGFncygnu/231icpLCAnt9YnKTsNCgkJJGNyZWRpdHNbMl0gPSBhcnJheShzdHJpcF90YWdzKCe98LHSJyksICfDticpOw0KCQlyZXR1cm4gJHRoaXMtPl9zZXJpYWxpemUoJGNyZWRpdHMpOw0KCX0NCg0KCWZ1bmN0aW9uIHVwZGF0ZWNyZWRpdHNldHRpbmdzKCRnZXQsICRwb3N0KQ0KCXsNCgkJaWYoIUFQSV9VUERBVEVDUkVESVRTRVRUSU5HUykNCgkJew0KCQkJcmV0dXJuIEFQSV9SRVRVUk5fRk9SQklEREVOOw0KCQl9DQoJCSRjcmVkaXQgPSAkZ2V0WydjcmVkaXQnXTsNCgkJJG91dGV4dGNyZWRpdHMgPSBhcnJheSgpOw0KCQlpZigkY3JlZGl0ICYmIGlzX2FycmF5KCRjcmVkaXQpKSB7DQoJCQlmb3JlYWNoKCRjcmVkaXQgYXMgJGFwcGlkID0+ICRjcmVkaXRpdGVtcykgew0KCQkJCWZvcmVhY2goJGNyZWRpdGl0ZW1zIGFzICR2YWx1ZSkgew0KCQkJCQlpZigkdmFsdWVbJ2FwcGlkZGVzYyddIT1VQ19BUFBJRCkgY29udGludWU7DQoJCQkJCSRvdXRleHRjcmVkaXRzWyRhcHBpZF1bXSA9IGFycmF5KA0KCQkJCQkJJ2FwcGlkZGVzYycgPT4gJHZhbHVlWydhcHBpZGRlc2MnXSwNCgkJCQkJCSdjcmVkaXRkZXNjJyA9PiAkdmFsdWVbJ2NyZWRpdGRlc2MnXSwNCgkJCQkJCSdjcmVkaXRzcmMnID0+ICR2YWx1ZVsnY3JlZGl0c3JjJ10sDQoJCQkJCQkndGl0bGUnID0+ICR2YWx1ZVsndGl0bGUnXSwNCgkJCQkJCSd1bml0JyA9PiAkdmFsdWVbJ3VuaXQnXSwNCgkJCQkJCSdyYXRpb3NyYycgPT4gJHZhbHVlWydyYXRpb3NyYyddLA0KCQkJCQkJJ3JhdGlvZGVzYycgPT4gJHZhbHVlWydyYXRpb2Rlc2MnXSwNCgkJCQkJCSdyYXRpbycgPT4gJHZhbHVlWydyYXRpbyddDQoJCQkJCSk7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCSRfQ0FDSEUgPSAiPD9waHAgIWRlZmluZWQoJ1VDX0FQSScpICYmIGV4aXQoXCI0MDMgRm9yYmlkZGVuIVwiKTtcbiIuJyRfQ0FDSEVbXCdjcmVkaXRcJ10gPSB1bnNlcmlhbGl6ZSgiJy5hZGRzbGFzaGVzKHNlcmlhbGl6ZSgkb3V0ZXh0Y3JlZGl0cykpLiciKTsnLiJcclxuIi4nPz4nOw0KCQkkZnAgPSBAZm9wZW4oREVERURBVEEuJy9jcmVkaXRzLmluYy5waHAnLCAndycpOw0KCQlAZndyaXRlKCRmcCwgJF9DQUNIRSk7DQoJCUBmY2xvc2UoJGZwKTsNCgkJcmV0dXJuIEFQSV9SRVRVUk5fU1VDQ0VFRDsNCgl9DQp9DQoNCg0KZnVuY3Rpb24gX2F1dGhjb2RlKCRzdHJpbmcsICRvcGVyYXRpb24gPSAnREVDT0RFJywgJGtleSA9ICcnLCAkZXhwaXJ5ID0gMCkgew0KCSRja2V5X2xlbmd0aCA9IDQ7DQoNCgkka2V5ID0gbWQ1KCRrZXkgPyAka2V5IDogVUNfS0VZKTsNCgkka2V5YSA9IG1kNShzdWJzdHIoJGtleSwgMCwgMTYpKTsNCgkka2V5YiA9IG1kNShzdWJzdHIoJGtleSwgMTYsIDE2KSk7DQoJJGtleWMgPSAkY2tleV9sZW5ndGggPyAoJG9wZXJhdGlvbiA9PSAnREVDT0RFJyA/IHN1YnN0cigkc3RyaW5nLCAwLCAkY2tleV9sZW5ndGgpOiBzdWJzdHIobWQ1KG1pY3JvdGltZSgpKSwgLSRja2V5X2xlbmd0aCkpIDogJyc7DQoNCgkkY3J5cHRrZXkgPSAka2V5YS5tZDUoJGtleWEuJGtleWMpOw0KCSRrZXlfbGVuZ3RoID0gc3RybGVuKCRjcnlwdGtleSk7DQoNCgkkc3RyaW5nID0gJG9wZXJhdGlvbiA9PSAnREVDT0RFJyA/IGJhc2U2NF9kZWNvZGUoc3Vic3RyKCRzdHJpbmcsICRja2V5X2xlbmd0aCkpIDogc3ByaW50ZignJTAxMGQnLCAkZXhwaXJ5ID8gJGV4cGlyeSArIHRpbWUoKSA6IDApLnN1YnN0cihtZDUoJHN0cmluZy4ka2V5YiksIDAsIDE2KS4kc3RyaW5nOw0KCSRzdHJpbmdfbGVuZ3RoID0gc3RybGVuKCRzdHJpbmcpOw0KDQoJJHJlc3VsdCA9ICcnOw0KCSRib3ggPSByYW5nZSgwLCAyNTUpOw0KDQoJJHJuZGtleSA9IGFycmF5KCk7DQoJZm9yKCRpID0gMDsgJGkgPD0gMjU1OyAkaSsrKSB7DQoJCSRybmRrZXlbJGldID0gb3JkKCRjcnlwdGtleVskaSAlICRrZXlfbGVuZ3RoXSk7DQoJfQ0KDQoJZm9yKCRqID0gJGkgPSAwOyAkaSA8IDI1NjsgJGkrKykgew0KCQkkaiA9ICgkaiArICRib3hbJGldICsgJHJuZGtleVskaV0pICUgMjU2Ow0KCQkkdG1wID0gJGJveFskaV07DQoJCSRib3hbJGldID0gJGJveFskal07DQoJCSRib3hbJGpdID0gJHRtcDsNCgl9DQoNCglmb3IoJGEgPSAkaiA9ICRpID0gMDsgJGkgPCAkc3RyaW5nX2xlbmd0aDsgJGkrKykgew0KCQkkYSA9ICgkYSArIDEpICUgMjU2Ow0KCQkkaiA9ICgkaiArICRib3hbJGFdKSAlIDI1NjsNCgkJJHRtcCA9ICRib3hbJGFdOw0KCQkkYm94WyRhXSA9ICRib3hbJGpdOw0KCQkkYm94WyRqXSA9ICR0bXA7DQoJCSRyZXN1bHQgLj0gY2hyKG9yZCgkc3RyaW5nWyRpXSkgXiAoJGJveFsoJGJveFskYV0gKyAkYm94WyRqXSkgJSAyNTZdKSk7DQoJfQ0KDQoJaWYoJG9wZXJhdGlvbiA9PSAnREVDT0RFJykgew0KCQlpZigoc3Vic3RyKCRyZXN1bHQsIDAsIDEwKSA9PSAwIHx8IHN1YnN0cigkcmVzdWx0LCAwLCAxMCkgLSB0aW1lKCkgPiAwKSAmJiBzdWJzdHIoJHJlc3VsdCwgMTAsIDE2KSA9PSBzdWJzdHIobWQ1KHN1YnN0cigkcmVzdWx0LCAyNikuJGtleWIpLCAwLCAxNikpIHsNCgkJCXJldHVybiBzdWJzdHIoJHJlc3VsdCwgMjYpOw0KCQl9IGVsc2Ugew0KCQkJCXJldHVybiAnJzsNCgkJCX0NCgl9IGVsc2Ugew0KCQlyZXR1cm4gJGtleWMuc3RyX3JlcGxhY2UoJz0nLCAnJywgYmFzZTY0X2VuY29kZSgkcmVzdWx0KSk7DQoJfQ0KDQp9DQoNCmZ1bmN0aW9uIF9zdHJpcHNsYXNoZXMoJHN0cmluZykgew0KCWlmKGlzX2FycmF5KCRzdHJpbmcpKSB7DQoJCWZvcmVhY2goJHN0cmluZyBhcyAka2V5ID0+ICR2YWwpIHsNCgkJCSRzdHJpbmdbJGtleV0gPSBfc3RyaXBzbGFzaGVzKCR2YWwpOw0KCQl9DQoJfSBlbHNlIHsNCgkJJHN0cmluZyA9IHN0cmlwc2xhc2hlcygkc3RyaW5nKTsNCgl9DQoJcmV0dXJuICRzdHJpbmc7DQp9DQoNCj8+
</file>
</modulefiles>
</module>

