Advertisement
Synchronizer

Untitled

Nov 4th, 2014
351
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 67.97 KB | None | 0 0
  1. JHNoZWxsX25hbWUgPSBcIlsrXSBTWU5DSFJPTklaRVIgU0hFTEwgQkFDS0RPT1JcIjsNCiRzaGVsbF9mYWtlX25hbWUgPSBcIlsrXSBTWU5DSFJPTklaRVIgU0hFTEwgQkFDS0RPT1JcIjsNCiRzaGVsbF90aXRsZSA9IFwiWytdIFNZTkNIUk9OSVpFUiBTSEVMTCBCQUNLRE9PUlwiOw0KJHNoZWxsX3ZlcnNpb24gPSBcIjIuMFwiOw0KJHNoZWxsX2Zhdl9wb3J0ID0gXCIxMjM0NVwiOw0KJHNoZWxsX2NvbG9yID0gXCJncmVlblwiOw0KDQovLyBzZXJ2ZXIgc29mdHdhcmUNCiR4U29mdHdhcmUgPSB0cmltKGdldGVudihcIlNFUlZFUl9TT0ZUV0FSRVwiKSk7DQovLyB1bmFtZSAtYQ0KJHhTeXN0ZW0gPSB0cmltKHBocF91bmFtZSgpKTsNCi8vIHNlcnZlciBpcA0KJHhTZXJ2ZXJJUCA9ICRfU0VSVkVSW1wiU0VSVkVSX0FERFJcIl07DQovLyB5b3VyIGlwIDstKQ0KJHhDbGllbnRJUCA9ICRfU0VSVkVSW1wnUkVNT1RFX0FERFJcJ107DQoNCiR4SGVhZGVyID0gJHhTb2Z0d2FyZS5cIjxiciAvPlwiLiR4U3lzdGVtLlwiPGJyIC8+U2VydmVyIElQOiA8c3BhbiBjbGFzcz1cXFwiZ2F1bFxcXCI+WyA8L3NwYW4+PGZvbnQgY29sb3I9eWVsbG93PlwiLiR4U2VydmVySVAuXCI8L2ZvbnQ+PHNwYW4gY2xhc3M9XFxcImdhdWxcXFwiPiBdPC9zcGFuPiZuYnNwOyZuYnNwOyZuYnNwO1lvdXIgSVA6IDxzcGFuIGNsYXNzPVxcXCJnYXVsXFxcIj5bIDwvc3Bhbj48Zm9udCBjb2xvcj15ZWxsb3c+XCIuJHhDbGllbnRJUC5cIjwvZm9udD48c3BhbiBjbGFzcz1cXFwiZ2F1bFxcXCI+IF08L3NwYW4+XCI7DQoNCi8vIyMjIyMjIyMjIyMjIyMjIyMgUkVTT1VSQ0VTIEdPRVMgSEVSRSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PV0NCiRpY29uID0gXCJpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQkFBQUFBUUNBWUFBQUFmOC85aEFBQUIva2xFUVZSNDJvMlJTMmdVUVJDR3E3ckhCMHJ3DQo0bWl3RldWbVBTbUlIcGFRU3dRRDRpdkdLSHNJbUlPeUJoSkVUVURqUmFNSUVqVGs0Z05GSXV0QndTY1k4ZUJoOWFCZ3lDR0NpS3U0DQpFNGt6QmswdWltaUkyMVhXd2diTW9yT3BwdW11S3VxcjZyOFJabW5qeGw4aVIwSDJEemZLVDAzSHNWTGhWK092ZTRyYzh4azR1WXR4DQpkQ0hnR1FIYy9TZEF1cXdaQjlqQ0FFN1Jud0xHUjhoSGJpSzUvYVF6Q2NDMEZQLyt1MllHNEtQeDIrcDE0U0tWVGJGSWlQZEk3L2VpDQpvTDk4d2htQXQ4YnYzTzdZODlzSXYyOWt6T3BTdkVOUjQxbFNEMUpoMEJRTGVHZjhqcTNhOW5heWV0WDJLVmhmZXRhOEdtMG51d2dIDQowK0ZJVFN4Z3pQZ3RtM1FoczVxUitrZ2Zxd0lZR2dWdVRtazYwRVBxL3A0dzJCMExrRzUrbDdJNVVkM0JVc29CQmxjMHVFVk9ha1dVDQp2eE1MS05xQThWNGMwclpXeVowbHpiSTJNOXJUcE5mS0QrUmlBVitNWDllaUNzOSt5VjJlY0xrYWNQZ2FVdmNOeGN1dVdIVzlQZ3IyDQp4UUplR3U5VXM3WW5qcE1hRnNFMkZHT2g4ZE4xMmw0OVNqalVHbzRrWXdFNTR4M2VxVzNmWGxKanJhd1NNdkxQTjhicmJ0QjA4aHlwDQpnYVl3YUlnRlRKakUwbDVsM3dmQVZSZElONHFRVDhUL2RodDVidGJxOXBWUi9sSkZFVVdIV2hGOWZuV1V6eGI5eDh1OWh3Y1Y3WmpPDQpEMXJIWFJ4OW1QZ3ZvTnhrcWptVHdLblh5TWxWZ0F0Y3h1Y0N5TXdhVU1uK0FNdkx6QkhOaXZxM0FBQUFBRWxGVGtTdVFtQ0NcIjsNCiRiZyA9IFwiaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFNQUFBQURDQVlBQUFCV0tMVy9BQUFBSmtsRVFWUjQybU5rQUFJcEthbi9iOTY4WVdBRQ0KTVo0OWV3YW1HZG5ZMlA2TGlJZ3dnQVFBOHhZTlloZW90TmNBQUFBQVNVVk9SSzVDWUlJPVwiOw0KJHhCYWNrID1cIkkybHVZMngxWkdVZ1BITjBaR2x2TG1nK0RRb2phVzVqYkhWa1pTQThjM2x6TDNOdlkydGxkQzVvUGcwS0kybHVZMngxWkdVZ1BHNWwNCmRHbHVaWFF2YVc0dWFENE5DbWx1ZENCdFlXbHVLR2x1ZENCaGNtZGpMQ0JqYUdGeUlDcGhjbWQyVzEwcERRcDdEUW9nYVc1MElHWmsNCk93MEtJSE4wY25WamRDQnpiMk5yWVdSa2NsOXBiaUJ6YVc0N0lBMEtJR1JoWlcxdmJpZ3hMREFwT3cwS0lITnBiaTV6YVc1ZlptRnQNCmFXeDVJRDBnUVVaZlNVNUZWRHNOQ2lCemFXNHVjMmx1WDNCdmNuUWdQU0JvZEc5dWN5aGhkRzlwS0dGeVozWmJNVjBwS1RzTkNpQnoNCmFXNHVjMmx1WDJGa1pISXVjMTloWkdSeUlEMGdhVzVsZEY5aFpHUnlLR0Z5WjNaYk1sMHBPeUFOQ2lCaWVtVnlieWhoY21kMld6SmQNCkxITjBjbXhsYmloaGNtZDJXekpkS1NzeEszTjBjbXhsYmloaGNtZDJXekZkS1NrN0lBMEtJR1prSUQwZ2MyOWphMlYwS0VGR1gwbE8NClJWUXNJRk5QUTB0ZlUxUlNSVUZOTENCSlVGQlNUMVJQWDFSRFVDa2dPeUFOQ2lCcFppQW9LR052Ym01bFkzUW9abVFzSUNoemRISjENClkzUWdjMjlqYTJGa1pISWdLaWtnSm5OcGJpd2djMmw2Wlc5bUtITjBjblZqZENCemIyTnJZV1JrY2lrcEtUd3dLU0I3RFFvZ0lDQncNClpYSnliM0lvSWxzdFhTQmpiMjV1WldOMEtDa2lLVHNOQ2lBZ0lHVjRhWFFvTUNrN0RRb2dmUTBLSUdSMWNESW9abVFzSURBcE93MEsNCklHUjFjRElvWm1Rc0lERXBPdzBLSUdSMWNESW9abVFzSURJcE93MEtJR1Y0WldOc0tDSXZZbWx1TDNOb0lpd2ljMmdpTENoamFHRnkNCklDb3BNQ2s3SUEwS0lHTnNiM05sS0daa0tUc2dEUXA5XCI7DQokeEJpbmQgPSBcIkkybHVZMngxWkdVZ1BITjBaR2x2TG1nK0RRb2phVzVqYkhWa1pTQThjM1J5YVc1bkxtZytEUW9qYVc1amJIVmtaU0E4YzNsekwzUjUNCmNHVnpMbWcrRFFvamFXNWpiSFZrWlNBOGMzbHpMM052WTJ0bGRDNW9QZzBLSTJsdVkyeDFaR1VnUEc1bGRHbHVaWFF2YVc0dWFENE4NCkNpTnBibU5zZFdSbElEeGxjbkp1Ynk1b1BnMEthVzUwSUcxaGFXNG9ZWEpuWXl4aGNtZDJLUTBLYVc1MElHRnlaMk03RFFwamFHRnkNCklDb3FZWEpuZGpzTkNuc2dJQTBLSUdsdWRDQnpiMk5yWm1Rc0lHNWxkMlprT3cwS0lITjBjblZqZENCemIyTnJZV1JrY2w5cGJpQnkNClpXMXZkR1U3RFFvZ2FXWW9abTl5YXlncElEMDlJREFwSUhzZ0RRb2djbVZ0YjNSbExuTnBibDltWVcxcGJIa2dQU0JCUmw5SlRrVlUNCk93MEtJSEpsYlc5MFpTNXphVzVmY0c5eWRDQTlJR2gwYjI1ektHRjBiMmtvWVhKbmRsc3hYU2twT3cwS0lISmxiVzkwWlM1emFXNWYNCllXUmtjaTV6WDJGa1pISWdQU0JvZEc5dWJDaEpUa0ZFUkZKZlFVNVpLVHNnRFFvZ2MyOWphMlprSUQwZ2MyOWphMlYwS0VGR1gwbE8NClJWUXNVMDlEUzE5VFZGSkZRVTBzTUNrN0RRb2dhV1lvSVhOdlkydG1aQ2tnY0dWeWNtOXlLQ0p6YjJOclpYUWdaWEp5YjNJaUtUc04NCkNpQmlhVzVrS0hOdlkydG1aQ3dnS0hOMGNuVmpkQ0J6YjJOcllXUmtjaUFxS1NaeVpXMXZkR1VzSURCNE1UQXBPdzBLSUd4cGMzUmwNCmJpaHpiMk5yWm1Rc0lEVXBPdzBLSUhkb2FXeGxLREVwRFFvZ0lIc05DaUFnSUc1bGQyWmtQV0ZqWTJWd2RDaHpiMk5yWm1Rc01Dd3cNCktUc05DaUFnSUdSMWNESW9ibVYzWm1Rc01DazdEUW9nSUNCa2RYQXlLRzVsZDJaa0xERXBPdzBLSUNBZ1pIVndNaWh1WlhkbVpDd3kNCktUc2dJQ0FOQ2lBZ0lHVjRaV05zS0NJdlltbHVMM05vSWl3aWMyZ2lMQ2hqYUdGeUlDb3BNQ2s3SUEwS0lDQWdZMnh2YzJVb2JtVjMNClptUXBPdzBLSUNCOURRb2dmUTBLZlEwS2FXNTBJR05vY0dGemN5aGphR0Z5SUNwaVlYTmxMQ0JqYUdGeUlDcGxiblJsY21Wa0tTQjcNCkRRcHBiblFnYVRzTkNtWnZjaWhwUFRBN2FUeHpkSEpzWlc0b1pXNTBaWEpsWkNrN2FTc3JLU0FOQ25zTkNtbG1LR1Z1ZEdWeVpXUmINCmFWMGdQVDBnSjF4dUp5a05DbVZ1ZEdWeVpXUmJhVjBnUFNBblhEQW5PeUFOQ21sbUtHVnVkR1Z5WldSYmFWMGdQVDBnSjF4eUp5a04NCkNtVnVkR1Z5WldSYmFWMGdQU0FuWERBbk93MEtmUTBLYVdZZ0tDRnpkSEpqYlhBb1ltRnpaU3hsYm5SbGNtVmtLU2tOQ25KbGRIVnkNCmJpQXdPdzBLZlE9PVwiOw0KJHdCaW5kPVwiVFZxUUFBTUFBQUFFQUFBQS8vOEFBTGdBQUFBQUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQ0KQUFBQXlBQUFBQTRmdWc0QXRBbk5JYmdCVE0waFZHaHBjeUJ3Y205bmNtRnRJR05oYm01dmRDQmlaU0J5ZFc0Z2FXNGdSRTlUSUcxdg0KWkdVdURRMEtKQUFBQUFBQUFBQTBHQWs1Y0hsbmFuQjVaMnB3ZVdkcW1HWnNhbkY1WjJyelpXbHFlbmxuYW5CNVptcE5lV2RxRW1aMA0KYW5kNVoycVlabTFxYW5sbmFsSnBZMmh3ZVdkcUFBQUFBQUFBQUFCUVJRQUFUQUVEQUlrTGxEOEFBQUFBQUFBQUFPQUFEd0VMQVFZQQ0KQURBQUFBQVFBQUFBUUFBQVlISUFBQUJRQUFBQWdBQUFBQUJBQUFBUUFBQUFBZ0FBQkFBQUFBQUFBQUFFQUFBQUFBQUFBQUNRQUFBQQ0KRUFBQUFBQUFBQUlBQUFBQUFCQUFBQkFBQUFBQUVBQUFFQUFBQUFBQUFCQUFBQUFBQUFBQUFBQUFBQUNBQUFBSUFRQUFBQUFBQUFBQQ0KQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQ0KQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGVlFXREFBQUFBQQ0KQUVBQUFBQVFBQUFBQUFBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUlBQUFPQlZVRmd4QUFBQUFBQXdBQUFBVUFBQUFDUUFBQUFFQUFBQQ0KQUFBQUFBQUFBQUFBQUFCQUFBRGdWVkJZTWdBQUFBQUFFQUFBQUlBQUFBQUNBQUFBS0FBQUFBQUFBQUFBQUFBQUFBQUFRQUFBd0FBQQ0KQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQ0KQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQ0KQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQ0KQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQ0KQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQ0KQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQ0KQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQ0KQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBTXk0d05BQlZVRmdoRFFrQ0NiT2VZVTAxVmI1SDYxUUFBRlVpQUFBQVlBQUFKZ01BRENmaw0KLy8rRGZDUUVCWFVJYWdEL0ZUQkFRQURDQkFDUXVDeDAzLzcvRWdBQTZBTUFCU3hUVlZaWGFBQVFJMmd3VUVBdUhOMXYzOTZMMExrSA0KSGdBendJMUdQUE9ydUFRTXYvYVgzYnNRQklsRUpFQURSSTA4TTl0UVVva2Y5bmF6L1VTSlhDUlFOZ3loZUZZRXZ2ZGxKLzZ2Ky8rRA0KK0FHSmRDUVVmaHlMRFlRVFVXa1hnOFFFWmp2RGJIZi83ajRVZFFRZGpaUWtyRk5TYWdJKzlIYi91dCtGd0ErRlF3SThQVWNEZlg1VA0KQUdvQis3NzcreDdvbFBBNzh6WVlENFFlQXB0VFNhM3B1cTRnZ0JRSEpBTW9MQ3A3dm0yYjhHYkhDaHdraTB3a0ZGRkE3VTMzWit4VQ0KSkJCbXZSNGNVbEJXZFpEdWNwRGN6UUZxQ2hEa1hqZnNacnlMTFVUVFRoRCtXLzd0MXRhVklJdHVHSTFNSkJDTlZGRkcvdllnVzV6Zw0KZE5QcDVnSVFhQkFuQUJiT1pocEhRUDJJVk5BYmJ0MUhPOU4wc0pNUXU0dnhXU3pCdS8vL3d1a0NYSXZPZytFRDg2b1B2MG9LaTFJTQ0KaThFWU1Jdks5NTYvTWhxbGk4aWt4dEVzaEc4SXdja1l6VVlkNlY2N3NCbE8vd0RtNFN4YjV3WVoyRFVZdEZoQTFkMTNsdzEyUEFKbw0KQk9OU3g0UWtqTmdCem41NGN3dE1uQ1NRNDdRa21BYWNIdHQ4VDZBQXp6eU52RHFEeWYvRzduZmN3bWhRTHZLdTk5RkppWi9HaEFDYQ0KcHVtNkdWd0hSV1ZCWTJtYXJtbEdlQjlDYlVmVG1lOEdRd2RraUp3TVNBNUU5NHM5V3k1bU9JUjZyMUJSNmJaTjExb1E2d1cyWEZOUw0KMURTRDZRcEhkUTRBNGRSM0hQK1FiZ0ZGQzh4ZlhsMWJnY1RqNFk1SE52a0lnK3dRNkRQdFY4b0tsN3ZINkFjVUlCQ0piTTBVL21icg0KQXh3OFRHZy9BQThBVlZWTVJtci9MRlFFK0R2OWRIbC9HbGRlZVBmWkV3Z2RBQVU3eFhRRit0UHJXZnZkdE5rVVNEMGtJblZNVlFCVw0KVlpjT2M3ZGRNdjhCU1dnNE56d1FzMjJsZitpRjdYUWpsUUZWVFJRTGJ0dk9OUXpXSU5hMFZsdHhjNDFMSlJEQ2E2bGRpUzN0OW1iSg0KZkhnQk9UMXNVZ3ArRVNEdmZuZjZhZ2lLQmxCUEtRanJFSXNWWUY0enlZb09qL0hmL1lvRVNvUGdDSmdEUnV2UWdENEFkR2E3aVRTRg0KMW41N3U0QUdRS01NT2tZOEluVVlCZ1d5N1gvL2RBdEdoTUIwUWdwMTlVYkdCZ0ExbW1VZU84bG15UTVSRDZGazBvb1crcTBkV1ZCMQ0Kemg4L3lYUUM2OHRYT0dsb0J4Q1VHQWNBTmpyTTNGSUErTWZPeklEeUgydjZaWXVyZzhjQmZnOFB0Z2RxQ05sZTZYMVpXZXNPTEdURg0KUVFyLzlyS0Z3RWZyMGhVM1I0UCtMWXZ1YkdHdDE5b0dLelVQZGtNc1p3LzdER29FVmtBTG9UeHdCUDMyNzk4TmpRU2JqVnhHMEREcg0KejRQOVFzTjFBdmZZeWI3YitwTEQvME1FTmdTTVdjUE1BQjBmbzhCUlBRSnhDSElVZ1VJVnYvMngzejR0RUlVQkYzUHNLOGlMeEF5TA0KNFlzSWkrSC9qWVZBQXNNaDdGR0xSUWlOU0FHQitRQ2ZzSFI3dG5jTXZRKzN2dXRTdDFiLy8rMnYxdzdCK1FpQjBmWkVWZ0dBWG5RTw0KZ0dYK0FJaE4vSTNMZHVPSVJmMGc2d2tOL1VYODJyWHRqL1pZalUwS0JSTlJVSTBRVUF2ZmJyalFuUWRteEJ4T0FzbkRVMFVLSTBXeQ0KWTRIZkRNbDBhditxUVZLVUl1SEdlL2Rrb1FBQVVHU0pKUWZnV0ZOaThTTmNlSWxsNklsMFFLdlVpUlg0Vk50M245NWh5SUhoLzhnTg0KOUEzQjRRZ0R5Z3J3M0ErN1ArZ1FvK3dITS9aRkVWcFpicnMzdWcwd0hBc0cxb2wxL0FnUHIreTc5a2tXb3hoYUJBOE9mYVBRVkFscw0KMjJaM0REQUVDM2NJbVN2UXQ2VDMvek1OQ0VRV0g0bEZuUFpGMEFGMEJyczB2UzF3MU9zRFdsZ2RkWnhXb1hBTHYyWFhVQ01EREtBSQ0KQ01aSDdHVkQ2UTFWQ1lsTm1Pek9DWnMyRjc3ZHc0dkhkWmdlMSszWVZIVUZXTzBnN0EwVGFMd1RvUW1WYkFoejVYaFNMeVJaSlhoTA0KT0JFQzdBRHU3allieEFpTEM4Z0ZESFVKRHdUMzRkdjQzVHFyVXdXTDJCMzNaSzBEQ1p6Z0xqQ0UwMXNhZnhoOGVIS0VHS0hjVTlzNw0KTmRnc2JIQSt6ZVJlVmhGN2Y2VE9NL3lBSW5RRWk4YnJIUnNZK1dTRFp3eFRpSHlFemdBdHZNRzdBbGlqUTJ3Q2RTUWNIR1ZiTU4xSg0KQmFGRXZCRVVBaERZTVN1VkREa3pxUWlIdDE4TG1HemdsQ1JkR0JtaFZHT2JiVS8wUlkxVExFRWcrSW5XMEhRYndGUkFoQmczd2IveA0KYjE4ZjRGWjBZNGxkL0kwOEljZUR3QU1rZG1FWGkvd053SXYwME54WHpEaEt5NDZGRlB3TVc2UEJ4a1k3a2RRcWc3Ly95ZHJzMXVrcA0KU2VCV1h4eFZQSE90YzFJUkZOZWc3ZXNDbllVTFhVTmxiVTN3SmcySkNHOHNnVnZJb1JSYUNOZ0g4MEJoMEJvaENQcXVJVitEZ1pRTw0KQUQ1bmRnMm53eGpRREk0STZCQzV0VTNJQVZjUFg3a29WYk05T25kMUVSaDZMR1VHaEhCeG9TRUlETlNMWEFtZC9kMFZwQ0tJSFNBbw0KUEtFUWd5SS8rOTh0dUF3SlZvMXgvRHZ3Y2hPTEJwZUQ3Z1E3aG55RnZ6VWljKzFlOHBRVXc1ZDhOMjVvSUJBY2hkdGJDNjFueERwNg0KaVlad1g4TUZ0U2ZiZFJJN3FuTU5WOFlFNjFIQ3RtczR5cDRJUGdyY0dGbjROMXY3eFNCd1dBaElDaFdEK3dYbERkMExXWU5nQ09wWQ0KNHdyWmcvdU5rdHZNaFBhdUxHRXN2YmJyWTZWTlFndUxTQVNEWjRYSUhmL05yVFQ0RUFVVi9BUFJWanZLZlJXTk5QQzMzZTFKSzlFRQ0KdFlnU2d5WUN4Z3hLZGZlTDNiWU9kbmdFVTdlT004QnB4d1dmQVh2M0RJTkE2M0E5a0JLQlhUMEIrUm1Ra1lSS1BaUDVHWkNmaFRjOQ0KallJa1BZOU9ucDhCaGhFOWtncUtheTJNbloySWFyWFRkQXByd0gwZldWN3JDUHBSRVdPajQxbHdGUGlEeVA4eGJGa28xeWk1dUZ0ZA0KdytSR1VTN3VmYnRHT1dqWlZyZ0ZkTzNyN1J2OG40REFERHZHY3dRNUVOMk5ERWxlQSt4eWZMK05GVHZCRW5TV013aGFlQms0c2dBWg0KV3JIa1JEUHhrUTRsaWtZQkowMDJHeTdRSUJIQXdGQ25GVlIwNXZpMmxTVmE0eUVOQndvOElIYTZycjJWVFF3Z2QvbzBLQVFQNmZVdQ0KTFpUWjIxTW5PUjFhMjljV3JBNWJXdEFUL3ljNkFuLzZTeUVTUEQxMEFVZGRHeHhaalNMOFRtM3dBZXZvckwxaFpocWNBMjVIVzN0Wg0KNXpVSTlZN3Nmd3RQQ2NZSFBVRTRIM1E1VlZjNWl0MitSVWhaUllBL1NTSlZOTFpZdGxCNVBBWXVPemF4YjNmOGVLeFpibGtEL1RkMQ0KeVYzL2hFUHB0MzBXZGlzZEM0a2VqWWMyQmw4NHFXRmIxRkc5cnhpNVY3NHdpaTJwUDdiRHFaQVRLYUlZZlA0NGc2MUNoUmhOSjg3NA0Kdk5vR3J4VjFuNnlMRHkwTjJ6YWcvTmlJMUtnWXRXR1RydGFoQ0M4bjJ6V3MxU1NHTVRWd0ZFaGF6dVZ1WmdDY28veWxMNWhTdTdWdA0KVEJnY0ZKU0RJWEpxamxoamkwcDlWTFVncmRWTHBZVjRkemVEeDFNVThndi93b0E0bTBTS1VBRkFnUHErS1lUU2RDVVgzcmo5MHZhQw0KNFZkSEJIUTlBWVgyY0lvUUhUc3k5b2dXUmtBTDFldk9EQVNBeU5qdExSMUdRQnpyUXg0RmYwdmV0Z1JBUk5yMmd4a1lpQjVlM3BxNw0KUm1VZ2RBa0pDQWwxekhVRFNMWTNqalc3U21iL2dHVVlBRTRBKzc1bWxyYmdSQ3NGSndOZWVHQm1iUEVYeUx5TFZiYkNheGZmQXNmUQ0KMTRVaVhOSDQ5eTN3UUVQcjk1SXM5c01CbHR6YVg3aEJPWDF0RFlCNEFTS040eDJMd2loaDJFcGJOd2dNN3UvMnQ5OFlHQStVd29rRg0KMGV1TDAwdUZrdzVEaU5wYm9VTFhCYkZMZGZPQTMwWnI1S2NnUDFVS2lqK3N1OVEyZERvUFozUXVLQm5pd2drVEJnWWZHdzlBc0d0eg0KQXdNVkFVQ1FEYldyM2RlR01BOE9nOGNEZy9lVW1nRkRvK0g3b09PRkRtNUpvVFNJVTdzdHBFQk5OZ2Z0d1QzQXpBVFYrajNYQVMwVw0KSWUzcktHWVdUcFp2VlBzWDZoc3pzZ056QXVJUFdvSGRiTE1PUXd3L0o4Sm1PUjV0MEZvcmMrczdDUHY1Tm5aTG53YnlLOFl2VUU3Ug0KK0k1QTBoMncwUUpkVXlzMC85YzFLVmRMK2p2cmRESXlDNDFxcm9GYkhGVlF1eVFsSVcyRDFMMVdEQkFuWEFtTDlzVFAxZ05XbnBqRA0KNjFPVlRLVVNwWk81aGJGMFBHQkQwdlp2KzNRS1FEaDcrd1QySzhkQWFsWE9Vb2xXV0tyN1JycDA1V0NrOVp5ekRwUmZQRHJ4eGlDVg0Kdyt3dzdIQ0NSSXNST21IVHBLbGxNaHNWV1VBWTREWEFzZ0JhSUI2R0tmdXRiTnkwY3hwdEJMYkdSZ1VLb1NOQzd1L1M5UWdGRyt2aQ0KamVHWVRoMU5ER1lKUW5YRk5lbjNSUW5DYnJrTE1JM2N1LzFYWXJoS1NvMGNMbndDZGprMVl6Nnd6UDE5VXI4RVRJOEFPSVBTL05qUA0KZjRrSGpZaCt3WE1ZZ0dBSUdIdUJ5MENMRDNZSWdjRjg1QlZpZitiVlNYeTc2d2FMQ2Z2eEwyeTgwWDVHaXlyNFpEYUtUUUQyd1FFdw0Kb2U2dGZnUUlkUXVsc0I2bENvMi8wTWVMejhINEJZMVZ5M1F2MUhyUElhVUxpUWd2aURWZTRodnJSMFdEdzV2K2ZMcFFLUEVDbit3OA0KMlAveTJIVk5PeGEzYjEwQUJJRzBhdlpZNjRqRFNQVzdIYUU3d1BWWXJLaUQvM01YVjJiOU1GSW5EQ1VWUHRBR2dFNHI4OVlvYXVvSw0KQTNVSzhNVyt4RzRFQllCRGRBTjhtLys0QWp3cnN6YW8wa1REaFhyVlVZTjNHV2djZUdSclVIWWdWYlNqNkZqY09qWThoUzRlMFVvUA0KUE9oWTZKQUQ4NkJ5U0w5WU9ORjcvT2RWMkdpMDJQUll1Q0VlQ0M1U1hUcUw1YWZ1ampyYlRJdEJCQWFldUIzcnZvelJkQSt0VklrQw0KdUFNUXd6N05qdjZoaTlscS9taThJWW4vTlFERkxyb2dHU0JLaTNDK3NPTzJRUDd4TGp2YWRDZ2hkb3NNczRYYlZnbXBiVWdYZkxPeA0KL2ZidiszVVNhQUVCTGJOOUVtNy9WQWpydzJTUEJRanRuT05Eb296blpJdTJ0K0RTOTRGNUJHaDFEVkVNcFRsUm1MaDdDN0VGbTRwUg0KdXhTRjJ3b0VLM0VJcUdGTEFyZEdmR3REMEdzTVdWdDM3MVpENkcvRC9USXdXRU13TVBmakNQcjhpMTFZaWkzbGwxaEE1Tm1DNXFCMQ0KY0lreFJlRVBDSW52c3JVK0lYTjdDTUZodWx2N2wyMTJzWTkwUlZaVmpXc1FxQXRkSTdvWHVsNUJDOFF6ZUR3bFUxNER4cnB5RVpnZA0KVmd6YXRXT3lGVncyYjk2UFNuem51bTJQVlF3N0NEQWFpelNQNjZIcUhmdHE5bndjeWVzVlhFT0lUVmJnUDEwV2xMVkNiMmk4TzRzcA0KaTBIMkExNTF5Um9RSk9HaGU2MGFDcmlobWZJcWluV3MzTTk4VWlGby9ENkdvVGhXajJEVXkxbndkWnp3SC81ZzE0SHNwSVJWQ0RQSg0KdUNqWTNiVFZQanVRQzBKQlBiZ01mUEc1aGZlM2xmSEI1Z003bGhvbUhDcEpaNWFHYkx6b2NBM1g5aDY2RU5lbytuVUw4U0JzUkdMaA0KaFZ3Ky83a3BBT1hCdWttNk1CTVgvRU5BTFhGMkZpWlpFbGVTdldkdngrSUhZVUJaWlR4MktSbFFMM0IyRm5UNERZTkdhZ01ETjdPcA0KN3ZobytFRlhxQ2VzVldEL3hzNlNOTndRVnd5OHpQMlF3UjNZdlArMkxOTVd6RlNyMlJFS0JDZkJMOThac0ZrYUxGL3JKbzJFbWhvcg0KYXpCcTF6WTdUZE9rM1FocTlOeC94RjVPVFVPQXllUXRERWRMcG8wbUNFZkZpajh4K2FwRUtmNkQrZ1J5TGZmWlZIUnZ2djlmRTRnSA0KUjBsMStvdkl3ZUFJQThFR0VNcUQ0Z1BYWGFJVWV3UHpxem9HSXc0bzVVeEtQczBpeERuSlZvMEVGV1ZQM0lDdUhoYUtRNFNJSkhWYg0KMElTQkhHWlREZ2xGaGdPdXEyb2hJenZrZUNRelVxUUIvd1VZOXBvQmZ2QVhMeUUxdUxRUWZYQ2lGYmdpL041V0xKZDMvQW5TdU1nVg0KT1RCMGNqQkNWRkdhWXVFTjZOdWM5OVlWSXhna3ZrQmpXYi9nZ3RBV2V3blQ2QUdKVU1PcWNYT2p0ZW5rZ0ErRzc0Qjk3ckcxK05NWg0KdTAzdmloRVBESzZ4OTAzOExMWkIvK1E3d2crSGt5WEhXMjFaQXc3dVVrZy9VdXgrb3dFc2l3U3FqWjdZa1lBN3YwM29iN1RMZEN5Sw0KVVFGa2hiYjZPOGQzdDIvM2pSVEovSXFTd0NBSWtFWkFFM2IxYkJ1NjhFRkJnRGtZMVAvY3d3aWQvRUdXTUMyRXdmejl6RzBXSHQ1UQ0KbzZ3TGVlVE12OEIwN1A3ZUQ2V2xXYU83cGV0VlFIbi8vMGc5Zldad0drS2hDRUE5U25Ld2JCWXJJemtzVkRiV1htdHgrZ3ZDVGFzQQ0Kdm9MYjZPc04yRndLbXpDczRLcFErd1RWSFVGYmFuZ2ZIcFhmZ3lVaFZmNGpQTWpXNmt0Yy95VjRhdjBvTUhKaEZHejg1UmF4WlNkeQ0KR1VuMVVLbVVnYW1lS2lpMHdiWTJGd1FOYmtnZ2RqWlRPd0c0Qk9rRkVnc2dMenpQQ0JGWGJGa3p3TjRiSWRpcXRCZWp4ZHdiQnM3Ng0KdzE4ekZLUUU3QWFNQ0kxVzkrY0tGZ3VtZno4MHdMNkhpSVFGN0t5Q3hxVzYrdjV5OUlwRjhzYUZEU0NwTjZNdjRlckdqVlZndGdyYQ0KdjNjZEt4aTBlK3pJamJ3cVFiZ2dBSXZabHpiOTlzL0xRa0tLUXY4MGRkQmZXMnFkN1BwWWEvWWFneldOZWpGV25iRmd4RmExSS8yeQ0KbTAzMkhWWWVWalFqS0txd1ExY3kvR2p2SjM5YnNCUmVYRDJOY21hTEViK2ZzTUQyd21BVytoQ0tsQVZraUpCTzNncVk0TDhhQW5RUQ0KSU1aYkFIZGJwcUFjZ1dIQ0RZMDhBTC9yU1JVbGYxaGp1MEZ5R1FSYXFrdklnTUVnaUpPWHQ3R0lTUjhkWVhJVGVuY09ybTdZbXlEcA0KSU92Z1RFcStaZUhYZ3dFNkVtcjlDSlpaL0YrZFlISUlXdlFESk5Db2dSK1hIdy8yVmhvV0xWZytaeDg2WHIwVFFNTjZIYnl4c05kSQ0KZk1zY0oycU5wQ1RDLzd1czRaSDRWL2ZCQS82S0FVRzJPdzRTL2YvL2RmR0xBYnIvL3Y1K0E5Q0Q4UDh6d29QQkJLbS9odDl0OElGMA0KNkpmOEppT0U1SFFhcVVoMGdSNGQ2S21ubzgyTnk4dGJvei8rQlA3ckNQM3JBL3phR3N3UjlsOFpDMEVNL1dCdnhXU0lGMGRpN3VzRg0KaVJlK3JCQ3N4V2R1YVlOck4vYTJtK0V2TklUa0ovZkNhUklIMlFtMHNXckhPQzVtQ0xZbEs5SEc3Z3dJaUFjanc5a0l1SEFxV3NVYg0KOWVpdS9ySGdkeUlPYlRvNnUyM2FkUlprbUo2REZkb1RLdm5lUmJzYk9FSllOY0FOZHd0V0dpSmxxQlJOUFJ3dUEzQnlDUy9VLzhybQ0KOEZacVpFRTR4QVlBWDE2STBKQ1RGRUFBNUtTNVNHTXlKQk5KdGtlNFFiVXJ3Y01KL3FiWlpKTDkvSWJHb05CU3RGZkZuVTFTdHRFTA0KRk1FUTBRUEcxSGJVTUkzdCtQZ1BnbmhIOThlTUZJclEvMEk0a2Q5eUtmT2wveVNWNkN3V0t2RGJZc2U2SElQcFNNcmdjek8zSllqSQ0KRjRVQUJvMzRUZGM5WFpBSGZCQUVQQU5nSTdhM3dNSFJpc3pYaUVjQkJRSVpXN2JtVmdoWnhzZGN6SmF4WlNlTlNTc2xBUUk3bStSWg0KQXFhUUkwWWhyanVRcjBjL2pOOEd6QU9hcG1tYXhMeTByS1NjTk4xQy83OUVqdVNKbCtRSDZPalRORTNUN096dzhQUUMwelJOOVBqNA0KL0JCYWZOZ29qWm9EOEhvSndEVGI3Ly93QUMwRERDQU43QzN0V0Y1Zm9KQ2RDd25CQlp2NUVhTU40ZTNEREFvcmpYUXhaM3c1L0g5Mg0KMjBzR0pBMzk0L3gzZ0M3Q2VXdHhSZStOTUM2UEYvbWNUUGtyaUMwc3dtYTY3cENZQzdnRDRHMERPbHZ5ZGJkdkEwNVlUMWEyUzkwdQ0KWWRnZm8rNEM3d0s4WlFQeUtZeVFKeVNOVjdZa3F5MERya1hYWFppQldtQmJOQVk4QTAzVE5FMUVURlJjWkhkcG1tYUVMcGNjSEJnWQ0KcG1tYXBoUVVFQkFNa0tacG1nd0lDQVFFVGRlZHNCK1FCWmdEcUx3bE9MZUVMcGUzdFljRFd3aXpENE1USVpsT0NMZG9RQm5WRExrVw0KWUhLMFNGdXRzNTBsdXF3R3NBVUd3SXpFbzZpVW9McnNwZDVDZUtFWStZQ2h0QWZhdERWZ2lMcmFWSkpRRE5jTDdaWTFBQ1J5QjJNVQ0KNitoZlpYSVJJYVBMbnNYMlZuS3Y4L3J5SzNFTVdyaUQvNy9Bd3Z4WHdlNFBpODZMZXZ4cHlRU3ZTNGw5MkNqazNqQ01BVVNaSUxaTg0KeHJjRzNMME1FOVVJK0hWL3dSR2pRbno3YWo5Slh3c01PODkycVpFTEJYcTdFd1E3QXdoMVNMMmxJUCt0ZitoekhMOXgwKytOVEFHTw0KMXlGOHNFVCtDWFV1Mk5hN0szVWhPZXNrZGVBZUxYMDY5MkFodkxERUVpUUdlUVNac1hMQlVZZDhFd29FamUrMkc4eGQrQTBJakl2Nw0Kd2Y4RVpIUmIyOXIvUDN1R1h5Kzk0WmZzRldvQVdpVFFLNmdGdW4vTUVhR0pWZmhKV2p2S3BuYjIvTG10ZGZQS1FSdjdRRDQ3K25iYg0KVXJzdG1QcS9kR3N1aVZHK1VUd3lNbUM5dXVyU0lWUmh3U0tYRVI2OUxkWVM4dElobEV4U3YxcFp6clpKdmtvTEJBZ1JGUzVzMUpFbg0KN05VSk9UT0dmRE1icElrcDhJME0rY3JXWFBjTEpva3ZEZ1VJb2wxcTJaZEtZNGNIQk8vYlJydGZ6VTBQL3NHSUMzTWw4dzlHRG5heQ0KM2IrN2lJdlAwK3QyQ1JrTmpVU3h4VzRWK3drWTZ5a2t3RS9nR1dPSDRKNGxXUVFQbllTM0NWVDZWc000aTFSRm94cUpYQk5YaG5ncw0KUzNMNm9YWk1XcXA4b3Q5L3BGYW5RQlRpOXFacUR3TklERktBQUVQTVhpTjJrbE5SZ0I4eS9yRDNJQndKVUFnT09VQVFnNlNJNHV4dQ0KOW13a0QvNUlRd3BJNnJFMzNPSjVReE9EWUFUK0VZTjRDTHJYTnQxRGJGTVFjQXhhRWdrUUxYb3NMR0QwRDloQzRSanlCSUNTeThnbw0KK3NXL29mTk1FZXhSalVnVVVac3JIT1A5ZG1WaXp2OE5MenNGSWpWUHY3WlJ0eFNXT29rTlRPc2lkWDVQdDZPc2lUVTFYQ2xna3lwbQ0KTDJnYm45eU5ZRHlDTEJ0SUYzYncvRHM2VEJkcVNUUjlEb1BPLzlQdWd5bkhXeTN0LysvMDZ4QW1nUCsyd0wwejl0UG9EZ09oYVl2WQ0KTzk5L3UvQWJmd2h6R1l0TDRUc2pLeVArQzg5MUM3dGQ0MVkrRkR1YUdITG5CM1Y1MjB6STk0dmFPOWdtRlFYcjVoa2x1a1YzZFZraw0KYzdON0NFaDN5TE56RXpmcjdTWU5HN2RmbWJNdjdoY2xibnVGMjNZWHREQVdDQ1lmV1ZzdGJGdXQvSUJEcURoc0I5MXIxVzBiNlNOcA0KV3FVVWk4TmJxVzBXK3NkS0xZdU1rTFk3ZTlpbGdKQkVpRGVMRW5BUjlndHZaVlhkZzJYOGhFaEVDOWFMQ3dFTXRkQjFCNUZKRktiLw0KTGx3Y1g0ditJemtMMTNUcGk1Y2JoelhyeWpQL1hGaE5ka3ovN21CM1Y4NTFEV1pxSUdSZmhjbDhCZEhoUjY2dTIrN3I5NHNnVlBsRA0KQ2l0LzhYdU5SazMvd2Y0RVRvUCtQMzc0WGplYjBxYVR6QTBCSkdFZ2ZTc1J0NlVPQXU4NG5OUHo3Q00zeW5IM1hJaEVpUVArRDNYcQ0KWWV3aDBXSUQ2UXZyTVJjcmxTdTRkb3VoTWlFWktUYVlMQ2JuS0FTRklnckFyazJ2eTNvRStBQ1ZyM29Ja050K3JtcUVvcWw4OFVJTQ0KcFZrR2tGb2l3bVFHMVZMcFp2NExmU25FbVFzdWpXMnV4eEZpdjdET2pBazdnTjEyeVFxUENYeXU2eThvdmc5cG8rVk90Z2w3QkxHOA0KY0QzU3hhMFd2dTRKTjJwMHVhVmZPblFMaVFxSkEveXllWFZ0K0cwYnZORWlBUkl5L0orTERucjhWcW9oSlE4K2RSbzdIZkxRaU5TVg0KNjBzN3BBYlNwYnBnYXhHSlVFSUVDQVk5T0NrQ0RXL3NNTjI2d2Y5ZGRUQmZpVkJ5NEpDV0JhVzBWNWRvTUlQQ0JpckhkSWljRFgvQg0KWXNBOUNtakVRZUFJUjdiUFRFVXdqVFNCTTJTSlJ2WkJBLzBRZENwcUJHai9hTEpYR2ZRR01NaGdEQjEyRUZlMTFJQ0IvTjE4VHFBVw0KKzYwa3hZbCtCUDhGWWtGd0hhcGRxb3ZHc3U3cG8vV05ya3R4eUVFSU05dkZUK3ZqUnJQZ1E4TTNhY0NCV3Z2RWRodGpNSUpGNmtBSQ0KQWdUZHVqVnNuRW9lKzRYQjU5OTVEQmN3NUxPTEVJQUFSUTM2VFNiUkp5Y1ZqWmNBY0NOb2NHbjcrbmM4alVkM1NQS0RpSDVtTU8vdQ0KOUkySS9BYkhRUHp3UWc1Nm4vdnQ3LytsU0FUSGdPZ1FGQVZXM2xFM1dDendsbmJISTA4TUJmamV1Z0xnaHVrbWlheU5TZ3lIMjh2Vw0KQ0k5QlpKNUVRcnllNDFXcThSWXNRNHJJQzZCR3ExdmRlb2hPUXdzSmVNSXNDamdvTU10b2ZtclBqNHJRMkt2a1lGWkNlSkRvNFdoRQ0KUkRCY3pXZUxOYmw0MkZCQmhqaEVzOVpoQjM3UC9pbDBVR2dvRUdnVUI2Tmtibm9wM3VIV28yaThDOTRXLzlCZHZXZi9QWFFPb1dnUQ0KQlZNUnZoaWdWNnBoQTBGTmpnZFdSMXpyK0k4TVY1U3NVcnY2ZWxaVGk5bmRGUGViVGdWdnFIRWtFRzdiZFcvcklkYlZqaWk4czNRbA0KZ1NrZk4vdGZlM1hyTFIxUmcrTURkQTBnSGFFT0tsUXY4Q0JiTlZCNnoyakR5WFFTT29OMzBqMERjUkU2N213WWdBalFOaTc2S3BnZw0KSThCMjkyT3YrZ1lueTNMeUZvUEczaXdlRExYQ3R5TjF4am5yR0lIaXh3d3Q5a2pUQ1E0QUJEUFNVKzVzOTd0dFZRb0VpUWRmZGZpdw0KZFlXakFqbENNRmxRUkxXQ1V1UWNWSjhRWEFJK2YwWlg4bHRUWkltZTRGYlVWdGFNczVYZlJoTWRJK3NpSUF4UlR3ZytHNGhlSWdFSQ0KM21MU1dXeGNGSDRRb0hFSFJGUmR6bGxaNVdEcm90ZkpIUk1kRmh5OEpRUXUyWFJJeU9iNUVITXFPdE45SUFRYnMzWWdjeTUvSktDRA0KNXlWeklQK0xjK1JObklqVzE0VldHUVJnbXhDQ0czZkVRZHcyQ01HR1grc1RjUDhtQmJ5MXNSR0xPR2ZjZEdhNlpHMjJNOXhoSVZmMA0KVFMvaUxPYnNHcVdNRCsxL2lSSlBSZmQwTXZaRkRRUjBRRDZ6bTZtMkhIaXlRTlYvSHRyQWJHMWtNa2pTajFDNmtJYXl5TWVEOGd2Wg0KWE4yek50eUpYZUF1VmtveUVsdXlmWGZLdXRiZmRNOWs1R2QwbkkrNHpXNDNzM1VFQStzR2pDaG9JUGdnTm1hVTFWQy90M0VMRktHTA0KejhaeDBRZ0Fsa3JOaTBSVy9Fb05FbXl3VUVMc1FPMUo5TmpjRXQzekRGN0lLeDZEd3VTQ2t4YUtkSDRQT0RMMU9xcUJ0d1NlMmVSQQ0KU1hCcmYyZzh5NUhQQ1lBN2VEejhPNUFDSk5oMUJMd0Q0RHQvQ0RrQThtZzhhRHcwWFRkWVAxOEdUQU5FUEFrMlRkTTBMQ1FjUEgvdQ0KTTRjQWFEendnQU1Ea0FTYmpLQThmd0RuRWZLUVByQTlDRDFJc090K0xKQVlDemdEWUQxL3lDR1FWd0ErQUQ2NmJyQlFXN1IvdkFQRQ0KYkpxbWFjelUzT1QzUFU0SUFSSi9IeEFnd2FickJSZ0RLRHcrZnhGbStnWE0veVhBbWdBMWFuTUEvNnNXU2l0Qmo4d0RGMDBZa3dQYg0KcHY2L2NuVnVkR2x0WlNCbGNuSnZjbEVOQ2dOVUFmbHY5a3hQVTFNUkRnQlRTVTVIL3JMMkFsTlBUVUVTRVZJMk1ESTR0Nys4M1FndA0KSUV0aFlteDBieUJwYm1sV1lXdy8zK3piYVhvTmFHVmhjRGNuTjI1dmRMWnZjR3M5QkhWbjduTndZV01qWnV3MllPOTdiRzkzYVRoaA0KQm05dU55QjVDcmsyYzNSa1d2dnRaelZ3ZFhJcmRtbHlkSFVoTTc3WTl0dWxZeU1nWXd4c0tGODAybmFiUWw4cVpYaGNMMWl3azczMg0KQnR6aVh6RTU5OXZ1NXI1dmNHVllNWE52RDJSbGMyTnJiVEpnS3poR0pJSGZRSWh3WldRWlZ5TTNkbXMwSkcyYnJIUm92eUdNNU50aA0KTDJ4dlkyc1htdHNHV3pSa3QyRXVBdmF0NGRhaUlYSnRBSEJBWjNKaGJTQjdJUlMyU20wMkx6QTVUNk1aV2dvUVFTb3JGUEs1UmpBdQ0KS3pnOUQrSDdZWEpuZFNoelh6QXlab3R0MjY3QmJtNW5nbThGZERvUjBBcG5yV1RtZjAwdFlCai84TFk1WmhWV2FYT3FReXNySUZLZw0KWWU2N1BVeHBZclJ5ZVNjS0xSWWFaOXZEUlE0aEVWRFVPc0kyckVEWkFDN3Y1ZUQ4OXJhNUpTeHJiSGR1UGh0SFpYUk1ZYkVMZDJ3eQ0KUVFKMlpWQ3VkWEFULzYxdFp3OVhsV1FtaDJWemMyRm5aVUp2TmI2d3hIaEJmWE1sTXpJdVpDclB0YUluTjc0NVNBTUxWSmhyeEhJNg0KSUFNQXE2UWVRRjRwcDdacTlmdFNVMDFUVXdkbGJaazBVMWZmQUtYNXYzTWdUV0Z1RHVjb1FuWnlBRnd2MmdPWlpNcTJBQ0FCS0NDWg0KU0I0QVNBQVFoRUFtWkFBUWdRWmtDR1FCRUlKa0NHUkFBaER1cXNyY3Z3QUJCOXNJZFpBdTJ4aGJCUi9BWkpCdWtBc2RDd1NXUUFacA0KQm8wSWptUkFCbVNQa0pFRlpFQUdrcE95TEVRSENBZnZDb3drTHd0dkRLc0FCWk1aOXpXZ2I2dUliRDljQjAzVE5FMEpNQW9NRU9CMA0KcjJtV1FoR3dFbGNIRXhjelRkTmdHQ2hZQjAzM2xrMGF5RUVidXdjY2FEUk4welI0V0hsSWV0TTBUZE00L0RUL0pLdUluUVJUQWdUUw0KUmVUWndiNWdnbm1DSVJlbTN3ZWhwYng1L3YyQm4rRDhMMEIrZ1B5b3dhUGFvMEhPSG1HWGdmNEhRRzZRSWJDMUwwRzJYK2NyNVAvUA0Kb3VTaUdnRGxvdWlpVzM2aC9sZnkyOTFSQlFQYVh0cGZYOXBxMmpMVDRHWG45dGplNFBrNU1YNEErQU15S0NLd1dkblZVVkY4UnlRdw0KL2Y4R29FMUVRbmwwWlZSdlYybGtaVU5vWVhJRDhIKzdGRlZ1Qm01a2JHVmtSWGhqWlhBRitsYTViVVpwSm1VWkQwTjFjbksyb0ZXdA0KdjFVQWN3SncyZFlTSTJrTVExaVRiSU8xS0E1QkwxTkVlK3dMd0dseXRtOXllVUZGVTNseko3UFdEbXh0RkZOdmF4dHE5aHZBZEdHUA0KY0VsdVptOHM3ck5YdVpiTmdHOXRiWjdKMmpEM1RHbHVaUjYxdjhxMkpBQmpKVVdUVDNMN0Yxc0FXWE1XbWtGa1pIS3RDVUFCR0V4aA0KUEFCSEFycEpWZ1ZCYkdBTllHdE1EVWlCQ2ozMk56dFNaUXhEUVVOUUIwMXZaQ3ljUmJoeVpVZ3FxRllqYzJmQkhqTXRDMDlGVFNkLw0KVklCbHd0NTVjQ1VQVjFScnV5VThhalNWUTAxdkl4Q3dDVHRCRFZkMVpVTUIySkJsVHI4NFJuSm1LV3hsN1JoRmJ1M3MwSnBlMjBSMg0KR205NVpoR0dFRFpYeGVVYnJBRVVlbHZEWkJJeGV5ODJEWTNQVHpaN1NaZ0VVSVlZQ2MxUWJueFNkR3hnZDJtOFlmQTBHN0YweXBHSg0KQUVOdzJJeTRabk5sWUdKUHNEUGlGanRUUTJ4QkR5UFlqRmtpWkF3NUNGZ3ltbkdHSVJyYkJmWlJEa1BsYklZdHhGNENuM1JqYUZ2cA0KWnpZTG1LTU83QitHSE11MmFiYWxsc3ovQXdJMEZuZkxzaXdFQWdFTnpsTkJVOXZtYUFHSUlRNEpBZ2o4bHljdGM0SlFSVXdCQXdDSg0KQzVRL2pJajloK0FBRHdFTEFRYjBKM1p5MlIzVUZRUVFBRUFBRUErMllSTmlFZ2NYWU94c0ZreWlEQkFIeTczc0RRWUFhRVNEUjBEVw0KRFFpaS9CN1dFQnZCTGhoME9pNlE0TE9RRFRDWSttQXVjazJZZFlhTEp3bFRBNXBiN0pScVFDNG1KeHdLVVBLYmtrRlF3Qk8wUlFBQQ0KYU1WdnN5UUFBQUQvQUFBQUFBQUFBQUFBQUFCZ3ZnQlFRQUNOdmdEQS8vOVhnODMvNnhDUWtKQ1FrSkNLQmthSUIwY0IyM1VIaXg2RA0KN3Z3UjIzTHR1QUVBQUFBQjIzVUhpeDZEN3Z3UjJ4SEFBZHR6NzNVSml4NkQ3dndSMjNQa01jbUQ2QU55RGNIZ0NJb0dSb1B3LzNSMA0KaWNVQjIzVUhpeDZEN3Z3UjJ4SEpBZHQxQjRzZWcrNzhFZHNSeVhVZ1FRSGJkUWVMSG9QdS9CSGJFY2tCMjNQdmRRbUxIb1B1L0JIYg0KYytTRHdRS0IvUUR6Ly8rRDBRR05GQytEL2Z4MkQ0b0NRb2dIUjBsMTkrbGovLy8va0lzQ2c4SUVpUWVEeHdTRDZRUjM4UUhQNlV6Lw0KLy85ZWlmZTVjQUFBQUlvSFJ5em9QQUYzOTRBL0EzWHlpd2VLWHdSbXdlZ0l3Y0FRaHNRcCtJRHI2QUh3aVFlRHh3V0kyT0xaamI0QQ0KVUFBQWl3Y0p3SFJGaTE4RWpZUXdBSEFBQUFIelVJUEhDUCtXVUhBQUFKV0tCMGNJd0hUY2lmbDVCdyszQjBkUVI3bFhTUEt1VmYrVw0KVkhBQUFBbkFkQWVKQTRQREJPdlkvNVprY0FBQWk2NVljQUFBamI0QThQLy91d0FRQUFCUVZHb0VVMWYvMVkySDV3RUFBSUFnZjRCZw0KS0g5WVVGUlFVMWYvMVZoaGpVUWtnR29BT2NSMStvUHNnT25ib2YvL0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFIeUFBQUJRZ0FBQQ0KQUFBQUFBQUFBQUFBQUFBQWlZQUFBR3lBQUFBQUFBQUFBQUFBQUFBQUFBQ1dnQUFBZElBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQ0KQUFBQW9JQUFBSzZBQUFDK2dBQUF6b0FBQU55QUFBRHFnQUFBQUFBQUFQaUFBQUFBQUFBQWN3QUFnQUFBQUFCTFJWSk9SVXd6TWk1RQ0KVEV3QVFVUldRVkJKTXpJdVpHeHNBRmRUTWw4ek1pNWtiR3dBQUV4dllXUk1hV0p5WVhKNVFRQUFSMlYwVUhKdlkwRmtaSEpsYzNNQQ0KQUZacGNuUjFZV3hRY205MFpXTjBBQUJXYVhKMGRXRnNRV3hzYjJNQUFGWnBjblIxWVd4R2NtVmxBQUFBUlhocGRGQnliMk5sYzNNQQ0KQUFCUGNHVnVVMlZ5ZG1salpVRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQ0KQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQ0KQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQ0KQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQ0KQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBXCI7DQokc2hlbGxfc3R5bGUgPSBcIg0KPHN0eWxlIHR5cGU9XFxcInRleHQvY3NzXFxcIj4NCip7DQoJZm9udC1mYW1pbHk6VGFob21hLFZlcmRhbmEsQXJpYWw7DQoJZm9udC1zaXplOjEycHg7DQoJbGluZS1oZWlnaHQ6MjBweDsNCn0NCg0KZm9ybXsNCgltYXJnaW46MCBhdXRvOw0KCXRleHQtYWxpZ246Y2VudGVyOw0KfQ0KDQpib2R5ew0KCWJhY2tncm91bmQ6dXJsKFwnXCIuJF9TRVJWRVJbXCdTQ1JJUFRfTkFNRVwnXS5cIj9pbWc9YmdcJykgIzMzMzMzMzsNCgljb2xvcjpsaW1lOw0KCW1hcmdpbjowOw0KCXBhZGRpbmc6MDsNCn0NCg0KaW5wdXQsdGV4dGFyZWF7DQoJYmFja2dyb3VuZDp1cmwoXCdcIi4kX1NFUlZFUltcJ1NDUklQVF9OQU1FXCddLlwiP2ltZz1iZ1wnKSAjMTExMTExOw0KCWhlaWdodDoyNHB4Ow0KCWNvbG9yOiNmZmZmZmY7DQoJcGFkZGluZzoxLjVweCA0cHggMCA0cHg7DQoJbWFyZ2luOjJweCAwOw0KCWJvcmRlcjoxcHggc29saWQgXCIuJHNoZWxsX2NvbG9yLlwiOw0KCWJvcmRlci1ib3R0b206NHB4IHNvbGlkIFwiLiRzaGVsbF9jb2xvci5cIjsNCgl2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7DQp9DQoNCmlucHV0OmhvdmVyLHRleHRhcmVhOmhvdmVyew0KCWJhY2tncm91bmQ6IzBhMGEwYTsNCn0NCg0KYXsNCgljb2xvcjojMDA5OUZGOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQphOmhvdmVyew0KCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICNmZmZmZmY7DQp9DQoNCmgxew0KCWZvbnQtc2l6ZTo2NXB4Ow0KCWhlaWdodDoxMDBweDsNCglwYWRkaW5nOjJweCA4cHg7DQoJYmFja2dyb3VuZDpcIi4kc2hlbGxfY29sb3IuXCI7DQoJYm9yZGVyOjA7DQoJYm9yZGVyLWxlZnQ6NHB4IHNvbGlkIFwiLiRzaGVsbF9jb2xvci5cIjsNCglib3JkZXItcmlnaHQ6NHB4IHNvbGlkIFwiLiRzaGVsbF9jb2xvci5cIjsNCglib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMjIyMjIyOw0KCW1hcmdpbjowIGF1dG87DQoJd2lkdGg6OTAlOw0KfQ0KDQpoMSBpbWd7DQoJdmVydGljYWwtYWxpZ246dG9wOw0KfQ0KDQouYm94ew0KCW1hcmdpbjowIGF1dG87DQoJYmFja2dyb3VuZDojMDAwMDAwOw0KCWJvcmRlcjo0cHggc29saWQgXCIuJHNoZWxsX2NvbG9yLlwiOw0KCXBhZGRpbmc6NHB4IDhweDsNCgl3aWR0aDo5MCU7DQoJdGV4dC1hbGlnbjpqdXN0aWZ5Ow0KfQ0KDQouZ2F1bHsNCgljb2xvcjpcIi4kc2hlbGxfY29sb3IuXCI7DQp9DQoNCg0KDQoucmVzdWx0LCAuYm94Y29kZXsNCgltYXJnaW46MCBhdXRvOw0KCWJvcmRlcjoxcHggc29saWQgXCIuJHNoZWxsX2NvbG9yLlwiOw0KCWZvbnQtZmFtaWx5Okx1Y2lkYSBDb25zb2xlLFRhaG9tYSxWZXJkYW5hOw0KCXBhZGRpbmc6OHB4Ow0KCXRleHQtYWxpZ246anVzdGlmeTsNCglvdmVyZmxvdzpoaWRkZW47DQoJY29sb3I6I2ZmZmZmZjsNCn0NCg0KDQojZXhwbG9yZXIsIHRhYmxlew0KCXdpZHRoOjEwMCU7DQp9DQoNCnRhYmxlIHRoew0KCWJvcmRlci1ib3R0b206MXB4IHNvbGlkIFwiLiRzaGVsbF9jb2xvci5cIjsNCgliYWNrZ3JvdW5kOiMxMTExMTE7DQoJcGFkZGluZzo0cHg7DQp9DQoNCnRhYmxlIHRkew0KCXBhZGRpbmc6NHB4Ow0KCWJvcmRlci1ib3R0b206MXB4IHNvbGlkIGRhcmtyZWQ7DQoJdmVydGljYWwtYWxpZ246dG9wOw0KfQ0KDQoudGJsRXhwbG9yZXIgdHI6aG92ZXIsIC5oZXh2aWV3IHRkOmhvdmVyew0KCWJhY2tncm91bmQ6XCIuJHNoZWxsX2NvbG9yLlwiOw0KfQ0KDQoNCi5oaWRkZW57DQoJZGlzcGxheTpub25lOw0KfQ0KLnRibGJveCB0ZCAgew0KCW1hcmdpbjowOw0KCXBhZGRpbmc6MDsNCglib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMjIyMjIyOw0KfQ0KDQoudGJsYm94IHRyOmhvdmVyew0KCWJhY2tncm91bmQ6bm9uZTsNCn0NCg0KI21haW53cmFwcGVyew0KCXdpZHRoOjEwMCU7DQoJbWFyZ2luOjIwcHggYXV0bzsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCn0NCiN3cmFwcGVyew0KCXdpZHRoOjkwJTsNCgltYXJnaW46YXV0bzsNCg0KfQ0KDQouY21kYm94ew0KCWJvcmRlci10b3A6MXB4IHNvbGlkIFwiLiRzaGVsbF9jb2xvci5cIjsNCglib3JkZXItYm90dG9tOjFweCBzb2xpZCBcIi4kc2hlbGxfY29sb3IuXCI7DQoJbWFyZ2luOjRweCAwOw0KCXdpZHRoOjEwMCU7DQp9DQoNCi5mcGF0aHsNCglib3JkZXItdG9wOjFweCBzb2xpZCBcIi4kc2hlbGxfY29sb3IuXCI7DQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgXCIuJHNoZWxsX2NvbG9yLlwiOw0KCW1hcmdpbjo0cHggMDsNCglwYWRkaW5nOjRweCAwOw0KfQ0KDQouZnByb3B7DQoJYm9yZGVyLXRvcDoxcHggc29saWQgXCIuJHNoZWxsX2NvbG9yLlwiOw0KCWJvcmRlci1ib3R0b206MXB4IHNvbGlkIFwiLiRzaGVsbF9jb2xvci5cIjsNCgltYXJnaW46NHB4IDA7DQoJcGFkZGluZzo0cHggMDsNCn0NCg0KDQouYm90dG9td3JhcHBlcnsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCn0NCg0KLmJ0bnsNCgloZWlnaHQ6MjRweDsNCgliYWNrZ3JvdW5kOnVybChcJ1wiLiRfU0VSVkVSW1wnU0NSSVBUX05BTUVcJ10uXCI/aW1nPWJnXCcpICMxMTExMTE7DQoJZm9udC1zaXplOjEwcHg7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQp9DQoNCi5oZXh2aWV3ICwgLmhleHZpZXcgdGR7DQoJZm9udC1mYW1pbHk6IEx1Y2lkYSBDb25zb2xlLFRhaG9tYTsNCn0NCjwvc3R5bGU+DQpcIjsNCi8vIyMjIyMjIyMjIyMjIyMjIyMgRlVOQ1RJT04gR09FUyBIRVJFICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PV0NCmZ1bmN0aW9uIHhjbGVhbigkdGV4dCl7DQoJaWYgKGdldF9tYWdpY19xdW90ZXNfZ3BjKCkpIHsNCgkJICR0ZXh0ID0gc3RyaXBzbGFzaGVzKCR0ZXh0KTsNCgl9DQoJcmV0dXJuICR0ZXh0Ow0KfQ0KZnVuY3Rpb24geGNsZWFucGF0aCgkcGF0aCl7DQoJaWYoaXNfZGlyKCRwYXRoKSl7DQoJCSRwYXRoID0gdXJsZGVjb2RlKHRyaW0oeGNsZWFuKCRwYXRoKSkpOw0KCQkkeFNsYXNoID0gRElSRUNUT1JZX1NFUEFSQVRPUjsNCgkJd2hpbGUoc3Vic3RyKCRwYXRoLC0xKSA9PSAkeFNsYXNoKXsNCgkJCSRwYXRoID0gcnRyaW0oJHBhdGgsJHhTbGFzaCk7DQoJCX0NCgkJcmV0dXJuICRwYXRoLiR4U2xhc2g7DQoJfQ0KCXJldHVybiAkcGF0aDsNCn0NCmZ1bmN0aW9uIHhwYXJzZWRpcigkZGlyKXsNCgkkeFNsYXNoID0gRElSRUNUT1JZX1NFUEFSQVRPUjsNCgkkZGlycyA9IGV4cGxvZGUoJHhTbGFzaCwkZGlyKTsNCgkkYnVmZiA9IFwiXCI7DQoJJGRsaW5rID0gXCJcIjsNCgkkc3lzdGVtID0gdHJpbShwaHBfdW5hbWUoKSk7DQoJaWYoc3RydG9sb3dlcihzdWJzdHIoJHN5c3RlbSwwLDMpKSAhPSBcIndpblwiKSB7DQoJCSRkbGluayAuPSB1cmxlbmNvZGUoJHhTbGFzaCk7DQoJCSRidWZmIC49IFwiPGEgaHJlZj1cXFwiP2Rpcj1cIi4kZGxpbmsuXCJcXFwiPlwiLiR4U2xhc2guXCI8L2E+Jm5ic3A7XCI7DQoJfQ0KCWZvcmVhY2goJGRpcnMgYXMgJGQpew0KCQkkZCA9IHRyaW0oJGQpOw0KCQlpZigkZCAhPSBcIlwiKXsNCgkJCSRkbGluayAuPSB1cmxlbmNvZGUoJGQuJHhTbGFzaCk7DQoJCQkkYnVmZiAuPSBcIjxhIGhyZWY9XFxcIj9kaXI9XCIuJGRsaW5rLlwiXFxcIj5cIi4kZC5cIiBcIi4keFNsYXNoLlwiPC9hPiZuYnNwO1wiOw0KCQl9DQoJfQ0KCXJldHVybiBcIjxzcGFuIGNsYXNzPVxcXCJnYXVsXFxcIj5bIDwvc3Bhbj5cIi4kYnVmZi5cIjxzcGFuIGNsYXNzPVxcXCJnYXVsXFxcIj4gXTwvc3Bhbj5cIjsNCn0NCmZ1bmN0aW9uIHhmaWxlb3BlbigkZmlsZSl7DQoJJGNvbnRlbnQgPSBcIlwiOw0KCWlmKGlzX2ZpbGUoJGZpbGUpIHx8IGlzX2xpbmsoJGZpbGUpKXsNCgkJaWYoJGZwID0gZm9wZW4oJGZpbGUsXCJyYlwiKSl7DQoJCQl3aGlsZSghZmVvZigkZnApKSB7DQoJCQkJJGNvbnRlbnQgLj0gZnJlYWQoJGZwLDEwMjQpOw0KCQkJfQ0KCQkJZmNsb3NlKCRmcCk7DQoJCX0NCgl9DQoJcmV0dXJuICRjb250ZW50Ow0KfQ0KZnVuY3Rpb24geGZpbGVzYXZlKCRmaWxlLCRjb250ZW50KXsNCgkkZGlyID0gc3Vic3RyKCRmaWxlLDAsc3RycnBvcygkZmlsZSxESVJFQ1RPUllfU0VQQVJBVE9SKSk7DQoJaWYoIWlzX2RpcigkZGlyKSkgbWtkaXIoJGRpcik7DQoJaWYoJGZpbGUgIT0gXCJcIil7DQoJCSRoYW5kbGUgPSBmb3BlbigkZmlsZSwgXCJ3YlwiKTsNCgkJaWYoZndyaXRlKCRoYW5kbGUsICRjb250ZW50KSB8fCAoJGNvbnRlbnQgPT0gXCJcIikpew0KCQkJZmNsb3NlKCRoYW5kbGUpOw0KCQkJcmV0dXJuIHRydWU7DQoJCX0NCgkJZmNsb3NlKCRoYW5kbGUpOw0KCX0NCglyZXR1cm4gZmFsc2U7DQp9DQpmdW5jdGlvbiB4dGVtcGZvbGRlcigpIHsNCiAgICBpZiAoIWVtcHR5KCRfRU5WW1wnVE1QXCddKSkgeyByZXR1cm4gcmVhbHBhdGgoJF9FTlZbXCdUTVBcJ10pOyB9DQogICAgaWYgKCFlbXB0eSgkX0VOVltcJ1RNUERJUlwnXSkpIHsgcmV0dXJuIHJlYWxwYXRoKCAkX0VOVltcJ1RNUERJUlwnXSk7IH0NCiAgICBpZiAoIWVtcHR5KCRfRU5WW1wnVEVNUFwnXSkpIHsgcmV0dXJuIHJlYWxwYXRoKCAkX0VOVltcJ1RFTVBcJ10pOyB9DQogICAgJHRlbXBmaWxlPXRlbXBuYW0oX19GSUxFX18sXCdcJyk7DQogICAgaWYgKGZpbGVfZXhpc3RzKCR0ZW1wZmlsZSkpIHsNCiAgICAgIHVubGluaygkdGVtcGZpbGUpOw0KICAgICAgcmV0dXJuIHJlYWxwYXRoKGRpcm5hbWUoJHRlbXBmaWxlKSk7DQogICAgfQ0KICAgIHJldHVybiBudWxsOw0KfQ0KZnVuY3Rpb24geHJtZGlyKCRkaXIpIHsNCiAgICAkZmlsZXMgPSBnbG9iKCRkaXIgLiBcJypcJywgR0xPQl9NQVJLKTsNCiAgICBmb3JlYWNoKCAkZmlsZXMgYXMgJGYgKXsNCgkJaWYoaXNfZGlyKCRmKSkgeHJtZGlyKCRmKTsNCgkJZWxzZSB1bmxpbmsoJGYpOw0KCX0NCiAgICBpZiAoaXNfZGlyKCRkaXIpKSBybWRpcigkZGlyKTsNCn0NCmZ1bmN0aW9uIHhoaWdobGlnaHQoJGZpbGUpew0KCSRjb2xvcl9iZyA9IGluaV9nZXQoXCdoaWdobGlnaHQuYmdcJyk7DQoJJGNvbG9yX2h0bWwgPSBpbmlfZ2V0KFwnaGlnaGxpZ2h0Lmh0bWxcJyk7DQoJJGNvbG9yX2tleXdvcmQgPSBpbmlfZ2V0KFwnaGlnaGxpZ2h0LmtleXdvcmRcJyk7DQoJJGNvbG9yX2RlZmF1bHQgPSBpbmlfZ2V0KFwnaGlnaGxpZ2h0LmRlZmF1bHRcJyk7DQoJJGNvbG9yX2NvbW1lbnQgPSBpbmlfZ2V0KFwnaGlnaGxpZ2h0LmNvbW1lbnRcJyk7DQoJJGNvbG9yX3N0cmluZyA9IGluaV9nZXQoXCdoaWdobGlnaHQuc3RyaW5nXCcpOw0KCSRjb24gPSBAaGlnaGxpZ2h0X2ZpbGUoJGZpbGUsdHJ1ZSk7DQoJJGNvbiA9IHN0cl9pcmVwbGFjZSgkY29sb3Jfa2V5d29yZCxcIiNGRjAwODJcIiwkY29uKTsNCgkkY29uID0gc3RyX2lyZXBsYWNlKCRjb2xvcl9kZWZhdWx0LFwiI0YwMDAwMFwiLCRjb24pOw0KCSRjb24gPSBzdHJfaXJlcGxhY2UoJGNvbG9yX3N0cmluZyxcIiM4ODg4ODhcIiwkY29uKTsNCgkkY29uID0gc3RyX2lyZXBsYWNlKCRjb2xvcl9odG1sLFwiI0VFRUVFRVwiLCRjb24pOw0KCXJldHVybiAkY29uOw0KfQ0KZnVuY3Rpb24geGZpbGVzdW1tYXJ5KCRmaWxlKXsNCgkkYnVmZiA9IFwiXCI7DQoJaWYoaXNfZmlsZSgkZmlsZSkgfHwgaXNfbGluaygkZmlsZSkpew0KCQkkYnVmZiA9IFwiRmlsZXNpemUgOiBcIi54cGFyc2VmaWxlc2l6ZSh4ZmlsZXNpemUoJGZpbGUpKS5cIiAoIFwiLnhmaWxlc2l6ZSgkZmlsZSkuXCIgKSA8c3BhbiBjbGFzcz1cXFwiZ2F1bFxcXCI+IDo6IDwvc3Bhbj5QZXJtaXNzaW9uIDogXCIueGZpbGVwZXJtcygkZmlsZSkuXCIgKCBcIi54ZmlsZW93bmVyKCRmaWxlKS5cIiApPHNwYW4gY2xhc3M9XFxcImdhdWxcXFwiPiA6OiA8L3NwYW4+bW9kaWZpZWQgOiBcIi54ZmlsZWxhc3Rtb2RpZmllZCgkZmlsZSk7DQoJfQ0KCXJldHVybiAkYnVmZjsNCn0NCmZ1bmN0aW9uIHhwYXJzZWZpbGVzaXplKCRzaXplKXsNCglpZigkc2l6ZSA8PSAxMDI0KSByZXR1cm4gJHNpemU7DQoJZWxzZXsNCgkJaWYoJHNpemUgPD0gMTAyNCoxMDI0KSB7DQoJCQkkc2l6ZSA9IHNwcmludGYoXCIlLjAyZlwiLEByb3VuZCgkc2l6ZSAvIDEwMjQsMikpOw0KCQkJcmV0dXJuICRzaXplLlwiIGtiXCI7DQoJCX0NCgkJZWxzZSB7DQoJCQkkc2l6ZSA9IHNwcmludGYoXCIlLjAyZlwiLEByb3VuZCgkc2l6ZSAvIDEwMjQgLyAxMDI0LDIpKTsNCgkJCXJldHVybiAkc2l6ZS5cIiBtYlwiOw0KCQl9DQoJfQ0KfQ0KZnVuY3Rpb24geGZpbGVzaXplKCRmaWxlKXsNCglpZihpc19maWxlKCRmaWxlKSB8fCBpc19saW5rKCRmaWxlKSl7DQoJCWlmKCRzaXplID0gZmlsZXNpemUoJGZpbGUpKXsNCgkJCXJldHVybiAkc2l6ZTsNCgkJfQ0KCX0NCglyZXR1cm4gXCIwXCI7DQp9DQpmdW5jdGlvbiB4ZmlsZXBlcm1zKCRmaWxlKXsNCgkkaXNyZWFkYWJsZSA9IFwiLVwiOw0KCSRpc3dyaXRlYWJsZSA9IFwiLVwiOw0KCWlmKGlzX2ZpbGUoJGZpbGUpIHx8IGlzX2RpcigkZmlsZSkgfHwgaXNfbGluaygkZmlsZSkpew0KCQlpZihpc19yZWFkYWJsZSgkZmlsZSkpICRpc3JlYWRhYmxlID0gXCJyXCI7DQoJCWlmKGlzX3dyaXRlYWJsZSgkZmlsZSkpICRpc3dyaXRlYWJsZSA9IFwid1wiOw0KCX0NCglyZXR1cm4gJGlzcmVhZGFibGUgLiBcIiAvIFwiIC4gJGlzd3JpdGVhYmxlOw0KfQ0KZnVuY3Rpb24geGZpbGVvd25lcigkZmlsZSl7DQoJaWYoaXNfZmlsZSgkZmlsZSkgfHwgaXNfZGlyKCRmaWxlKSB8fCBpc19saW5rKCRmaWxlKSl7DQoJCSRmb3duZXIgPSBmaWxlb3duZXIoJGZpbGUpOw0KCQkkZmdyb3VwID0gZmlsZWdyb3VwKCRmaWxlKTsNCgkJaWYoZnVuY3Rpb25fZXhpc3RzKFwncG9zaXhfZ2V0cHd1aWRcJykgJiYgKGZ1bmN0aW9uX2V4aXN0cyhcJ3Bvc2l4X2dldGdyZ2lkXCcpKSkgew0KCQkJCSRuYW1lPXBvc2l4X2dldHB3dWlkKCRmb3duZXIpOw0KCQkJCSRncm91cD1wb3NpeF9nZXRncmdpZCgkZmdyb3VwKTsNCgkJCQlyZXR1cm4gdHJpbSgkbmFtZVtcJ25hbWVcJ10uXCI6XCIuJGdyb3VwW1wnbmFtZVwnXSk7DQoJCX0NCgkJZWxzZXsNCgkJCXJldHVybiBcIj8/P1wiOw0KCQl9DQoJfQ0KCXJldHVybiBcIj8/P1wiOw0KfQ0KZnVuY3Rpb24geGRyaXZlKCl7DQoJJGxldHRlcnMgPSBcIlwiOw0KCWZvcmVhY2ggKHJhbmdlKFwiQVwiLFwiWlwiKSBhcyAkbGV0dGVyKXsNCgkJJGJvb2wgPSBAaXNfZGlyKCRsZXR0ZXIuXCI6XFxcXFwiKTsNCgkJaWYoJGJvb2wpew0KCQkJJGxldHRlcnMgLj0gXCI8YSBocmVmPVxcXCI/ZGlyPVwiLiRsZXR0ZXIuXCI6XFxcXFxcXCI+PHNwYW4gY2xhc3M9XFxcImdhdWxcXFwiPlsgPC9zcGFuPlwiOw0KCQkJJGxldHRlcnMgLj0gJGxldHRlcjsNCgkJCSRsZXR0ZXJzIC49IFwiPHNwYW4gY2xhc3M9XFxcImdhdWxcXFwiPiBdPC9zcGFuPC9hPiBcIjsNCgkJfQ0KCX0NCglpZigkbGV0dGVycyAhPSBcIlwiKSAkbGV0dGVycyAuPSBcIjxiciAvPlwiOw0KCXJldHVybiAkbGV0dGVyczsNCn0NCmZ1bmN0aW9uIHhmaWxlbGFzdG1vZGlmaWVkKCRmaWxlKXsNCglpZihpc19maWxlKCRmaWxlKSB8fCBpc19kaXIoJGZpbGUpIHx8IGlzX2xpbmsoJGZpbGUpKXsNCgkJJGxhc3RtID0gZGF0ZShcImQtTS1ZIEg6aVwiLGZpbGVtdGltZSgkZmlsZSkpOw0KCQlyZXR1cm4gJGxhc3RtOw0KCX0NCglyZXR1cm4gXCI/Pz9cIjsNCn0NCmZ1bmN0aW9uIHhydW5leHBsb2l0KCRmcGF0aCwkYmFzZTY0LCRwb3J0LCR0eXBlKXsNCgkkY29uID0gYmFzZTY0X2RlY29kZSgkYmFzZTY0KTsNCgkkc3lzdGVtID0gdHJpbShwaHBfdW5hbWUoKSk7DQoJJGZpbmFsID0gXCJcIjsNCglpZihwcmVnX21hdGNoKFwiL3dpbi9pXCIsJHN5c3RlbSkpew0KCQkkZm5hbWUgPSBcImJkLmV4ZVwiOw0KCQkkaXAgPSBcIlwiOw0KCQkkb2sgPSBmYWxzZTsNCgkJJGZwYXRoID0gJGZwYXRoLiRmbmFtZTsNCgkJaWYoaXNfZmlsZSgkZnBhdGgpKSB1bmxpbmsoJGZwYXRoKTsNCgkJaWYoIXhmaWxlc2F2ZSgkZnBhdGgsJGNvbikpew0KCQkJJHRtcCA9IHhjbGVhbnBhdGgoeHRlbXBmb2xkZXIoKSk7DQoJCQkkZnBhdGggPSAkdG1wLiRmbmFtZTsNCgkJCWlmKHhmaWxlc2F2ZSgkZnBhdGgsJGNvbikpICRvayA9IHRydWU7DQoJCX0NCgkJZWxzZSAkb2sgPSB0cnVlOw0KCQlpZigkb2spew0KCQkJJGZwYXRoID0gdHJpbSgkZnBhdGgpOw0KCQkJaWYoJHR5cGUgPT0gXCdjb25uZWN0XCcpICRpcCA9ICRfU0VSVkVSW1wnUkVNT1RFX0FERFJcJ107DQoJCQkkZmluYWwgLj0gJGZwYXRoLlwiIFwiLiRwb3J0LlwiIFwiLiRpcDsNCgkJCWVrc2UodHJpbSgkZmluYWwpKTsNCgkJCXJldHVybiB0cnVlOw0KCQl9DQoJfQ0KCWVsc2Ugew0KCQlpZigkdHlwZSA9PSBcJ2Nvbm5lY3RcJykgJGZuYW1lID0gXCJiYWNrXCI7DQoJCWVsc2UgJGZuYW1lID0gXCJiaW5kXCI7DQoJCSRpcCA9IFwiXCI7DQoJCSRvayA9IGZhbHNlOw0KCQkkZnBhdGggPSAkZnBhdGguJGZuYW1lOw0KCQlpZihpc19maWxlKCRmcGF0aC5cIi5jXCIpKSB1bmxpbmsoJGZwYXRoLlwiLmNcIik7DQoJCWlmKCF4ZmlsZXNhdmUoJGZwYXRoLlwiLmNcIiwkY29uKSl7DQoJCQkkdG1wID0geGNsZWFucGF0aCh4dGVtcGZvbGRlcigpKTsNCgkJCSRmcGF0aCA9ICR0bXAuJGZuYW1lOw0KCQkJaWYoeGZpbGVzYXZlKCRmcGF0aC5cIi5jXCIsJGNvbikpICRvayA9IHRydWU7DQoJCX0NCgkJZWxzZSAkb2sgPSB0cnVlOw0KCQlpZigkb2spew0KCQkJJGZwYXRoID0gdHJpbSgkZnBhdGgpOw0KCQkJaWYoJHR5cGUgPT0gXCdjb25uZWN0XCcpICRpcCA9ICRfU0VSVkVSW1wnUkVNT1RFX0FERFJcJ107DQoJCQlla3NlKFwiZ2NjIFwiLiRmcGF0aC5cIi5jIC1vIFwiLiRmcGF0aCk7DQoJCQlla3NlKFwiY2htb2QgK3ggXCIuJGZwYXRoKTsNCgkJCWlmKGlzX2ZpbGUoJGZwYXRoKSl7DQoJCQkJJGZpbmFsIC49ICRmcGF0aC5cIiBcIi4kcG9ydC5cIiBcIi4kaXA7DQoJCQkJZWtzZSh0cmltKCRmaW5hbCkpOw0KCQkJCXJldHVybiB0cnVlOw0KCQkJfQ0KCQkJZWxzZSByZXR1cm4gZmFsc2U7DQoJCX0NCgl9DQoJcmV0dXJuIGZhbHNlOw0KfQ0KZnVuY3Rpb24geGV2YWwoJGNvZGUpew0KCSRjb2RlID0geGNsZWFuKCRjb2RlKTsNCglAb2Jfc3RhcnQoKTsNCglAZXZhbCgkY29kZSk7DQoJJGJ1ZmYgPSBAb2JfZ2V0X2NvbnRlbnRzKCk7DQoJQG9iX2VuZF9jbGVhbigpOw0KCXJldHVybiAkYnVmZjsNCn0NCmZ1bmN0aW9uIGVrc2UoJGNtZCl7DQoJaWYoZnVuY3Rpb25fZXhpc3RzKFwnc3lzdGVtXCcpKSB7DQoJCUBvYl9zdGFydCgpOw0KCQlAc3lzdGVtKCRjbWQpOw0KCQkkYnVmZiA9IEBvYl9nZXRfY29udGVudHMoKTsNCgkJQG9iX2VuZF9jbGVhbigpOw0KCQlyZXR1cm4gJGJ1ZmY7DQoJfQ0KCWVsc2VpZihmdW5jdGlvbl9leGlzdHMoXCdleGVjXCcpKSB7DQoJCUBleGVjKCRjbWQsJHJlc3VsdHMpOw0KCQkkYnVmZiA9IFwiXCI7DQoJCWZvcmVhY2goJHJlc3VsdHMgYXMgJHJlc3VsdCl7DQoJCQkkYnVmZiAuPSAkcmVzdWx0Ow0KCQl9DQoJCXJldHVybiAkYnVmZjsNCgl9DQoJZWxzZWlmKGZ1bmN0aW9uX2V4aXN0cyhcJ3Bhc3N0aHJ1XCcpKSB7DQoJCUBvYl9zdGFydCgpOw0KCQlAcGFzc3RocnUoJGNtZCk7DQoJCSRidWZmID0gQG9iX2dldF9jb250ZW50cygpOw0KCQlAb2JfZW5kX2NsZWFuKCk7DQoJCXJldHVybiAkYnVmZjsNCgl9DQoJZWxzZWlmKGZ1bmN0aW9uX2V4aXN0cyhcJ3NoZWxsX2V4ZWNcJykpew0KCQkkYnVmZiA9IEBzaGVsbF9leGVjKCRjbWQpOw0KCQlyZXR1cm4gJGJ1ZmY7DQoJfQ0KfQ0KZnVuY3Rpb24geGRpcigkcGF0aCl7DQoJJHBhdGggPSB0cmltKCRwYXRoKTsNCgkkcGF0aCA9IHhjbGVhbnBhdGgoJHBhdGgpOw0KCWlmKGlzX2RpcigkcGF0aCkpew0KCQkkZm5hbWUgPSBhcnJheSgpOw0KCQkkZG5hbWUgPSBhcnJheSgpOw0KCQlpZigkZGggPSBAc2NhbmRpcigkcGF0aCkpew0KCQkJZm9yZWFjaCgkZGggYXMgJGZpbGUpew0KCQkJCWlmKGlzX2RpcigkZmlsZSkpew0KCQkJCQkkZG5hbWVbXSA9ICRmaWxlOw0KCQkJCX0NCgkJCQllbHNlew0KCQkJCQkkZm5hbWVbXSA9ICRmaWxlOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQllbHNlew0KCQkJaWYoJGRoID0gQG9wZW5kaXIoJHBhdGgpKXsNCgkJCQl3aGlsZSgkZmlsZSA9IEByZWFkZGlyKCRkaCkpew0KCQkJCQlpZihAaXNfZGlyKCRmaWxlKSl7DQoJCQkJCQkkZG5hbWVbXSA9ICRmaWxlOw0KCQkJCQl9DQoJCQkJCWVsc2V7DQoJCQkJCQkkZm5hbWVbXSA9ICRmaWxlOw0KCQkJCQl9DQoJCQkJfQ0KCQkJCUBjbG9zZWRpcigkZGgpOw0KCQkJfQ0KCQl9DQoJCW5hdGNhc2Vzb3J0KCRmbmFtZSk7DQoJCW5hdGNhc2Vzb3J0KCRkbmFtZSk7DQoJCSRidWZmID0gXCI8ZGl2IGlkPVxcXCJleHBsb3JlclxcXCI+PHRhYmxlIGNsYXNzPVxcXCJ0YmxFeHBsb3JlclxcXCI+DQoJCTx0cj48dGg+RmlsZW5hbWU8L3RoPg0KCQk8dGggc3R5bGU9XFxcIndpZHRoOjgwcHg7XFxcIj5GaWxlc2l6ZTwvdGg+DQoJCTx0aCBzdHlsZT1cXFwid2lkdGg6ODBweDtcXFwiPlBlcm1pc3Npb248L3RoPg0KCQk8dGggc3R5bGU9XFxcIndpZHRoOjE1MHB4O1xcXCI+TGFzdCBNb2RpZmllZDwvdGg+DQoJCTx0aCBzdHlsZT1cXFwid2lkdGg6MTgwcHg7XFxcIj5BY3Rpb248L3RoPjwvdHI+XCI7DQoJCWZvcmVhY2goJGRuYW1lIGFzICRkKXsNCgkJCSRzZCA9ICRkOw0KCQkJaWYoJGQgPT0gXCIuLlwiKSB7DQoJCQkJJG5leHRkaXIgPSBcIi4uXCIuRElSRUNUT1JZX1NFUEFSQVRPUi5cIi4uXCI7DQoJCQkJJGQgPSB4Y2xlYW5wYXRoKHJlYWxwYXRoKCRzZCkpOw0KCQkJfQ0KCQkJZWxzZWlmKCRkID09IFwiLlwiKSB7DQoJCQkJJG5leHRkaXIgPSBcIi4uXCI7DQoJCQkJJGQgPSB4Y2xlYW5wYXRoKHJlYWxwYXRoKCRzZCkpOw0KCQkJfQ0KCQkJZWxzZSB7DQoJCQkJJG5leHRkaXIgPSBcIi5cIjsNCgkJCQkkZCA9IHhjbGVhbnBhdGgocmVhbHBhdGgoXCIuXCIuRElSRUNUT1JZX1NFUEFSQVRPUi4kc2QpKTsNCgkJCX0NCgkJCSRkaXIgPSAkZDsNCgkJCSRuZXh0ZGlyID0geGNsZWFucGF0aChyZWFscGF0aCgkbmV4dGRpcikpOw0KCQkJJGJ1ZmYgLj0gXCI8dHIgb25tb3VzZW92ZXI9XFxcInRoaXMuc3R5bGUuY3Vyc29yPVwncG9pbnRlclwnO3RoaXMuc3R5bGUuY3Vyc29yPVwnaGFuZFwnO1xcXCIgb25jbGljaz1cXFwid2luZG93LmxvY2F0aW9uPSBcJz9kaXI9XCIudXJsZW5jb2RlKCRkKS5cIlwnO1xcXCI+DQoJCQk8dGQ+PHNwYW4gc3R5bGU9XFxcImZvbnQtd2VpZ2h0OmJvbGQ7XFxcIj48YSBocmVmPVxcXCI/ZGlyPVwiLiRkaXIuXCJcXFwiPls8L3NwYW4+IFwiLiRzZC5cIiA8c3BhbiBzdHlsZT1cXFwiZm9udC13ZWlnaHQ6Ym9sZDtcXFwiPl08L3NwYW4+PC9hPjwvdGQ+XCI7DQoJCQkkYnVmZiAuPSBcIjx0ZD5ESVI8L3RkPlwiOw0KCQkJJGJ1ZmYgLj0gXCI8dGQgc3R5bGU9XFxcInRleHQtYWxpZ246Y2VudGVyO1xcXCI+XCIueGZpbGVwZXJtcygkZCkuXCI8L3RkPlwiOw0KCQkJJGJ1ZmYgLj0gXCI8dGQgc3R5bGU9XFxcInRleHQtYWxpZ246Y2VudGVyO1xcXCI+XCIueGZpbGVsYXN0bW9kaWZpZWQoJGQpLlwiPC90ZD5cIjsNCgkJCSRidWZmIC49IFwiPHRkIHN0eWxlPVxcXCJ0ZXh0LWFsaWduOmNlbnRlcjtcXFwiPjxhIGhyZWY9XFxcIj9kaXI9XCIuJGRpci5cIiZwcm9wZXJ0aWVzPVwiLnhjbGVhbnBhdGgocmVhbHBhdGgoJGQpKS5cIlxcXCI+UHJvcGVydGllczwvYT4gfCA8YSBocmVmPVxcXCI/ZGlyPVwiLiRuZXh0ZGlyLlwiJmRlbD1cIi54Y2xlYW5wYXRoKHJlYWxwYXRoKCRkKSkuXCJcXFwiPlJlbW92ZTwvYT48L3RkPlwiOw0KCQkJJGJ1ZmYgLj0gXCI8L3RyPlwiOw0KCQl9DQoJCWZvcmVhY2goJGZuYW1lIGFzICRmKXsNCgkJCSRzZiA9ICRmOw0KCQkJJGYgPSAkcGF0aC4kZjsNCgkJCSR2aWV3ID0gXCI/ZGlyPVwiLnVybGVuY29kZSgkcGF0aCkuXCImdmlldz1cIi51cmxlbmNvZGUoJGYpOw0KCQkJJGJ1ZmYgLj0gXCI8dHIgb25tb3VzZW92ZXI9XFxcInRoaXMuc3R5bGUuY3Vyc29yPVwncG9pbnRlclwnO3RoaXMuc3R5bGUuY3Vyc29yPVwnaGFuZFwnO1xcXCIgb25jbGljaz1cXFwid2luZG93LmxvY2F0aW9uPVwnP2Rpcj1cIi51cmxlbmNvZGUoeGNsZWFucGF0aCgkcGF0aCkpLlwiJnByb3BlcnRpZXM9XCIudXJsZW5jb2RlKCRmKS5cIlwnO1xcXCI+PHRkPg0KCQkJPGEgaHJlZj1cXFwiP2Rpcj1cIi51cmxlbmNvZGUoeGNsZWFucGF0aCgkcGF0aCkpLlwiJnByb3BlcnRpZXM9XCIudXJsZW5jb2RlKCRmKS5cIlxcXCI+DQoJCQlcIi4kc2YuXCI8L2E+PC90ZD5cIjsNCgkJCSRidWZmIC49IFwiPHRkPlwiLnhwYXJzZWZpbGVzaXplKHhmaWxlc2l6ZSgkZikpLlwiPC90ZD5cIjsNCgkJCSRidWZmIC49IFwiPHRkIHN0eWxlPVxcXCJ0ZXh0LWFsaWduOmNlbnRlcjtcXFwiPlwiLnhmaWxlcGVybXMoJGYpLlwiPC90ZD5cIjsNCgkJCSRidWZmIC49IFwiPHRkIHN0eWxlPVxcXCJ0ZXh0LWFsaWduOmNlbnRlcjtcXFwiPlwiLnhmaWxlbGFzdG1vZGlmaWVkKCRmKS5cIjwvdGQ+XCI7DQoJCQkkYnVmZiAuPSBcIjx0ZCBzdHlsZT1cXFwidGV4dC1hbGlnbjpjZW50ZXI7XFxcIj48YSBocmVmPVxcXCJcIi4kdmlldy5cIlxcXCI+RWRpdDwvYT4gfCA8YSBocmVmPVxcXCI/Z2V0PVwiLiRmLlwiXFxcIj5Eb3dubG9hZDwvYT4gfCA8YSBocmVmPVxcXCI/ZGlyPVwiLnhjbGVhbnBhdGgoJHBhdGgpLlwiJmRlbD1cIi4kZi5cIlxcXCI+UmVtb3ZlPC9hPjwvdGQ+XCI7DQoJCQkkYnVmZiAuPSBcIjwvdHI+XCI7DQoJCX0NCgkJJGJ1ZmYgLj0gXCI8L3RhYmxlPjwvZGl2PlwiOw0KCQlyZXR1cm4gJGJ1ZmY7DQoJfQ0KfQ0KLy8jIyMjIyMjIyMjIyMjIyMjIyBJTklUIEdPRVMgSEVSRSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XQ0KZXJyb3JfcmVwb3J0aW5nKDApOw0KQHNldF90aW1lX2xpbWl0KDApOw0KaW5pX3NldChcImFsbG93X3VybF9mb3BlblwiICwxKTsNCmluaV9zZXQoXCJhbGxvd191cmxfaW5jbHVkZVwiICwxKTsNCmluaV9zZXQoXCJvcGVuX2Jhc2VkaXJcIixOVUxMKTsNCg0KDQppZihpc3NldCgkX1BPU1RbXCdwYXNzd1wnXSkpew0KCSRjaGVjayA9IHRyaW0oJF9QT1NUW1wncGFzc3dcJ10pOw0KCWlmKCRjaGVjayA9PSAkc2hlbGxfcGFzc3dvcmQpew0KCXNldGNvb2tpZShcInBhc3NcIiwkY2hlY2ssdGltZSgpICsgMzYwMCoyNCo3KTsNCgkkbSA9ICRfU0VSVkVSW1wnU0NSSVBUX05BTUVcJ107DQoJaGVhZGVyKFwiTG9jYXRpb246IFwiLiRtKTsNCglkaWUoKTsNCgl9DQoJZWxzZSBzZXRjb29raWUoXCJwYXNzXCIsJGNoZWNrLHRpbWUoKSAtIDM2MDAqMjQqNyk7DQp9DQppZihpc3NldCgkX0NPT0tJRVtcJ3Bhc3NcJ10pKSAkY2hlY2sgPSB0cmltKCRfQ09PS0lFW1wncGFzc1wnXSk7DQplbHNlICRjaGVjayA9IFwiXCI7DQppZigkY2hlY2sgPT0gJHNoZWxsX3Bhc3N3b3JkKXsNCiAkYXV0aCA9IHRydWU7DQogfQ0KZWxzZSAkYXV0aCA9IGZhbHNlOw0KaWYoaXNzZXQoJF9HRVRbXCdpbWdcJ10pKXsNCgkkZmlsZSA9IHhjbGVhbigkX0dFVFtcJ2ltZ1wnXSk7DQoJaWYoaXNfZmlsZSgkZmlsZSkpew0KCQlAb2JfY2xlYW4oKTsNCgkJJGluZiA9IGdldGltYWdlc2l6ZSgkZmlsZSk7DQogICAJCSRleHQgPSBleHBsb2RlKGJhc2VuYW1lKCRmaWxlKSxcIi5cIik7DQogICAJCSRleHQgPSAkZXh0W2NvdW50KCRleHQpLTFdOw0KICAgCSAJQGhlYWRlcihcIkNvbnRlbnQtdHlwZTogXCIuJGluZltcIm1pbWVcIl0pOw0KICAgCSAJQGhlYWRlcihcIkNhY2hlLWNvbnRyb2w6IHB1YmxpY1wiKTsNCiAgCQlAaGVhZGVyKFwiRXhwaXJlczogXCIuZGF0ZShcInJcIixta3RpbWUoMCwwLDAsMSwxLDIwMzApKSk7DQogIAkJQGhlYWRlcihcIkNhY2hlLWNvbnRyb2w6IG1heC1hZ2U9XCIuKDYwKjYwKjI0KjcpKTsNCiAgIAkgCUByZWFkZmlsZSgkZmlsZSk7DQoJCWV4aXQ7DQoJfQ0KCWVsc2V7DQoJCSRmaWxlID0gJCRmaWxlOw0KCQkkZGF0YSA9IGJhc2U2NF9kZWNvZGUoJGZpbGUpOw0KCQlAaGVhZGVyKFwiQ29udGVudC10eXBlOiBpbWFnZS9wbmdcIik7DQoJCUBoZWFkZXIoXCJDYWNoZS1jb250cm9sOiBwdWJsaWNcIik7DQoJCWVjaG8gJGRhdGE7DQoJCWV4aXQ7DQoJfQ0KfQ0KaWYoaXNzZXQoJF9HRVRbXCdnZXRcJ10pICYmICgkX0dFVFtcJ2dldFwnXSAhPSBcIlwiKSl7DQoJJGZpbGUgPSB4Y2xlYW4oJF9HRVRbXCdnZXRcJ10pOw0KCSRmaWxleiA9IEBmaWxlX2dldF9jb250ZW50cygkZmlsZSk7DQoJaGVhZGVyKFwiQ29udGVudC10eXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cIik7DQoJaGVhZGVyKFwiQ29udGVudC1sZW5ndGg6IFwiLnN0cmxlbigkZmlsZXopKTsNCgloZWFkZXIoXCJDb250ZW50LWRpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT1cXFwiXCIuYmFzZW5hbWUoJGZpbGUpLlwiXFxcIjtcIik7DQoJZWNobyAkZmlsZXo7DQoJZXhpdDsNCn0NCiR4Q3dkID0geGNsZWFucGF0aChnZXRjd2QoKSk7DQppZihpc3NldCgkX0dFVFtcJ2J0bkNvbm5lY3RcJ10pICYmIChpc19udW1lcmljKCRfR0VUW1wnYnBvcnRDXCddKSkpew0KCSRwb3J0ID0gJF9HRVRbXCdicG9ydENcJ107DQoJJGRpciA9IHhjbGVhbnBhdGgoeGNsZWFuKHRyaW0oJF9HRVRbXCdkaXJcJ10pKSk7DQoJJHN5c3RlbSA9IHRyaW0ocGhwX3VuYW1lKCkpOw0KCWlmKHN0cnRvbG93ZXIoc3Vic3RyKCRzeXN0ZW0sMCwzKSkgPT0gXCJ3aW5cIikgJGJhc2U2NCA9ICR3QmluZDsNCgllbHNlICRiYXNlNjQgPSAkeEJhY2s7DQoJaWYoeHJ1bmV4cGxvaXQoJGRpciwkYmFzZTY0LCRwb3J0LFwiY29ubmVjdFwiKSl7DQoJfQ0KfQ0KZWxzZWlmKGlzc2V0KCRfR0VUW1wnYnRuTGlzdGVuXCddKSAmJiAoaXNfbnVtZXJpYygkX0dFVFtcJ2xwb3J0Q1wnXSkpKXsNCgkkcG9ydCA9ICRfR0VUW1wnbHBvcnRDXCddOw0KCSRkaXIgPSB4Y2xlYW5wYXRoKHhjbGVhbih0cmltKCRfR0VUW1wnZGlyXCddKSkpOw0KCSRzeXN0ZW0gPSB0cmltKHBocF91bmFtZSgpKTsNCglpZihzdHJ0b2xvd2VyKHN1YnN0cigkc3lzdGVtLDAsMykpID09IFwid2luXCIpICRiYXNlNjQgPSAkd0JpbmQ7DQoJZWxzZSAkYmFzZTY0ID0gJHhCaW5kOw0KCWlmKHhydW5leHBsb2l0KCRkaXIsJGJhc2U2NCwkcG9ydCxcImxpc3RlblwiKSl7DQoJfQ0KfQ0KaWYoaXNzZXQoJF9HRVRbXCdkaXJcJ10pICYmICgkX0dFVFtcJ2RpclwnXSAhPSBcIlwiKSl7DQoJJG5ld2RpciA9IHhjbGVhbnBhdGgoeGNsZWFuKHRyaW0oJF9HRVRbXCdkaXJcJ10pKSk7DQoJaWYoaXNzZXQoJF9HRVRbXCdvbGRmaWxlbmFtZVwnXSkgJiYgKCRfR0VUW1wnb2xkZmlsZW5hbWVcJ10gIT0gXCJcIikpew0KCQkkbmV3ZGlyID0geGNsZWFucGF0aCh4Y2xlYW4odHJpbSgkX0dFVFtcJ3Byb3BlcnRpZXNcJ10pKSk7DQoJfQ0KCWlmKGlzX2RpcigkbmV3ZGlyKSl7DQoJCWlmKGNoZGlyKCRuZXdkaXIpKSAkeEN3ZCA9ICRuZXdkaXI7DQoJfQ0KCWVsc2V7DQoJCSRuZXdkaXIgPSBkaXJuYW1lKCRuZXdkaXIpOw0KCQlpZihpc19kaXIoJG5ld2RpcikpIGlmKGNoZGlyKCRuZXdkaXIpKSAkeEN3ZCA9ICRuZXdkaXI7DQoJfQ0KCWlmKGlzc2V0KCRfUE9TVFtcJ2J0bk5ld1VwbG9hZFVybFwnXSkpew0KCQkkZmlsZW5hbWUgPSB4Y2xlYW4odHJpbSgkX1BPU1RbXCdmaWxlbmFtZVwnXSkpOw0KCQkkZmlsZXVybCA9IHhjbGVhbih0cmltKCRfUE9TVFtcJ2ZpbGV1cmxcJ10pKTsNCgkJaWYoJGZpbGVuYW1lID09IFwiXCIpICRmaWxlbmFtZSA9IGJhc2VuYW1lKCRmaWxldXJsKTsNCgkJJGZpbGVwYXRoID0gJG5ld2Rpci4kZmlsZW5hbWU7DQoJCWlmKCRmaWxldXJsICE9IFwiXCIpew0KCQkJJGNvbiA9IHhmaWxlb3BlbigkZmlsZXVybCk7DQoJCQl4ZmlsZXNhdmUoJGZpbGVwYXRoLCRjb24pOw0KCQl9DQoJfQ0KCWVsc2VpZihpc3NldCgkX1BPU1RbXCdidG5OZXdVcGxvYWRMb2NhbFwnXSkpew0KCQlpZihpc191cGxvYWRlZF9maWxlKCRfRklMRVNbXCdmaWxlbG9jYWxcJ11bXCd0bXBfbmFtZVwnXSkpew0KCQkJJGZpbGVuYW1lID0geGNsZWFuKHRyaW0oJF9QT1NUW1wnZmlsZW5hbWVcJ10pKTsNCgkJCWlmKCRmaWxlbmFtZSA9PSBcIlwiKSAkZmlsZW5hbWUgPSAkX0ZJTEVTW1wnZmlsZWxvY2FsXCddW1wnbmFtZVwnXTsNCgkJCSR0bXBfbmFtZSA9ICRfRklMRVNbXCdmaWxlbG9jYWxcJ11bXCd0bXBfbmFtZVwnXTsNCgkJCSRmaWxlcGF0aCA9ICRuZXdkaXIuJGZpbGVuYW1lOw0KCQkJJHN0YXQgPSBAbW92ZV91cGxvYWRlZF9maWxlKCR0bXBfbmFtZSwkZmlsZXBhdGgpOw0KCQl9DQoJfQ0KCWlmKGlzc2V0KCRfR0VUW1wnZm9sZGVybmFtZVwnXSkgJiYgKCRfR0VUW1wnZm9sZGVybmFtZVwnXSAhPSBcIlwiKSl7DQoJCSRmbmFtZSA9IHhjbGVhbnBhdGgoeGNsZWFuKHRyaW0oJF9HRVRbXCdmb2xkZXJuYW1lXCddKSkpOw0KCQlpZighaXNfZGlyKCRuZXdkaXIuJGZuYW1lKSkJbWtkaXIoJG5ld2Rpci4kZm5hbWUpOw0KCX0NCgllbHNlaWYoaXNzZXQoJF9HRVRbXCdkZWxcJ10pICYmICgkX0dFVFtcJ2RlbFwnXSAhPSBcIlwiKSl7DQoJCSRmZGVsID0geGNsZWFuKHRyaW0oJF9HRVRbXCdkZWxcJ10pKTsNCgkJaWYoaXNfZmlsZSgkZmRlbCkgfHwgaXNfbGluaygkZmRlbCkpIHVubGluaygkZmRlbCk7DQoJCWVsc2VpZihpc19kaXIoJGZkZWwpKXsNCgkJCXhybWRpcigkZmRlbCk7DQoJCQkkbmV3ZGlyID0gc3Vic3RyKCRuZXdkaXIsMCxzdHJycG9zKCRuZXdkaXIsRElSRUNUT1JZX1NFUEFSQVRPUikpOw0KCQkJJG5ld2RpciA9IHN1YnN0cigkbmV3ZGlyLDAsc3RycnBvcygkbmV3ZGlyLERJUkVDVE9SWV9TRVBBUkFUT1IpKTsNCgkJfQ0KCX0NCgllbHNlaWYoaXNzZXQoJF9HRVRbXCdjaGlsZG5hbWVcJ10pICYmICgkX0dFVFtcJ2NoaWxkbmFtZVwnXSAhPSBcIlwiKSl7DQoJCSRjaGlsZG5hbWUgPSAkbmV3ZGlyLnhjbGVhbih0cmltKCRfR0VUW1wnY2hpbGRuYW1lXCddKSk7DQoJCSRjb24gPSB4ZmlsZW9wZW4oJF9TRVJWRVJbXCdTQ1JJUFRfRklMRU5BTUVcJ10pOw0KCQl4ZmlsZXNhdmUoJGNoaWxkbmFtZSwkY29uKTsNCgl9DQp9DQppZihpc3NldCgkX0dFVFtcJ2NtZFwnXSkgJiYgKCRfR0VUW1wnY21kXCddICE9IFwiXCIpKXsNCgkkY21kID0geGNsZWFuKCRfR0VUW1wnY21kXCddKTsNCglpZihwcmVnX21hdGNoKFwiL15jZCguKikvaVwiLCRjbWQsJGMpKXsNCgkJJG5ld2RpciA9IHRyaW0oJGNbMV0pOw0KCQkkbmV3ZGlyID0gdHJpbSh1cmxkZWNvZGUoeGNsZWFuKCRuZXdkaXIpKSk7DQoJCWlmKCRuZXdkaXIgPT0gXCJcXFxcXCIpCSR4Q3dkID0gc3Vic3RyKCR4Q3dkLDAsMyk7DQoJCWVsc2V7DQoJCQlpZihzdHJwb3MoJG5ld2RpcixcIjpcIikgPiAwKXsNCgkJCQlpZihpc19kaXIoJG5ld2RpcikpCSR4Q3dkID0geGNsZWFucGF0aChyZWFscGF0aCgkbmV3ZGlyKSk7DQoJCQl9DQoJCQllbHNlaWYoaXNfZGlyKCRuZXdkaXIpKXsNCgkJCQkkeEN3ZCA9IHhjbGVhbnBhdGgocmVhbHBhdGgoJG5ld2RpcikpOw0KCQkJfQ0KCQkJZWxzZXsNCgkJCQlpZihpc19kaXIoJHhDd2QuJG5ld2RpcikpICR4Q3dkID0geGNsZWFucGF0aChyZWFscGF0aCgkeEN3ZC4kbmV3ZGlyKSk7DQoJCQl9DQoJCX0NCgkJJHJlc3VsdCA9IHhkaXIoJHhDd2QpOw0KCX0NCgllbHNlaWYocHJlZ19tYXRjaChcIi9eKFxcd3sxfTouKikvXCIsJGNtZCwkZGMpKXsNCgkJJG5ld2RpciA9IHRyaW0oJGRjWzFdKTsNCgkJaWYoaXNfZGlyKCRuZXdkaXIpKXsNCgkJCSR4Q3dkID0geGNsZWFucGF0aCgkbmV3ZGlyKTsNCgkJfQ0KCQkkcmVzdWx0ID0geGRpcigkeEN3ZCk7DQoJfQ0KCWVsc2Ugew0KCQkkcmVzdWx0ID0gZWtzZSgkY21kKTsNCgkJaWYoJHJlc3VsdCAhPSBcIlwiKSAkcmVzdWx0ID0gbmwyYnIoc3RyX3JlcGxhY2UoXCIgXCIsXCImbmJzcDtcIixodG1sZW50aXRpZXMoJHJlc3VsdCkpKTsNCgkJZWxzZSB7DQoJCQkkcmVzdWx0ID0geGRpcigkeEN3ZCk7DQoJCX0NCgl9DQoNCn0NCmVsc2VpZihpc3NldCgkX0dFVFtcJ2V2YWxcJ10pICYmICgkX0dFVFtcJ2V2YWxcJ10gIT0gXCJcIikpew0KCSRyZXN1bHQgPSBodG1sc3BlY2lhbGNoYXJzKHhldmFsKCRfR0VUW1wnZXZhbFwnXSkpOw0KfQ0KZWxzZWlmKGlzc2V0KCRfR0VUW1wncHJvcGVydGllc1wnXSkgJiYgKCRfR0VUW1wncHJvcGVydGllc1wnXSAhPSBcIlwiKSl7DQoJJGZuYW1lID0geGNsZWFucGF0aCh4Y2xlYW4oJF9HRVRbXCdwcm9wZXJ0aWVzXCddKSk7DQoJaWYoaXNzZXQoJF9HRVRbXCdvbGRmaWxlbmFtZVwnXSkgJiYgKCRfR0VUW1wnb2xkZmlsZW5hbWVcJ10gIT0gXCJcIikpew0KCQkkb2xkbmFtZSA9IHhjbGVhbigkX0dFVFtcJ29sZGZpbGVuYW1lXCddKTsNCgkJcmVuYW1lKCRvbGRuYW1lLCRmbmFtZSk7DQoJfQ0KCSRkaXIgPSB4Y2xlYW4oJF9HRVRbXCdkaXJcJ10pOw0KCSRmY29udCA9IFwiXCI7DQoJJGZ2aWV3ID0gXCJcIjsNCglpZihpc19kaXIoJGZuYW1lKSl7DQoJCSRmc2l6ZSA9IFwiRElSXCI7DQoJCSRmY29udCA9IHhkaXIoJGZuYW1lKTsNCgkJJGZhY3Rpb24gPSBcIjxhIGhyZWY9XFxcIj9kaXI9XCIueGNsZWFucGF0aChyZWFscGF0aCgkZm5hbWUpKS5cIiZwcm9wZXJ0aWVzPVwiLnhjbGVhbnBhdGgocmVhbHBhdGgoJGZuYW1lKSkuXCJcXFwiPlByb3BlcnRpZXM8L2E+IHwgPGEgaHJlZj1cXFwiP2Rpcj1cIi54Y2xlYW5wYXRoKHJlYWxwYXRoKCRmbmFtZS5cIi4uXCIpKS5cIiZkZWw9XCIueGNsZWFucGF0aChyZWFscGF0aCgkZm5hbWUpKS5cIlxcXCI+UmVtb3ZlPC9hPlwiOw0KCX0NCgllbHNlew0KCQkkZm5hbWUgPSBydHJpbSgkZm5hbWUsRElSRUNUT1JZX1NFUEFSQVRPUik7DQoJCSRmc2l6ZSA9IHhwYXJzZWZpbGVzaXplKHhmaWxlc2l6ZSgkZm5hbWUpKS5cIiA8c3BhbiBjbGFzcz1cXFwiZ2F1bFxcXCI+KCA8L3NwYW4+XCIueGZpbGVzaXplKCRmbmFtZSkuXCIgYnl0ZXM8c3BhbiBjbGFzcz1cXFwiZ2F1bFxcXCI+ICk8L3NwYW4+XCI7DQoJCSR0eXBlID0gXCJcIjsNCgkJaWYoaXNzZXQoJF9HRVRbXCd0eXBlXCddKSkgJHR5cGUgPSB0cmltKHhjbGVhbigkX0dFVFtcJ3R5cGVcJ10pKTsNCgkJJGlpbmZvID0gZ2V0aW1hZ2VzaXplKCRmbmFtZSk7DQoJCSRpbWdpbmZvID0gXCJcIjsNCgkJaWYoJHR5cGUgPT0gXCJcIil7DQoJCQlpZihpc19hcnJheSgkaWluZm8pKSAkdHlwZSA9IFwnaW1nXCc7DQoJCQllbHNlICR0eXBlID0gXCd0ZXh0XCc7DQoJCX0NCgkJaWYoJHR5cGUgPT0gXCdjb2RlXCcpew0KCQkJaWYoJGNvZGUgPSB4aGlnaGxpZ2h0KCRmbmFtZSkpDQoJCQkkZmNvbnQgPSBcIjxkaXYgY2xhc3M9XFxcImJveGNvZGVcXFwiPlwiLiRjb2RlLlwiPC9kaXY+XCI7DQoJCX0NCgkJZWxzZWlmKCR0eXBlID09IFwnaW1nXCcpew0KCQkJJHdpZHRoID0gKGludCkgJGlpbmZvWzBdOw0KCQkJJGhlaWdodCA9IChpbnQpICRpaW5mb1sxXTsNCgkJCSRpbWdpbmZvID0gXCJJbWFnZSB0eXBlID0gKCBcIi4kaWluZm9bXCdtaW1lXCddLlwiICk8YnIgLz5JbWFnZSBTaXplID0gPHNwYW4gY2xhc3M9XFxcImdhdWxcXFwiPiggPC9zcGFuPlwiLiR3aWR0aC5cIiB4IFwiLiRoZWlnaHQuXCI8c3BhbiBjbGFzcz1cXFwiZ2F1bFxcXCI+ICk8L3NwYW4+PGJyIC8+XCI7DQoJCQlpZigkd2lkdGggPiA4MDApew0KCQkJCSR3aWR0aCA9IDgwMDsNCgkJCQkkaW1nbGluayA9IFwiPHA+PGEgaHJlZj1cXFwiP2ltZz1cIi4kZm5hbWUuXCJcXFwiIHRhcmdldD1cXFwiX2JsYW5rXFxcIj48c3BhbiBjbGFzcz1cXFwiZ2F1bFxcXCI+WyA8L3NwYW4+dmlldyBmdWxsIHNpemU8c3BhbiBjbGFzcz1cXFwiZ2F1bFxcXCI+IF08L3NwYW4+PC9hPjwvcD5cIjsNCgkJCX0NCgkJCWVsc2UgJGltZ2xpbmsgPSBcIlwiOw0KDQoJCQkkZmNvbnQgPSBcIjxkaXYgc3R5bGU9XFxcInRleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEwMCU7XFxcIj5cIi4kaW1nbGluay5cIjxpbWcgd2lkdGg9XFxcIlwiLiR3aWR0aC5cIlxcXCIgc3JjPVxcXCI/aW1nPVwiLiRmbmFtZS5cIlxcXCIgYWx0PVxcXCJcXFwiIHN0eWxlPVxcXCJtYXJnaW46OHB4IGF1dG87cGFkZGluZzowO2JvcmRlcjowO1xcXCIgLz48L2Rpdj5cIjsNCgkJfQ0KCQllbHNlew0KCQkJJGNvZGUgPSBodG1sc3BlY2lhbGNoYXJzKGZpbGVfZ2V0X2NvbnRlbnRzKCRmbmFtZSkpOw0KCQkJJGZjb250ID0gXCI8ZGl2IGNsYXNzPVxcXCJib3hjb2RlXFxcIj5cIi5ubDJicigkY29kZSkuXCI8L2Rpdj5cIjsNCgkJfQ0KCQkkZmFjdGlvbiA9IFwiPGEgaHJlZj1cXFwiP2Rpcj1cIi54Y2xlYW5wYXRoKCRkaXIpLlwiJnZpZXc9XCIuJGZuYW1lLlwiXFxcIj5FZGl0PC9hPiB8IDxhIGhyZWY9XFxcIj9nZXQ9XCIuJGZuYW1lLlwiXFxcIj5Eb3dubG9hZDwvYT4gfCA8YSBocmVmPVxcXCI/ZGlyPVwiLnhjbGVhbnBhdGgoJGRpcikuXCImZGVsPVwiLiRmbmFtZS5cIlxcXCI+UmVtb3ZlPC9hPlwiOw0KCQkkZnZpZXcgPSBcIjxhIGhyZWY9XFxcIj9kaXI9XCIueGNsZWFucGF0aCgkZGlyKS5cIiZwcm9wZXJ0aWVzPVwiLiRmbmFtZS5cIiZ0eXBlPXRleHRcXFwiPjxzcGFuIGNsYXNzPVxcXCJnYXVsXFxcIj5bIDwvc3Bhbj50ZXh0PHNwYW4gY2xhc3M9XFxcImdhdWxcXFwiPiBdPC9zcGFuPjwvYT48YSBocmVmPVxcXCI/ZGlyPVwiLnhjbGVhbnBhdGgoJGRpcikuXCImcHJvcGVydGllcz1cIi4kZm5hbWUuXCImdHlwZT1jb2RlXFxcIj48c3BhbiBjbGFzcz1cXFwiZ2F1bFxcXCI+WyA8L3NwYW4+Y29kZTxzcGFuIGNsYXNzPVxcXCJnYXVsXFxcIj4gXTwvc3Bhbj48L2E+PGEgaHJlZj1cXFwiP2Rpcj1cIi54Y2xlYW5wYXRoKCRkaXIpLlwiJnByb3BlcnRpZXM9XCIuJGZuYW1lLlwiJnR5cGU9aW1nXFxcIj48c3BhbiBjbGFzcz1cXFwiZ2F1bFxcXCI+WyA8L3NwYW4+aW1hZ2U8c3BhbiBjbGFzcz1cXFwiZ2F1bFxcXCI+IF08L3NwYW4+PC9hPlwiOw0KCX0NCgkkZm93bmVyID0geGZpbGVvd25lcigkZm5hbWUpOw0KCSRmcGVybSA9IHhmaWxlcGVybXMoJGZuYW1lKTsNCgkkcmVzdWx0ID0gXCI8ZGl2IHN0eWxlPVxcXCJkaXNwbGF5OmlubGluZTtcXFwiPg0KCTxmb3JtIGFjdGlvbj1cXFwiP1xcXCIgbWV0aG9kPVxcXCJnZXRcXFwiIHN0eWxlPVxcXCJtYXJnaW46MDtwYWRkaW5nOjFweCA4cHg7dGV4dC1hbGlnbjpsZWZ0O1xcXCI+DQoJPGlucHV0IHR5cGU9XFxcImhpZGRlblxcXCIgbmFtZT1cXFwiZGlyXFxcIiB2YWx1ZT1cXFwiXCIuJGRpci5cIlxcXCIgLz4NCgk8aW5wdXQgdHlwZT1cXFwiaGlkZGVuXFxcIiBuYW1lPVxcXCJvbGRmaWxlbmFtZVxcXCIgdmFsdWU9XFxcIlwiLiRmbmFtZS5cIlxcXCIgLz5cIi4kZmFjdGlvbi5cIiB8DQoJPHNwYW4+PGlucHV0IHN0eWxlPVxcXCJ3aWR0aDo1MCU7XFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIiBuYW1lPVxcXCJwcm9wZXJ0aWVzXFxcIiB2YWx1ZT1cXFwiXCIuJGZuYW1lLlwiXFxcIiAvPg0KCTxpbnB1dCBzdHlsZT1cXFwid2lkdGg6MTIwcHhcXFwiIGNsYXNzPVxcXCJidG5cXFwiIHR5cGU9XFxcInN1Ym1pdFxcXCIgbmFtZT1cXFwiYnRuUmVuYW1lXFxcIiB2YWx1ZT1cXFwiUmVuYW1lXFxcIiAvPg0KCTwvc3Bhbj4NCgk8ZGl2IGNsYXNzPVxcXCJmcHJvcFxcXCI+DQoJU2l6ZSA9IFwiLiRmc2l6ZS5cIjxiciAvPlwiLiRpbWdpbmZvLlwiDQoJT3duZXIgPSA8c3BhbiBjbGFzcz1cXFwiZ2F1bFxcXCI+KCA8L3NwYW4+XCIuJGZvd25lci5cIjxzcGFuIGNsYXNzPVxcXCJnYXVsXFxcIj4gKTwvc3Bhbj48YnIgLz4NCglQZXJtaXNzaW9uID0gPHNwYW4gY2xhc3M9XFxcImdhdWxcXFwiPiggPC9zcGFuPlwiLiRmcGVybS5cIjxzcGFuIGNsYXNzPVxcXCJnYXVsXFxcIj4gKTwvc3Bhbj48YnIgLz4NCglDcmVhdGUgVGltZSA9IDxzcGFuIGNsYXNzPVxcXCJnYXVsXFxcIj4oIDwvc3Bhbj5cIi5kYXRlKFwiZC1NLVkgSDppXCIsQGZpbGVjdGltZSgkZm5hbWUpKS5cIjxzcGFuIGNsYXNzPVxcXCJnYXVsXFxcIj4gKTwvc3Bhbj48YnIgLz4NCglMYXN0IE1vZGlmaWVkID0gPHNwYW4gY2xhc3M9XFxcImdhdWxcXFwiPiggPC9zcGFuPlwiLmRhdGUoXCJkLU0tWSBIOmlcIixAZmlsZW10aW1lKCRmbmFtZSkpLlwiPHNwYW4gY2xhc3M9XFxcImdhdWxcXFwiPiApPC9zcGFuPjxiciAvPg0KCUxhc3QgQWNjZXNzZWQgPSA8c3BhbiBjbGFzcz1cXFwiZ2F1bFxcXCI+KCA8L3NwYW4+XCIuZGF0ZShcImQtTS1ZIEg6aVwiLEBmaWxlYXRpbWUoJGZuYW1lKSkuXCI8c3BhbiBjbGFzcz1cXFwiZ2F1bFxcXCI+ICk8L3NwYW4+PGJyIC8+DQoJXCIuJGZ2aWV3LlwiDQoJPC9kaXY+DQoJXCIuJGZjb250LlwiDQoJPC9mb3JtPg0KCTwvZGl2Pg0KCVwiOw0KfQ0KZWxzZWlmKChpc3NldCgkX0dFVFtcJ3ZpZXdcJ10pICYmICgkX0dFVFtcJ3ZpZXdcJ10gIT0gXCJcIikpIHx8ICgoaXNzZXQoJF9HRVRbXCdmaWxlbmFtZVwnXSkgJiYgKCRfR0VUW1wnZmlsZW5hbWVcJ10gIT0gXCJcIikpKSl7DQoJJG1zZyA9IFwiXCI7DQoJaWYoaXNzZXQoJF9QT1NUW1wnc2F2ZVwnXSkgJiYgKCRfUE9TVFtcJ3NhdmVcJ10gPT0gXCJTYXZlIEFzXCIpKXsNCgkJJGZpbGUgPSB4Y2xlYW4odHJpbSgkX1BPU1RbXCdzYXZlQXNcJ10pKTsNCgkJJGNvbnRlbnQgPSB4Y2xlYW4oJF9QT1NUW1wnZmlsZXNvdXJjZVwnXSk7DQoJCWlmKHhmaWxlc2F2ZSgkZmlsZSwkY29udGVudCkpICRwZXNhbiA9IFwiRmlsZSBTYXZlZFwiOw0KCQllbHNlICAkcGVzYW4gPSBcIkZhaWxlZCB0byBzYXZlIGZpbGVcIjsNCgkJJG1zZyA9IFwiPHNwYW4gc3R5bGU9XFxcImZsb2F0OnJpZ2h0O1xcXCI+PHNwYW4gY2xhc3M9XFxcImdhdWxcXFwiPlsgPC9zcGFuPlwiLiRwZXNhbi5cIjxzcGFuIGNsYXNzPVxcXCJnYXVsXFxcIj4gXTwvc3Bhbj48L3NwYW4+XCI7DQoJfQ0KCWVsc2Ugew0KCQlpZihpc3NldCgkX0dFVFtcJ3ZpZXdcJ10pICYmICgkX0dFVFtcJ3ZpZXdcJ10gIT0gXCJcIikpICRmaWxlID0geGNsZWFuKHRyaW0oJF9HRVRbXCd2aWV3XCddKSk7DQoJCWVsc2UgJGZpbGUgPSAkeEN3ZC54Y2xlYW4odHJpbSgkX0dFVFtcJ2ZpbGVuYW1lXCddKSk7DQoJfQ0KCSRyZXN1bHQgPSB4ZmlsZW9wZW4oJGZpbGUpOw0KCSRyZXN1bHQgPSBodG1sZW50aXRpZXMoJHJlc3VsdCk7DQoJJHJlc3VsdCA9IFwiDQoJPHAgc3R5bGU9XFxcInBhZGRpbmc6MDttYXJnaW46MDt0ZXh0LWFsaWduOmxlZnQ7XFxcIj48YSBocmVmPVxcXCI/ZGlyPVwiLiR4Q3dkLlwiJnByb3BlcnRpZXM9XCIuJGZpbGUuXCJcXFwiPlwiLnhmaWxlc3VtbWFyeSgkZmlsZSkuXCI8L2E+XCIuJG1zZy5cIjwvcD48ZGl2IHN0eWxlPVxcXCJjbGVhcjpib3RoO21hcmdpbjowO3BhZGRpbmc6MDtcXFwiPjwvZGl2Pg0KCTxmb3JtIGFjdGlvbj1cXFwiP2Rpcj1cIi4keEN3ZC5cIiZ2aWV3PVwiLiRmaWxlLlwiXFxcIiBtZXRob2Q9XFxcInBvc3RcXFwiPg0KPHRleHRhcmVhIG5hbWU9XFxcImZpbGVzb3VyY2VcXFwiIHN0eWxlPVxcXCJ3aWR0aDoxMDAlO2hlaWdodDoyMDBweDtcXFwiPlwiLiRyZXN1bHQuXCI8L3RleHRhcmVhPg0KCTxpbnB1dCB0eXBlPVxcXCJ0ZXh0XFxcIiBzdHlsZT1cXFwid2lkdGg6ODAlO1xcXCIgIG5hbWU9XFxcInNhdmVBc1xcXCIgdmFsdWU9XFxcIlwiLiRmaWxlLlwiXFxcIiAvPg0KCTxpbnB1dCB0eXBlPVxcXCJzdWJtaXRcXFwiIGNsYXNzPVxcXCJidG5cXFwiIHN0eWxlPVxcXCJ3aWR0aDoxMjBweDtcXFwiIG5hbWU9XFxcInNhdmVcXFwiIHZhbHVlPVxcXCJTYXZlIEFzXFxcIiAvPg0KCTwvZm9ybT4NCglcIjsNCn0NCmVsc2V7DQoJJHJlc3VsdCA9IHhkaXIoJHhDd2QpOw0KfQ0KLy8jIyMjIyMjIyMjIyMjIyMjIyBGaW5hbGl6aW5nICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XQ0KaWYoJGF1dGgpew0KCWlmKGlzc2V0KCRfR0VUW1wnYnBvcnRDXCddKSkgJGJwb3J0QyA9ICRfR0VUW1wnYnBvcnRDXCddOw0KCWVsc2UgJGJwb3J0QyA9ICRzaGVsbF9mYXZfcG9ydDsNCglpZihpc3NldCgkX0dFVFtcJ2xwb3J0Q1wnXSkpICRscG9ydEMgPSAkX0dFVFtcJ2xwb3J0Q1wnXTsNCgllbHNlICRscG9ydEMgPSAkc2hlbGxfZmF2X3BvcnQ7DQoJJGh0bWxfdGl0bGUgPSAkc2hlbGxfdGl0bGU7DQoJJGh0bWxfaGVhZCA9IFwiDQo8dGl0bGU+XCIuJGh0bWxfdGl0bGUuXCI8L3RpdGxlPg0KPGxpbmsgcmVsPVxcXCJTSE9SVENVVCBJQ09OXFxcIiBocmVmPVxcXCJcIi4kX1NFUlZFUltcJ1NDUklQVF9OQU1FXCddLlwiP2ltZz1pY29uXFxcIiAvPg0KXCIuJHNoZWxsX3N0eWxlLlwiDQo8c2NyaXB0IHR5cGU9XFxcInRleHQvamF2YXNjcmlwdFxcXCI+DQpmdW5jdGlvbiB1cGRhdGVJbmZvKGJveGlkLHR5cCl7DQoJaWYodHlwID09IDApew0KCQl2YXIgcG9sYSA9IFwnZXhhbXBsZTogKHVzaW5nIG5ldGNhdCkgcnVuICZxdW90O25jIC1sIC1wIF9fUE9SVF9fJnF1b3Q7IGFuZCB0aGVuIHByZXNzIENvbm5lY3RcJzsNCgl9DQoJZWxzZXsNCgkJdmFyIHBvbGEgPSBcJ2V4YW1wbGU6ICh1c2luZyBuZXRjYXQpIHByZXNzICZxdW90O0xpc3RlbiZxdW90OyBhbmQgdGhlbiBydW4gJnF1b3Q7bmMgXCIuJHhTZXJ2ZXJJUC5cIiBfX1BPUlRfXyZxdW90O1wnOw0KCX0NCg0KCXZhciBwb3J0bnVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYm94aWQpLnZhbHVlOw0KDQoJdmFyIGhhc2lsID0gcG9sYS5yZXBsYWNlKFwnX19QT1JUX19cJywgcG9ydG51bSk7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYm94aWQrXCdfXCcpLmlubmVySFRNTCA9IGhhc2lsOw0KfQ0KZnVuY3Rpb24gc2hvdyhib3hpZCl7DQoJdmFyIGJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGJveGlkKTsNCglpZihib3guc3R5bGUuZGlzcGxheSAhPSBcJ2lubGluZVwnKXsNCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCduZXdmaWxlXCcpLnN0eWxlLmRpc3BsYXkgPSBcJ25vbmVcJzsNCgkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCduZXdmb2xkZXJcJykuc3R5bGUuZGlzcGxheSA9IFwnbm9uZVwnOw0KCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcJ25ld3VwbG9hZFwnKS5zdHlsZS5kaXNwbGF5ID0gXCdub25lXCc7DQoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwnbmV3Y2hpbGRcJykuc3R5bGUuZGlzcGxheSA9IFwnbm9uZVwnOw0KCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcJ25ld2Nvbm5lY3RcJykuc3R5bGUuZGlzcGxheSA9IFwnbm9uZVwnOw0KCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcJ2Rpdl9ldmFsXCcpLnN0eWxlLmRpc3BsYXkgPSBcJ25vbmVcJzsNCg0KCQlib3guc3R5bGUuZGlzcGxheSA9IFwnaW5saW5lXCc7DQoJCWJveC5mb2N1cygpOw0KCX0NCgllbHNlIGJveC5zdHlsZS5kaXNwbGF5ID0gXCdub25lXCc7DQp9DQpmdW5jdGlvbiBoaWdobGlnaHRoZXhkdW1wKGFkZHJlc3Mpew0KCXZhciB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChhZGRyZXNzKTsNCgl0YXJnZXQuc3R5bGUuYmFja2dyb3VuZCA9IFwnXCIuJHNoZWxsX2NvbG9yLlwiXCc7DQp9DQpmdW5jdGlvbiB1bmhpZ2hsaWdodGhleGR1bXAoYWRkcmVzcyl7DQoJdmFyIHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGFkZHJlc3MpOw0KCXRhcmdldC5zdHlsZS5iYWNrZ3JvdW5kID0gXCdub25lXCc7DQp9DQo8L3NjcmlwdD4NClwiOw0KJGh0bWxfYm9keSA9IFwiDQo8ZGl2IGlkPVxcXCJ3cmFwcGVyXFxcIj4NCjxoMSBvbm1vdXNlb3Zlcj1cXFwidGhpcy5zdHlsZS5jdXJzb3I9XCdwb2ludGVyXCc7dGhpcy5zdHlsZS5jdXJzb3I9XCdoYW5kXCc7XFxcIiAgb25jbGljaz1cXFwid2luZG93LmxvY2F0aW9uPSBcJz9cJztcXFwiPjxhIGhyZWY9XFxcIj9cXFwiPjxpbWcgc3JjPVwnaHR0cDovL2ltZ25vdy5jb20vdXBsb2Fkcy83MTUwMzI0MzNzeW5jLnBuZ1wnPC9pbWc+PC9hPjwvaDE+DQo8ZGl2IGNsYXNzPVxcXCJib3hcXFwiPlwiLiR4SGVhZGVyLlwiDQo8ZGl2IGNsYXNzPVxcXCJmcGF0aFxcXCI+DQpcIi54ZHJpdmUoKS54cGFyc2VkaXIoJHhDd2QpLlwiDQo8L2Rpdj4NCjxkaXYgY2xhc3M9XFxcIm1lbnVcXFwiPg0KPGEgaHJlZj1cXFwiamF2YXNjcmlwdDpzaG93KFwnbmV3ZmlsZVwnKTtcXFwiPjxzcGFuIGNsYXNzPVxcXCJnYXVsXFxcIj5bIDwvc3Bhbj4gTmV3IEZpbGU8c3BhbiBjbGFzcz1cXFwiZ2F1bFxcXCI+IF08L3NwYW4+PC9hPg0KPGEgaHJlZj1cXFwiamF2YXNjcmlwdDpzaG93KFwnbmV3Zm9sZGVyXCcpO1xcXCI+PHNwYW4gY2xhc3M9XFxcImdhdWxcXFwiPlsgPC9zcGFuPk5ldyBGb2xkZXI8c3BhbiBjbGFzcz1cXFwiZ2F1bFxcXCI+IF08L3NwYW4+PC9hPg0KPGEgaHJlZj1cXFwiamF2YXNjcmlwdDpzaG93KFwnbmV3Y2hpbGRcJyk7XFxcIj48c3BhbiBjbGFzcz1cXFwiZ2F1bFxcXCI+WyA8L3NwYW4+UmVwbGljYXRlPHNwYW4gY2xhc3M9XFxcImdhdWxcXFwiPiBdPC9zcGFuPjwvYT4NCjxhIGhyZWY9XFxcImphdmFzY3JpcHQ6c2hvdyhcJ25ld3VwbG9hZFwnKTtcXFwiPjxzcGFuIGNsYXNzPVxcXCJnYXVsXFxcIj5bIDwvc3Bhbj5VcGxvYWQ8c3BhbiBjbGFzcz1cXFwiZ2F1bFxcXCI+IF08L3NwYW4+PC9hPg0KPGEgaHJlZj1cXFwiamF2YXNjcmlwdDpzaG93KFwnbmV3Y29ubmVjdFwnKTtcXFwiPjxzcGFuIGNsYXNzPVxcXCJnYXVsXFxcIj5bIDwvc3Bhbj5CaW5kU2hlbGw8c3BhbiBjbGFzcz1cXFwiZ2F1bFxcXCI+IF08L3NwYW4+PC9hPg0KPGEgaHJlZj1cXFwiamF2YXNjcmlwdDpzaG93KFwnZGl2X2V2YWxcJyk7XFxcIj48c3BhbiBjbGFzcz1cXFwiZ2F1bFxcXCI+WyA8L3NwYW4+UEhQIEV2YWw8c3BhbiBjbGFzcz1cXFwiZ2F1bFxcXCI+IF08L3NwYW4+PC9hPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPVxcXCJoaWRkZW5cXFwiIGlkPVxcXCJuZXdjb25uZWN0XFxcIj4NCjxmb3JtIG1ldGhvZD1cXFwiZ2V0XFxcIiBhY3Rpb249XFxcIj9cXFwiIHN0eWxlPVxcXCJkaXNwbGF5OmlubGluZTttYXJnaW46MDtwYWRkaW5nOjA7XFxcIj4NCjx0YWJsZSBjbGFzcz1cXFwidGJsQm94XFxcIiBzdHlsZT1cXFwid2lkdGg6MTAwJTtcXFwiPg0KPGlucHV0IHR5cGU9XFxcImhpZGRlblxcXCIgbmFtZT1cXFwiZGlyXFxcIiB2YWx1ZT1cXFwiXCIuJHhDd2QuXCJcXFwiIC8+DQo8dHI+PHRkIHN0eWxlPVxcXCJ3aWR0aDoxMzBweDtcXFwiPkJhY2tDb25uZWN0PC90ZD48dGQgc3R5bGU9XFxcIndpZHRoOjIwMHB4O1xcXCI+DQpQb3J0Jm5ic3A7PGlucHV0IG1heGxlbmd0aD1cXFwiNVxcXCIgaWQ9XFxcImJhY2tDXFxcIiBvbmtleXVwPVxcXCJ1cGRhdGVJbmZvKFwnYmFja0NcJywwKTtcXFwiIHN0eWxlPVxcXCJ3aWR0aDo2MHB4O1xcXCIgdHlwZT1cXFwidGV4dFxcXCIgbmFtZT1cXFwiYnBvcnRDXFxcIiB2YWx1ZT1cXFwiXCIuJGJwb3J0Qy5cIlxcXCIgLz4NCjxpbnB1dCBzdHlsZT1cXFwid2lkdGg6MTAwcHg7XFxcIiB0eXBlPVxcXCJzdWJtaXRcXFwiIGNsYXNzPVxcXCJidG5cXFwiIG5hbWU9XFxcImJ0bkNvbm5lY3RcXFwiIHZhbHVlPVxcXCJDb25uZWN0XFxcIiAvPg0KPC90ZD4NCjx0ZD48c3BhbiBpZD1cXFwiYmFja0NfXFxcIiBjbGFzcz1cXFwibXNnY29uXFxcIj5leGFtcGxlOiAodXNpbmcgbmV0Y2F0KSBydW4gJnF1b3Q7bmMgLWwgLXAgXCIuJGJwb3J0Qy5cIiZxdW90OyBhbmQgdGhlbiBwcmVzcyBDb25uZWN0PC9zcGFuPjwvdGQ+DQo8L3RyPg0KPHRyPjx0ZD5MaXN0ZW48L3RkPjx0ZD4NClBvcnQmbmJzcDs8aW5wdXQgbWF4bGVuZ3RoPVxcXCI1XFxcIiBpZD1cXFwibGlzdGVuQ1xcXCIgb25rZXl1cD1cXFwidXBkYXRlSW5mbyhcJ2xpc3RlbkNcJywxKTtcXFwiIHN0eWxlPVxcXCJ3aWR0aDo2MHB4O1xcXCIgdHlwZT1cXFwidGV4dFxcXCIgbmFtZT1cXFwibHBvcnRDXFxcIiB2YWx1ZT1cXFwiXCIuJGxwb3J0Qy5cIlxcXCIgLz4NCjxpbnB1dCBzdHlsZT1cXFwid2lkdGg6MTAwcHg7XFxcIiB0eXBlPVxcXCJzdWJtaXRcXFwiIGNsYXNzPVxcXCJidG5cXFwiIG5hbWU9XFxcImJ0bkxpc3RlblxcXCIgdmFsdWU9XFxcIkxpc3RlblxcXCIgLz4NCjwvdGQ+DQo8dGQ+PHNwYW4gaWQ9XFxcImxpc3RlbkNfXFxcIiBjbGFzcz1cXFwibXNnY29uXFxcIj5leGFtcGxlOiAodXNpbmcgbmV0Y2F0KSBwcmVzcyAmcXVvdDtMaXN0ZW4mcXVvdDsgYW5kIHRoZW4gcnVuICZxdW90O25jIFwiLiR4U2VydmVySVAuXCIgXCIuJGxwb3J0Qy5cIiZxdW90Ozwvc3Bhbj48L3RkPg0KPC90cj4NCjwvdGFibGU+DQo8L2Zvcm0+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9XFxcImhpZGRlblxcXCIgaWQ9XFxcIm5ld2ZvbGRlclxcXCI+DQo8Zm9ybSBtZXRob2Q9XFxcImdldFxcXCIgYWN0aW9uPVxcXCI/XFxcIiBzdHlsZT1cXFwiZGlzcGxheTppbmxpbmU7bWFyZ2luOjA7cGFkZGluZzowO1xcXCI+DQo8aW5wdXQgdHlwZT1cXFwiaGlkZGVuXFxcIiBuYW1lPVxcXCJkaXJcXFwiIHZhbHVlPVxcXCJcIi4keEN3ZC5cIlxcXCIgLz4NCjx0YWJsZSBjbGFzcz1cXFwidGJsQm94XFxcIiBzdHlsZT1cXFwid2lkdGg6NTYwcHg7XFxcIj4NCjx0cj48dGQgc3R5bGU9XFxcIndpZHRoOjEyMHB4O1xcXCI+TmV3IEZvbGRlcm5hbWU8L3RkPjx0ZCBzdHlsZT1cXFwid2lkdGg6MzA0cHg7XFxcIj4NCjxpbnB1dCBzdHlsZT1cXFwid2lkdGg6MzAwcHg7XFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIiBuYW1lPVxcXCJmb2xkZXJuYW1lXFxcIiB2YWx1ZT1cXFwibmV3Zm9sZGVyXFxcIiAvPg0KPC90ZD48dGQ+DQo8aW5wdXQgc3R5bGU9XFxcIndpZHRoOjEwMHB4O1xcXCIgdHlwZT1cXFwic3VibWl0XFxcIiBjbGFzcz1cXFwiYnRuXFxcIiBuYW1lPVxcXCJidG5OZXdmb2xkZXJcXFwiIHZhbHVlPVxcXCJDcmVhdGVcXFwiIC8+DQo8L3RkPjwvdHI+DQo8L3RhYmxlPg0KPC9mb3JtPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPVxcXCJoaWRkZW5cXFwiIGlkPVxcXCJuZXdmaWxlXFxcIj4NCjxmb3JtIGFjdGlvbj1cXFwiP1xcXCIgbWV0aG9kPVxcXCJnZXRcXFwiIHN0eWxlPVxcXCJkaXNwbGF5OmlubGluZTttYXJnaW46MDtwYWRkaW5nOjA7XFxcIj4NCjxpbnB1dCB0eXBlPVxcXCJoaWRkZW5cXFwiIG5hbWU9XFxcImRpclxcXCIgdmFsdWU9XFxcIlwiLiR4Q3dkLlwiXFxcIiAvPg0KPHRhYmxlIGNsYXNzPVxcXCJ0YmxCb3hcXFwiIHN0eWxlPVxcXCJ3aWR0aDo1NjBweDtcXFwiPg0KPHRyPjx0ZCBzdHlsZT1cXFwid2lkdGg6MTIwcHg7XFxcIj5OZXcgRmlsZW5hbWU8L3RkPjx0ZCBzdHlsZT1cXFwid2lkdGg6MzA0cHg7XFxcIj4NCjxpbnB1dCBzdHlsZT1cXFwid2lkdGg6MzAwcHg7XFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIiBuYW1lPVxcXCJmaWxlbmFtZVxcXCIgdmFsdWU9XFxcIm5ld2ZpbGVcXFwiIC8+DQo8L3RkPjx0ZD4NCjxpbnB1dCBzdHlsZT1cXFwid2lkdGg6MTAwcHg7XFxcIiB0eXBlPVxcXCJzdWJtaXRcXFwiIGNsYXNzPVxcXCJidG5cXFwiIG5hbWU9XFxcImJ0bk5ld2ZpbGVcXFwiIHZhbHVlPVxcXCJDcmVhdGVcXFwiIC8+DQo8L3RkPjwvdHI+DQo8L2Zvcm0+DQo8L3RhYmxlPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPVxcXCJoaWRkZW5cXFwiIGlkPVxcXCJuZXd1cGxvYWRcXFwiPg0KPGZvcm0gbWV0aG9kPVxcXCJwb3N0XFxcIiBhY3Rpb249XFxcIj9kaXI9XCIuJHhDd2QuXCJcXFwiIGVuY3R5cGU9XFxcIm11bHRpcGFydC9mb3JtLWRhdGFcXFwiIHN0eWxlPVxcXCJkaXNwbGF5OmlubGluZTttYXJnaW46MDtwYWRkaW5nOjA7XFxcIj4NCjx0YWJsZSBjbGFzcz1cXFwidGJsQm94XFxcIiBzdHlsZT1cXFwid2lkdGg6NTYwcHg7XFxcIj4NCjx0cj48dGQgc3R5bGU9XFxcIndpZHRoOjEyMHB4O1xcXCI+U2F2ZSBhczwvdGQ+PHRkPjxpbnB1dCBzdHlsZT1cXFwid2lkdGg6MzAwcHg7XFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIiBuYW1lPVxcXCJmaWxlbmFtZVxcXCIgdmFsdWU9XFxcIlxcXCIgLz48L3RkPjwvdHI+DQo8dHI+PHRkIHN0eWxlPVxcXCJ3aWR0aDoxMjBweDtcXFwiPkZyb20gVXJsPC90ZD48dGQgc3R5bGU9XFxcIndpZHRoOjMwNHB4O1xcXCI+DQo8aW5wdXQgc3R5bGU9XFxcIndpZHRoOjMwMHB4O1xcXCIgdHlwZT1cXFwidGV4dFxcXCIgbmFtZT1cXFwiZmlsZXVybFxcXCIgdmFsdWU9XFxcIlxcXCIgLz4NCjwvdGQ+PHRkPjxpbnB1dCBzdHlsZT1cXFwid2lkdGg6MTAwcHg7XFxcIiB0eXBlPVxcXCJzdWJtaXRcXFwiIGNsYXNzPVxcXCJidG5cXFwiIG5hbWU9XFxcImJ0bk5ld1VwbG9hZFVybFxcXCIgdmFsdWU9XFxcIkdldFxcXCIgLz48L3RkPjwvdHI+DQo8dHI+PHRkIHN0eWxlPVxcXCJ3aWR0aDoxMjBweDtcXFwiPkZyb20gQ29tcHV0ZXI8L3RkPjx0ZCBzdHlsZT1cXFwid2lkdGg6MzA0cHg7XFxcIj4NCjxpbnB1dCBzdHlsZT1cXFwid2lkdGg6MzAwcHg7XFxcIiB0eXBlPVxcXCJmaWxlXFxcIiBuYW1lPVxcXCJmaWxlbG9jYWxcXFwiIC8+DQo8L3RkPjx0ZD4NCjxpbnB1dCBzdHlsZT1cXFwid2lkdGg6MTAwcHg7XFxcIiB0eXBlPVxcXCJzdWJtaXRcXFwiIGNsYXNzPVxcXCJidG5cXFwiIG5hbWU9XFxcImJ0bk5ld1VwbG9hZExvY2FsXFxcIiB2YWx1ZT1cXFwiR2V0XFxcIiAvPg0KPC90ZD48L3RyPg0KPC90YWJsZT4NCjwvZm9ybT4NCjwvZGl2Pg0KPGRpdiBjbGFzcz1cXFwiaGlkZGVuXFxcIiBpZD1cXFwibmV3Y2hpbGRcXFwiPg0KPGZvcm0gbWV0aG9kPVxcXCJnZXRcXFwiIGFjdGlvbj1cXFwiP1xcXCIgc3R5bGU9XFxcImRpc3BsYXk6aW5saW5lO21hcmdpbjowO3BhZGRpbmc6MDtcXFwiPg0KPGlucHV0IHR5cGU9XFxcImhpZGRlblxcXCIgbmFtZT1cXFwiZGlyXFxcIiB2YWx1ZT1cXFwiXCIuJHhDd2QuXCJcXFwiIC8+DQo8dGFibGUgY2xhc3M9XFxcInRibEJveFxcXCIgc3R5bGU9XFxcIndpZHRoOjU2MHB4O1xcXCI+DQo8dHI+PHRkIHN0eWxlPVxcXCJ3aWR0aDoxMjBweDtcXFwiPk5ldyBTaGVsbG5hbWU8L3RkPjx0ZCBzdHlsZT1cXFwid2lkdGg6MzA0cHg7XFxcIj4NCjxpbnB1dCBzdHlsZT1cXFwid2lkdGg6MzAwcHg7XFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIiBuYW1lPVxcXCJjaGlsZG5hbWVcXFwiIHZhbHVlPVxcXCJcIi4kc2hlbGxfbmFtZS5cIi5waHBcXFwiOyAvPg0KPC90ZD48dGQ+PGlucHV0IHN0eWxlPVxcXCJ3aWR0aDoxMDBweDtcXFwiIHR5cGU9XFxcInN1Ym1pdFxcXCIgY2xhc3M9XFxcImJ0blxcXCIgbmFtZT1cXFwiYnRuTmV3Y2hpbGRcXFwiIHZhbHVlPVxcXCJDcmVhdGVcXFwiIC8+DQo8L3RkPjwvdHI+DQo8L3RhYmxlPg0KPC9mb3JtPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPVxcXCJoaWRkZW5cXFwiIGlkPVxcXCJkaXZfZXZhbFxcXCI+DQo8Zm9ybSBtZXRob2Q9XFxcImdldFxcXCIgYWN0aW9uPVxcXCI/XFxcIiBzdHlsZT1cXFwiZGlzcGxheTppbmxpbmU7bWFyZ2luOjA7cGFkZGluZzowO1xcXCI+DQo8aW5wdXQgdHlwZT1cXFwiaGlkZGVuXFxcIiBuYW1lPVxcXCJkaXJcXFwiIHZhbHVlPVxcXCJcIi4keEN3ZC5cIlxcXCIgLz4NCjx0YWJsZSBjbGFzcz1cXFwidGJsQm94XFxcIiBzdHlsZT1cXFwid2lkdGg6NTYwcHg7XFxcIj4NCjx0cj48dGQ+DQo8dGV4dGFyZWEgbmFtZT1cXFwiZXZhbFxcXCIgc3R5bGU9XFxcIndpZHRoOjEwMCU7aGVpZ2h0OjEwMHB4O1xcXCI+PC90ZXh0YXJlYT4NCjwvdGQ+PC90cj48dHI+DQo8dGQgc3R5bGU9XFxcInRleHQtYWxpZ246cmlnaHQ7XFxcIj48aW5wdXQgc3R5bGU9XFxcIndpZHRoOjEwMHB4O1xcXCIgdHlwZT1cXFwic3VibWl0XFxcIiBjbGFzcz1cXFwiYnRuXFxcIiBuYW1lPVxcXCJidG5FdmFsXFxcIiB2YWx1ZT1cXFwiRXZhbFxcXCIgLz48L3RkPjwvdHI+DQo8L3RhYmxlPg0KPC9mb3JtPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPVxcXCJib3R0b213cmFwcGVyXFxcIj4NCjxkaXYgY2xhc3M9XFxcImNtZGJveFxcXCI+DQo8Zm9ybSBhY3Rpb249XFxcIj9cXFwiIG1ldGhvZD1cXFwiZ2V0XFxcIj4NCjxpbnB1dCB0eXBlPVxcXCJoaWRkZW5cXFwiIG5hbWU9XFxcImRpclxcXCIgdmFsdWU9XFxcIlwiLiR4Q3dkLlwiXFxcIiAvPg0KPHRhYmxlIHN0eWxlPVxcXCJ3aWR0aDoxMDAlO1xcXCI+PHRyPg0KPHRkIHN0eWxlPVxcXCJ3aWR0aDo4OCU7XFxcIj48aW5wdXQgdHlwZT1cXFwidGV4dFxcXCIgaWQ9XFxcImNtZFxcXCIgbmFtZT1cXFwiY21kXFxcIiB2YWx1ZT1cXFwiXFxcIiBzdHlsZT1cXFwid2lkdGg6MTAwJTtcXFwiIC8+PC90ZD4NCjx0ZCBzdHlsZT1cXFwid2lkdGg6MTAlO1xcXCI+PGlucHV0IHR5cGU9XFxcInN1Ym1pdFxcXCIgY2xhc3M9XFxcImJ0blxcXCIgbmFtZT1cXFwiYnRuQ29tbWFuZFxcXCIgc3R5bGU9XFxcIndpZHRoOjEyMHB4O1xcXCIgdmFsdWU9XFxcIkVYRUNVVEVcXFwiIC8+PC90ZD48L3RyPjwvdGFibGU+DQo8L2Zvcm0+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9XFxcInJlc3VsdFxcXCIgaWQ9XFxcInJlc3VsdFxcXCI+DQpcIi4kcmVzdWx0LlwiDQo8L2Rpdj48L2Rpdj48L2Rpdj48YnI+DQo8aDE+PGJyPjxjZW50ZXI+PGZvbnQgY29sb3I9d2hpdGU+JmNvcHkyMDE1IFNoZWxsIEJhY2tkb29yIFJlLUNvZGVkIEJ5IDxhIGhyZWY9XCdodHRwOi8vZmIuY29tL2FubmFtY29kZXIvXCc+U3luY2hyb25pemVyPC9hPjxicj5Qcm91ZGx5IFBvd2VyZWQgQnkgU2FuanVuZ2FuIEppd2EgVGVhbTxicj5JbmRvbmVzaWFuIEhhY2tlciAtIFByaW5nc2V3dSBDeWJlciBMZWFybmluZyAtIEluZG9uZXNpYW4gQ29kZXI8L2ZvbnQ+PC9jZW50ZXI8L2gxPg0KPC9kaXY+DQpcIjsNCn0NCmVsc2Ugew0KCSRodG1sX3RpdGxlID0gXCJbK10gU1lOQ0hST05JWkVSIFNIRUxMIEJBQ0tET09SXCI7DQoJJGh0bWxfaGVhZCA9IFwiPHRpdGxlPlwiLiRodG1sX3RpdGxlLlwiPC90aXRsZT5cIi4kc2hlbGxfc3R5bGU7DQoJJGh0bWxfYm9keSA9IFwiPGRpdiBzdHlsZT1cXFwibWFyZ2luOjMwcHg7XFxcIj4NCjxkaXY+DQo8Zm9ybSBhY3Rpb249XFxcIj9cXFwiIG1ldGhvZD1cXFwicG9zdFxcXCI+DQo8YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj4NCjxkaXYgc3R5bGU9XFxcImZvbnQtc2l6ZToxMHB4O1xcXCI+WU9VIE1VU1QgTE9HSU4gRk9SIEFDRVNTIFRISVMgU0hFTEwgITwvZGl2Pjxicj4NCjxpbnB1dCBpZD1cXFwiY21kXFxcIiB0eXBlPVxcXCJ0ZXh0XFxcIiBuYW1lPVxcXCJwYXNzd1xcXCIgdmFsdWU9XFxcIlxcXCIgLz4NCjxpbnB1dCB0eXBlPVxcXCJzdWJtaXRcXFwiIG5hbWU9XFxcImJ0bnBhc3N3ZFxcXCIgdmFsdWU9XFxcIkxvZ2luXFxcIiAvPg0KPC9mb3JtPg0KPC9kaXY+DQoNCjwvZGl2Pg0KXCI7DQp9DQppZihpc3NldCgkX0dFVFtcJ2NtZFwnXSkgfHwgaXNzZXQoJF9QT1NUW1wncGFzc3dcJ10pKSAkaHRtbF9vbmxvYWQgPSBcIm9ubG9hZD1cXFwiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCdjbWRcJykuZm9jdXMoKTtcXFwiXCI7DQplbHNlICRodG1sX29ubG9hZCA9IFwiXCI7DQokaHRtbF9maW5hbCA9IFwiPGh0bWw+DQo8aGVhZD4NClwiLiRodG1sX2hlYWQuXCINCjwvaGVhZD4NCjxib2R5IFwiLiRodG1sX29ubG9hZC5cIj4NCjxkaXYgaWQ9XFxcIm1haW53cmFwcGVyXFxcIj4NClwiLiRodG1sX2JvZHkuXCINCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPlwiOw0KZWNobyBwcmVnX3JlcGxhY2UoXCIvXFxzKy9cIixcIiBcIiwkaHRtbF9maW5hbCk7DQo/Pg==
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement