From mboxrd@z Thu Jan 1 00:00:00 1970 From: Liu Bo Subject: [BUG] kernel BUG at fs/btrfs/relocation.c:2502! Date: Wed, 21 Sep 2011 18:06:10 +0800 Message-ID: <4E79B712.50901@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------030007040703020903090900" Cc: Chris Mason , "Yan, Zheng" , Josef Bacik , Li Zefan To: Linux Btrfs Return-path: List-ID: --------------030007040703020903090900 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=UTF-8 Hi, While running my tool(attachment), I would encounter the BUG_ON, and I FAILED to find where went wrong :( The tool is with inode_cache option, and mainly do three things: a. run Chris's synctest in BACKGROUND b. create 100 snapshots c. after b, run "btrfs fi balance" You can follow these tips to reproduce the bug: 1) untar the attachment, 2) prepare 4 partitions, the mount point is default to /mnt, 3) $ ./2_while.sh /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb4 4) then just wait several minutes and you will get the bug. NOTE: You MAY hit a warning and I've fixed it with this patch: http://marc.info/?l=linux-btrfs&m=131547325515336&w=2 === kernel BUG at fs/btrfs/relocation.c:2502! [...] Call Trace: [] ? block_rsv_add_bytes+0x2b/0x70 [btrfs] [] relocate_tree_blocks+0x60f/0x6d0 [btrfs] [] ? add_data_references+0x248/0x260 [btrfs] [] relocate_block_group+0x272/0x620 [btrfs] [] btrfs_relocate_block_group+0x1b3/0x2d0 [btrfs] [] btrfs_relocate_chunk+0x93/0x6a0 [btrfs] [] ? __wake_up+0x53/0x70 [] ? btrfs_tree_read_unlock_blocking+0x42/0x70 [btrfs] [] btrfs_balance+0x212/0x2a0 [btrfs] [] ? path_openat+0x109/0x3e0 [] btrfs_ioctl+0x798/0xd20 [btrfs] [] ? handle_mm_fault+0x143/0x260 [] ? do_page_fault+0x1d4/0x440 [] do_vfs_ioctl+0x9a/0x540 [] sys_ioctl+0xa1/0xb0 [] system_call_fastpath+0x16/0x1b Code: 00 00 00 00 00 eb f6 0f 0b eb fe 0f 0b 0f 1f 84 00 00 00 00 00 eb f6 0f 0b eb fe 0f 0b 0f 1f 84 00 00 00 00 00 eb f6 0f 0b eb fe <0f> 0b 0f 1f 84 00 00 00 00 00 eb f6 48 83 7a 68 00 0f 84 eb fa RIP [] do_relocation+0x546/0x570 [btrfs] RSP ---[ end trace 6a4328153ff7ff17 ]--- --------------030007040703020903090900 Content-Type: application/x-tar; name="TOOL.tar" Content-Disposition: attachment; filename="TOOL.tar" Content-Transfer-Encoding: base64 VE9PTC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA3NTUAMDAwMDAw MAAwMDAwMDAwADAwMDAwMDAwMDAwADExNjM0NjE2MTExADAxMDMzMQAgNQAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHJvb3QAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABU T09ML3Jlc3VsdC5iYWsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAwMDAw ADAwMDAwMDAAMDAwMDAwMDAxMDYAMTE2MzQ2MTU3NjYAMDEyMzQyACAwAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAcm9vdAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAByb290AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlG VUxMCU1FVEEJCURBVEEJCU1PVU5UIE9QVElPTgpbMV0JCS1tIHJhaWQxCS1kIHJhaWQxMAktbyBp bm9kZV9jYWNoZQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVE9P TC9zeW5jdGVzdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA3NTUAMDAwMDAwMAAw MDAwMDAwADAwMDAwMDQwNzQ1ADExNjM0NjE0MDQzADAxMjE0NwAgMAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHJvb3QAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/RUxG AgEBAwAAAAAAAAAAAgA+AAEAAACADEAAAAAAAEAAAAAAAAAA6CgAAAAAAAAAAAAAQAA4AAgAQAAe ABsABgAAAAUAAABAAAAAAAAAAEAAQAAAAAAAQABAAAAAAADAAQAAAAAAAMABAAAAAAAACAAAAAAA AAADAAAABAAAAAACAAAAAAAAAAJAAAAAAAAAAkAAAAAAABwAAAAAAAAAHAAAAAAAAAABAAAAAAAA AAEAAAAFAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAtCQAAAAAAAC0JAAAAAAAAAAAIAAAAAAA AQAAAAYAAAC4JAAAAAAAALgkYAAAAAAAuCRgAAAAAADUAgAAAAAAALCkBwAAAAAAAAAgAAAAAAAC AAAABgAAAOAkAAAAAAAA4CRgAAAAAADgJGAAAAAAAJABAAAAAAAAkAEAAAAAAAAIAAAAAAAAAAQA AAAEAAAAHAIAAAAAAAAcAkAAAAAAABwCQAAAAAAARAAAAAAAAABEAAAAAAAAAAQAAAAAAAAAUOV0 ZAQAAADAIQAAAAAAAMAhQAAAAAAAwCFAAAAAAACMAAAAAAAAAIwAAAAAAAAABAAAAAAAAABR5XRk BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAC9saWI2 NC9sZC1saW51eC14ODYtNjQuc28uMgAEAAAAEAAAAAEAAABHTlUAAAAAAAIAAAAGAAAAEgAAAAQA AAAUAAAAAwAAAEdOVQDcaB/zseI+3snxNhg5yVrBNDVSJgMAAAAfAAAAAQAAAAYAAAAABQEAAAEc Ah8AAAAgAAAAIQAAACkdjBw58oscMsT3ErOi9xIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA dgAAABIAAAAAAAAAAAAAAAAAAAAAAAAAywAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAQAAACAAAAAA AAAAAAAAAAAAAAAAAAAAIQAAABIAAAAAAAAAAAAAAAAAAAAAAAAASAAAABIAAAAAAAAAAAAAAAAA AAAAAAAAlAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAogAAABIAAAAAAAAAAAAAAAAAAAAAAAAA3wAA ABIAAAAAAAAAAAAAAAAAAAAAAAAAQQAAABIAAAAAAAAAAAAAAAAAAAAAAAAAjgAAABIAAAAAAAAA AAAAAAAAAAAAAAAAXAAAABIAAAAAAAAAAAAAAAAAAAAAAAAA8QAAABIAAAAAAAAAAAAAAAAAAAAA AAAA+gAAABIAAAAAAAAAAAAAAAAAAAAAAAAAbwAAABIAAAAAAAAAAAAAAAAAAAAAAAAAJgAAABIA AAAAAAAAAAAAAAAAAAAAAAAAVgAAABIAAAAAAAAAAAAAAAAAAAAAAAAA1gAAABIAAAAAAAAAAAAA AAAAAAAAAAAAYwAAABIAAAAAAAAAAAAAAAAAAAAAAAAAtwAAABIAAAAAAAAAAAAAAAAAAAAAAAAA fQAAABIAAAAAAAAAAAAAAAAAAAAAAAAAPAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAvQAAABIAAAAA AAAAAAAAAAAAAAAAAAAANQAAABIAAAAAAAAAAAAAAAAAAAAAAAAA8gAAABIAAAAAAAAAAAAAAAAA AAAAAAAAvgAAABIAAAAAAAAAAAAAAAAAAAAAAAAA0QAAABIAAAAAAAAAAAAAAAAAAAAAAAAAagAA ABIAAAAAAAAAAAAAAAAAAAAAAAAAxAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAUAAAABIAAAAAAAAA AAAAAAAAAAAAAAAAGgAAABIAAAAAAAAAAAAAAAAAAAAAAAAAmwAAABEAGQDQJ2AAAAAAAAgAAAAA AAAAsAAAABEAGQDIJ2AAAAAAAAgAAAAAAAAALgAAABEAGQCgJ2AAAAAAAAQAAAAAAAAAqQAAABEA GQDAJ2AAAAAAAAgAAAAAAAAAAF9fZ21vbl9zdGFydF9fAGxpYmMuc28uNgBmZmx1c2gAZXhpdABz cHJpbnRmAG9wdGluZABwZXJyb3IAZm9yawB1bmxpbmsAcHV0Y2hhcgBta2RpcgBmc3luYwBnZXRw aWQAc3RydG9sAG1tYXAAc3RybGVuAG1lbXNldABfX2Vycm5vX2xvY2F0aW9uAHJtZGlyAGdldG9w dABzdGRvdXQAbWFsbG9jAG9wdGFyZwBzdGRlcnIAd2FpdDMAZndyaXRlAHJlbmFtZQBjbG9zZQBv cGVuAHN0cmVycm9yAF9fbGliY19zdGFydF9tYWluAHZmcHJpbnRmAGZyZWUAR0xJQkNfMi4yLjUA AAAAAgACAAAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIA AgACAAIAAgACAAIAAgAAAAAAAAABAAEAEAAAABAAAAAAAAAAdRppCQAAAgD/AAAAAAAAAHAmYAAA AAAABgAAAAMAAAAAAAAAAAAAAKAnYAAAAAAABQAAACEAAAAAAAAAAAAAAMAnYAAAAAAABQAAACIA AAAAAAAAAAAAAMgnYAAAAAAABQAAACAAAAAAAAAAAAAAANAnYAAAAAAABQAAAB8AAAAAAAAAAAAA AJAmYAAAAAAABwAAAAEAAAAAAAAAAAAAAJgmYAAAAAAABwAAAAIAAAAAAAAAAAAAAKAmYAAAAAAA BwAAAAQAAAAAAAAAAAAAAKgmYAAAAAAABwAAAAUAAAAAAAAAAAAAALAmYAAAAAAABwAAAAYAAAAA AAAAAAAAALgmYAAAAAAABwAAAAcAAAAAAAAAAAAAAMAmYAAAAAAABwAAAAgAAAAAAAAAAAAAAMgm YAAAAAAABwAAAAkAAAAAAAAAAAAAANAmYAAAAAAABwAAAAoAAAAAAAAAAAAAANgmYAAAAAAABwAA AAsAAAAAAAAAAAAAAOAmYAAAAAAABwAAAAwAAAAAAAAAAAAAAOgmYAAAAAAABwAAAA0AAAAAAAAA AAAAAPAmYAAAAAAABwAAAA4AAAAAAAAAAAAAAPgmYAAAAAAABwAAAA8AAAAAAAAAAAAAAAAnYAAA AAAABwAAABAAAAAAAAAAAAAAAAgnYAAAAAAABwAAABEAAAAAAAAAAAAAABAnYAAAAAAABwAAABIA AAAAAAAAAAAAABgnYAAAAAAABwAAABMAAAAAAAAAAAAAACAnYAAAAAAABwAAABQAAAAAAAAAAAAA ACgnYAAAAAAABwAAABUAAAAAAAAAAAAAADAnYAAAAAAABwAAABYAAAAAAAAAAAAAADgnYAAAAAAA BwAAABcAAAAAAAAAAAAAAEAnYAAAAAAABwAAABgAAAAAAAAAAAAAAEgnYAAAAAAABwAAABkAAAAA AAAAAAAAAFAnYAAAAAAABwAAABoAAAAAAAAAAAAAAFgnYAAAAAAABwAAABsAAAAAAAAAAAAAAGAn YAAAAAAABwAAABwAAAAAAAAAAAAAAGgnYAAAAAAABwAAAB0AAAAAAAAAAAAAAHAnYAAAAAAABwAA AB4AAAAAAAAAAAAAAEiD7AjoGwIAAOiqAgAA6HURAABIg8QIw/812hsgAP8l3BsgAA8fQAD/Jdob IABoAAAAAOng/////yXSGyAAaAEAAADp0P////8lyhsgAGgCAAAA6cD/////JcIbIABoAwAAAOmw /////yW6GyAAaAQAAADpoP////8lshsgAGgFAAAA6ZD/////JaobIABoBgAAAOmA/////yWiGyAA aAcAAADpcP////8lmhsgAGgIAAAA6WD/////JZIbIABoCQAAAOlQ/////yWKGyAAaAoAAADpQP// //8lghsgAGgLAAAA6TD/////JXobIABoDAAAAOkg/////yVyGyAAaA0AAADpEP////8lahsgAGgO AAAA6QD/////JWIbIABoDwAAAOnw/v///yVaGyAAaBAAAADp4P7///8lUhsgAGgRAAAA6dD+//// JUobIABoEgAAAOnA/v///yVCGyAAaBMAAADpsP7///8lOhsgAGgUAAAA6aD+////JTIbIABoFQAA AOmQ/v///yUqGyAAaBYAAADpgP7///8lIhsgAGgXAAAA6XD+////JRobIABoGAAAAOlg/v///yUS GyAAaBkAAADpUP7///8lChsgAGgaAAAA6UD+////JQIbIABoGwAAAOkw/v///yX6GiAAaBwAAADp IP7//zHtSYnRXkiJ4kiD5PBQVEnHwHAbQABIx8GAG0AASMfH+xlAAOhn/v//9JCQSIPsCEiLBbkZ IABIhcB0Av/QSIPECMOQkJCQkJCQkJCQkJCQVUiJ5VNIg+wIgD34GiAAAHVLu9AkYABIiwXyGiAA SIHryCRgAEjB+wNIg+sBSDnYcyRmDx9EAABIg8ABSIkFzRogAP8UxcgkYABIiwW/GiAASDnYcuLG BasaIAABSIPECFvJw2ZmZi4PH4QAAAAAAEiDPZAXIAAAVUiJ5XQSuAAAAABIhcB0CL/YJGAAyf/g ycOQkFVIieVIgezgAAAASIm1WP///0iJlWD///9IiY1o////TImFcP///0yJjXj///8PtsBIjRSF AAAAALjLDUAASCnQSI1V///gDyl68Q8pcuEPKWrRDyliwQ8pWrEPKVKhDylKkQ8pQoFIib0o//// iwVcuycAhcB0a0iNhTD////HAAgAAABIjYUw////x0AEMAAAAEiNhTD///9IjVUQSIlQCEiNhTD/ //9IjZVQ////SIlQEEiLjSj///9IiwWqGSAASI2VMP///0iJzkiJx+gY/f//SIsFkRkgAEiJx+gp /v//ycNVSInlU0iD7BhIiwXHuicASInH6A/9//9Ig8BASInH6JP8//9IiUXoiw3BuicASIsVoron ALtoHEAASItF6EiJ3kiJx7gAAAAA6On8//9Ii0XoSIPEGFvJw1VIieVTSIPsKIl93EiLBWu6JwBI icfos/z//0iDwEBIicfoN/z//0iJRejobvz//4nGiw1euicASIsVP7onALtwHEAAi33cSItF6EGJ +UGJ8EiJ3kiJx7gAAAAA6H38//9Ii0XoSIPEKFvJw1VIieVTSIPsOIl93Il12EiLBfy5JwBIicfo RPz//0iDwEBIicfoyPv//0iJRejo//v//4nGiw3vuScASIsV0LknALuCHEAARItF2EiLReiLfdyJ PCRBifFIid5Iice4AAAAAOgK/P//SItF6EiDxDhbycNVSInlU0iD7AiLBdC5JwCFwHRySIsFhbkn AEiJxr+ZHEAAuAAAAADot/3//4sFmbknAInH6Nb7//+FwHlI6A38//+LAInH6NT7//9IicZIiw1K uScASIsVe7knALuoHEAASIsF3xcgAEmJ8EiJ3kiJx7gAAAAA6BT8//+/AQAAAOjK+v//SIPECFvJ w1VIieVTSIPsGOgu/v//SIlF6EiLRehIica/yhxAALgAAAAA6C/9//9Ii0Xovv8BAABIicfoGvz/ /4XAeUXogfv//4sAicfoSPv//0iJxkiLFfa4JwC72BxAAEiLBVoXIABIi03oSYnwSIneSInHuAAA AADoi/v//78BAAAA6EH6//9Ii0XoSInH6MX6//9Ig8QYW8nDVUiJ5UiD7BDomv3//0iJRfhIi0X4 SInGv/wcQAC4AAAAAOib/P//SItF+EiJx+hb+v//SItF+EiJx+h/+v//ycNVSInlU0iD7BiJfexI iXXgSItF4EiJwr4goQcAvwcdQAC4AAAAAOhW/P//iwV0FiAASGPQi0XsvgAoYACJx+j6+v//ixVc FiAASGPSSDnQdE7ol/r//4sAicfoXvr//0iJxosNPRYgAEiLFQa4JwC7IB1AAEiLBWoWIABIi33g SYnxSYn4SIneSInHuAAAAADomPr//78BAAAA6E75//+LBQAWIADyDyrA8g8QDSQQAADyD1nB8g8s wIkF5hUgAIsF4BUgAD2Q0AMAfgrHBc8VIACIEwAASIPEGFvJw1VIieVTSIPsKIl93Il12IsFV7cn AIXAD4SPAAAAi1XYi0XcidaJx+gi/f//SIlF6EiLRehIica/Sh1AALgAAAAA6F77//9Ii0XoSInH 6A75//+FwHlF6LX5//+LAInH6Hz5//9IicZIixUqtycAu1gdQABIiwWOFSAASItN6EmJ8EiJ3kiJ x7gAAAAA6L/5//+/AQAAAOh1+P//6CH9//9Ii0XoSInH6PT4//9Ig8QoW8nDVUiJ5VNIg+w4iX3M i0XMicfoGfz//0iJRdjHReRCAgAAiwWuticAhcB0B4FN5AAQEABIi0XYSInGv3cdQAC4AAAAAOip +v//i03kSItF2Lq2AQAAic5Iice4AAAAAOha+f//iUXgg33gAHlF6Oz4//+LAInH6LP4//9IicZI ixVhticAu4gdQABIiwXFFCAASItN2EmJ8EiJ3kiJx7gAAAAA6Pb4//+/AQAAAOis9///SItV2ItF 4EiJ1onH6K79//+LBe21JwCFwHRpSItF2EiJxr+ZHEAAuAAAAADoD/r//4tF4InH6DH4//+FwHlF 6Gj4//+LAInH6C/4//9IicZIixXdtScAu6wdQABIiwVBFCAASItN2EmJ8EiJ3kiJx7gAAAAA6HL4 //+/AQAAAOgo9///SItF2EiJxr/KHUAAuAAAAADopvn//4tF4InH6Pj2//+FwHlF6P/3//+LAInH 6Mb3//9IicZIixV0tScAu9UdQABIiwXYEyAASItN2EmJ8EiJ3kiJx7gAAAAA6An4//+/AQAAAOi/ 9v//6Gv7///HBTS1JwAAAAAA6bsAAACLFSm1JwCLRcyJ1onH6Nf6//9IiUXoSItV6EiLRdhIica/ 8x1AALgAAAAA6A/5//9Ii1XoSItF2EiJ1kiJx+jo9///hcB5TOhf9///iwCJx+gm9///SInGSIsV 1LQnALsIHkAASIsFOBMgAEiLfehIi03YSYnxSYn4SIneSInHuAAAAADoYvf//78BAAAA6Bj2///o xPr//0iLRdhIicfol/b//0iLRehIiUXYiwV9tCcAg8ABiQV0tCcAiwVutCcAg/gCD442////iwVf tCcAg+gBiQVWtCcASItF2EiJx+hW9v//SIPEOFvJw1VIieVTSIPsKOgq+f//SIlF4EiLReC+AAAA AEiJx7gAAAAA6Pf2//+JBQ20JwCLBQe0JwCFwHlF6IL2//+LAInH6En2//9IicZIixX3sycAuzAe QABIiwVbEiAASItN4EmJ8EiJ3kiJx7gAAAAA6Iz2//+/AQAAAOhC9f//SItF4EiJx+jG9f//x0Xs CgAAAIN97AB1B8dF7AEAAADHRdwAAAAA61CLRdyJwsH6H/d97InQhcB1Gb8uAAAA6A71//9IiwX3 ESAASInH6I/2//+LRdyJx+iI/P//g33cHX4Si0Xcg+gevgIAAACJx+i9+///g0XcAYN93GN+qsdF 3EYAAADrE4tF3L4CAAAAicfom/v//4NF3AGDfdxjfudIg8QoW8nDVUiJ5UiD7CCLBTgRIABImEjB 4AJBuQAAAABBuP////+5IQAAALoDAAAASInGvwAAAADo0/X//0iJBcyyJwBIiwXFsicASIP4/3UU v1EeQADodfX//78BAAAA6Dv0//+LBeEQIABImEiNFIUAAAAASIsFlLInAL4AAAAASInH6Pfz///H BXWyJwD/////xwVjsicAAAAAAOmJAAAAiwVYsicAiw2mECAAicLB+h/3+YnQhcB1FIsFR7InAIPA AYkFPrInAOgO+f//6Nz0//+FwHVEx0X8AAAAAOsJ6Pv9//+DRfwBiwVgECAAOUX8fOxIiwUUsicA ixX+sScASGPSSMHiAkgB0McAAQAAAL8AAAAA6ITz//+LBd6xJwCDwAGJBdWxJwCLFc+xJwCLBRUQ IAA5wg+MY////4sFBxAgAIlF+OmwAAAAuAAAAABIjUXwugAAAAC+AAAAAEiJx+go9P//hcB5JOgv 9P//iwCD+AQPhIAAAAC/Vh5AAOhK9P//vwEAAADoEPP//8dF9AAAAADrVkiLBXCxJwCLVfRIY9JI weICSAHQiwCD+AF1N0iLBVWxJwCLVfRIY9JIweICSAHQxwACAAAAvyoAAADo2PL//0iLBcEPIABI icfoWfT//4Nt+AGDRfQBiwVXDyAAOUX0fJ/rAZCDffgAD4VG////xwX3sCcAAAAAAOsU6Fr4//+L BeqwJwCDwAGJBeGwJwCLBR8PIACLFSEPIACJVeyJwsH6H/d97InCiwXCsCcAOcJ/yb8KAAAA6Fzy ///Jw1VIieVIixXHsCcAuWAeQABIiwUrDyAASInOSInHuAAAAADoY/P//0iLBRQPIABIicK4sB5A AEiJ0bokAAAAvgEAAABIicfoH/P//0iLBfAOIABIicK42B5AAEiJ0bopAAAAvgEAAABIicfo+/L/ /0iLBcwOIABIicK4CB9AAEiJ0bokAAAAvgEAAABIicfo1/L//0iLBagOIABIicK4MB9AAEiJ0boh AAAAvgEAAABIicfos/L//0iLBYQOIABIicK4WB9AAEiJ0bovAAAAvgEAAABIicfoj/L//0iLBWAO IABIicK4iB9AAEiJ0bohAAAAvgEAAABIicfoa/L//0iLBTwOIABIicK4sB9AAEiJ0booAAAAvgEA AABIicfoR/L//0iLBRgOIABIicK42R9AAEiJ0boXAAAAvgEAAABIicfoI/L//0iLBfQNIABIicK4 +B9AAEiJ0bopAAAAvgEAAABIicfo//H//78BAAAA6NXw//9VSInlSIPsIIl97EiJdeBIi0XgSIsA SIkFQK8nAOnXAAAAi0X8g+hGg/gwD4fIAAAAicBIiwTFMCBAAP/giwXqricAg8ABiQXhricA6agA AACLBQ6vJwCDwAGJBQWvJwDplAAAAEiLBVkNIAC6CgAAAL4AAAAASInH6Dfx//+JBQENIADrc4sF wa4nAIPAAYkFuK4nAOtiSIsFJw0gALoKAAAAvgAAAABIicfoBfH//4kF0wwgAOtBSIsFBg0gALoK AAAAvgAAAABIicfo5PD//4kFqgwgAOsgiwVSricAg8ABiQVJricA6w+LBUmuJwCDwAGJBUCuJwBI i03gi0XsuiIgQABIic6Jx+jm7///iUX8g338/w+FBv///4sFgwwgADtF7HUF6F/9//+LBXMMIABI Y9BIweIDSANV4EiLEkiJFd6tJwCDwAGJBVUMIACLBU8MIAA7Rex0Begr/f//6Nb6//+/AAAAAOhm 7///kJCQkJCQ88NmZmZmZi4PH4QAAAAAAEiJbCTYTIlkJOBIjS0jCSAATI0lHAkgAEyJbCToTIl0 JPBMiXwk+EiJXCTQSIPsOEwp5UGJ/UmJ9kjB/QNJidfow+7//0iF7XQcMdsPH0AATIn6TIn2RInv Qf8U3EiDwwFIOety6kiLXCQISItsJBBMi2QkGEyLbCQgTIt0JChMi3wkMEiDxDjDkJCQkJCQkFVI ieVTSIPsCEiLBZgIIABIg/j/dBm7uCRgAA8fRAAASIPrCP/QSIsDSIP4/3XxSIPECFvJw5CQSIPs COh/8P//SIPECMMAAAEAAgAAAAAAAAAAAAAAAAAlcy8lMDVkACVzLyUwNWQvJTA1ZC0lMDVkACVz LyUwNWQvJTAyZC0lMDVkLSUwNWQAZnN5bmMoJXMpCgAAAAAAJXM6IGZhaWxlZCB0byBmc3luYyBk aXIgYCVzJzogJXMKAG1rZGlyKCVzKQoAAAAAJXM6IENhbm5vdCBtYWtlIGRpcmVjdG9yeSBgJXMn OiAlcwoAcm1kaXIoJXMpCgB3cml0ZSAlZCBieXRlcyB0byBgJXMnCgAAJXM6IGZhaWxlZCB0byB3 cml0ZSAlZCBieXRlcyB0byBgJXMnOiAlcwoAdW5saW5rKCVzKQoAAAAlczogZmFpbGVkIHRvIHVu bGluayBgJXMnOiAlcwoAb3BlbiglcykKAAAAAAAAAAAlczogZmFpbGVkIHRvIGNyZWF0ZSBmaWxl IGAlcyc6ICVzCgAlczogZmFpbGVkIHRvIGZzeW5jIGAlcyc6ICVzCgBjbG9zZSglcykKACVzOiBm YWlsZWQgdG8gY2xvc2UgYCVzJzogJXMKAHJlbmFtZSglcywgJXMpCgAAAAAAACVzOiBmYWlsZWQg dG8gcmVuYW1lIGAlcycgdG8gYCVzJzogJXMKAAAlczogZmFpbGVkIHRvIG9wZW4gZGlyIGAlcyc6 ICVzCgBtbWFwAHdhaXQzAAAAAABVc2FnZTogJXMgWy1mRm9zdXZdIFstcCB0aHJlYWRzLXByZS1k aXIgXVstbiBpdGVyc10gWy10IHRocmVhZHNdIGRpcm5hbWUKAAAAAAAAACAgICAgICAgLWY6ICAg IFVzZSBmc3luYygpIG9uIGNsb3NlCgAAAAAgICAgICAgIC1GOiAgICBVc2UgZnN5bmMoKSBvbiBw YXJlbnQgZGlyCgAAAAAAAAAgICAgICAgIC1uOiAgICBOdW1iZXIgb2YgaXRlcmF0aW9ucwoAAAAA ICAgICAgICAtbzogICAgT3BlbiBmaWxlcyBPX1NZTkMKAAAAAAAAACAgICAgICAgLXA6ICAgIE51 bWJlciBvZiB0aHJlYWRzIHBlciBkaXJlY3RvcnkKACAgICAgICAgLXQ6ICAgIE51bWJlciBvZiB0 aHJlYWRzCgAAAAAAAAAgICAgICAgIC11OiAgICBVbmxpbmsgZmlsZXMgZHVyaW5nIHRlc3QKACAg ICAgICAgLXY6ICAgIFZlcmJvc2UKAAAAAAAAAAAgICBkaXJuYW1lOiAgICBEaXJlY3RvcnkgdG8g cnVuIHRlc3RzIGluCgB2RmZvdXQ6bjpwOgAAAEwaQAAAAAAA9BpAAAAAAAD0GkAAAAAAAPQaQAAA AAAA9BpAAAAAAAD0GkAAAAAAAPQaQAAAAAAA9BpAAAAAAAD0GkAAAAAAAPQaQAAAAAAA9BpAAAAA AAD0GkAAAAAAAPQaQAAAAAAA9BpAAAAAAAD0GkAAAAAAAPQaQAAAAAAA9BpAAAAAAAD0GkAAAAAA APQaQAAAAAAA9BpAAAAAAAD0GkAAAAAAAPQaQAAAAAAA9BpAAAAAAAD0GkAAAAAAAPQaQAAAAAAA 9BpAAAAAAAD0GkAAAAAAAPQaQAAAAAAA9BpAAAAAAAD0GkAAAAAAAPQaQAAAAAAA9BpAAAAAAAA4 GkAAAAAAAPQaQAAAAAAA9BpAAAAAAAD0GkAAAAAAAPQaQAAAAAAA9BpAAAAAAAD0GkAAAAAAAPQa QAAAAAAAYBpAAAAAAACBGkAAAAAAAJIaQAAAAAAA9BpAAAAAAAD0GkAAAAAAAPQaQAAAAAAAsxpA AAAAAADUGkAAAAAAAOUaQAAAAAAAmpmZmZmZ8T8BGwM7jAAAABAAAACk6///qAAAAIns///IAAAA 4uz///AAAABO7f//GAEAAMHt//9AAQAATe7//2gBAADi7v//kAEAACPv//+wAQAAAPD//9gBAACz 8P//AAIAAFHz//8oAgAAdvT//1ACAADG9v//cAIAADv4//+QAgAAsPn//7ACAADA+f//yAIAAAAA AAAUAAAAAAAAAAF6UgABeBABGwwHCJABAAAcAAAAHAAAAPTq///lAAAAAEEOEEOGAg0GAuAMBwgA ACQAAAA8AAAAuev//1kAAAAAQQ4QQ4YCDQZPgwMCRQwHCAAAAAAAAAAkAAAAZAAAAOrr//9sAAAA AEEOEEOGAg0GUoMDAlUMBwgAAAAAAAAAJAAAAIwAAAAu7P//cwAAAABBDhBDhgINBlWDAwJZDAcI AAAAAAAAACQAAAC0AAAAeez//4wAAAAAQQ4QQ4YCDQZPgwMCeAwHCAAAAAAAAAAkAAAA3AAAAN3s //+VAAAAAEEOEEOGAg0GRYMDAosMBwgAAAAAAAAAHAAAAAQBAABK7f//QQAAAABBDhBDhgINBnwM BwgAAAAkAAAAJAEAAGvt///dAAAAAEEOEEOGAg0GYoMDArYMBwgAAAAAAAAAJAAAAEwBAAAg7v// swAAAABBDhBDhgINBlmDAwKVDAcIAAAAAAAAACQAAAB0AQAAq+7//54CAAAAQQ4QQ4YCDQZNgwMD jAIMBwgAAAAAAAAkAAAAnAEAACHx//8lAQAAAEEOEEOGAg0GRYMDAxsBDAcIAAAAAAAAHAAAAMQB AAAe8v//UAIAAABBDhBDhgINBgNLAgwHCAAcAAAA5AEAAE70//91AQAAAEEOEEOGAg0GAAAAAAAA ABwAAAAEAgAAo/X//28BAAAAQQ4QQ4YCDQYAAAAAAAAAFAAAACQCAAD49v//AgAAAAAAAAAAAAAA JAAAADwCAADw9v//iQAAAABRjAWGBl8OQEaDB48CjgONBAJSDggAAAAAAAAAAAAA//////////8A AAAAAAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAEAAAAAAAAAAMAAAAAAAAAIgK QAAAAAAADQAAAAAAAABIHEAAAAAAAPX+/28AAAAAYAJAAAAAAAAFAAAAAAAAAOAFQAAAAAAABgAA AAAAAACYAkAAAAAAAAoAAAAAAAAACwEAAAAAAAALAAAAAAAAABgAAAAAAAAAFQAAAAAAAAAAAAAA AAAAAAMAAAAAAAAAeCZgAAAAAAACAAAAAAAAALgCAAAAAAAAFAAAAAAAAAAHAAAAAAAAABcAAAAA AAAA0AdAAAAAAAAHAAAAAAAAAFgHQAAAAAAACAAAAAAAAAB4AAAAAAAAAAkAAAAAAAAAGAAAAAAA AAD+//9vAAAAADgHQAAAAAAA////bwAAAAABAAAAAAAAAPD//28AAAAA7AZAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAkYAAAAAAAAAAAAAAAAAAA AAAAAAAAALYKQAAAAAAAxgpAAAAAAADWCkAAAAAAAOYKQAAAAAAA9gpAAAAAAAAGC0AAAAAAABYL QAAAAAAAJgtAAAAAAAA2C0AAAAAAAEYLQAAAAAAAVgtAAAAAAABmC0AAAAAAAHYLQAAAAAAAhgtA AAAAAACWC0AAAAAAAKYLQAAAAAAAtgtAAAAAAADGC0AAAAAAANYLQAAAAAAA5gtAAAAAAAD2C0AA AAAAAAYMQAAAAAAAFgxAAAAAAAAmDEAAAAAAADYMQAAAAAAARgxAAAAAAABWDEAAAAAAAGYMQAAA AAAAdgxAAAAAAAAAAAAAAQAAAGQAAAABAAAAiBMAAEdDQzogKEdOVSkgNC40LjQgMjAxMDA1MTgg KFJlZCBIYXQgNC40LjQtNCkAR0NDOiAoR05VKSA0LjQuNCAyMDEwMDcyNiAoUmVkIEhhdCA0LjQu NC0xMykAAC5zeW10YWIALnN0cnRhYgAuc2hzdHJ0YWIALmludGVycAAubm90ZS5BQkktdGFnAC5u b3RlLmdudS5idWlsZC1pZAAuZ251Lmhhc2gALmR5bnN5bQAuZHluc3RyAC5nbnUudmVyc2lvbgAu Z251LnZlcnNpb25fcgAucmVsYS5keW4ALnJlbGEucGx0AC5pbml0AC50ZXh0AC5maW5pAC5yb2Rh dGEALmVoX2ZyYW1lX2hkcgAuZWhfZnJhbWUALmN0b3JzAC5kdG9ycwAuamNyAC5keW5hbWljAC5n b3QALmdvdC5wbHQALmRhdGEALmJzcwAuY29tbWVudAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAAQAAAAIAAAAA AAAAAAJAAAAAAAAAAgAAAAAAABwAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAIwAAAAcA AAACAAAAAAAAABwCQAAAAAAAHAIAAAAAAAAgAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAA ADEAAAAHAAAAAgAAAAAAAAA8AkAAAAAAADwCAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAA AAAAAAAAAABEAAAA9v//bwIAAAAAAAAAYAJAAAAAAABgAgAAAAAAADQAAAAAAAAABQAAAAAAAAAI AAAAAAAAAAAAAAAAAAAATgAAAAsAAAACAAAAAAAAAJgCQAAAAAAAmAIAAAAAAABIAwAAAAAAAAYA AAABAAAACAAAAAAAAAAYAAAAAAAAAFYAAAADAAAAAgAAAAAAAADgBUAAAAAAAOAFAAAAAAAACwEA AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAABeAAAA////bwIAAAAAAAAA7AZAAAAAAADsBgAA AAAAAEYAAAAAAAAABQAAAAAAAAACAAAAAAAAAAIAAAAAAAAAawAAAP7//28CAAAAAAAAADgHQAAA AAAAOAcAAAAAAAAgAAAAAAAAAAYAAAABAAAACAAAAAAAAAAAAAAAAAAAAHoAAAAEAAAAAgAAAAAA AABYB0AAAAAAAFgHAAAAAAAAeAAAAAAAAAAFAAAAAAAAAAgAAAAAAAAAGAAAAAAAAACEAAAABAAA AAIAAAAAAAAA0AdAAAAAAADQBwAAAAAAALgCAAAAAAAABQAAAAwAAAAIAAAAAAAAABgAAAAAAAAA jgAAAAEAAAAGAAAAAAAAAIgKQAAAAAAAiAoAAAAAAAAYAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAA AAAAAAAAAIkAAAABAAAABgAAAAAAAACgCkAAAAAAAKAKAAAAAAAA4AEAAAAAAAAAAAAAAAAAAAQA AAAAAAAAEAAAAAAAAACUAAAAAQAAAAYAAAAAAAAAgAxAAAAAAACADAAAAAAAAMgPAAAAAAAAAAAA AAAAAAAQAAAAAAAAAAAAAAAAAAAAmgAAAAEAAAAGAAAAAAAAAEgcQAAAAAAASBwAAAAAAAAOAAAA AAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAKAAAAABAAAAAgAAAAAAAABYHEAAAAAAAFgcAAAA AAAAaAUAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAACoAAAAAQAAAAIAAAAAAAAAwCFAAAAA AADAIQAAAAAAAIwAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAtgAAAAEAAAACAAAAAAAA AFAiQAAAAAAAUCIAAAAAAABkAgAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAMAAAAABAAAA AwAAAAAAAAC4JGAAAAAAALgkAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAADH AAAAAQAAAAMAAAAAAAAAyCRgAAAAAADIJAAAAAAAABAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAA AAAAAAAAzgAAAAEAAAADAAAAAAAAANgkYAAAAAAA2CQAAAAAAAAIAAAAAAAAAAAAAAAAAAAACAAA AAAAAAAAAAAAAAAAANMAAAAGAAAAAwAAAAAAAADgJGAAAAAAAOAkAAAAAAAAkAEAAAAAAAAGAAAA AAAAAAgAAAAAAAAAEAAAAAAAAADcAAAAAQAAAAMAAAAAAAAAcCZgAAAAAABwJgAAAAAAAAgAAAAA AAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAA4QAAAAEAAAADAAAAAAAAAHgmYAAAAAAAeCYAAAAA AAAAAQAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAAAAAAAOoAAAABAAAAAwAAAAAAAAB4J2AAAAAA AHgnAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAADwAAAACAAAAAMAAAAAAAAA oCdgAAAAAACMJwAAAAAAAMihBwAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAA9QAAAAEAAAAw AAAAAAAAAAAAAAAAAAAAjCcAAAAAAABZAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAABEA AAADAAAAAAAAAAAAAAAAAAAAAAAAAOUnAAAAAAAA/gAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAA AAAAAAABAAAAAgAAAAAAAAAAAAAAAAAAAAAAAABoMAAAAAAAANALAAAAAAAAHQAAADAAAAAIAAAA AAAAABgAAAAAAAAACQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAODwAAAAAAACtBQAAAAAAAAAAAAAA AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAEAAAJAAAAA AAAAAAAAAAAAAAAAAAADAAIAHAJAAAAAAAAAAAAAAAAAAAAAAAADAAMAPAJAAAAAAAAAAAAAAAAA AAAAAAADAAQAYAJAAAAAAAAAAAAAAAAAAAAAAAADAAUAmAJAAAAAAAAAAAAAAAAAAAAAAAADAAYA 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 AAAAAAAAAAAAAAAAAAAAAGcFAAARABkA0CdgAAAAAAAIAAAAAAAAAHsFAAASAAAAAAAAAAAAAAAA AAAAAAAAAI4FAAASAA0A+xlAAAAAAABvAQAAAAAAAJMFAAASAAsAiApAAAAAAAAAAAAAAAAAAJkF AAASAAAAAAAAAAAAAAAAAAAAAAAAAABjYWxsX2dtb25fc3RhcnQAY3J0c3R1ZmYuYwBfX0NUT1Jf TElTVF9fAF9fRFRPUl9MSVNUX18AX19KQ1JfTElTVF9fAF9fZG9fZ2xvYmFsX2R0b3JzX2F1eABj b21wbGV0ZWQuNjMzOABkdG9yX2lkeC42MzQwAGZyYW1lX2R1bW15AF9fQ1RPUl9FTkRfXwBfX0ZS QU1FX0VORF9fAF9fSkNSX0VORF9fAF9fZG9fZ2xvYmFsX2N0b3JzX2F1eABzeW5jdGVzdC5jAHRv X3dyaXRlLjQwMzQAYnVmLjQwMzMAX0dMT0JBTF9PRkZTRVRfVEFCTEVfAF9faW5pdF9hcnJheV9l bmQAX19pbml0X2FycmF5X3N0YXJ0AF9EWU5BTUlDAGRpcm5hbWUAZGF0YV9zdGFydAB1c2VfZnN5 bmMAZG9fdW5saW5rAG5faXRlcnMAbWVtc2V0QEBHTElCQ18yLjIuNQBfX2xpYmNfY3N1X2ZpbmkA X3N0YXJ0AGNsb3NlQEBHTElCQ18yLjIuNQBkb19vbmVfZmlsZQB0aGlzX2NoaWxkX2luZGV4AF9f Z21vbl9zdGFydF9fAF9Kdl9SZWdpc3RlckNsYXNzZXMAZXhpdEBAR0xJQkNfMi4yLjUAdmVyYm9z ZQB0aHJlYWRfZ3JvdXAAX2ZpbmkAcHV0Y2hhckBAR0xJQkNfMi4yLjUAZ2V0b3B0QEBHTElCQ18y LjIuNQBtYWxsb2NAQEdMSUJDXzIuMi41AF9fbGliY19zdGFydF9tYWluQEBHTElCQ18yLjIuNQBu X3RocmVhZHMAdW5saW5rQEBHTElCQ18yLjIuNQBybWRpckBAR0xJQkNfMi4yLjUAZ2V0cGlkQEBH TElCQ18yLjIuNQBta19maWxlbmFtZQBjaGlsZF9zdGF0dXMAdmZwcmludGZAQEdMSUJDXzIuMi41 AF9JT19zdGRpbl91c2VkAGZyZWVAQEdMSUJDXzIuMi41AHN0cmxlbkBAR0xJQkNfMi4yLjUAb3B0 aW5kQEBHTElCQ18yLjIuNQBfX2RhdGFfc3RhcnQAdGhyZWFkc19wZXJfZGlyAHNwcmludGZAQEdM SUJDXzIuMi41AHVzZV9vc3luYwBmc3luY0BAR0xJQkNfMi4yLjUAc3RyZXJyb3JAQEdMSUJDXzIu Mi41AF9fZHNvX2hhbmRsZQBzdHJ0b2xAQEdMSUJDXzIuMi41AF9fRFRPUl9FTkRfXwBfX2xpYmNf Y3N1X2luaXQAb3B0YXJnQEBHTElCQ18yLjIuNQB3YWl0M0BAR0xJQkNfMi4yLjUAX19lcnJub19s b2NhdGlvbkBAR0xJQkNfMi4yLjUAZGlyX2ZkAG1ha2VfZGlyAF9fYnNzX3N0YXJ0AG1rX25ld19m aWxlbmFtZQBta19kaXJuYW1lAHNob3dfdGlkcwByZW5hbWVfcGFzcwB3cml0ZV9zdHVmZl90bwBw cm9nbmFtZQBzaG93AF9lbmQAdW5saW5rX29uZV9maWxlAHVzYWdlAHN0ZGVyckBAR0xJQkNfMi4y LjUAZm9ya0BAR0xJQkNfMi4yLjUAZndyaXRlQEBHTElCQ18yLjIuNQBzeW5jX2RpcgBwZXJyb3JA QEdMSUJDXzIuMi41AF9lZGF0YQBmcHJpbnRmQEBHTElCQ18yLjIuNQBmc3luY19kaXIAd3JpdGVA QEdMSUJDXzIuMi41AGRvaXQAb3BlbkBAR0xJQkNfMi4yLjUAZG9fY2hpbGQAcmVtb3ZlX2RpcgBt bWFwQEBHTElCQ18yLjIuNQByZW5hbWVAQEdMSUJDXzIuMi41AHN0ZG91dEBAR0xJQkNfMi4yLjUA bWtkaXJAQEdMSUJDXzIuMi41AG1haW4AX2luaXQAZmZsdXNoQEBHTElCQ18yLjIuNQAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAABUT09ML2FyZ3MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAMDAwMDY0NAAwMDAwMDAwADAwMDAwMDAAMDAwMDAwMDAwNDYAMTE2MzQ2MTM3NzcAMDEx MjI3ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAA cm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAByb290AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAADMJMQkzCTUKIwkzCTIJMwk1CiMJMwkzCTMJNQojCTMJNAkzCTUK AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAVE9PTC9yZXN1bHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAADAwMDA2NDQAMDAwMDAwMAAwMDAwMDAwADAwMDAwMDAwMTA2ADExNjM0NjE2MDAwADAxMTU2 NAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHJv b3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAJRlVMTAlNRVRBCQlEQVRBCQlNT1VOVCBPUFRJT04KWzFdCQktbSBy YWlkMQktZCByYWlkMTAJLW8gaW5vZGVfY2FjaGUKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAFRPT0wvc3luY3Rlc3QuYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAwMDAwNjQ0ADAwMDAwMDAAMDAwMDAwMAAwMDAwMDAxNjIxMwAxMTYzNDYxMzc3NwAwMTIzNzMA IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIAByb290 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJvb3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAALyoKICogVGVzdCBhbmQgYmVuY2htYXJrIHN5bmNocm9ub3VzIG9wZXJh dGlvbnMuCiAqIE9yaWdpbmFsbHkgd3JpdHRlbiBieSBBbmRyZXcgTW9ydG9uCiAqLwoKI3VuZGVm IF9YT1BFTl9TT1VSQ0UJLyogTUFQX0FOT05ZTU9VUyAqLwoKI2luY2x1ZGUgPHN0ZGlvLmg+CiNp bmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgojaW5jbHVkZSA8dW5pc3RkLmg+ CiNpbmNsdWRlIDxmY250bC5oPgojaW5jbHVkZSA8ZXJybm8uaD4KI2luY2x1ZGUgPHN0ZGFyZy5o PgojaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiNpbmNsdWRlIDxzeXMvc3RhdC5oPgojaW5jbHVkZSA8 c3lzL3Jlc291cmNlLmg+CiNpbmNsdWRlIDxzeXMvd2FpdC5oPgojaW5jbHVkZSA8c3lzL21tYW4u aD4KCi8qCiAqIExvdHMgb2YgeXVtbXkgZ2xvYmFscyEKICovCmNoYXIgKnByb2duYW1lLCAqZGly bmFtZTsKaW50IHZlcmJvc2UsIHVzZV9mc3luYywgdXNlX29zeW5jOwppbnQgZnN5bmNfZGlyOwpp bnQgbl90aHJlYWRzID0gMSwgbl9pdGVycyA9IDEwMDsKaW50ICpjaGlsZF9zdGF0dXM7CmludCB0 aGlzX2NoaWxkX2luZGV4OwppbnQgZGlyX2ZkOwppbnQgc2hvd190aWRzOwppbnQgdGhyZWFkc19w ZXJfZGlyID0gMTsKaW50IHRocmVhZF9ncm91cDsKaW50IGRvX3VubGluazsKaW50IHJlbmFtZV9w YXNzOwoKI2RlZmluZSBOX0ZJTEVTCQkxMDAKI2RlZmluZSBVTkxJTktfTEFHCTMwCiNkZWZpbmUg UkVOQU1FX1BBU1NFUwkzCgp2b2lkIHNob3coY2hhciAqZm10LCAuLi4pCnsKCWlmICh2ZXJib3Nl KSB7CgkJdmFfbGlzdCBhcDsKCgkJdmFfc3RhcnQoYXAsIGZtdCk7CgkJdmZwcmludGYoc3Rkb3V0 LCBmbXQsIGFwKTsKCQlmZmx1c2goIHN0ZG91dCApOwoJCXZhX2VuZChhcCk7Cgl9Cn0KCi8qCiAq IC0gQ3JlYXRlIGEgZmlsZS4KICogLSBXcml0ZSBzb21lIGRhdGEgdG8gaXQKICogLSBNYXliZSBm c3luYygpIGl0LgogKiAtIENsb3NlIGl0CiAqIC0gTWF5YmUgZnN5bmMoKSBpdHMgcGFyZW50IGRp cgogKiAtIHJlbmFtZSgpIGl0LgogKiAtIG1heWJlIGZzeW5jKCkgaXRzIHBhcmVudCBkaXIKICog LSByZW5hbWUoKSBpdC4KICogLSBtYXliZSBmc3luYygpIGl0cyBwYXJlbnQgZGlyCiAqIC0gcmVu YW1lKCkgaXQuCiAqIC0gbWF5YmUgZnN5bmMoKSBpdHMgcGFyZW50IGRpcgogKiAtIFVOTElOS19M QUcgZmlsZXMgbGF0ZXIsIG1heWJlIHVubGluayBpdC4KICogLSBtYXliZSBmc3luYygpIGl0cyBw YXJlbnQgZGlyCiAqCiAqIFJlcGVhdCB0aGUgYWJvdmUgTl9GSUxFUyB0aW1lcwogKi8KCmNoYXIg Km1rX2Rpcm5hbWUodm9pZCkKewoJY2hhciAqcmV0ID0gbWFsbG9jKHN0cmxlbihkaXJuYW1lKSAr IDY0KTsKCglzcHJpbnRmKHJldCwgIiVzLyUwNWQiLCBkaXJuYW1lLCB0aHJlYWRfZ3JvdXApOwoJ cmV0dXJuIHJldDsKfQoKY2hhciAqbWtfZmlsZW5hbWUoaW50IGZpbGVubykKewoJY2hhciAqcmV0 ID0gbWFsbG9jKHN0cmxlbihkaXJuYW1lKSArIDY0KTsKCglzcHJpbnRmKHJldCwgIiVzLyUwNWQv JTA1ZC0lMDVkIiwKCQkJZGlybmFtZSwgdGhyZWFkX2dyb3VwLCBnZXRwaWQoKSwgZmlsZW5vKTsK CXJldHVybiByZXQ7Cn0KCmNoYXIgKm1rX25ld19maWxlbmFtZShpbnQgZmlsZW5vLCBpbnQgcGFz cykKewoJY2hhciAqcmV0ID0gbWFsbG9jKHN0cmxlbihkaXJuYW1lKSArIDY0KTsKCglzcHJpbnRm KHJldCwgIiVzLyUwNWQvJTAyZC0lMDVkLSUwNWQiLAoJCQlkaXJuYW1lLCB0aHJlYWRfZ3JvdXAs IHBhc3MsIGdldHBpZCgpLCBmaWxlbm8pOwoJcmV0dXJuIHJldDsKfQoKdm9pZCBzeW5jX2Rpcih2 b2lkKQp7CglpZiAoZnN5bmNfZGlyKSB7CgkJc2hvdygiZnN5bmMoJXMpXG4iLCBkaXJuYW1lKTsK CQlpZiAoZnN5bmMoZGlyX2ZkKSA8IDApIHsKCQkJZnByaW50ZihzdGRlcnIsICIlczogZmFpbGVk IHRvIGZzeW5jIGRpciBgJXMnOiAlc1xuIiwKCQkJCXByb2duYW1lLCBkaXJuYW1lLCBzdHJlcnJv cihlcnJubykpOwoJCQlleGl0KDEpOwoJCX0KCX0KfQoKdm9pZCBtYWtlX2Rpcih2b2lkKQp7Cglj aGFyICpuID0gbWtfZGlybmFtZSgpOwoKCXNob3coIm1rZGlyKCVzKVxuIiwgbik7CglpZiAobWtk aXIobiwgMDc3NykgPCAwKSB7CgkJZnByaW50ZihzdGRlcnIsICIlczogQ2Fubm90IG1ha2UgZGly ZWN0b3J5IGAlcyc6ICVzXG4iLAoJCQlwcm9nbmFtZSwgbiwgc3RyZXJyb3IoZXJybm8pKTsKCQll eGl0KDEpOwoJfQoJZnJlZShuKTsKfQoKdm9pZCByZW1vdmVfZGlyKHZvaWQpCnsKCWNoYXIgKm4g PSBta19kaXJuYW1lKCk7CglzaG93KCJybWRpciglcylcbiIsIG4pOwoJcm1kaXIobik7CglmcmVl KG4pOwp9Cgp2b2lkIHdyaXRlX3N0dWZmX3RvKGludCBmZCwgY2hhciAqbmFtZSkKewoJc3RhdGlj IGNoYXIgYnVmWzUwMDAwMF07CglzdGF0aWMgaW50IHRvX3dyaXRlID0gNTAwMDsKCglzaG93KCJ3 cml0ZSAlZCBieXRlcyB0byBgJXMnXG4iLCBzaXplb2YoYnVmKSwgbmFtZSk7CglpZiAod3JpdGUo ZmQsIGJ1ZiwgdG9fd3JpdGUpICE9IHRvX3dyaXRlKSB7CgkJZnByaW50ZihzdGRlcnIsICIlczog ZmFpbGVkIHRvIHdyaXRlICVkIGJ5dGVzIHRvIGAlcyc6ICVzXG4iLAoJCQlwcm9nbmFtZSwgdG9f d3JpdGUsIG5hbWUsIHN0cmVycm9yKGVycm5vKSk7CgkJZXhpdCgxKTsKCX0KCgl0b193cml0ZSAq PSAxLjE7CglpZiAodG9fd3JpdGUgPiAyNTAwMDApCgkJdG9fd3JpdGUgPSA1MDAwOwp9Cgp2b2lk IHVubGlua19vbmVfZmlsZShpbnQgZmlsZW5vLCBpbnQgcGFzcykKewoJaWYgKGRvX3VubGluaykg ewoJCWNoYXIgKm5hbWUgPSBta19uZXdfZmlsZW5hbWUoZmlsZW5vLCBwYXNzKTsKCgkJc2hvdygi dW5saW5rKCVzKVxuIiwgbmFtZSk7CgkJaWYgKHVubGluayhuYW1lKSA8IDApIHsKCQkJZnByaW50 ZihzdGRlcnIsICIlczogZmFpbGVkIHRvIHVubGluayBgJXMnOiAlc1xuIiwKCQkJCXByb2duYW1l LCBuYW1lLCBzdHJlcnJvcihlcnJubykpOwoJCQlleGl0KDEpOwoJCX0KCQlzeW5jX2RpcigpOwoJ CWZyZWUobmFtZSk7Cgl9Cn0KCnZvaWQgZG9fb25lX2ZpbGUoaW50IGZpbGVubykKewoJY2hhciAq bmFtZSA9IG1rX2ZpbGVuYW1lKGZpbGVubyk7CglpbnQgZmQsIGZsYWdzOwoKCWZsYWdzID0gT19S RFdSfE9fQ1JFQVR8T19UUlVOQzsKCWlmICh1c2Vfb3N5bmMpCgkJZmxhZ3MgfD0gT19TWU5DOwoK CXNob3coIm9wZW4oJXMpXG4iLCBuYW1lKTsKCWZkID0gb3BlbihuYW1lLCBmbGFncywgMDY2Nik7 CglpZiAoZmQgPCAwKSB7CgkJZnByaW50ZihzdGRlcnIsICIlczogZmFpbGVkIHRvIGNyZWF0ZSBm aWxlIGAlcyc6ICVzXG4iLAoJCQlwcm9nbmFtZSwgbmFtZSwgc3RyZXJyb3IoZXJybm8pKTsKCQll eGl0KDEpOwoJfQoKCXdyaXRlX3N0dWZmX3RvKGZkLCBuYW1lKTsKCglpZiAodXNlX2ZzeW5jKSB7 CgkJc2hvdygiZnN5bmMoJXMpXG4iLCBuYW1lKTsKCQlpZiAoZnN5bmMoZmQpIDwgMCkgewoJCQlm cHJpbnRmKHN0ZGVyciwgIiVzOiBmYWlsZWQgdG8gZnN5bmMgYCVzJzogJXNcbiIsCgkJCQlwcm9n bmFtZSwgbmFtZSwgc3RyZXJyb3IoZXJybm8pKTsKCQkJZXhpdCgxKTsKCQl9Cgl9CgoJc2hvdygi Y2xvc2UoJXMpXG4iLCBuYW1lKTsKCWlmIChjbG9zZShmZCkgPCAwKSB7CgkJZnByaW50ZihzdGRl cnIsICIlczogZmFpbGVkIHRvIGNsb3NlIGAlcyc6ICVzXG4iLAoJCQlwcm9nbmFtZSwgbmFtZSwg c3RyZXJyb3IoZXJybm8pKTsKCQlleGl0KDEpOwoJfQoKCXN5bmNfZGlyKCk7CgoJZm9yIChyZW5h bWVfcGFzcyA9IDA7IHJlbmFtZV9wYXNzIDwgUkVOQU1FX1BBU1NFUzsgcmVuYW1lX3Bhc3MrKykg ewoJCWNoYXIgKm5ld25hbWUgPSBta19uZXdfZmlsZW5hbWUoZmlsZW5vLCByZW5hbWVfcGFzcyk7 CgoJCXNob3coInJlbmFtZSglcywgJXMpXG4iLCBuYW1lLCBuZXduYW1lKTsKCQlpZiAocmVuYW1l KG5hbWUsIG5ld25hbWUpIDwgMCkgewoJCQlmcHJpbnRmKHN0ZGVyciwKCQkJCSIlczogZmFpbGVk IHRvIHJlbmFtZSBgJXMnIHRvIGAlcyc6ICVzXG4iLAoJCQkJcHJvZ25hbWUsIG5hbWUsIG5ld25h bWUsIHN0cmVycm9yKGVycm5vKSk7CgkJCWV4aXQoMSk7CgkJfQoJCXN5bmNfZGlyKCk7CgkJZnJl ZShuYW1lKTsKCQluYW1lID0gbmV3bmFtZTsKCX0KCXJlbmFtZV9wYXNzLS07CglmcmVlKG5hbWUp Owp9Cgp2b2lkIGRvX2NoaWxkKHZvaWQpCnsKCWludCBmaWxlbm87CgljaGFyICpkbiA9IG1rX2Rp cm5hbWUoKTsKCWludCBkb3Rjb3VudDsKCglkaXJfZmQgPSBvcGVuKGRuLCBPX1JET05MWSk7Cglp ZiAoZGlyX2ZkIDwgMCkgewoJCWZwcmludGYoc3RkZXJyLCAiJXM6IGZhaWxlZCB0byBvcGVuIGRp ciBgJXMnOiAlc1xuIiwKCQkJcHJvZ25hbWUsIGRuLCBzdHJlcnJvcihlcnJubykpOwoJCWV4aXQo MSk7Cgl9CglmcmVlKGRuKTsKCglkb3Rjb3VudCA9IE5fRklMRVMgLyAxMDsKCWlmIChkb3Rjb3Vu dCA9PSAwKQoJCWRvdGNvdW50ID0gMTsKCglmb3IgKGZpbGVubyA9IDA7IGZpbGVubyA8IE5fRklM RVM7IGZpbGVubysrKSB7CgkJaWYgKGZpbGVubyAlIGRvdGNvdW50ID09IDApIHsKCQkJcHJpbnRm KCIuIik7CgkJCWZmbHVzaChzdGRvdXQpOwoJCX0KCQlkb19vbmVfZmlsZShmaWxlbm8pOwoJCWlm IChmaWxlbm8gPj0gVU5MSU5LX0xBRykKCQkJdW5saW5rX29uZV9maWxlKGZpbGVubyAtIFVOTElO S19MQUcsIFJFTkFNRV9QQVNTRVMgLSAxKTsKCX0KCWZvciAoZmlsZW5vID0gTl9GSUxFUyAtIFVO TElOS19MQUc7IGZpbGVubyA8IE5fRklMRVM7IGZpbGVubysrKQoJCXVubGlua19vbmVfZmlsZShm aWxlbm8sIFJFTkFNRV9QQVNTRVMgLSAxKTsKfQoKdm9pZCBkb2l0KHZvaWQpCnsKCWludCBjaGls ZDsKCWludCBjaGlsZHJlbl9sZWZ0OwoKCWNoaWxkX3N0YXR1cyA9IChpbnQgKiltbWFwKAkwLAoJ CQkJbl90aHJlYWRzICogc2l6ZW9mKCpjaGlsZF9zdGF0dXMpLAoJCQkJUFJPVF9SRUFEfFBST1Rf V1JJVEUsCgkJCQlNQVBfU0hBUkVEfE1BUF9BTk9OWU1PVVMsCgkJCQktMSwKCQkJCTApOwoJaWYg KGNoaWxkX3N0YXR1cyA9PSBNQVBfRkFJTEVEKSB7CgkJcGVycm9yKCJtbWFwIik7CgkJZXhpdCgx KTsKCX0KCgltZW1zZXQoY2hpbGRfc3RhdHVzLCAwLCBuX3RocmVhZHMgKiBzaXplb2YoKmNoaWxk X3N0YXR1cykpOwoKCXRocmVhZF9ncm91cCA9IC0xOwoJZm9yICh0aGlzX2NoaWxkX2luZGV4ID0g MDsKCQkJdGhpc19jaGlsZF9pbmRleCA8IG5fdGhyZWFkczsgdGhpc19jaGlsZF9pbmRleCsrKQoJ ewoJCWlmICh0aGlzX2NoaWxkX2luZGV4ICUgdGhyZWFkc19wZXJfZGlyID09IDApIHsKCQkJdGhy ZWFkX2dyb3VwKys7CgkJCW1ha2VfZGlyKCk7CgkJfQoKCQlpZiAoZm9yaygpID09IDApIHsKCQkJ aW50IGl0ZXI7CgoJCQlmb3IgKGl0ZXIgPSAwOyBpdGVyIDwgbl9pdGVyczsgaXRlcisrKQoJCQkJ ZG9fY2hpbGQoKTsKCQkJY2hpbGRfc3RhdHVzW3RoaXNfY2hpbGRfaW5kZXhdID0gMTsKCQkJZXhp dCgwKTsKCQl9Cgl9CgoJLyogUGFyZW50ICovCgljaGlsZHJlbl9sZWZ0ID0gbl90aHJlYWRzOwoJ d2hpbGUgKGNoaWxkcmVuX2xlZnQpIHsKCQlpbnQgc3RhdHVzOwoKCQlpZiggd2FpdDMoJnN0YXR1 cywgMCwgMCkgPCAwICkgewoJCQlpZiggZXJybm8gIT0gRUlOVFIgKSB7CgkJCQlwZXJyb3IoIndh aXQzIik7CgkJCQlleGl0KDEpOwoJCQl9CgkJCWNvbnRpbnVlOwoJCX0KCQlmb3IgKGNoaWxkID0g MDsgY2hpbGQgPCBuX3RocmVhZHM7IGNoaWxkKyspIHsKCQkJaWYgKGNoaWxkX3N0YXR1c1tjaGls ZF0gPT0gMSkgewoJCQkJY2hpbGRfc3RhdHVzW2NoaWxkXSA9IDI7CgkJCQlwcmludGYoIioiKTsK CQkJCWZmbHVzaChzdGRvdXQpOwoJCQkJY2hpbGRyZW5fbGVmdC0tOwoJCQl9CgkJfQoJfQoJZm9y ICh0aHJlYWRfZ3JvdXAgPSAwOyAKCQkJdGhyZWFkX2dyb3VwIDwgKCBuX3RocmVhZHMgLyB0aHJl YWRzX3Blcl9kaXIgKTsgCgkJCXRocmVhZF9ncm91cCsrICkKCQlyZW1vdmVfZGlyKCk7CgoJcHJp bnRmKCJcbiIpOwp9Cgp2b2lkIHVzYWdlKHZvaWQpCnsKCWZwcmludGYoc3RkZXJyLAoJCSJVc2Fn ZTogJXMgWy1mRm9zdXZdIFstcCB0aHJlYWRzLXByZS1kaXIgXVstbiBpdGVyc10gWy10IHRocmVh ZHNdIGRpcm5hbWVcbiIsCgkJCXByb2duYW1lKTsKCWZwcmludGYoc3RkZXJyLCAiICAgICAgICAt ZjogICAgVXNlIGZzeW5jKCkgb24gY2xvc2VcbiIpOyAKCWZwcmludGYoc3RkZXJyLCAiICAgICAg ICAtRjogICAgVXNlIGZzeW5jKCkgb24gcGFyZW50IGRpclxuIik7IAoJZnByaW50ZihzdGRlcnIs ICIgICAgICAgIC1uOiAgICBOdW1iZXIgb2YgaXRlcmF0aW9uc1xuIik7CglmcHJpbnRmKHN0ZGVy ciwgIiAgICAgICAgLW86ICAgIE9wZW4gZmlsZXMgT19TWU5DXG4iKTsKCWZwcmludGYoc3RkZXJy LCAiICAgICAgICAtcDogICAgTnVtYmVyIG9mIHRocmVhZHMgcGVyIGRpcmVjdG9yeVxuIik7Cglm cHJpbnRmKHN0ZGVyciwgIiAgICAgICAgLXQ6ICAgIE51bWJlciBvZiB0aHJlYWRzXG4iKTsKCWZw cmludGYoc3RkZXJyLCAiICAgICAgICAtdTogICAgVW5saW5rIGZpbGVzIGR1cmluZyB0ZXN0XG4i KTsKCWZwcmludGYoc3RkZXJyLCAiICAgICAgICAtdjogICAgVmVyYm9zZVxuIik7IAoJZnByaW50 ZihzdGRlcnIsICIgICBkaXJuYW1lOiAgICBEaXJlY3RvcnkgdG8gcnVuIHRlc3RzIGluXG4iKTsK CWV4aXQoMSk7Cn0KCgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQp7CglpbnQgYzsK Cglwcm9nbmFtZSA9IGFyZ3ZbMF07Cgl3aGlsZSAoKGMgPSBnZXRvcHQoYXJnYywgYXJndiwgInZG Zm91dDpuOnA6IikpICE9IC0xKSB7CgkJc3dpdGNoIChjKSB7CgkJY2FzZSAnZic6CgkJCXVzZV9m c3luYysrOwoJCQlicmVhazsKCQljYXNlICdGJzoKCQkJZnN5bmNfZGlyKys7CgkJCWJyZWFrOwoJ CWNhc2UgJ24nOgoJCQluX2l0ZXJzID0gc3RydG9sKG9wdGFyZywgTlVMTCwgMTApOwoJCQlicmVh azsKCQljYXNlICdvJzoKCQkJdXNlX29zeW5jKys7CgkJCWJyZWFrOwoJCWNhc2UgJ3AnOgoJCQl0 aHJlYWRzX3Blcl9kaXIgPSBzdHJ0b2wob3B0YXJnLCBOVUxMLCAxMCk7CgkJCWJyZWFrOwoJCWNh c2UgJ3QnOgoJCQluX3RocmVhZHMgPSBzdHJ0b2wob3B0YXJnLCBOVUxMLCAxMCk7CgkJCWJyZWFr OwoJCWNhc2UgJ3UnOgoJCQlkb191bmxpbmsrKzsKCQkJYnJlYWs7CgkJY2FzZSAndic6CgkJCXZl cmJvc2UrKzsKCQkJYnJlYWs7CgkJfQoJfQoKCWlmIChvcHRpbmQgPT0gYXJnYykKCQl1c2FnZSgp OwoJZGlybmFtZSA9IGFyZ3Zbb3B0aW5kKytdOwoJaWYgKG9wdGluZCAhPSBhcmdjKQoJCXVzYWdl KCk7CgoJZG9pdCgpOwoJZXhpdCgwKTsKfQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA VE9PTC9NYWtlZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDQAMDAwMDAw MAAwMDAwMDAwADAwMDAwMDAwMDc1ADExNjM0NjE0MDI3ADAxMTc3NwAgMAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHJvb3QAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABh bGw6CQoJZ2NjIC1vIHN5bmN0ZXN0IC4vc3luY3Rlc3QuYwoKY2xlYW46CglybSAtZnIgc3luY3Rl c3QKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFRP T0wvMV9ydW5fc3RyZXNzLnNoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNzQ0ADAwMDAwMDAA MDAwMDAwMAAwMDAwMDAwNzQ1NAAxMTYzNDYxNjExMQAwMTMzMjcAIDAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIAByb290AAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAHJvb3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyEv YmluL2Jhc2gKCiMgYmFsYW5jZSB0ZXN0CiMgbGl1Ym8yMDA5QGNuLmZ1aml0c3UuY29tCiMgQXVn IDMKIwojIHBhcnRpdGlvbjogNCAqIDFHCgpURVNUX1BBVEg9YHB3ZGAKQVJHUz0kVEVTVF9QQVRI L2FyZ3MKCkRFVj0iJDEgJDIgJDMgJDQiCkRFVl9NTlQ9IiQxIgoKTU5UPSIvbW50IgoKUkVTVUxU PSRURVNUX1BBVEgvcmVzdWx0CkxPRz0kVEVTVF9QQVRIL2xvZwoKaWYgWyAtZSAkTE9HIF07IHRo ZW4KCW12ICRMT0cgJExPRy5iYWsKZmkKCmlmIFsgLWUgJFJFU1VMVCBdOyB0aGVuCgltdiAkUkVT VUxUICRSRVNVTFQuYmFrCmZpCgoKIyBwYXJzZSBhcmdzCnBhcnNlX2FyZ3MoKSB7CglGVUxMX3N0 cj0iIgoJTUVUQV9zdHI9IiIKCURBVEFfc3RyPSIiCglNT1VOVF9zdHI9IiIKCmlmIFsgIiRGVUxM IiA9IDEgXTsgdGhlbgoJRlVMTF9zdHI9ImhhbGYiCmVsaWYgWyAiJEZVTEwiID0gMiBdOyB0aGVu CglGVUxMX3N0cj0iZnVsbCIKZmkKCmlmIFsgIiRNRVRBIiA9IDEgXTsgdGhlbgoJTUVUQV9zdHI9 Ii1tIHJhaWQxIgplbGlmIFsgIiRNRVRBIiA9IDIgXTsgdGhlbgoJTUVUQV9zdHI9Ii1tIHJhaWQw IgplbGlmIFsgIiRNRVRBIiA9IDMgXTsgdGhlbgoJTUVUQV9zdHI9Ii1tIHJhaWQxMCIKZWxpZiBb ICIkTUVUQSIgPSA0IF07IHRoZW4KCU1FVEFfc3RyPSItbSBzaW5nbGUiCmZpCgppZiBbICIkREFU QSIgPSAxIF07IHRoZW4KCURBVEFfc3RyPSItZCByYWlkMCIKZWxpZiBbICIkREFUQSIgPSAyIF07 IHRoZW4KCURBVEFfc3RyPSItZCByYWlkMSIKZWxpZiBbICIkREFUQSIgPSAzIF07IHRoZW4KCURB VEFfc3RyPSItZCByYWlkMTAiCmVsaWYgWyAiJERBVEEiID0gNCBdOyB0aGVuCglEQVRBX3N0cj0i LWQgc2luZ2xlIgpmaQoKaWYgWyAiJE1PVU5UIiA9IDEgXTsgdGhlbgoJTU9VTlRfc3RyPSJkZWZh dWx0IgplbGlmIFsgIiRNT1VOVCIgPSAyIF07IHRoZW4KCU1PVU5UX3N0cj0iLW8gbm9kYXRhY293 IgplbGlmIFsgIiRNT1VOVCIgPSAzIF07IHRoZW4KCU1PVU5UX3N0cj0iLW8gbm90cmVlbG9nIgpl bGlmIFsgIiRNT1VOVCIgPSA0IF07IHRoZW4KIwlNT1VOVF9zdHI9Ii1vIHNwYWNlX2NhY2hlLGVu b3NwY19kZWJ1ZyIKCU1PVU5UX3N0cj0iLW8gc3BhY2VfY2FjaGUiCmVsaWYgWyAiJE1PVU5UIiA9 IDUgXTsgdGhlbgoJTU9VTlRfc3RyPSItbyBpbm9kZV9jYWNoZSIKZWxpZiBbICIkTU9VTlQiID0g NiBdOyB0aGVuCgkjTU9VTlRfc3RyPSItbyBzcGFjZV9jYWNoZSxpbm9kZV9jYWNoZSIKCU1PVU5U X3N0cj0iZGVmYXVsdCIKZmkKCiMgZGVidWcKZWNobyAiWyRDTlRdICRGVUxMX3N0ciAkTUVUQV9z dHIgJERBVEFfc3RyICRNT1VOVF9zdHIgfCBgZGF0ZWAiCmVjaG8gLWUgIlskQ05UXVx0JEZVTExf c3RyXHQkTUVUQV9zdHJcdCREQVRBX3N0clx0JE1PVU5UX3N0ciIgPj4gJFJFU1VMVAplY2hvIC1l ICJbJENOVF1cdCRGVUxMX3N0clx0JE1FVEFfc3RyXHQkREFUQV9zdHJcdCRNT1VOVF9zdHIiID4+ ICRMT0cKCn0KCm1rZnNfZnVuYygpIHsKCW1rZnMuYnRyZnMgJE1FVEFfc3RyICREQVRSX3N0ciAk REVWID4+ICRMT0cgMj4mMQp9Cgptb3VudF9mdW5jKCkgewoJaWYgWyAiJE1PVU5UX3N0ciIgIT0g ImRlZmF1bHQiIF07dGhlbgoJCW1vdW50ICRERVZfTU5UICRNTlQgJE1PVU5UX3N0ciA+PiAkTE9H IDI+JjEKCWVsc2UKCQltb3VudCAkREVWX01OVCAkTU5UID4+ICRMT0cgMj4mMQoJZmkKCglpZiBb ICQ/ICE9IDAgXTsgdGhlbgoJCWV4aXQgMTsKCWZpCn0KCnN0cmVzc19mdW5jKCkgewoJLi9zdHJl c3Muc2ggLWMgL3Jvb3QvYnRyZnMgJE1OVCA+PiAkTE9HIDI+JjEgJgoJUElEPSQhCgllY2hvICJz dHJlc3Mgc3RhcnQuLi4uLi4uLi4uLi4gJFBJRCIKfQoKc3luY3Rlc3RfZnVuYygpIHsKCS4vc3lu Y3Rlc3QgLXQgMzIgLWYgLUYgLXUgLW4gMTAwICRNTlQgPj4gL2Rldi9udWxsIDI+JjEgJgoJUElE Mj0kIQoJZWNobyAic3luY3Rlc3Qgc3RhcnQuLi4uLi4uLi4uLi4kUElEMiIKCn0KCmZ1bGxmaWxf ZnVuYygpIHsKCSMgZmZzYgoJZWNobyAiZnVsbGZpbCBzdGFydC4uLi4uLi4uLi4uIgoJaWYgWyAi JEZVTEwiID0gMSBdOyB0aGVuCgkJJFRFU1RfUEFUSC9mZnNiIGZmc2ItY29uZmlnX2hhbGYgPiAv ZGV2L251bGwgMj4mMQoJZWxpZiBbICIkRlVMTCIgPSAyIF07IHRoZW4KCQkkVEVTVF9QQVRIL2Zm c2IgZmZzYi1jb25maWdfZnVsbCA+IC9kZXYvbnVsbCAyPiYxCglmaQoKCXN5bmN0ZXN0X2Z1bmMK Cgkjc2xlZXAgMQoKCXNuYXBfZnVuYwoKIwllY2hvICJzeW5jIHN0YXJ0IC4uLi4uLi4uLi4uLiIK IwlzeW5jCgoJI2lmIFsgJD8gIT0gMCBdOyB0aGVuCgkJI2V4aXQgMTsKCQlidHJmcyBmaSBkZiAk TU5UID4+ICRMT0cgMj4mMQoJCWRmID4+ICRMT0cgMj4mMQoJI2ZpCn0KCmZ1bGxybV9mdW5jKCkg ewoJZWNobyAiZnVsbCBybS4uLi4uLi4uLi4uIgoJcm0gLWZyICRNTlQvKiA+PiAkTE9HIDI+JjEK fQoKc25hcF9mdW5jKCkgewoJZWNobyAic25hcCBzdGFydC4uLi4uLi4uLi4uIgoJZm9yICgoc25h cD0wOyBzbmFwPDEwMDsgc25hcCsrKSkKCWRvCgkJYnRyZnMgc3Vidm9sdW1lIHNuYXBzaG90ICRN TlQgJE1OVC9zXyRzbmFwID4+ICRMT0cgMj4mMQoJZG9uZQoJZWNobyAic25hcCBlbmQuLi4uLi4u Li4uLiIKfQoKdW1vdW50X2Z1bmMoKSB7Cgl1bW91bnQgJE1OVAp9CgpiYWxhbmNlX2Z1bmMoKSB7 CgllY2hvICJiYWxhbmNlLi4uLi4uLi4uLi4uLi4uLi4uIgoJZWNobyAiYmFsYW5jZSIgPj4gJExP RwoJYnRyZnMgZmkgYmFsICRNTlQgPj4gJExPRyAyPiYxCglpZiBbICIkPyIgIT0gMCBdOyB0aGVu CgkJZWNobyAtZSAiXHRiYWxhbmNlOiBbRkFJTF0iID4+ICRSRVNVTFQKCWVsc2UKCQllY2hvIC1l ICJcdGJhbGFuY2U6IFtTVUNdIiA+PiAkUkVTVUxUCglmaQp9CgojIG1haW4gbG9vcAoKQ05UPTEK CmVjaG8gLWUgIlx0RlVMTFx0TUVUQVx0XHREQVRBXHRcdE1PVU5UIE9QVElPTiIgPiAkUkVTVUxU CmVjaG8gLWUgIlx0RlVMTFx0TUVUQVx0XHREQVRBXHRcdE1PVU5UIE9QVElPTiIgPiAkTE9HCgp3 aGlsZSByZWFkIGkKZG8KCUZVTEw9YGVjaG8gJGkgfCBhd2sgLUYgJyAnICcgeyBwcmludCAkMSB9 ICdgCglNRVRBPWBlY2hvICRpIHwgYXdrIC1GICcgJyAnIHsgcHJpbnQgJDIgfSAnYAoJREFUQT1g ZWNobyAkaSB8IGF3ayAtRiAnICcgJyB7IHByaW50ICQzIH0gJ2AKCU1PVU5UPWBlY2hvICRpIHwg YXdrIC1GICcgJyAnIHsgcHJpbnQgJDQgfSAnYAoKCWlmIFsgIiRGVUxMIiA9ICIjIiBdOyB0aGVu CgkJbGV0ICJDTlQgPSBDTlQgKyAxIgoJCWNvbnRpbnVlOwoJZmkKCgl1bW91bnRfZnVuYwoJcGFy c2VfYXJncwoJbWtmc19mdW5jCgoJI2VjaG8gMCA+IC9zeXMva2VybmVsL2RlYnVnL3RyYWNpbmcv dHJhY2UKCgltb3VudF9mdW5jCglmdWxsZmlsX2Z1bmMKCiMJYnRyZnMtZGVidWctdHJlZSAkREVW X01OVCA+IGRlYnVnLXRyZWUKCgliYWxhbmNlX2Z1bmMKCgllY2hvICJraWxsIHN0cmVzcyBzeW5j dGVzdC4uLi4uLi4uLi4iCiMJa2lsbCAtU0lHSU5UICRQSUQgIz4+ICRMT0cgMj4mMQoJcGtpbGwg c3luY3Rlc3QKCXNsZWVwIDEKCiMJcGtpbGwgbWQ1c3VtCiMJcGtpbGwgZGlmZgojCXBraWxsIHNs ZWVwCiMJcGtpbGwgc3RyZXNzLnNoCgojCWtpbGwgLVNJR0lOVCAkUElEICM+PiAkTE9HIDI+JjEK IwlraWxsIC1TSUdJTlQgJFBJRDIgIz4+ICRMT0cgMj4mMQoKCXVtb3VudF9mdW5jCgoJI2J0cmZz Y2sgL2Rldi9zZGI3ID4+ICRMT0cgMj4mMQoJI2lmIFsgIiQ/IiAhPSAwIF07IHRoZW4KCSMJZWNo byAtZSAiXHRmc2NrOiBbRkFJTF0iID4+ICRSRVNVTFQKCSNlbHNlCgkjCWVjaG8gLWUgIlx0ZnNj azogW1NVQ10iID4+ICRSRVNVTFQKCSNmaQoKCWxldCAiQ05UID0gQ05UICsgMSIKCmRvbmUgPCAk QVJHUwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFRPT0wvbG9nAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAwMDAwMDAAMDAwMDAwMAAw MDAwMDAwMDMxNwAxMTYzNDYxNjAwMAAwMTEwMzMAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIAByb290AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AHJvb3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUZVTEwJTUVUQQkJ REFUQQkJTU9VTlQgT1BUSU9OClsxXQkJLW0gcmFpZDEJLWQgcmFpZDEwCS1vIGlub2RlX2NhY2hl Ci9kZXYvc2RiNyBpcyBtb3VudGVkCgpXQVJOSU5HISAtIEJ0cmZzIHYwLjE5LTM1LWcyZTFjNjdi LWRpcnR5IElTIEVYUEVSSU1FTlRBTApXQVJOSU5HISAtIHNlZSBodHRwOi8vYnRyZnMud2lraS5r ZXJuZWwub3JnIGJlZm9yZSB1c2luZwoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUT09ML2xvZy5iYWsA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAwMDAwADAwMDAwMDAAMDAw MDAwMDEwNTAAMTE2MzQ2MTU3NjYAMDExNjA0ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABy b290AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlGVUxMCU1FVEEJCURB VEEJCU1PVU5UIE9QVElPTgpbMV0JCS1tIHJhaWQxCS1kIHJhaWQxMAktbyBpbm9kZV9jYWNoZQp1 c2FnZTogbWtmcy5idHJmcyBbb3B0aW9uc10gZGV2IFsgZGV2IC4uLiBdCm9wdGlvbnM6CgkgLUEg LS1hbGxvYy1zdGFydCB0aGUgb2Zmc2V0IHRvIHN0YXJ0IHRoZSBGUwoJIC1iIC0tYnl0ZS1jb3Vu dCB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgaW4gdGhlIEZTCgkgLWQgLS1kYXRhIGRhdGEgcHJvZmls ZSwgcmFpZDAsIHJhaWQxLCByYWlkMTAgb3Igc2luZ2xlCgkgLWwgLS1sZWFmc2l6ZSBzaXplIG9m IGJ0cmVlIGxlYXZlcwoJIC1MIC0tbGFiZWwgc2V0IGEgbGFiZWwKCSAtbSAtLW1ldGFkYXRhIG1l dGFkYXRhIHByb2ZpbGUsIHZhbHVlcyBsaWtlIGRhdGEgcHJvZmlsZQoJIC1uIC0tbm9kZXNpemUg c2l6ZSBvZiBidHJlZSBub2RlcwoJIC1zIC0tc2VjdG9yc2l6ZSBtaW4gYmxvY2sgYWxsb2NhdGlv bgpCdHJmcyB2MC4xOS0zNS1nMmUxYzY3Yi1kaXJ0eQptb3VudDogY2FuJ3QgZmluZCAvbW50IGlu IC9ldGMvZnN0YWIgb3IgL2V0Yy9tdGFiCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUT09MLzJfd2hpbGUuc2gA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDc0NAAwMDAwMDAwADAwMDAwMDAAMDAwMDAw MDAxNDQAMTE2MzQ2MTU2MjAAMDEyMjIyACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAHVzdGFyICAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAByb290 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMhL2Jpbi9iYXNoCgp3aGls ZSAodHJ1ZSkKZG8KCS4vMV9ydW5fc3RyZXNzLnNoICQxICQyICQzICQ0CglpZiBbICQ/ICE9IDAg XTsgdGhlbgoJCWV4aXQgMQoJZmkKZG9uZQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== --------------030007040703020903090900--