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kXdEADp3RABVd0QAaXdEAP13RAAYeEQAu3NEAIxzRACgc0QAkHFEAKdxRAC+cUQA8HFEAAdyRAA1ckQAanREAB9zRAA2c0QAYXNEABF0RAB1c0QA43NEAPd1RACQdEQA4HVEAHJ4RAA/dEQAeHJEAE5xRAB5cUQAYnFEAL13RAAadUQAoHhEAD91RADhdkQAe4hEADdxRAAjcUQAA3VEAA15RACAeUQAbHZEACh0RADKdkQAZHVEAI9yRAALdkQA3HJEAP15RACXeUQAsnlEABF6RADpeUQAKHpEACN3RABNc0QAL3hEAEV4RAA/ekQAVnpEAA93RACpd0QA1XdEAG16RACEekQAm3pEAK96RABTdEQAgHZEAMN6RAD2eEQAC3NEALN2RADXekQA63pEAPh2RAAWe0QAGXxEAC18RAD6c0QAXnhEAOl3RABEfEQAW3xEAG98RADGeUQA/3pEAIN8RACafEQAzHVEAO10RACxfEQAyHxEALF1RAD0ckQAHnJEAIl4RAC+eEQAz3NEAJqXRAAAZWVlZWVlZWVlAQJlZWVlAwQFZWVlZWUGZWVlZQcICWVlZWVlZQoLDA0ODxARZRITFBUPZWVlFhcYGWVlGmVlZRscZR1lZR4fZWUgZSEiZWUjJGVlZWUlJidlZWUoZSkqZStlZWUsLS5lZS8wMTIzZWVlZTRlNWVlZWVlZWU2ZWVlZWVlNzg5Ojs8ZWVlZWVlZWU9ZWVlPj9AQUJDREVlZWVlRmVlZWVHSGVlZWVlSWVKS0xlZWVlZU1OZWVlT09lZVBlZWVlZWVlZWVRZWVSZVNUVVZXZVhlZWVlZWVZWltlXGVlJSVdZWVeZV9lZWBlJWFlZWJjZCx7RABAe0QAVHtEAGh7RAB8e0QAkHtEAKR7RAC4e0QAzHtEAOB7RAD0e0QAwoREAFWFRABVhEQA3YVEAFCGRABzhkQAQYVEAK6ERACbfkQA835EANaERAB7f0QA6H9EAMB/RADOfkQADIdEACCIRAAohkQAmoREAC2ARAAQhEQAzIZEAACGRAA8hkQAiYhEAM6IRAA5iUQAfolEAHl9RAC+fUQAnIBEADR9RABRh0QAlodEANuHRABliEQAFIZEALiGRAB7iEQAkolEAEh+RADjikQA1H9EAAN+RAD4hkQA94pEAAyBRAA8i0QAgYtEAJqXRAAAATECAwQFMQYHMTExMQgJCgsxMTEMDQ4PEDEREjETMTExMRQVMRYxMTExMTExMTExMTExMTExMRcxMTExGBkxGjExMTEbMTExMTEcHTExMTEeHzExICEiIzExMSQxJTEmMTEnMSgpKjExMTEmMTExMTExMTErMTExMTExMTExMTExLDExLS4xMTExMTExMTExMS8xMA8fAB2MRAD8j0QArpFEADiSRAD/jUQARI5EAC2PRAByj0QAt49EAHWNRADWkkQAYJNEAHSTRAC5k0QA/pNEAEOURABXlEQAa5REABOPRAB9kkQAe4hEABuTRADOjkQAiY5EAByNRAC6jUQAkZJEALF1RAB/lEQAaZFEABCQRABVkEQAmpBEAN+QRAAkkUQA2ItEAPORRAAwjUQAmpdEAAAmJgECAyYmBAUGBwgmCSYmJiYmJgoLJiYMDQ4mJg8mJiYmJhAREiYmJiYmEyYUJiYmJiYVJiYWFBQUFyYmJhgmFCYmJiYJGSYaJhsbJhwmJh0UJiYmJiYmHh8gISIjJCYlFJBmlUQAAJVEAFKVRAA+lUQAe4hEAPGVRAC1lUQAyZVEAN2VRAAFlkQAGZZEAKGVRABBlkQAVZZEAGmWRAB9lkQALZZEAB+VRACal0QAABISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhIBEhISEhISEhISEhISEhISEhISEhISEgISEhISEhISEhISEhISEgMSEhISEhISEhISEhISBBISEhISEhISEhISEhISEhISEhISEgUSEhISEhISEhISEgYHCBISEgkSEhISEhISEhISEhISEgoSEhILEhISEhISEhISEhISEhISEhISEhISEhISEhISEgwSDQ4PEhISEhISEhASEhISEhISEhISEWCXRAB9l0QAy5ZEACaXRABDl0QAmpdEAAABBQUCBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFAwTMzMzMzMzMzMxWi/GLhrQBAACFwHQyUP8VfIlUAIPEBMeGtAEAAAAAAADHhrgBAAAAAAAAx4a8AQAAAAAAAMeGwAEAAAAAAACLhsQBAACFwHQyUP8VfIlUAIPEBMeGxAEAAAAAAADHhsgBAAAAAAAAx4bMAQAAAAAAAMeG0AEAAAAAAABew8zMzFNWi/FXhfYPhEcEAACNjpgFAADo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9v//O72o9v//D4RpBgAAg/kJD4UEAQAAhdsPhIYAAAAz9r8Aypo7M8mLhI0w/v//9+cDxomEjTD+//+D0gBBi/I7y3Xki73E9v//hfZ0S4uFLP7//4P4c3MWibSFMP7//4udLP7//0OJnSz+///rMDPAUImF7Pb//4mFLP7//42F8Pb//1CNhTD+//9ozAEAAFDoYa3//4PEEIudLP7//4u13Pb//4X2dG4z0oXbdBgzwAG0lTD+//+LnSz+//8TwEKL8DvTdeiF9nRMg/tzcxaJtJ0w/v//i50s/v//Q4mdLP7//+sxg6Xs9v//AI2F8Pb//4OlLP7//wBqAFCNhTD+//9ozAEAAFDo6az//4udLP7//4PEEDP2M8kPtgdr9goD8EFHibXc9v//ib3E9v//O72o9v//D4XR/v//iZ3o9v//hckPhDAFAACLwTPSagpZ9/GJhdD2//+LyomNzPb//4XAD4SiAwAAg/gmdgNqJlgPtgyFZndJAA+2NIVnd0kAi/mJhdj2///B5wJXjQQxiYXs9v//jYXw9v//agBQ6FZL//+LxsHgAlCLhdj2//8PtwSFZHdJAI0EhWBuSQBQjYXw9v//A8dQ6NxY//+Lhez2//8zyUGDxBg7wQ+H1QAAAIu98Pb//4X/dUMzwFCJhYz6//+JhSz+//+NhZD6//9QaMwBAACNhTD+//9Q6OOr//+DxBCLjSz+//+wAYmN6Pb//4ud6Pb//+m6AgAAO/l1BIrB6+2F23T4M8kz9ovH96S1MP7//wPBiYS1MP7//4PSAEaLyjvzdeSFyXS3i4Us/v//g/hzcxaJjIUw/v//i40s/v//QYmNLP7//+ucM9uNhfD2//9TUI2FMP7//4md7Pb//2jMAQAAUImdLP7//+hPq///i40s/v//g8QQisPpZ////zvZD4esAAAAi50w/v//vswBAACJhSz+///B4AJQjYXw9v//UI2FMP7//1ZQ6A6r//+DxBAzwIXbdRpQiYXs9v//iYUs/v//jYXw9v//UFbp/P7//4uNLP7//0CJjej2//872A+EBP///4XJD4T8/v//M/Yz/4vD96S9MP7//wPGiYS9MP7//4PSAEeL8jv5deSF9g+Exv7//4uFLP7//4P4cw+DIf///4m0hTD+///pBv///zvDjbXw9v//D5LBcgaNtTD+//+Jtej2//+NlTD+//+EyXUGjZXw9v//iZXE9v//hMl0CovQiZXU9v//6wiL04md1Pb//4TJdQKL2DPAM/+JhYz6//+F0g+E7gAAAIM8vgB1Hjv4D4XXAAAAg6S9kPr//wCNRwGJhYz6///pwQAAADPSM8mJleD2//+L94XbD4SYAAAAg/5zdFs78HUTg6S1kPr//wCNRwEDwYmFjPr//4uFxPb//4uV6Pb//4sEiPckugOEtZD6//+D0gADheD2//+JhLWQ+v//i4WM+v//g9IAQYmV4Pb//0aJlbj2//87y3WghdJ0NIP+cw+E7QAAADvwdRGDpLWQ+v//AI1GAYmFjPr//zPAAZS1kPr//xPARovQi4WM+v//68iD/nMPhLkAAACLldT2//+Ltej2//9HO/oPhRL///+JhSz+///B4AJQjYWQ+v//UI2FMP7//2jMAQAAUOgeqf//sAGLnSz+//+DxBCJnej2//+EwHQxi4XQ9v//K4XY9v//iYXQ9v//D4Vk/P//i43M9v//hckPhM0AAACLPI38d0kAhf91aoOl0PT//wCNhdT0//+DpSz+//8AagBQjYUw/v//aMwBAABQ6LCo//+DxBCLjSz+//+Jjej2///pjAAAADPbjYXU9P//U1CNhTD+//+JndD0//9ozAEAAFCJnSz+///odaj//4rD6VL///+D/wF0U4XbdE8z9jPJi8f3pI0w/v//A8aJhI0w/v//g9IAQYvyO8t15IX2dJSLhSz+//+D+HMPg1r///+JtIUw/v//i40s/v//QYmN6Pb//4mNLP7//+sGi43o9v//i7Xc9v//hfYPhIYAAAAz0oXJdB6LxjP2AYSVMP7//4uNLP7//xP2iY3o9v//QjvRdeKF9nReg/lzcxyJtI0w/v//i50s/v//Q4md6Pb//4mdLP7//+tDg6XQ9P//AI2F1PT//4OlLP7//wBqAFCNhTD+//9ozAEAAFDokaf//4udLP7//4PEEImd6Pb//+sKi9nrBoud6Pb//4uFyPb//4XAD4QMBAAAagoz0ln38YmF4Pb//4vKiY3M9v//hcAPhKYDAACD+CZ2A2omWA+2DIVmd0kAD7Y0hWd3SQCL+YmF3Pb//8HnAleNBDGJhez2//+NhfD2//9qAFDoFEb//4vGweACUIuF3Pb//w+3BIVkd0kAjQSFYG5JAFCNhfD2//8Dx1DomlP//4uF7Pb//zPJQYPEGDvBD4fVAAAAi73w9v//hf91QzPAUImF0PT//4mFLP7//42F1PT//1BozAEAAI2FMP7//1Dooab//4PEEIuNLP7//7ABiY3o9v//i53o9v//6boCAAA7+XUEisHr7YXbdPgz9jPJi8f3pI0w/v//A8aJhI0w/v//g9IAQYvyO8t15IX2dLeLhSz+//+D+HNzFom0hTD+//+LjSz+//9BiY0s/v//65wz242F1PT//1NQjYUw/v//iZ3Q9P//aMwBAABQiZ0s/v//6A2m//+LjSz+//+DxBCKw+ln////O9kPh6wAAACLnTD+//++zAEAAImFLP7//8HgAlCNhfD2//9QjYUw/v//VlDozKX//4PEEDPAhdt1GlCJhdD0//+JhSz+//+NhdT0//9QVun8/v//i40s/v//QImN6Pb//zvYD4QE////hckPhPz+//8z/zP2i8P3pLUw/v//A8eJhLUw/v//g9IARov6O/F15IX/D4TG/v//i4Us/v//g/hzD4Mh////ibyFMP7//+kG////O8ONtfD2//8PksFyBo21MP7//4m12Pb//42VMP7//4TJdQaNlfD2//+JldD2//+EyXQKi9CJlcT2///rCIvTiZ3E9v//hMl1AovYM8Az/4mFjPr//4XSD4TuAAAAgzy+AHUeO/gPhdcAAACDpL2Q+v//AI1HAYmFjPr//+nBAAAAM9IzyYmV1Pb//4v3hdsPhJgAAACD/nN0WzvwdRODpLWQ+v//AI1HAQPBiYWM+v//i4XQ9v//i5XY9v//iwSI9yS6A4S1kPr//4PSAAOF1Pb//4mEtZD6//+LhYz6//+D0gBBiZXU9v//RomVuPb//zvLdaCF0nQ0g/5zD4T6AAAAO/B1EYOktZD6//8AjUYBiYWM+v//M8ABlLWQ+v//E8BGi9CLhYz6///ryIP+cw+ExgAAAIuVxPb//4u12Pb//0c7+g+FEv///4mFLP7//8HgAlCNhZD6//9QjYUw/v//aMwBAABQ6Nyj//+DxBCwAYudLP7//4md6Pb//4TAD4SnAAAAi4Xg9v//K4Xc9v//iYXg9v//D4Vg/P//i43M9v//hcl0RYs8jfx3SQCF/w+FiAAAADPAUImF0PT//4mFLP7//42F1PT//1CNhTD+//9ozAEAAFDoa6P//4PEEIudLP7//4md6Pb//4XbD4XsAAAAM8npBQEAADPAUImF0PT//4mFLP7//42F1PT//1CNhTD+//9ozAEAAFDoJqP//4PEEDLA6UX///+DpdD0//8Ag6Us/v//AGoA62SD/wF0qYXbdK0z9jPJi8f3pI0w/v//A8aJhI0w/v//g9IAQYvyO8t15IX2D4Rx////i4Us/v//g/hzcxmJtIUw/v//i50s/v//Q4mdLP7//+lT////M8CJhdD0//+JhSz+//9QjYXU9P//UI2FMP7//2jMAQAAUOiOov//i4W89v//g8QQ/7Ws9v//D7aACAMAAFDomu7//1lZagNY6TMRAACLhJ0s/v//g6W49v//AA+9wHQDQOsCM8CNS//B4QUDyImNxPb//zuNsPb//w+DyhAAAIuF5Pb//4XAD4S8EAAAi5Wo9v//M9sz9omdXPz//zPJibXg9v//i/qJldz2//87laT2//8PhA8GAACD+QkPhQQBAACF2w+EhgAAADPJvgDKmjsz/4uEvWD8///35gPBiYS9YPz//4PSAEeLyjv7deSLteD2//+FyXRLi4Vc/P//g/hzcxaJjIVg/P//i51c/P//Q4mdXPz//+swM8BQiYXQ9P//iYVc/P//jYXU9P//UI2FYPz//2jMAQAAUOh0of//g8QQi51c/P//i73c9v//hfZ0bjPJhdt0GIvGM/YBhI1g/P//i51c/P//E/ZBO8t16IX2dEyD+3NzFom0nWD8//+LnVz8//9DiZ1c/P//6zGDpdD0//8AjYXU9P//g6Vc/P//AGoAUI2FYPz//2jMAQAAUOj8oP//i51c/P//g8QQM/YzyQ+2B2v2CgPwQUeJteD2//+Jvdz2//87vaT2//8PhdH+//+FyQ+E0gQAAIvBM9JqCln38YmFzPb//4vKiY3A9v//hcAPhFcDAACD+CZ2A2omWA+2DIVmd0kAD7Y0hWd3SQCL+YmF3Pb//8HnAleNBDGJhez2//+NhfD2//9qAFDobz///4vGweACUIuF3Pb//w+3BIVkd0kAjQSFYG5JAFCNhfD2//8Dx1Do9Uz//4uF7Pb//zPJQYPEGDvBD4ezAAAAi73w9v//hf91GjPAiYXQ9P//iYVc/P//UI2F1PT//+l3AgAAO/l1B4rB6YkCAACF23T1M8kz9ovH96S1YPz//wPBiYS1YPz//4PSAEaLyjvzdeSFyXRPi4Vc/P//g/hzcxaJjIVg/P//i51c/P//Q4mdXPz//+s0M9uNhdT0//9TUI2FYPz//4md0PT//2jMAQAAUImdXPz//+iOn///isPpCQIAAIudXPz//7AB6QUCAAA72Q+HiAAAAIu9YPz//7vMAQAAiYVc/P//weACUI2F8Pb//1CNhWD8//9TUOhJn///g8QQM8CF/3UaUImF0PT//4mFXPz//42F1PT//1BT6ZoBAACLnVz8//9AO/gPhKIBAACF2w+EmgEAADPJM/aLx/ektWD8//8DwYmEtWD8//+D0gBGi8o783Xk6RD///87w4298Pb//w+SwXIGjb1g/P//ib3Y9v//jZVg/P//hMl1Bo2V8Pb//4mV0Pb//4TJdAqL0ImVyPb//+sIi9OJncj2//+EyXUCi9gzwDP2iYWM+v//hdIPhOsAAACDPLcAdR478A+F1AAAAIOktZD6//8AjUYBiYWM+v//6b4AAAAz0jP/iZXU9v//i86F2w+ElQAAAIP5c3RYO8h1E4OkjZD6//8AjUYBA8KJhYz6//+LhdD2//+LBJCLldj2///3JLIDx4PSAAGEjZD6//+LhYz6//+D0gCL+ouV1Pb//0KJvbj2//9BiZXU9v//O9N1o4X/dDSD+XMPhA0BAAA7yHURg6SNkPr//wCNQQGJhYz6//+LxzP/AYSNkPr//4uFjPr//xP/QevIg/lzD4TZAAAAi5XI9v//i73Y9v//RjvyD4UV////iYVc/P//weACUI2FkPr//1BozAEAAI2FYPz//1DogJ3//7ABg8QQi51c/P//hMAPhMAAAACLhcz2//8rhdz2//+Jhcz2//8Pha/8//+LjcD2//+FyQ+E3AAAAIs8jfx3SQCF/w+EnQAAAIP/AQ+ExAAAAIXbD4S8AAAAM/YzyYvH96SNYPz//wPGiYSNYPz//4PSAEGL8jvLdeSF9g+EjgAAAIuFXPz//4P4c3NZibSFYPz//4udXPz//0OJnVz8///rczPAUImF0PT//4mFXPz//42F1PT//1CNhWD8//9ozAEAAFDot5z//4PEEDLA6TL///+DpdD0//8Ag6Vc/P//AGoA6w8zwFCJhVz8//+JhdD0//+NhdT0//9QjYVg/P//aMwBAABQ6HSc//+DxBCLnVz8//+LleD2//+F0nRuM8mF23QYi8Iz0gGEjWD8//+LnVz8//8T0kE7y3XohdJ0TIP7c3MWiZSdYPz//4udXPz//0OJnVz8///rMYOl0PT//wCNhdT0//+DpVz8//8AagBQjYVg/P//aMwBAABQ6Pyb//+LnVz8//+DxBCLheT2//+Ljbz2//+DOQB9AisBagoz0oOlxPj//wBe9/YzyUGJlcD2//+JjcD4//+JjeT2//+Jjbz4//+Jhdj2//+FwA+EowMAAIP4JnYLaiZbiZ3U9v//6wiL2ImF1Pb//w+2DJ1md0kAD7Y0nWd3SQCL+cHnAldqAI0EMYmF7Pb//42F8Pb//1DoaDr//4vGweACUA+3BJ1kd0kAjQSFYG5JAFCNhfD2//8Dx1Do9Ef//4uF7Pb//zPSQoPEGDvCD4eaAAAAi53w9v//hdt1QzPAUImF0PT//4mFvPj//42F1PT//1BozAEAAI2FwPj//1Do+5r//4PEEIuNvPj//7ABiY3k9v//i43k9v//6a0CAAA72nUEisLr7YuN5Pb//4XJdPIz/zP2i8P3pLXA+P//A8eJhLXA+P//g9IARov6O/F15OmtAAAAibyFwPj//4uNvPj//0GJjbz4///roIuN5Pb//zvKD4fXAAAAi53A+P//vswBAACJhbz4///B4AJQjYXw9v//UI2FwPj//1ZQ6Fua//+DxBAzwIXbdRpQiYXQ9P//iYW8+P//jYXU9P//UFbpMf///4uNvPj//0CJjeT2//872A+EOf///4XJD4Qx////M/8z9ovD96S1wPj//wPHiYS1wPj//4PSAEaL+jvxdeSF/w+E+/7//4uFvPj//4P4cw+CPP///zPbjYXU9P//U1CNhcD4//+JndD0//9ozAEAAFCJnbz4///ovZn//4uNvPj//4PEEIrD6b3+//87wY218Pb//w+SwnIGjbXA+P//ibXg9v//jZ3A+P//hNJ1Bo2d8Pb//4mdzPb//4TSdAqL2Imd0Pb//+sIi9mJjdD2//+E0nUCi8gzwDP/iYWM+v//hdsPhOsAAACDPL4AdR47+A+F1AAAAIOkvZD6//8AjUcBiYWM+v//6b4AAAAz0jPbiZXI9v//i/eFyQ+ElQAAAIP+c3RYO/B1E4OktZD6//8AjUcBA8KJhYz6//+Lhcz2//+LBJCLleD2///3JLoDw4PSAAGEtZD6//+LhYz6//+D0gCL2ouVyPb//0KJnbj2//9GiZXI9v//O9F1o4XbdDSD/nMPhAQBAAA78HURg6S1kPr//wCNRgGJhYz6//+LwzPbAYS1kPr//4uFjPr//xPbRuvIg/5zD4TQAAAAi53Q9v//i7Xg9v//Rzv7D4UV////iYW8+P//weACUI2FkPr//1CNhcD4//9ozAEAAFDoQ5j//4PEELABi428+P//iY3k9v//hMAPhLIAAACLhdj2//8rhdT2//+Jhdj2//8PhWn8//+LnVz8//+LlcD2//+F0g+ESAEAAIsElfx3SQCJhcD2//+FwA+FgwAAACGF0PT//yGFvPj//1CNhdT0//9QjYXA+P//aMwBAABQ6MSX//+LnVz8//+DxBCLjbz4//+JjeT2///p+gAAAIOl0PT//wCNhdT0//+Dpbz4//8AagBQjYXA+P//aMwBAABQ6IKX//+DxBAywOk6////g6XQ9P//AIOlvPj//wBqAOtzg/gBD4SnAAAAhckPhJ8AAAAz/zP296S1wPj//wPHiYS1wPj//4uFwPb//4PSAEaL+jvxdeCF/w+Ebv///4uFvPj//4P4c3McibyFwPj//4uNvPj//0GJjeT2//+Jjbz4///rUjPAiYXQ9P//iYW8+P//UI2F1PT//1CNhcD4//9ozAEAAFDo25b//4uFvPb//4PEEP+1rPb//w+2gAgDAABQ6Pzn//9ZWWoC6Uj0//+LjeT2//+F23UEM/brIIuEnVz8//+Dpbj2//8AD73AdANA6wIzwI1z/8HmBQPwhcl1BDPS6yCLhI28+P//g6W49v//AA+9wHQDQOsCM8CNUf/B4gUD0IvCK8Y78hvSI9CJldz2//8Phq0BAACL+ovyaiCD5x/B7gVZM8CJtdD2//8rz4m91Pb//0CJjdj2//8z0uhzsQEAi4ydXPz//0iDpbj2//8AD73JiYWg9v//99CJhcD2//90BY1BAesCM8BqIFmNFB4ryImNuPb//4mVyPb//4P6c3UIO/l2BLAB6wIywIP6cw+H8AAAAITAD4XoAAAAg/pycglqclqJlcj2//+LyomNzPb//4P6/w+ElgAAAIvyjYVg/P//i5XQ9v//K/KNBLCJheD2//87ynJtO/NzBIs46wIz/41G/zvDcwuLheD2//+LQPzrAjPAI4XA9v//I72g9v//i43Y9v//0+iLjdT2///T54uNzPb//wvHiYSNYPz//0mLheD2//9Og+gEiY3M9v//iYXg9v//g/n/dAiLnVz8///rj4uVyPb//4u10Pb//4X2dAyLzo29YPz//zPA86uLhdT2//+LjeT2//87hbj2//92C41aAYmdXPz//+s7i9rr9IOl0PT//wCNhdT0//+DpVz8//8AagBQjYVg/P//aMwBAABQ6LKU//+LnVz8//+DxBCLjbz4//+Lldz2//+LhbD2//+LvcT2//8rx4mFsPb//4vwhf90NTvQdi2LhaT2//87haj2////taz2//8PlcAPtsBQi4W89v//D7aACAMAAFBX6Q4DAACL8CvyO9l3PHIzjUv/g/n/dDKLhI1g/P//O4SNwPj//3UGSYP5/3Xqg/n/dBeLhI1g/P//O4SNwPj//3cHQomV3Pb//2ogi/4zwIPmH8HvBVkrzom91Pb//0CJtdD2//8z0omNoPb//+g5rwEAi4ydXPz//0iDpcz2//8AD73JiYXA9v//99CJhbj2//90BY1BAesCM8BqIFmNFB8ryImN2Pb//4mVyPb//4P6c3UIO/F2BLAB6wIywIP6cw+H7gAAAITAD4XmAAAAg/pycglqclqJlcj2//+LyomNzPb//4P6/w+EnAAAAIvyjYVg/P//i5XU9v//K/KNBLCJheD2//87ynJtO/NzBIs46wIz/41G/zvDcwuLheD2//+LQPzrAjPAI4W49v//I73A9v//i42g9v//0+iLjdD2///T54uNzPb//wvHiYSNYPz//0mLheD2//9Og+gEiY3M9v//iYXg9v//g/n/dAiLnVz8///rj4uVyPb//4u10Pb//4u91Pb//4X/dAyLzzPAjb1g/P//86s7tdj2//92C41CAYmFXPz//+sziZVc/P//6yuDpdD0//8AjYXU9P//g6Vc/P//AGoAUI2FYPz//2jMAQAAUOh6kv//g8QQjYW8+P//UI2FXPz//1DoCAIAAIO9XPz//wCL2llZD5TBi/iIjeD2//+F23UTg///dw4Pvcd0BY1wAesTM/brDw+9w3QFjXAB6wIz9oPGIIuFsPb//zvwdj0r8ITJdCEzwDPSQIvO6GCtAQCDwP/GheD2//8Bg9L/I8cj0wvCdAfGheD2//8Ai8eL04vO6FmtAQCL+Ivai42w9v//M8A7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wH4Ki8aJhQj////rBouFCP///4uNBP///wP3O/F20YvRO8F0NCvBi9+JhQj///+QigwQjVIBi7UI////ikL/iEQW/4vGiEr/g+sBdeOLnfj+//+LjQT///+Ltfz+//8rz4uV7P7//4mNBP///zvOD4dr////i430/v//i8FJiY30/v//hcAPjvL+//+LdI2Ei4yNDP///4m1/P7//+kK////i7UA////i8uLhfz+///R7w+v/gP4V1D/FahiSQD/04PECIXAfhBWV/+1/P7//+gb/v//g8QM/7UE////i8v/tfz+////FahiSQD/04PECIXAfhVW/7UE/////7X8/v//6On9//+DxAz/tQT///+Ly1f/FahiSQD/04PECIXAfhBW/7UE////V+jB/f//g8QMi4UE////i9iLtfz+//+LlQD///+JhQj///+NZCQAO/52NwPyibXw/v//O/dzJYuN+P7//1dW/xWoYkkA/5X4/v//i5UA////g8QIhcB+0zv+dz2LhQT///+Lnfj+//8D8jvwdx9XVovL/xWoYkkA/9OLlQD///+DxAiFwIuFBP///37bi50I////ibXw/v//i7X4/v//6waNmwAAAACLlQD///+LwyvaiYUI////O992H1dTi87/FahiSQD/1oPECIXAf9mLlQD///+LhQj///+LtfD+//+JnQj///873nJZiZXk/v//iZ3o/v//O/N0NCvzi9OLneT+//+NSQCKAo1SAYpMFv+IRBb/iEr/g+sBdeuLtfD+//+LnQj///+LlQD///+LhQT///87+w+F6/7//4v+6eT+//87+HM1i534/v//K8KJhQj///87x3YjV1CLy/8VqGJJAP/Ti5UA////g8QIhcCLhQj///901Tv4cjuLnfj+//+LtQD///8rxomFCP///zuF/P7//3YZV1CLy/8VqGJJAP/Tg8QIhcCLhQj///9014u18P7//4uVBP///4vKi738/v//K84rxzvBfEGLhQj///87+HMYi430/v//iXyNhImEjQz///9BiY30/v//i40E////i70A////O/EPg0n9//+Jtfz+///pe/z//zvycxiLhfT+//+JdIWEiZSFDP///0CJhfT+//+LhQj///+Ltfz+//+LvQD///878A+DCP3//4vI6Tj8//+L/1WL7ItNCIXJdRXo7Fb/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//+L8iv3jZUw/v//jRSyO89yZzvzcwSLAusCM8CJhbD4//+NRv87w3MFi0L86wIzwCOFpPj//4PqBIuNkPj//4udsPj//yOdqPj//9Poi424+P//0+OLjaD4//8Lw4mEjTD+//9JTomNoPj//4P5/3QIi50s/v//65WLlZz4//+Lvaz4//+LtbT4//+F9nQSi86NvTD+//8zwPOri72s+P//u8wBAAA5vbj4//92C41CAYmFLP7//+sziZUs/v//6yszwLvMAQAAUImFjPr//4mFLP7//42FkPr//1CNhTD+//9TUOjKH/7/g8QQg6WU+v//ADPJagRYQYmFkPr//4mNjPr//4mNXPz//1CNhZD6//9QjYVg/P//U1Dokx/+/4PEEOnfAwAAjYLO+///i8+L8DPSg+Afwe4FK8iJhbj4//8zwIm1sPj//0CJjaT4///osToAAIuMnSz+//9Ig6WM+P//AA+9yYmFkPj///fQiYWo+P//dAWNQQHrAjPAjRQzK/iJvaz4//+JlaD4//+D+nN1DDm9uPj//3YEsQHrAjLJg/pzD4ftAAAAhMkPheUAAACD+nJyCWpyWomVoPj//4vKiY2c+P//g/r/D4SQAAAAi72w+P//i/Ir942VMP7//40UsjvPcmc783MEiwLrAjPAiYW0+P//jUb/O8NzBYtC/OsCM8Ajhaj4//+D6gSLjaT4//+LnbT4//8jnZD4///T6IuNuPj//9Pji42c+P//C8OJhI0w/v//SU6JjZz4//+D+f90CIudLP7//+uVi5Wg+P//i72s+P//i7Ww+P//hfZ0EovOjb0w/v//M8Dzq4u9rPj//7vMAQAAOb24+P//dguNQgGJhSz+///rM4mVLP7//+srM8C7zAEAAFCJhYz6//+JhSz+//+NhZD6//9QjYUw/v//U1Do8h3+/4PEEIOllPr//wAzwEDHhZD6//8CAAAAiYWM+v//iYVc/P//agTpIf7//4P6NQ+EEgEAAIOlkPr//wDHhZT6//8AABAAx4WM+v//AgAAAIX2D4TvAAAAM8mLhA2Q+v//O4QNMP7//w+F2QAAAIPBBIP5CHXkg6WM+P//AA+9xnQDQOsCM8CL8yv4jYUs/v//ibWk+P//i86NBLCJhaj4//+L8DvLcw+LlI0w/v//iZW0+P//6weDpbT4//8AjUH/O8NzBIsW6wIz0ouFtPj//4PuBMHqHsHgAgvQiZSNMP7//0mD+f90CIudLP7//+uzi7Wk+P//g/8CcwuNRgGJhSz+///rBom1LP7//7s1BAAAjYWQ+v//K524+P//i/vB7wWL98HmAlZqAFDox7v9/4PjHzPAQIvL0+CJhDWQ+v//6dIAAACLhJ0s/v//g6WM+P//AA+9wHQDQOsCM8CL8yv4jYUs/v//ibWk+P//i86NBLCJhaj4//+L8DvLcw+LlI0w/v//iZW0+P//6weDpbT4//8AjUH/O8NzBIsW6wIz0ouFtPj//4PuBMHqHwPAC9CJlI0w/v//SYP5/3QIi50s/v//67SLtaT4//+D/wFzC41GAYmFLP7//+sGibUs/v//uzQEAACNhZD6//8rnbj4//+L+8HvBYv3weYCVmoAUOjwuv3/g+MfM8BAi8vT4ImENZD6//+NRwG7zAEAAImFjPr//4mFXPz//8HgAlCNhZD6//9QjYVg/P//U1Dorxv+/4PEHIuFmPj//zPSagpZiY2k+P//hcAPiFoEAAD38YmFkPj//4vKiY18+P//hcAPhGgDAACD+CZ2A2omWA+2DIVmd0kAD7Y0hWd3SQCL+YmFsPj//8HnAleNBDGJhYz6//+NhZD6//9qAFDoRLr9/4vGweACUIuFsPj//w+3BIVkd0kAjQSFYG5JAFCNhZD6//8Dx1Doysf9/4u9jPr//4PEGIP/AXdyi72Q+v//hf91EzPAiYW8+P//iYVc/P//6ZwCAACD/wEPhKsCAACDvVz8//8AD4SeAgAAi4Vc/P//M8kz9ovYi8f3pLVg/P//A8GJhLVg/P//g9IARovKO/N15OmwAAAAiYyFYPz///+FXPz//+lfAgAAg71c/P//AQ+HxwAAAIu1YPz//4vHweACUI2FkPr//4m1qPj//1CNhWD8//+JvVz8//9TUOhdGv7/g8QQhfZ1GjPAiYWM+v//iYVc/P//UI2FkPr//+n0AQAAg/4BD4T8AQAAg71c/P//AA+E7wEAAIuFXPz//zPJi72o+P//M/aL2IvH96S1YPz//wPBiYS1YPz//4PSAEaLyjvzdeS7zAEAAIXJD4S0AQAAi4Vc/P//g/hzD4I0////M8CJhYz6//+JhVz8//9QjYWQ+v//6e4BAAA7vVz8//+NlZD6//8PksByBo2VYPz//4mVuPj//42NYPz//4TAdQaNjZD6//+JjbT4//+EwHQKi8+JvaD4///rDIuNXPz//4mNoPj//4TAdAaLvVz8//8zwDP2iYW8+P//hckPhAEBAACDPLIAdR478A+F6gAAAIOktcD4//8AjUYBiYW8+P//6dQAAAAz0ovOIZWs+P//iZWc+P//hf8PhKcAAACD+XN0ajvIdReLhaz4//+DpI3A+P//AEADxomFvPj//4uFrPj//4uVtPj//4sEgouVuPj///cksgOFnPj//4PSAAGEjcD4//+Lhaz4//+D0gBAQYmFrPj//zvHiZWc+P//i4W8+P//iZWM+P//dZGF0nQ0g/lzD4S4AAAAO8h1EYOkjcD4//8AjUEBiYW8+P//i8Iz0gGEjcD4//+Lhbz4//8T0kHryIP5cw+EhAAAAIuNoPj//4uVuPj//0Y78Q+F//7//4mFXPz//8HgAlCNhcD4//9QjYVg/P//U1DoOhj+/4PEELABhMB0couFkPj//yuFsPj//4mFkPj//w+Fnvz//4uNfPj//4XJD4QOBQAAiwSN/HdJAImFfPj//4XAdV0zwImFnPb//4mFXPz//1DrOjPAiYWc9v//iYVc/P//UI2FoPb//1CNhWD8//9TUOjGF/7/g8QQMsDrioOlnPb//wCDpVz8//8AagCNhaD2//9QjYVg/P//6ZYEAACD+AEPhJcEAACLjVz8//+FyQ+EiQQAADP/M/b3pLVg/P//A8eJhLVg/P//i4V8+P//g9IARov6O/F14IX/D4RdBAAAi4Vc/P//g/hzD4NR////ibyFYPz///+FXPz//+k8BAAA99j38YmFoPj//4vKiY2M+P//hcAPhEcDAACD+CZ2A2omWA+2DIVmd0kAD7Y0hWd3SQCL+YmFuPj//8HnAleNBDGJhYz6//+NhZD6//9qAFDo6LX9/4vGweACUIuFuPj//w+3BIVkd0kAjQSFYG5JAFCNhZD6//8Dx1DobsP9/4u9jPr//4PEGIP/AQ+HkAAAAIu9kPr//4X/dRozwImFnPb//4mFLP7//1CNhaD2///pcwIAAIP/AQ+EewIAAIO9LP7//wAPhG4CAACLhSz+//8zyTP2i9iLx/ektTD+//8DwYmEtTD+//+D0gBGi8o783Xku8wBAACFyQ+EOQIAAIuFLP7//4P4cw+DyAIAAImMhTD+////hSz+///pGAIAAIO9LP7//wEPh4AAAACLtTD+//+Lx8HgAlCNhZD6//+JtXz4//9QjYUw/v//ib0s/v//U1Do3xX+/4PEEIX2D4Q2////g/4BD4TLAQAAg70s/v//AA+EvgEAAIuFLP7//zPJi718+P//M/aL2IvH96S1MP7//wPBiYS1MP7//4PSAEaLyjvzdeTpRf///zu9LP7//42VkPr//w+SwHIGjZUw/v//iZWw+P//jY0w/v//hMB1Bo2NkPr//4mNkPj//4TAdAqLz4m9nPj//+sMi40s/v//iY2c+P//hMB0Bou9LP7//zPAM/aJhbz4//+FyQ+EAQEAAIM8sgB1HjvwD4XqAAAAg6S1wPj//wCNRgGJhbz4///p1AAAADPSi84hlaz4//+JlbT4//+F/w+EpwAAAIP5c3RqO8h1F4uFrPj//4OkjcD4//8AQAPGiYW8+P//i4Ws+P//i5WQ+P//iwSCi5Ww+P//9ySyA4W0+P//g9IAAYSNwPj//4uFrPj//4PSAEBBiYWs+P//O8eJlbT4//+Lhbz4//+JlXz4//91kYXSdDSD+XMPhAgBAAA7yHURg6SNwPj//wCNQQGJhbz4//+LwjPSAYSNwPj//4uFvPj//xPSQevIg/lzD4TUAAAAi42c+P//i5Ww+P//RjvxD4X//v//iYUs/v//weACUI2FwPj//1CNhTD+//9TUOgDFP7/g8QQsAGEwA+EwQAAAIuFoPj//yuFuPj//4mFoPj//w+Fv/z//4uNjPj//4XJD4TTAAAAiwSN/HdJAImFjPj//4XAD4SYAAAAg/gBD4S1AAAAi40s/v//hckPhKcAAAAz/zP296S1MP7//wPHiYS1MP7//4uFjPj//4PSAEaL+jvxdeCF/3R/i4Us/v//g/hzc06JvIUw/v///4Us/v//62UzwFCJhZz2//+JhSz+//+NhaD2//9QjYUw/v//U1DoPxP+/4PEEDLA6Tf///+DpZz2//8Ag6Us/v//AGoA6w8zwFCJhSz+//+JhZz2//+NhaD2//9QjYUw/v//U1DoABP+/4PEEIu9lPj//4v3i40s/v//ibWw+P//hcl0fGoKM/Yz/1uLhL0w/v//9+MDxomEvTD+//+D0gBHi/I7+XXkibWM+P//hfaLtbD4//+7zAEAAHRCi40s/v//g/lz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KysAACsAAAAmAAAALT4qADwAAAA+AAAALAAAACgpAABeAAAAfAAAACYmAAB8fAAAKj0AACs9AAAtPQAALz0AACU9AAA+Pj0APDw9ACY9AAB8PQAAXj0AAGB2ZnRhYmxlJwAAAGB2YnRhYmxlJwAAAGB2Y2FsbCcAYHR5cGVvZicAAAAAYGxvY2FsIHN0YXRpYyBndWFyZCcAAAAAYHN0cmluZycAAAAAYHZiYXNlIGRlc3RydWN0b3InAABgdmVjdG9yIGRlbGV0aW5nIGRlc3RydWN0b3InAAAAAGBkZWZhdWx0IGNvbnN0cnVjdG9yIGNsb3N1cmUnAAAAYHNjYWxhciBkZWxldGluZyBkZXN0cnVjdG9yJwAAAABgdmVjdG9yIGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAAAAAYHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAYHZpcnR1YWwgZGlzcGxhY2VtZW50IG1hcCcAAGBlaCB2ZWN0b3IgY29uc3RydWN0b3IgaXRlcmF0b3InAAAAAGBlaCB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAYGVoIHZlY3RvciB2YmFzZSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAGBjb3B5IGNvbnN0cnVjdG9yIGNsb3N1cmUnAABgdWR0IHJldHVybmluZycAYEVIAGBSVFRJAAAAYGxvY2FsIHZmdGFibGUnAGBsb2NhbCB2ZnRhYmxlIGNvbnN0cnVjdG9yIGNsb3N1cmUnACBuZXdbXQAAIGRlbGV0ZVtdAAAAYG9tbmkgY2FsbHNpZycAAGBwbGFjZW1lbnQgZGVsZXRlIGNsb3N1cmUnAABgcGxhY2VtZW50IGRlbGV0ZVtdIGNsb3N1cmUnAAAAAGBtYW5hZ2VkIHZlY3RvciBjb25zdHJ1Y3RvciBpdGVyYXRvcicAAABgbWFuYWdlZCB2ZWN0b3IgZGVzdHJ1Y3RvciBpdGVyYXRvcicAAAAAYGVoIHZlY3RvciBjb3B5IGNvbnN0cnVjdG9yIGl0ZXJhdG9yJwAAAGBlaCB2ZWN0b3IgdmJhc2UgY29weSBjb25zdHJ1Y3RvciBpdGVyYXRvcicAYGR5bmFtaWMgaW5p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bGlzdCB0b28gbG9uZwAAAEV4ZWMgZm9ybWF0IGVycm9yAAAAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzZXMAAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAAAAAE5vdCBlbm91Z2ggc3BhY2UAAAAAUGVybWlzc2lvbiBkZW5pZWQAAABCYWQgYWRkcmVzcwBVbmtub3duIGVycm9yAAAAUmVzb3VyY2UgZGV2aWNlAEZpbGUgZXhpc3RzAEltcHJvcGVyIGxpbmsAAABObyBzdWNoIGRldmljZQAATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AABJbnZhbGlkIGFyZ3VtZW50AAAAAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAAAAVG9vIG1hbnkgb3BlbiBmaWxlcwBJbmFwcHJvcHJpYXRlIEkvTyBjb250cm9sIG9wZXJhdGlvbgBGaWxlIHRvbyBsYXJnZQAATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UASW52YWxpZCBzZWVrAAAAAFJlYWQtb25seSBmaWxlIHN5c3RlbQAAAFRvbyBtYW55IGxpbmtzAABCcm9rZW4gcGlwZQBEb21haW4gZXJyb3IAAAAAUmVzdWx0IHRvbyBsYXJnZQAAAABSZXNvdXJjZSBkZWFkbG9jayBhdm9pZGVkAAAARmlsZW5hbWUgdG9vIGxvbmcAAABObyBsb2NrcyBhdmFpbGFibGUAAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZAAAAABEaXJlY3Rvcnkgbm90IGVtcHR5AElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQAAACsAAAAAAAAAAQABAQEAAAABAAABAQABAQEAAAABAAABAQEBAQEBAQEAAQEAAQEBAQEBAQEAAQEAAQEBAQEBAQEAAQEAAQEBAQEBAQEAAQEAAQEBAQEBAQEAAQEAAQAAAQAAAAABAAAAAQAAAQAAAAAAAAABAQEBAQEBAQEAAQEASU5GAGluZgBJTklUWQAAAGluaXR5AAAATkFOAG5hbgBTTkFOKQAAAHNuYW4pAAAASU5EKWluZCkFAADACwAAAAAAAAAdAADABAAAAAAAAACWAADABAAAAAAAAACNAADACAAAAAAAAACOAADA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QQBNAAAAAABQAE0AAAAAAE0ATQAvAGQAZAAvAHkAeQAAAAAAZABkAGQAZAAsACAATQBNAE0ATQAgAGQAZAAsACAAeQB5AHkAeQAAAEgASAA6AG0AbQA6AHMAcwAAAAAAZQBuAC0AVQBTAAAAAIdJAECHSQB8h0kAuIdJAACISQBgiEkArIhJAOiISQAkiUkAZIlJAKCJSQDgiUkAMIpJAIiKSQDQikkAIItJADSLSQBIi0kAWItJAKCLSQBhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAGQAYQB0AGUAdABpAG0AZQAtAGwAMQAtADEALQAxAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBmAGkAYgBlAHIAcwAtAGwAMQAtADEALQAxAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBmAGkAbABlAC0AbAAxAC0AMgAtADIAAAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBsAG8AYwBhAGwAaQB6AGEAdABpAG8AbgAtAGwAMQAtADIALQAxAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBsAG8AYwBhAGwAaQB6AGEAdABpAG8AbgAtAG8AYgBzAG8AbABlAHQAZQAtAGwAMQAtADIALQAwAAAAAAAAAAAAYQBwAGkALQBtAHMALQB3AGkAbgAtAGMAbwByAGUALQBwAHIAbwBjAGUAcwBzAHQAaAByAGUAYQBkAHMALQBsADEALQAxAC0AMgAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AcwB0AHIAaQBuAGcALQBsADEALQAxAC0AMAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AcwB5AG4AYwBoAC0AbAAxAC0AMgAtADAAAAAAAGEAcABpAC0AbQBzAC0AdwBpAG4ALQBjAG8AcgBlAC0AcwB5AHMAaQBuAGYAbwAtAGwAMQAtADIALQAxAAAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAHcAaQBuAHIAdAAtAGwAMQAtADEALQAwAAAAAABhAHAAaQAtAG0AcwAtAHcAaQBuAC0AYwBvAHIAZQAtAHgAcwB0AGEA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AAAAAAAAAIAQRAAAAQAAAAAAAIAAMAAAVFoAAP////8eAAAAOgAAAFkAAAB3AAAAlgAAALQAAADTAAAA8gAAABABAAAvAQAATQEAAGwBAAD/////HgAAADsAAABaAAAAeAAAAJcAAAC1AAAA1AAAAPMAAAARAQAAMAEAAE4BAABtAQAAYQBtAC8AcABtAAAAYQAvAHAAAAAgAAAALQAAAAoAAAA6AAAACQAAACsAAAAlAAAALlwAAC5jb20ALmV4ZQAuYmF0AC5jbWQAtJhJAMCYSQDMmEkA2JhJAGoAYQAtAEoAUAAAAHoAaAAtAEMATgAAAGsAbwAtAEsAUgAAAHoAaAAtAFQAVwAAAAAAAAAQnUkARQBOAFUAAAAknUkARQBOAFUAAABInUkARQBOAFUAAABsnUkARQBOAEEAAACEnUkATgBMAEIAAACUnUkARQBOAEMAAAConUkAWgBIAEgAAACwnUkAWgBIAEkAAAC4nUkAQwBIAFMAAADInUkAWgBIAEgAAADsnUkAQwBIAFMAAAAUnkkAWgBIAEkAAAA4nkkAQwBIAFQAAABgnkkATgBMAEIAAAB8nkkARQBOAFUAAACgnkkARQBOAEEAAAC4nkkARQBOAEwAAADYnkkARQBOAEMAAADwnkkARQBOAEIAAAAUn0kARQBOAEkAAAAsn0kARQBOAEoAAABMn0kARQBOAFoAAABkn0kARQBOAFMAAACQn0kARQBOAFQAAADEn0kARQBOAEcAAADcn0kARQBOAFUAAAD0n0kARQBOAFUAAAAMoEkARgBSAEIAAAAsoEkARgBSAEMAAABMoEkARgBSAEwAAABwoEkARgBSAFMAAACMoEkARABFAEEAAACsoEkARABFAEMAAADUoEkARABFAEwAAAD4oEkARABFAFMAAAAUoUkARQBOAEkAAAAwoUkASQBUAFMAAABMoUkATgBPAFIAAABgoUkATgBPAFIAAACEoUkATgBPAE4AAACooUkAUABUAEIAAADUoUkARQBTAFMAAAD4oUkARQBTAEIAAAAYokkARQBTAEwAAAA0okkARQBTAE8AAABYokkARQBTAEMAAACAokkARQBTAEQAAAC4okkARQBTAEYAAADYokkARQBTAEUAAAAAo0kARQBTAEcAAAAko0kARQBTAEgAAABIo0kARQBTAE0AAABoo0kARQBTAE4AAACIo0kARQBTAEkAAACso0kARQBTAEEAAADMo0kARQBTAFoAAADwo0kARQBTAFIAAAAMpEkARQBTAFUAAAA0pEkARQBTAFkAAABUpEkARQBTAFYAAAB4pEkAUwBWAEYAAACYpEkARABFAFMAAACkpEkARQBOAEcAAACspEkARQBOAFUAAAC0pEkARQBOAFUAAABBAAAAvKRJAFUAUwBBAAAAzKRJAEcAQgBSAAAA3KRJAEMASABOAAAA6KRJAEMAWgBFAAAA9KRJAEcAQgBSAAAABKVJAEcAQgBSAAAAIKVJAE4ATABEAAAAMKVJAEgASwBHAAAARKVJAE4AWgBMAAAAXKVJAE4AWgBMAAAAZKVJAEMASABOAAAAeKVJAEMASABOAAAAjKVJAFAAUgBJAAAApKVJAFMAVgBLAAAAtKVJAFoAQQBGAAAA0KVJAEsATwBSAAAA6KVJAFoAQQBGAAAABKZJAEsATwBSAAAAHKZJAFQAVABPAAAApKRJAEcAQgBSAAAAQKZJAEcAQgBSAAAAYKZJAFUAUwBBAAAArKRJAFUAUwBBAAAAFwAAAGEAbQBlAHIAaQBjAGEAbgAAAAAAYQBtAGUAcgBpAGMAYQBuACAAZQBuAGcAbABpAHMAaAAAAAAAYQBtAGUAcgBpAGMAYQBuAC0AZQBuAGcAbABpAHMAaAAAAAAAYQB1AHMAdAByAGEAbABpAGEAbgAAAAAAYgBlAGwAZwBpAGEAbgAAAGMAYQBuAGEAZABpAGEAbgAAAAAAYwBoAGgAAABjAGgAaQAAAGMAaABpAG4AZQBzAGUAAABjAGgAaQBuAGUAcwBlAC0AaABvAG4AZwBrAG8AbgBnAAAAAABjAGgAaQBuAGUAcwBlAC0AcwBpAG0AcABsAGkAZgBpAGUAZAAAAAAAYwBoAGkAbgBlAHMAZQAtAHMAaQBuAGcAYQBwAG8AcgBlAAAAYwBoAGkAbgBlAHMAZQAtAHQAcgBhAGQAaQB0AGkAbwBuAGEAbAAAAGQAdQB0AGMAaAAtAGIAZQBsAGcAaQBhAG4AAABlAG4AZwBsAGkAcwBoAC0AYQBtAGUAcgBpAGMAYQBuAAAAAABlAG4AZwBsAGkAcwBoAC0AYQB1AHMAAABlAG4AZwBsAGkAcwBoAC0AYgBlAGwAaQB6AGUAAAAAAGUAbgBnAGwAaQBzAGgALQBjAGEAbgAAAGUAbgBnAGwAaQBzAGgALQBjAGEAcgBpAGIAYgBlAGEAbgAAAGUAbgBnAGwAaQBzAGgALQBpAHIAZQAAAGUAbgBnAGwAaQBzAGgALQBqAGEAbQBhAGkAYwBhAAAAZQBuAGcAbABpAHMAaAAtAG4AegAAAAAAZQBuAGcAbABpAHMAaAAtAHMAbwB1AHQAaAAgAGEAZgByAGkAYwBhAAAAAABlAG4AZwBsAGkAcwBoAC0AdAByAGkAbgBpAGQAYQBkACAAeQAgAHQAbwBiAGEAZwBvAAAAZQBuAGcAbABpAHMAaAAtAHUAawAAAAAAZQBuAGcAbABpAHMAaAAtAHUAcwAAAAAAZQBuAGcAbABpAHMAaAAtAHUAcwBhAAAAZgByAGUAbgBjAGgALQBiAGUAbABnAGkAYQBuAAAAAABmAHIAZQBuAGMAaAAtAGMAYQBuAGEAZABpAGEAbgAAAGYAcgBlAG4AYwBoAC0AbAB1AHgAZQBtAGIAbwB1AHIAZwAAAGYAcgBlAG4AYwBoAC0AcwB3AGkAcwBzAAAAAABnAGUAcgBtAGEAbgAtAGEAdQBzAHQAcgBpAGEAbgAAAGcAZQByAG0AYQBuAC0AbABpAGMAaAB0AGUAbgBzAHQAZQBpAG4AAABnAGUAcgBtAGEAbgAtAGwAdQB4AGUAbQBiAG8AdQByAGcAAABnAGUAcgBtAGEAbgAtAHMAdwBpAHMAcwAAAAAAaQByAGkAcwBoAC0AZQBuAGcAbABpAHMAaAAAAGkAdABhAGwAaQBhAG4ALQBzAHcAaQBzAHMAAABuAG8AcgB3AGUAZwBpAGEAbgAAAG4AbwByAHcAZQBnAGkAYQBuAC0AYgBvAGsAbQBhAGwAAAAAAG4AbwByAHcAZQBnAGkAYQBuAC0AbgB5AG4AbwByAHMAawAAAHAAbwByAHQAdQBnAHUAZQBzAGUALQBiAHIAYQB6AGkAbABpAGEAbgAAAAAAcwBwAGEAbgBpAHMAaAAtAGEAcgBnAGUAbgB0AGkAbgBhAAAAcwBwAGEAbgBpAHMAaAAtAGIAbwBsAGkAdgBpAGEAAABzAHAAYQBuAGkAcwBoAC0AYwBoAGkAbABlAAAAcwBwAGEAbgBpAHMAaAAtAGMAbwBsAG8AbQBiAGkAYQAAAAAAcwBwAGEAbgBpAHMAaAAtAGMAbwBzAHQAYQAgAHIAaQBjAGEAAAAAAHMAcABhAG4AaQBzAGgALQBkAG8AbQBpAG4AaQBjAGEAbgAgAHIAZQBwAHUAYgBsAGkAYwAAAAAAcwBwAGEAbgBpAHMAaAAtAGUAYwB1AGEAZABvAHIAAABzAHAAYQBuAGkAcwBoAC0AZQBsACAAcwBhAGwAdgBhAGQAbwByAAAAcwBwAGEAbgBpAHMAaAAtAGcAdQBhAHQAZQBtAGEAbABhAAAAcwBwAGEAbgBpAHMAaAAtAGgAbwBuAGQAdQByAGEAcwAAAAAAcwBwAGEAbgBpAHMAaAAtAG0AZQB4AGkAYwBhAG4AAABzAHAAYQBuAGkAcwBoAC0AbQBvAGQAZQByAG4AAAAAAHMAcABhAG4AaQBzAGgALQBuAGkAYwBhAHIAYQBnAHUAYQAAAHMAcABhAG4AaQBzAGgALQBwAGEAbgBhAG0AYQAAAAAAcwBwAGEAbgBpAHMAaAAtAHAAYQByAGEAZwB1AGEAeQAAAAAAcwBwAGEAbgBpAHMAaAAtAHAAZQByAHUAAAAAAHMAcABhAG4AaQBzAGgALQBwAHUAZQByAHQAbwAgAHIAaQBjAG8AAABzAHAAYQBuAGkAcwBoAC0AdQByAHUAZwB1AGEAeQAAAHMAcABhAG4AaQBzAGgALQB2AGUAbgBlAHoAdQBlAGwAYQAAAHMAdwBlAGQAaQBzAGgALQBmAGkAbgBsAGEAbgBkAAAAcwB3AGkAcwBzAAAAdQBrAAAAAAB1AHMAAAAAAHUAcwBhAAAAYQBtAGUAcgBpAGMAYQAAAGIAcgBpAHQAYQBpAG4AAABjAGgAaQBuAGEAAABjAHoAZQBjAGgAAABlAG4AZwBsAGEAbgBkAAAAZwByAGUAYQB0ACAAYgByAGkAdABhAGkAbgAAAGgAbwBsAGwAYQBuAGQAAABoAG8AbgBnAC0AawBvAG4AZwAAAG4AZQB3AC0AegBlAGEAbABhAG4AZAAAAG4AegAAAAAAcAByACAAYwBoAGkAbgBhAAAAAABwAHIALQBjAGgAaQBuAGEAAAAAAHAAdQBlAHIAdABvAC0AcgBpAGMAbwAAAHMAbABvAHYAYQBrAAAAAABzAG8AdQB0AGgAIABhAGYAcgBpAGMAYQAAAAAAcwBvAHUAdABoACAAawBvAHIAZQBhAAAA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aAB1AC0ASABVAAAAaQBzAC0ASQBTAAAAaQB0AC0ASQBUAAAAbgBsAC0ATgBMAAAAbgBiAC0ATgBPAAAAcABsAC0AUABMAAAAcAB0AC0AQgBSAAAAcgBvAC0AUgBPAAAAcgB1AC0AUgBVAAAAaAByAC0ASABSAAAAcwBrAC0AUwBLAAAAcwBxAC0AQQBMAAAAcwB2AC0AUwBFAAAAdABoAC0AVABIAAAAdAByAC0AVABSAAAAdQByAC0AUABLAAAAaQBkAC0ASQBEAAAAdQBrAC0AVQBBAAAAYgBlAC0AQgBZAAAAcwBsAC0AUwBJAAAAZQB0AC0ARQBFAAAAbAB2AC0ATABWAAAAbAB0AC0ATABUAAAAZgBhAC0ASQBSAAAAdgBpAC0AVgBOAAAAaAB5AC0AQQBNAAAAYQB6AC0AQQBaAC0ATABhAHQAbgAAAAAAZQB1AC0ARQBTAAAAbQBrAC0ATQBLAAAAdABuAC0AWgBBAAAAeABoAC0AWgBBAAAAegB1AC0AWgBBAAAAYQBmAC0AWgBBAAAAawBhAC0ARwBFAAAAZgBvAC0ARgBPAAAAaABpAC0ASQBOAAAAbQB0AC0ATQBUAAAAcwBlAC0ATgBPAAAAbQBzAC0ATQBZAAAAawBrAC0ASwBaAAAAawB5AC0ASwBHAAAAcwB3AC0ASwBFAAAAdQB6AC0AVQBaAC0ATABhAHQAbgAAAAAAdAB0AC0AUgBVAAAAYgBuAC0ASQBOAAAAcABhAC0ASQBOAAAAZwB1AC0ASQBOAAAAdABhAC0ASQBOAAAAdABlAC0ASQBOAAAAawBuAC0ASQBOAAAAbQBsAC0ASQBOAAAAbQByAC0ASQBOAAAAcwBhAC0ASQBOAAAAbQBuAC0ATQBOAAAAYwB5AC0ARwBCAAAAZwBsAC0ARQBTAAAAawBvAGsALQBJAE4AAAAAAHMAeQByAC0AUwBZAAAAAABkAGkAdgAtAE0AVgAAAAAAcQB1AHoALQBCAE8AAAAAAG4AcwAtAFoAQQAAAG0AaQAtAE4AWgAAAGEAcgAtAEkAUQAAAGQAZQAtAEMASAAAAGUAbgAtAEcAQgAAAGUAcwAtAE0AWAAAAGYAcgAtAEIARQAAAGkAdAAtAEMASAAAAG4AbAAtAEIARQAAAG4AbgAtAE4ATwAAAHAAdAAtAFAAVAAAAHMAcgAtAFMAUAAtAEwAYQB0AG4AAAAAAHMAdgAtAEYASQAAAGEAegAtAEEAWgAtAEMAeQByAGwAAAAAAHMAZQAtAFMARQAAAG0AcwAtAEIATgAAAHUAegAtAFUAWgAtAEMAeQByAGwAAAAAAHEAdQB6AC0ARQBDAAAAAABhAHIALQBFAEcAAAB6AGgALQBIAEsAAABkAGUALQBBAFQAAABlAG4ALQBBAFUAAABlAHMALQBFAFMAAABmAHIALQBDAEEAAABzAHIALQBTAFAALQBDAHkAcgBsAAAAAABzAGUALQBGAEkAAABxAHUAegAtAFAARQAAAAAAYQByAC0ATABZAAAAegBoAC0AUwBHAAAAZABlAC0ATABVAAAAZQBuAC0AQwBBAAAAZQBzAC0ARwBUAAAAZgByAC0AQwBIAAAAaAByAC0AQgBBAAAAcwBtAGoALQBOAE8AAAAAAGEAcgAtAEQAWgAAAHoAaAAtAE0ATwAAAGQAZQAtAEwASQAAAGUAbgAtAE4AWgAAAGUAcwAtAEMAUgAAAGYAcgAtAEwAVQAAAGIAcwAtAEIAQQAtAEwAYQB0AG4AAAAAAHMAbQBqAC0AUwBFAAAAAABhAHIALQBNAEEAAABlAG4ALQBJAEUAAABlAHMALQBQAEEAAABmAHIALQBNAEMAAABzAHIALQBCAEEALQBMAGEAdABuAAAAAABzAG0AYQAtAE4ATwAAAAAAYQByAC0AVABOAAAAZQBuAC0AWgBBAAAAZQBzAC0ARABPAAAAcwByAC0AQgBBAC0AQwB5AHIAbAAAAAAAcwBtAGEALQBTAEUAAAAAAGEAcgAtAE8ATQAAAGUAbgAtAEoATQAAAGUAcwAtAFYARQAAAHMAbQBzAC0ARgBJAAAAAABhAHIALQBZAEUAAABlAG4ALQBDAEIAAABlAHMALQBDAE8AAABzAG0AbgAtAEYASQAAAAAAYQByAC0AUwBZAAAAZQBuAC0AQgBaAAAAZQBzAC0AUABFAAAAYQByAC0ASgBPAAAAZQBuAC0AVABUAAAAZQBzAC0AQQBSAAAAYQByAC0ATABCAAAAZQBuAC0AWgBXAAAAZQBzAC0ARQBDAAAAYQByAC0ASwBXAAAAZQBuAC0AUABIAAAAZQBzAC0AQwBMAAAAYQByAC0AQQBFAAAAZQBzAC0AVQBZAAAAYQByAC0AQgBIAAAA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YgAAAOCuSQAeAAAAfMZJAGAAAACIr0kANAAAAIjGSQCeAAAAoMZJAHsAAAAgr0kAJwAAALjGSQBpAAAAxMZJAG8AAADQxkkAAwAAAODGSQDiAAAA8MZJAJAAAAD8xkkAoQAAAAjHSQCyAAAAFMdJAKoAAAAgx0kARgAAACzHSQBwAAAAYQBmAC0AegBhAAAAYQByAC0AYQBlAAAAYQByAC0AYgBoAAAAYQByAC0AZAB6AAAAYQByAC0AZQBnAAAAYQByAC0AaQBxAAAAYQByAC0AagBvAAAAYQByAC0AawB3AAAAYQByAC0AbABiAAAAYQByAC0AbAB5AAAAYQByAC0AbQBhAAAAYQByAC0AbwBtAAAAYQByAC0AcQBhAAAAYQByAC0AcwBhAAAAYQByAC0AcwB5AAAAYQByAC0AdABuAAAAYQByAC0AeQBlAAAAYQB6AC0AYQB6AC0AYwB5AHIAbAAAAAAAYQB6AC0AYQB6AC0AbABhAHQAbgAAAAAAYgBlAC0AYgB5AAAAYgBnAC0AYgBnAAAAYgBuAC0AaQBuAAAAYgBzAC0AYgBhAC0AbABhAHQAbgAAAAAAYwBhAC0AZQBzAAAAYwBzAC0AYwB6AAAAYwB5AC0AZwBiAAAAZABhAC0AZABrAAAAZABlAC0AYQB0AAAAZABlAC0AYwBoAAAAZABlAC0AZABlAAAAZABlAC0AbABpAAAAZABlAC0AbAB1AAAAZABpAHYALQBtAHYAAAAAAGUAbAAtAGcAcgAAAGUAbgAtAGEAdQAAAGUAbgAtAGIAegAAAGUAbgAtAGMAYQAAAGUAbgAtAGMAYgAAAGUAbgAtAGcAYgAAAGUAbgAtAGkAZQAAAGUAbgAtAGoAbQAAAGUAbgAtAG4AegAAAGUAbgAtAHAAaAAAAGUAbgAtAHQAdAAAAGUAbgAtAHUAcwAAAGUAbgAtAHoAYQAAAGUAbgAtAHoAdwAAAGUAcwAtAGEAcgAAAGUAcwAtAGIAbwAAAGUAcwAtAGMAbAAAAGUAcwAtAGMAbwAAAGUAcwAtAGMAcgAAAGUAcwAtAGQAbwAAAGUAcwAtAGUAYwAAAGUAcwAtAGUAcwAAAGUAcwAtAGcAdAAAAGUAcwAtAGgAbgAAAGUAcwAtAG0AeAAAAGUAcwAtAG4AaQAAAGUAcwAtAHAAYQAAAGUAcwAtAHAAZQAAAGUAcwAtAHAAcgAAAGUAcwAtAHAAeQAAAGUAcwAtAHMAdgAAAGUAcwAtAHUAeQAAAGUAcwAtAHYAZQAAAGUAdAAtAGUAZQAAAGUAdQAtAGUAcwAAAGYAYQAtAGkAcgAAAGYAaQAtAGYAaQAAAGYAbwAtAGYAbwAAAGYAcgAtAGIAZQAAAGYAcgAtAGMAYQAAAGYAcgAtAGMAaAAAAGYAcgAtAGYAcgAAAGYAcgAtAGwAdQAAAGYAcgAtAG0AYwAAAGcAbAAtAGUAcwAAAGcAdQAtAGkAbgAAAGgAZQAtAGkAbAAAAGgAaQAtAGkAbgAAAGgAcgAtAGIAYQAAAGgAcgAtAGgAcgAAAGgAdQAtAGgAdQAAAGgAeQAtAGEAbQAAAGkAZAAtAGkAZAAAAGkAcwAtAGkAcwAAAGkAdAAtAGMAaAAAAGkAdAAtAGkAdAAAAGoAYQAtAGoAcAAAAGsAYQAtAGcAZQAAAGsAawAtAGsAegAAAGsAbgAtAGkAbgAAAGsAbwBrAC0AaQBuAAAAAABrAG8ALQBrAHIAAABrAHkALQBrAGcAAABsAHQALQBsAHQAAABsAHYALQBsAHYAAABtAGkALQBuAHoAAABtAGsALQBtAGsAAABtAGwALQBpAG4AAABtAG4ALQBtAG4AAABtAHIALQBpAG4AAABtAHMALQBiAG4AAABtAHMALQBtAHkAAABtAHQALQBtAHQAAABuAGIALQBuAG8AAABuAGwALQBiAGUAAABuAGwALQBuAGwAAABuAG4ALQBuAG8AAABuAHMALQB6AGEAAABwAGEALQBpAG4AAABwAGwALQBwAGwAAABwAHQALQBiAHIAAABwAHQALQBwAHQAAABxAHUAegAtAGIAbwAAAAAAcQB1AHoALQBlAGMAAAAAAHEAdQB6AC0AcABlAAAAAAByAG8ALQByAG8AAAByAHUALQByAHUAAABzAGEALQBpAG4AAABzAGUALQBmAGkAAABzAGUALQBuAG8AAABzAGUALQBzAGUAAABzAGsALQBzAGsAAABzAGwALQBzAGkAAABzAG0AYQAtAG4AbwAAAAAAcwBtAGEALQBzAGUAAAAAAHMAbQBqAC0AbgBvAAAAAABzAG0AagAtAHMAZQAAAAAAcwBtAG4ALQBmAGkAAAAAAHMAbQBzAC0AZgBpAAAAAABzAHEA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IGRldGVjdGVkAAAAdmVyc2lvbiBtaXNtYXRjaDogYXBwLiBuZWVkcyAlZiwgTHVhIGNvcmUgcHJvdmlkZXMgJWYAAABfU0NSSVBUX0RJUgBjYW5ub3Qgb3BlbiAlczogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQAAAF9TQ1JJUFQAdW5hYmxlIHRvIGVuY29kZSBwYXRoAAAAdW5hYmxlIHRvIHN3aXRjaCB0byBkaXJlY3RvcnkgJyVzJwAAdW5hYmxlIHRvIHNldCBtb2RlICVvIG9uICclcycsIGVycm5vICVkIDogJXMAAAAAdW5hYmxlIHRvIGVuY29kZSBmaXJzdCBwYXRoAHVuYWJsZSB0byBlbmNvZGUgc2Vjb25kIHBhdGgAAAAAcgBiAAAAAABmYWlsZWQgdG8gb3BlbiBmaXJzdCBmaWxlAAAAZmFpbGVkIHRvIG9wZW4gc2Vjb25kIGZpbGUAAGZhaWxlZCB0byByZWFkIGZpcnN0IGZpbGUgY29udGVudAAAAGZhaWxlZCB0byByZWFkIHNlY29uZCBmaWxlIGNvbnRlbnQAAChlcnJvciB3aXRoIG5vIG1lc3NhZ2UpAFVuYWJsZSB0byBjb21waWxlICclcyc6ICVzAAB1bmFibGUgdG8gd3JpdGUgdG8gJyVzJwB1bmFibGUgdG8gZW5jb2RlIHNvdXJjZSBwYXRoAAAAAHVuYWJsZSB0byBjb3B5IGZpbGUgdG8gJyVzJywgcmVhc29uOiAnJXMnAAAASEtDVToAAABIS0xNOgAAAEhLQ1I6AAAASEtVOgAAAABIS0NDOgAAAG1ham9ydmVyc2lvbgAAAABtaW5vcnZlcnNpb24AAAAAcmV2aXNpb24AAAAAZGVzY3JpcHRpb24Aa2VybmVsMzIuZGxsAAAAAFwAAABXaW5kb3dzAFNvZnR3YXJlXE1pY3Jvc29mdFxXaW5kb3dzIE5UXEN1cnJlbnRWZXJzaW9uAAAAAHByb2R1Y3ROYW1lAHdpbmRvd3MASXNXb3c2NFByb2Nlc3MAAGsAZQByAG4AZQBsADMAMgAAAAAAdW5hYmxlIHRvIGVuY29kZSBmaWxlcGF0aAAAAC8AAABwcmVtYWtlAHBhdGgAAAAAJC8AAHVuYWJsZSB0byBlbmNvZGUgbWFzawAAAHVuYWJsZSB0byBkZWNvZGUgZmlsZW5hbWUAAAAuAAAALgAuAAAAAAB1bmFibGUgdG8gY3JlYXRlIGRpcmVjdG9yeSAnJXMnAHVuYWJsZSB0byBmZXRjaCByZWFsIHBhdGggb2YgJyVzJywgZXJybm8gJWQgOiAlcwAAAABmYWlsZWQgdG8gdHJhbnNsYXRlIGVycm9yIG1lc3NhZ2UAAABmYWlsZWQgdG8gZ2V0IGVycm9yIG1lc3NhZ2UAdW5hYmxlIHRvIGVuY29kZSBkZXN0IHBhdGgAAHVuYWJsZSB0byByZW1vdmUgZGlyZWN0b3J5ICclcycAJyVzJyBjb3VsZCBub3QgYmUgYWNjZXNzZWQAACclcycgd2FzIG5vdCBmb3VuZAAAQW4gIHVua25vd24gZXJyb3IgJWQgb2NjdXJlZCB3aGlsZSBhY2Nlc3NpbmcgJyVzJwAAAG10aW1lAAAAc2l6ZQAAAABhYgAAIAAAAHVuYWJsZSB0byB0b3VjaCBmaWxlICclcycAAAB3AGIAAAAAAHVuYWJsZSB0byBvcGVuIGZpbGUgdG8gJyVzJwAlMDJYJTAyWCUwMlglMDJYLSUwMlglMDJYLSUwMlglMDJYLSUwMlglMDJYLSUwMlglMDJYJTAyWCUwMlglMDJYJTAyWAAAAAB1bmFibGUgdG8gd3JpdGUgZmlsZSB0byAnJXMnAAAAAC4uAAAuLi8ARmlsZW5hbWUpAAAARXh0ZW5zaW9uKQAALi8AACoqAABub3JtYWxpemUAAABnZXREZWZhdWx0U2VwYXJhdG9yAFdpbGRjYXJkcyBleHBhbnNpb24gdG9vIGJpZy4AAAAAX2NvbXBpbGUAAAAAX2RlbGV0ZQBtYXRjaGVzAHByb21wdAAAZ2V0YWJzb2x1dGUAZ2V0cmVsYXRpdmUAaXNhYnNvbHV0ZQAAam9pbgAAAABkZWZlcnJlZGpvaW4AAAAAaGFzZGVmZXJyZWRqb2luAHJlc29sdmVkZWZlcnJlZGpvaW4AdHJhbnNsYXRlAAAAd2lsZGNhcmRzAAAAY2hkaXIAAABjaG1vZAAAAGNvbXBhcmVmaWxlcwAAAABjb3B5ZmlsZQAAAABfaXM2NGJpdAAAAABpc2RpcgAAAGdldGN3ZAAAZ2V0cGFzcwBnZXRXaW5kb3dzUmVnaXN0cnkAAGdldHZlcnNpb24AAGhvc3QAAAAAaXNmaWxlAABpc2xpbmsAAGxvY2F0ZQAAbWF0Y2hkb25lAAAAbWF0Y2hpc2ZpbGUAbWF0Y2huYW1lAAAAbWF0Y2huZXh0AAAAbWF0Y2hzdGFydAAAbWtkaXIAAAByZW1vdmUAAHJlbmFtZQAAcGF0aHNlYXJjaAAAcmVhbHBhdGgAAAAAcm1kaXIAAABzdGF0AAAAAHV1aWQAAAAAd3JpdGVmaWxlX2lmbm90ZXF1YWwAAAAAdG91Y2hmaWxlAAAAY29tcGlsZQBnZXRFbWJlZGRlZFJlc291cmNlAGVuZHN3aXRoAAAAAGhhc2gAAAAAc2hhMQAAAABzdGFydHN3aXRoAABuZXcAd3JpdGUAAAB3cml0ZWxuAHRvc3RyaW5nAAAAAGNsb3NlAAAAZ2V0VGV4dENvbG9yAAAAAHNldFRleHRDb2xvcgAAAABnZXQAcG9zdAAAAABkb3dubG9hZAAAAABleHRyYWN0AGNyaXRlcmlhAAAAAGRlYnVnAAAAb3MAAGJ1ZmZlcmVkAAAAAHRlcm0AAAAAaHR0cAAAAAB6aXAAX0NPUFlSSUdIVAAAX1BSRU1BS0VfVkVSU0lPTgAAAABDb3B5cmlnaHQgKEMpIDIwMDItMjAxOCBKYXNvbiBQZXJraW5zIGFuZCB0aGUgUHJlbWFrZSBQcm9qZWN0AAAAX1BSRU1BS0VfQ09QWVJJR0hUAABodHRwczovL2dpdGh1Yi5jb20vcHJlbWFrZS9wcmVtYWtlLWNvcmUvd2lraQAAAABfUFJFTUFLRV9VUkwAAAAAX1RBUkdFVF9PUwAASE9NRQAAAABVU0VSUFJPRklMRQB+AAAAX1VTRVJfSE9NRV9ESVIAAF9XT1JLSU5HX0RJUgAAAABlcnJvckNvbG9yAABFcnJvcjogJXMKAABfUFJFTUFLRV9DT01NQU5EAAAAAF9wcmVtYWtlX21haW4AAABQQVRIAAAAAFBSRU1BS0VfUEFUSAAAAAA7AAAALy5wcmVtYWtlAAAAOy91c3IvbG9jYWwvc2hhcmUvcHJlbWFrZTsvdXNyL3NoYXJlL3ByZW1ha2UAAAAAL3NjcmlwdHM9AAAALS1zY3JpcHRzPQAAX0FSR1YAAAAAAAAARN1JAGCYQABQ3UkAkJpAAFzdSQCgnkAAaN1JAKChQABw3UkA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eCFQAOQeAABAOFMA+OdKANQDAABUOFMAuF1PAPEDAABoOFMAUGxSAO8DAAB8OFMAUGhSAP0DAACQOFMAmOxQABsEAACkOFMAYMtNAGEEAAC4OFMA8HdPAMsAAADIOFMAcHtSADAGAADkOFMAwBZRAHSHAAD8OFMAWOhMAM8TAABoLVMASIVNAEgTAAAUOVMAcGdNAFIDAAAoOVMACBlNAEoAAAAAAAAAAAAAAAAAAAB1c2VyZGF0YQAAAABsb2NhbCBwID0gcHJlbWFrZQpsb2NhbCBnbWFrZTIgPSBwLm1vZHVsZXMuZ21ha2UyCmxvY2FsIHRyZWUgICAgPSBwLnRyZWUKbG9jYWwgcHJvamVjdCA9IHAucHJvamVjdApmdW5jdGlvbiBnbWFrZTIuZ2VuZXJhdGVfd29ya3NwYWNlKHdrcykKcC5lb2woIlxuIikKZ21ha2UyLmhlYWRlcih3a3MpCmdtYWtlMi5jb25maWdtYXAod2tzKQpnbWFrZTIucHJvamVjdHMod2tzKQpnbWFrZTIud29ya3NwYWNlUGhvbnlSdWxlKHdrcykKZ21ha2UyLmdyb3VwUnVsZXMod2tzKQpnbWFrZTIucHJvamVjdHJ1bGVzKHdrcykKZ21ha2UyLmNsZWFucnVsZXMod2tzKQpnbWFrZTIuaGVscHJ1bGUod2tzKQplbmQKZnVuY3Rpb24gZ21ha2UyLmNvbmZpZ21hcCh3a3MpCmxvY2FsIGZpcnN0ID0gdHJ1ZQpmb3IgY2ZnIGluIHAud29ya3NwYWNlLmVhY2hjb25maWcod2tzKSBkbwppZiBmaXJzdCB0aGVuCl9wKCdpZmVxICgkKGNvbmZpZyksJXMpJywgY2ZnLnNob3J0bmFtZSkKZmlyc3QgPSBmYWxzZQplbHNlCl9wKCdlbHNlIGlmZXEgKCQoY29uZmlnKSwlcyknLCBjZmcuc2hvcnRuYW1lKQplbmQKZm9yIHByaiBpbiBwLndvcmtzcGFjZS5lYWNocHJvamVjdCh3a3MpIGRvCmxvY2FsIHByamNmZyA9IHByb2plY3QuZ2V0Y29uZmlnKHByaiwgY2ZnLmJ1aWxkY2ZnLCBjZmcucGxhdGZvcm0pCmlmIHByamNmZyB0aGVuCl9wKCcgICVzX2NvbmZpZyA9ICVzJywgZ21ha2UyLnRvdmFyKHByai5uYW1lKSwgcHJqY2ZnLnNob3J0bmFtZSkKZW5kCmVuZApfcCgnJykKZW5kCmlmIG5vdCBmaXJzdCB0aGVuCl9wKCdlbHNlJykKX3AoJyAgJChlcnJvciAiaW52YWxpZCBjb25maWd1cmF0aW9uICQoY29uZmlnKSIpJykKX3AoJ2VuZGlmJykKX3AoJycpCmVuZAplbmQKZnVuY3Rpb24gZ21ha2UyLmNsZWFucnVsZXMod2tzKQpfcCgnY2xlYW46JykKZm9yIHByaiBpbiBwLndvcmtzcGFjZS5lYWNocHJvamVjdCh3a3MpIGRvCmxvY2FsIHByanBhdGggPSBwLmZpbGVuYW1lKHByaiwgZ21ha2UyLmdldG1ha2VmaWxlbmFtZShwcmosIHRydWUpKQpsb2NhbCBwcmpkaXIgPSBwYXRoLmdldGRpcmVjdG9yeShwYXRoLmdldHJlbGF0aXZlKHdrcy5sb2NhdGlvbiwgcHJqcGF0aCkpCmxvY2FsIHByam5hbWUgPSBwYXRoLmdldG5hbWUocHJqcGF0aCkKX3goMSwnQCR7TUFLRX0gLS1uby1wcmludC1kaXJlY3RvcnkgLUMgJXMgLWYgJXMgY2xlYW4nLCBwcmpkaXIsIHByam5hbWUpCmVuZApfcCgnJykKZW5kCmZ1bmN0aW9uIGdtYWtlMi5oZWxwcnVsZSh3a3MpCl9wKCdoZWxwOicpCl9wKDEsJ0BlY2hvICJVc2FnZTogbWFrZSBbY29uZmlnPW5hbWVdIFt0YXJnZXRdIicpCl9wKDEsJ0BlY2hvICIiJykKX3AoMSwnQGVjaG8gIkNPTkZJR1VSQVRJT05TOiInKQpmb3IgY2ZnIGluIHAud29ya3NwYWNlLmVhY2hjb25maWcod2tzKSBkbwpfeCgxLCAnQGVjaG8gIiAgJXMiJywgY2ZnLnNob3J0bmFtZSkKZW5kCl9wKDEsJ0BlY2hvICIiJykKX3AoMSwnQGVjaG8gIlRBUkdFVFM6IicpCl9wKDEsJ0BlY2hvICIgICBhbGwgKGRlZmF1bHQpIicpCl9wKDEsJ0BlY2hvICIgICBjbGVhbiInKQpmb3IgcHJqIGluIHAud29ya3NwYWNlLmVhY2hwcm9qZWN0KHdrcykgZG8KX3AoMSwnQGVjaG8gIiAgICVzIicsIHByai5uYW1lKQplbmQKX3AoMSwnQGVjaG8gIiInKQpfcCgxLCdAZWNobyAiRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBodHRwczovL2dpdGh1Yi5jb20vcHJlbWFrZS9wcmVtYWtlLWNvcmUvd2lraSInKQplbmQKZnVuY3Rpb24gZ21ha2UyLnByb2plY3RzKHdrcykKX3AoJ1BST0pFQ1RTIDo9ICVzJywgdGFibGUuY29uY2F0KHAuZXNjKHRhYmxlLmV4dHJhY3Qod2tzLnByb2plY3RzLCAibmFtZSIpKSwgIiAiKSkKX3AoJycpCmVuZApmdW5jdGlvbiBnbWFrZTIud29ya3NwYWNlUGhvbnlSdWxlKHdrcykKbG9jYWwgZ3JvdXBzID0ge30KbG9jYWwgdHIgPSBwLndvcmtzcGFjZS5ncm91cHRyZWUod2tzKQp0cmVlLnRyYXZlcnNlKHRyLCB7Cm9uYnJhbmNoID0gZnVuY3Rpb24obikKdGFibGUuaW5zZXJ0KGdyb3Vwcywgbi5wYXRoKQplbmQKfSkKX3AoJy5QSE9OWTogYWxsIGNsZWFuIGhlbHAgJChQUk9KRUNUUykgJyAuLiB0YWJsZS5pbXBsb2RlKGdyb3VwcywgJycsICcnLCAnICcpKQpfcCgnJykKX3AoJ2FsbDogJChQUk9KRUNUUyknKQpfcCgnJykKZW5kCmZ1bmN0aW9uIGdtYWtlMi5ncm91cFJ1bGVzKHdrcykKbG9jYWwgdHIgPSBwLndvcmtzcGFjZS5ncm91cHRyZWUod2tzKQp0cmVlLnRyYXZlcnNlKHRyLCB7Cm9uYnJhbmNoID0gZnVuY3Rpb24obikKbG9jYWwgcnVsZSA9IG4ucGF0aCAuLiAiOiIKbG9jYWwgcHJvamVjdFRhcmdldHMgPSB7fQpsb2NhbCBncm91cFRhcmdldHMgPSB7fQpmb3IgaSwgYyBpbiBwYWlycyhuLmNoaWxkcmVuKQpkbwppZiB0eXBlKGkpID09ICJzdHJpbmciCnRoZW4KaWYgYy5wcm9qZWN0CnRoZW4KdGFibGUuaW5zZXJ0KHByb2plY3RUYXJnZXRzLCBjLm5hbWUpCmVsc2UKdGFibGUuaW5zZXJ0KGdyb3VwVGFyZ2V0cywgYy5wYXRoKQplbmQKZW5kCmVuZAppZiAjZ3JvdXBUYXJnZXRzID4gMCB0aGVuCnRhYmxlLnNvcnQoZ3JvdXBUYXJnZXRzKQpydWxlID0gcnVsZSAuLiAiICIgLi4gdGFibGUuY29uY2F0KGdyb3VwVGFyZ2V0cywgIiAiKQplbmQKaWYgI3Byb2plY3RUYXJnZXRzID4gMCB0aGVuCnRhYmxlLnNvcnQocHJvamVjdFRhcmdldHMpCnJ1bGUgPSBydWxlIC4uICIgIiAuLiB0YWJsZS5jb25jYXQocHJvamVjdFRhcmdldHMsICIgIikKZW5kCl9wKHJ1bGUpCl9wKCcnKQplbmQKfSkKZW5kCmZ1bmN0aW9uIGdtYWtlMi5wcm9qZWN0cnVsZXMod2tzKQpmb3IgcHJqIGluIHAud29ya3NwYWNlLmVhY2hwcm9qZWN0KHdrcykgZG8KbG9jYWwgZGVwcyA9IHByb2plY3QuZ2V0ZGVwZW5kZW5jaWVzKHByaikKZGVwcyA9IHRhYmxlLmV4dHJhY3QoZGVwcywgIm5hbWUiKQpfcCgnJXM6JXMnLCBwLmVzYyhwcmoubmFtZSksIGdtYWtlMi5saXN0KGRlcHMpKQpsb2NhbCBjZmd2YXIgPSBnbWFrZTIudG92YXIocHJqLm5hbWUpCl9wKCdpZm5lcSAoLCQoJXNfY29uZmlnKSknLCBjZmd2YXIpCl9wKDEsJ0BlY2hvICI9PT09IEJ1aWxkaW5nICVzICgkKCVzX2NvbmZpZykpID09PT0iJywgcHJqLm5hbWUsIGNmZ3ZhcikKbG9jYWwgcHJqcGF0aCA9IHAuZmlsZW5hbWUocHJqLCBnbWFrZTIuZ2V0bWFrZWZpbGVuYW1lKHByaiwgdHJ1ZSkpCmxvY2FsIHByamRpciA9IHBhdGguZ2V0ZGlyZWN0b3J5KHBhdGguZ2V0cmVsYXRpdmUod2tzLmxvY2F0aW9uLCBwcmpwYXRoKSkKbG9jYWwgcHJqbmFtZSA9IHBhdGguZ2V0bmFtZShwcmpwYXRoKQpfeCgxLCdAJHtNQUtFfSAtLW5vLXByaW50LWRpcmVjdG9yeSAtQyAlcyAtZiAlcyBjb25maWc9JCglc19jb25maWcpJywgcHJqZGlyLCBwcmpuYW1lLCBjZmd2YXIpCl9wKCdlbmRpZicpCl9wKCcnKQplbmQKZW5kCmxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIG0gPSBwLm1vZHVsZXMuc2VsZl90ZXN0CmxvY2FsIF8gPSB7fQpmdW5jdGlvbiBtLmNhcHR1cmUoZXhwZWN0ZWQpCmxvY2FsIGFjdHVhbCA9IHAuY2FwdHVyZWQoKSAuLiBwLmVvbCgpCmxvY2FsIGFpdCA9IGFjdHVhbDpnbWF0Y2goIiguLSkiIC4uIHAuZW9sKCkpCmxvY2FsIGVpdCA9IGV4cGVjdGVkOmdtYXRjaCgiKC4tKVxuIikKbG9jYWwgbGluZW51bSA9IDEKbG9jYWwgYXR4dCA9IGFpdCgpCmxvY2FsIGV0eHQgPSBlaXQoKQp3aGlsZSBldHh0IGRvCmlmIChldHh0IH49IGF0eHQpIHRoZW4KbS5mYWlsKCIoJWQpIGV4cGVjdGVkOlxuJXNcbi4uLmJ1dCB3YXM6XG4lc1xuZnVsbHRleHQ6XG4lcyIsIGxpbmVudW0sIGV0eHQsIGF0eHQsIGFjdHVhbCkKZW5kCmxpbmVudW0gPSBsaW5lbnVtICsgMQphdHh0ID0gYWl0KCkKZXR4dCA9IGVpdCgpCmVuZAplbmQKZnVuY3Rpb24gbS5jbG9zZWRmaWxlKGV4cGVjdGVkKQppZiBleHBlY3RlZCBhbmQgbm90IG0udmFsdWVfY2xvc2VkZmlsZSB0aGVuCm0uZmFpbCgiZXhwZWN0ZWQgZmlsZSB0byBiZSBjbG9zZWQiKQplbHNlaWYgbm90IGV4cGVjdGVkIGFuZCBtLnZhbHVlX2Nsb3NlZGZpbGUgdGhlbgptLmZhaWwoImV4cGVjdGVkIGZpbGUgdG8gcmVtYWluIG9wZW4iKQplbmQKZW5kCmZ1bmN0aW9uIG0uY29udGFpbnMoZXhwZWN0ZWQsIGFjdHVhbCkKaWYgdHlwZShleHBlY3RlZCkgPT0gInRhYmxlIiB0aGVuCmZvciBpLCB2IGluIGlwYWlycyhleHBlY3RlZCkgZG8KbS5jb250YWlucyh2LCBhY3R1YWwpCmVuZAplbHNlaWYgbm90IHRhYmxlLmNvbnRhaW5zKGFjdHVhbCwgZXhwZWN0ZWQpIHRoZW4KbS5mYWlsKCJleHBlY3RlZCB2YWx1ZSAlcyBub3QgZm91bmQiLCBleHBlY3RlZCkKZW5kCmVuZApmdW5jdGlvbiBtLmV4Y2x1ZGVzKGV4cGVjdGVkLCBhY3R1YWwpCmlmIHR5cGUoZXhwZWN0ZWQpID09ICJ0YWJsZSIgdGhlbgpmb3IgaSwgdiBpbiBpcGFpcnMoZXhwZWN0ZWQpIGRvCm0uZXhjbHVkZXModiwgYWN0dWFsKQplbmQKZWxzZWlmIHRhYmxlLmNvbnRhaW5zKGFjdHVhbCwgZXhwZWN0ZWQpIHRoZW4KbS5mYWlsKCJleGNsdWRlZCB2YWx1ZSAlcyBmb3VuZCIsIGV4cGVjdGVkKQplbmQKZW5kCmZ1bmN0aW9uIG0uZmFpbChmb3JtYXQsIC4uLikKbG9jYWwgZGVwdGggPSAzCmxvY2FsIGFyZyA9IHsuLi59CmlmIHR5cGUoZm9ybWF0KSA9PSAibnVtYmVyIiB0aGVuCmRlcHRoID0gZGVwdGggKyBmb3JtYXQKZm9ybWF0ID0gdGFibGUucmVtb3ZlKGFyZywgMSkKZW5kCmZvciBpID0gMSwgI2FyZyBkbwppZiAoYXJnW2ldID09IG5pbCkgdGhlbgphcmdbaV0gPSAiKG5pbCkiCmVsc2VpZiAodHlwZShhcmdbaV0pID09ICJ0YWJsZSIpIHRoZW4KYXJnW2ldID0gInsiIC4uIHRhYmxlLmNvbmNhdChhcmdbaV0sICIsICIpIC4uICJ9IgplbmQKZW5kCmxvY2FsIG1zZyA9IHN0cmluZy5mb3JtYXQoZm9ybWF0LCB0YWJsZS51bnBhY2soYXJnKSkKZXJyb3IoZGVidWcudHJhY2ViYWNrKG1zZywgZGVwdGgpLCBkZXB0aCkKZW5kCmZ1bmN0aW9uIG0uZmlsZWNvbnRhaW5zKGV4cGVjdGVkLCBmbikKbG9jYWwgZiA9IGlvLm9wZW4oZm4pCmxvY2FsIGFjdHVhbCA9IGY6cmVhZCgiKmEiKQpmOmNsb3NlKCkKaWYgKGV4cGVjdGVkIH49IGFjdHVhbCkgdGhlbgptLmZhaWwoImV4cGVjdGVkICVzIGJ1dCB3YXMgJXMiLCBleHBlY3RlZCwgYWN0dWFsKQplbmQKZW5kCmZ1bmN0aW9uIG0uaGFzb3V0cHV0KCkKbG9jYWwgYWN0dWFsID0gcC5jYXB0dXJlZCgpCmlmIGFjdHVhbCA9PSAiIiB0aGVuCm0uZmFpbCgiZXhwZWN0ZWQgb3V0cHV0LCByZWNlaXZlZCBub25lIik7CmVuZAplbmQKZnVuY3Rpb24gbS5pc2VtcHR5Y2FwdHVyZSgpCmxvY2FsIGFjdHVhbCA9IHAuY2FwdHVyZWQoKQppZiBhY3R1YWwgfj0gIiIgdGhlbgptLmZhaWwoImV4cGVjdGVkIGVtcHR5IGNhcHR1cmUsIGJ1dCB3YXMgJXMiLCBhY3R1YWwpOwplbmQKZW5kCmZ1bmN0aW9uIG0uaXNlcXVhbChleHBlY3RlZCwgYWN0dWFsLCBkZXB0aCkKZGVwdGggPSBkZXB0aCBvciAwCmlmIHR5cGUoZXhwZWN0ZWQpID09ICJ0YWJsZSIgdGhlbgppZiBleHBlY3RlZCBhbmQgbm90IGFjdHVhbCB0aGVuCm0uZmFpbChkZXB0aCwgImV4cGVjdGVkIHRhYmxlLCBnb3QgbmlsIikKZW5kCmlmICNleHBlY3RlZCA8ICNhY3R1YWwgdGhlbgptLmZhaWwoZGVwdGgsICJleHBlY3RlZCAlZCBpdGVtcywgZ290ICVkIiwgI2V4cGVjdGVkLCAjYWN0dWFsKQplbmQKZm9yIGssdiBpbiBwYWlycyhleHBlY3RlZCkgZG8KbS5pc2VxdWFsKGV4cGVjdGVkW2tdLCBhY3R1YWxba10sIGRlcHRoICsgMSkKZW5kCmVsc2UKaWYgKGV4cGVjdGVkIH49IGFjdHVhbCkgdGhlbgptLmZhaWwoZGVwdGgsICJleHBlY3RlZCAlcyBidXQgd2FzICVzIiwgZXhwZWN0ZWQsIGFjdHVhbCBvciAibmlsIikKZW5kCmVuZApyZXR1cm4gdHJ1ZQplbmQKZnVuY3Rpb24gbS5pc2ZhbHNlKHZhbHVlKQppZiAodmFsdWUpIHRoZW4KbS5mYWlsKCJleHBlY3RlZCBmYWxzZSBidXQgd2FzIHRydWUiKQplbmQKZW5kCmZ1bmN0aW9uIG0uaXNuaWwodmFsdWUpCmlmICh2YWx1ZSB+PSBuaWwpIHRoZW4KbS5mYWlsKCJleHBlY3RlZCBuaWwgYnV0IHdhcyAiIC4uIHRvc3RyaW5nKHZhbHVlKSkKZW5kCmVuZApmdW5jdGlvbiBtLmlzbm90bmlsKHZhbHVlKQppZiAodmFsdWUgPT0gbmlsKSB0aGVuCm0uZmFpbCgiZXhwZWN0ZWQgbm90IG5pbCIpCmVuZAplbmQKZnVuY3Rpb24gbS5pc3NhbWUoZXhwZWN0ZWQsIGFjdGlvbikKaWYgZXhwZWN0ZWQgfj0gYWN0aW9uIHRoZW4KbS5mYWlsKCJleHBlY3RlZCBzYW1lIHZhbHVlIikKZW5kCmVuZApmdW5jdGlvbiBtLmlzdHJ1ZSh2YWx1ZSkKaWYgKG5vdCB2YWx1ZSkgdGhlbgptLmZhaWwoImV4cGVjdGVkIHRydWUgYnV0IHdhcyBmYWxzZSIpCmVuZAplbmQKZnVuY3Rpb24gbS5taXNzaW5nKHZhbHVlLCBhY3R1YWwpCmlmIHRhYmxlLmNvbnRhaW5zKGFjdHVhbCwgdmFsdWUpIHRoZW4KbS5mYWlsKCJ1bmV4cGVjdGVkIHZhbHVlICVzIGZvdW5kIiwgdmFsdWUpCmVuZAplbmQKZnVuY3Rpb24gbS5vcGVuZWRmaWxlKGZuYW1lKQppZiBmbmFtZSB+PSBtLnZhbHVlX29wZW5lZGZpbGVuYW1lIHRoZW4KbG9jYWwgbXNnID0gImV4cGVjdGVkIHRvIG9wZW4gZmlsZSAnIiAuLiBmbmFtZSAuLiAiJyIKaWYgbS52YWx1ZV9vcGVuZWRmaWxlbmFtZSB0aGVuCm1zZyA9IG1zZyAuLiAiLCBnb3QgJyIgLi4gbS52YWx1ZV9vcGVuZWRmaWxlbmFtZSAuLiAiJyIKZW5kCm0uZmFpbChtc2cpCmVuZAplbmQKZnVuY3Rpb24gbS5zdWNjZXNzKGZuLCAuLi4pCmxvY2FsIG9rLCBlcnIgPSBwY2FsbChmbiwgLi4uKQppZiBub3Qgb2sgdGhlbgptLmZhaWwoImNhbGwgZmFpbGVkOiAiIC4uIGVycikKZW5kCmVuZApmdW5jdGlvbiBtLnN0ZGVycihleHBlY3RlZCkKaWYgbm90IGV4cGVjdGVkIGFuZCBtLnN0ZGVycl9jYXB0dXJlIHRoZW4KbS5mYWlsKCJVbmV4cGVjdGVkOiAiIC4uIG0uc3RkZXJyX2NhcHR1cmUpCmVsc2VpZiBleHBlY3RlZCB0aGVuCmlmIG5vdCBtLnN0ZGVycl9jYXB0dXJlIG9yIG5vdCBtLnN0ZGVycl9jYXB0dXJlOmZpbmQoZXhwZWN0ZWQpIHRoZW4KbS5mYWlsKHN0cmluZy5mb3JtYXQoImV4cGVjdGVkICclcyc7IGdvdCAlcyIsIGV4cGVjdGVkLCBtLnN0ZGVycl9jYXB0dXJlIG9yICIobmlsKSIpKQplbmQKZW5kCmVuZApmdW5jdGlvbiBtLm5vdHN0ZGVycihleHBlY3RlZCkKaWYgbm90IGV4cGVjdGVkIGFuZCBub3QgbS5zdGRlcnJfY2FwdHVyZSB0aGVuCm0uZmFpbCgiRXhwZWN0ZWQgb3V0cHV0IG9uIHN0ZGVycjsgbm9uZSByZWNlaXZlZCIpCmVsc2VpZiBleHBlY3RlZCB0aGVuCmlmIG0uc3RkZXJyX2NhcHR1cmUgYW5kIG0uc3RkZXJyX2NhcHR1cmU6ZmluZChleHBlY3RlZCkgdGhlbgptLmZhaWwoc3RyaW5nLmZvcm1hdCgic3RkZXJyIGNvbnRhaW5zICclcyc7IHdhcyAlcyIsIGV4cGVjdGVkLCBtLnN0ZGVycl9jYXB0dXJlKSkKZW5kCmVuZAplbmQKAABsb2NhbCBwID0gcHJlbWFrZQpsb2NhbCBtID0gcC5tb2R1bGVzLnNlbGZfdGVzdApsb2NhbCBfID0ge30KXy5zdWl0ZXMgPSB7fQpfLnN1cHByZXNzZWQgPSB7fQpmdW5jdGlvbiBtLmRlY2xhcmUoc3VpdGVOYW1lKQppZiBfLnN1aXRlc1tzdWl0ZU5hbWVdIHRoZW4KZXJyb3IoJ0R1cGxpY2F0ZSB0ZXN0IHN1aXRlICInLi4gc3VpdGVOYW1lIC4uICciJywgMikKZW5kCmxvY2FsIF9zdWl0ZSA9IHt9CmxvY2FsIHN1aXRlID0gc2V0bWV0YXRhYmxlKHt9LCB7Cl9faW5kZXggPSBfc3VpdGUsCl9fbmV3aW5kZXggPSBmdW5jdGlvbiAodGFibGUsIGtleSwgdmFsdWUpCmlmIG0uZGV0ZWN0RHVwbGljYXRlVGVzdHMgYW5kIF9zdWl0ZVtrZXldIH49IG5pbCB0aGVuCmVycm9yKCdEdXBsaWNhdGUgdGVzdCAiJy4uIGtleSAuLiAnIicsIDIpCmVuZApfc3VpdGVba2V5XSA9IHZhbHVlCmVuZCwKX19wYWlycyA9IGZ1bmN0aW9uICh0YWJsZSkgcmV0dXJuIHBhaXJzKF9zdWl0ZSkgZW5kLApfX2lwYWlycyA9IGZ1bmN0aW9uICh0YWJsZSkgcmV0dXJuIGlwYWlycyhfc3VpdGUpIGVuZCwKfSkKc3VpdGUuX1NDUklQVF9ESVIgPSBfU0NSSVBUX0RJUgpzdWl0ZS5fVEVTVFNfRElSID0gX1RFU1RTX0RJUgpfLnN1aXRlc1tzdWl0ZU5hbWVdID0gc3VpdGUKcmV0dXJuIHN1aXRlCmVuZApmdW5jdGlvbiBtLnN1cHByZXNzKGlkZW50aWZpZXIpCmlmIHR5cGUoaWRlbnRpZmllcikgPT0gInRhYmxlIiB0aGVuCmZvciBpID0gMSwgI2lkZW50aWZpZXIgZG8KbS5zdXBwcmVzcyhpZGVudGlmaWVyW2ldKQplbmQKZWxzZQpfLnN1cHByZXNzZWRbaWRlbnRpZmllcl0gPSB0cnVlCmVuZAplbmQKZnVuY3Rpb24gbS5pc1N1cHByZXNzZWQoaWRlbnRpZmllcikKcmV0dXJuIF8uc3VwcHJlc3NlZFtpZGVudGlmaWVyXQplbmQKZnVuY3Rpb24gbS5pc1ZhbGlkKHRlc3QpCmlmIHR5cGUodGVzdC50ZXN0RnVuY3Rpb24pIH49ICJmdW5jdGlvbiIgdGhlbgpyZXR1cm4gZmFsc2UKZW5kCmlmIHRlc3QudGVzdE5hbWUgPT0gInNldHVwIiBvciB0ZXN0LnRlc3ROYW1lID09ICJ0ZWFyZG93biIgdGhlbgpyZXR1cm4gZmFsc2UKZW5kCnJldHVybiB0cnVlCmVuZApmdW5jdGlvbiBtLmdldFN1aXRlcygpCnJldHVybiBfLnN1aXRlcwplbmQKZnVuY3Rpb24gbS5nZXRUZXN0V2l0aElkZW50aWZpZXIoaWRlbnRpZmllcikKbG9jYWwgc3VpdGVOYW1lLCB0ZXN0TmFtZSA9IG0ucGFyc2VUZXN0SWRlbnRpZmllcihpZGVudGlmaWVyKQpsb2NhbCBzdWl0ZSwgdGVzdCwgZXJyID0gXy5jaGVja1Rlc3RJZGVudGlmaWVyKF8uc3VpdGVzLCBzdWl0ZU5hbWUsIHRlc3ROYW1lKQppZiBlcnIgdGhlbgpyZXR1cm4gbmlsLCBlcnIKZW5kCnJldHVybiB7CnN1aXRlTmFtZSA9IHN1aXRlTmFtZSwKc3VpdGUgPSBzdWl0ZSwKdGVzdE5hbWUgPSB0ZXN0TmFtZSwKdGVzdEZ1bmN0aW9uID0gdGVzdAp9CmVuZApmdW5jdGlvbiBtLnBhcnNlVGVzdElkZW50aWZpZXIoaWRlbnRpZmllcikKbG9jYWwgc3VpdGVOYW1lLCB0ZXN0TmFtZQppZiBpZGVudGlmaWVyIHRoZW4KbG9jYWwgcGFydHMgPSBzdHJpbmcuZXhwbG9kZShpZGVudGlmaWVyLCAiLiIsIHRydWUpCnN1aXRlTmFtZSA9IGlpZihwYXJ0c1sxXSB+PSAiIiwgcGFydHNbMV0sIG5pbCkKdGVzdE5hbWUgPSBpaWYocGFydHNbMl0gfj0gIiIsIHBhcnRzWzJdLCBuaWwpCmVuZApyZXR1cm4gc3VpdGVOYW1lLCB0ZXN0TmFtZQplbmQKZnVuY3Rpb24gXy5jaGVja1Rlc3RJZGVudGlmaWVyKHN1aXRlcywgc3VpdGVOYW1lLCB0ZXN0TmFtZSkKbG9jYWwgc3VpdGUsIHRlc3QKaWYgc3VpdGVOYW1lIHRoZW4Kc3VpdGUgPSBzdWl0ZXNbc3VpdGVOYW1lXQppZiBub3Qgc3VpdGUgdGhlbgpyZXR1cm4gbmlsLCBuaWwsICJObyBzdWNoIHRlc3Qgc3VpdGUgJyIgLi4gc3VpdGVOYW1lIC4uICInIgplbmQKaWYgdGVzdE5hbWUgdGhlbgp0ZXN0ID0gc3VpdGVbdGVzdE5hbWVdCmlmIG5vdCBfLmlzVmFsaWRUZXN0UGFpcih0ZXN0TmFtZSwgdGVzdCkgdGhlbgpyZXR1cm4gbmlsLCBuaWwsICJObyBzdWNoIHRlc3QgJyIgLi4gc3VpdGVOYW1lIC4uICIuIiAuLiB0ZXN0TmFtZSAuLiAiJyIKZW5kCmVuZAplbmQKcmV0dXJuIHN1aXRlLCB0ZXN0CmVuZApmdW5jdGlvbiBfLmlzVmFsaWRUZXN0UGFpcih0ZXN0TmFtZSwgdGVzdEZ1bmMpCmlmIHR5cGUodGVzdEZ1bmMpIH49ICJmdW5jdGlvbiIgdGhlbgpyZXR1cm4gZmFsc2UKZW5kCmlmIHRlc3ROYW1lID09ICJzZXR1cCIgb3IgdGVzdE5hbWUgPT0gInRlYXJkb3duIiB0aGVuCnJldHVybiBmYWxzZQplbmQKcmV0dXJuIHRydWUKZW5kCgAAAGBxQVRQUFxsPBA8VGx8fHx8fHx8fHx8fHxgYGBgaCK8vLyE5FRUEGJiBGIUUVAXAGBDUwBoQ1MAcENTAHhDUwCAQ1MAiENTAJRDUwCgQ1MAAAAAAGxvY2FsIHAgPSBwcmVtYWtlCnJlcXVpcmUgKCJ2c3R1ZGlvIikKcC5tb2R1bGVzLmQudmMyMDEwID0ge30KbG9jYWwgdmMyMDEwID0gcC52c3R1ZGlvLnZjMjAxMApsb2NhbCBtID0gcC5tb2R1bGVzLmQudmMyMDEwCm0uZWxlbWVudHMgPSB7fQpsb2NhbCB2c3R1ZGlvID0gcC52c3R1ZGlvCmxvY2FsIHZjMjAxMCA9IHAudnN0dWRpby52YzIwMTAKbG9jYWwgY29uZmlnID0gcC5jb25maWcKcC5vdmVycmlkZSh2YzIwMTAuZWxlbWVudHMsICJpdGVtRGVmaW5pdGlvbkdyb3VwIiwgZnVuY3Rpb24ob2xkZm4sIGNmZykKbG9jYWwgaXRlbXMgPSBvbGRmbihjZmcpCmlmIGNmZy5raW5kIH49IHAuVVRJTElUWSB0aGVuCnRhYmxlLmluc2VydGFmdGVyKGl0ZW1zLCB2YzIwMTAuY2xDb21waWxlLCBtLmRDb21waWxlKQplbmQKcmV0dXJuIGl0ZW1zCmVuZCkKbS5lbGVtZW50cy5kQ29tcGlsZSA9IGZ1bmN0aW9uKGNmZykKcmV0dXJuIHsKbS5kT3B0aW1pemF0aW9uLAptLmRJbXBvcnRQYXRocywKbS5kU3RyaW5nSW1wb3J0UGF0aHMsCm0uZFZlcnNpb25Db25zdGFudHMsCm0uZERlYnVnQ29uc3RhbnRzLAptLmRDb21waWxhdGlvbk1vZGVsLAptLmRSdW50aW1lLAptLmRDb2RlR2VuZXJhdGlvbiwKbS5kTWVzc2FnZXMsCm0uZERvY3VtZW50YXRpb24sCn0KZW5kCmZ1bmN0aW9uIG0uZENvbXBpbGUoY2ZnKQppZiBjb25maWcuaGFzRmlsZShjZmcsIHBhdGguaXNkZmlsZSkgdGhlbgpwLnB1c2goJzxEQ29tcGlsZT4nKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLmRDb21waWxlLCBjZmcpCnAucG9wKCc8L0RDb21waWxlPicpCmVuZAplbmQKdmMyMDEwLmNhdGVnb3JpZXMuRENvbXBpbGUgPSB7Cm5hbWUgICAgICAgPSAiRENvbXBpbGUiLApleHRlbnNpb25zID0geyAiLmQiIH0sCnByaW9yaXR5ICAgPSAzLAplbWl0RmlsZXMgPSBmdW5jdGlvbihwcmosIGdyb3VwKQpsb2NhbCBmaWxlQ2ZnRnVuYyA9IGZ1bmN0aW9uKGZjZmcsIGNvbmRpdGlvbikKaWYgZmNmZyB0aGVuCnJldHVybiB7CnZjMjAxMC5leGNsdWRlZEZyb21CdWlsZCwKbS5kT3B0aW1pemF0aW9uLAptLmRJbXBvcnRQYXRocywKbS5kU3RyaW5nSW1wb3J0UGF0aHMsCm0uZFZlcnNpb25Db25zdGFudHMsCm0uZERlYnVnQ29uc3RhbnRzLAptLmRDb21waWxhdGlvbk1vZGVsLAptLmRSdW50aW1lLAptLmRDb2RlR2VuZXJhdGlvbiwKbS5kTWVzc2FnZXMsCm0uZERvY3VtZW50YXRpb24sCn0KZWxzZQpyZXR1cm4gewp2YzIwMTAuZXhjbHVkZWRGcm9tQnVpbGQKfQplbmQKZW5kCnZjMjAxMC5lbWl0RmlsZXMocHJqLCBncm91cCwgIkRDb21waWxlIiwge20uZ2VuZXJhdGVkRmlsZX0sIGZpbGVDZmdGdW5jKQplbmQsCmVtaXRGaWx0ZXIgPSBmdW5jdGlvbihwcmosIGdyb3VwKQp2YzIwMTAuZmlsdGVyR3JvdXAocHJqLCBncm91cCwgIkRDb21waWxlIikKZW5kCn0KZnVuY3Rpb24gbS5kT3B0aW1pemF0aW9uKGNmZywgY29uZGl0aW9uKQpsb2NhbCBtYXAgPSB7IE9mZj0iZmFsc2UiLCBPbj0idHJ1ZSIsIERlYnVnPSJ0cnVlIiwgRnVsbD0idHJ1ZSIsIFNpemU9InRydWUiLCBTcGVlZD0idHJ1ZSIgfQppZiBjZmcub3B0aW1pemUgdGhlbgp2YzIwMTAuZWxlbWVudCgnT3B0aW1pemVyJywgY29uZGl0aW9uLCBtYXBbY2ZnLm9wdGltaXplXSBvciAiZmFsc2UiKQplbmQKZW5kCmZ1bmN0aW9uIG0uZEltcG9ydFBhdGhzKGNmZywgY29uZGl0aW9uKQppZiBjZmcuaW1wb3J0ZGlycyBhbmQgI2NmZy5pbXBvcnRkaXJzID4gMCB0aGVuCmxvY2FsIGRpcnMgPSB2c3R1ZGlvLnBhdGgoY2ZnLCBjZmcuaW1wb3J0ZGlycykKaWYgI2RpcnMgPiAwIHRoZW4KdmMyMDEwLmVsZW1lbnQoIkltcG9ydFBhdGhzIiwgY29uZGl0aW9uLCAiJXM7JSUoSW1wb3J0UGF0aHMpIiwgdGFibGUuY29uY2F0KGRpcnMsICI7IikpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0uZFN0cmluZ0ltcG9ydFBhdGhzKGNmZywgY29uZGl0aW9uKQppZiBjZmcuc3RyaW5naW1wb3J0ZGlycyBhbmQgI2NmZy5zdHJpbmdpbXBvcnRkaXJzID4gMCB0aGVuCmxvY2FsIGRpcnMgPSB2c3R1ZGlvLnBhdGgoY2ZnLCBjZmcuc3RyaW5naW1wb3J0ZGlycykKaWYgI2RpcnMgPiAwIHRoZW4KdmMyMDEwLmVsZW1lbnQoIlN0cmluZ0ltcG9ydFBhdGhzIiwgY29uZGl0aW9uLCAiJXM7JSUoU3RyaW5nSW1wb3J0UGF0aHMpIiwgdGFibGUuY29uY2F0KGRpcnMsICI7IikpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0uZFZlcnNpb25Db25zdGFudHMoY2ZnLCBjb25kaXRpb24pCmlmIGNmZy52ZXJzaW9uY29uc3RhbnRzIGFuZCAjY2ZnLnZlcnNpb25jb25zdGFudHMgPiAwIHRoZW4KbG9jYWwgdmVyc2lvbmNvbnN0YW50cyA9IHRhYmxlLmNvbmNhdChjZmcudmVyc2lvbmNvbnN0YW50cywgIjsiKQp2YzIwMTAuZWxlbWVudCgiVmVyc2lvbklkZW50aWZpZXJzIiwgY29uZGl0aW9uLCB2ZXJzaW9uY29uc3RhbnRzKQplbmQKZW5kCmZ1bmN0aW9uIG0uZERlYnVnQ29uc3RhbnRzKGNmZywgY29uZGl0aW9uKQppZiBjZmcuZGVidWdjb25zdGFudHMgYW5kICNjZmcuZGVidWdjb25zdGFudHMgPiAwIHRoZW4KbG9jYWwgZGVidWdjb25zdGFudHMgPSB0YWJsZS5jb25jYXQoY2ZnLmRlYnVnY29uc3RhbnRzLCAiOyIpCnZjMjAxMC5lbGVtZW50KCJEZWJ1Z0lkZW50aWZpZXJzIiwgY29uZGl0aW9uLCBkZWJ1Z2NvbnN0YW50cykKZW5kCmVuZApmdW5jdGlvbiBtLmRDb21waWxhdGlvbk1vZGVsKGNmZywgY29uZGl0aW9uKQppZiBjZmcuY29tcGlsYXRpb25tb2RlbCBhbmQgY2ZnLmNvbXBpbGF0aW9ubW9kZWwgfj0gIkRlZmF1bHQiIHRoZW4KdmMyMDEwLmVsZW1lbnQoIkNvbXBpbGF0aW9uTW9kZWwiLCBjb25kaXRpb24sIGNmZy5jb21waWxhdGlvbm1vZGVsKQplbmQKZW5kCmZ1bmN0aW9uIG0uZFJ1bnRpbWUoY2ZnLCBjb25kaXRpb24pCmlmIGNmZy5mbGFncy5PbWl0RGVmYXVsdExpYnJhcnkgdGhlbgp2YzIwMTAuZWxlbWVudCgiQ1J1bnRpbWVMaWJyYXJ5IiwgY29uZGl0aW9uLCAiTm9uZSIpCmVsc2UKbG9jYWwgcmVsZWFzZXJ1bnRpbWUgPSBub3QgY29uZmlnLmlzRGVidWdCdWlsZChjZmcpCmxvY2FsIHN0YXRpY3J1bnRpbWUgPSB0cnVlCmlmIGNmZy5zdGF0aWNydW50aW1lID09ICJPZmYiIHRoZW4Kc3RhdGljcnVudGltZSA9IGZhbHNlCmVuZAppZiBjZmcucnVudGltZSA9PSAiRGVidWciIHRoZW4KcmVsZWFzZXJ1bnRpbWUgPSBmYWxzZQplbHNlaWYgY2ZnLnJ1bnRpbWUgPT0gIlJlbGVhc2UiIHRoZW4KcmVsZWFzZXJ1bnRpbWUgPSB0cnVlCmVuZAppZiAoY2ZnLnN0YXRpY3J1bnRpbWUgYW5kIGNmZy5zdGF0aWNydW50aW1lIH49ICJEZWZhdWx0Iikgb3IgKGNmZy5ydW50aW1lIGFuZCBjZmcucnVudGltZSB+PSAiRGVmYXVsdCIpIHRoZW4KaWYgc3RhdGljcnVudGltZSA9PSB0cnVlIGFuZCByZWxlYXNlcnVudGltZSA9PSB0cnVlIHRoZW4KdmMyMDEwLmVsZW1lbnQoIkNSdW50aW1lTGlicmFyeSIsIGNvbmRpdGlvbiwgIk11bHRpVGhyZWFkZWQiKQplbHNlaWYgc3RhdGljcnVudGltZSA9PSB0cnVlIGFuZCByZWxlYXNlcnVudGltZSA9PSBmYWxzZSB0aGVuCnZjMjAxMC5lbGVtZW50KCJDUnVudGltZUxpYnJhcnkiLCBjb25kaXRpb24sICJNdWx0aVRocmVhZGVkRGVidWciKQplbHNlaWYgc3RhdGljcnVudGltZSA9PSBmYWxzZSBhbmQgcmVsZWFzZXJ1bnRpbWUgPT0gdHJ1ZSB0aGVuCnZjMjAxMC5lbGVtZW50KCJDUnVudGltZUxpYnJhcnkiLCBjb25kaXRpb24sICJNdWx0aVRocmVhZGVkRGxsIikKZWxzZWlmIHN0YXRpY3J1bnRpbWUgPT0gZmFsc2UgYW5kIHJlbGVhc2VydW50aW1lID09IGZhbHNlIHRoZW4KdmMyMDEwLmVsZW1lbnQoIkNSdW50aW1lTGlicmFyeSIsIGNvbmRpdGlvbiwgIk11bHRpVGhyZWFkZWREZWJ1Z0RsbCIpCmVuZAplbmQKZW5kCmVuZApmdW5jdGlvbiBtLmRDb2RlR2VuZXJhdGlvbihjZmcsIGNvbmRpdGlvbikKaWYgY2ZnLmJ1aWxkdGFyZ2V0IHRoZW4KbG9jYWwgT2JqZWN0RmlsZU5hbWUgPSAiIgppZiBjZmcuYnVpbGR0YXJnZXQuYmFzZW5hbWUgdGhlbgppZiBjZmcuYnVpbGR0YXJnZXQucHJlZml4IHRoZW4KT2JqZWN0RmlsZU5hbWUgPSBjZmcuYnVpbGR0YXJnZXQucHJlZml4CmVuZApPYmplY3RGaWxlTmFtZSA9IE9iamVjdEZpbGVOYW1lIC4uIGNmZy5idWlsZHRhcmdldC5iYXNlbmFtZSAuLiAiLm9iaiIKZW5kCmlmIGNmZy5idWlsZHRhcmdldC5kaXJlY3RvcnkgdGhlbgpsb2NhbCBvdXRkaXIgPSB2c3R1ZGlvLnBhdGgoY2ZnLCBjZmcuYnVpbGR0YXJnZXQuZGlyZWN0b3J5KQpPYmplY3RGaWxlTmFtZSA9IHBhdGguam9pbihvdXRkaXIsIE9iamVjdEZpbGVOYW1lKQplbmQKdmMyMDEwLmVsZW1lbnQoIk9iamVjdEZpbGVOYW1lIiwgY29uZGl0aW9uLCBPYmplY3RGaWxlTmFtZSkKZW5kCmlmIGNmZy5vcHRpbWl6ZSB0aGVuCmlmIGNvbmZpZy5pc09wdGltaXplZEJ1aWxkKGNmZykgdGhlbgp2YzIwMTAuZWxlbWVudCgiT3B0aW1pemVyIiwgY29uZGl0aW9uLCAidHJ1ZSIpCmVuZAplbmQKaWYgY2ZnLmZsYWdzLlByb2ZpbGUgdGhlbgp2YzIwMTAuZWxlbWVudCgiUHJvZmlsZSIsIGNvbmRpdGlvbiwgInRydWUiKQplbmQKaWYgY2ZnLmZsYWdzLkNvZGVDb3ZlcmFnZSB0aGVuCnZjMjAxMC5lbGVtZW50KCJDb3ZlcmFnZSIsIGNvbmRpdGlvbiwgInRydWUiKQplbmQKaWYgY2ZnLmZsYWdzLlVuaXRUZXN0IHRoZW4KdmMyMDEwLmVsZW1lbnQoIlVuaXR0ZXN0IiwgY29uZGl0aW9uLCAidHJ1ZSIpCmVuZAppZiBjZmcuaW5saW5pbmcgdGhlbgpsb2NhbCB0eXBlcyA9IHsKRGVmYXVsdCA9ICJ0cnVlIiwKRGlzYWJsZWQgPSAiZmFsc2UiLApFeHBsaWNpdCA9ICJ0cnVlIiwKQXV0byA9ICJ0cnVlIiwKfQp2YzIwMTAuZWxlbWVudCgiSW5saW5lciIsIGNvbmRpdGlvbiwgdHlwZXNbY2ZnLmlubGluaW5nXSkKZW5kCmlmIGNmZy5ib3VuZHNjaGVjayBhbmQgY2ZnLmJvdW5kc2NoZWNrIH49ICJEZWZhdWx0IiB0aGVuCmxvY2FsIHR5cGVzID0gewpPZmYgPSAiT2ZmIiwKU2FmZU9ubHkgPSAiU2FmZU9ubHkiLApPbiA9ICJPbiIsCn0KdmMyMDEwLmVsZW1lbnQoIkJvdW5kc0NoZWNrIiwgY29uZGl0aW9uLCB0eXBlc1tjZmcuYm91bmRzY2hlY2tdKQplbmQKaWYgY2ZnLnN5bWJvbHMgdGhlbgppZiBjZmcuc3ltYm9scyA9PSBwLk9mZiB0aGVuCnZjMjAxMC5lbGVtZW50KCJEZWJ1Z0luZm8iLCBjb25kaXRpb24sICJOb25lIikKZWxzZWlmIGNmZy5zeW1ib2xzIH49ICJEZWZhdWx0IiB0aGVuCnZjMjAxMC5lbGVtZW50KCJEZWJ1Z0luZm8iLCBjb25kaXRpb24sIGlpZihjZmcuZmxhZ3MuU3ltYm9sc0xpa2VDLCAiVlMiLCAiTWFnbyIpKQplbmQKZW5kCmlmIGNmZy5mbGFncy5Qcm9maWxlR0MgdGhlbgp2YzIwMTAuZWxlbWVudCgiUHJvZmlsZUdDIiwgY29uZGl0aW9uLCAidHJ1ZSIpCmVuZAppZiBjZmcuZmxhZ3MuU3RhY2tGcmFtZSB0aGVuCnZjMjAxMC5lbGVtZW50KCJTdGFja0ZyYW1lIiwgY29uZGl0aW9uLCAidHJ1ZSIpCmVuZAppZiBjZmcuZmxhZ3MuU3RhY2tTdG9tcCB0aGVuCnZjMjAxMC5lbGVtZW50KCJTdGFja1N0b21wIiwgY29uZGl0aW9uLCAidHJ1ZSIpCmVuZAppZiBjZmcuZmxhZ3MuQWxsVGVtcGxhdGVJbnN0IHRoZW4KdmMyMDEwLmVsZW1lbnQoIkFsbEluc3QiLCBjb25kaXRpb24sICJ0cnVlIikKZW5kCmlmIGNmZy5mbGFncy5CZXR0ZXJDIHRoZW4KdmMyMDEwLmVsZW1lbnQoIkJldHRlckMiLCBjb25kaXRpb24sICJ0cnVlIikKZW5kCmlmIGNmZy5mbGFncy5NYWluIHRoZW4KdmMyMDEwLmVsZW1lbnQoIk1haW4iLCBjb25kaXRpb24sICJ0cnVlIikKZW5kCmlmIGNmZy5mbGFncy5QZXJmb3JtU3ludGF4Q2hlY2tPbmx5IHRoZW4KdmMyMDEwLmVsZW1lbnQoIlBlcmZvcm1TeW50YXhDaGVja09ubHkiLCBjb25kaXRpb24sICJ0cnVlIikKZW5kCmVuZApmdW5jdGlvbiBtLmRNZXNzYWdlcyhjZmcsIGNvbmRpdGlvbikKaWYgY2ZnLndhcm5pbmdzID09IHAuT0ZGIHRoZW4KdmMyMDEwLmVsZW1lbnQoIldhcm5pbmdzIiwgY29uZGl0aW9uLCAiTm9uZSIpCmVsc2VpZiBjZmcud2FybmluZ3MgYW5kIGNmZy53YXJuaW5ncyB+PSAiRGVmYXVsdCIgdGhlbgp2YzIwMTAuZWxlbWVudCgiV2FybmluZ3MiLCBjb25kaXRpb24sIGlpZihjZmcuZmxhZ3MuRmF0YWxDb21waWxlV2FybmluZ3MsICJFcnJvciIsICJJbmZvIikpCmVuZAppZiBjZmcuZGVwcmVjYXRlZGZlYXR1cmVzIGFuZCBjZmcuZGVwcmVjYXRlZGZlYXR1cmVzIH49ICJEZWZhdWx0IiB0aGVuCmxvY2FsIHR5cGVzID0gewpFcnJvciA9ICJFcnJvciIsCldhcm4gPSAiSW5mbyIsCkFsbG93ID0gIkFsbG93IiwKfQp2YzIwMTAuZWxlbWVudCgiRGVwcmVjYXRpb25zIiwgY29uZGl0aW9uLCB0eXBlc1tjZmcuZGVwcmVjYXRlZGZlYXR1cmVzXSkKZW5kCmlmIGNmZy5mbGFncy5TaG93Q29tbWFuZExpbmUgdGhlbgp2YzIwMTAuZWxlbWVudCgiU2hvd0NvbW1hbmRMaW5lIiwgY29uZGl0aW9uLCAidHJ1ZSIpCmVuZAppZiBjZmcuZmxhZ3MuVmVyYm9zZSB0aGVuCnZjMjAxMC5lbGVtZW50KCJWZXJib3NlIiwgY29uZGl0aW9uLCAidHJ1ZSIpCmVuZAppZiBjZmcuZmxhZ3MuU2hvd1RMUyB0aGVuCnZjMjAxMC5lbGVtZW50KCJTaG93VExTIiwgY29uZGl0aW9uLCAidHJ1ZSIpCmVuZAppZiBjZmcuZmxhZ3MuU2hvd0dDIHRoZW4KdmMyMDEwLmVsZW1lbnQoIlNob3dHQyIsIGNvbmRpdGlvbiwgInRydWUiKQplbmQKaWYgY2ZnLmZsYWdzLklnbm9yZVByYWdtYSB0aGVuCnZjMjAxMC5lbGVtZW50KCJJZ25vcmVQcmFnbWEiLCBjb25kaXRpb24sICJ0cnVlIikKZW5kCmlmIGNmZy5mbGFncy5TaG93RGVwZW5kZW5jaWVzIHRoZW4KdmMyMDEwLmVsZW1lbnQoIlNob3dEZXBlbmRlbmNpZXMiLCBjb25kaXRpb24sICJ0cnVlIikKZW5kCmVuZApmdW5jdGlvbiBtLmREb2N1bWVudGF0aW9uKGNmZywgY29uZGl0aW9uKQppZiBjZmcuZG9jZGlyIHRoZW4KdmMyMDEwLmVsZW1lbnQoIkRvY0RpciIsIGNvbmRpdGlvbiwgY2ZnLmRvY2RpcikKZW5kCmlmIGNmZy5kb2NuYW1lIHRoZW4KdmMyMDEwLmVsZW1lbnQoIkRvY0ZpbGUiLCBjb25kaXRpb24sIGNmZy5kb2NuYW1lKQplbmQKaWYgY2ZnLmRlcGVuZGVuY2llc2ZpbGUgdGhlbgp2YzIwMTAuZWxlbWVudCgiRGVwRmlsZSIsIGNvbmRpdGlvbiwgY2ZnLmRlcGVuZGVuY2llc2ZpbGUpCmVuZAppZiBjZmcuaGVhZGVyZGlyIHRoZW4KdmMyMDEwLmVsZW1lbnQoIkhlYWRlckRpciIsIGNvbmRpdGlvbiwgY2ZnLmhlYWRlcmRpcikKZW5kCmlmIGNmZy5oZWFkZXJuYW1lIHRoZW4KdmMyMDEwLmVsZW1lbnQoIkhlYWRlckZpbGUiLCBjb25kaXRpb24sIGNmZy5oZWFkZXJuYW1lKQplbmQKaWYgY2ZnLmpzb25maWxlIHRoZW4KdmMyMDEwLmVsZW1lbnQoIkpTT05GaWxlIiwgY29uZGl0aW9uLCBjZmcuanNvbmZpbGUpCmVuZAplbmQKAAAAAAAAAQAAAAIAAAADAAAABQAAAAYAAAAHAAAACQAAAHAGQgBQA0IAkARCAAAFQgAAAAAAbG9jYWwgcCA9IHByZW1ha2UKcC52c3R1ZGlvLnZzMjAwOCA9IHt9CmxvY2FsIHZzMjAwOCA9IHAudnN0dWRpby52czIwMDgKbG9jYWwgdnN0dWRpbyA9IHAudnN0dWRpbwpuZXdhY3Rpb24gewp0cmlnZ2VyICAgICA9ICJ2czIwMDgiLApzaG9ydG5hbWUgICA9ICJWaXN1YWwgU3R1ZGlvIDIwMDgiLApkZXNjcmlwdGlvbiA9ICJHZW5lcmF0ZSBWaXN1YWwgU3R1ZGlvIDIwMDggcHJvamVjdCBmaWxlcyIsCnRhcmdldG9zID0gIndpbmRvd3MiLAp0b29sc2V0ICA9ICJtc2MtdjkwIiwKdmFsaWRfa2luZHMgICAgID0geyAiQ29uc29sZUFwcCIsICJXaW5kb3dlZEFwcCIsICJTdGF0aWNMaWIiLCAiU2hhcmVkTGliIiwgIk1ha2VmaWxlIiwgIk5vbmUiIH0sCnZhbGlkX2xhbmd1YWdlcyA9IHsgIkMiLCAiQysrIiwgIkMjIiwgIkYjIiB9LAp2YWxpZF90b29scyAgICAgPSB7CmNjICAgICA9IHsgIm1zYyIgICB9LApkb3RuZXQgPSB7ICJtc25ldCIgfSwKfSwKb25Xb3Jrc3BhY2UgPSB2c3R1ZGlvLnZzMjAwNS5nZW5lcmF0ZVNvbHV0aW9uLApvblByb2plY3QgICA9IHZzdHVkaW8udnMyMDA1LmdlbmVyYXRlUHJvamVjdCwKb25DbGVhbldvcmtzcGFjZSA9IHZzdHVkaW8uY2xlYW5Tb2x1dGlvbiwKb25DbGVhblByb2plY3QgICA9IHZzdHVkaW8uY2xlYW5Qcm9qZWN0LApvbkNsZWFuVGFyZ2V0ICAgID0gdnN0dWRpby5jbGVhblRhcmdldCwKdnN0dWRpbyA9IHsKY3Nwcm9qU2NoZW1hVmVyc2lvbiA9ICIyLjAiLApwcm9kdWN0VmVyc2lvbiAgICAgID0gIjkuMC4zMDcyOSIsCnNvbHV0aW9uVmVyc2lvbiAgICAgPSAiMTAiLAp2ZXJzaW9uTmFtZSAgICAgICAgID0gIjIwMDgiLAp0b29sc1ZlcnNpb24gICAgICAgID0gIjMuNSIsCn0KfQoAAP8AAAB/AAAA/wcAAP//AAAAAAAAbG9jYWwgcCA9IHByZW1ha2UKbG9jYWwgdHJlZSA9IHAudHJlZQpsb2NhbCBwcm9qZWN0ID0gcC5wcm9qZWN0CmxvY2FsIGNvbmZpZyA9IHAuY29uZmlnCmxvY2FsIGNvZGVsaXRlID0gcC5tb2R1bGVzLmNvZGVsaXRlCmNvZGVsaXRlLnByb2plY3QgPSB7fQpsb2NhbCBtID0gY29kZWxpdGUucHJvamVjdApmdW5jdGlvbiBjb2RlbGl0ZS5nZXRMaW5rcyhjZmcpCnJldHVybiBjb25maWcuZ2V0bGlua3MoY2ZnLCAic3lzdGVtIiwgImZ1bGxwYXRoIikKZW5kCmZ1bmN0aW9uIGNvZGVsaXRlLmdldFNpYmxpbmdMaW5rcyhjZmcpCnJldHVybiBjb25maWcuZ2V0bGlua3MoY2ZnLCAic2libGluZ3MiLCAiZnVsbHBhdGgiKQplbmQKbS5lbGVtZW50cyA9IHt9Cm0uY3Rvb2xzID0gewpnY2MgPSAiZ251IGdjYyIsCmNsYW5nID0gImNsYW5nIiwKbXNjID0gIlZpc3VhbCBDKysiLAp9Cm0uY3h4dG9vbHMgPSB7CmdjYyA9ICJnbnUgZysrIiwKY2xhbmcgPSAiY2xhbmcrKyIsCm1zYyA9ICJWaXN1YWwgQysrIiwKfQpmdW5jdGlvbiBtLmdldGNvbXBpbGVybmFtZShjZmcpCmxvY2FsIHRvb2wgPSBfT1BUSU9OUy5jYyBvciBjZmcudG9vbHNldCBvciBwLkNMQU5HCmxvY2FsIHRvb2xzZXQgPSBwLnRvb2xzW3Rvb2xdCmlmIG5vdCB0b29sc2V0IHRoZW4KZXJyb3IoIkludmFsaWQgdG9vbHNldCAnIiArIChfT1BUSU9OUy5jYyBvciBjZmcudG9vbHNldCkgKyAiJyIpCmVuZAppZiBwLmxhbmd1YWdlcy5pc2MoY2ZnLmxhbmd1YWdlKSB0aGVuCnJldHVybiBtLmN0b29sc1t0b29sXQplbHNlaWYgcC5sYW5ndWFnZXMuaXNjcHAoY2ZnLmxhbmd1YWdlKSB0aGVuCnJldHVybiBtLmN4eHRvb2xzW3Rvb2xdCmVuZAplbmQKZnVuY3Rpb24gbS5nZXRjb21waWxlcihjZmcpCmxvY2FsIHRvb2xzZXQgPSBwLnRvb2xzW19PUFRJT05TLmNjIG9yIGNmZy50b29sc2V0IG9yIHAuQ0xBTkddCmlmIG5vdCB0b29sc2V0IHRoZW4KZXJyb3IoIkludmFsaWQgdG9vbHNldCAnIiArIChfT1BUSU9OUy5jYyBvciBjZmcudG9vbHNldCkgKyAiJyIpCmVuZApyZXR1cm4gdG9vbHNldAplbmQKbG9jYWwgZnVuY3Rpb24gY29uZmlndXJhdGlvbl9pc2N1c3RvbWJ1aWxkKGNmZykKcmV0dXJuIGNmZyBhbmQgKGNmZy5raW5kID09IHAuTUFLRUZJTEUpIGFuZCAoI2NmZy5idWlsZGNvbW1hbmRzID4gMCkKZW5kCmxvY2FsIGZ1bmN0aW9uIGNvbmZpZ3VyYXRpb25faXNmaWxlbGlzdChjZmcpCnJldHVybiBjZmcgYW5kIChjZmcuYnVpbGRhY3Rpb24gPT0gIk5vbmUiKSBhbmQgbm90IGNvbmZpZ3VyYXRpb25faXNjdXN0b21idWlsZChjZmcpCmVuZApsb2NhbCBmdW5jdGlvbiBjb25maWd1cmF0aW9uX25lZWRyZXNvcHRpb25zKGNmZykKcmV0dXJuIGNmZyBhbmQgY29uZmlnLmZpbmRmaWxlKGNmZywgIi5yYyIpIGFuZCBub3QgY29uZmlndXJhdGlvbl9pc2N1c3RvbWJ1aWxkKGNmZykKZW5kCm0uaW50ZXJuYWxUeXBlTWFwID0gewpDb25zb2xlQXBwID0gIkNvbnNvbGUiLApXaW5kb3dlZEFwcCA9ICJDb25zb2xlIiwKTWFrZWZpbGUgPSAiIiwKU2hhcmVkTGliID0gIkxpYnJhcnkiLApTdGF0aWNMaWIgPSAiTGlicmFyeSIKfQpmdW5jdGlvbiBtLmhlYWRlcihwcmopCl9wKCc8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PicpCmxvY2FsIHR5cGUgPSBtLmludGVybmFsVHlwZU1hcFtwcmoua2luZF0gb3IgIiIKX3goJzxDb2RlTGl0ZV9Qcm9qZWN0IE5hbWU9IiVzIiBJbnRlcm5hbFR5cGU9IiVzIj4nLCBwcmoubmFtZSwgdHlwZSkKZW5kCmZ1bmN0aW9uIG0ucGx1Z2lucyhwcmopCl9wKDEsICc8UGx1Z2lucy8+JykKZW5kCmZ1bmN0aW9uIG0uZGVzY3JpcHRpb24ocHJqKQpfcCgxLCAnPERlc2NyaXB0aW9uLz4nKQplbmQKZnVuY3Rpb24gbS5maWxlcyhwcmopCmxvY2FsIHRyID0gcHJvamVjdC5nZXRzb3VyY2V0cmVlKHByaikKdHJlZS50cmF2ZXJzZSh0ciwgewpvbmJyYW5jaGVudGVyID0gZnVuY3Rpb24obm9kZSwgZGVwdGgpCl9wKGRlcHRoLCAnPFZpcnR1YWxEaXJlY3RvcnkgTmFtZT0iJXMiPicsIG5vZGUubmFtZSkKZW5kLApvbmJyYW5jaGV4aXQgPSBmdW5jdGlvbihub2RlLCBkZXB0aCkKX3AoZGVwdGgsICc8L1ZpcnR1YWxEaXJlY3Rvcnk+JykKZW5kLApvbmxlYWYgPSBmdW5jdGlvbihub2RlLCBkZXB0aCkKbG9jYWwgZXhjbHVkZXNGcm9tQnVpbGQgPSB7fQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmxvY2FsIGNmZ25hbWUgPSBjb2RlbGl0ZS5jZmduYW1lKGNmZykKbG9jYWwgZmNmZyA9IHAuZmlsZWNvbmZpZy5nZXRjb25maWcobm9kZSwgY2ZnKQppZiBub3QgZmNmZyBvciBmY2ZnLmZsYWdzLkV4Y2x1ZGVGcm9tQnVpbGQgdGhlbgp0YWJsZS5pbnNlcnQoZXhjbHVkZXNGcm9tQnVpbGQsIGNmZ25hbWUpCmVuZAplbmQKaWYgI2V4Y2x1ZGVzRnJvbUJ1aWxkID4gMCB0aGVuCl9wKGRlcHRoLCAnPEZpbGUgTmFtZT0iJXMiIEV4Y2x1ZGVQcm9qQ29uZmlnPSIlcyIgLz4nLCBub2RlLnJlbHBhdGgsIHRhYmxlLmNvbmNhdChleGNsdWRlc0Zyb21CdWlsZCwgJzsnKSkKZWxzZQpfcChkZXB0aCwgJzxGaWxlIE5hbWU9IiVzIi8+Jywgbm9kZS5yZWxwYXRoKQplbmQKZW5kLAp9LCB0cnVlKQplbmQKZnVuY3Rpb24gbS5kZXBlbmRlbmNpZXMocHJqKQpsb2NhbCBkZXBlbmRlbmNpZXMgPSBwcm9qZWN0LmdldGRlcGVuZGVuY2llcyhwcmopCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KY2ZnbmFtZSA9IGNvZGVsaXRlLmNmZ25hbWUoY2ZnKQppZiAjZGVwZW5kZW5jaWVzID4gMCB0aGVuCl9wKDEsICc8RGVwZW5kZW5jaWVzIE5hbWU9IiVzIj4nLCBjZmduYW1lKQpmb3IgXywgZGVwZW5kZW5jeSBpbiBpcGFpcnMoZGVwZW5kZW5jaWVzKSBkbwpfcCgyLCAnPFByb2plY3QgTmFtZT0iJXMiLz4nLCBkZXBlbmRlbmN5Lm5hbWUpCmVuZApfcCgxLCAnPC9EZXBlbmRlbmNpZXM+JykKZWxzZQpfcCgxLCAnPERlcGVuZGVuY2llcyBOYW1lPSIlcyIvPicsIGNmZ25hbWUpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0uZ2xvYmFsX2NvbXBpbGVyKHByaikKX3AoMywgJzxDb21waWxlciBPcHRpb25zPSIiIENfT3B0aW9ucz0iIiBBc3NlbWJsZXI9IiI+JykKX3AoNCwgJzxJbmNsdWRlUGF0aCBWYWx1ZT0iLiIvPicpCl9wKDMsICc8L0NvbXBpbGVyPicpCmVuZApmdW5jdGlvbiBtLmdsb2JhbF9saW5rZXIocHJqKQpfcCgzLCAnPExpbmtlciBPcHRpb25zPSIiPicpCl9wKDQsICc8TGlicmFyeVBhdGggVmFsdWU9Ii4iLz4nKQpfcCgzLCAnPC9MaW5rZXI+JykKZW5kCmZ1bmN0aW9uIG0uZ2xvYmFsX3Jlc291cmNlQ29tcGlsZXIocHJqKQpfcCgzLCAnPFJlc291cmNlQ29tcGlsZXIgT3B0aW9ucz0iIi8+JykKZW5kCm0uZWxlbWVudHMuZ2xvYmFsU2V0dGluZ3MgPSBmdW5jdGlvbihwcmopCnJldHVybiB7Cm0uZ2xvYmFsX2NvbXBpbGVyLAptLmdsb2JhbF9saW5rZXIsCm0uZ2xvYmFsX3Jlc291cmNlQ29tcGlsZXIsCn0KZW5kCmZ1bmN0aW9uIG0uY29tcGlsZXIoY2ZnKQppZiBjb25maWd1cmF0aW9uX2lzY3VzdG9tYnVpbGQoY2ZnKSBvciBjb25maWd1cmF0aW9uX2lzZmlsZWxpc3QoY2ZnKSB0aGVuCl9wKDMsICc8Q29tcGlsZXIgUmVxdWlyZWQ9Im5vIi8+JykKcmV0dXJuCmVuZApsb2NhbCB0b29sc2V0ID0gbS5nZXRjb21waWxlcihjZmcpCmxvY2FsIGZvcmNlaW5jbHVkZXMgPSB0b29sc2V0LmdldGZvcmNlaW5jbHVkZXMoY2ZnKQpsb2NhbCBjeHhmbGFncyA9IHRhYmxlLmNvbmNhdCh0YWJsZS5qb2luKHRvb2xzZXQuZ2V0Y3h4ZmxhZ3MoY2ZnKSwgZm9yY2VpbmNsdWRlcywgY2ZnLmJ1aWxkb3B0aW9ucyksICI7IikKbG9jYWwgY2ZsYWdzICAgPSB0YWJsZS5jb25jYXQodGFibGUuam9pbih0b29sc2V0LmdldGNmbGFncyhjZmcpLCBmb3JjZWluY2x1ZGVzLCBjZmcuYnVpbGRvcHRpb25zKSwgIjsiKQpsb2NhbCBhc21mbGFncyA9ICIiCmxvY2FsIHBjaCAgICAgID0gIiIKX3goMywgJzxDb21waWxlciBPcHRpb25zPSIlcyIgQ19PcHRpb25zPSIlcyIgQXNzZW1ibGVyPSIlcyIgUmVxdWlyZWQ9InllcyIgUHJlQ29tcGlsZWRIZWFkZXI9IiVzIiBQQ0hJbkNvbW1hbmRMaW5lPSJubyIgVXNlRGlmZmVyZW50UENIRmxhZ3M9Im5vIiBQQ0hGbGFncz0iIj4nLCBjeHhmbGFncywgY2ZsYWdzLCBhc21mbGFncywgcGNoKQpmb3IgXywgaW5jbHVkZWRpciBpbiBpcGFpcnMoY2ZnLmluY2x1ZGVkaXJzKSBkbwpfeCg0LCAnPEluY2x1ZGVQYXRoIFZhbHVlPSIlcyIvPicsIHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGluY2x1ZGVkaXIpKQplbmQKZm9yIF8sIGRlZmluZSBpbiBpcGFpcnMoY2ZnLmRlZmluZXMpIGRvCl94KDQsICc8UHJlcHJvY2Vzc29yIFZhbHVlPSIlcyIvPicsIHAuZXNjKGRlZmluZSkpCmVuZApfcCgzLCAnPC9Db21waWxlcj4nKQplbmQKZnVuY3Rpb24gbS5saW5rZXIoY2ZnKQppZiBjb25maWd1cmF0aW9uX2lzY3VzdG9tYnVpbGQoY2ZnKSBvciBjb25maWd1cmF0aW9uX2lzZmlsZWxpc3QoY2ZnKSB0aGVuCl9wKDMsICc8TGlua2VyIFJlcXVpcmVkPSJubyIvPicpCnJldHVybgplbmQKbG9jYWwgdG9vbHNldCA9IG0uZ2V0Y29tcGlsZXIoY2ZnKQpsb2NhbCBmbGFncyAgID0gdGFibGUuam9pbih0b29sc2V0LmdldGxkZmxhZ3MoY2ZnKSwgY2ZnLmxpbmtvcHRpb25zLCB0b29sc2V0LmdldGxpbmtzKGNmZykpCl94KDMsICc8TGlua2VyIFJlcXVpcmVkPSJ5ZXMiIE9wdGlvbnM9IiVzIj4nLCB0YWJsZS5jb25jYXQoZmxhZ3MsICI7IikpCmZvciBfLCBsaWJkaXIgaW4gaXBhaXJzKGNmZy5saWJkaXJzKSBkbwpfcCg0LCAnPExpYnJhcnlQYXRoIFZhbHVlPSIlcyIvPicsIHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGxpYmRpcikpCmVuZApfcCgzLCAnPC9MaW5rZXI+JykKZW5kCmZ1bmN0aW9uIG0ucmVzb3VyY2VDb21waWxlcihjZmcpCmlmIG5vdCBjb25maWd1cmF0aW9uX25lZWRyZXNvcHRpb25zKGNmZykgdGhlbgpfcCgzLCAnPFJlc291cmNlQ29tcGlsZXIgT3B0aW9ucz0iIiBSZXF1aXJlZD0ibm8iLz4nKQpyZXR1cm4KZW5kCmxvY2FsIHRvb2xzZXQgPSBtLmdldGNvbXBpbGVyKGNmZykKbG9jYWwgZGVmaW5lcyA9IHRhYmxlLmltcGxvZGUodG9vbHNldC5nZXRkZWZpbmVzKHRhYmxlLmpvaW4oY2ZnLmRlZmluZXMsIGNmZy5yZXNkZWZpbmVzKSksICIiLCAiOyIsICIiKQpsb2NhbCBvcHRpb25zID0gdGFibGUuY29uY2F0KGNmZy5yZXNvcHRpb25zLCAiOyIpCl94KDMsICc8UmVzb3VyY2VDb21waWxlciBPcHRpb25zPSIlcyVzIiBSZXF1aXJlZD0ieWVzIj4nLCBkZWZpbmVzLCBvcHRpb25zKQpmb3IgXywgaW5jbHVkZXBhdGggaW4gaXBhaXJzKHRhYmxlLmpvaW4oY2ZnLmluY2x1ZGVkaXJzLCBjZmcucmVzaW5jbHVkZWRpcnMpKSBkbwpfeCg0LCAnPEluY2x1ZGVQYXRoIFZhbHVlPSIlcyIvPicsIHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGluY2x1ZGVwYXRoKSkKZW5kCl9wKDMsICc8L1Jlc291cmNlQ29tcGlsZXI+JykKZW5kCmZ1bmN0aW9uIG0uZ2VuZXJhbChjZmcpCmlmIGNvbmZpZ3VyYXRpb25faXNmaWxlbGlzdChjZmcpIHRoZW4KX3AoMywgJzxHZW5lcmFsIEludGVybWVkaWF0ZURpcmVjdG9yeT0iLiIgV29ya2luZ0RpcmVjdG9yeT0iLiIgUGF1c2VFeGVjV2hlblByb2NUZXJtaW5hdGVzPSJubyIvPicpCnJldHVybgplbmQKbG9jYWwgcHJqID0gY2ZnLnByb2plY3QKbG9jYWwgaXNFeGUgPSBwcmoua2luZCA9PSAiV2luZG93ZWRBcHAiIG9yIHByai5raW5kID09ICJDb25zb2xlQXBwIgpsb2NhbCB0YXJnZXRwYXRoID0gcHJvamVjdC5nZXRyZWxhdGl2ZShwcmosIGNmZy5idWlsZHRhcmdldC5kaXJlY3RvcnkpCmxvY2FsIG9iamRpciAgICAgPSBwcm9qZWN0LmdldHJlbGF0aXZlKHByaiwgY2ZnLm9iamRpcikKbG9jYWwgdGFyZ2V0bmFtZSA9IHByb2plY3QuZ2V0cmVsYXRpdmUocHJqLCBjZmcuYnVpbGR0YXJnZXQuYWJzcGF0aCkKbG9jYWwgd29ya2luZ2RpciA9IGNmZy5kZWJ1Z2RpciBvciBwcmoubG9jYXRpb24KbG9jYWwgY29tbWFuZCAgICA9IGlpZihpc0V4ZSwgcGF0aC5nZXRyZWxhdGl2ZSh3b3JraW5nZGlyLCBjZmcuYnVpbGR0YXJnZXQuYWJzcGF0aCksICIiKQpsb2NhbCBjbWRhcmdzICAgID0gaWlmKGlzRXhlLCB0YWJsZS5jb25jYXQoY2ZnLmRlYnVnYXJncywgIiAiKSwgIiIpIC0tIFRPRE86IHNob3VsZCB0aGlzIGJlIGRlYnVnYXJncyBpbnN0ZWFkPwpsb2NhbCB1c2VzZXBhcmF0ZWRlYnVnYXJncyA9ICJubyIKbG9jYWwgZGVidWdhcmdzICA9ICIiCmxvY2FsIHdvcmtpbmdkaXIgPSBpaWYoaXNFeGUsIHByb2plY3QuZ2V0cmVsYXRpdmUocHJqLCBjZmcuZGVidWdkaXIpLCAiIikKbG9jYWwgcGF1c2VleGVjICA9IGlpZihwcmoua2luZCA9PSAiQ29uc29sZUFwcCIsICJ5ZXMiLCAibm8iKQpsb2NhbCBpc2d1aXByb2dyYW0gPSBpaWYocHJqLmtpbmQgPT0gIldpbmRvd2VkQXBwIiwgInllcyIsICJubyIpCmxvY2FsIGlzZW5hYmxlZCAgPSBpaWYoY2ZnLmZsYWdzLkV4Y2x1ZGVGcm9tQnVpbGQsICJubyIsICJ5ZXMiKQpsb2NhbCBsZFBhdGggPSAnJwpmb3IgXywgbGliZGlyIGluIGlwYWlycyhjZmcubGliZGlycykgZG8KbGRQYXRoID0gbGRQYXRoIC4uICI6IiAuLiBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBsaWJkaXIpCmVuZAppZiBsZFBhdGggPT0gbmlsIG9yIGxkUGF0aCA9PSAnJyB0aGVuCl94KDMsICc8R2VuZXJhbCBPdXRwdXRGaWxlPSIlcyIgSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIlcyIgQ29tbWFuZD0iJXMiIENvbW1hbmRBcmd1bWVudHM9IiVzIiBVc2VTZXBhcmF0ZURlYnVnQXJncz0iJXMiIERlYnVnQXJndW1lbnRzPSIlcyIgV29ya2luZ0RpcmVjdG9yeT0iJXMiIFBhdXNlRXhlY1doZW5Qcm9jVGVybWluYXRlcz0iJXMiIElzR1VJUHJvZ3JhbT0iJXMiIElzRW5hYmxlZD0iJXMiLz4nLAp0YXJnZXRuYW1lLCBvYmpkaXIsIGNvbW1hbmQsIGNtZGFyZ3MsIHVzZXNlcGFyYXRlZGVidWdhcmdzLCBkZWJ1Z2FyZ3MsIHdvcmtpbmdkaXIsIHBhdXNlZXhlYywgaXNndWlwcm9ncmFtLCBpc2VuYWJsZWQpCmVsc2UKbGRQYXRoID0gc3RyaW5nLnN1YihsZFBhdGgsIDIpCl94KDMsICc8R2VuZXJhbCBPdXRwdXRGaWxlPSIlcyIgSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIlcyIgQ29tbWFuZD0iTERfTElCUkFSWV9QQVRIPSVzICVzIiBDb21tYW5kQXJndW1lbnRzPSIlcyIgVXNlU2VwYXJhdGVEZWJ1Z0FyZ3M9IiVzIiBEZWJ1Z0FyZ3VtZW50cz0iJXMiIFdvcmtpbmdEaXJlY3Rvcnk9IiVzIiBQYXVzZUV4ZWNXaGVuUHJvY1Rlcm1pbmF0ZXM9IiVzIiBJc0dVSVByb2dyYW09IiVzIiBJc0VuYWJsZWQ9IiVzIi8+JywKIHRhcmdldG5hbWUsIG9iamRpciwgbGRQYXRoLCBjb21tYW5kLCBjbWRhcmdzLCB1c2VzZXBhcmF0ZWRlYnVnYXJncywgZGVidWdhcmdzLCB3b3JraW5nZGlyLCBwYXVzZWV4ZWMsIGlzZ3VpcHJvZ3JhbSwgaXNlbmFibGVkKQplbmQKZW5kCmZ1bmN0aW9uIG0uZW52aXJvbm1lbnQoY2ZnKQpsb2NhbCBlbnZzID0gdGFibGUuY29uY2F0KGNmZy5kZWJ1Z2VudnMsICJcbiIpCl9wKDMsICc8RW52aXJvbm1lbnQgRW52VmFyU2V0TmFtZT0iJmx0O1VzZSBEZWZhdWx0cyZndDsiIERiZ1NldE5hbWU9IiZsdDtVc2UgRGVmYXVsdHMmZ3Q7Ij4nKQpfeCg0LCAnPCFbQ0RBVEFbJXNdXT4nLCBlbnZzKQpfcCgzLCAnPC9FbnZpcm9ubWVudD4nKQplbmQKZnVuY3Rpb24gbS5kZWJ1Z2dlcihjZmcpCl9wKDMsICc8RGVidWdnZXIgSXNSZW1vdGU9IiVzIiBSZW1vdGVIb3N0TmFtZT0iJXMiIFJlbW90ZUhvc3RQb3J0PSIlcyIgRGVidWdnZXJQYXRoPSIiIElzRXh0ZW5kZWQ9IiVzIj4nLCBpaWYoY2ZnLmRlYnVncmVtb3RlaG9zdCwgInllcyIsICJubyIpLCBjZmcuZGVidWdyZW1vdGVob3N0IG9yICIiLCBpaWYoY2ZnLmRlYnVncG9ydCwgdG9zdHJpbmcoY2ZnLmRlYnVncG9ydCksICIiKSwgaWlmKGNmZy5kZWJ1Z2V4dGVuZGVkcHJvdG9jb2wsICJ5ZXMiLCAibm8iKSkKaWYgI2NmZy5kZWJ1Z3NlYXJjaHBhdGhzID4gMCB0aGVuCl9wKDQsICc8RGVidWdnZXJTZWFyY2hQYXRocz4lczwvRGVidWdnZXJTZWFyY2hQYXRocz4nLCB0YWJsZS5jb25jYXQocC5lc2MocHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgY2ZnLmRlYnVnc2VhcmNocGF0aHMpKSwgIlxuIikpCmVsc2UKX3AoNCwgJzxEZWJ1Z2dlclNlYXJjaFBhdGhzLz4nKQplbmQKaWYgI2NmZy5kZWJ1Z2Nvbm5lY3Rjb21tYW5kcyA+IDAgdGhlbgpfcCg0LCAnPFBvc3RDb25uZWN0Q29tbWFuZHM+JXM8L1Bvc3RDb25uZWN0Q29tbWFuZHM+JywgdGFibGUuY29uY2F0KHAuZXNjKGNmZy5kZWJ1Z2Nvbm5lY3Rjb21tYW5kcyksICJcbiIpKQplbHNlCl9wKDQsICc8UG9zdENvbm5lY3RDb21tYW5kcy8+JykKZW5kCmlmICNjZmcuZGVidWdzdGFydHVwY29tbWFuZHMgPiAwIHRoZW4KX3AoNCwgJzxTdGFydHVwQ29tbWFuZHM+JXM8L1N0YXJ0dXBDb21tYW5kcz4nLCB0YWJsZS5jb25jYXQocC5lc2MoY2ZnLmRlYnVnc3RhcnR1cGNvbW1hbmRzKSwgIlxuIikpCmVsc2UKX3AoNCwgJzxTdGFydHVwQ29tbWFuZHMvPicpCmVuZApfcCgzLCAnPC9EZWJ1Z2dlcj4nKQplbmQKZnVuY3Rpb24gbS5wcmVCdWlsZChjZmcpCmlmICNjZmcucHJlYnVpbGRjb21tYW5kcyA+IDAgdGhlbgpfcCgzLCAnPFByZUJ1aWxkPicpCmxvY2FsIGNvbW1hbmRzID0gb3MudHJhbnNsYXRlQ29tbWFuZHNBbmRQYXRocyhjZmcucHJlYnVpbGRjb21tYW5kcywgY2ZnLnByb2plY3QuYmFzZWRpciwgY2ZnLnByb2plY3QubG9jYXRpb24pCmZvciBfLCBjb21tYW5kIGluIGlwYWlycyhjb21tYW5kcykgZG8KX3goNCwgJzxDb21tYW5kIEVuYWJsZWQ9InllcyI+JXM8L0NvbW1hbmQ+JywgY29tbWFuZCkKZW5kCl9wKDMsICc8L1ByZUJ1aWxkPicpCmVuZAplbmQKZnVuY3Rpb24gbS5wb3N0QnVpbGQoY2ZnKQppZiAjY2ZnLnBvc3RidWlsZGNvbW1hbmRzID4gMCB0aGVuCl9wKDMsICc8UG9zdEJ1aWxkPicpCmxvY2FsIGNvbW1hbmRzID0gb3MudHJhbnNsYXRlQ29tbWFuZHNBbmRQYXRocyhjZmcucG9zdGJ1aWxkY29tbWFuZHMsIGNmZy5wcm9qZWN0LmJhc2VkaXIsIGNmZy5wcm9qZWN0LmxvY2F0aW9uKQpmb3IgXywgY29tbWFuZCBpbiBpcGFpcnMoY29tbWFuZHMpIGRvCl94KDQsICc8Q29tbWFuZCBFbmFibGVkPSJ5ZXMiPiVzPC9Db21tYW5kPicsIGNvbW1hbmQpCmVuZApfcCgzLCAnPC9Qb3N0QnVpbGQ+JykKZW5kCmVuZApmdW5jdGlvbiBtLmN1c3RvbUJ1aWxkKGNmZykKaWYgbm90IGNvbmZpZ3VyYXRpb25faXNjdXN0b21idWlsZChjZmcpIHRoZW4KX3AoMywgJzxDdXN0b21CdWlsZCBFbmFibGVkPSJubyIvPicpCnJldHVybgplbmQKbG9jYWwgYnVpbGQgICA9IHRhYmxlLmltcGxvZGUoY2ZnLmJ1aWxkY29tbWFuZHMsIiIsIiIsIiIpCmxvY2FsIGNsZWFuICAgPSB0YWJsZS5pbXBsb2RlKGNmZy5jbGVhbmNvbW1hbmRzLCIiLCIiLCIiKQpsb2NhbCByZWJ1aWxkID0gdGFibGUuaW1wbG9kZShjZmcucmVidWlsZGNvbW1hbmRzLCIiLCIiLCIiKQpfcCgzLCAnPEN1c3RvbUJ1aWxkIEVuYWJsZWQ9InllcyI+JykKX3goNCwgJzxCdWlsZENvbW1hbmQ+JXM8L0J1aWxkQ29tbWFuZD4nLCBidWlsZCkKX3goNCwgJzxDbGVhbkNvbW1hbmQ+JXM8L0NsZWFuQ29tbWFuZD4nLCBjbGVhbikKX3goNCwgJzxSZWJ1aWxkQ29tbWFuZD4lczwvUmVidWlsZENvbW1hbmQ+JywgcmVidWlsZCkKX3AoNCwgJzxQcmVwcm9jZXNzRmlsZUNvbW1hbmQ+PC9QcmVwcm9jZXNzRmlsZUNvbW1hbmQ+JykKX3AoNCwgJzxTaW5nbGVGaWxlQ29tbWFuZD48L1NpbmdsZUZpbGVDb21tYW5kPicpCl9wKDQsICc8TWFrZWZpbGVHZW5lcmF0aW9uQ29tbWFuZD48L01ha2VmaWxlR2VuZXJhdGlvbkNvbW1hbmQ+JykKX3AoNCwgJzxUaGlyZFBhcnR5VG9vbE5hbWU+PC9UaGlyZFBhcnR5VG9vbE5hbWU+JykKX3AoNCwgJzxXb3JraW5nRGlyZWN0b3J5PjwvV29ya2luZ0RpcmVjdG9yeT4nKQpfcCgzLCAnPC9DdXN0b21CdWlsZD4nKQplbmQKZnVuY3Rpb24gbS5hZGRpdGlvbmFsUnVsZXMoY2ZnKQppZiBjb25maWd1cmF0aW9uX2lzY3VzdG9tYnVpbGQoY2ZnKSB0aGVuCl9wKDMsICc8QWRkaXRpb25hbFJ1bGVzLz4nKQpyZXR1cm4KZW5kCl9wKDMsICc8QWRkaXRpb25hbFJ1bGVzPicpCl9wKDQsICc8Q3VzdG9tUG9zdEJ1aWxkLz4nKQpfcCg0LCAnPEN1c3RvbVByZUJ1aWxkLz4nKQpfcCgzLCAnPC9BZGRpdGlvbmFsUnVsZXM+JykKZW5kCmZ1bmN0aW9uIG0uaXNDcHAxMShjZmcpCnJldHVybiAoY2ZnLmNwcGRpYWxlY3QgPT0gJ2dudSsrMTEnKSBvciAoY2ZnLmNwcGRpYWxlY3QgPT0gJ0MrKzExJykgb3IgKGNmZy5jcHBkaWFsZWN0ID09ICdnbnUrKzB4Jykgb3IgKGNmZy5jcHBkaWFsZWN0ID09ICdDKysweCcpCmVuZApmdW5jdGlvbiBtLmlzQ3BwMTQoY2ZnKQpyZXR1cm4gKGNmZy5jcHBkaWFsZWN0ID09ICdnbnUrKzE0Jykgb3IgKGNmZy5jcHBkaWFsZWN0ID09ICdDKysxNCcpIG9yIChjZmcuY3BwZGlhbGVjdCA9PSAnZ251KysxeScpIG9yIChjZmcuY3BwZGlhbGVjdCA9PSAnQysrMXknKQplbmQKZnVuY3Rpb24gbS5jb21wbGV0aW9uKGNmZykKX3AoMywgJzxDb21wbGV0aW9uIEVuYWJsZUNwcDExPSIlcyIgRW5hYmxlQ3BwMTQ9IiVzIj4nLAppaWYobS5pc0NwcDExKGNmZyksICJ5ZXMiLCAibm8iKSwKaWlmKG0uaXNDcHAxNChjZmcpLCAieWVzIiwgIm5vIikKKQpfcCg0LCAnPENsYW5nQ21wRmxhZ3NDLz4nKQpfcCg0LCAnPENsYW5nQ21wRmxhZ3MvPicpCl9wKDQsICc8Q2xhbmdQUC8+JykgLS0gVE9ETzogd2UgbWlnaHQgd2FudCB0byBzZXQgc3BlY2lhbCBjb2RlIGNvbXBsZXRpb24gbWFjcm9zLi4uPwpfcCg0LCAnPFNlYXJjaFBhdGhzLz4nKSAtLSBUT0RPOiBzZWFyY2ggcGF0aHMgZm9yIGNvZGUgY29tcGxldGlvbj8KX3AoMywgJzwvQ29tcGxldGlvbj4nKQplbmQKbS5lbGVtZW50cy5zZXR0aW5ncyA9IGZ1bmN0aW9uKGNmZykKcmV0dXJuIHsKbS5jb21waWxlciwKbS5saW5rZXIsCm0ucmVzb3VyY2VDb21waWxlciwKbS5nZW5lcmFsLAptLmVudmlyb25tZW50LAptLmRlYnVnZ2VyLAptLnByZUJ1aWxkLAptLnBvc3RCdWlsZCwKbS5jdXN0b21CdWlsZCwKbS5hZGRpdGlvbmFsUnVsZXMsCm0uY29tcGxldGlvbiwKfQplbmQKbS50eXBlcyA9CnsKQ29uc29sZUFwcCAgPSAiRXhlY3V0YWJsZSIsCk1ha2VmaWxlICAgID0gIiIsClNoYXJlZExpYiAgID0gIkR5bmFtaWMgTGlicmFyeSIsClN0YXRpY0xpYiAgID0gIlN0YXRpYyBMaWJyYXJ5IiwKV2luZG93ZWRBcHAgPSAiRXhlY3V0YWJsZSIsClV0aWxpdHkgICAgID0gIiIsCn0KbS5kZWJ1Z2dlcnMgPQp7CkRlZmF1bHQgPSAiR05VIGdkYiBkZWJ1Z2dlciIsCkdEQiA9ICJHTlUgZ2RiIGRlYnVnZ2VyIiwKTExEQiA9ICJMTERCIERlYnVnZ2VyIiwKfQpmdW5jdGlvbiBtLnNldHRpbmdzKHByaikKX3AoMSwgJzxTZXR0aW5ncyBUeXBlPSIlcyI+JywgbS50eXBlc1twcmoua2luZF0gb3IgIiIpCl9wKDIsICc8R2xvYmFsU2V0dGluZ3M+JykKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5nbG9iYWxTZXR0aW5ncywgcHJqKQpfcCgyLCAnPC9HbG9iYWxTZXR0aW5ncz4nKQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmxvY2FsIGNmZ25hbWUgID0gY29kZWxpdGUuY2ZnbmFtZShjZmcpCmxvY2FsIGNvbXBpbGVyID0gbS5nZXRjb21waWxlcm5hbWUoY2ZnKQpsb2NhbCBkZWJ1Z2dlciA9IG0uZGVidWdnZXJzW2NmZy5kZWJ1Z2dlcl0gb3IgbS5kZWJ1Z2dlcnMuRGVmYXVsdApsb2NhbCB0eXBlID0gbS50eXBlc1tjZmcua2luZF0KX3goMiwgJzxDb25maWd1cmF0aW9uIE5hbWU9IiVzIiBDb21waWxlclR5cGU9IiVzIiBEZWJ1Z2dlclR5cGU9IiVzIiBUeXBlPSIlcyIgQnVpbGRDbXBXaXRoR2xvYmFsU2V0dGluZ3M9ImFwcGVuZCIgQnVpbGRMbmtXaXRoR2xvYmFsU2V0dGluZ3M9ImFwcGVuZCIgQnVpbGRSZXNXaXRoR2xvYmFsU2V0dGluZ3M9ImFwcGVuZCI+JywgY2ZnbmFtZSwgY29tcGlsZXIsIGRlYnVnZ2VyLCB0eXBlKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLnNldHRpbmdzLCBjZmcpCl9wKDIsICc8L0NvbmZpZ3VyYXRpb24+JykKZW5kCl9wKDEsICc8L1NldHRpbmdzPicpCmVuZAptLmVsZW1lbnRzLnByb2plY3QgPSBmdW5jdGlvbihwcmopCnJldHVybiB7Cm0uaGVhZGVyLAptLnBsdWdpbnMsCm0uZGVzY3JpcHRpb24sCm0uZmlsZXMsCm0uZGVwZW5kZW5jaWVzLAptLnNldHRpbmdzLAp9CmVuZApmdW5jdGlvbiBtLmdlbmVyYXRlKHByaikKcC51dGY4KCkKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5wcm9qZWN0LCBwcmopCl9wKCc8L0NvZGVMaXRlX1Byb2plY3Q+JykKZW5kCgAAZnVuY3Rpb24gdGFibGUuYXJyYXljb3B5KG9iamVjdCkKbG9jYWwgcmVzdWx0ID0ge30KZm9yIGksIHZhbHVlIGluIGlwYWlycyhvYmplY3QpIGRvCnJlc3VsdFtpXSA9IHZhbHVlCmVuZApyZXR1cm4gcmVzdWx0CmVuZApmdW5jdGlvbiB0YWJsZS5jb250YWlucyh0LCB2YWx1ZSkKZm9yIF8sdiBpbiBwYWlycyh0KSBkbwppZiAodiA9PSB2YWx1ZSkgdGhlbgpyZXR1cm4gdHJ1ZQplbmQKZW5kCnJldHVybiBmYWxzZQplbmQKZnVuY3Rpb24gdGFibGUuc2hhbGxvd2NvcHkob2JqZWN0KQpsb2NhbCBjb3B5ID0ge30KZm9yIGssIHYgaW4gcGFpcnMob2JqZWN0KSBkbwpjb3B5W2tdID0gdgplbmQKcmV0dXJuIGNvcHkKZW5kCmZ1bmN0aW9uIHRhYmxlLmRlZXBjb3B5KG9iamVjdCkKbG9jYWwgc2VlbiA9IHt9CmxvY2FsIGZ1bmN0aW9uIGNvcHkob2JqZWN0KQppZiB0eXBlKG9iamVjdCkgfj0gInRhYmxlIiB0aGVuCnJldHVybiBvYmplY3QKZWxzZWlmIHNlZW5bb2JqZWN0XSB0aGVuCnJldHVybiBzZWVuW29iamVjdF0KZW5kCmxvY2FsIGNsb25lID0ge30Kc2VlbltvYmplY3RdID0gY2xvbmUKZm9yIGtleSwgdmFsdWUgaW4gcGFpcnMob2JqZWN0KSBkbwpjbG9uZVtrZXldID0gY29weSh2YWx1ZSkKZW5kCnNldG1ldGF0YWJsZShjbG9uZSwgZ2V0bWV0YXRhYmxlKG9iamVjdCkpCnJldHVybiBjbG9uZQplbmQKcmV0dXJuIGNvcHkob2JqZWN0KQplbmQKZnVuY3Rpb24gdGFibGUuZXh0cmFjdChhcnIsIGZuYW1lKQpsb2NhbCByZXN1bHQgPSB7IH0KZm9yIF8sdiBpbiBpcGFpcnMoYXJyKSBkbwp0YWJsZS5pbnNlcnQocmVzdWx0LCB2W2ZuYW1lXSkKZW5kCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIHRhYmxlLmZpbHRlcihhcnIsIGZuKQpsb2NhbCByZXN1bHQgPSB7IH0KdGFibGUuZm9yZWFjaGkoYXJyLCBmdW5jdGlvbih2YWwpCmlmIGZuKHZhbCkgdGhlbgp0YWJsZS5pbnNlcnQocmVzdWx0LCB2YWwpCmVuZAplbmQpCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIHRhYmxlLmZsYXR0ZW4oYXJyKQpsb2NhbCByZXN1bHQgPSB7fQpsb2NhbCBmdW5jdGlvbiBmbGF0dGVuKGFycikKbG9jYWwgbiA9ICNhcnIKZm9yIGkgPSAxLCBuIGRvCmxvY2FsIHYgPSBhcnJbaV0KaWYgdHlwZSh2KSA9PSAidGFibGUiIHRoZW4KZmxhdHRlbih2KQplbHNlaWYgdiB0aGVuCnRhYmxlLmluc2VydChyZXN1bHQsIHYpCmVuZAplbmQKZW5kCmZsYXR0ZW4oYXJyKQpyZXR1cm4gcmVzdWx0CmVuZApmdW5jdGlvbiB0YWJsZS5mb3JlYWNoaShhcnIsIGZ1bmMpCmlmIGFyciB0aGVuCmxvY2FsIG4gPSAjYXJyCmZvciBpID0gMSwgbiBkbwpsb2NhbCB2ID0gYXJyW2ldCmlmIHYgdGhlbgpmdW5jKHYsIGkpCmVuZAplbmQKZW5kCmVuZApmdW5jdGlvbiB0YWJsZS5mb2xkKGxpc3QxLCBsaXN0MikKbG9jYWwgcmVzdWx0ID0ge30KZm9yIF8sIGl0ZW0xIGluIGlwYWlycyhsaXN0MSBvciB7fSkgZG8KaWYgbGlzdDIgYW5kICNsaXN0MiA+IDAgdGhlbgpmb3IgXywgaXRlbTIgaW4gaXBhaXJzKGxpc3QyKSBkbwp0YWJsZS5pbnNlcnQocmVzdWx0LCB7IGl0ZW0xLCBpdGVtMiB9KQplbmQKZWxzZQp0YWJsZS5pbnNlcnQocmVzdWx0LCB7IGl0ZW0xIH0pCmVuZAplbmQKcmV0dXJuIHJlc3VsdAplbmQKZnVuY3Rpb24gdGFibGUuaW1wbG9kZShhcnIsIGJlZm9yZSwgYWZ0ZXIsIGJldHdlZW4pCmxvY2FsIHJlc3VsdCA9ICIiCmZvciBfLHYgaW4gaXBhaXJzKGFycikgZG8KaWYgKHJlc3VsdCB+PSAiIiBhbmQgYmV0d2VlbikgdGhlbgpyZXN1bHQgPSByZXN1bHQgLi4gYmV0d2VlbgplbmQKcmVzdWx0ID0gcmVzdWx0IC4uIGJlZm9yZSAuLiB2IC4uIGFmdGVyCmVuZApyZXR1cm4gcmVzdWx0CmVuZApmdW5jdGlvbiB0YWJsZS5pbmRleG9mKHRibCwgb2JqKQpmb3IgaywgdiBpbiBpcGFpcnModGJsKSBkbwppZiB2ID09IG9iaiB0aGVuCnJldHVybiBrCmVuZAplbmQKZW5kCmZ1bmN0aW9uIHRhYmxlLmZpbmRLZXlCeVZhbHVlKHRibCwgb2JqKQpmb3IgaywgdiBpbiBwYWlycyh0YmwpIGRvCmlmIHYgPT0gb2JqIHRoZW4KcmV0dXJuIGsKZW5kCmVuZAplbmQKZnVuY3Rpb24gdGFibGUuaW5zZXJ0YWZ0ZXIodGJsLCBhZnRlciwgdmFsdWUpCmxvY2FsIGkgPSB0YWJsZS5pbmRleG9mKHRibCwgYWZ0ZXIpCmlmIGkgdGhlbgp0YWJsZS5pbnNlcnQodGJsLCBpICsgMSwgdmFsdWUpCmVsc2UKdGFibGUuaW5zZXJ0KHRibCwgdmFsdWUpCmVuZAplbmQKZnVuY3Rpb24gdGFibGUuaW5zZXJ0ZmxhdCh0YmwsIHZhbHVlcykKaWYgdmFsdWVzID09IG5pbCB0aGVuCnJldHVybgplbHNlaWYgdHlwZSh2YWx1ZXMpID09ICJ0YWJsZSIgdGhlbgpmb3IgXywgdmFsdWUgaW4gaXBhaXJzKHZhbHVlcykgZG8KdGFibGUuaW5zZXJ0ZmxhdCh0YmwsIHZhbHVlKQplbmQKZWxzZQp0YWJsZS5pbnNlcnQodGJsLCB2YWx1ZXMpCmVuZApyZXR1cm4gdGJsCmVuZApmdW5jdGlvbiB0YWJsZS5pbnNlcnRrZXllZCh0YmwsIHBvcywgdmFsdWUpCmlmIHZhbHVlID09IG5pbCB0aGVuCnZhbHVlID0gcG9zCnBvcyA9ICN0YmwgKyAxCmVuZAppZiB0YmxbdmFsdWVdIH49IG5pbCB0aGVuCnJldHVybiBmYWxzZQplbmQKdGFibGUuaW5zZXJ0KHRibCwgcG9zLCB2YWx1ZSkKdGJsW3ZhbHVlXSA9IHZhbHVlCnJldHVybiB0cnVlCmVuZApmdW5jdGlvbiB0YWJsZS5pbnNlcnRzb3J0ZWQodGJsLCB2YWx1ZSwgZm4pCmlmIHZhbHVlID09IG5pbCB0aGVuCnJldHVybgplbHNlCmZuID0gZm4gb3IgZnVuY3Rpb24oYSwgYikgcmV0dXJuIGEgPCBiIGVuZApsb2NhbCBtaW5pbmRleCA9IDEKbG9jYWwgbWF4aW5kZXggPSAjdGJsICsgMQp3aGlsZSBtaW5pbmRleCA8IG1heGluZGV4IGRvCmxvY2FsIGluZGV4ID0gbWluaW5kZXggKyAoKG1heGluZGV4IC0gbWluaW5kZXgpID4+IDEpCmxvY2FsIHRlc3QgPSB0YmxbaW5kZXhdCmlmIGZuKHZhbHVlLCB0ZXN0KSB0aGVuCm1heGluZGV4ID0gaW5kZXgKZWxzZQptaW5pbmRleCA9IGluZGV4ICsgMQppZiBub3QgZm4odGVzdCwgdmFsdWUpIHRoZW4KYnJlYWsKZW5kCmVuZAplbmQKdGFibGUuaW5zZXJ0KHRibCwgbWluaW5kZXgsIHZhbHVlKQplbmQKcmV0dXJuIHRibAplbmQKZnVuY3Rpb24gdGFibGUuaXNlbXB0eSh0KQpyZXR1cm4gbmV4dCh0KSA9PSBuaWwKZW5kCmZ1bmN0aW9uIHRhYmxlLmpvaW4oLi4uKQpsb2NhbCByZXN1bHQgPSB7IH0KbG9jYWwgYXJnID0gey4uLn0KZm9yIF8sdCBpbiBpcGFpcnMoYXJnKSBkbwppZiB0eXBlKHQpID09ICJ0YWJsZSIgdGhlbgpmb3IgXyx2IGluIGlwYWlycyh0KSBkbwp0YWJsZS5pbnNlcnQocmVzdWx0LCB2KQplbmQKZWxzZQp0YWJsZS5pbnNlcnQocmVzdWx0LCB0KQplbmQKZW5kCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIHRhYmxlLmtleXModGJsKQpsb2NhbCBrZXlzID0ge30KZm9yIGssIF8gaW4gcGFpcnModGJsKSBkbwp0YWJsZS5pbnNlcnQoa2V5cywgaykKZW5kCnJldHVybiBrZXlzCmVuZApmdW5jdGlvbiB0YWJsZS5tZXJnZSguLi4pCmxvY2FsIHJlc3VsdCA9IHt9CmxvY2FsIGFyZyA9IHsuLi59CmZvciBfLHQgaW4gaXBhaXJzKGFyZykgZG8KaWYgdHlwZSh0KSA9PSAidGFibGUiIHRoZW4KZm9yIGssdiBpbiBwYWlycyh0KSBkbwppZiB0eXBlKHJlc3VsdFtrXSkgPT0gInRhYmxlIiBhbmQgdHlwZSh2KSA9PSAidGFibGUiIHRoZW4KcmVzdWx0W2tdID0gdGFibGUubWVyZ2UocmVzdWx0W2tdLCB2KQplbHNlCnJlc3VsdFtrXSA9IHYKZW5kCmVuZAplbHNlCmVycm9yKCJpbnZhbGlkIHZhbHVlIikKZW5kCmVuZApyZXR1cm4gcmVzdWx0CmVuZApmdW5jdGlvbiB0YWJsZS5yZXBsYWNlKHNlbGYsIHZhbHVlLCByZXBsYWNlbWVudCkKZm9yIGkgPSAxLCAjc2VsZiBkbwppZiBzZWxmW2ldID09IHZhbHVlIHRoZW4Kc2VsZltpXSA9IHJlcGxhY2VtZW50CmVuZAplbmQKZW5kCmZ1bmN0aW9uIHRhYmxlLnRyYW5zbGF0ZShhcnIsIHRyYW5zbGF0aW9uKQppZiBub3QgdHJhbnNsYXRpb24gdGhlbiByZXR1cm4ge30gZW5kCmxvY2FsIHJlc3VsdCA9IHt9CmZvciBpID0gMSwgI2FyciBkbwpsb2NhbCB0dmFsdWUKaWYgdHlwZSh0cmFuc2xhdGlvbikgPT0gImZ1bmN0aW9uIiB0aGVuCnR2YWx1ZSA9IHRyYW5zbGF0aW9uKGFycltpXSkKZWxzZQp0dmFsdWUgPSB0cmFuc2xhdGlvblthcnJbaV1dCmVuZAppZiAodHZhbHVlKSB0aGVuCnRhYmxlLmluc2VydChyZXN1bHQsIHR2YWx1ZSkKZW5kCmVuZApyZXR1cm4gcmVzdWx0CmVuZApmdW5jdGlvbiB0YWJsZS50b3N0cmluZyh0YWIsIHJlY3Vyc2UsIGluZGVudCkKbG9jYWwgcmVzID0gJycKaWYgbm90IGluZGVudCB0aGVuCmluZGVudCA9IDAKZW5kCmxvY2FsIGZvcm1hdF92YWx1ZSA9IGZ1bmN0aW9uKGssIHYsIGkpCmZvcm1hdHRpbmcgPSBzdHJpbmcucmVwKCJcdCIsIGkpCmlmIGsgdGhlbgppZiB0eXBlKGspID09ICJ0YWJsZSIgdGhlbgprID0gJ1t0YWJsZV0nCmVuZApmb3JtYXR0aW5nID0gZm9ybWF0dGluZyAuLiBrIC4uICI6ICIKZW5kCmlmIG5vdCB2IHRoZW4KcmV0dXJuIGZvcm1hdHRpbmcgLi4gJyhuaWwpJwplbHNlaWYgdHlwZSh2KSA9PSAidGFibGUiIHRoZW4KaWYgcmVjdXJzZSBhbmQgcmVjdXJzZSA+IDAgdGhlbgpyZXR1cm4gZm9ybWF0dGluZyAuLiAnXG4nIC4uIHRhYmxlLnRvc3RyaW5nKHYsIHJlY3Vyc2UtMSwgaSsxKQplbHNlCnJldHVybiBmb3JtYXR0aW5nIC4uICI8dGFibGU+IgplbmQKZWxzZWlmIHR5cGUodikgPT0gImZ1bmN0aW9uIiB0aGVuCnJldHVybiBmb3JtYXR0aW5nIC4uIHRvc3RyaW5nKHYpCmVsc2VpZiB0eXBlKHYpID09ICJ1c2VyZGF0YSIgdGhlbgpyZXR1cm4gZm9ybWF0dGluZyAuLiAiPHVzZXJkYXRhPiIKZWxzZWlmIHR5cGUodikgPT0gImJvb2xlYW4iIHRoZW4KaWYgdiB0aGVuCnJldHVybiBmb3JtYXR0aW5nIC4uICd0cnVlJwplbHNlCnJldHVybiBmb3JtYXR0aW5nIC4uICdmYWxzZScKZW5kCmVsc2UKcmV0dXJuIGZvcm1hdHRpbmcgLi4gdgplbmQKZW5kCmlmIHR5cGUodGFiKSA9PSAidGFibGUiIHRoZW4KbG9jYWwgZmlyc3QgPSB0cnVlCmxvY2FsIG10ID0gZ2V0bWV0YXRhYmxlKHRhYikKaWYgbXQgdGhlbgpyZXMgPSByZXMgLi4gZm9ybWF0X3ZhbHVlKCdfX210JywgbXQsIGluZGVudCkKZmlyc3QgPSBmYWxzZQplbmQKZm9yIGssIHYgaW4gcGFpcnModGFiKSBkbwppZiBub3QgZmlyc3QgdGhlbgpyZXMgPSByZXMgLi4gJ1xuJwplbmQKcmVzID0gcmVzIC4uIGZvcm1hdF92YWx1ZShrLCB2LCBpbmRlbnQpCmZpcnN0ID0gZmFsc2UKZW5kCmVsc2UKcmVzID0gcmVzIC4uIGZvcm1hdF92YWx1ZShuaWwsIHRhYiwgaW5kZW50KQplbmQKcmV0dXJuIHJlcwplbmQKZnVuY3Rpb24gdGFibGUudW5pcXVlKHRhYikKbG9jYWwgZWxlbXMgPSB7IH0KbG9jYWwgcmVzdWx0ID0geyB9CnRhYmxlLmZvcmVhY2hpKHRhYiwgZnVuY3Rpb24oZWxlbSkKaWYgbm90IGVsZW1zW2VsZW1dIHRoZW4KdGFibGUuaW5zZXJ0KHJlc3VsdCwgZWxlbSkKZWxlbXNbZWxlbV0gPSB0cnVlCmVuZAplbmQpCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIHRhYmxlLmZpbHRlcmVtcHR5KGRpcnMpCnJldHVybiB0YWJsZS50cmFuc2xhdGUoZGlycywgZnVuY3Rpb24odmFsKQppZiB2YWwgYW5kICN2YWwgPiAwIHRoZW4KcmV0dXJuIHZhbAplbHNlCnJldHVybiBuaWwKZW5kCmVuZCkKZW5kCmZ1bmN0aW9uIHRhYmxlLmVxdWFscyhhLCBiKQpmb3IgaywgdiBpbiBwYWlycyhhKSBkbwppZiBiW2tdIH49IHYgdGhlbgpyZXR1cm4gZmFsc2UKZW5kCmVuZApmb3IgaywgdiBpbiBwYWlycyhiKSBkbwppZiBhW2tdIH49IHYgdGhlbgpyZXR1cm4gZmFsc2UKZW5kCmVuZApyZXR1cm4gdHJ1ZQplbmQKZnVuY3Rpb24gc3BhaXJzKHQpCmxvY2FsIGtleXMgPSB7fQpmb3IgayBpbiBwYWlycyh0KSBkbwp0YWJsZS5pbnNlcnQoa2V5cywgaykKZW5kCnRhYmxlLnNvcnQoa2V5cykKbG9jYWwgaSA9IDAKcmV0dXJuIGZ1bmN0aW9uKCkKaSA9IGkgKyAxCmlmIGtleXNbaV0gdGhlbgpyZXR1cm4ga2V5c1tpXSwgdFtrZXlzW2ldXQplbmQKZW5kCmVuZApmdW5jdGlvbiB0YWJsZS5pbnRlcnNlY3QoYSwgYikKbG9jYWwgcmVzdWx0ID0ge30KZm9yIF8sIHYgaW4gaXBhaXJzKGIpIGRvCmlmIHRhYmxlLmluZGV4b2YoYSwgdikgdGhlbgp0YWJsZS5pbnNlcnQocmVzdWx0LCB2KQplbmQKZW5kCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIHRhYmxlLmRpZmZlcmVuY2UoYSwgYikKbG9jYWwgcmVzdWx0ID0ge30KZm9yIF8sIHYgaW4gaXBhaXJzKGEpIGRvCmlmIG5vdCB0YWJsZS5pbmRleG9mKGIsIHYpIHRoZW4KdGFibGUuaW5zZXJ0KHJlc3VsdCwgdikKZW5kCmVuZApyZXR1cm4gcmVzdWx0CmVuZApsb2NhbCBwID0gcHJlbWFrZQpwLm1vZHVsZXMudnN0dWRpbyA9IHAubW9kdWxlcy52c3R1ZGlvIG9yIHt9CnAubW9kdWxlcy52c3R1ZGlvLl9WRVJTSU9OID0gcC5fVkVSU0lPTgpwLnZzdHVkaW8gPSBwLm1vZHVsZXMudnN0dWRpbwpsb2NhbCB2c3R1ZGlvID0gcC52c3R1ZGlvCmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKbG9jYWwgY29uZmlnID0gcC5jb25maWcKdnN0dWRpby52czIwMHhfYXJjaGl0ZWN0dXJlcyA9CnsKd2luMzIgICA9ICJ4ODYiLAp4ODYgICAgID0gIng4NiIsCng4Nl82NCAgPSAieDY0IiwKQVJNICAgICA9ICJBUk0iLApBUk02NCAgID0gIkFSTTY0IiwKfQp2c3R1ZGlvLnZzMjAxMF9hcmNoaXRlY3R1cmVzID0Kewp3aW4zMiAgID0gIng4NiIsCn0KbG9jYWwgZnVuY3Rpb24gYXJjaGl0ZWN0dXJlKHN5c3RlbSwgYXJjaCkKbG9jYWwgcmVzdWx0CmlmIF9BQ1RJT04gPj0gInZzMjAxMCIgdGhlbgpyZXN1bHQgPSB2c3R1ZGlvLnZzMjAxMF9hcmNoaXRlY3R1cmVzW2FyY2hdIG9yIHZzdHVkaW8udnMyMDEwX2FyY2hpdGVjdHVyZXNbc3lzdGVtXQplbmQKcmV0dXJuIHJlc3VsdCBvciB2c3R1ZGlvLnZzMjAweF9hcmNoaXRlY3R1cmVzW2FyY2hdIG9yIHZzdHVkaW8udnMyMDB4X2FyY2hpdGVjdHVyZXNbc3lzdGVtXQplbmQKdnN0dWRpby5fY3VsdHVyZXMgPSB7ClsiYWYiXSA9IDB4MDAzNiwKWyJhZi1aQSJdID0gMHgwNDM2LApbInNxIl0gPSAweDAwMUMsClsic3EtQUwiXSA9IDB4MDQxQywKWyJhciJdID0gMHgwMDAxLApbImFyLURaIl0gPSAweDE0MDEsClsiYXItQkgiXSA9IDB4M0MwMSwKWyJhci1FRyJdID0gMHgwQzAxLApbImFyLUlRIl0gPSAweDA4MDEsClsiYXItSk8iXSA9IDB4MkMwMSwKWyJhci1LVyJdID0gMHgzNDAxLApbImFyLUxCIl0gPSAweDMwMDEsClsiYXItTFkiXSA9IDB4MTAwMSwKWyJhci1NQSJdID0gMHgxODAxLApbImFyLU9NIl0gPSAweDIwMDEsClsiYXItUUEiXSA9IDB4NDAwMSwKWyJhci1TQSJdID0gMHgwNDAxLApbImFyLVNZIl0gPSAweDI4MDEsClsiYXItVE4iXSA9IDB4MUMwMSwKWyJhci1BRSJdID0gMHgzODAxLApbImFyLVlFIl0gPSAweDI0MDEsClsiaHkiXSA9IDB4MDAyQiwKWyJoeS1BTSJdID0gMHgwNDJCLApbImF6Il0gPSAweDAwMkMsClsiYXotQ3lybC1BWiJdID0gMHgwODJDLApbImF6LUxhdG4tQVoiXSA9IDB4MDQyQywKWyJldSJdID0gMHgwMDJELApbImV1LUVTIl0gPSAweDA0MkQsClsiYmUiXSA9IDB4MDAyMywKWyJiZS1CWSJdID0gMHgwNDIzLApbImJnIl0gPSAweDAwMDIsClsiYmctQkciXSA9IDB4MDQwMiwKWyJjYSJdID0gMHgwMDAzLApbImNhLUVTIl0gPSAweDA0MDMsClsiemgtSEsiXSA9IDB4MEMwNCwKWyJ6aC1NTyJdID0gMHgxNDA0LApbInpoLUNOIl0gPSAweDA4MDQsClsiemgtSGFucyJdID0gMHgwMDA0LApbInpoLVNHIl0gPSAweDEwMDQsClsiemgtVFciXSA9IDB4MDQwNCwKWyJ6aC1IYW50Il0gPSAweDdDMDQsClsiaHIiXSA9IDB4MDAxQSwKWyJoci1IUiJdID0gMHgwNDFBLApbImNzIl0gPSAweDAwMDUsClsiY3MtQ1oiXSA9IDB4MDQwNSwKWyJkYSJdID0gMHgwMDA2LApbImRhLURLIl0gPSAweDA0MDYsClsiZHYiXSA9IDB4MDA2NSwKWyJkdi1NViJdID0gMHgwNDY1LApbIm5sIl0gPSAweDAwMTMsClsibmwtQkUiXSA9IDB4MDgxMywKWyJubC1OTCJdID0gMHgwNDEzLApbImVuIl0gPSAweDAwMDksClsiZW4tQVUiXSA9IDB4MEMwOSwKWyJlbi1CWiJdID0gMHgyODA5LApbImVuLUNBIl0gPSAweDEwMDksClsiZW4tMDI5Il0gPSAweDI0MDksClsiZW4tSUUiXSA9IDB4MTgwOSwKWyJlbi1KTSJdID0gMHgyMDA5LApbImVuLU5aIl0gPSAweDE0MDksClsiZW4tUEgiXSA9IDB4MzQwOSwKWyJlbi1aQSJdID0gMHgxQzA5LApbImVuLVRUIl0gPSAweDJDMDksClsiZW4tR0IiXSA9IDB4MDgwOSwKWyJlbi1VUyJdID0gMHgwNDA5LApbImVuLVpXIl0gPSAweDMwMDksClsiZXQiXSA9IDB4MDAyNSwKWyJldC1FRSJdID0gMHgwNDI1LApbImZvIl0gPSAweDAwMzgsClsiZm8tRk8iXSA9IDB4MDQzOCwKWyJmYSJdID0gMHgwMDI5LApbImZhLUlSIl0gPSAweDA0MjksClsiZmkiXSA9IDB4MDAwQiwKWyJmaS1GSSJdID0gMHgwNDBCLApbImZyIl0gPSAweDAwMEMsClsiZnItQkUiXSA9IDB4MDgwQywKWyJmci1DQSJdID0gMHgwQzBDLApbImZyLUZSIl0gPSAweDA0MEMsClsiZnItTFUiXSA9IDB4MTQwQywKWyJmci1NQyJdID0gMHgxODBDLApbImZyLUNIIl0gPSAweDEwMEMsClsiZ2wiXSA9IDB4MDA1NiwKWyJnbC1FUyJdID0gMHgwNDU2LApbImthIl0gPSAweDAwMzcsClsia2EtR0UiXSA9IDB4MDQzNywKWyJkZSJdID0gMHgwMDA3LApbImRlLUFUIl0gPSAweDBDMDcsClsiZGUtREUiXSA9IDB4MDQwNywKWyJkZS1MSSJdID0gMHgxNDA3LApbImRlLUxVIl0gPSAweDEwMDcsClsiZGUtQ0giXSA9IDB4MDgwNywKWyJlbCJdID0gMHgwMDA4LApbImVsLUdSIl0gPSAweDA0MDgsClsiZ3UiXSA9IDB4MDA0NywKWyJndS1JTiJdID0gMHgwNDQ3LApbImhlIl0gPSAweDAwMEQsClsiaGUtSUwiXSA9IDB4MDQwRCwKWyJoaSJdID0gMHgwMDM5LApbImhpLUlOIl0gPSAweDA0MzksClsiaHUiXSA9IDB4MDAwRSwKWyJodS1IVSJdID0gMHgwNDBFLApbImlzIl0gPSAweDAwMEYsClsiaXMtSVMiXSA9IDB4MDQwRiwKWyJpZCJdID0gMHgwMDIxLApbImlkLUlEIl0gPSAweDA0MjEsClsiaXQiXSA9IDB4MDAxMCwKWyJpdC1JVCJdID0gMHgwNDEwLApbIml0LUNIIl0gPSAweDA4MTAsClsiamEiXSA9IDB4MDAxMSwKWyJqYS1KUCJdID0gMHgwNDExLApbImtuIl0gPSAweDAwNEIsClsia24tSU4iXSA9IDB4MDQ0QiwKWyJrayJdID0gMHgwMDNGLApbImtrLUtaIl0gPSAweDA0M0YsClsia29rIl0gPSAweDAwNTcsClsia29rLUlOIl0gPSAweDA0NTcsClsia28iXSA9IDB4MDAxMiwKWyJrby1LUiJdID0gMHgwNDEyLApbImt5Il0gPSAweDAwNDAsClsia3ktS0ciXSA9IDB4MDQ0MCwKWyJsdiJdID0gMHgwMDI2LApbImx2LUxWIl0gPSAweDA0MjYsClsibHQiXSA9IDB4MDAyNywKWyJsdC1MVCJdID0gMHgwNDI3LApbIm1rIl0gPSAweDAwMkYsClsibWstTUsiXSA9IDB4MDQyRiwKWyJtcyJdID0gMHgwMDNFLApbIm1zLUJOIl0gPSAweDA4M0UsClsibXMtTVkiXSA9IDB4MDQzRSwKWyJtciJdID0gMHgwMDRFLApbIm1yLUlOIl0gPSAweDA0NEUsClsibW4iXSA9IDB4MDA1MCwKWyJtbi1NTiJdID0gMHgwNDUwLApbIm5vIl0gPSAweDAwMTQsClsibmItTk8iXSA9IDB4MDQxNCwKWyJubi1OTyJdID0gMHgwODE0LApbInBsIl0gPSAweDAwMTUsClsicGwtUEwiXSA9IDB4MDQxNSwKWyJwdCJdID0gMHgwMDE2LApbInB0LUJSIl0gPSAweDA0MTYsClsicHQtUFQiXSA9IDB4MDgxNiwKWyJwYSJdID0gMHgwMDQ2LApbInBhLUlOIl0gPSAweDA0NDYsClsicm8iXSA9IDB4MDAxOCwKWyJyby1STyJdID0gMHgwNDE4LApbInJ1Il0gPSAweDAwMTksClsicnUtUlUiXSA9IDB4MDQxOSwKWyJzYSJdID0gMHgwMDRGLApbInNhLUlOIl0gPSAweDA0NEYsClsic3ItQ3lybC1DUyJdID0gMHgwQzFBLApbInNyLUxhdG4tQ1MiXSA9IDB4MDgxQSwKWyJzayJdID0gMHgwMDFCLApbInNrLVNLIl0gPSAweDA0MUIsClsic2wiXSA9IDB4MDAyNCwKWyJzbC1TSSJdID0gMHgwNDI0LApbImVzIl0gPSAweDAwMEEsClsiZXMtQVIiXSA9IDB4MkMwQSwKWyJlcy1CTyJdID0gMHg0MDBBLApbImVzLUNMIl0gPSAweDM0MEEsClsiZXMtQ08iXSA9IDB4MjQwQSwKWyJlcy1DUiJdID0gMHgxNDBBLApbImVzLURPIl0gPSAweDFDMEEsClsiZXMtRUMiXSA9IDB4MzAwQSwKWyJlcy1TViJdID0gMHg0NDBBLApbImVzLUdUIl0gPSAweDEwMEEsClsiZXMtSE4iXSA9IDB4NDgwQSwKWyJlcy1NWCJdID0gMHgwODBBLApbImVzLU5JIl0gPSAweDRDMEEsClsiZXMtUEEiXSA9IDB4MTgwQSwKWyJlcy1QWSJdID0gMHgzQzBBLApbImVzLVBFIl0gPSAweDI4MEEsClsiZXMtUFIiXSA9IDB4NTAwQSwKWyJlcy1FUyJdID0gMHgwQzBBLApbImVzLUVTX3RyYWRubCJdPSAweDA0MEEsClsiZXMtVVkiXSA9IDB4MzgwQSwKWyJlcy1WRSJdID0gMHgyMDBBLApbInN3Il0gPSAweDAwNDEsClsic3ctS0UiXSA9IDB4MDQ0MSwKWyJzdiJdID0gMHgwMDFELApbInN2LUZJIl0gPSAweDA4MUQsClsic3YtU0UiXSA9IDB4MDQxRCwKWyJzeXIiXSA9IDB4MDA1QSwKWyJzeXItU1kiXSA9IDB4MDQ1QSwKWyJ0YSJdID0gMHgwMDQ5LApbInRhLUlOIl0gPSAweDA0NDksClsidHQiXSA9IDB4MDA0NCwKWyJ0dC1SVSJdID0gMHgwNDQ0LApbInRlIl0gPSAweDAwNEEsClsidGUtSU4iXSA9IDB4MDQ0QSwKWyJ0aCJdID0gMHgwMDFFLApbInRoLVRIIl0gPSAweDA0MUUsClsidHIiXSA9IDB4MDAxRiwKWyJ0ci1UUiJdID0gMHgwNDFGLApbInVrIl0gPSAweDAwMjIsClsidWstVUEiXSA9IDB4MDQyMiwKWyJ1ciJdID0gMHgwMDIwLApbInVyLVBLIl0gPSAweDA0MjAsClsidXoiXSA9IDB4MDA0MywKWyJ1ei1DeXJsLVVaIl0gPSAweDA4NDMsClsidXotTGF0bi1VWiJdID0gMHgwNDQzLApbInZpIl0gPSAweDAwMkEsClsidmktVk4iXSA9IDB4MDQyQSwKfQpmdW5jdGlvbiB2c3R1ZGlvLmFyY2hGcm9tQ29uZmlnKGNmZywgd2luMzIpCmxvY2FsIGlzbmF0aXZlID0gcHJvamVjdC5pc25hdGl2ZShjZmcucHJvamVjdCkKbG9jYWwgYXJjaCA9IGFyY2hpdGVjdHVyZShjZmcuc3lzdGVtLCBjZmcuYXJjaGl0ZWN0dXJlKQppZiBub3QgYXJjaCB0aGVuCmFyY2ggPSBpaWYoaXNuYXRpdmUsICJ4ODYiLCAiQW55IENQVSIpCmVuZAppZiB3aW4zMiBhbmQgaXNuYXRpdmUgYW5kIGFyY2ggPT0gIng4NiIgdGhlbgphcmNoID0gIldpbjMyIgplbmQKcmV0dXJuIGFyY2gKZW5kCmZ1bmN0aW9uIHZzdHVkaW8uYXJjaEZyb21QbGF0Zm9ybShwbGF0Zm9ybSkKbG9jYWwgc3lzdGVtID0gcC5hcGkuY2hlY2tWYWx1ZShwLmZpZWxkcy5zeXN0ZW0sIHBsYXRmb3JtKQpsb2NhbCBhcmNoID0gcC5hcGkuY2hlY2tWYWx1ZShwLmZpZWxkcy5hcmNoaXRlY3R1cmUsIHBsYXRmb3JtKQpyZXR1cm4gYXJjaGl0ZWN0dXJlKHN5c3RlbSwgYXJjaCBvciBwbGF0Zm9ybTpsb3dlcigpKQplbmQKZnVuY3Rpb24gdnN0dWRpby5jdWx0dXJlRm9yTG9jYWxlKGxvY2FsZSkKaWYgbG9jYWxlIHRoZW4KbG9jYWwgY3VsdHVyZSA9IHZzdHVkaW8uX2N1bHR1cmVzW2xvY2FsZV0KaWYgbm90IGN1bHR1cmUgdGhlbgpwLndhcm5PbmNlKCJMb2NhbGUiIC4uIGxvY2FsZSwgJ1Vuc3VwcG9ydGVkIGxvY2FsZSAiJXMiJywgbG9jYWxlKQplbmQKcmV0dXJuIGN1bHR1cmUKZW5kCmVuZApmdW5jdGlvbiB2c3R1ZGlvLmdldExpbmtzKGNmZywgZXhwbGljaXQpCnJldHVybiBwLnRvb2xzLm1zYy5nZXRsaW5rcyhjZmcsIG5vdCBleHBsaWNpdCkKZW5kCmZ1bmN0aW9uIHZzdHVkaW8uaXNNYWtlZmlsZShjZmcpCnJldHVybiAoY2ZnLmtpbmQgPT0gcC5NQUtFRklMRSBvciBjZmcua2luZCA9PSBwLk5PTkUpCmVuZApmdW5jdGlvbiB2c3R1ZGlvLm5lZWRzRXhwbGljaXRMaW5rKGNmZykKaWYgbm90IGNmZy5fbmVlZHNFeHBsaWNpdExpbmsgdGhlbgpsb2NhbCBleCA9IGNmZy5mbGFncy5Ob0ltcGxpY2l0TGluawppZiBub3QgZXggdGhlbgpsb2NhbCBwcmpkZXBzID0gcHJvamVjdC5nZXRkZXBlbmRlbmNpZXMoY2ZnLnByb2plY3QsICJsaW5rT25seSIpCmxvY2FsIGNmZ2RlcHMgPSBjb25maWcuZ2V0bGlua3MoY2ZnLCAiZGVwZW5kZW5jaWVzIiwgIm9iamVjdCIpCmV4ID0gI3ByamRlcHMgfj0gI2NmZ2RlcHMKZW5kCmNmZy5fbmVlZHNFeHBsaWNpdExpbmsgPSBleAplbmQKcmV0dXJuIGNmZy5fbmVlZHNFeHBsaWNpdExpbmsKZW5kCmZ1bmN0aW9uIHZzdHVkaW8ucGF0aChjZmcsIHZhbHVlKQpjZmcgPSBjZmcucHJvamVjdCBvciBjZmcKbG9jYWwgZGlycyA9IHBhdGgudHJhbnNsYXRlKHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLCB2YWx1ZSkpCmlmIHR5cGUoZGlycykgPT0gJ3RhYmxlJyB0aGVuCmRpcnMgPSB0YWJsZS5maWx0ZXJlbXB0eShkaXJzKQplbmQKcmV0dXJuIGRpcnMKZW5kCmZ1bmN0aW9uIHZzdHVkaW8ucHJvamVjdENvbmZpZyhjZmcsIGFyY2gpCmxvY2FsIHBsYXRmb3JtID0gdnN0dWRpby5wcm9qZWN0UGxhdGZvcm0oY2ZnKQpsb2NhbCBhcmNoaXRlY3R1cmUgPSBhcmNoIG9yIHZzdHVkaW8uYXJjaEZyb21Db25maWcoY2ZnLCB0cnVlKQpyZXR1cm4gcGxhdGZvcm0gLi4gInwiIC4uIGFyY2hpdGVjdHVyZQplbmQKZnVuY3Rpb24gdnN0dWRpby5wcm9qZWN0RWxlbWVudCgpCnAucHVzaCgnPFByb2plY3QgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+JykKZW5kCmZ1bmN0aW9uIHZzdHVkaW8ucHJvamVjdGZpbGUocHJqKQpsb2NhbCBleHRlbnNpb24KaWYgcHJvamVjdC5pc2NzaGFycChwcmopIHRoZW4KZXh0ZW5zaW9uID0gIi5jc3Byb2oiCmVsc2VpZiBwcm9qZWN0LmlzZnNoYXJwKHByaikgdGhlbgpleHRlbnNpb24gPSAiLmZzcHJvaiIKZWxzZWlmIHByb2plY3QuaXNjKHByaikgb3IgcHJvamVjdC5pc2NwcChwcmopIHRoZW4KZXh0ZW5zaW9uID0gaWlmKF9BQ1RJT04gPiAidnMyMDA4IiwgIi52Y3hwcm9qIiwgIi52Y3Byb2oiKQplbmQKcmV0dXJuIHAuZmlsZW5hbWUocHJqLCBleHRlbnNpb24pCmVuZApmdW5jdGlvbiB2c3R1ZGlvLnByb2plY3RQbGF0Zm9ybShjZmcpCmxvY2FsIHBsYXRmb3JtID0gY2ZnLnBsYXRmb3JtCmlmIHBsYXRmb3JtIHRoZW4KbG9jYWwgcGx0YXJjaCA9IHZzdHVkaW8uYXJjaEZyb21QbGF0Zm9ybShjZmcucGxhdGZvcm0pIG9yIHBsYXRmb3JtCmxvY2FsIGNmZ2FyY2ggPSB2c3R1ZGlvLmFyY2hGcm9tQ29uZmlnKGNmZykKaWYgcGx0YXJjaCA9PSBjZmdhcmNoIHRoZW4KcGxhdGZvcm0gPSBuaWwKZW5kCmVuZAppZiBwbGF0Zm9ybSB0aGVuCnJldHVybiBjZmcuYnVpbGRjZmcgLi4gIiAiIC4uIHBsYXRmb3JtCmVsc2UKcmV0dXJuIGNmZy5idWlsZGNmZwplbmQKZW5kCmZ1bmN0aW9uIHZzdHVkaW8uc29sdXRpb25QbGF0Zm9ybShjZmcpCmxvY2FsIHBsYXRmb3JtID0gY2ZnLnBsYXRmb3JtCmxvY2FsIHBsYXRhcmNoCmlmIHBsYXRmb3JtIHRoZW4KcGxhdGZvcm0gPSB2c3R1ZGlvLmFyY2hGcm9tUGxhdGZvcm0ocGxhdGZvcm0pIG9yIHBsYXRmb3JtCmlmIHBsYXRmb3JtIH49ICJ4ODYiIHRoZW4KcmV0dXJuIHBsYXRmb3JtCmVuZAplbmQKbG9jYWwgaGFzbmF0aXZlID0gZmFsc2UKbG9jYWwgaGFzbmV0ID0gZmFsc2UKbG9jYWwgc2xuYXJjaApmb3IgcHJqIGluIHAud29ya3NwYWNlLmVhY2hwcm9qZWN0KGNmZy53b3Jrc3BhY2UpIGRvCmhhc25hdGl2ZSA9IGhhc25hdGl2ZSBvciBwcm9qZWN0LmlzbmF0aXZlKHByaikKaGFzbmV0ICAgID0gaGFzbmV0ICAgIG9yIHByb2plY3QuaXNkb3RuZXQocHJqKQpsb2NhbCBwcmpjZmcgPSBwcm9qZWN0LmdldGNvbmZpZyhwcmosIGNmZy5idWlsZGNmZywgY2ZnLnBsYXRmb3JtKQppZiBwcmpjZmcgdGhlbgpsb2NhbCBwcmphcmNoID0gdnN0dWRpby5hcmNoRnJvbUNvbmZpZyhwcmpjZmcpCmlmIG5vdCBzbG5hcmNoIHRoZW4Kc2xuYXJjaCA9IHByamFyY2gKZWxzZWlmIHNsbmFyY2ggfj0gcHJqYXJjaCB0aGVuCnNsbmFyY2ggPSAiTWl4ZWQgUGxhdGZvcm1zIgplbmQKZW5kCmVuZAppZiBwbGF0Zm9ybSB0aGVuCnJldHVybiBpaWYoaGFzbmV0LCAieDg2IiwgIldpbjMyIikKZWxzZWlmIHNsbmFyY2ggdGhlbgpyZXR1cm4gaWlmKHNsbmFyY2ggPT0gIng4NiIgYW5kIG5vdCBoYXNuZXQsICJXaW4zMiIsIHNsbmFyY2gpCmVsc2VpZiBoYXNuZXQgYW5kIGhhc25hdGl2ZSB0aGVuCnJldHVybiAiTWl4ZWQgUGxhdGZvcm1zIgplbHNlaWYgaGFzbmV0IHRoZW4KcmV0dXJuICJBbnkgQ1BVIgplbHNlCnJldHVybiAiV2luMzIiCmVuZAplbmQKZnVuY3Rpb24gdnN0dWRpby5zb2x1dGlvbmFyY2goY2ZnKQpsb2NhbCBoYXNuYXRpdmUgPSBmYWxzZQpsb2NhbCBoYXNkb3RuZXQgPSBmYWxzZQpsb2NhbCBhcmNoID0gY2ZnLnBsYXRmb3JtCmZvciBwcmogaW4gcC53b3Jrc3BhY2UuZWFjaHByb2plY3QoY2ZnLndvcmtzcGFjZSkgZG8KaGFzbmF0aXZlID0gaGFzbmF0aXZlIG9yIHByb2plY3QuaXNuYXRpdmUocHJqKQpoYXNuZXQgICAgPSBoYXNuZXQgICAgb3IgcHJvamVjdC5pc2RvdG5ldChwcmopCmlmIGhhc25hdGl2ZSBhbmQgaGFzZG90bmV0IHRoZW4KcmV0dXJuICJNaXhlZCBQbGF0Zm9ybXMiCmVuZAppZiBub3QgYXJjaCB0aGVuCmxvY2FsIHByamNmZyA9IHByb2plY3QuZ2V0Y29uZmlnKHByaiwgY2ZnLmJ1aWxkY2ZnLCBjZmcucGxhdGZvcm0pCmlmIHByamNmZyB0aGVuCmlmIHByamNmZy5hcmNoaXRlY3R1cmUgdGhlbgphcmNoID0gdnN0dWRpby5hcmNoRnJvbUNvbmZpZyhwcmpjZmcpCmVuZAplbmQKZW5kCmVuZAphcmNoID0gYXJjaCBvciBpaWYoaGFzbmF0aXZlLCAiV2luMzIiLCAiQW55IENQVSIpCnJldHVybiBhcmNoCmVuZApmdW5jdGlvbiB2c3R1ZGlvLnNvbHV0aW9uY29uZmlnKGNmZykKbG9jYWwgcGxhdGZvcm0gPSBjZmcucGxhdGZvcm0KaWYgbm90IHBsYXRmb3JtIHRoZW4KcGxhdGZvcm0gPSB2c3R1ZGlvLnNvbHV0aW9uYXJjaChjZmcpCmVuZApyZXR1cm4gc3RyaW5nLmZvcm1hdCgiJXN8JXMiLCBjZmcuYnVpbGRjZmcsIHBsYXRmb3JtKQplbmQKZnVuY3Rpb24gdnN0dWRpby50b29sKHByaikKaWYgcHJvamVjdC5pc2NzaGFycChwcmopIHRoZW4KcmV0dXJuICJGQUUwNEVDMC0zMDFGLTExRDMtQkY0Qi0wMEMwNEY3OUVGQkMiCmVsc2VpZiBwcm9qZWN0LmlzZnNoYXJwKHByaikgdGhlbgpyZXR1cm4gIkYyQTcxRjlCLTVEMzMtNDY1QS1BNzAyLTkyMEQ3NzI3OTc4NiIKZWxzZWlmIHByb2plY3QuaXNjKHByaikgb3IgcHJvamVjdC5pc2NwcChwcmopIHRoZW4KcmV0dXJuICI4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDIiCmVuZAplbmQKaW5jbHVkZSgidnMyMDB4X3ZjcHJvai5sdWEiKQppbmNsdWRlKCJ2czIwMHhfdmNwcm9qX3VzZXIubHVhIikKaW5jbHVkZSgidnMyMDA1X3NvbHV0aW9uLmx1YSIpCmluY2x1ZGUoInZzMjAwNV9kb3RuZXRiYXNlLmx1YSIpCmluY2x1ZGUoInZzMjAwNV9jc3Byb2oubHVhIikKaW5jbHVkZSgidnMyMDA1X2NzcHJval91c2VyLmx1YSIpCmluY2x1ZGUoInZzMjAwNV9mc3Byb2oubHVhIikKaW5jbHVkZSgidnMyMDA1X2ZzcHJval91c2VyLmx1YSIpCmluY2x1ZGUoInZzMjAxMF9udWdldC5sdWEiKQppbmNsdWRlKCJ2czIwMTBfdmN4cHJvai5sdWEiKQppbmNsdWRlKCJ2czIwMTBfdmN4cHJval91c2VyLmx1YSIpCmluY2x1ZGUoInZzMjAxMF92Y3hwcm9qX2ZpbHRlcnMubHVhIikKaW5jbHVkZSgidnMyMDEwX3J1bGVzX3Byb3BzLmx1YSIpCmluY2x1ZGUoInZzMjAxMF9ydWxlc190YXJnZXRzLmx1YSIpCmluY2x1ZGUoInZzMjAxMF9ydWxlc194bWwubHVhIikKcmV0dXJuIHAubW9kdWxlcy52c3R1ZGlvCgAA2EVTABDzQQDgRVMAQO9BAOxFUwCA8UEA9EVTANDsQQD4RVMAkPZBAABGUwAAAAAAAAAAAAAAAAD0SVMA+ElTAABKUwAISlMAFEpTABxKUwAAAAAAbG9jYWwgcCA9IHByZW1ha2UKcC5jb250YWluZXIgPSB7fQpsb2NhbCBjb250YWluZXIgPSBwLmNvbnRhaW5lcgpjb250YWluZXIuY2xhc3NlcyA9IHt9CmZ1bmN0aW9uIGNvbnRhaW5lci5uZXdDbGFzcyhuYW1lLCBwYXJlbnQsIGV4dHJhU2NvcGVzKQpsb2NhbCBjbGFzcyA9IHAuY29uZmlnc2V0Lm5ldyhwYXJlbnQpCmNsYXNzLm5hbWUgPSBuYW1lCmNsYXNzLnBsdXJhbE5hbWUgPSBuYW1lOnBsdXJhbCgpCmNsYXNzLmNvbnRhaW5lZENsYXNzZXMgPSB7fQpjbGFzcy5leHRyYVNjb3BlcyA9IGV4dHJhU2NvcGVzCmlmIHBhcmVudCB0aGVuCnRhYmxlLmluc2VydChwYXJlbnQuY29udGFpbmVkQ2xhc3NlcywgY2xhc3MpCmVuZApjb250YWluZXIuY2xhc3Nlc1tuYW1lXSA9IGNsYXNzCnJldHVybiBjbGFzcwplbmQKZnVuY3Rpb24gY29udGFpbmVyLm5ldyhjbGFzcywgbmFtZSkKbG9jYWwgc2VsZiA9IHAuY29uZmlnc2V0Lm5ldygpCnNldG1ldGF0YWJsZShzZWxmLCBwLmNvbmZpZ3NldC5tZXRhdGFibGUoc2VsZikpCnNlbGYuY2xhc3MgPSBjbGFzcwpzZWxmLm5hbWUgPSBuYW1lCnNlbGYuZmlsZW5hbWUgPSBuYW1lCnNlbGYuc2NyaXB0ID0gX1NDUklQVApzZWxmLmJhc2VkaXIgPSBvcy5nZXRjd2QoKQpzZWxmLmV4dGVybmFsID0gZmFsc2UKZm9yIGNoaWxkQ2xhc3MgaW4gY29udGFpbmVyLmVhY2hDaGlsZENsYXNzKGNsYXNzKSBkbwpzZWxmW2NoaWxkQ2xhc3MucGx1cmFsTmFtZV0gPSB7fQplbmQKcmV0dXJuIHNlbGYKZW5kCmZ1bmN0aW9uIGNvbnRhaW5lci5hZGRDaGlsZChzZWxmLCBjaGlsZCkKbG9jYWwgY2hpbGRyZW4gPSBzZWxmW2NoaWxkLmNsYXNzLnBsdXJhbE5hbWVdCnRhYmxlLmluc2VydChjaGlsZHJlbiwgY2hpbGQpCmNoaWxkcmVuW2NoaWxkLm5hbWVdID0gY2hpbGQKY2hpbGQucGFyZW50ID0gc2VsZgpjaGlsZFtzZWxmLmNsYXNzLm5hbWVdID0gc2VsZgppZiBzZWxmLmNsYXNzLmFsaWFzIHRoZW4KY2hpbGRbc2VsZi5jbGFzcy5hbGlhc10gPSBzZWxmCmVuZAplbmQKZnVuY3Rpb24gY29udGFpbmVyLmJha2Uoc2VsZikKaWYgc2VsZi5faXNCYWtlZCB0aGVuCnJldHVybiBzZWxmCmVuZApzZWxmLl9pc0Jha2VkID0gdHJ1ZQpsb2NhbCBjdHggPSBwLmNvbnRleHQubmV3KHNlbGYpCmZvciBrZXksIHZhbHVlIGluIHBhaXJzKHNlbGYpIGRvCmN0eFtrZXldID0gdmFsdWUKZW5kCmxvY2FsIHBhcmVudCA9IHNlbGYucGFyZW50CmlmIHBhcmVudCB0aGVuCmN0eFtwYXJlbnQuY2xhc3MubmFtZV0gPSBwYXJlbnQKZW5kCmZvciBjbGFzcyBpbiBjb250YWluZXIuZWFjaENoaWxkQ2xhc3Moc2VsZi5jbGFzcykgZG8KZm9yIGNoaWxkIGluIGNvbnRhaW5lci5lYWNoQ2hpbGQoc2VsZiwgY2xhc3MpIGRvCmNoaWxkLnBhcmVudCA9IGN0eApjaGlsZFtzZWxmLmNsYXNzLm5hbWVdID0gY3R4CmVuZAplbmQKaWYgdHlwZShzZWxmLmNsYXNzLmJha2UpID09ICJmdW5jdGlvbiIgdGhlbgpzZWxmLmNsYXNzLmJha2UoY3R4KQplbmQKcmV0dXJuIGN0eAplbmQKZnVuY3Rpb24gY29udGFpbmVyLmJha2VDaGlsZHJlbihzZWxmKQpmb3IgY2xhc3MgaW4gY29udGFpbmVyLmVhY2hDaGlsZENsYXNzKHNlbGYuY2xhc3MpIGRvCmxvY2FsIGNoaWxkcmVuID0gc2VsZltjbGFzcy5wbHVyYWxOYW1lXQpmb3IgaSA9IDEsICNjaGlsZHJlbiBkbwpsb2NhbCBjdHggPSBjb250YWluZXIuYmFrZShjaGlsZHJlbltpXSkKY2hpbGRyZW5baV0gPSBjdHgKY2hpbGRyZW5bY3R4Lm5hbWVdID0gY3R4CmVuZAplbmQKZW5kCmZ1bmN0aW9uIGNvbnRhaW5lci5jbGFzc0NhbkNvbnRhaW4oY2xhc3MsIHNjb3BlKQppZiB0eXBlKHNjb3BlKSA9PSAidGFibGUiIHRoZW4KZm9yIGkgPSAxLCAjc2NvcGUgZG8KaWYgY29udGFpbmVyLmNsYXNzQ2FuQ29udGFpbihjbGFzcywgc2NvcGVbaV0pIHRoZW4KcmV0dXJuIHRydWUKZW5kCmVuZApyZXR1cm4gZmFsc2UKZW5kCmZvciBjaGlsZCBpbiBjb250YWluZXIuZWFjaENoaWxkQ2xhc3MoY2xhc3MpIGRvCmlmIChjb250YWluZXIuY2xhc3NDYW5Db250YWluKGNoaWxkLCBzY29wZSkpIHRoZW4KcmV0dXJuIHRydWUKZW5kCmVuZAppZiBjbGFzcy5uYW1lID09IHNjb3BlIG9yIGNsYXNzLmFsaWFzID09IHNjb3BlIHRoZW4KcmV0dXJuIHRydWUKZW5kCmlmIGNsYXNzLmV4dHJhU2NvcGVzIGFuZCB0YWJsZS5jb250YWlucyhjbGFzcy5leHRyYVNjb3Blcywgc2NvcGUpIHRoZW4KcmV0dXJuIHRydWUKZW5kCnJldHVybiBmYWxzZQplbmQKZnVuY3Rpb24gY29udGFpbmVyLmNsYXNzSXNBKGNsYXNzLCBzY29wZSkKd2hpbGUgY2xhc3MgZG8KaWYgY2xhc3MubmFtZSA9PSBzY29wZSBvciBjbGFzcy5hbGlhcyA9PSBzY29wZSB0aGVuCnJldHVybiB0cnVlCmVuZApjbGFzcyA9IGNsYXNzLnBhcmVudAplbmQKcmV0dXJuIGZhbHNlCmVuZApmdW5jdGlvbiBjb250YWluZXIuZWFjaENoaWxkQ2xhc3MoY2xhc3MpCmxvY2FsIGNoaWxkcmVuID0gY2xhc3MuY29udGFpbmVkQ2xhc3Nlcwpsb2NhbCBpID0gMApyZXR1cm4gZnVuY3Rpb24gKCkKaSA9IGkgKyAxCmlmIGkgPD0gI2NoaWxkcmVuIHRoZW4KcmV0dXJuIGNoaWxkcmVuW2ldCmVuZAplbmQKZW5kCmZ1bmN0aW9uIGNvbnRhaW5lci5lYWNoQ2hpbGQoc2VsZiwgY2xhc3MpCmxvY2FsIGNoaWxkcmVuID0gc2VsZltjbGFzcy5wbHVyYWxOYW1lXQpsb2NhbCBpID0gMApyZXR1cm4gZnVuY3Rpb24gKCkKaSA9IGkgKyAxCmlmIGkgPD0gI2NoaWxkcmVuIHRoZW4KcmV0dXJuIGNoaWxkcmVuW2ldCmVuZAplbmQKZW5kCmZ1bmN0aW9uIGNvbnRhaW5lci5nZXRDaGlsZChzZWxmLCBjbGFzcywgbmFtZSkKbG9jYWwgY2hpbGRyZW4gPSBzZWxmW2NsYXNzLnBsdXJhbE5hbWVdCnJldHVybiBjaGlsZHJlbltuYW1lXQplbmQKZnVuY3Rpb24gY29udGFpbmVyLmdldENsYXNzKG5hbWUpCnJldHVybiBjb250YWluZXIuY2xhc3Nlc1tuYW1lXQplbmQKZnVuY3Rpb24gY29udGFpbmVyLmhhc0NoaWxkKHNlbGYsIGNsYXNzLCBmdW5jKQpmb3IgY2hpbGQgaW4gY29udGFpbmVyLmVhY2hDaGlsZChzZWxmLCBjbGFzcykgZG8KaWYgZnVuYyhjaGlsZCkgdGhlbgpyZXR1cm4gdHJ1ZQplbmQKZW5kCmVuZApmdW5jdGlvbiBjb250YWluZXIudmFsaWRhdGUoc2VsZikKaWYgdHlwZShzZWxmLmNsYXNzLnZhbGlkYXRlKSA9PSAiZnVuY3Rpb24iIHRoZW4Kc2VsZi5jbGFzcy52YWxpZGF0ZShzZWxmKQplbmQKZW5kCmZ1bmN0aW9uIGNvbnRhaW5lci52YWxpZGF0ZUNoaWxkcmVuKHNlbGYpCmZvciBjbGFzcyBpbiBjb250YWluZXIuZWFjaENoaWxkQ2xhc3Moc2VsZi5jbGFzcykgZG8KbG9jYWwgY2hpbGRyZW4gPSBzZWxmW2NsYXNzLnBsdXJhbE5hbWVdCmZvciBpID0gMSwgI2NoaWxkcmVuIGRvCmNvbnRhaW5lci52YWxpZGF0ZShjaGlsZHJlbltpXSkKZW5kCmVuZAplbmQKAGxvY2FsIHAgPSBwcmVtYWtlCnAub3ZlbiA9IHt9CmxvY2FsIG92ZW4gPSBwLm92ZW4KbG9jYWwgY29udGV4dCA9IHAuY29udGV4dApwLm92ZW4uYnViYmxlZEZpZWxkcyA9IHsKY29uZmlnbWFwID0gdHJ1ZSwKdnBhdGhzID0gdHJ1ZQp9CmZ1bmN0aW9uIG92ZW4uYmFrZSgpCmxvY2FsIHJvb3QgPSBwLmFwaS5yb290Q29udGFpbmVyKCkKcm9vdC5faXNCYWtlZCA9IGZhbHNlOwpwLmNvbnRhaW5lci5iYWtlKHJvb3QpCmVuZApmdW5jdGlvbiBvdmVuLmJha2VXb3Jrc3BhY2Uod2tzKQpyZXR1cm4gcC5jb250YWluZXIuYmFrZSh3a3MpCmVuZApwLmFsaWFzKG92ZW4sICJiYWtlV29ya3NwYWNlIiwgImJha2VTb2x1dGlvbiIpCmxvY2FsIGZ1bmN0aW9uIGFkZENvbW1vbkNvbnRleHRGaWx0ZXJzKHNlbGYpCmNvbnRleHQuYWRkRmlsdGVyKHNlbGYsICJfQUNUSU9OIiwgX0FDVElPTikKY29udGV4dC5hZGRGaWx0ZXIoc2VsZiwgImFjdGlvbiIsIF9BQ1RJT04pCnNlbGYuc3lzdGVtID0gc2VsZi5zeXN0ZW0gb3Igb3MudGFyZ2V0KCkKY29udGV4dC5hZGRGaWx0ZXIoc2VsZiwgInN5c3RlbSIsIG9zLmdldFN5c3RlbVRhZ3Moc2VsZi5zeXN0ZW0pKQpjb250ZXh0LmFkZEZpbHRlcihzZWxmLCAiaG9zdCIsIG9zLmdldFN5c3RlbVRhZ3Mob3MuaG9zdCgpKSkKbG9jYWwgb3B0aW9ucyA9IHt9CmZvciBrZXksIHZhbHVlIGluIHBhaXJzKF9PUFRJT05TKSBkbwpsb2NhbCB0ZXJtID0ga2V5CmlmIHZhbHVlIH49ICIiIHRoZW4KdGVybSA9IHRlcm0gLi4gIj0iIC4uIHRvc3RyaW5nKHZhbHVlKQplbmQKdGFibGUuaW5zZXJ0KG9wdGlvbnMsIHRlcm0pCmVuZApjb250ZXh0LmFkZEZpbHRlcihzZWxmLCAiX09QVElPTlMiLCBvcHRpb25zKQpjb250ZXh0LmFkZEZpbHRlcihzZWxmLCAib3B0aW9ucyIsIG9wdGlvbnMpCmVuZApmdW5jdGlvbiBwLndvcmtzcGFjZS5iYWtlKHNlbGYpCmFkZENvbW1vbkNvbnRleHRGaWx0ZXJzKHNlbGYpCnNlbGYuZW52aXJvbiA9IHsKd2tzID0gc2VsZiwKc2xuID0gc2VsZiwKfQpjb250ZXh0LmNvbXBpbGUoc2VsZikKc2VsZi5sb2NhdGlvbiA9IHNlbGYubG9jYXRpb24gb3Igc2VsZi5iYXNlZGlyCmNvbnRleHQuYmFzZWRpcihzZWxmLCBzZWxmLmxvY2F0aW9uKQpzZWxmLmNvbmZpZ3MgPSBvdmVuLmJha2VDb25maWdzKHNlbGYpCnAuY29udGFpbmVyLmJha2VDaGlsZHJlbihzZWxmKQpvdmVuLmJha2VPYmpEaXJzKHNlbGYpCm92ZW4uYWRkR2VuZXJhdGVkRmlsZXMoc2VsZikKZW5kCmZ1bmN0aW9uIG92ZW4uYWRkR2VuZXJhdGVkRmlsZXMod2tzKQpsb2NhbCBmdW5jdGlvbiBhZGRHZW5lcmF0ZWRGaWxlKGNmZywgc291cmNlLCBmaWxlbmFtZSkKY2ZnLnByb2plY3QuaGFzR2VuZXJhdGVkRmlsZXMgPSB0cnVlCmxvY2FsIGZpbGVzID0gY2ZnLnByb2plY3QuXy5maWxlcwpsb2NhbCBub2RlID0gZmlsZXNbZmlsZW5hbWVdCmlmIG5vdCBub2RlIHRoZW4Kbm9kZSA9IHAuZmlsZWNvbmZpZy5uZXcoZmlsZW5hbWUsIGNmZy5wcm9qZWN0KQpmaWxlc1tmaWxlbmFtZV0gPSBub2RlCnRhYmxlLmluc2VydChmaWxlcywgbm9kZSkKZW5kCm5vZGUuZGVwZW5kc09uID0gc291cmNlCm5vZGUuZ2VuZXJhdGVkID0gdHJ1ZQppZiBub3QgcC5maWxlY29uZmlnLmdldGNvbmZpZyhub2RlLCBjZmcpIHRoZW4KcC5maWxlY29uZmlnLmFkZGNvbmZpZyhub2RlLCBjZmcpCmVuZAplbmQKbG9jYWwgZnVuY3Rpb24gYWRkRmlsZShjZmcsIG5vZGUpCmxvY2FsIGZpbGVjZmcgPSBwLmZpbGVjb25maWcuZ2V0Y29uZmlnKG5vZGUsIGNmZykKaWYgbm90IGZpbGVjZmcgb3IgZmlsZWNmZy5mbGFncy5FeGNsdWRlRnJvbUJ1aWxkIG9yIG5vdCBmaWxlY2ZnLmNvbXBpbGVidWlsZG91dHB1dHMgdGhlbgpyZXR1cm4KZW5kCmlmIHAuZmlsZWNvbmZpZy5oYXNDdXN0b21CdWlsZFJ1bGUoZmlsZWNmZykgdGhlbgpsb2NhbCBidWlsZG91dHB1dHMgPSBmaWxlY2ZnLmJ1aWxkb3V0cHV0cwppZiBidWlsZG91dHB1dHMgYW5kICNidWlsZG91dHB1dHMgPiAwIHRoZW4KZm9yIF8sIG91dHB1dCBpbiBpcGFpcnMoYnVpbGRvdXRwdXRzKSBkbwppZiBub3QgcGF0aC5pc2xpbmthYmxlKG91dHB1dCkgdGhlbgphZGRHZW5lcmF0ZWRGaWxlKGNmZywgbm9kZSwgb3V0cHV0KQplbmQKZW5kCmVuZAplbmQKZW5kCmZvciBwcmogaW4gcC53b3Jrc3BhY2UuZWFjaHByb2plY3Qod2tzKSBkbwpsb2NhbCBmaWxlcyA9IHRhYmxlLnNoYWxsb3djb3B5KHByai5fLmZpbGVzKQpmb3IgY2ZnIGluIHAucHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KdGFibGUuZm9yZWFjaGkoZmlsZXMsIGZ1bmN0aW9uKG5vZGUpCmFkZEZpbGUoY2ZnLCBub2RlKQplbmQpCmVuZAppZiBwcmouaGFzR2VuZXJhdGVkRmlsZXMgYW5kIHAucHJvamVjdC5pc25hdGl2ZShwcmopIHRoZW4Kb3Zlbi5hc3NpZ25PYmplY3RTZXF1ZW5jZXMocHJqKQplbmQKZW5kCmVuZApmdW5jdGlvbiBwLnByb2plY3QuYmFrZShzZWxmKQp2ZXJib3NlZignICAgIEJha2luZyAlcy4uLicsIHNlbGYubmFtZSkKc2VsZi5zb2x1dGlvbiA9IHNlbGYud29ya3NwYWNlCnNlbGYuZ2xvYmFsID0gc2VsZi53b3Jrc3BhY2UuZ2xvYmFsCmxvY2FsIHdrcyA9IHNlbGYud29ya3NwYWNlCmNvbnRleHQuY29weUZpbHRlcnMoc2VsZiwgd2tzKQpzZWxmLnN5c3RlbSA9IHNlbGYuc3lzdGVtIG9yIG9zLnRhcmdldCgpCmNvbnRleHQuYWRkRmlsdGVyKHNlbGYsICJzeXN0ZW0iLCBvcy5nZXRTeXN0ZW1UYWdzKHNlbGYuc3lzdGVtKSkKY29udGV4dC5hZGRGaWx0ZXIoc2VsZiwgImhvc3QiLCBvcy5nZXRTeXN0ZW1UYWdzKG9zLmhvc3QoKSkpCmNvbnRleHQuYWRkRmlsdGVyKHNlbGYsICJhcmNoaXRlY3R1cmUiLCBzZWxmLmFyY2hpdGVjdHVyZSkKY29udGV4dC5hZGRGaWx0ZXIoc2VsZiwgInRhZ3MiLCBzZWxmLnRhZ3MpCmNvbnRleHQuYWRkRmlsdGVyKHNlbGYsICJraW5kIiwgc2VsZi5raW5kKQpzZWxmLnByb2plY3QgPSBzZWxmCnNlbGYuZW52aXJvbiA9IHsKd2tzID0gd2tzLApzbG4gPSB3a3MsCnByaiA9IHNlbGYsCn0KY29udGV4dC5jb21waWxlKHNlbGYpCnAuY29udGFpbmVyLmJha2VDaGlsZHJlbihzZWxmKQpzZWxmLmxvY2F0aW9uID0gc2VsZi5sb2NhdGlvbiBvciBzZWxmLmJhc2VkaXIKY29udGV4dC5iYXNlZGlyKHNlbGYsIHNlbGYubG9jYXRpb24pCmxvY2FsIGNmZ3MgPSB0YWJsZS5mb2xkKHNlbGYuY29uZmlndXJhdGlvbnMgb3Ige30sIHNlbGYucGxhdGZvcm1zIG9yIHt9KQpvdmVuLmJ1YmJsZUZpZWxkcyhzZWxmLCBzZWxmLCBjZmdzKQpzZWxmLl9jZmdsaXN0ID0gb3Zlbi5iYWtlQ29uZmlnTGlzdChzZWxmLCBjZmdzKQpsb2NhbCBwcm9qZWN0U3lzdGVtID0gc2VsZi5zeXN0ZW0Kc2VsZi5zeXN0ZW0gPSBuaWwKc2VsZi5jb25maWdzID0ge30KZm9yIF8sIHBhaXJpbmcgaW4gaXBhaXJzKHNlbGYuX2NmZ2xpc3QpIGRvCmxvY2FsIGJ1aWxkY2ZnID0gcGFpcmluZ1sxXQpsb2NhbCBwbGF0Zm9ybSA9IHBhaXJpbmdbMl0KbG9jYWwgY2ZnID0gb3Zlbi5iYWtlQ29uZmlnKHdrcywgc2VsZiwgYnVpbGRjZmcsIHBsYXRmb3JtKQppZiBwLmFjdGlvbi5zdXBwb3J0c2NvbmZpZyhwLmFjdGlvbi5jdXJyZW50KCksIGNmZykgdGhlbgpzZWxmLmNvbmZpZ3NbKGJ1aWxkY2ZnIG9yICIqIikgLi4gKHBsYXRmb3JtIG9yICIiKV0gPSBjZmcKZW5kCmVuZApzZWxmLl8gPSB7fQpzZWxmLl8uZmlsZXMgPSBvdmVuLmJha2VGaWxlcyhzZWxmKQppZiBwLnByb2plY3QuaXNuYXRpdmUoc2VsZikgdGhlbgpvdmVuLmFzc2lnbk9iamVjdFNlcXVlbmNlcyhzZWxmKQplbmQKc2VsZi5zeXN0ZW0gPSBwcm9qZWN0U3lzdGVtCmVuZApmdW5jdGlvbiBwLnJ1bGUuYmFrZShzZWxmKQphZGRDb21tb25Db250ZXh0RmlsdGVycyhzZWxmKQpzZWxmLmVudmlyb24gPSB7CnJ1bGUgPSBzZWxmLAp9CmNvbnRleHQuY29tcGlsZShzZWxmKQp0YWJsZS5zb3J0KHNlbGYucHJvcGVydHlkZWZpbml0aW9uLCBmdW5jdGlvbiAoYSwgYikKcmV0dXJuIGEubmFtZSA8IGIubmFtZQplbmQpCnNlbGYubG9jYXRpb24gPSBzZWxmLmxvY2F0aW9uIG9yIHNlbGYuYmFzZWRpcgpjb250ZXh0LmJhc2VkaXIoc2VsZiwgc2VsZi5sb2NhdGlvbikKZW5kCmZ1bmN0aW9uIG92ZW4uYmFrZU9iakRpcnMod2tzKQpsb2NhbCBmdW5jdGlvbiBnZXRvYmpkaXJzKGNmZykKbG9jYWwgb2JqZGlyID0gY2ZnLm9iamRpciBvciAib2JqIgpsb2NhbCBpID0gb2JqZGlyOmZpbmQoIiEiLCAxLCB0cnVlKQppZiBpIHRoZW4KY2ZnLm9iamRpciA9IG9iamRpcjpzdWIoMSwgaSAtIDEpIC4uIG9iamRpcjpzdWIoaSArIDEpCnJldHVybiBuaWwKZW5kCmxvY2FsIGRpcnMgPSB7fQpsb2NhbCBkaXIgPSBwYXRoLmdldGFic29sdXRlKHBhdGguam9pbihjZmcucHJvamVjdC5sb2NhdGlvbiwgb2JqZGlyKSkKdGFibGUuaW5zZXJ0KGRpcnMsIGRpcikKaWYgY2ZnLnBsYXRmb3JtIHRoZW4KZGlyID0gcGF0aC5qb2luKGRpciwgY2ZnLnBsYXRmb3JtKQp0YWJsZS5pbnNlcnQoZGlycywgZGlyKQplbmQKZGlyID0gcGF0aC5qb2luKGRpciwgY2ZnLmJ1aWxkY2ZnKQp0YWJsZS5pbnNlcnQoZGlycywgZGlyKQpkaXIgPSBwYXRoLmpvaW4oZGlyLCBjZmcucHJvamVjdC5uYW1lKQp0YWJsZS5pbnNlcnQoZGlycywgZGlyKQpyZXR1cm4gZGlycwplbmQKbG9jYWwgY291bnRzID0ge30KbG9jYWwgY29uZmlncyA9IHt9CmZvciBwcmogaW4gcC53b3Jrc3BhY2UuZWFjaHByb2plY3Qod2tzKSBkbwpmb3IgY2ZnIGluIHAucHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbG9jYWwgZGlycyA9IGdldG9iamRpcnMoY2ZnKQppZiBkaXJzIHRoZW4KY29uZmlnc1tjZmddID0gZGlycwpmb3IgXywgZGlyIGluIGlwYWlycyhkaXJzIG9yIHt9KSBkbwpjb3VudHNbZGlyXSA9IChjb3VudHNbZGlyXSBvciAwKSArIDEKZW5kCmVuZAplbmQKZW5kCmZvciBjZmcsIGRpcnMgaW4gcGFpcnMoY29uZmlncykgZG8KZm9yIF8sIGRpciBpbiBpcGFpcnMoZGlycykgZG8KaWYgY291bnRzW2Rpcl0gPT0gMSB0aGVuCmNmZy5vYmpkaXIgPSBkaXIKYnJlYWsKZW5kCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG92ZW4uYmFrZUNvbmZpZ3Mod2tzKQpsb2NhbCBidWlsZGNmZ3MgPSB3a3MuY29uZmlndXJhdGlvbnMgb3Ige30KbG9jYWwgcGxhdGZvcm1zID0gd2tzLnBsYXRmb3JtcyBvciB7fQpsb2NhbCBjb25maWdzID0ge30KbG9jYWwgcGFpcmluZ3MgPSB0YWJsZS5mb2xkKGJ1aWxkY2ZncywgcGxhdGZvcm1zKQpmb3IgXywgcGFpcmluZyBpbiBpcGFpcnMocGFpcmluZ3MpIGRvCmxvY2FsIGNmZyA9IG92ZW4uYmFrZUNvbmZpZyh3a3MsIG5pbCwgcGFpcmluZ1sxXSwgcGFpcmluZ1syXSkKaWYgcC5hY3Rpb24uc3VwcG9ydHNjb25maWcocC5hY3Rpb24uY3VycmVudCgpLCBjZmcpIHRoZW4KdGFibGUuaW5zZXJ0KGNvbmZpZ3MsIGNmZykKZW5kCmVuZApyZXR1cm4gY29uZmlncwplbmQKZnVuY3Rpb24gb3Zlbi5idWJibGVGaWVsZHMoY3R4LCBjc2V0LCBjZmdzKQpsb2NhbCBjb25maWd1cmF0aW9ucyA9IHt9CmxvY2FsIHBsYXRmb3JtcyA9IHt9CmZvciBfLCBjZmcgaW4gaXBhaXJzKGNmZ3MpIGRvCmlmIGNmZ1sxXSB0aGVuCnRhYmxlLmluc2VydChjb25maWd1cmF0aW9ucywgY2ZnWzFdOmxvd2VyKCkpCmVuZAppZiBjZmdbMl0gdGhlbgp0YWJsZS5pbnNlcnQocGxhdGZvcm1zLCBjZmdbMl06bG93ZXIoKSkKZW5kCmVuZApsb2NhbCB0ZXJtcyA9IHRhYmxlLmRlZXBjb3B5KGN0eC50ZXJtcykKdGVybXMuY29uZmlndXJhdGlvbnMgPSBjb25maWd1cmF0aW9ucwp0ZXJtcy5wbGF0Zm9ybXMgPSBwbGF0Zm9ybXMKZm9yIGtleSBpbiBwYWlycyhvdmVuLmJ1YmJsZWRGaWVsZHMpIGRvCmxvY2FsIGZpZWxkID0gcC5maWVsZC5nZXQoa2V5KQppZiBub3QgZmllbGQgdGhlbgpjdHhba2V5XSA9IHJhd2dldChjdHgsIGtleSkKZWxzZQpsb2NhbCB2YWx1ZSA9IHAuY29uZmlnc2V0LmZldGNoKGNzZXQsIGZpZWxkLCB0ZXJtcywgY3R4KQppZiB2YWx1ZSB0aGVuCmN0eFtrZXldID0gdmFsdWUKZW5kCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG92ZW4uYmFrZUNvbmZpZ0xpc3QoY3R4LCBjZmdzKQpmb3IgaSwgY2ZnIGluIGlwYWlycyhjZmdzKSBkbwpjZmdzW2ldID0gcC5wcm9qZWN0Lm1hcGNvbmZpZyhjdHgsIGNmZ1sxXSwgY2ZnWzJdKQplbmQKbG9jYWwgYnVpbGRjZmdzID0ge30KbG9jYWwgcGxhdGZvcm1zID0ge30KZm9yIF8sIHBhaXJpbmcgaW4gaXBhaXJzKGNmZ3MpIGRvCmxvY2FsIGJ1aWxkY2ZnID0gcGFpcmluZ1sxXQpsb2NhbCBwbGF0Zm9ybSA9IHBhaXJpbmdbMl0KaWYgbm90IHRhYmxlLmNvbnRhaW5zKGJ1aWxkY2ZncywgYnVpbGRjZmcpIHRoZW4KdGFibGUuaW5zZXJ0KGJ1aWxkY2ZncywgYnVpbGRjZmcpCmVuZAppZiBwbGF0Zm9ybSBhbmQgbm90IHRhYmxlLmNvbnRhaW5zKHBsYXRmb3JtcywgcGxhdGZvcm0pIHRoZW4KdGFibGUuaW5zZXJ0KHBsYXRmb3JtcywgcGxhdGZvcm0pCmVuZAplbmQKcmV0dXJuIHRhYmxlLmZvbGQoYnVpbGRjZmdzLCBwbGF0Zm9ybXMpCmVuZApmdW5jdGlvbiBvdmVuLmJha2VDb25maWcod2tzLCBwcmosIGJ1aWxkY2ZnLCBwbGF0Zm9ybSwgZXh0cmFGaWx0ZXJzKQpsb2NhbCBzeXN0ZW0gPSBvcy50YXJnZXQoKQpsb2NhbCBhcmNoaXRlY3R1cmUgPSBuaWwKbG9jYWwgdG9vbHNldCA9IHAuYWN0aW9uLmN1cnJlbnQoKS50b29sc2V0CmlmIHBsYXRmb3JtIHRoZW4Kc3lzdGVtID0gcC5hcGkuY2hlY2tWYWx1ZShwLmZpZWxkcy5zeXN0ZW0sIHBsYXRmb3JtKSBvciBzeXN0ZW0KYXJjaGl0ZWN0dXJlID0gcC5hcGkuY2hlY2tWYWx1ZShwLmZpZWxkcy5hcmNoaXRlY3R1cmUsIHBsYXRmb3JtKSBvciBhcmNoaXRlY3R1cmUKdG9vbHNldCA9IHAuYXBpLmNoZWNrVmFsdWUocC5maWVsZHMudG9vbHNldCwgcGxhdGZvcm0pIG9yIHRvb2xzZXQKZW5kCmxvY2FsIGVudmlyb24gPSB7CndrcyA9IHdrcywKc2xuID0gd2tzLApwcmogPSBwcmosCn0KbG9jYWwgY3R4ID0gY29udGV4dC5uZXcocHJqIG9yIHdrcywgZW52aXJvbikKY3R4LnByb2plY3QgPSBwcmoKY3R4LndvcmtzcGFjZSA9IHdrcwpjdHguc29sdXRpb24gPSB3a3MKY3R4Lmdsb2JhbCA9IHdrcy5nbG9iYWwKY3R4LmJ1aWxkY2ZnID0gYnVpbGRjZmcKY3R4LnBsYXRmb3JtID0gcGxhdGZvcm0KY3R4LmFjdGlvbiA9IF9BQ1RJT04KZW52aXJvbi5jZmcgPSBjdHgKY29udGV4dC5jb3B5RmlsdGVycyhjdHgsIHdrcykKY29udGV4dC5hZGRGaWx0ZXIoY3R4LCAiY29uZmlndXJhdGlvbnMiLCBidWlsZGNmZykKY29udGV4dC5hZGRGaWx0ZXIoY3R4LCAicGxhdGZvcm1zIiwgcGxhdGZvcm0pCmlmIHByaiB0aGVuCmNvbnRleHQuYWRkRmlsdGVyKGN0eCwgImxhbmd1YWdlIiwgcHJqLmxhbmd1YWdlKQplbmQKY3R4LnN5c3RlbSA9IGN0eC5zeXN0ZW0gb3Igc3lzdGVtCmNvbnRleHQuYWRkRmlsdGVyKGN0eCwgInN5c3RlbSIsIG9zLmdldFN5c3RlbVRhZ3MoY3R4LnN5c3RlbSkpCmNvbnRleHQuYWRkRmlsdGVyKGN0eCwgImhvc3QiLCBvcy5nZXRTeXN0ZW1UYWdzKG9zLmhvc3QoKSkpCmN0eC5hcmNoaXRlY3R1cmUgPSBjdHguYXJjaGl0ZWN0dXJlIG9yIGFyY2hpdGVjdHVyZQpjb250ZXh0LmFkZEZpbHRlcihjdHgsICJhcmNoaXRlY3R1cmUiLCBjdHguYXJjaGl0ZWN0dXJlKQpjdHgudG9vbHNldCA9IF9PUFRJT05TLmNjIG9yIGN0eC50b29sc2V0IG9yIHRvb2xzZXQKY29udGV4dC5hZGRGaWx0ZXIoY3R4LCAidG9vbHNldCIsIGN0eC50b29sc2V0KQpjb250ZXh0LmFkZEZpbHRlcihjdHgsICJraW5kIiwgY3R4LmtpbmQpCmNvbnRleHQuYWRkRmlsdGVyKGN0eCwgInNoYXJlZGxpYnR5cGUiLCBjdHguc2hhcmVkbGlidHlwZSkKY29udGV4dC5hZGRGaWx0ZXIoY3R4LCAidGFncyIsIGN0eC50YWdzKQppZiBleHRyYUZpbHRlcnMgdGhlbgpmb3IgaywgdiBpbiBwYWlycyhleHRyYUZpbHRlcnMpIGRvCmNvbnRleHQuYWRkRmlsdGVyKGN0eCwgaywgdikKZW5kCmVuZApjb250ZXh0LmNvbXBpbGUoY3R4KQpjdHgubG9jYXRpb24gPSBjdHgubG9jYXRpb24gb3IgcHJqIGFuZCBwcmoubG9jYXRpb24KY29udGV4dC5iYXNlZGlyKGN0eCwgY3R4LmxvY2F0aW9uKQpvdmVuLmZpbmlzaENvbmZpZyhjdHgpCnJldHVybiBjdHgKZW5kCmZ1bmN0aW9uIG92ZW4uYmFrZUZpbGVzKHByaikKbG9jYWwgZmlsZXMgPSB7fQpmb3IgY2ZnIGluIHAucHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbG9jYWwgZnVuY3Rpb24gYWRkRmlsZShmbmFtZSwgaSkKbG9jYWwgZmNmZyA9IGZpbGVzW2ZuYW1lXQppZiBub3QgZmNmZyB0aGVuCmZjZmcgPSBwLmZpbGVjb25maWcubmV3KGZuYW1lLCBwcmopCmZjZmcub3JkZXIgPSBpCmZpbGVzW2ZuYW1lXSA9IGZjZmcKdGFibGUuaW5zZXJ0KGZpbGVzLCBmY2ZnKQplbmQKcC5maWxlY29uZmlnLmFkZGNvbmZpZyhmY2ZnLCBjZmcpCmVuZAp0YWJsZS5mb3JlYWNoaShjZmcuZmlsZXMsIGFkZEZpbGUpCmlmICNwcmoubnVnZXQgPiAwIGFuZCAoX0FDVElPTiA8ICJ2czIwMTciIG9yIHAucHJvamVjdC5pc2NwcChwcmopKSB0aGVuCmFkZEZpbGUoInBhY2thZ2VzLmNvbmZpZyIpCmVuZAplbmQKdGFibGUuc29ydChmaWxlcywgZnVuY3Rpb24oYSxiKQpyZXR1cm4gYS52cGF0aCA8IGIudnBhdGgKZW5kKQpyZXR1cm4gZmlsZXMKZW5kCmZ1bmN0aW9uIG92ZW4udW5pcXVlU2VxdWVuY2UoZiwgY2ZnLCBzZXEsIGJhc2VzKQp3aGlsZSB0cnVlIGRvCmYuc2VxdWVuY2UgPSBzZXFbY2ZnXSBvciAwCnNlcVtjZmddID0gZi5zZXF1ZW5jZSArIDEKaWYgc2VxW2NmZ10gPT0gMSB0aGVuCmJyZWFrCmVuZAppZiBub3QgYmFzZXNbZi5vYmpuYW1lXSB0aGVuCmJhc2VzW2Yub2JqbmFtZV0gPSB7fQplbmQKaWYgbm90IGJhc2VzW2Yub2JqbmFtZV1bY2ZnXSB0aGVuCmJhc2VzW2Yub2JqbmFtZV1bY2ZnXSA9IDEKYnJlYWsKZW5kCmVuZAplbmQKZnVuY3Rpb24gb3Zlbi5hc3NpZ25PYmplY3RTZXF1ZW5jZXMocHJqKQpsb2NhbCBiYXNlcyA9IHt9CnRhYmxlLmZvcmVhY2hpKHByai5fLmZpbGVzLCBmdW5jdGlvbihmaWxlKQppZiBub3QgcGF0aC5pc25hdGl2ZWZpbGUoZmlsZS5hYnNwYXRoKSB0aGVuCnJldHVybgplbmQKaWYgbm90IGJhc2VzW2ZpbGUuYmFzZW5hbWVdIHRoZW4KYmFzZXNbZmlsZS5iYXNlbmFtZV0gPSB7fQplbmQKbG9jYWwgc2VxdWVuY2VzID0gYmFzZXNbZmlsZS5iYXNlbmFtZV0KZm9yIGNmZyBpbiBwLnByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmxvY2FsIGZjZmcgPSBwLmZpbGVjb25maWcuZ2V0Y29uZmlnKGZpbGUsIGNmZykKaWYgZmNmZyB+PSBuaWwgYW5kIG5vdCBmY2ZnLmZsYWdzLkV4Y2x1ZGVGcm9tQnVpbGQgdGhlbgpvdmVuLnVuaXF1ZVNlcXVlbmNlKGZjZmcsIGNmZywgc2VxdWVuY2VzLCBiYXNlcykKZW5kCmVuZApvdmVuLnVuaXF1ZVNlcXVlbmNlKGZpbGUsIHByaiwgc2VxdWVuY2VzLCBiYXNlcykKZW5kKQplbmQKZnVuY3Rpb24gb3Zlbi5maW5pc2hDb25maWcoY2ZnKQpjZmcubG9uZ25hbWUgPSB0YWJsZS5jb25jYXQoeyBjZmcuYnVpbGRjZmcsIGNmZy5wbGF0Zm9ybSB9LCAifCIpCmNmZy5zaG9ydG5hbWUgPSB0YWJsZS5jb25jYXQoeyBjZmcuYnVpbGRjZmcsIGNmZy5wbGF0Zm9ybSB9LCAiICIpCmNmZy5zaG9ydG5hbWUgPSBjZmcuc2hvcnRuYW1lOmdzdWIoIiAiLCAiXyIpOmxvd2VyKCkKY2ZnLm5hbWUgPSBjZmcubG9uZ25hbWUKaWYgY2ZnLnByb2plY3QgYW5kIGNmZy5raW5kIHRoZW4KY2ZnLmJ1aWxkdGFyZ2V0ID0gcC5jb25maWcuZ2V0dGFyZ2V0aW5mbyhjZmcpCmNmZy5idWlsZHRhcmdldC5yZWxwYXRoID0gcC5wcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBjZmcuYnVpbGR0YXJnZXQuYWJzcGF0aCkKY2ZnLmxpbmt0YXJnZXQgPSBwLmNvbmZpZy5nZXRsaW5raW5mbyhjZmcpCmNmZy5saW5rdGFyZ2V0LnJlbHBhdGggPSBwLnByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGNmZy5saW5rdGFyZ2V0LmFic3BhdGgpCmVuZAplbmQKAAAAPNNJAKAIQgAAAAAAAAAAAAEAAAAKbG9jYWwgcCA9IHByZW1ha2UKaWYgbm90IHAubW9kdWxlcy5hbmRyb2lkIHRoZW4KcmVxdWlyZSAoInZzdHVkaW8iKQpwLm1vZHVsZXMuYW5kcm9pZCA9IHt9CmlmIF9BQ1RJT04gPCAidnMyMDE1IiB0aGVuCmNvbmZpZ3VyYXRpb24geyAiQW5kcm9pZCIgfQpzeXN0ZW0gImFuZHJvaWQiCnRvb2xzZXQgImdjYyIKZW5kCmluY2x1ZGUoInZzYW5kcm9pZF92Y3hwcm9qLmx1YSIpCmluY2x1ZGUoInZzYW5kcm9pZF9zbG4yMDA1Lmx1YSIpCmluY2x1ZGUoInZzYW5kcm9pZF92c3R1ZGlvLmx1YSIpCmluY2x1ZGUoInZzYW5kcm9pZF9hbmRyb2lkcHJvai5sdWEiKQplbmQKcmV0dXJuIHAubW9kdWxlcy5hbmRyb2lkCgAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAAAAAAAQAAAAIAAABsb2NhbCBwID0gcHJlbWFrZQpuZXdhY3Rpb24Kewp0cmlnZ2VyICAgICAgICAgPSAiY29kZWxpdGUiLApzaG9ydG5hbWUgICAgICAgPSAiQ29kZUxpdGUiLApkZXNjcmlwdGlvbiAgICAgPSAiR2VuZXJhdGUgQ29kZUxpdGUgcHJvamVjdCBmaWxlcyIsCnRvb2xzZXQgICAgICAgICA9ICJjbGFuZyIsCnZhbGlkX2tpbmRzICAgICA9IHsgIkNvbnNvbGVBcHAiLCAiV2luZG93ZWRBcHAiLCAiTWFrZWZpbGUiLCAiU2hhcmVkTGliIiwgIlN0YXRpY0xpYiIsICJVdGlsaXR5IiB9LAp2YWxpZF9sYW5ndWFnZXMgPSB7ICJDIiwgIkMrKyIgfSwKdmFsaWRfdG9vbHMgICAgID0gewpjYyA9IHsgImdjYyIsICJjbGFuZyIsICJtc2MiIH0KfSwKb25Xb3Jrc3BhY2UgPSBmdW5jdGlvbih3a3MpCnAubW9kdWxlcy5jb2RlbGl0ZS5nZW5lcmF0ZVdvcmtzcGFjZSh3a3MpCmVuZCwKb25Qcm9qZWN0ID0gZnVuY3Rpb24ocHJqKQpwLm1vZHVsZXMuY29kZWxpdGUuZ2VuZXJhdGVQcm9qZWN0KHByaikKZW5kLApvbkNsZWFuV29ya3NwYWNlID0gZnVuY3Rpb24od2tzKQpwLm1vZHVsZXMuY29kZWxpdGUuY2xlYW5Xb3Jrc3BhY2Uod2tzKQplbmQsCm9uQ2xlYW5Qcm9qZWN0ID0gZnVuY3Rpb24ocHJqKQpwLm1vZHVsZXMuY29kZWxpdGUuY2xlYW5Qcm9qZWN0KHByaikKZW5kLApvbkNsZWFuVGFyZ2V0ID0gZnVuY3Rpb24ocHJqKQpwLm1vZHVsZXMuY29kZWxpdGUuY2xlYW5UYXJnZXQocHJqKQplbmQsCn0KcmV0dXJuIGZ1bmN0aW9uKGNmZykKcmV0dXJuIChfQUNUSU9OID09ICJjb2RlbGl0ZSIpCmVuZAoAdGVybS5ibGFjayAgICAgICA9IDAKdGVybS5ibHVlICAgICAgICA9IDEKdGVybS5ncmVlbiAgICAgICA9IDIKdGVybS5jeWFuICAgICAgICA9IDMKdGVybS5yZWQgICAgICAgICA9IDQKdGVybS5wdXJwbGUgICAgICA9IDUKdGVybS5icm93biAgICAgICA9IDYKdGVybS5saWdodEdyYXkgICA9IDcKdGVybS5ncmF5ICAgICAgICA9IDgKdGVybS5saWdodEJsdWUgICA9IDkKdGVybS5saWdodEdyZWVuICA9IDEwCnRlcm0ubGlnaHRDeWFuICAgPSAxMQp0ZXJtLmxpZ2h0UmVkICAgID0gMTIKdGVybS5tYWdlbnRhICAgICA9IDEzCnRlcm0ueWVsbG93ICAgICAgPSAxNAp0ZXJtLndoaXRlICAgICAgID0gMTUKdGVybS53YXJuaW5nQ29sb3IgPSB0ZXJtLm1hZ2VudGEKdGVybS5lcnJvckNvbG9yICAgPSB0ZXJtLmxpZ2h0UmVkCnRlcm0uaW5mb0NvbG9yICAgID0gdGVybS5saWdodEN5YW4KdGVybS5fY29sb3JTdGFjayA9IHt9CmZ1bmN0aW9uIHRlcm0ucHVzaENvbG9yKGNvbG9yKQpsb2NhbCBvbGQgPSB0ZXJtLmdldFRleHRDb2xvcigpCnRhYmxlLmluc2VydCh0ZXJtLl9jb2xvclN0YWNrLCBvbGQpCnRlcm0uc2V0VGV4dENvbG9yKGNvbG9yKQplbmQKZnVuY3Rpb24gdGVybS5wb3BDb2xvcigpCmlmICN0ZXJtLl9jb2xvclN0YWNrID4gMCB0aGVuCmxvY2FsIGNvbG9yID0gdGFibGUucmVtb3ZlKHRlcm0uX2NvbG9yU3RhY2spCnRlcm0uc2V0VGV4dENvbG9yKGNvbG9yKQplbmQKZW5kCgBsb2NhbCBwID0gcHJlbWFrZQpwLmNyaXRlcmlhID0gY3JpdGVyaWEgIC0tIGNyaXRlcmlhIG5hbWVzcGFjZSBpcyBkZWZpbmVkIGluIEMgaG9zdApsb2NhbCBjcml0ZXJpYSA9IHAuY3JpdGVyaWEKY3JpdGVyaWEuX3ZhbGlkUHJlZml4ZXMgPSB7Cl9hY3Rpb24gPSB0cnVlLAphY3Rpb24gPSB0cnVlLAphcmNoaXRlY3R1cmUgPSB0cnVlLApjb25maWd1cmF0aW9ucyA9IHRydWUsCmZpbGVzID0gdHJ1ZSwKa2luZCA9IHRydWUsCmxhbmd1YWdlID0gdHJ1ZSwKX29wdGlvbnMgPSB0cnVlLApvcHRpb25zID0gdHJ1ZSwKcGxhdGZvcm1zID0gdHJ1ZSwKc2hhcmVkbGlidHlwZSA9IHRydWUsCnN5c3RlbSA9IHRydWUsCnRvb2xzZXQgPSB0cnVlLAp0YWdzID0gdHJ1ZSwKaG9zdCA9IHRydWUsCn0KZnVuY3Rpb24gY3JpdGVyaWEuZmxhdHRlbih0ZXJtcykKbG9jYWwgcmVzdWx0ID0ge30KbG9jYWwgZnVuY3Rpb24gZmxhdHRlbih0ZXJtcykKZm9yIGtleSwgdmFsdWUgaW4gcGFpcnModGVybXMpIGRvCmlmIHR5cGUoa2V5KSA9PSAibnVtYmVyIiB0aGVuCmlmIHR5cGUodmFsdWUpID09ICJ0YWJsZSIgdGhlbgpmbGF0dGVuKHZhbHVlKQplbHNlaWYgdmFsdWUgdGhlbgp0YWJsZS5pbnNlcnQocmVzdWx0LCB2YWx1ZSkKZW5kCmVsc2VpZiB0eXBlKGtleSkgPT0gInN0cmluZyIgdGhlbgpsb2NhbCB3b3JkID0ga2V5IC4uICI6IgppZiB0eXBlKHZhbHVlKSA9PSAidGFibGUiIHRoZW4KbG9jYWwgdmFsdWVzID0gdGFibGUuZmxhdHRlbih2YWx1ZSkKd29yZCA9IHdvcmQgLi4gdGFibGUuY29uY2F0KHZhbHVlcywgIiBvciAiKQplbHNlCndvcmQgPSB3b3JkIC4uIHZhbHVlCmVuZAp0YWJsZS5pbnNlcnQocmVzdWx0LCB3b3JkKQplbHNlCmVycm9yKCJVbmtub3duIGtleSB0eXBlIGluIHRlcm1zLiIpCmVuZAplbmQKZW5kCmZsYXR0ZW4odGVybXMpCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIGNyaXRlcmlhLm5ldyh0ZXJtcywgdW5wcmVmaXhlZCkKdGVybXMgPSBjcml0ZXJpYS5mbGF0dGVuKHRlcm1zKQpsb2NhbCBwYXR0ZXJucyA9IHt9CmZvciBpLCB0ZXJtIGluIGlwYWlycyh0ZXJtcykgZG8KdGVybSA9IHRlcm06bG93ZXIoKQpsb2NhbCBwYXR0ZXJuID0ge30KbG9jYWwgcHJlZml4ID0gaWlmKHVucHJlZml4ZWQsIG5pbCwgImNvbmZpZ3VyYXRpb25zIikKbG9jYWwgd29yZHMgPSB0ZXJtOmV4cGxvZGUoIiBvciAiKQpmb3IgXywgd29yZCBpbiBpcGFpcnMod29yZHMpIGRvCndvcmQsIHByZWZpeCA9IGNyaXRlcmlhLl93b3JkKHdvcmQsIHByZWZpeCkKaWYgcHJlZml4IGFuZCBub3QgY3JpdGVyaWEuX3ZhbGlkUHJlZml4ZXNbcHJlZml4XSB0aGVuCnJldHVybiBuaWwsIHN0cmluZy5mb3JtYXQoIkludmFsaWQgZmllbGQgcHJlZml4ICclcyciLCBwcmVmaXgpCmVuZAppZiBwcmVmaXggdGhlbgpsb2NhbCBmbGQgPSBwLmZpZWxkLmdldChwcmVmaXgpCmlmIGZsZCBhbmQgZmxkLmFsaWFzZXMgdGhlbgp3b3JkWzFdID0gZmxkLmFsaWFzZXNbd29yZFsxXV0gb3Igd29yZFsxXQplbmQKZW5kCnRhYmxlLmluc2VydChwYXR0ZXJuLCB3b3JkKQplbmQKdGFibGUuaW5zZXJ0KHBhdHRlcm5zLCBwYXR0ZXJuKQplbmQKbG9jYWwgY3JpdCA9IHt9CmNyaXQucGF0dGVybnMgPSBwYXR0ZXJucwpjcml0LmRhdGEgPSBjcml0ZXJpYS5fY29tcGlsZShwYXR0ZXJucykKY3JpdC50ZXJtcyA9IHRlcm1zCnJldHVybiBjcml0CmVuZApmdW5jdGlvbiBjcml0ZXJpYS5fd29yZCh3b3JkLCBwcmVmaXgpCmxvY2FsIHdpbGRjYXJkCmxvY2FsIGFzc2VydGlvbiA9IHRydWUKd2hpbGUgKHRydWUpIGRvCmlmIHdvcmQ6c3RhcnRzd2l0aCgibm90ICIpIHRoZW4KYXNzZXJ0aW9uID0gbm90IGFzc2VydGlvbgp3b3JkID0gd29yZDpzdWIoNSkKZWxzZQpsb2NhbCBpID0gd29yZDpmaW5kKCI6IiwgMSwgdHJ1ZSkKaWYgcHJlZml4IGFuZCBpIHRoZW4KcHJlZml4ID0gd29yZDpzdWIoMSwgaSAtIDEpCndvcmQgPSB3b3JkOnN1YihpICsgMSkKZWxzZQp3aWxkY2FyZCA9ICh3b3JkOmZpbmQoIioiLCAxLCB0cnVlKSB+PSBuaWwpCmlmIHdpbGRjYXJkIHRoZW4Kd29yZCA9IHBhdGgud2lsZGNhcmRzKHdvcmQpCmVuZApicmVhawplbmQKZW5kCmVuZApyZXR1cm4geyB3b3JkLCBwcmVmaXgsIGFzc2VydGlvbiwgd2lsZGNhcmQgfSwgcHJlZml4CmVuZApmdW5jdGlvbiBjcml0ZXJpYS5hbGxvd1ByZWZpeChwcmVmaXgpCmNyaXRlcmlhLl92YWxpZFByZWZpeGVzW3ByZWZpeDpsb3dlcigpXSA9IHRydWUKZW5kCgAAbG9jYWwgcCA9IHByZW1ha2UKbG9jYWwgbSA9IHAudnN0dWRpby5mczIwMDUKbG9jYWwgZG4gPSBwLnZzdHVkaW8uZG90bmV0YmFzZQptLmVsZW1lbnRzLnVzZXJQcm9qZWN0UHJvcGVydHlHcm91cCA9IGZ1bmN0aW9uKCkKcmV0dXJuIHsKbS5yZWZlcmVuY2VQYXRoLAp9CmVuZAptLmVsZW1lbnRzLnVzZXJDb25maWdQcm9wZXJ0eUdyb3VwID0gZnVuY3Rpb24oKQpyZXR1cm4gewptLmxvY2FsRGVidWdnZXJDb21tYW5kQXJndW1lbnRzLAp9CmVuZApmdW5jdGlvbiBtLmdlbmVyYXRlVXNlcihwcmopCmxvY2FsIHByakdyb3VwID0gcC5jYXB0dXJlKGZ1bmN0aW9uKCkKcC5wdXNoKDIpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMudXNlclByb2plY3RQcm9wZXJ0eUdyb3VwLCBwcmopCnAucG9wKDIpCmVuZCkKbG9jYWwgY29udGVudHMgPSB7fQpsb2NhbCBzaXplID0gMApmb3IgY2ZnIGluIHAucHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KY29udGVudHNbY2ZnXSA9IHAuY2FwdHVyZShmdW5jdGlvbigpCnAucHVzaCgyKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLnVzZXJDb25maWdQcm9wZXJ0eUdyb3VwLCBjZmcpCnAucG9wKDIpCmVuZCkKc2l6ZSA9IHNpemUgKyAjY29udGVudHNbY2ZnXQplbmQKaWYgI3Byakdyb3VwID4gMCBvciBzaXplID4gMCB0aGVuCnAudnN0dWRpby5wcm9qZWN0RWxlbWVudCgpCmlmICNwcmpHcm91cCA+IDAgdGhlbgpwLnB1c2goJzxQcm9wZXJ0eUdyb3VwPicpCnAub3V0bG4ocHJqR3JvdXApCnAucG9wKCc8L1Byb3BlcnR5R3JvdXA+JykKZW5kCmZvciBjZmcgaW4gcC5wcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwppZiAjY29udGVudHNbY2ZnXSA+IDAgdGhlbgpwLnB1c2goJzxQcm9wZXJ0eUdyb3VwICVzPicsIGRuLmNvbmRpdGlvbihjZmcpKQpwLm91dGxuKGNvbnRlbnRzW2NmZ10pCnAucG9wKCc8L1Byb3BlcnR5R3JvdXA+JykKZW5kCmVuZApwLnBvcCgnPC9Qcm9qZWN0PicpCmVuZAplbmQKZnVuY3Rpb24gbS5yZWZlcmVuY2VQYXRoKHByaikKbG9jYWwgY2ZnID0gcC5wcm9qZWN0LmdldGZpcnN0Y29uZmlnKHByaikKbG9jYWwgcGF0aHMgPSBwLnZzdHVkaW8ucGF0aChwcmosIGNmZy5saWJkaXJzKQppZiAjcGF0aHMgPiAwIHRoZW4KcC53KCc8UmVmZXJlbmNlUGF0aD4lczwvUmVmZXJlbmNlUGF0aD4nLCB0YWJsZS5jb25jYXQocGF0aHMsICI7IikpCmVuZAplbmQKZnVuY3Rpb24gbS5sb2NhbERlYnVnZ2VyQ29tbWFuZEFyZ3VtZW50cyhjZmcpCmlmICNjZmcuZGVidWdhcmdzID4gMCB0aGVuCnAueCgnPFN0YXJ0QXJndW1lbnRzPiVzPC9TdGFydEFyZ3VtZW50cz4nLCB0YWJsZS5jb25jYXQoY2ZnLmRlYnVnYXJncywgIiAiKSkKZW5kCmVuZAoAAABsb2NhbCBwID0gcHJlbWFrZQpsb2NhbCB2c3R1ZGlvID0gcC52c3R1ZGlvCm5ld2FjdGlvbiB7CnRyaWdnZXIgICAgID0gInZzMjAxMiIsCnNob3J0bmFtZSAgID0gIlZpc3VhbCBTdHVkaW8gMjAxMiIsCmRlc2NyaXB0aW9uID0gIkdlbmVyYXRlIFZpc3VhbCBTdHVkaW8gMjAxMiBwcm9qZWN0IGZpbGVzIiwKdGFyZ2V0b3MgPSAid2luZG93cyIsCnRvb2xzZXQgID0gIm1zYy12MTEwIiwKdmFsaWRfa2luZHMgICAgID0geyAiQ29uc29sZUFwcCIsICJXaW5kb3dlZEFwcCIsICJTdGF0aWNMaWIiLCAiU2hhcmVkTGliIiwgIk1ha2VmaWxlIiwgIk5vbmUiLCAiVXRpbGl0eSIgfSwKdmFsaWRfbGFuZ3VhZ2VzID0geyAiQyIsICJDKysiLCAiQyMiLCAiRiMiIH0sCnZhbGlkX3Rvb2xzICAgICA9IHsKY2MgICAgID0geyAibXNjIiAgIH0sCmRvdG5ldCA9IHsgIm1zbmV0IiB9LAp9LApvbldvcmtzcGFjZSA9IGZ1bmN0aW9uKHdrcykKdnN0dWRpby52czIwMDUuZ2VuZXJhdGVTb2x1dGlvbih3a3MpCmVuZCwKb25Qcm9qZWN0ID0gZnVuY3Rpb24ocHJqKQp2c3R1ZGlvLnZzMjAxMC5nZW5lcmF0ZVByb2plY3QocHJqKQplbmQsCm9uUnVsZSA9IGZ1bmN0aW9uKHJ1bGUpCnZzdHVkaW8udnMyMDEwLmdlbmVyYXRlUnVsZShydWxlKQplbmQsCm9uQ2xlYW5Xb3Jrc3BhY2UgPSBmdW5jdGlvbih3a3MpCnZzdHVkaW8uY2xlYW5Tb2x1dGlvbih3a3MpCmVuZCwKb25DbGVhblByb2plY3QgPSBmdW5jdGlvbihwcmopCnZzdHVkaW8uY2xlYW5Qcm9qZWN0KHByaikKZW5kLApvbkNsZWFuVGFyZ2V0ID0gZnVuY3Rpb24ocHJqKQp2c3R1ZGlvLmNsZWFuVGFyZ2V0KHByaikKZW5kLApwYXRoVmFycyA9IHZzdHVkaW8udnMyMDEwLnBhdGhWYXJzLAp2c3R1ZGlvID0gewpzb2x1dGlvblZlcnNpb24gPSAiMTIiLAp2ZXJzaW9uTmFtZSAgICAgPSAiMjAxMiIsCnRhcmdldEZyYW1ld29yayA9ICI0LjUiLAp0b29sc1ZlcnNpb24gICAgPSAiNC4wIiwKfQp9CgQAAAAAAAAAQAAAAGxvY2FsIHAgPSBwcmVtYWtlCnAudG9vbHMuc25jID0ge30KbG9jYWwgc25jID0gcC50b29scy5zbmMKbG9jYWwgZ2NjID0gcC50b29scy5nY2MKc25jLnNoYXJlZCA9IHsKZmxhZ3MgPSB7CkZhdGFsQ29tcGlsZVdhcm5pbmdzID0gIi1YcXVpdD0yIiwKfSwKb3B0aW1pemUgPSB7Ck9mZiA9ICItTzAiLApPbiA9ICItTzEiLApEZWJ1ZyA9ICItT2QiLApGdWxsID0gIi1PMyIsClNpemUgPSAiLU9zIiwKU3BlZWQgPSAiLU8yIiwKfSwKd2FybmluZ3MgPSB7CkV4dHJhID0gIi1YZGlhZz0yIiwKfQp9CnNuYy5jZmxhZ3MgPSB7Cn0KZnVuY3Rpb24gc25jLmdldGNmbGFncyhjZmcpCmxvY2FsIHNoYXJlZCA9IHAuY29uZmlnLm1hcEZsYWdzKGNmZywgc25jLnNoYXJlZCkKbG9jYWwgY2ZsYWdzID0gcC5jb25maWcubWFwRmxhZ3MoY2ZnLCBzbmMuY2ZsYWdzKQpsb2NhbCBmbGFncyA9IHRhYmxlLmpvaW4oc2hhcmVkLCBjZmxhZ3MsIHNuYy5nZXR3YXJuaW5ncyhjZmcpKQpyZXR1cm4gZmxhZ3MKZW5kCnNuYy5jeHhmbGFncyA9IHsKZXhjZXB0aW9uaGFuZGxpbmcgPSB7CkRlZmF1bHQgPSAiLVhjKz1leGNlcHRpb25zIiwKT24gPSAiLVhjKz1leGNlcHRpb25zIiwKU0VIID0gIi1YYy09ZXhjZXB0aW9ucyIsCn0sCnJ0dGkgPSB7CkRlZmF1bHQgPSAiLVhjKz1ydHRpIiwKT24gPSAiLVhjKz1ydHRpIiwKU0VIID0gIi1YYy09cnR0aSIsCn0KfQpmdW5jdGlvbiBzbmMuZ2V0Y3h4ZmxhZ3MoY2ZnKQpsb2NhbCBzaGFyZWQgPSBjb25maWcubWFwRmxhZ3MoY2ZnLCBzbmMuc2hhcmVkKQpsb2NhbCBjeHhmbGFncyA9IGNvbmZpZy5tYXBGbGFncyhjZmcsIHNuYy5jeHhmbGFncykKbG9jYWwgZmxhZ3MgPSB0YWJsZS5qb2luKHNoYXJlZCwgY3h4ZmxhZ3MsIHNuYy5nZXR3YXJuaW5ncyhjZmcpKQpyZXR1cm4gZmxhZ3MKZW5kCmZ1bmN0aW9uIHNuYy5nZXRmb3JjZWluY2x1ZGVzKGNmZykKbG9jYWwgZmxhZ3MgPSBnY2MuZ2V0Zm9yY2VpbmNsdWRlcyhjZmcpCnJldHVybiBmbGFncwplbmQKZnVuY3Rpb24gc25jLmdldGxkZmxhZ3MoY2ZnKQpsb2NhbCBmbGFncyA9IHsgfQppZiBub3QgKGNmZy5zeW1ib2xzID09IHAuT04pIHRoZW4KdGFibGUuaW5zZXJ0KGZsYWdzLCAiLXMiKQplbmQKcmV0dXJuIGZsYWdzCmVuZApzbmMuZ2V0Y3BwZmxhZ3MgPSBnY2MuZ2V0Y3BwZmxhZ3MKc25jLmdldGRlZmluZXMgPSBnY2MuZ2V0ZGVmaW5lcwpzbmMuZ2V0aW5jbHVkZWRpcnMgPSBnY2MuZ2V0aW5jbHVkZWRpcnMKc25jLmdldHJ1bnBhdGhkaXJzID0gZ2NjLmdldHJ1bnBhdGhkaXJzCnNuYy5nZXRMaWJyYXJ5RGlyZWN0b3JpZXMgPSBnY2MuZ2V0TGlicmFyeURpcmVjdG9yaWVzCnNuYy5nZXRsaW5rcyA9IGdjYy5nZXRsaW5rcwpmdW5jdGlvbiBzbmMuZ2V0bWFrZXNldHRpbmdzKGNmZykKcmV0dXJuIG5pbAplbmQKc25jLnRvb2xzID0gewp9CmZ1bmN0aW9uIHNuYy5nZXR0b29sbmFtZShjZmcsIHRvb2wpCmxvY2FsIG5hbWVzID0gc25jLnRvb2xzW2NmZy5hcmNoaXRlY3R1cmVdIG9yIHNuYy50b29sc1tjZmcuc3lzdGVtXSBvciB7fQpyZXR1cm4gbmFtZXNbdG9vbF0KZW5kCgAAAGxvY2FsIHAgPSBwcmVtYWtlCnAudG9vbHMgPSB7fQpmdW5jdGlvbiBwLnRvb2xzLm5vcm1hbGl6ZShpZGVudGlmaWVyKQppZiBpZGVudGlmaWVyOnN0YXJ0c3dpdGgoInYiKSB0aGVuIC0tIFRPRE86IHRoaXMgc2hvdWxkIGJlIGRlcHJlY2F0ZWQ/CmlkZW50aWZpZXIgPSAnbXNjLScgLi4gaWRlbnRpZmllcgplbmQKbG9jYWwgcGFydHMgPSBpZGVudGlmaWVyOmV4cGxvZGUoIi0iLCB0cnVlLCAxKQppZiBwYXJ0c1syXSA9PSBuaWwgdGhlbgpyZXR1cm4gcGFydHNbMV0KZW5kCmlmIHBhcnRzWzFdID09ICJtc2MiIGFuZCB0b251bWJlcihwYXJ0c1syXTpzdWIoMSwzKSkgfj0gbmlsIHRoZW4KcGFydHNbMl0gPSAidiIgLi4gcGFydHNbMl0KZW5kCmlmIHBhcnRzWzJdOnN0YXJ0c3dpdGgoImxsdm0tdnMiKSB0aGVuCnBhcnRzWzJdID0gIkxMVk0tIiAuLiBwYXJ0c1syXTpzdWIoNikKZW5kCnJldHVybiBwYXJ0c1sxXSAuLiAnLScgLi4gcGFydHNbMl0KZW5kCmZ1bmN0aW9uIHAudG9vbHMuY2Fub25pY2FsKGlkZW50aWZpZXIpCmlkZW50aWZpZXIgPSBwLnRvb2xzLm5vcm1hbGl6ZShpZGVudGlmaWVyKQpsb2NhbCBwYXJ0cyA9IGlkZW50aWZpZXI6ZXhwbG9kZSgiLSIsIHRydWUsIDEpCnJldHVybiBwLnRvb2xzW3BhcnRzWzFdXSwgcGFydHNbMl0KZW5kCgAAZnVuY3Rpb24gcGF0aC5hcHBlbmRFeHRlbnNpb24ocCwgZXh0KQppZiBub3QgZXh0IG9yIGV4dCA9PSAiIiB0aGVuCnJldHVybiBwCmVuZApsb2NhbCBlbmRxdW90ZQppZiBwOmVuZHN3aXRoKCciJykgdGhlbgpwID0gcDpzdWIoMSwgLTIpCmVuZHF1b3RlID0gJyInCmVuZAppZiBub3QgcGF0aC5oYXNleHRlbnNpb24ocCwgZXh0KSB0aGVuCnAgPSBwIC4uIGV4dAplbmQKaWYgZW5kcXVvdGUgdGhlbgpwID0gcCAuLiBlbmRxdW90ZQplbmQKcmV0dXJuIHAKZW5kCnBhdGguYXBwZW5kZXh0ZW5zaW9uID0gcGF0aC5hcHBlbmRFeHRlbnNpb24KZnVuY3Rpb24gcGF0aC5nZXRiYXNlbmFtZShwKQpsb2NhbCBuYW1lID0gcGF0aC5nZXRuYW1lKHApCmxvY2FsIGkgPSBuYW1lOmZpbmRsYXN0KCIuIiwgdHJ1ZSkKaWYgKGkpIHRoZW4KcmV0dXJuIG5hbWU6c3ViKDEsIGkgLSAxKQplbHNlCnJldHVybiBuYW1lCmVuZAplbmQKZnVuY3Rpb24gcGF0aC5nZXRkaXJlY3RvcnkocCkKbG9jYWwgaSA9IHA6ZmluZGxhc3QoIi8iLCB0cnVlKQppZiAoaSkgdGhlbgppZiBpID4gMSB0aGVuIGkgPSBpIC0gMSBlbmQKcmV0dXJuIHA6c3ViKDEsIGkpCmVsc2UKcmV0dXJuICIuIgplbmQKZW5kCmZ1bmN0aW9uIHBhdGguZ2V0ZHJpdmUocCkKbG9jYWwgY2gxID0gcDpzdWIoMSwxKQpsb2NhbCBjaDIgPSBwOnN1YigyLDIpCmlmIGNoMiA9PSAiOiIgdGhlbgpyZXR1cm4gY2gxCmVuZAplbmQKZnVuY3Rpb24gcGF0aC5nZXRleHRlbnNpb24ocCkKcCA9IHBhdGguZ2V0bmFtZShwKQpsb2NhbCBpID0gcDpmaW5kbGFzdCgiLiIsIHRydWUpCmlmIChpKSB0aGVuCnJldHVybiBwOnN1YihpKQplbHNlCnJldHVybiAiIgplbmQKZW5kCmZ1bmN0aW9uIHBhdGgucmVtb3ZlZXh0ZW5zaW9uKHApCmxvY2FsIGkgPSBwOmZpbmRsYXN0KCIuIiwgdHJ1ZSkKaWYgKGkpIHRoZW4KaWYgaSA+IDEgdGhlbiBpID0gaSAtIDEgZW5kCnJldHVybiBwOnN1YigxLCBpKQplbHNlCnJldHVybiAiIgplbmQKZW5kCmZ1bmN0aW9uIHBhdGguZ2V0bmFtZShwKQpsb2NhbCBpID0gcDpmaW5kbGFzdCgiWy9cXF0iKQppZiAoaSkgdGhlbgpyZXR1cm4gcDpzdWIoaSArIDEpCmVsc2UKcmV0dXJuIHAKZW5kCmVuZApmdW5jdGlvbiBwYXRoLmhhc2V4dGVuc2lvbihmbmFtZSwgZXh0ZW5zaW9ucykKbG9jYWwgZmV4dCA9IHBhdGguZ2V0ZXh0ZW5zaW9uKGZuYW1lKTpsb3dlcigpCmlmIHR5cGUoZXh0ZW5zaW9ucykgPT0gInRhYmxlIiB0aGVuCmZvciBfLCBleHRlbnNpb24gaW4gcGFpcnMoZXh0ZW5zaW9ucykgZG8KaWYgZmV4dCA9PSBleHRlbnNpb24gdGhlbgpyZXR1cm4gdHJ1ZQplbmQKZW5kCnJldHVybiBmYWxzZQplbHNlCnJldHVybiAoZmV4dCA9PSBleHRlbnNpb25zKQplbmQKZW5kCmZ1bmN0aW9uIHBhdGguaXNhc21maWxlKGZuYW1lKQpyZXR1cm4gcGF0aC5oYXNleHRlbnNpb24oZm5hbWUsIHsgIi5zIiB9KQplbmQKZnVuY3Rpb24gcGF0aC5pc2NmaWxlKGZuYW1lKQpyZXR1cm4gcGF0aC5oYXNleHRlbnNpb24oZm5hbWUsIHsgIi5jIiB9KQpvciBwYXRoLmlzYXNtZmlsZShmbmFtZSktLSBpcyB0aGlzIHJlYWxseSByaWdodD8Kb3IgcGF0aC5pc29iamNmaWxlKGZuYW1lKS0tIHRoZXJlIGlzIGNvZGUgdGhhdCBkZXBlbmRzIG9uIHRoaXMgYmVoYXZpb3VyLCB3aGljaCB3b3VsZCBuZWVkIHRvIGNoYW5nZQplbmQKZnVuY3Rpb24gcGF0aC5pc2NwcGZpbGUoZm5hbWUpCnJldHVybiBwYXRoLmhhc2V4dGVuc2lvbihmbmFtZSwgeyAiLmNjIiwgIi5jcHAiLCAiLmN4eCIgfSkKb3IgcGF0aC5pc29iamNwcGZpbGUoZm5hbWUpLS0gaXMgdGhpcyByZWFsbHkgcmlnaHQ/Cm9yIHBhdGguaXNjZmlsZShmbmFtZSkKZW5kCmZ1bmN0aW9uIHBhdGguaXNvYmpjZmlsZShmbmFtZSkKcmV0dXJuIHBhdGguaGFzZXh0ZW5zaW9uKGZuYW1lLCB7ICIubSIgfSkKZW5kCmZ1bmN0aW9uIHBhdGguaXNvYmpjcHBmaWxlKGZuYW1lKQpyZXR1cm4gcGF0aC5oYXNleHRlbnNpb24oZm5hbWUsIHsgIi5tbSIgfSkKZW5kCmZ1bmN0aW9uIHBhdGguaXNjcHBoZWFkZXIoZm5hbWUpCnJldHVybiBwYXRoLmhhc2V4dGVuc2lvbihmbmFtZSwgeyAiLmgiLCAiLmhoIiwgIi5ocHAiLCAiLmh4eCIgfSkKZW5kCmZ1bmN0aW9uIHBhdGguaXNuYXRpdmVmaWxlKGZuYW1lKQpyZXR1cm4gcGF0aC5pc2NmaWxlKGZuYW1lKQpvciBwYXRoLmlzY3BwZmlsZShmbmFtZSkKb3IgcGF0aC5pc2FzbWZpbGUoZm5hbWUpCm9yIHBhdGguaXNvYmpjZmlsZShmbmFtZSkKb3IgcGF0aC5pc29iamNwcGZpbGUoZm5hbWUpCmVuZApmdW5jdGlvbiBwYXRoLmlzZnJhbWV3b3JrKGZuYW1lKQpyZXR1cm4gcGF0aC5oYXNleHRlbnNpb24oZm5hbWUsICIuZnJhbWV3b3JrIikKZW5kCmZ1bmN0aW9uIHBhdGguaXNsaW5rYWJsZShmbmFtZSkKcmV0dXJuIHBhdGguaGFzZXh0ZW5zaW9uKGZuYW1lLCB7ICIubyIsICIub2JqIiwgIi5hIiwgIi5saWIiLCAiLnNvIiB9KQplbmQKZnVuY3Rpb24gcGF0aC5pc29iamVjdGZpbGUoZm5hbWUpCnJldHVybiBwYXRoLmhhc2V4dGVuc2lvbihmbmFtZSwgeyAiLm8iLCAiLm9iaiIgfSkKZW5kCmZ1bmN0aW9uIHBhdGguaXNyZXNvdXJjZWZpbGUoZm5hbWUpCnJldHVybiBwYXRoLmhhc2V4dGVuc2lvbihmbmFtZSwgIi5yYyIpCmVuZApmdW5jdGlvbiBwYXRoLmlzaWRsZmlsZShmbmFtZSkKcmV0dXJuIHBhdGguaGFzZXh0ZW5zaW9uKGZuYW1lLCAiLmlkbCIpCmVuZApmdW5jdGlvbiBwYXRoLmlzaGxzbGZpbGUoZm5hbWUpCnJldHVybiBwYXRoLmhhc2V4dGVuc2lvbihmbmFtZSwgIi5obHNsIikKZW5kCmZ1bmN0aW9uIHBhdGgucmViYXNlKHAsIG9sZGJhc2UsIG5ld2Jhc2UpCnAgPSBwYXRoLmdldGFic29sdXRlKHBhdGguam9pbihvbGRiYXNlLCBwKSkKcCA9IHBhdGguZ2V0cmVsYXRpdmUobmV3YmFzZSwgcCkKcmV0dXJuIHAKZW5kCmZ1bmN0aW9uIHBhdGgucmVwbGFjZWV4dGVuc2lvbihwLCBuZXdleHQpCmxvY2FsIGV4dCA9IHBhdGguZ2V0ZXh0ZW5zaW9uKHApCmlmIG5vdCBleHQgdGhlbgpyZXR1cm4gcAplbmQKaWYgI25ld2V4dCA+IDAgYW5kIG5vdCBuZXdleHQ6ZmluZGxhc3QoIi4iLCB0cnVlKSB0aGVuCm5ld2V4dCA9ICIuIi4ubmV3ZXh0CmVuZApyZXR1cm4gcDptYXRjaCgiXiguKikiLi5leHQuLiIkIikuLm5ld2V4dAplbmQKZnVuY3Rpb24gcGF0aC5nZXREZWZhdWx0U2VwYXJhdG9yKCkKaWYgb3MuaXN0YXJnZXQoJ3dpbmRvd3MnKSB0aGVuCnJldHVybiAnXFwnCmVsc2UKcmV0dXJuICcvJwplbmQKZW5kCgAAZFFTAGhRUwCQP1MAAAAAAAAAAABsb2NhbCBwID0gcHJlbWFrZQpwLm1vZHVsZXMudnNhbmRyb2lkID0geyB9CmxvY2FsIGFuZHJvaWQgPSBwLm1vZHVsZXMuYW5kcm9pZApsb2NhbCB2c2FuZHJvaWQgPSBwLm1vZHVsZXMudnNhbmRyb2lkCmxvY2FsIHZjMjAxMCA9IHAudnN0dWRpby52YzIwMTAKbG9jYWwgdnN0dWRpbyA9IHAudnN0dWRpbwpsb2NhbCBwcm9qZWN0ID0gcC5wcm9qZWN0CmxvY2FsIGNvbmZpZyA9IHAuY29uZmlnCmxvY2FsIGZ1bmN0aW9uIHNldEJvb2xPcHRpb24ob3B0aW9uTmFtZSwgZmxhZywgdmFsdWUpCmlmIGZsYWcgfj0gbmlsIHRoZW4KdmMyMDEwLmVsZW1lbnQob3B0aW9uTmFtZSwgbmlsLCB2YWx1ZSkKZW5kCmVuZAppZiB2c3R1ZGlvLnZzMjAxMF9hcmNoaXRlY3R1cmVzIH49IG5pbCB0aGVuCmlmIF9BQ1RJT04gPj0gInZzMjAxNSIgdGhlbgp2c3R1ZGlvLnZzMjAxMF9hcmNoaXRlY3R1cmVzLmFybSA9ICJBUk0iCmVsc2UKdnN0dWRpby52czIwMTBfYXJjaGl0ZWN0dXJlcy5hbmRyb2lkID0gIkFuZHJvaWQiCmVuZAplbmQKcHJlbWFrZS5vdmVycmlkZSh2YzIwMTAuZWxlbWVudHMsICJnbG9iYWxzIiwgZnVuY3Rpb24gKG9sZGZuLCBwcmopCmxvY2FsIGVsZW1lbnRzID0gb2xkZm4ocHJqKQppZiBwcmouc3lzdGVtID09IHByZW1ha2UuQU5EUk9JRCBhbmQgcHJqLmtpbmQgfj0gcHJlbWFrZS5QQUNLQUdJTkcgdGhlbgpsb2NhbCBwb3MgPSB0YWJsZS5pbmRleG9mKGVsZW1lbnRzLCB2YzIwMTAuaWdub3JlV2FybkR1cGxpY2F0ZUZpbGVuYW1lKQp0YWJsZS5yZW1vdmUoZWxlbWVudHMsIHBvcykKZWxlbWVudHMgPSB0YWJsZS5qb2luKGVsZW1lbnRzLCB7CmFuZHJvaWQuYW5kcm9pZEFwcGxpY2F0aW9uVHlwZQp9KQplbmQKcmV0dXJuIGVsZW1lbnRzCmVuZCkKcHJlbWFrZS5vdmVycmlkZSh2YzIwMTAuZWxlbWVudHMsICJnbG9iYWxzQ29uZGl0aW9uIiwgZnVuY3Rpb24gKG9sZGZuLCBwcmosIGNmZykKbG9jYWwgZWxlbWVudHMgPSBvbGRmbihwcmosIGNmZykKaWYgY2ZnLnN5c3RlbSA9PSBwcmVtYWtlLkFORFJPSUQgYW5kIGNmZy5zeXN0ZW0gfj0gcHJqLnN5c3RlbSBhbmQgY2ZnLmtpbmQgfj0gcHJlbWFrZS5QQUNLQUdJTkcgdGhlbgplbGVtZW50cyA9IHRhYmxlLmpvaW4oZWxlbWVudHMsIHsKYW5kcm9pZC5hbmRyb2lkQXBwbGljYXRpb25UeXBlCn0pCmVuZApyZXR1cm4gZWxlbWVudHMKZW5kKQpmdW5jdGlvbiBhbmRyb2lkLmFuZHJvaWRBcHBsaWNhdGlvblR5cGUoY2ZnKQp2YzIwMTAuZWxlbWVudCgiS2V5d29yZCIsIG5pbCwgIkFuZHJvaWQiKQp2YzIwMTAuZWxlbWVudCgiUm9vdE5hbWVzcGFjZSIsIG5pbCwgIiVzIiwgY2ZnLnByb2plY3QubmFtZSkKdmMyMDEwLmVsZW1lbnQoIk1pbmltdW1WaXN1YWxTdHVkaW9WZXJzaW9uIiwgbmlsLCAiMTUuMCIpIC0tIFVzZSAxNC4wIGZvciBWUzIwMTU/CnZjMjAxMC5lbGVtZW50KCJBcHBsaWNhdGlvblR5cGUiLCBuaWwsICJBbmRyb2lkIikKaWYgX0FDVElPTiA+PSAidnMyMDE3IiB0aGVuCnZjMjAxMC5lbGVtZW50KCJBcHBsaWNhdGlvblR5cGVSZXZpc2lvbiIsIG5pbCwgIjMuMCIpCmVsc2VpZiBfQUNUSU9OID49ICJ2czIwMTUiIHRoZW4KdmMyMDEwLmVsZW1lbnQoIkFwcGxpY2F0aW9uVHlwZVJldmlzaW9uIiwgbmlsLCAiMi4wIikKZWxzZQp2YzIwMTAuZWxlbWVudCgiQXBwbGljYXRpb25UeXBlUmV2aXNpb24iLCBuaWwsICIxLjAiKQplbmQKZW5kCnByZW1ha2Uub3ZlcnJpZGUodmMyMDEwLmVsZW1lbnRzLCAiY29uZmlndXJhdGlvblByb3BlcnRpZXMiLCBmdW5jdGlvbihvbGRmbiwgY2ZnKQpsb2NhbCBlbGVtZW50cyA9IG9sZGZuKGNmZykKaWYgY2ZnLmtpbmQgfj0gcC5VVElMSVRZIGFuZCBjZmcua2luZCB+PSBwLlBBQ0tBR0lORyBhbmQgY2ZnLnN5c3RlbSA9PSBwcmVtYWtlLkFORFJPSUQgdGhlbgp0YWJsZS5yZW1vdmUoZWxlbWVudHMsIHRhYmxlLmluZGV4b2YoZWxlbWVudHMsIHZjMjAxMC5jaGFyYWN0ZXJTZXQpKQp0YWJsZS5yZW1vdmUoZWxlbWVudHMsIHRhYmxlLmluZGV4b2YoZWxlbWVudHMsIHZjMjAxMC53aG9sZVByb2dyYW1PcHRpbWl6YXRpb24pKQp0YWJsZS5yZW1vdmUoZWxlbWVudHMsIHRhYmxlLmluZGV4b2YoZWxlbWVudHMsIHZjMjAxMC53aW5kb3dzU0RLRGVza3RvcEFSTVN1cHBvcnQpKQplbGVtZW50cyA9IHRhYmxlLmpvaW4oZWxlbWVudHMsIHsKYW5kcm9pZC5hbmRyb2lkQVBJTGV2ZWwsCmFuZHJvaWQuYW5kcm9pZFN0bFR5cGUsCn0pCmlmIF9BQ1RJT04gPj0gInZzMjAxNSIgdGhlbgplbGVtZW50cyA9IHRhYmxlLmpvaW4oZWxlbWVudHMsIHsKYW5kcm9pZC50aHVtYk1vZGUsCn0pCmVuZAplbmQKcmV0dXJuIGVsZW1lbnRzCmVuZCkKZnVuY3Rpb24gYW5kcm9pZC5hbmRyb2lkQVBJTGV2ZWwoY2ZnKQppZiBjZmcuYW5kcm9pZGFwaWxldmVsIH49IG5pbCB0aGVuCnZjMjAxMC5lbGVtZW50KCJBbmRyb2lkQVBJTGV2ZWwiLCBuaWwsICJhbmRyb2lkLSIgLi4gY2ZnLmFuZHJvaWRhcGlsZXZlbCkKZW5kCmVuZApmdW5jdGlvbiBhbmRyb2lkLmFuZHJvaWRTdGxUeXBlKGNmZykKaWYgY2ZnLnN0bCB+PSBuaWwgdGhlbgpsb2NhbCBzdGxUeXBlID0gewpbIm5vbmUiXSA9ICJzeXN0ZW0iLApbImdhYmkrKyJdID0gImdhYmkrKyIsClsic3RscG9ydCJdID0gInN0bHBvcnQiLApbImdudXN0bCJdID0gImdudXN0bCIsClsibGliYysrIl0gPSAiYysrIiwKfQpsb2NhbCBwb3N0Zml4ID0gaWlmKGNmZy5zdGF0aWNydW50aW1lID09ICJPbiIsICJfc3RhdGljIiwgIl9zaGFyZWQiKQpsb2NhbCBydW50aW1lTGliID0gaWlmKGNmZy5zdGwgPT0gIm5vbmUiLCAic3lzdGVtIiwgc3RsVHlwZVtjZmcuc3RsXSAuLiBwb3N0Zml4KQppZiBfQUNUSU9OID49ICJ2czIwMTUiIHRoZW4KdmMyMDEwLmVsZW1lbnQoIlVzZU9mU3RsIiwgbmlsLCBydW50aW1lTGliKQplbHNlCnZjMjAxMC5lbGVtZW50KCJBbmRyb2lkU3RsVHlwZSIsIG5pbCwgcnVudGltZUxpYikKZW5kCmVuZAplbmQKZnVuY3Rpb24gYW5kcm9pZC50aHVtYk1vZGUoY2ZnKQppZiBjZmcudGh1bWJtb2RlIH49IG5pbCB0aGVuCmxvY2FsIHRodW1iTW9kZSA9CnsKdGh1bWIgPSAiVGh1bWIiLAphcm0gPSAiQVJNIiwKZGlzYWJsZWQgPSAiRGlzYWJsZWQiLAp9CnZjMjAxMC5lbGVtZW50KCJUaHVtYk1vZGUiLCBuaWwsIHRodW1iTW9kZVtjZmcudGh1bWJtb2RlXSkKZW5kCmVuZApwcmVtYWtlLm92ZXJyaWRlKHZjMjAxMCwgInBsYXRmb3JtVG9vbHNldCIsIGZ1bmN0aW9uKG9sZGZuLCBjZmcpCmlmIGNmZy5zeXN0ZW0gfj0gcHJlbWFrZS5BTkRST0lEIHRoZW4KcmV0dXJuIG9sZGZuKGNmZykKZW5kCmlmIF9BQ1RJT04gPj0gInZzMjAxNSIgdGhlbgpsb2NhbCBnY2NfbWFwID0gewpbIjQuNiJdID0gIkdDQ180XzYiLApbIjQuOCJdID0gIkdDQ180XzgiLApbIjQuOSJdID0gIkdDQ180XzkiLAp9CmxvY2FsIGNsYW5nX21hcCA9IHsKWyIzLjQiXSA9ICJDbGFuZ18zXzQiLApbIjMuNSJdID0gIkNsYW5nXzNfNSIsClsiMy42Il0gPSAiQ2xhbmdfM182IiwKWyIzLjgiXSA9ICJDbGFuZ18zXzgiLApbIjUuMCJdID0gIkNsYW5nXzVfMCIsCn0KaWYgY2ZnLnRvb2xjaGFpbnZlcnNpb24gfj0gbmlsIHRoZW4KbG9jYWwgbWFwID0gaWlmKGNmZy50b29sc2V0ID09ICJnY2MiLCBnY2NfbWFwLCBjbGFuZ19tYXApCmxvY2FsIHRzICA9IG1hcFtjZmcudG9vbGNoYWludmVyc2lvbl0KaWYgdHMgPT0gbmlsIHRoZW4KcC5lcnJvcignSW52YWxpZCB0b29sY2hhaW52ZXJzaW9uIGZvciB0aGUgc2VsZWN0ZWQgdG9vbHNldCAoJXMpLicsIGNmZy50b29sc2V0IG9yICJjbGFuZyIpCmVuZAp2YzIwMTAuZWxlbWVudCgiUGxhdGZvcm1Ub29sc2V0IiwgbmlsLCB0cykKZW5kCmVsc2UKbG9jYWwgYXJjaE1hcCA9IHsKYXJtID0gImFybXY1dGUiLCAtLSBzaG91bGQgYXJtNSBiZSBkZWZhdWx0PyB2cy1hbmRyb2lkIHRoaW5rcyBzby4uLgphcm01ID0gImFybXY1dGUiLAphcm03ID0gImFybXY3LWEiLAptaXBzID0gIm1pcHMiLAp4ODYgPSAieDg2IiwKfQpsb2NhbCBhcmNoID0gY2ZnLmFyY2hpdGVjdHVyZSBvciAiYXJtIgppZiAoY2ZnLmFyY2hpdGVjdHVyZSB+PSBuaWwgb3IgY2ZnLnRvb2xjaGFpbnZlcnNpb24gfj0gbmlsKSBhbmQgYXJjaE1hcFthcmNoXSB+PSBuaWwgdGhlbgpsb2NhbCBkZWZhdWx0VG9vbHNldE1hcCA9IHsKYXJtID0gImFybS1saW51eC1hbmRyb2lkZWFiaS0iLAphcm12NSA9ICJhcm0tbGludXgtYW5kcm9pZGVhYmktIiwKYXJtdjcgPSAiYXJtLWxpbnV4LWFuZHJvaWRlYWJpLSIsCmFhcmNoNjQgPSAiYWFyY2g2NC1saW51eC1hbmRyb2lkLSIsCm1pcHMgPSAibWlwc2VsLWxpbnV4LWFuZHJvaWQtIiwKbWlwczY0ID0gIm1pcHM2NGVsLWxpbnV4LWFuZHJvaWQtIiwKeDg2ID0gIng4Ni0iLAp4ODZfNjQgPSAieDg2XzY0LSIsCn0KbG9jYWwgdG9vbHNldCA9IGRlZmF1bHRUb29sc2V0TWFwW2FyY2hdCmlmIGNmZy50b29sc2V0ID09ICJjbGFuZyIgdGhlbgplcnJvcigiVGhlIGNsYW5nIHRvb2xzZXQgaXMgbm90IHlldCBzdXBwb3J0ZWQgYnkgdnMtYW5kcm9pZCIsIDIpCnRvb2xzZXQgPSB0b29sc2V0IC4uICJjbGFuZyIKZWxzZWlmIGNmZy50b29sc2V0IGFuZCBjZmcudG9vbHNldCB+PSAiZ2NjIiB0aGVuCmVycm9yKCJUb29sc2V0IG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGFuZHJvaWQgTkRLOiAiIC4uIGNmZy50b29sc2V0LCAyKQplbmQKbG9jYWwgdmVyc2lvbiA9IGNmZy50b29sY2hhaW52ZXJzaW9uIG9yIGlpZihjZmcudG9vbHNldCA9PSAiY2xhbmciLCAiMy41IiwgIjQuOSIpCnZjMjAxMC5lbGVtZW50KCJQbGF0Zm9ybVRvb2xzZXQiLCBuaWwsIHRvb2xzZXQgLi4gdmVyc2lvbikKdmMyMDEwLmVsZW1lbnQoIkFuZHJvaWRBcmNoIiwgbmlsLCBhcmNoTWFwW2FyY2hdKQplbmQKZW5kCmVuZCkKcHJlbWFrZS5vdmVycmlkZSh2YzIwMTAuZWxlbWVudHMsICJjbENvbXBpbGUiLCBmdW5jdGlvbihvbGRmbiwgY2ZnKQpsb2NhbCBlbGVtZW50cyA9IG9sZGZuKGNmZykKaWYgY2ZnLnN5c3RlbSA9PSBwcmVtYWtlLkFORFJPSUQgdGhlbgplbGVtZW50cyA9IHRhYmxlLmpvaW4oZWxlbWVudHMsIHsKYW5kcm9pZC5kZWJ1Z0luZm9ybWF0aW9uLAphbmRyb2lkLnN0cmljdEFsaWFzaW5nLAphbmRyb2lkLmZwdSwKYW5kcm9pZC5waWMsCmFuZHJvaWQuc2hvcnRFbnVtcywKYW5kcm9pZC5jU3RhbmRhcmQsCmFuZHJvaWQuY3BwU3RhbmRhcmQsCn0pCmlmIF9BQ1RJT04gPj0gInZzMjAxNSIgdGhlbgp0YWJsZS5yZW1vdmUoZWxlbWVudHMsIHRhYmxlLmluZGV4b2YoZWxlbWVudHMsIHZjMjAxMC5kZWJ1Z0luZm9ybWF0aW9uRm9ybWF0KSkKdGFibGUucmVtb3ZlKGVsZW1lbnRzLCB0YWJsZS5pbmRleG9mKGVsZW1lbnRzLCB2YzIwMTAubGFuZ3VhZ2VTdGFuZGFyZCkpCnRhYmxlLnJlbW92ZShlbGVtZW50cywgdGFibGUuaW5kZXhvZihlbGVtZW50cywgdmMyMDEwLm11bHRpUHJvY2Vzc29yQ29tcGlsYXRpb24pKQp0YWJsZS5yZW1vdmUoZWxlbWVudHMsIHRhYmxlLmluZGV4b2YoZWxlbWVudHMsIHZjMjAxMC5taW5pbWFsUmVidWlsZCkpCnRhYmxlLnJlcGxhY2UoZWxlbWVudHMsIHZjMjAxMC5lbmFibGVFbmhhbmNlZEluc3RydWN0aW9uU2V0LCBhbmRyb2lkLmVuYWJsZUVuaGFuY2VkSW5zdHJ1Y3Rpb25TZXQpCnRhYmxlLnJlcGxhY2UoZWxlbWVudHMsIHZjMjAxMC5wcmVjb21waWxlZEhlYWRlckZpbGUsIGFuZHJvaWQucHJlY29tcGlsZWRIZWFkZXJGaWxlKQplbmQKZW5kCnJldHVybiBlbGVtZW50cwplbmQpCmZ1bmN0aW9uIGFuZHJvaWQucHJlY29tcGlsZWRIZWFkZXJGaWxlKGZpbGVOYW1lLCBjZmcpCnZjMjAxMC5lbGVtZW50KCJQcmVjb21waWxlZEhlYWRlckZpbGUiLCBuaWwsICIlcyIsIHBhdGguZ2V0YWJzb2x1dGUocGF0aC5yZWJhc2UoZmlsZU5hbWUsIGNmZy5iYXNlZGlyLCBjZmcubG9jYXRpb24pKSkKZW5kCmZ1bmN0aW9uIGFuZHJvaWQuZGVidWdJbmZvcm1hdGlvbihjZmcpCmlmIGNmZy5mbGFncy5TeW1ib2xzIHRoZW4KX3AoMywnPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj50cnVlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+JykKZW5kCmVuZApmdW5jdGlvbiBhbmRyb2lkLnN0cmljdEFsaWFzaW5nKGNmZykKaWYgY2ZnLnN0cmljdGFsaWFzaW5nIH49IG5pbCB0aGVuCnZjMjAxMC5lbGVtZW50KCJTdHJpY3RBbGlhc2luZyIsIG5pbCwgaWlmKGNmZy5zdHJpY3RhbGlhc2luZyA9PSAiT2ZmIiwgImZhbHNlIiwgInRydWUiKSkKZW5kCmVuZApmdW5jdGlvbiBhbmRyb2lkLmZwdShjZmcpCmlmIGNmZy5mcHUgfj0gbmlsIHRoZW4KX3AoMywnPFNvZnRGbG9hdD50cnVlPC9Tb2Z0RmxvYXQ+JywgaWlmKGNmZy5mcHUgPT0gIlNvZnR3YXJlIiwgInRydWUiLCAiZmFsc2UiKSkKZW5kCmVuZApmdW5jdGlvbiBhbmRyb2lkLnBpYyhjZmcpCmlmIGNmZy5waWMgfj0gbmlsIHRoZW4KdmMyMDEwLmVsZW1lbnQoIlBvc2l0aW9uSW5kZXBlbmRlbnRDb2RlIiwgbmlsLCBpaWYoY2ZnLnBpYyA9PSAiT24iLCAidHJ1ZSIsICJmYWxzZSIpKQplbmQKZW5kCmZ1bmN0aW9uIGFuZHJvaWQudmVyYm9zZUNvbXBpbGVyKGNmZykKc2V0Qm9vbE9wdGlvbigiVmVyYm9zZSIsIGNmZy5mbGFncy5WZXJib3NlQ29tcGlsZXIsICJ0cnVlIikKZW5kCmZ1bmN0aW9uIGFuZHJvaWQudW5kZWZpbmVBbGxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyhjZmcpCnNldEJvb2xPcHRpb24oIlVuZGVmaW5lQWxsUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMiLCBjZmcuZmxhZ3MuVW5kZWZpbmVBbGxQcmVwcm9jZXNzb3JEZWZpbml0aW9ucywgInRydWUiKQplbmQKZnVuY3Rpb24gYW5kcm9pZC5zaG93SW5jbHVkZXMoY2ZnKQpzZXRCb29sT3B0aW9uKCJTaG93SW5jbHVkZXMiLCBjZmcuZmxhZ3MuU2hvd0luY2x1ZGVzLCAidHJ1ZSIpCmVuZApmdW5jdGlvbiBhbmRyb2lkLmRhdGFMZXZlbExpbmtpbmcoY2ZnKQpzZXRCb29sT3B0aW9uKCJEYXRhTGV2ZWxMaW5raW5nIiwgY2ZnLmZsYWdzLkRhdGFMZXZlbExpbmtpbmcsICJ0cnVlIikKZW5kCmZ1bmN0aW9uIGFuZHJvaWQuc2hvcnRFbnVtcyhjZmcpCnNldEJvb2xPcHRpb24oIlVzZVNob3J0RW51bXMiLCBjZmcuZmxhZ3MuVXNlU2hvcnRFbnVtcywgInRydWUiKQplbmQKZnVuY3Rpb24gYW5kcm9pZC5jU3RhbmRhcmQoY2ZnKQpsb2NhbCBjX2xhbmdtYXAgPSB7ClsiQzk4Il0gICA9ICJjOTgiLApbIkM5OSJdICAgPSAiYzk5IiwKWyJDMTEiXSAgID0gImMxMSIsClsiZ251OTkiXSA9ICJnbnU5OSIsClsiZ251MTEiXSA9ICJnbnUxMSIsCn0KaWYgY19sYW5nbWFwW2NmZy5jZGlhbGVjdF0gfj0gbmlsIHRoZW4KdmMyMDEwLmVsZW1lbnQoIkNMYW5ndWFnZVN0YW5kYXJkIiwgbmlsLCBjX2xhbmdtYXBbY2ZnLmNkaWFsZWN0XSkKZW5kCmVuZApmdW5jdGlvbiBhbmRyb2lkLmNwcFN0YW5kYXJkKGNmZykKbG9jYWwgY3BwX2xhbmdtYXAgPSB7ClsiQysrOTgiXSAgID0gImMrKzk4IiwKWyJDKysxMSJdICAgPSAiYysrMTEiLApbIkMrKzE0Il0gICA9ICJjKysxeSIsClsiQysrMTciXSAgID0gImMrKzF6IiwKWyJDKytsYXRlc3QiXSA9ICJjKysxeiIsClsiZ251Kys5OCJdID0gImdudSsrOTgiLApbImdudSsrMTEiXSA9ICJnbnUrKzExIiwKWyJnbnUrKzE0Il0gPSAiZ251KysxeSIsClsiZ251KysxNyJdID0gImdudSsrMXoiLAp9CmlmIGNwcF9sYW5nbWFwW2NmZy5jcHBkaWFsZWN0XSB+PSBuaWwgdGhlbgp2YzIwMTAuZWxlbWVudCgiQ3BwTGFuZ3VhZ2VTdGFuZGFyZCIsIG5pbCwgY3BwX2xhbmdtYXBbY2ZnLmNwcGRpYWxlY3RdKQplbmQKZW5kCnAub3ZlcnJpZGUodmMyMDEwLCAiYWRkaXRpb25hbENvbXBpbGVPcHRpb25zIiwgZnVuY3Rpb24ob2xkZm4sIGNmZywgY29uZGl0aW9uKQppZiBjZmcuc3lzdGVtID09IHAuQU5EUk9JRCB0aGVuCmxvY2FsIG9wdHMgPSBjZmcuYnVpbGRvcHRpb25zCmlmIGNmZy5kaXNhYmxld2FybmluZ3MgYW5kICNjZmcuZGlzYWJsZXdhcm5pbmdzID4gMCB0aGVuCmZvciBfLCB3YXJuaW5nIGluIGlwYWlycyhjZmcuZGlzYWJsZXdhcm5pbmdzKSBkbwp0YWJsZS5pbnNlcnQob3B0cywgJy1Xbm8tJyAuLiB3YXJuaW5nKQplbmQKZW5kCmlmIGNmZy52aXNpYmlsaXR5IH49IG5pbCB0aGVuCnRhYmxlLmluc2VydChvcHRzLCBwLnRvb2xzLmdjYy5jeHhmbGFncy52aXNpYmlsaXR5W2NmZy52aXNpYmlsaXR5XSkKZW5kCmlmICNvcHRzID4gMCB0aGVuCm9wdHMgPSB0YWJsZS5jb25jYXQob3B0cywgIiAiKQp2YzIwMTAuZWxlbWVudCgiQWRkaXRpb25hbE9wdGlvbnMiLCBjb25kaXRpb24sICclcyAlJShBZGRpdGlvbmFsT3B0aW9ucyknLCBvcHRzKQplbmQKZWxzZQpvbGRmbihjZmcsIGNvbmRpdGlvbikKZW5kCmVuZCkKcC5vdmVycmlkZSh2YzIwMTAsICJ3YXJuaW5nTGV2ZWwiLCBmdW5jdGlvbihvbGRmbiwgY2ZnKQppZiBfQUNUSU9OID49ICJ2czIwMTUiIGFuZCBjZmcuc3lzdGVtID09IHAuQU5EUk9JRCBhbmQgY2ZnLndhcm5pbmdzIGFuZCBjZmcud2FybmluZ3Mgfj0gIk9mZiIgdGhlbgp2YzIwMTAuZWxlbWVudCgiV2FybmluZ0xldmVsIiwgbmlsLCAiRW5hYmxlQWxsV2FybmluZ3MiKQplbHNlaWYgKF9BQ1RJT04gPj0gInZzMjAxNSIgYW5kIGNmZy5zeXN0ZW0gPT0gcC5BTkRST0lEIGFuZCBjZmcud2FybmluZ3MpIG9yIG5vdCAoX0FDVElPTiA+PSAidnMyMDE1IiBhbmQgY2ZnLnN5c3RlbSA9PSBwLkFORFJPSUQpIHRoZW4Kb2xkZm4oY2ZnKQplbmQKZW5kKQpwcmVtYWtlLm92ZXJyaWRlKHZjMjAxMCwgImNsQ29tcGlsZVByZXByb2Nlc3NvckRlZmluaXRpb25zIiwgZnVuY3Rpb24ob2xkZm4sIGNmZywgY29uZGl0aW9uKQppZiBjZmcuc3lzdGVtID09IHAuQU5EUk9JRCB0aGVuCnZjMjAxMC5wcmVwcm9jZXNzb3JEZWZpbml0aW9ucyhjZmcsIGNmZy5kZWZpbmVzLCBmYWxzZSwgY29uZGl0aW9uKQplbHNlCm9sZGZuKGNmZywgY29uZGl0aW9uKQplbmQKZW5kKQpwcmVtYWtlLm92ZXJyaWRlKHZjMjAxMCwgImV4Y2VwdGlvbkhhbmRsaW5nIiwgZnVuY3Rpb24ob2xkZm4sIGNmZywgY29uZGl0aW9uKQppZiBjZmcuc3lzdGVtID09IHAuQU5EUk9JRCB0aGVuCmxvY2FsIGV4Y2VwdGlvbnMgPSB7Ck9uID0gIkVuYWJsZWQiLApPZmYgPSAiRGlzYWJsZWQiLApVbndpbmRUYWJsZXMgPSAiVW53aW5kVGFibGVzIiwKfQppZiBfQUNUSU9OID49ICJ2czIwMTUiIHRoZW4KaWYgZXhjZXB0aW9uc1tjZmcuZXhjZXB0aW9uaGFuZGxpbmddIH49IG5pbCB0aGVuCnZjMjAxMC5lbGVtZW50KCJFeGNlcHRpb25IYW5kbGluZyIsIGNvbmRpdGlvbiwgZXhjZXB0aW9uc1tjZmcuZXhjZXB0aW9uaGFuZGxpbmddKQplbmQKZWxzZQppZiBjZmcuZXhjZXB0aW9uaGFuZGxpbmcgPT0gcHJlbWFrZS5PTiB0aGVuCnZjMjAxMC5lbGVtZW50KCJHY2NFeGNlcHRpb25IYW5kbGluZyIsIGNvbmRpdGlvbiwgInRydWUiKQplbmQKZW5kCmVsc2UKb2xkZm4oY2ZnLCBjb25kaXRpb24pCmVuZAplbmQpCmZ1bmN0aW9uIGFuZHJvaWQuZW5hYmxlRW5oYW5jZWRJbnN0cnVjdGlvblNldChjZmcpCmlmIGNmZy52ZWN0b3JleHRlbnNpb25zID09ICJORU9OIiB0aGVuCnZjMjAxMC5lbGVtZW50KCJFbmFibGVOZW9uQ29kZWdlbiIsIG5pbCwgInRydWUiKQplbmQKZW5kCnByZW1ha2Uub3ZlcnJpZGUodmMyMDEwLCAicnVudGltZVR5cGVJbmZvIiwgZnVuY3Rpb24ob2xkZm4sIGNmZywgY29uZGl0aW9uKQppZiBjZmcuc3lzdGVtID09IHByZW1ha2UuQU5EUk9JRCB0aGVuCmlmIGNmZy5ydHRpID09IHByZW1ha2UuT04gdGhlbgp2YzIwMTAuZWxlbWVudCgiUnVudGltZVR5cGVJbmZvIiwgY29uZGl0aW9uLCAidHJ1ZSIpCmVuZAplbHNlCm9sZGZuKGNmZywgY29uZGl0aW9uKQplbmQKZW5kKQpwcmVtYWtlLm92ZXJyaWRlKHZjMjAxMCwgImdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbiIsIGZ1bmN0aW9uKG9sZGZuLCBjZmcpCmlmIGNmZy5zeXN0ZW0gfj0gcHJlbWFrZS5BTkRST0lEIHRoZW4Kb2xkZm4oY2ZnKQplbmQKZW5kKQpwcmVtYWtlLm92ZXJyaWRlKHZjMjAxMC5lbGVtZW50cywgIml0ZW1EZWZpbml0aW9uR3JvdXAiLCBmdW5jdGlvbihvbGRmbiwgY2ZnKQpsb2NhbCBlbGVtZW50cyA9IG9sZGZuKGNmZykKaWYgY2ZnLnN5c3RlbSA9PSBwcmVtYWtlLkFORFJPSUQgYW5kIF9BQ1RJT04gPCAidnMyMDE1IiB0aGVuCmVsZW1lbnRzID0gdGFibGUuam9pbihlbGVtZW50cywgewphbmRyb2lkLmFudEJ1aWxkLAp9KQplbmQKcmV0dXJuIGVsZW1lbnRzCmVuZCkKZnVuY3Rpb24gYW5kcm9pZC5hbnRQYWNrYWdlKGNmZykKcC5wdXNoKCc8QW50UGFja2FnZT4nKQppZiBjZmcuYW5kcm9pZGFwcGxpYm5hbWUgfj0gbmlsIHRoZW4KdmMyMDEwLmVsZW1lbnQoIkFuZHJvaWRBcHBMaWJOYW1lIiwgbmlsLCBjZmcuYW5kcm9pZGFwcGxpYm5hbWUpCmVsc2UKdmMyMDEwLmVsZW1lbnQoIkFuZHJvaWRBcHBMaWJOYW1lIiwgbmlsLCAiJChSb290TmFtZXNwYWNlKSIpCmVuZApwLnBvcCgnPC9BbnRQYWNrYWdlPicpCmVuZApmdW5jdGlvbiBhbmRyb2lkLmFudEJ1aWxkKGNmZykKaWYgY2ZnLmtpbmQgPT0gcHJlbWFrZS5TVEFUSUNMSUIgb3IgY2ZnLmtpbmQgPT0gcHJlbWFrZS5TSEFSRURMSUIgdGhlbgpyZXR1cm4KZW5kCl9wKDIsJzxBbnRCdWlsZD4nKQpfcCgzLCc8QW50QnVpbGRUeXBlPiVzPC9BbnRCdWlsZFR5cGU+JywgaWlmKHByZW1ha2UuY29uZmlnLmlzRGVidWdCdWlsZChjZmcpLCAiRGVidWciLCAiUmVsZWFzZSIpKQpfcCgyLCc8L0FudEJ1aWxkPicpCmVuZApwcmVtYWtlLm92ZXJyaWRlKHZjMjAxMCwgImFkZGl0aW9uYWxDb21waWxlT3B0aW9ucyIsIGZ1bmN0aW9uKG9sZGZuLCBjZmcsIGNvbmRpdGlvbikKaWYgY2ZnLnN5c3RlbSA9PSBwcmVtYWtlLkFORFJPSUQgdGhlbgp2c2FuZHJvaWQuYWRkaXRpb25hbE9wdGlvbnMoY2ZnLCBjb25kaXRpb24pCmVuZApyZXR1cm4gb2xkZm4oY2ZnLCBjb25kaXRpb24pCmVuZCkKcHJlbWFrZS5vdmVycmlkZSh2YzIwMTAuZWxlbWVudHMsICJ1c2VyIiwgZnVuY3Rpb24ob2xkZm4sIGNmZykKaWYgY2ZnLnN5c3RlbSA9PSBwLkFORFJPSUQgdGhlbgpyZXR1cm4ge30KZWxzZQpyZXR1cm4gb2xkZm4oY2ZnKQplbmQKZW5kKQpmdW5jdGlvbiB2c2FuZHJvaWQuYWRkaXRpb25hbE9wdGlvbnMoY2ZnKQppZiBfQUNUSU9OID49ICJ2czIwMTUiIHRoZW4KZWxzZQpsb2NhbCBmdW5jdGlvbiBhbHJlYWR5SGFzKHQsIGtleSkKZm9yIF8sIGsgaW4gaXBhaXJzKHQpIGRvCmlmIHN0cmluZy5maW5kKGssIGtleSkgdGhlbgpyZXR1cm4gdHJ1ZQplbmQKZW5kCnJldHVybiBmYWxzZQplbmQKaWYgbm90IGNmZy5hcmNoaXRlY3R1cmUgb3Igc3RyaW5nLnN0YXJ0c3dpdGgoY2ZnLmFyY2hpdGVjdHVyZSwgImFybSIpIHRoZW4KaWYgY2ZnLmZwdSB+PSAiU29mdHdhcmUiIGFuZCBjZmcuZmxvYXRhYmkgfj0gInNvZnQiIHRoZW4KaWYgY2ZnLmFyY2hpdGVjdHVyZSA9PSAiYXJtdjciIHRoZW4KaWYgbm90IGFscmVhZHlIYXMoY2ZnLmJ1aWxkb3B0aW9ucywgIi1tZnB1PSIpIHRoZW4KaWYgY2ZnLnZlY3RvcmV4dGVuc2lvbnMgPT0gIk5FT04iIHRoZW4KdGFibGUuaW5zZXJ0KGNmZy5idWlsZG9wdGlvbnMsICItbWZwdT1uZW9uIikKZWxzZWlmIGNmZy5mcHUgPT0gIkhhcmR3YXJlIiBvciBjZmcuZmxvYXRhYmkgPT0gInNvZnRmcCIgb3IgY2ZnLmZsb2F0YWJpID09ICJoYXJkIiB0aGVuCnRhYmxlLmluc2VydChjZmcuYnVpbGRvcHRpb25zLCAiLW1mcHU9dmZwdjMtZDE2IikgLS0gZDE2IGlzIHRoZSBsb3dlc3QgY29tbW9uIGRlbm9taW5hdG9yCmVuZAplbmQKaWYgbm90IGFscmVhZHlIYXMoY2ZnLmJ1aWxkb3B0aW9ucywgIi1tZmxvYXQtYWJpPSIpIHRoZW4KaWYgY2ZnLmZsb2F0YWJpID09ICJoYXJkIiB0aGVuCnRhYmxlLmluc2VydChjZmcuYnVpbGRvcHRpb25zLCAiLW1mbG9hdC1hYmk9aGFyZCIpCmVsc2UKdGFibGUuaW5zZXJ0KGNmZy5idWlsZG9wdGlvbnMsICItbWZsb2F0LWFiaT1zb2Z0ZnAiKQplbmQKZW5kCmVsc2UKaWYgbm90IGFscmVhZHlIYXMoY2ZnLmJ1aWxkb3B0aW9ucywgIi1tZnB1PSIpIHRoZW4KaWYgY2ZnLmZwdSA9PSAiSGFyZHdhcmUiIG9yIGNmZy5mbG9hdGFiaSA9PSAic29mdGZwIiBvciBjZmcuZmxvYXRhYmkgPT0gImhhcmQiIHRoZW4KdGFibGUuaW5zZXJ0KGNmZy5idWlsZG9wdGlvbnMsICItbWZwdT12ZnAiKQplbmQKZW5kCmlmIG5vdCBhbHJlYWR5SGFzKGNmZy5idWlsZG9wdGlvbnMsICItbWZsb2F0LWFiaT0iKSB0aGVuCmlmIGNmZy5mbG9hdGFiaSA9PSAic29mdGZwIiB0aGVuCnRhYmxlLmluc2VydChjZmcuYnVpbGRvcHRpb25zLCAiLW1mbG9hdC1hYmk9c29mdGZwIikKZWxzZWlmIGNmZy5mbG9hdGFiaSA9PSAiaGFyZCIgdGhlbgp0YWJsZS5pbnNlcnQoY2ZnLmJ1aWxkb3B0aW9ucywgIi1tZmxvYXQtYWJpPWhhcmQiKQplbmQKZW5kCmVuZAplbHNlaWYgY2ZnLmZsb2F0YWJpID09ICJzb2Z0IiB0aGVuCnRhYmxlLmluc2VydChjZmcuYnVpbGRvcHRpb25zLCAiLW1mbG9hdC1hYmk9c29mdCIpCmVuZAppZiBjZmcuZW5kaWFuID09ICJMaXR0bGUiIHRoZW4KdGFibGUuaW5zZXJ0KGNmZy5idWlsZG9wdGlvbnMsICItbWxpdHRsZS1lbmRpYW4iKQplbHNlaWYgY2ZnLmVuZGlhbiA9PSAiQmlnIiB0aGVuCnRhYmxlLmluc2VydChjZmcuYnVpbGRvcHRpb25zLCAiLW1iaWctZW5kaWFuIikKZW5kCmVsc2VpZiBjZmcuYXJjaGl0ZWN0dXJlID09ICJtaXBzIiB0aGVuCmlmIGNmZy52ZWN0b3JleHRlbnNpb25zID09ICJNWFUiIHRoZW4KdGFibGUuaW5zZXJ0KGNmZy5idWlsZG9wdGlvbnMsICItbW14dSIpCmVuZAplbHNlaWYgY2ZnLmFyY2hpdGVjdHVyZSA9PSAieDg2IiB0aGVuCmVuZAplbmQKZW5kCnAub3ZlcnJpZGUodmMyMDEwLCAic3ViU3lzdGVtIiwgZnVuY3Rpb24ob2xkZm4sIGNmZykKaWYgY2ZnLnN5c3RlbSB+PSBwLkFORFJPSUQgdGhlbgpyZXR1cm4gb2xkZm4oY2ZnKQplbmQKZW5kKQpwLm92ZXJyaWRlKHZjMjAxMCwgImFkZGl0aW9uYWxEZXBlbmRlbmNpZXMiLCBmdW5jdGlvbihvbGRmbiwgY2ZnLCBleHBsaWNpdCkKaWYgY2ZnLnN5c3RlbSA9PSBwLkFORFJPSUQgdGhlbgpsb2NhbCBsaW5rcyA9IHt9CmlmIGV4cGxpY2l0IHRoZW4KbGlua3MgPSBjb25maWcuZ2V0bGlua3MoY2ZnLCAic2libGluZ3MiLCAiZnVsbHBhdGgiKQplbmQKbG9jYWwgc3lzdGVtID0gY29uZmlnLmdldGxpbmtzKGNmZywgInN5c3RlbSIsICJuYW1lIikKZm9yIGkgPSAxLCAjc3lzdGVtIGRvCmxvY2FsIGxpbmsgPSBzeXN0ZW1baV0KdGFibGUuaW5zZXJ0KGxpbmtzLCBsaW5rKQplbmQKaWYgI2xpbmtzID4gMCB0aGVuCmxpbmtzID0gcGF0aC50cmFuc2xhdGUodGFibGUuY29uY2F0KGxpbmtzLCAiOyIpKQp2YzIwMTAuZWxlbWVudCgiTGlicmFyeURlcGVuZGVuY2llcyIsIG5pbCwgIiUlKExpYnJhcnlEZXBlbmRlbmNpZXMpOyVzIiwgbGlua3MpCmVuZAplbHNlCnJldHVybiBvbGRmbihjZmcsIGV4cGxpY2l0KQplbmQKZW5kKQpmdW5jdGlvbiBhbmRyb2lkLnVzZU11bHRpVG9vbFRhc2soY2ZnKQppZiBjZmcuZmxhZ3MuTXVsdGlQcm9jZXNzb3JDb21waWxlIHRoZW4KdmMyMDEwLmVsZW1lbnQoIlVzZU11bHRpVG9vbFRhc2siLCBuaWwsICJ0cnVlIikKZW5kCmVuZApwcmVtYWtlLm92ZXJyaWRlKHZjMjAxMC5lbGVtZW50cywgIm91dHB1dFByb3BlcnRpZXMiLCBmdW5jdGlvbihvbGRmbiwgY2ZnKQppZiBjZmcuc3lzdGVtID09IHAuQU5EUk9JRCB0aGVuCnJldHVybiB0YWJsZS5qb2luKG9sZGZuKGNmZyksIHsKYW5kcm9pZC51c2VNdWx0aVRvb2xUYXNrLAp9KQplbHNlCnJldHVybiBvbGRmbihjZmcpCmVuZAplbmQpCnAub3ZlcnJpZGUodmMyMDEwLCAib3V0RGlyIiwgZnVuY3Rpb24ob2xkZm4sIGNmZykKaWYgY2ZnLnN5c3RlbSB+PSBwLkFORFJPSUQgdGhlbgpyZXR1cm4gb2xkZm4oY2ZnKQplbmQKZW5kKQpsb2NhbCBwID0gcHJlbWFrZQpsb2NhbCBnbWFrZTIgPSBwLm1vZHVsZXMuZ21ha2UyCmdtYWtlMi5tYWtlZmlsZSAgPSB7fQpsb2NhbCBtYWtlZmlsZSAgID0gZ21ha2UyLm1ha2VmaWxlCmxvY2FsIHByb2plY3QgICAgPSBwLnByb2plY3QKbG9jYWwgY29uZmlnICAgICA9IHAuY29uZmlnCmxvY2FsIGZpbGVjb25maWcgPSBwLmZpbGVjb25maWcKbWFrZWZpbGUuZWxlbWVudHMgPSB7fQptYWtlZmlsZS5lbGVtZW50cy5tYWtlZmlsZSA9IGZ1bmN0aW9uKHByaikKcmV0dXJuIHsKZ21ha2UyLmhlYWRlciwKZ21ha2UyLnBob255UnVsZXMsCm1ha2VmaWxlLmNvbmZpZ3MsCm1ha2VmaWxlLnRhcmdldFJ1bGVzCn0KZW5kCmZ1bmN0aW9uIG1ha2VmaWxlLmdlbmVyYXRlKHByaikKcC5lb2woIlxuIikKcC5jYWxsQXJyYXkobWFrZWZpbGUuZWxlbWVudHMubWFrZWZpbGUsIHByaikKZW5kCm1ha2VmaWxlLmVsZW1lbnRzLmNvbmZpZ3VyYXRpb24gPSBmdW5jdGlvbihjZmcpCnJldHVybiB7CmdtYWtlMi50YXJnZXQsCmdtYWtlMi5idWlsZENvbW1hbmRzLApnbWFrZTIuY2xlYW5Db21tYW5kcywKfQplbmQKZnVuY3Rpb24gbWFrZWZpbGUuY29uZmlncyhwcmopCmxvY2FsIGZpcnN0ID0gdHJ1ZQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmxvY2FsIHRvb2xzZXQgPSBwLnRvb2xzW2NmZy50b29sc2V0IG9yICJnY2MiXQppZiBub3QgdG9vbHNldCB0aGVuCmVycm9yKCJJbnZhbGlkIHRvb2xzZXQgJyIgLi4gY2ZnLnRvb2xzZXQgLi4gIiciKQplbmQKaWYgZmlyc3QgdGhlbgpfeCgnaWZlcSAoJChjb25maWcpLCVzKScsIGNmZy5zaG9ydG5hbWUpCmZpcnN0ID0gZmFsc2UKZWxzZQpfeCgnZWxzZSBpZmVxICgkKGNvbmZpZyksJXMpJywgY2ZnLnNob3J0bmFtZSkKZW5kCnAuY2FsbEFycmF5KG1ha2VmaWxlLmVsZW1lbnRzLmNvbmZpZ3VyYXRpb24sIGNmZywgdG9vbHNldCkKX3AoJycpCmVuZAppZiBub3QgZmlyc3QgdGhlbgpfcCgnZWxzZScpCl9wKCcgICQoZXJyb3IgImludmFsaWQgY29uZmlndXJhdGlvbiAkKGNvbmZpZykiKScpCl9wKCdlbmRpZicpCl9wKCcnKQplbmQKZW5kCmZ1bmN0aW9uIG1ha2VmaWxlLnRhcmdldFJ1bGVzKHByaikKX3AoJyQoVEFSR0VUKTonKQpfcCgnXHQkKEJVSUxEQ01EUyknKQpfcCgnJykKX3AoJ2NsZWFuOicpCl9wKCdcdCQoQ0xFQU5DTURTKScpCl9wKCcnKQplbmQKZnVuY3Rpb24gZ21ha2UyLmJ1aWxkQ29tbWFuZHMoY2ZnKQpfcCgnICBkZWZpbmUgQlVJTERDTURTJykKbG9jYWwgc3RlcHMgPSBjZmcuYnVpbGRjb21tYW5kcwppZiAjc3RlcHMgPiAwIHRoZW4Kc3RlcHMgPSBvcy50cmFuc2xhdGVDb21tYW5kc0FuZFBhdGhzKHN0ZXBzLCBjZmcucHJvamVjdC5iYXNlZGlyLCBjZmcucHJvamVjdC5sb2NhdGlvbikKX3AoJ1x0QGVjaG8gUnVubmluZyBidWlsZCBjb21tYW5kcycpCl9wKCdcdCVzJywgdGFibGUuaW1wbG9kZShzdGVwcywgIiIsICIiLCAiXG5cdCIpKQplbmQKX3AoJyAgZW5kZWYnKQplbmQKZnVuY3Rpb24gZ21ha2UyLmNsZWFuQ29tbWFuZHMoY2ZnKQpfcCgnICBkZWZpbmUgQ0xFQU5DTURTJykKbG9jYWwgc3RlcHMgPSBjZmcuY2xlYW5jb21tYW5kcwppZiAjc3RlcHMgPiAwIHRoZW4Kc3RlcHMgPSBvcy50cmFuc2xhdGVDb21tYW5kc0FuZFBhdGhzKHN0ZXBzLCBjZmcucHJvamVjdC5iYXNlZGlyLCBjZmcucHJvamVjdC5sb2NhdGlvbikKX3AoJ1x0QGVjaG8gUnVubmluZyBjbGVhbiBjb21tYW5kcycpCl9wKCdcdCVzJywgdGFibGUuaW1wbG9kZShzdGVwcywgIiIsICIiLCAiXG5cdCIpKQplbmQKX3AoJyAgZW5kZWYnKQplbmQKAABsUVMAcFFTAHhRUwAAAAAA0DpTALg/UwB4UVMAeENTAOhSUwBsb2NhbCBwID0gcHJlbWFrZQpwLnZzdHVkaW8ubnVnZXQyMDEwID0ge30KbG9jYWwgdnN0dWRpbyA9IHAudnN0dWRpbwpsb2NhbCBudWdldDIwMTAgPSBwLnZzdHVkaW8ubnVnZXQyMDEwCmxvY2FsIGRuMjAwNSA9IHAudnN0dWRpby5kb3RuZXRiYXNlCmxvY2FsIHBhY2thZ2VBUElJbmZvcyA9IHt9CmxvY2FsIHBhY2thZ2VTb3VyY2VJbmZvcyA9IHt9CmZ1bmN0aW9uIG51Z2V0MjAxMC5wYWNrYWdlSWQocGFja2FnZSkKcmV0dXJuIHBhY2thZ2U6c3ViKDAsIHBhY2thZ2U6ZmluZCgiOiIpIC0gMSkKZW5kCmZ1bmN0aW9uIG51Z2V0MjAxMC5wYWNrYWdlVmVyc2lvbihwYWNrYWdlKQpyZXR1cm4gcGFja2FnZTpzdWIocGFja2FnZTpmaW5kKCI6IikgKyAxLCAtMSkKZW5kCmZ1bmN0aW9uIG51Z2V0MjAxMC5wYWNrYWdlRnJhbWV3b3JrKHByaikKaWYgcC5wcm9qZWN0LmlzZG90bmV0KHByaikgdGhlbgpsb2NhbCBjZmcgPSBwLnByb2plY3QuZ2V0Zmlyc3Rjb25maWcocHJqKQpsb2NhbCBhY3Rpb24gPSBwLmFjdGlvbi5jdXJyZW50KCkKbG9jYWwgZnJhbWV3b3JrID0gY2ZnLmRvdG5ldGZyYW1ld29yayBvciBhY3Rpb24udnN0dWRpby50YXJnZXRGcmFtZXdvcmsKcmV0dXJuIGRuMjAwNS5mb3JtYXROdUdldEZyYW1ld29ya1ZlcnNpb24oZnJhbWV3b3JrKQplbHNlCnJldHVybiAibmF0aXZlIgplbmQKZW5kCmZ1bmN0aW9uIG51Z2V0MjAxMC5zdXBwb3J0c1BhY2thZ2VSZWZlcmVuY2VzKHByaikKcmV0dXJuIF9BQ1RJT04gPj0gInZzMjAxNyIgYW5kIHAucHJvamVjdC5pc2RvdG5ldChwcmopCmVuZApmdW5jdGlvbiBudWdldDIwMTAucGFja2FnZUFQSUluZm8ocHJqLCBwYWNrYWdlKQpsb2NhbCBpZCA9IG51Z2V0MjAxMC5wYWNrYWdlSWQocGFja2FnZSkKbG9jYWwgdmVyc2lvbiA9IG51Z2V0MjAxMC5wYWNrYWdlVmVyc2lvbihwYWNrYWdlKQpsb2NhbCBmdW5jdGlvbiBleGFtaW5lUGFja2FnZUZyb21DYWNoZSgpCmlmIG5vdCBvcy5pc2hvc3QoIndpbmRvd3MiKSB0aGVuCnJldHVybgplbmQKbG9jYWwgY2FjaGVQYXRoID0gcGF0aC50cmFuc2xhdGUocGF0aC5qb2luKG9zLmdldGVudigidXNlcnByb2ZpbGUiKSwgIi5udWdldC9wYWNrYWdlcyIsIGlkKSkKaWYgb3MuaXNkaXIoY2FjaGVQYXRoKSB0aGVuCmxvY2FsIHBhY2thZ2VBUElJbmZvID0ge30KcHJpbnRmKCJFeGFtaW5pbmcgY2FjaGVkIE51R2V0IHBhY2thZ2UgJyVzJy4uLiIsIGlkKQppby5mbHVzaCgpCmxvY2FsIHZlcnNpb25QYXRoID0gcGF0aC50cmFuc2xhdGUocGF0aC5qb2luKGNhY2hlUGF0aCwgdmVyc2lvbikpCmxvY2FsIG51c3BlY1BhdGggPSBwYXRoLnRyYW5zbGF0ZShwYXRoLmpvaW4odmVyc2lvblBhdGgsIGlkIC4uICIubnVzcGVjIikpCmlmIG5vdCBvcy5pc2ZpbGUobnVzcGVjUGF0aCkgdGhlbgpyZXR1cm4KZW5kCmxvY2FsIG51c3BlYyA9IGlvLnJlYWRmaWxlKG51c3BlY1BhdGgpCmlmIG5vdCBudXNwZWMgdGhlbgpyZXR1cm4KZW5kCnBhY2thZ2VBUElJbmZvLnZlcmJhdGltVmVyc2lvbiA9IG51c3BlYzptYXRjaCgiPHZlcnNpb24+KC4rKTwvdmVyc2lvbj4iKQpwYWNrYWdlQVBJSW5mby52ZXJzaW9uID0gdmVyc2lvbgppZiBub3QgcGFja2FnZUFQSUluZm8udmVyYmF0aW1WZXJzaW9uIHRoZW4KcmV0dXJuCmVuZAppZiBwLnByb2plY3QuaXNkb3RuZXQocHJqKSB0aGVuCnBhY2thZ2VBUElJbmZvLnBhY2thZ2VFbnRyaWVzID0ge30KZm9yIF8sIGZpbGUgaW4gaXBhaXJzKG9zLm1hdGNoZmlsZXMocGF0aC50cmFuc2xhdGUocGF0aC5qb2luKHZlcnNpb25QYXRoLCAiKioiKSkpKSBkbwpsb2NhbCBleHRlbnNpb24gPSBwYXRoLmdldGV4dGVuc2lvbihmaWxlKQppZiBleHRlbnNpb24gfj0gIi5udXBrZyIgYW5kIGV4dGVuc2lvbiB+PSAiLnNoYTUxMiIgdGhlbgp0YWJsZS5pbnNlcnQocGFja2FnZUFQSUluZm8ucGFja2FnZUVudHJpZXMsIHBhdGgudHJhbnNsYXRlKHBhdGguZ2V0cmVsYXRpdmUodmVyc2lvblBhdGgsIGZpbGUpKSkKZW5kCmVuZAppZiAjcGFja2FnZUFQSUluZm8ucGFja2FnZUVudHJpZXMgPT0gMCB0aGVuCnJldHVybgplbmQKaWYgbnVzcGVjOm1hdGNoKCI8ZnJhbWV3b3JrQXNzZW1ibGllcz4oLispPC9mcmFtZXdvcmtBc3NlbWJsaWVzPiIpIHRoZW4KcC53YXJuKCJOdUdldCBwYWNrYWdlICclcycgbWF5IGRlcGVuZCBvbiAuTkVUIEZyYW1ld29yayBhc3NlbWJsaWVzIC0gcGFja2FnZSBkZXBlbmRlbmNpZXMgYXJlIGN1cnJlbnRseSB1bmltcGxlbWVudGVkIiwgaWQpCmVuZAplbmQKaWYgbnVzcGVjOm1hdGNoKCI8ZGVwZW5kZW5jaWVzPiguKyk8L2RlcGVuZGVuY2llcz4iKSB0aGVuCnAud2FybigiTnVHZXQgcGFja2FnZSAnJXMnIG1heSBkZXBlbmQgb24gb3RoZXIgcGFja2FnZXMgLSBwYWNrYWdlIGRlcGVuZGVuY2llcyBhcmUgY3VycmVudGx5IHVuaW1wbGVtZW50ZWQiLCBpZCkKZW5kCnBhY2thZ2VBUElJbmZvc1twYWNrYWdlXSA9IHBhY2thZ2VBUElJbmZvCmVuZAplbmQKaWYgbm90IHBhY2thZ2VBUElJbmZvc1twYWNrYWdlXSB0aGVuCmV4YW1pbmVQYWNrYWdlRnJvbUNhY2hlKCkKZW5kCmlmIG5vdCBwYWNrYWdlQVBJSW5mb3NbcGFja2FnZV0gdGhlbgppZiBub3QgcGFja2FnZVNvdXJjZUluZm9zW3Byai5udWdldHNvdXJjZV0gdGhlbgpsb2NhbCBwYWNrYWdlU291cmNlSW5mbyA9IHt9CnByaW50ZigiRXhhbWluaW5nIE51R2V0IHBhY2thZ2Ugc291cmNlICclcycuLi4iLCBwcmoubnVnZXRzb3VyY2UpCmlvLmZsdXNoKCkKbG9jYWwgcmVzcG9uc2UsIGVyciwgY29kZSA9IGh0dHAuZ2V0KHByai5udWdldHNvdXJjZSkKaWYgZXJyIH49ICJPSyIgdGhlbgpwLmVycm9yKCJOdUdldCBBUEkgZXJyb3IgKCVkKVxuJXMiLCBjb2RlLCBlcnIpCmVuZApyZXNwb25zZSwgZXJyID0ganNvbi5kZWNvZGUocmVzcG9uc2UpCmlmIG5vdCByZXNwb25zZSB0aGVuCnAuZXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgTnVHZXQgQVBJIHJlc3BvbnNlICglcykiLCBlcnIpCmVuZAppZiBub3QgcmVzcG9uc2UucmVzb3VyY2VzIHRoZW4KcC5lcnJvcigiRmFpbGVkIHRvIHVuZGVyc3RhbmQgTnVHZXQgQVBJIHJlc3BvbnNlIChubyByZXNvdXJjZXMgaW4gcmVzcG9uc2UpIiwgaWQpCmVuZApsb2NhbCBwYWNrYWdlRGlzcGxheU1ldGFkYXRhVXJpVGVtcGxhdGUsIGNhdGFsb2cKZm9yIF8sIHJlc291cmNlIGluIGlwYWlycyhyZXNwb25zZS5yZXNvdXJjZXMpIGRvCmlmIG5vdCByZXNvdXJjZVsiQGlkIl0gdGhlbgpwLmVycm9yKCJGYWlsZWQgdG8gdW5kZXJzdGFuZCBOdUdldCBBUEkgcmVzcG9uc2UgKG5vIHJlc291cmNlWydAaWQnXSkiKQplbmQKaWYgbm90IHJlc291cmNlWyJAdHlwZSJdIHRoZW4KcC5lcnJvcigiRmFpbGVkIHRvIHVuZGVyc3RhbmQgTnVHZXQgQVBJIHJlc3BvbnNlIChubyByZXNvdXJjZVsnQHR5cGUnXSkiKQplbmQKaWYgcmVzb3VyY2VbIkB0eXBlIl06ZmluZCgiUGFja2FnZURpc3BsYXlNZXRhZGF0YVVyaVRlbXBsYXRlIikgPT0gMSB0aGVuCnBhY2thZ2VEaXNwbGF5TWV0YWRhdGFVcmlUZW1wbGF0ZSA9IHJlc291cmNlCmVuZAppZiByZXNvdXJjZVsiQHR5cGUiXTpmaW5kKCJDYXRhbG9nIikgPT0gMSB0aGVuCmNhdGFsb2cgPSByZXNvdXJjZQplbmQKZW5kCmlmIG5vdCBwYWNrYWdlRGlzcGxheU1ldGFkYXRhVXJpVGVtcGxhdGUgdGhlbgpwLmVycm9yKCJGYWlsZWQgdG8gdW5kZXJzdGFuZCBOdUdldCBBUEkgcmVzcG9uc2UgKG5vIFBhY2thZ2VEaXNwbGF5TWV0YWRhdGFVcmlUZW1wbGF0ZSByZXNvdXJjZSkiKQplbmQKaWYgbm90IGNhdGFsb2cgdGhlbgppZiBwcmoubnVnZXRzb3VyY2UgPT0gImh0dHBzOi8vYXBpLm51Z2V0Lm9yZy92My9pbmRleC5qc29uIiB0aGVuCnAuZXJyb3IoIkZhaWxlZCB0byB1bmRlcnN0YW5kIE51R2V0IEFQSSByZXNwb25zZSAobm8gQ2F0YWxvZyByZXNvdXJjZSkiKQplbHNlCnAuZXJyb3IoIlBhY2thZ2Ugc291cmNlIGlzIG5vdCBhIE51R2V0IGdhbGxlcnkgLSBub24tZ2FsbGVyeSBzb3VyY2VzIGFyZSBjdXJyZW50bHkgdW5zdXBwb3J0ZWQiLCBwcmoubnVnZXRzb3VyY2UsIHByai5uYW1lKQplbmQKZW5kCnBhY2thZ2VTb3VyY2VJbmZvLnBhY2thZ2VEaXNwbGF5TWV0YWRhdGFVcmlUZW1wbGF0ZSA9IHBhY2thZ2VEaXNwbGF5TWV0YWRhdGFVcmlUZW1wbGF0ZQpwYWNrYWdlU291cmNlSW5mby5jYXRhbG9nID0gY2F0YWxvZwpwYWNrYWdlU291cmNlSW5mb3NbcHJqLm51Z2V0c291cmNlXSA9IHBhY2thZ2VTb3VyY2VJbmZvCmVuZApsb2NhbCBwYWNrYWdlQVBJSW5mbyA9IHt9CnByaW50ZigiRXhhbWluaW5nIE51R2V0IHBhY2thZ2UgJyVzJy4uLiIsIGlkKQppby5mbHVzaCgpCmxvY2FsIHJlc3BvbnNlLCBlcnIsIGNvZGUgPSBodHRwLmdldChwYWNrYWdlU291cmNlSW5mb3NbcHJqLm51Z2V0c291cmNlXS5wYWNrYWdlRGlzcGxheU1ldGFkYXRhVXJpVGVtcGxhdGVbIkBpZCJdOmdzdWIoIntpZCUtbG93ZXJ9IiwgaWQ6bG93ZXIoKSkpCmlmIGVyciB+PSAiT0siIHRoZW4KaWYgY29kZSA9PSA0MDQgdGhlbgpwLmVycm9yKCJOdUdldCBwYWNrYWdlICclcycgZm9yIHByb2plY3QgJyVzJyBjb3VsZG4ndCBiZSBmb3VuZCBpbiB0aGUgcmVwb3NpdG9yeSIsIGlkLCBwcmoubmFtZSkKZWxzZQpwLmVycm9yKCJOdUdldCBBUEkgZXJyb3IgKCVkKVxuJXMiLCBjb2RlLCBlcnIpCmVuZAplbmQKcmVzcG9uc2UsIGVyciA9IGpzb24uZGVjb2RlKHJlc3BvbnNlKQppZiBub3QgcmVzcG9uc2UgdGhlbgpwLmVycm9yKCJGYWlsZWQgdG8gZGVjb2RlIE51R2V0IEFQSSByZXNwb25zZSAoJXMpIiwgZXJyKQplbmQKaWYgbm90IHJlc3BvbnNlLml0ZW1zIG9yICNyZXNwb25zZS5pdGVtcyA9PSAwIHRoZW4KcC5lcnJvcigiRmFpbGVkIHRvIHVuZGVyc3RhbmQgTnVHZXQgQVBJIHJlc3BvbnNlIChubyBwYWdlcyBmb3IgcGFja2FnZSAnJXMnKSIsIGlkKQplbmQKbG9jYWwgaXRlbXMgPSB7fQpmb3IgXywgcGFnZSBpbiBpcGFpcnMocmVzcG9uc2UuaXRlbXMpIGRvCmlmIG5vdCBwYWdlLml0ZW1zIG9yICNwYWdlLml0ZW1zID09IDAgdGhlbgpwLmVycm9yKCJGYWlsZWQgdG8gdW5kZXJzdGFuZCBOdUdldCBBUEkgcmVzcG9uc2UgKGdvdCBhIHBhZ2Ugd2l0aCBubyBpdGVtcyBmb3IgcGFja2FnZSAnJXMnKSIsIGlkKQplbmQKZm9yIF8sIGl0ZW0gaW4gaXBhaXJzKHBhZ2UuaXRlbXMpIGRvCnRhYmxlLmluc2VydChpdGVtcywgaXRlbSkKZW5kCmVuZApsb2NhbCB2ZXJzaW9ucyA9IHt9CmZvciBfLCBpdGVtIGluIGlwYWlycyhpdGVtcykgZG8KaWYgbm90IGl0ZW0uY2F0YWxvZ0VudHJ5IHRoZW4KcC5lcnJvcigiRmFpbGVkIHRvIHVuZGVyc3RhbmQgTnVHZXQgQVBJIHJlc3BvbnNlIChzdWJpdGVtIG9mIHBhY2thZ2UgJyVzJyBoYXMgbm8gY2F0YWxvZ0VudHJ5KSIsIGlkKQplbmQKaWYgbm90IGl0ZW0uY2F0YWxvZ0VudHJ5LnZlcnNpb24gdGhlbgpwLmVycm9yKCJGYWlsZWQgdG8gdW5kZXJzdGFuZCBOdUdldCBBUEkgcmVzcG9uc2UgKHN1Yml0ZW0gb2YgcGFja2FnZSAnJXMnIGhhcyBubyBjYXRhbG9nRW50cnkudmVyc2lvbikiLCBpZCkKZW5kCmlmIG5vdCBpdGVtLmNhdGFsb2dFbnRyeVsiQGlkIl0gdGhlbgpwLmVycm9yKCJGYWlsZWQgdG8gdW5kZXJzdGFuZCBOdUdldCBBUEkgcmVzcG9uc2UgKHN1Yml0ZW0gb2YgcGFja2FnZSAnJXMnIGhhcyBubyBjYXRhbG9nRW50cnlbJ0BpZCddKSIsIGlkKQplbmQKdGFibGUuaW5zZXJ0KHZlcnNpb25zLCBpdGVtLmNhdGFsb2dFbnRyeS52ZXJzaW9uKQplbmQKaWYgbm90IHRhYmxlLmNvbnRhaW5zKHZlcnNpb25zLCB2ZXJzaW9uKSB0aGVuCmxvY2FsIG9wdGlvbnMgPSB0YWJsZS50cmFuc2xhdGUodmVyc2lvbnMsIGZ1bmN0aW9uKHZhbHVlKSByZXR1cm4gIiciIC4uIHZhbHVlIC4uICInIiBlbmQpCm9wdGlvbnMgPSB0YWJsZS5jb25jYXQob3B0aW9ucywgIiwgIikKcC5lcnJvcigiJyVzJyBpcyBub3QgYSB2YWxpZCB2ZXJzaW9uIGZvciBOdUdldCBwYWNrYWdlICclcycgKG9wdGlvbnMgYXJlOiAlcykiLCB2ZXJzaW9uLCBpZCwgb3B0aW9ucykKZW5kCmZvciBfLCBpdGVtIGluIGlwYWlycyhpdGVtcykgZG8KaWYgaXRlbS5jYXRhbG9nRW50cnkudmVyc2lvbiA9PSB2ZXJzaW9uIHRoZW4KbG9jYWwgcmVzcG9uc2UsIGVyciwgY29kZSA9IGh0dHAuZ2V0KGl0ZW0uY2F0YWxvZ0VudHJ5WyJAaWQiXSkKaWYgZXJyIH49ICJPSyIgdGhlbgppZiBjb2RlID09IDQwNCB0aGVuCnAuZXJyb3IoIk51R2V0IHBhY2thZ2UgJyVzJyB2ZXJzaW9uICclcycgY291bGRuJ3QgYmUgZm91bmQgaW4gdGhlIHJlcG9zaXRvcnkgZXZlbiB0aG91Z2ggdGhlIEFQSSByZXBvcnRlZCB0aGF0IGl0IGV4aXN0cyIsIGlkLCB2ZXJzaW9uKQplbHNlCnAuZXJyb3IoIk51R2V0IEFQSSBlcnJvciAoJWQpXG4lcyIsIGNvZGUsIGVycikKZW5kCmVuZApyZXNwb25zZSwgZXJyID0ganNvbi5kZWNvZGUocmVzcG9uc2UpCmlmIG5vdCByZXNwb25zZSB0aGVuCnAuZXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgTnVHZXQgQVBJIHJlc3BvbnNlICglcykiLCBlcnIpCmVuZAppZiBub3QgcmVzcG9uc2UudmVyYmF0aW1WZXJzaW9uIGFuZCBub3QgcmVzcG9uc2UudmVyc2lvbiB0aGVuCnAuZXJyb3IoIkZhaWxlZCB0byB1bmRlcnN0YW5kIE51R2V0IEFQSSByZXNwb25zZSAocGFja2FnZSAnJXMnIHZlcnNpb24gJyVzJyBoYXMgbm8gdmVyYmF0aW1WZXJzaW9uIG9yIHZlcnNpb24pIiwgaWQsIHZlcnNpb24pCmVuZApwYWNrYWdlQVBJSW5mby52ZXJiYXRpbVZlcnNpb24gPSByZXNwb25zZS52ZXJiYXRpbVZlcnNpb24KcGFja2FnZUFQSUluZm8udmVyc2lvbiA9IHJlc3BvbnNlLnZlcnNpb24KaWYgcHJqLmxhbmd1YWdlID09ICJDIyIgYW5kIG5vdCByZXNwb25zZS5wYWNrYWdlRW50cmllcyB0aGVuCnAuZXJyb3IoIk51R2V0IHBhY2thZ2UgJyVzJyB2ZXJzaW9uICclcycgaGFzIG5vIGZpbGUgbGlzdGluZy4gVGhpcyBwYWNrYWdlIG1pZ2h0IGJlIHRvbyBvbGQgdG8gYmUgdXNpbmcgdGhpcyBBUEkgb3IgaXQgbWlnaHQgYmUgYSBDKysgcGFja2FnZSBpbnN0ZWFkIG9mIGEgLk5FVCBGcmFtZXdvcmsgcGFja2FnZS4iLCBpZCwgcmVzcG9uc2UudmVyc2lvbikKZW5kCmlmIHByai5sYW5ndWFnZSA9PSAiQyMiIHRoZW4KcGFja2FnZUFQSUluZm8ucGFja2FnZUVudHJpZXMgPSB7fQpmb3IgXywgaXRlbSBpbiBpcGFpcnMocmVzcG9uc2UucGFja2FnZUVudHJpZXMpIGRvCmlmIG5vdCBpdGVtLmZ1bGxOYW1lIHRoZW4KcC5lcnJvcigiRmFpbGVkIHRvIHVuZGVyc3RhbmQgTnVHZXQgQVBJIHJlc3BvbnNlIChwYWNrYWdlICclcycgdmVyc2lvbiAnJXMnIHBhY2thZ2VFbnRyeSBoYXMgbm8gZnVsbE5hbWUpIiwgaWQsIHZlcnNpb24pCmVuZAp0YWJsZS5pbnNlcnQocGFja2FnZUFQSUluZm8ucGFja2FnZUVudHJpZXMsIHBhdGgudHJhbnNsYXRlKGl0ZW0uZnVsbE5hbWUpKQplbmQKaWYgI3BhY2thZ2VBUElJbmZvLnBhY2thZ2VFbnRyaWVzID09IDAgdGhlbgpwLmVycm9yKCJOdUdldCBwYWNrYWdlICclcycgZmlsZSBsaXN0aW5nIGlzIGVtcHR5IiwgaWQpCmVuZAppZiByZXNwb25zZS5mcmFtZXdvcmtBc3NlbWJseUdyb3VwIHRoZW4KcC53YXJuKCJOdUdldCBwYWNrYWdlICclcycgbWF5IGRlcGVuZCBvbiAuTkVUIEZyYW1ld29yayBhc3NlbWJsaWVzIC0gcGFja2FnZSBkZXBlbmRlbmNpZXMgYXJlIGN1cnJlbnRseSB1bmltcGxlbWVudGVkIiwgaWQpCmVuZAplbmQKaWYgcmVzcG9uc2UuZGVwZW5kZW5jeUdyb3VwcyB0aGVuCnAud2FybigiTnVHZXQgcGFja2FnZSAnJXMnIG1heSBkZXBlbmQgb24gb3RoZXIgcGFja2FnZXMgLSBwYWNrYWdlIGRlcGVuZGVuY2llcyBhcmUgY3VycmVudGx5IHVuaW1wbGVtZW50ZWQiLCBpZCkKZW5kCmJyZWFrCmVuZAplbmQKcGFja2FnZUFQSUluZm9zW3BhY2thZ2VdID0gcGFja2FnZUFQSUluZm8KZW5kCnJldHVybiBwYWNrYWdlQVBJSW5mb3NbcGFja2FnZV0KZW5kCmZ1bmN0aW9uIG51Z2V0MjAxMC5nZW5lcmF0ZVBhY2thZ2VzQ29uZmlnKHByaikKaWYgI3Byai5udWdldCA+IDAgdGhlbgpwLncoJzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+JykKcC5wdXNoKCc8cGFja2FnZXM+JykKZm9yIF8sIHBhY2thZ2UgaW4gaXBhaXJzKHByai5udWdldCkgZG8KcC54KCc8cGFja2FnZSBpZD0iJXMiIHZlcnNpb249IiVzIiB0YXJnZXRGcmFtZXdvcms9IiVzIiAvPicsIG51Z2V0MjAxMC5wYWNrYWdlSWQocGFja2FnZSksIG51Z2V0MjAxMC5wYWNrYWdlVmVyc2lvbihwYWNrYWdlKSwgbnVnZXQyMDEwLnBhY2thZ2VGcmFtZXdvcmsocHJqKSkKZW5kCnAucG9wKCc8L3BhY2thZ2VzPicpCmVuZAplbmQKZnVuY3Rpb24gbnVnZXQyMDEwLmdlbmVyYXRlTnVHZXRDb25maWcocHJqKQppZiAjcHJqLm51Z2V0ID09IDAgdGhlbgpyZXR1cm4KZW5kCmlmIHByai5udWdldHNvdXJjZSA9PSAiaHR0cHM6Ly9hcGkubnVnZXQub3JnL3YzL2luZGV4Lmpzb24iIHRoZW4KcmV0dXJuCmVuZApwLncoJzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+JykKcC5wdXNoKCc8Y29uZmlndXJhdGlvbj4nKQpwLnB1c2goJzxwYWNrYWdlU291cmNlcz4nKQpwLngoJzxjbGVhciAvPicpCnAueCgnPGFkZCBrZXk9IiVzIiB2YWx1ZT0iJXMiIC8+JywgcHJqLm51Z2V0c291cmNlLCBwcmoubnVnZXRzb3VyY2UpCnAucG9wKCc8L3BhY2thZ2VTb3VyY2VzPicpCnAucG9wKCc8L2NvbmZpZ3VyYXRpb24+JykKZW5kCmZ1bmN0aW9uIG51Z2V0MjAxMC51bmlxdWVQcm9qZWN0TG9jYXRpb25zV2l0aE51R2V0KHdrcykKbG9jYWwgbG9jYXRpb25zID0ge30KZm9yIHByaiBpbiBwLndvcmtzcGFjZS5lYWNocHJvamVjdCh3a3MpIGRvCmlmIG5vdCBudWdldDIwMTAuc3VwcG9ydHNQYWNrYWdlUmVmZXJlbmNlcyhwcmopIHRoZW4KbG9jYWwgZnVuY3Rpb24gZmFpbCgpCnAuZXJyb3IoInByb2plY3RzICclcycgYW5kICclcycgY2Fubm90IGhhdmUgdGhlIHNhbWUgbG9jYXRpb24gd2hlbiB1c2luZyBOdUdldCB3aXRoIGRpZmZlcmVudCBwYWNrYWdlcyAocGFja2FnZXMuY29uZmlnIGNvbmZsaWN0KSIsIGxvY2F0aW9uc1twcmoubG9jYXRpb25dLm5hbWUsIHByai5uYW1lKQplbmQKaWYgbG9jYXRpb25zW3Byai5sb2NhdGlvbl0gYW5kICNsb2NhdGlvbnNbcHJqLmxvY2F0aW9uXS5udWdldCA+IDAgYW5kICNwcmoubnVnZXQgPiAwIHRoZW4KaWYgI2xvY2F0aW9uc1twcmoubG9jYXRpb25dLm51Z2V0IH49ICNwcmoubnVnZXQgdGhlbgpmYWlsKCkKZW5kCmZvciBpLCBwYWNrYWdlIGluIGlwYWlycyhsb2NhdGlvbnNbcHJqLmxvY2F0aW9uXS5udWdldCkgZG8KaWYgcHJqLm51Z2V0W2ldIH49IHBhY2thZ2UgdGhlbgpmYWlsKCkKZW5kCmVuZAplbmQKbG9jYXRpb25zW3Byai5sb2NhdGlvbl0gPSBwcmoKZW5kCmVuZAplbmQKcC5vdmVycmlkZShwLnZhbGlkYXRpb24uZWxlbWVudHMsICJ3b3Jrc3BhY2UiLCBmdW5jdGlvbiAob2xkZm4sIHdrcykKbG9jYWwgdCA9IG9sZGZuKHdrcykKdGFibGUuaW5zZXJ0KHQsIG51Z2V0MjAxMC51bmlxdWVQcm9qZWN0TG9jYXRpb25zV2l0aE51R2V0KQpyZXR1cm4gdAplbmQpCmZ1bmN0aW9uIG51Z2V0MjAxMC5OdUdldEhhc0hUVFAocHJqKQppZiBub3QgaHR0cCBhbmQgI3Byai5udWdldCA+IDAgYW5kIG5vdCBudWdldDIwMTAuc3VwcG9ydHNQYWNrYWdlUmVmZXJlbmNlcyhwcmopIHRoZW4KcC5lcnJvcigiUHJlbWFrZSB3YXMgY29tcGlsZWQgd2l0aCAtLW5vLWN1cmwsIGJ1dCBDdXJsIGlzIHJlcXVpcmVkIGZvciBOdUdldCBzdXBwb3J0IChwcm9qZWN0ICclcycgaXMgcmVmZXJlbmNpbmcgTnVHZXQgcGFja2FnZXMpIiwgcHJqLm5hbWUpCmVuZAplbmQKZnVuY3Rpb24gbnVnZXQyMDEwLk51R2V0UGFja2FnZVN0cmluZ3MocHJqKQpmb3IgXywgcGFja2FnZSBpbiBpcGFpcnMocHJqLm51Z2V0KSBkbwpsb2NhbCBjb21wb25lbnRzID0gcGFja2FnZTpleHBsb2RlKCI6IikKaWYgI2NvbXBvbmVudHMgfj0gMiBvciAjY29tcG9uZW50c1sxXSA9PSAwIG9yICNjb21wb25lbnRzWzJdID09IDAgdGhlbgpwLmVycm9yKCJOdUdldCBwYWNrYWdlICclcycgaW4gcHJvamVjdCAnJXMnIGlzIGludmFsaWQgLSBwbGVhc2UgZ2l2ZSBwYWNrYWdlcyBpbiB0aGUgZm9ybWF0ICdpZDp2ZXJzaW9uJywgZS5nLiAnTlVuaXQ6My42LjEnIiwgcGFja2FnZSwgcHJqLm5hbWUpCmVuZAplbmQKZW5kCnAub3ZlcnJpZGUocC52YWxpZGF0aW9uLmVsZW1lbnRzLCAicHJvamVjdCIsIGZ1bmN0aW9uIChvbGRmbiwgcHJqKQpsb2NhbCB0ID0gb2xkZm4ocHJqKQp0YWJsZS5pbnNlcnQodCwgbnVnZXQyMDEwLk51R2V0SGFzSFRUUCkKdGFibGUuaW5zZXJ0KHQsIG51Z2V0MjAxMC5OdUdldFBhY2thZ2VTdHJpbmdzKQpyZXR1cm4gdAplbmQpCgAAbG9jYWwgcCA9IHByZW1ha2UKcC5jb250ZXh0ID0ge30KbG9jYWwgY29udGV4dCA9IHAuY29udGV4dApsb2NhbCBjb25maWdzZXQgPSBwLmNvbmZpZ3NldApmdW5jdGlvbiBjb250ZXh0Lm5ldyhjZmdzZXQsIGVudmlyb24pCmxvY2FsIGN0eCA9IHt9CmN0eC5fY2Znc2V0ID0gY2Znc2V0CmN0eC5lbnZpcm9uID0gZW52aXJvbiBvciB7fQpjdHgudGVybXMgPSB7fQpjdHguX2Jhc2VkaXIgPSBvcy5nZXRjd2QoKQpzZXRtZXRhdGFibGUoY3R4LCBjb250ZXh0Ll9fbXQpCnJldHVybiBjdHgKZW5kCmZ1bmN0aW9uIGNvbnRleHQuZXh0ZW50KGJhc2VDb250ZXh0LCBuZXdFbnZWYXJzKQpsb2NhbCBjdHggPSB7fQpjdHguX2N0eCA9IGJhc2VDb250ZXh0CmN0eC5lbnZpcm9uID0gbmV3RW52VmFycyBvciBiYXNlQ29udGV4dC5lbnZpcm9uCmN0eC50ZXJtcyA9IHt9CmN0eC5fYmFzZWRpciA9IGJhc2VDb250ZXh0Ll9iYXNlZGlyCnNldG1ldGF0YWJsZShjdHgsIGNvbnRleHQuX19tdF91bmNhY2hlZCkKcmV0dXJuIGN0eAplbmQKZnVuY3Rpb24gY29udGV4dC5hZGRGaWx0ZXIoY3R4LCBrZXksIHZhbHVlKQppZiB0eXBlKHZhbHVlKSA9PSAidGFibGUiIHRoZW4KZm9yIGkgPSAxLCAjdmFsdWUgZG8KdmFsdWVbaV0gPSB0b3N0cmluZyh2YWx1ZVtpXSk6bG93ZXIoKQplbmQKZWxzZWlmIHZhbHVlIH49IG5pbCB0aGVuCnZhbHVlID0gdG9zdHJpbmcodmFsdWUpOmxvd2VyKCkKZW5kCmN0eC50ZXJtc1trZXk6bG93ZXIoKV0gPSB2YWx1ZQplbmQKZnVuY3Rpb24gY29udGV4dC5jb3B5RmlsdGVycyhjdHgsIHNyYykKY3R4LnRlcm1zID0ge30KZm9yIGssdiBpbiBwYWlycyhzcmMudGVybXMpIGRvCmN0eC50ZXJtc1trXSA9IHYKZW5kCmVuZApmdW5jdGlvbiBjb250ZXh0Lm1lcmdlRmlsdGVycyhjdHgsIHNyYykKZm9yIGssIHYgaW4gcGFpcnMoc3JjLnRlcm1zKSBkbwppZiBrID09ICJ0YWdzIiB0aGVuCmN0eC50ZXJtc1trXSA9IHRhYmxlLmpvaW4oY3R4LnRlcm1zW2tdLCB2KQplbHNlCmN0eC50ZXJtc1trXSA9IHYKZW5kCmVuZAplbmQKZnVuY3Rpb24gY29udGV4dC5iYXNlZGlyKGN0eCwgYmFzZWRpcikKY3R4Ll9iYXNlZGlyID0gYmFzZWRpciBvciBjdHguX2Jhc2VkaXIKcmV0dXJuIGN0eC5fYmFzZWRpcgplbmQKZnVuY3Rpb24gY29udGV4dC5jb21waWxlKGN0eCkKY3R4Ll9jZmdzZXQgPSBjb25maWdzZXQuY29tcGlsZShjdHguX2NmZ3NldCwgY3R4LnRlcm1zKQplbmQKZnVuY3Rpb24gY29udGV4dC5lbXB0eShjdHgpCnJldHVybiBjb25maWdzZXQuZW1wdHkoY3R4Ll9jZmdzZXQpCmVuZApmdW5jdGlvbiBjb250ZXh0LmZldGNodmFsdWUoY3R4LCBrZXksIG9ubHlsb2NhbCkKaWYgbm90IG9ubHlsb2NhbCB0aGVuCmxvY2FsIHZhbHVlID0gcmF3Z2V0KGN0eCwga2V5KQppZiB2YWx1ZSB+PSBuaWwgdGhlbgpyZXR1cm4gdmFsdWUKZW5kCmVuZApsb2NhbCBmaWVsZCA9IHAuZmllbGQuZ2V0KGtleSkKaWYgbm90IGZpZWxkIHRoZW4KcmV0dXJuIG5pbAplbmQKbG9jYWwgdmFsdWUgPSBjb25maWdzZXQuZmV0Y2goY3R4Ll9jZmdzZXQsIGZpZWxkLCBjdHgudGVybXMsIGN0eCwgb25seWxvY2FsIGFuZCBjdHguX2NmZ3NldCkKaWYgdmFsdWUgdGhlbgpyYXdzZXQoY3R4LCBrZXksIHZhbHVlKQplbmQKcmV0dXJuIHZhbHVlCmVuZApjb250ZXh0Ll9fbXQgPSB7Cl9faW5kZXggPSBjb250ZXh0LmZldGNodmFsdWUKfQpjb250ZXh0Ll9fbXRfdW5jYWNoZWQgPSB7Cl9faW5kZXggPSAgZnVuY3Rpb24oY3R4LCBrZXkpCmxvY2FsIGZpZWxkID0gcC5maWVsZC5nZXQoa2V5KQppZiBub3QgZmllbGQgdGhlbgpyZXR1cm4gbmlsCmVuZApsb2NhbCBwYXJlbnQgPSByYXdnZXQoY3R4LCAnX2N0eCcpCnJldHVybiBjb25maWdzZXQuZmV0Y2gocGFyZW50Ll9jZmdzZXQsIGZpZWxkLCBjdHgudGVybXMsIGN0eCwgbmlsKQplbmQKfQoACgoKCgsLCwsODQsLCwsGBgQEBQUHBwcHCQgDAwMDAwMDAwMDAwMCAgEBAABsb2NhbCBwID0gcHJlbWFrZQpwLndvcmtzcGFjZSA9IHAuYXBpLmNvbnRhaW5lcigid29ya3NwYWNlIiwgcC5nbG9iYWwpCmxvY2FsIHdvcmtzcGFjZSA9IHAud29ya3NwYWNlCnAuc29sdXRpb24gPSB3b3Jrc3BhY2UKd29ya3NwYWNlLmFsaWFzID0gInNvbHV0aW9uIgpwLmFsaWFzKF9HLCAid29ya3NwYWNlIiwgInNvbHV0aW9uIikKcC5hbGlhcyhfRywgImV4dGVybmFsd29ya3NwYWNlIiwgImV4dGVybmFsc29sdXRpb24iKQpmdW5jdGlvbiB3b3Jrc3BhY2UubmV3KG5hbWUpCmxvY2FsIHdrcyA9IHAuY29udGFpbmVyLm5ldyh3b3Jrc3BhY2UsIG5hbWUpCnJldHVybiB3a3MKZW5kCmZ1bmN0aW9uIHdvcmtzcGFjZS5lYWNoY29uZmlnKHNlbGYpCnNlbGYgPSBwLm92ZW4uYmFrZVdvcmtzcGFjZShzZWxmKQpsb2NhbCBpID0gMApyZXR1cm4gZnVuY3Rpb24oKQppID0gaSArIDEKaWYgaSA+ICNzZWxmLmNvbmZpZ3MgdGhlbgpyZXR1cm4gbmlsCmVsc2UKcmV0dXJuIHNlbGYuY29uZmlnc1tpXQplbmQKZW5kCmVuZApmdW5jdGlvbiB3b3Jrc3BhY2UuZWFjaHByb2plY3Qoc2VsZikKbG9jYWwgaSA9IDAKcmV0dXJuIGZ1bmN0aW9uICgpCmkgPSBpICsgMQppZiBpIDw9ICNzZWxmLnByb2plY3RzIHRoZW4KcmV0dXJuIHAud29ya3NwYWNlLmdldHByb2plY3Qoc2VsZiwgaSkKZW5kCmVuZAplbmQKZnVuY3Rpb24gd29ya3NwYWNlLmZpbmRwcm9qZWN0KHNlbGYsIG5hbWUpCm5hbWUgPSBuYW1lOmxvd2VyKCkKZm9yIF8sIHByaiBpbiBpcGFpcnMoc2VsZi5wcm9qZWN0cykgZG8KaWYgbmFtZSA9PSBwcmoubmFtZTpsb3dlcigpIHRoZW4KcmV0dXJuIHByagplbmQKZW5kCnJldHVybiBuaWwKZW5kCmZ1bmN0aW9uIHdvcmtzcGFjZS5ncm91cHRyZWUoc2VsZikKaWYgc2VsZi5ncm91cHRyZWUgdGhlbgpyZXR1cm4gc2VsZi5ncm91cHRyZWUKZW5kCmxvY2FsIHRyID0gcC50cmVlLm5ldygpCmZvciBwcmogaW4gd29ya3NwYWNlLmVhY2hwcm9qZWN0KHNlbGYpIGRvCmxvY2FsIHByanBhdGggPSBwYXRoLmpvaW4ocHJqLmdyb3VwLCBwcmoubmFtZSkKbG9jYWwgbm9kZSA9IHAudHJlZS5hZGQodHIsIHByanBhdGgpCm5vZGUucHJvamVjdCA9IHByagplbmQKcC50cmVlLnRyYXZlcnNlKHRyLCB7Cm9uYnJhbmNoID0gZnVuY3Rpb24obm9kZSkKbm9kZS51dWlkID0gb3MudXVpZCgiZ3JvdXA6IiAuLiBub2RlLnBhdGgpCmVuZAp9KQpwLnRyZWUuc29ydCh0ciwgZnVuY3Rpb24oYSxiKQpyZXR1cm4gYS5uYW1lIDwgYi5uYW1lCmVuZCkKc2VsZi5ncm91cHRyZWUgPSB0cgpyZXR1cm4gdHIKZW5kCmZ1bmN0aW9uIHdvcmtzcGFjZS5nZXRwcm9qZWN0KHNlbGYsIGlkeCkKc2VsZiA9IHAub3Zlbi5iYWtlV29ya3NwYWNlKHNlbGYpCnJldHVybiBzZWxmLnByb2plY3RzW2lkeF0KZW5kCmZ1bmN0aW9uIHdvcmtzcGFjZS5oYXNQcm9qZWN0KHNlbGYsIGZ1bmMpCnJldHVybiBwLmNvbnRhaW5lci5oYXNDaGlsZChzZWxmLCBwLnByb2plY3QsIGZ1bmMpCmVuZApmdW5jdGlvbiB3b3Jrc3BhY2UuZ2V0cmVsYXRpdmUoc2VsZiwgZmlsZW5hbWUpCmlmIHR5cGUoZmlsZW5hbWUpID09ICJ0YWJsZSIgdGhlbgpsb2NhbCByZXN1bHQgPSB7fQpmb3IgaSwgbmFtZSBpbiBpcGFpcnMoZmlsZW5hbWUpIGRvCmlmIG5hbWUgYW5kICNuYW1lID4gMCB0aGVuCnRhYmxlLmluc2VydChyZXN1bHQsIHdvcmtzcGFjZS5nZXRyZWxhdGl2ZShzZWxmLCBuYW1lKSkKZW5kCmVuZApyZXR1cm4gcmVzdWx0CmVsc2UKaWYgZmlsZW5hbWUgdGhlbgpsb2NhbCByZXN1bHQgPSBmaWxlbmFtZQppZiBwYXRoLmhhc2RlZmVycmVkam9pbihyZXN1bHQpIHRoZW4KcmVzdWx0ID0gcGF0aC5yZXNvbHZlZGVmZXJyZWRqb2luKHJlc3VsdCkKZW5kCnJldHVybiBwYXRoLmdldHJlbGF0aXZlKHNlbGYubG9jYXRpb24sIHJlc3VsdCkKZW5kCmVuZAplbmQKAAAAHAAAAGxvY2FsIHAgPSBwcmVtYWtlCnAudG9vbHMubGRjID0geyB9CmxvY2FsIGxkYyA9IHAudG9vbHMubGRjCmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKbG9jYWwgY29uZmlnID0gcC5jb25maWcKbG9jYWwgZCA9IHAubW9kdWxlcy5kCmxkYy5uYW1lc3R5bGUgPSAicG9zaXgiCmxkYy5kZmxhZ3MgPSB7CmFyY2hpdGVjdHVyZSA9IHsKeDg2ID0gIi1tMzIiLAp4ODZfNjQgPSAiLW02NCIsCn0sCmZsYWdzID0gewpPbWl0RGVmYXVsdExpYnJhcnk9ICItbXNjcnRsaWI9IiwKQ29kZUNvdmVyYWdlPSAiLWNvdiIsCkRvY3VtZW50YXRpb249ICItRCIsCkZhdGFsV2FybmluZ3M9ICItdyIsIC0tIFVzZSBMTFZNIGZsYWc/IDogIi1mYXRhbC1hc3NlbWJsZXItd2FybmluZ3MiLApHZW5lcmF0ZUhlYWRlcj0gIi1IIiwKR2VuZXJhdGVKU09OPSAiLVgiLApSZXRhaW5QYXRocz0gIi1vcCIsClN5bWJvbHNMaWtlQz0gIi1nYyIsClVuaXRUZXN0PSAiLXVuaXR0ZXN0IiwKVmVyYm9zZT0gIi12IiwKQWxsVGVtcGxhdGVJbnN0PSAiLWFsbGluc3QiLApCZXR0ZXJDPSAiLWJldHRlckMiLApNYWluPSAiLW1haW4iLApQZXJmb3JtU3ludGF4Q2hlY2tPbmx5PSAiLW8tIiwKU2hvd0dDPSAiLXZnYyIsCklnbm9yZVByYWdtYT0gIi1pZ25vcmUiLAp9LApib3VuZHNjaGVjayA9IHsKT2ZmID0gIi1ib3VuZHNjaGVjaz1vZmYiLApPbiA9ICItYm91bmRzY2hlY2s9b24iLApTYWZlT25seSA9ICItYm91bmRzY2hlY2s9c2FmZW9ubHkiLAp9LApkZXByZWNhdGVkZmVhdHVyZXMgPSB7CkFsbG93ID0gIi1kIiwKV2FybiA9ICItZHciLApFcnJvciA9ICItZGUiLAp9LApmbG9hdGluZ3BvaW50ID0gewpGYXN0ID0gIi1mcC1jb250cmFjdD1mYXN0IC1lbmFibGUtdW5zYWZlLWZwLW1hdGgiLAp9LApvcHRpbWl6ZSA9IHsKT2ZmID0gIi1PMCIsCk9uID0gIi1PMiIsCkRlYnVnID0gIi1PMCIsCkZ1bGwgPSAiLU8zIiwKU2l6ZSA9ICItT3oiLApTcGVlZCA9ICItTzMiLAp9LApwaWMgPSB7Ck9uID0gIi1yZWxvY2F0aW9uLW1vZGVsPXBpYyIsCn0sCnZlY3RvcmV4dGVuc2lvbnMgPSB7CkFWWCA9ICItbWF0dHI9K2F2eCIsClNTRSA9ICItbWF0dHI9K3NzZSIsClNTRTIgPSAiLW1hdHRyPStzc2UyIiwKfSwKd2FybmluZ3MgPSB7CkRlZmF1bHQgPSAiLXdpIiwKSGlnaCA9ICItd2kiLApFeHRyYSA9ICItd2kiLC0tIFRPRE86IGlzIHRoZXJlIGEgd2F5IHRvIGdldCBleHRyYSB3YXJuaW5ncz8KfSwKc3ltYm9scyA9IHsKT24gPSAiLWciLApGYXN0TGluayA9ICItZyIsCkZ1bGwgPSAiLWciLAp9Cn0KZnVuY3Rpb24gbGRjLmdldGRmbGFncyhjZmcpCmxvY2FsIGZsYWdzID0gY29uZmlnLm1hcEZsYWdzKGNmZywgbGRjLmRmbGFncykKaWYgY29uZmlnLmlzRGVidWdCdWlsZChjZmcpIHRoZW4KdGFibGUuaW5zZXJ0KGZsYWdzLCAiLWQtZGVidWciKQplbHNlCnRhYmxlLmluc2VydChmbGFncywgIi1yZWxlYXNlIikKZW5kCmlmIG5vdCBjZmcuZmxhZ3MuT21pdERlZmF1bHRMaWJyYXJ5IHRoZW4KbG9jYWwgcmVsZWFzZXJ1bnRpbWUgPSBub3QgY29uZmlnLmlzRGVidWdCdWlsZChjZmcpCmxvY2FsIHN0YXRpY3J1bnRpbWUgPSB0cnVlCmlmIGNmZy5zdGF0aWNydW50aW1lID09ICJPZmYiIHRoZW4Kc3RhdGljcnVudGltZSA9IGZhbHNlCmVuZAppZiBjZmcucnVudGltZSA9PSAiRGVidWciIHRoZW4KcmVsZWFzZXJ1bnRpbWUgPSBmYWxzZQplbHNlaWYgY2ZnLnJ1bnRpbWUgPT0gIlJlbGVhc2UiIHRoZW4KcmVsZWFzZXJ1bnRpbWUgPSB0cnVlCmVuZAppZiAoY2ZnLnN0YXRpY3J1bnRpbWUgYW5kIGNmZy5zdGF0aWNydW50aW1lIH49ICJEZWZhdWx0Iikgb3IgKGNmZy5ydW50aW1lIGFuZCBjZmcucnVudGltZSB+PSAiRGVmYXVsdCIpIHRoZW4KaWYgc3RhdGljcnVudGltZSA9PSB0cnVlIGFuZCByZWxlYXNlcnVudGltZSA9PSB0cnVlIHRoZW4KdGFibGUuaW5zZXJ0KGZsYWdzLCAiLW1zY3J0bGliPWxpYmNtdCIpCmVsc2VpZiBzdGF0aWNydW50aW1lID09IHRydWUgYW5kIHJlbGVhc2VydW50aW1lID09IGZhbHNlIHRoZW4KdGFibGUuaW5zZXJ0KGZsYWdzLCAiLW1zY3J0bGliPWxpYmNtdGQiKQplbHNlaWYgc3RhdGljcnVudGltZSA9PSBmYWxzZSBhbmQgcmVsZWFzZXJ1bnRpbWUgPT0gdHJ1ZSB0aGVuCnRhYmxlLmluc2VydChmbGFncywgIi1tc2NydGxpYj1tc3ZjcnQiKQplbHNlaWYgc3RhdGljcnVudGltZSA9PSBmYWxzZSBhbmQgcmVsZWFzZXJ1bnRpbWUgPT0gZmFsc2UgdGhlbgp0YWJsZS5pbnNlcnQoZmxhZ3MsICItbXNjcnRsaWI9bXN2Y3J0ZCIpCmVuZAplbmQKZW5kCmlmIGNmZy5mbGFncy5Eb2N1bWVudGF0aW9uIHRoZW4KaWYgY2ZnLmRvY25hbWUgdGhlbgp0YWJsZS5pbnNlcnQoZmxhZ3MsICItRGY9IiAuLiBwLnF1b3RlZChjZmcuZG9jbmFtZSkpCmVuZAppZiBjZmcuZG9jZGlyIHRoZW4KdGFibGUuaW5zZXJ0KGZsYWdzLCAiLURkPSIgLi4gcC5xdW90ZWQoY2ZnLmRvY2RpcikpCmVuZAplbmQKaWYgY2ZnLmZsYWdzLkdlbmVyYXRlSGVhZGVyIHRoZW4KaWYgY2ZnLmhlYWRlcm5hbWUgdGhlbgp0YWJsZS5pbnNlcnQoZmxhZ3MsICItSGY9IiAuLiBwLnF1b3RlZChjZmcuaGVhZGVybmFtZSkpCmVuZAppZiBjZmcuaGVhZGVyZGlyIHRoZW4KdGFibGUuaW5zZXJ0KGZsYWdzLCAiLUhkPSIgLi4gcC5xdW90ZWQoY2ZnLmhlYWRlcmRpcikpCmVuZAplbmQKcmV0dXJuIGZsYWdzCmVuZApmdW5jdGlvbiBsZGMuZ2V0dmVyc2lvbnModmVyc2lvbnMsIGxldmVsKQpsb2NhbCByZXN1bHQgPSB7fQpmb3IgXywgdmVyc2lvbiBpbiBpcGFpcnModmVyc2lvbnMpIGRvCnRhYmxlLmluc2VydChyZXN1bHQsICctZC12ZXJzaW9uPScgLi4gdmVyc2lvbikKZW5kCmlmIGxldmVsIHRoZW4KdGFibGUuaW5zZXJ0KHJlc3VsdCwgJy1kLXZlcnNpb249JyAuLiBsZXZlbCkKZW5kCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIGxkYy5nZXRkZWJ1Zyhjb25zdGFudHMsIGxldmVsKQpsb2NhbCByZXN1bHQgPSB7fQpmb3IgXywgY29uc3RhbnQgaW4gaXBhaXJzKGNvbnN0YW50cykgZG8KdGFibGUuaW5zZXJ0KHJlc3VsdCwgJy1kLWRlYnVnPScgLi4gY29uc3RhbnQpCmVuZAppZiBsZXZlbCB0aGVuCnRhYmxlLmluc2VydChyZXN1bHQsICctZC1kZWJ1Zz0nIC4uIGxldmVsKQplbmQKcmV0dXJuIHJlc3VsdAplbmQKZnVuY3Rpb24gbGRjLmdldGltcG9ydGRpcnMoY2ZnLCBkaXJzKQpsb2NhbCByZXN1bHQgPSB7fQpmb3IgXywgZGlyIGluIGlwYWlycyhkaXJzKSBkbwpkaXIgPSBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBkaXIpCnRhYmxlLmluc2VydChyZXN1bHQsICctST0nIC4uIHAucXVvdGVkKGRpcikpCmVuZApyZXR1cm4gcmVzdWx0CmVuZApmdW5jdGlvbiBsZGMuZ2V0c3RyaW5naW1wb3J0ZGlycyhjZmcsIGRpcnMpCmxvY2FsIHJlc3VsdCA9IHt9CmZvciBfLCBkaXIgaW4gaXBhaXJzKGRpcnMpIGRvCmRpciA9IHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGRpcikKdGFibGUuaW5zZXJ0KHJlc3VsdCwgJy1KPScgLi4gcC5xdW90ZWQoZGlyKSkKZW5kCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIGxkYy5nZXR0YXJnZXQobmFtZSkKcmV0dXJuICItb2Y9IiAuLiBuYW1lCmVuZApsZGMubGRmbGFncyA9IHsKYXJjaGl0ZWN0dXJlID0gewp4ODYgPSB7ICItbTMyIiB9LAp4ODZfNjQgPSB7ICItbTY0IiB9LAp9LApraW5kID0gewpTaGFyZWRMaWIgPSAiLXNoYXJlZCIsClN0YXRpY0xpYiA9ICItbGliIiwKfSwKfQpmdW5jdGlvbiBsZGMuZ2V0bGRmbGFncyhjZmcpCmxvY2FsIGZsYWdzID0gY29uZmlnLm1hcEZsYWdzKGNmZywgbGRjLmxkZmxhZ3MpCnJldHVybiBmbGFncwplbmQKbGRjLmxpYnJhcnlEaXJlY3RvcmllcyA9IHsKYXJjaGl0ZWN0dXJlID0gewp4ODYgPSAiLUw9LUwvdXNyL2xpYiIsCng4Nl82NCA9ICItTD0tTC91c3IvbGliNjQiLAp9Cn0KZnVuY3Rpb24gbGRjLmdldExpYnJhcnlEaXJlY3RvcmllcyhjZmcpCmxvY2FsIGZsYWdzID0gY29uZmlnLm1hcEZsYWdzKGNmZywgbGRjLmxpYnJhcnlEaXJlY3RvcmllcykKZm9yIF8sIGRpciBpbiBpcGFpcnMoY29uZmlnLmdldGxpbmtzKGNmZywgInN5c3RlbSIsICJkaXJlY3RvcnkiKSkgZG8KdGFibGUuaW5zZXJ0KGZsYWdzLCAnLUw9LUwnIC4uIHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGRpcikpCmVuZApyZXR1cm4gZmxhZ3MKZW5kCmZ1bmN0aW9uIGxkYy5nZXRsaW5rcyhjZmcsIHN5c3RlbW9ubHkpCmxvY2FsIHJlc3VsdCA9IHt9CmxvY2FsIGxpbmtzCmlmIG5vdCBzeXN0ZW1vbmx5IHRoZW4KbGlua3MgPSBjb25maWcuZ2V0bGlua3MoY2ZnLCAic2libGluZ3MiLCAib2JqZWN0IikKZm9yIF8sIGxpbmsgaW4gaXBhaXJzKGxpbmtzKSBkbwppZiBub3QgbGluay5wcm9qZWN0LmV4dGVybmFsIHRoZW4KaWYgbGluay5raW5kID09IHAuU1RBVElDTElCIHRoZW4KdGFibGUuaW5zZXJ0KHJlc3VsdCwgIi1MPSIgLi4gcHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgbGluay5saW5rdGFyZ2V0LmFic3BhdGgpKQplbHNlCnRhYmxlLmluc2VydChyZXN1bHQsICItTD0tbCIgLi4gbGluay5saW5rdGFyZ2V0LmJhc2VuYW1lKQplbmQKZW5kCmVuZAplbmQKbGlua3MgPSBjb25maWcuZ2V0bGlua3MoY2ZnLCAic3lzdGVtIiwgImZ1bGxwYXRoIikKZm9yIF8sIGxpbmsgaW4gaXBhaXJzKGxpbmtzKSBkbwppZiBwYXRoLmlzZnJhbWV3b3JrKGxpbmspIHRoZW4KdGFibGUuaW5zZXJ0KHJlc3VsdCwgIi1mcmFtZXdvcmsgIiAuLiBwYXRoLmdldGJhc2VuYW1lKGxpbmspKQplbHNlaWYgcGF0aC5pc29iamVjdGZpbGUobGluaykgdGhlbgp0YWJsZS5pbnNlcnQocmVzdWx0LCAiLUw9IiAuLiBsaW5rKQplbHNlCnRhYmxlLmluc2VydChyZXN1bHQsICItTD0tbCIgLi4gcGF0aC5nZXRiYXNlbmFtZShsaW5rKSkKZW5kCmVuZApyZXR1cm4gcmVzdWx0CmVuZApsZGMubWFrZXNldHRpbmdzID0gewp9CmZ1bmN0aW9uIGxkYy5nZXRtYWtlc2V0dGluZ3MoY2ZnKQpsb2NhbCBzZXR0aW5ncyA9IGNvbmZpZy5tYXBGbGFncyhjZmcsIGxkYy5tYWtlc2V0dGluZ3MpCnJldHVybiB0YWJsZS5jb25jYXQoc2V0dGluZ3MpCmVuZApsZGMudG9vbHMgPSB7CmRjID0gImxkYzIiLAphciA9ICJhciIsCn0KZnVuY3Rpb24gbGRjLmdldHRvb2xuYW1lKGNmZywgdG9vbCkKcmV0dXJuIGxkYy50b29sc1t0b29sXQplbmQKAG5ld2FjdGlvbgp7CnRyaWdnZXIgICAgICAgICA9ICJyYXciLApzaG9ydG5hbWUgICAgICAgPSAiUmF3IG91dHB1dCIsCmRlc2NyaXB0aW9uICAgICA9ICJHZW5lcmF0ZSByYXcgcmVwcmVzZW50YXRpb24gb2YgUHJlbWFrZSBzdHJ1Y3R1cmVzIiwKb25zb2x1dGlvbiA9IGZ1bmN0aW9uKHNsbikKcmVxdWlyZSgncmF3JykKcHJlbWFrZS5nZW5lcmF0ZShzbG4sICIucmF3IiwgcHJlbWFrZS5yYXcud29ya3NwYWNlKQplbmQsCn0KcmV0dXJuIGZ1bmN0aW9uKGNmZykKcmV0dXJuIChfQUNUSU9OID09ICJyYXciKQplbmQKAAAAbG9jYWwgcCA9IHByZW1ha2UKcC5jb25maWcgPSB7fQpsb2NhbCBwcm9qZWN0ID0gcC5wcm9qZWN0CmxvY2FsIGNvbmZpZyA9IHAuY29uZmlnCmZ1bmN0aW9uIGNvbmZpZy5idWlsZHRhcmdldGluZm8oY2ZnLCBraW5kLCBmaWVsZCkKbG9jYWwgYmFzZWRpciA9IGNmZy5wcm9qZWN0LmxvY2F0aW9uCmxvY2FsIHRhcmdldGRpcgppZiBjZmcucGxhdGZvcm0gdGhlbgp0YXJnZXRkaXIgPSBwYXRoLmpvaW4oYmFzZWRpciwgJ2JpbicsIGNmZy5wbGF0Zm9ybSwgY2ZnLmJ1aWxkY2ZnKQplbHNlCnRhcmdldGRpciA9IHBhdGguam9pbihiYXNlZGlyLCAnYmluJywgY2ZnLmJ1aWxkY2ZnKQplbmQKbG9jYWwgZGlyZWN0b3J5ID0gY2ZnW2ZpZWxkLi4iZGlyIl0gb3IgY2ZnLnRhcmdldGRpciBvciB0YXJnZXRkaXIKbG9jYWwgYmFzZW5hbWUgPSBjZmdbZmllbGQuLiJuYW1lIl0gb3IgY2ZnLnRhcmdldG5hbWUgb3IgY2ZnLnByb2plY3QubmFtZQpsb2NhbCBwcmVmaXggPSBjZmdbZmllbGQuLiJwcmVmaXgiXSBvciBjZmcudGFyZ2V0cHJlZml4IG9yICIiCmxvY2FsIHN1ZmZpeCA9IGNmZ1tmaWVsZC4uInN1ZmZpeCJdIG9yIGNmZy50YXJnZXRzdWZmaXggb3IgIiIKbG9jYWwgZXh0ZW5zaW9uID0gY2ZnW2ZpZWxkLi4iZXh0ZW5zaW9uIl0gb3IgY2ZnLnRhcmdldGV4dGVuc2lvbiBvciAiIgpsb2NhbCBidW5kbGVuYW1lID0gIiIKbG9jYWwgYnVuZGxlcGF0aCA9ICIiCmlmIHRhYmxlLmNvbnRhaW5zKG9zLmdldFN5c3RlbVRhZ3MoY2ZnLnN5c3RlbSksICJkYXJ3aW4iKSBhbmQgKGtpbmQgPT0gcC5XSU5ET1dFREFQUCBvciAoa2luZCA9PSBwLlNIQVJFRExJQiBhbmQgY2ZnLnNoYXJlZGxpYnR5cGUpKSB0aGVuCmJ1bmRsZW5hbWUgPSBiYXNlbmFtZSAuLiBleHRlbnNpb24KYnVuZGxlcGF0aCA9IHBhdGguam9pbihidW5kbGVuYW1lLCBpaWYoa2luZCA9PSBwLlNIQVJFRExJQiBhbmQgY2ZnLnNoYXJlZGxpYnR5cGUgPT0gIk9TWEZyYW1ld29yayIsICJWZXJzaW9ucy9BIiwgIkNvbnRlbnRzL01hY09TIikpCmVuZApsb2NhbCBpbmZvID0ge30KaW5mby5kaXJlY3RvcnkgID0gZGlyZWN0b3J5CmluZm8uYmFzZW5hbWUgICA9IGJhc2VuYW1lIC4uIHN1ZmZpeAppbmZvLm5hbWUgICAgICAgPSBwcmVmaXggLi4gaW5mby5iYXNlbmFtZSAuLiBleHRlbnNpb24KaW5mby5leHRlbnNpb24gID0gZXh0ZW5zaW9uCmluZm8uYWJzcGF0aCAgICA9IHBhdGguam9pbihkaXJlY3RvcnksIGluZm8ubmFtZSkKaW5mby5mdWxscGF0aCAgID0gaW5mby5hYnNwYXRoCmluZm8uYnVuZGxlbmFtZSA9IGJ1bmRsZW5hbWUKaW5mby5idW5kbGVwYXRoID0gcGF0aC5qb2luKGRpcmVjdG9yeSwgYnVuZGxlcGF0aCkKaW5mby5wcmVmaXggICAgID0gcHJlZml4CmluZm8uc3VmZml4ICAgICA9IHN1ZmZpeApyZXR1cm4gaW5mbwplbmQKZnVuY3Rpb24gY29uZmlnLmNhbkxpbmsoY2ZnLCB0YXJnZXQsIGxpbmthZ2UpCmlmIHR5cGUodGFyZ2V0KSB+PSAic3RyaW5nIiB0aGVuCmlmIHRhcmdldC5raW5kIH49ICJTaGFyZWRMaWIiIGFuZCB0YXJnZXQua2luZCB+PSAiU3RhdGljTGliIiB0aGVuCnJldHVybiBmYWxzZQplbmQKaWYgY2ZnLmxhbmd1YWdlID09ICJDKysiIHRoZW4KaWYgY2ZnLmNsciA9PSBwLk9OIHRoZW4KcmV0dXJuIHRydWUKZW5kCmVuZAppZiB0YXJnZXQubGFuZ3VhZ2UgPT0gIkMrKyIgdGhlbgppZiB0YXJnZXQuY2xyID09IHAuT04gdGhlbgpyZXR1cm4gdHJ1ZQplbmQKZW5kCmxvY2FsIGNmZ01hbmFnZWQgPSBwcm9qZWN0LmlzZG90bmV0KGNmZy5wcm9qZWN0KSBvciAoY2ZnLmNsciB+PSBwLk9GRikKbG9jYWwgdGd0TWFuYWdlZCA9IHByb2plY3QuaXNkb3RuZXQodGFyZ2V0LnByb2plY3QpIG9yICh0YXJnZXQuY2xyIH49IHAuT0ZGKQpyZXR1cm4gKGNmZ01hbmFnZWQgPT0gdGd0TWFuYWdlZCkKZW5kCmlmIHByb2plY3QuaXNkb3RuZXQoY2ZnLnByb2plY3QpIHRoZW4KcmV0dXJuIHRydWUKZW5kCmxvY2FsIGlzTWFuYWdlZCA9IChwYXRoLmdldGV4dGVuc2lvbih0YXJnZXQpID09ICIuZGxsIikKaWYgaXNNYW5hZ2VkIGFuZCBjZmcuY2xyID09IHAuT0ZGIHRoZW4KcmV0dXJuIGZhbHNlCmVuZApyZXR1cm4gKGlzTWFuYWdlZCkgPT0gKGxpbmthZ2UgPT0gIm1hbmFnZWQiKQplbmQKZnVuY3Rpb24gY29uZmlnLmNhbkxpbmtJbmNyZW1lbnRhbChjZmcpCmlmIGNmZy5raW5kID09ICJTdGF0aWNMaWIiCm9yIGNvbmZpZy5pc09wdGltaXplZEJ1aWxkKGNmZykKb3IgY2ZnLmZsYWdzLk5vSW5jcmVtZW50YWxMaW5rIHRoZW4KcmV0dXJuIGZhbHNlCmVuZApyZXR1cm4gdHJ1ZQplbmQKZnVuY3Rpb24gY29uZmlnLmZpbmRmaWxlKGNmZywgZXh0KQpmb3IgXywgZm5hbWUgaW4gaXBhaXJzKGNmZy5maWxlcykgZG8KaWYgZm5hbWU6ZW5kc3dpdGgoZXh0KSB0aGVuCnJldHVybiBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBmbmFtZSkKZW5kCmVuZAplbmQKZnVuY3Rpb24gY29uZmlnLmdldGxpbmtpbmZvKGNmZykKbG9jYWwga2luZCA9IGNmZy5raW5kCmlmIHByb2plY3QuaXNuYXRpdmUoY2ZnLnByb2plY3QpICB0aGVuCmlmIGNmZy5zeXN0ZW0gPT0gcC5XSU5ET1dTIGFuZCBraW5kID09IHAuU0hBUkVETElCIGFuZCBub3QgY2ZnLmZsYWdzLk5vSW1wb3J0TGliIHRoZW4Ka2luZCA9IHAuU1RBVElDTElCCmVuZAplbmQKcmV0dXJuIGNvbmZpZy5idWlsZHRhcmdldGluZm8oY2ZnLCBraW5kLCAiaW1wbGliIikKZW5kCmZ1bmN0aW9uIGNvbmZpZy5nZXRsaW5rcyhjZmcsIGtpbmQsIHBhcnQsIGxpbmthZ2UpCmxvY2FsIHJlc3VsdCA9IHt9CmlmIHBhcnQgPT0gImRpcmVjdG9yeSIgdGhlbgp0YWJsZS5mb3JlYWNoaShjZmcubGliZGlycywgZnVuY3Rpb24oZGlyKQp0YWJsZS5pbnNlcnQocmVzdWx0LCBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBkaXIpKQplbmQpCmVuZApmb3IgaSA9IDEsICNjZmcubGlua3MgZG8KbG9jYWwgbGluayA9IGNmZy5saW5rc1tpXQpsb2NhbCBpdGVtCmxvY2FsIHByaiA9IHAud29ya3NwYWNlLmZpbmRwcm9qZWN0KGNmZy53b3Jrc3BhY2UsIGxpbmspCmlmIHByaiBhbmQga2luZCB+PSAic3lzdGVtIiB0aGVuCmxvY2FsIHByamNmZyA9IHByb2plY3QuZ2V0Y29uZmlnKHByaiwgY2ZnLmJ1aWxkY2ZnLCBjZmcucGxhdGZvcm0pCmlmIHByamNmZyBhbmQgKGtpbmQgPT0gImRlcGVuZGVuY2llcyIgb3IgY29uZmlnLmNhbkxpbmsoY2ZnLCBwcmpjZmcpKSB0aGVuCmlmIHBhcnQgPT0gIm9iamVjdCIgdGhlbgppdGVtID0gcHJqY2ZnCmVsc2UKaXRlbSA9IHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIHByamNmZy5saW5rdGFyZ2V0LmZ1bGxwYXRoKQplbmQKZW5kCmVsc2VpZiBub3QgcHJqIGFuZCAoa2luZCA9PSAic3lzdGVtIiBvciBraW5kID09ICJhbGwiKSB0aGVuCmlmIGNvbmZpZy5jYW5MaW5rKGNmZywgbGluaywgbGlua2FnZSkgdGhlbgppdGVtID0gbGluawppZiBpdGVtOmZpbmQoIi8iLCBuaWwsIHRydWUpIHRoZW4KaXRlbSA9IHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGl0ZW0pCmVuZAplbmQKZW5kCmlmIGl0ZW0gYW5kIGl0ZW0gfj0gY2ZnIHRoZW4KaWYgcGFydCA9PSAiZGlyZWN0b3J5IiB0aGVuCml0ZW0gPSBwYXRoLmdldGRpcmVjdG9yeShpdGVtKQppZiBpdGVtID09ICIuIiB0aGVuCml0ZW0gPSBuaWwKZW5kCmVsc2VpZiBwYXJ0ID09ICJuYW1lIiB0aGVuCml0ZW0gPSBwYXRoLmdldG5hbWUoaXRlbSkKZWxzZWlmIHBhcnQgPT0gImJhc2VuYW1lIiB0aGVuCml0ZW0gPSBwYXRoLmdldGJhc2VuYW1lKGl0ZW0pCmVsc2VpZiB0eXBlKHBhcnQpID09ICJmdW5jdGlvbiIgdGhlbgpwYXJ0KGxpbmssIGl0ZW0pCmVuZAplbmQKaWYgaXRlbSBhbmQgbm90IHRhYmxlLmNvbnRhaW5zKHJlc3VsdCwgaXRlbSkgdGhlbgp0YWJsZS5pbnNlcnQocmVzdWx0LCBpdGVtKQplbmQKZW5kCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIGNvbmZpZy5nZXRydW50aW1lKGNmZykKaWYgKG5vdCBjZmcuc3RhdGljcnVudGltZSBvciBjZmcuc3RhdGljcnVudGltZSA9PSAiRGVmYXVsdCIpIGFuZCBub3QgY2ZnLnJ1bnRpbWUgdGhlbgpyZXR1cm4gbmlsIC0tIGluZGljYXRlIHRoYXQgbm8gcnVudGltZSB3YXMgZXhwbGljaXRseSBzZWxlY3RlZAplbmQKbG9jYWwgbGlua2FnZSA9IGlpZihjZmcuc3RhdGljcnVudGltZSA9PSAiT24iLCAiU3RhdGljIiwgIlNoYXJlZCIpIC0tIGFzc3VtZSAnU2hhcmVkJyBpcyBkZWZhdWx0PwppZiBub3QgY2ZnLnJ1bnRpbWUgdGhlbgpyZXR1cm4gbGlua2FnZSAuLiBpaWYoY29uZmlnLmlzRGVidWdCdWlsZChjZmcpLCAiRGVidWciLCAiUmVsZWFzZSIpCmVsc2UKcmV0dXJuIGxpbmthZ2UgLi4gY2ZnLnJ1bnRpbWUKZW5kCmVuZApmdW5jdGlvbiBjb25maWcuZ2V0dGFyZ2V0aW5mbyhjZmcpCnJldHVybiBjb25maWcuYnVpbGR0YXJnZXRpbmZvKGNmZywgY2ZnLmtpbmQsICJ0YXJnZXQiKQplbmQKZnVuY3Rpb24gY29uZmlnLmhhc0ZpbGUoc2VsZiwgdGVzdGZuKQpsb2NhbCBmaWxlcyA9IHNlbGYuZmlsZXMKZm9yIGkgPSAxLCAjZmlsZXMgZG8KaWYgdGVzdGZuKGZpbGVzW2ldKSB0aGVuCnJldHVybiB0cnVlCmVuZAplbmQKcmV0dXJuIGZhbHNlCmVuZApmdW5jdGlvbiBjb25maWcuaXNDb3B5TG9jYWwoY2ZnLCBsaW5rbmFtZSwgZGVmYXVsdCkKaWYgY2ZnLmZsYWdzLk5vQ29weUxvY2FsIHRoZW4KcmV0dXJuIGZhbHNlCmVuZAppZiAjY2ZnLmNvcHlsb2NhbCA+IDAgdGhlbgpyZXR1cm4gdGFibGUuY29udGFpbnMoY2ZnLmNvcHlsb2NhbCwgbGlua25hbWUpCmVuZApyZXR1cm4gZGVmYXVsdAplbmQKZnVuY3Rpb24gY29uZmlnLmlzRGVidWdCdWlsZChjZmcpCnJldHVybiBjZmcuc3ltYm9scyB+PSBuaWwgYW5kCmNmZy5zeW1ib2xzIH49IHAuT0ZGIGFuZApjZmcuc3ltYm9scyB+PSAiRGVmYXVsdCIgYW5kCm5vdCBjb25maWcuaXNPcHRpbWl6ZWRCdWlsZChjZmcpCmVuZApmdW5jdGlvbiBjb25maWcuaXNPcHRpbWl6ZWRCdWlsZChjZmcpCnJldHVybiBjZmcub3B0aW1pemUgfj0gbmlsIGFuZCBjZmcub3B0aW1pemUgfj0gcC5PRkYgYW5kIGNmZy5vcHRpbWl6ZSB+PSAiRGVidWciCmVuZApmdW5jdGlvbiBjb25maWcubGlua3NUb1Byb2plY3QoY2ZnLCBwcmpOYW1lKQpwcmpOYW1lID0gcHJqTmFtZTpsb3dlcigpCmxvY2FsIG4gPSAjY2ZnLmxpbmtzCmZvciBpID0gMSxuIGRvCmlmIGNmZy5saW5rc1tpXTpsb3dlcigpID09IHByak5hbWUgdGhlbgpyZXR1cm4gdHJ1ZQplbmQKZW5kCmVuZApmdW5jdGlvbiBjb25maWcubWFwRmxhZ3MoY2ZnLCBtYXBwaW5ncykKbG9jYWwgZmxhZ3MgPSB7fQpsb2NhbCBmdW5jdGlvbiBhZGQocmVwbGFjZW1lbnQpCmlmIHR5cGUocmVwbGFjZW1lbnQpID09ICJmdW5jdGlvbiIgdGhlbgpyZXBsYWNlbWVudCA9IHJlcGxhY2VtZW50KGNmZykKZW5kCnRhYmxlLmluc2VydGZsYXQoZmxhZ3MsIHJlcGxhY2VtZW50KQplbmQKZm9yIGZpZWxkIGluIHAuZmllbGQuZWFjaE9yZGVyZWQoKSBkbwpsb2NhbCBtYXAgPSBtYXBwaW5nc1tmaWVsZC5uYW1lXQppZiB0eXBlKG1hcCkgPT0gImZ1bmN0aW9uIiB0aGVuCm1hcCA9IG1hcChjZmcsIG1hcHBpbmdzKQplbmQKaWYgbWFwIHRoZW4KbG9jYWwgdmFsdWVzID0gY2ZnW2ZpZWxkLm5hbWVdCmlmIHR5cGUodmFsdWVzKSA9PSAiYm9vbGVhbiIgdGhlbgp2YWx1ZXMgPSBpaWYodmFsdWVzLCAiT24iLCAiT2ZmIikKZW5kCmlmIHR5cGUodmFsdWVzKSB+PSAidGFibGUiIHRoZW4KdmFsdWVzID0geyB2YWx1ZXMgfQplbmQKbG9jYWwgZm91bmRWYWx1ZSA9IGZhbHNlCnRhYmxlLmZvcmVhY2hpKHZhbHVlcywgZnVuY3Rpb24odmFsdWUpCmxvY2FsIHJlcGxhY2VtZW50ID0gbWFwW3ZhbHVlXQppZiByZXBsYWNlbWVudCB+PSBuaWwgdGhlbgpmb3VuZFZhbHVlID0gdHJ1ZQphZGQocmVwbGFjZW1lbnQpCmVuZAplbmQpCmlmIG5vdCBmb3VuZFZhbHVlIHRoZW4KYWRkKG1hcC5fKQplbmQKZm9yIGtleSwgcmVwbGFjZW1lbnQgaW4gcGFpcnMobWFwKSBkbwppZiAja2V5ID4gMSBhbmQga2V5OnN0YXJ0c3dpdGgoIl8iKSB0aGVuCmtleSA9IGtleTpzdWIoMikKaWYgdmFsdWVzW2tleV0gPT0gbmlsIHRoZW4KYWRkKHJlcGxhY2VtZW50KQplbmQKZW5kCmVuZAplbmQKZW5kCnJldHVybiBmbGFncwplbmQKZnVuY3Rpb24gY29uZmlnLm5vcm1hbGl6ZShjZmcpCmlmIGNmZyBhbmQgY2ZnLmNvbmZpZyB+PSBuaWwgdGhlbgpyZXR1cm4gY2ZnLmNvbmZpZywgY2ZnCmVsc2UKcmV0dXJuIGNmZywgbmlsCmVuZAplbmQKZnVuY3Rpb24gY29uZmlnLnRvb2xzZXQoY2ZnKQppZiBjZmcudG9vbHNldCB0aGVuCnJldHVybiBwLnRvb2xzLmNhbm9uaWNhbChjZmcudG9vbHNldCkKZW5kCmVuZAoAAAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAAAArFpTALxaUwDT0UkAyFpTANRaUwDkWlMA8FpTAARbUwAUW1MA09FJABAREgAIBwkGCgULBAwDDQIOAQ8AbG9jYWwgcCA9IHByZW1ha2UKbG9jYWwgYXBpID0gcC5hcGkKcC5EID0gIkQiCmFwaS5hZGRBbGxvd2VkKCJsYW5ndWFnZSIsIHAuRCkKYXBpLmFkZEFsbG93ZWQoImZsb2F0aW5ncG9pbnQiLCAiTm9uZSIpCmFwaS5hZGRBbGxvd2VkKCJmbGFncyIsIHsKIkNvZGVDb3ZlcmFnZSIsCiJEZXByZWNhdGVkIiwtLSBERVBSRUNBVEVECiJEb2N1bWVudGF0aW9uIiwKIkdlbmVyYXRlSGVhZGVyIiwKIkdlbmVyYXRlSlNPTiIsCiJHZW5lcmF0ZU1hcCIsCiJOb0JvdW5kc0NoZWNrIiwtLSBERVBSRUNBVEVECiJQcm9maWxlIiwKIlF1aWV0IiwKIlJldGFpblBhdGhzIiwKIlNlcGFyYXRlQ29tcGlsYXRpb24iLC0tIERFUFJFQ0FURUQKIlN5bWJvbHNMaWtlQyIsCiJVbml0VGVzdCIsCiJQcm9maWxlR0MiLAoiU3RhY2tGcmFtZSIsCiJTdGFja1N0b21wIiwKIkFsbFRlbXBsYXRlSW5zdCIsCiJCZXR0ZXJDIiwKIk1haW4iLAoiUGVyZm9ybVN5bnRheENoZWNrT25seSIsCiJTaG93Q29tbWFuZExpbmUiLAoiVmVyYm9zZSIsCiJTaG93VExTIiwKIlNob3dHQyIsCiJJZ25vcmVQcmFnbWEiLAoiU2hvd0RlcGVuZGVuY2llcyIsCn0pCmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAidmVyc2lvbmNvbnN0YW50cyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDpzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAidmVyc2lvbmxldmVsIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJpbnRlZ2VyIiwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImRlYnVnY29uc3RhbnRzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OnN0cmluZyIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJkZWJ1Z2xldmVsIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJpbnRlZ2VyIiwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImRvY2RpciIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAicGF0aCIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJkb2NuYW1lIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiaGVhZGVyZGlyIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJwYXRoIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImhlYWRlcm5hbWUiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJjb21waWxhdGlvbm1vZGVsIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAphbGxvd2VkID0gewoiRGVmYXVsdCIsCiJGaWxlIiwKIlBhY2thZ2UiLC0tIFRPRE86IHRoaXMgZG9lc24ndCB3b3JrIHdpdGggZ21ha2UhIQoiUHJvamVjdCIsCn0sCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJpbXBvcnRkaXJzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OnBhdGgiLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAic3RyaW5naW1wb3J0ZGlycyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDpwYXRoIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImRlcHJlY2F0ZWRmZWF0dXJlcyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKYWxsb3dlZCA9IHsKIkRlZmF1bHQiLAoiQWxsb3ciLAoiV2FybiIsCiJFcnJvciIsCn0sCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJib3VuZHNjaGVjayIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKYWxsb3dlZCA9IHsKIkRlZmF1bHQiLAoiT2ZmIiwKIk9uIiwKIlNhZmVPbmx5IiwKfSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImRlcGVuZGVuY2llc2ZpbGUiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInBhdGgiLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAianNvbmZpbGUiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInBhdGgiLAp0b2tlbnMgPSB0cnVlLAp9Cm5ld29wdGlvbgp7CmNhdGVnb3J5PSAiY29tcGlsZXJzIiwKdHJpZ2dlcj0gImRjIiwKdmFsdWU9ICJWQUxVRSIsCmRlc2NyaXB0aW9uPSAiQ2hvb3NlIGEgRCBjb21waWxlciIsCmFsbG93ZWQgPSB7CnsgImRtZCIsICJEaWdpdGFsIE1hcnMgKGRtZCkiIH0sCnsgImdkYyIsICJHTlUgR0RDIChnZGMpIiB9LAp7ICJsZGMiLCAiTExWTSBMREMgKGxkYzIpIiB9LAp9Cn0KYXBpLmRlcHJlY2F0ZVZhbHVlKCJmbGFncyIsICJTZXBhcmF0ZUNvbXBpbGF0aW9uIiwgJ1VzZSBgY29tcGlsYXRpb25tb2RlbCAiRmlsZSJgIGluc3RlYWQnLApmdW5jdGlvbih2YWx1ZSkKY29tcGlsYXRpb25tb2RlbCAiRmlsZSIKZW5kLApmdW5jdGlvbih2YWx1ZSkKY29tcGlsYXRpb25tb2RlbCAiRGVmYXVsdCIKZW5kKQphcGkuZGVwcmVjYXRlVmFsdWUoImZsYWdzIiwgIkRlcHJlY2F0ZWQiLCAnVXNlIGBkZXByZWNhdGVkZmVhdHVyZXMgIkFsbG93ImAgaW5zdGVhZCcsCmZ1bmN0aW9uKHZhbHVlKQpkZXByZWNhdGVkZmVhdHVyZXMgIkFsbG93IgplbmQsCmZ1bmN0aW9uKHZhbHVlKQpkZXByZWNhdGVkZmVhdHVyZXMgIkRlZmF1bHQiCmVuZCkKYXBpLmRlcHJlY2F0ZVZhbHVlKCJmbGFncyIsICJOb0JvdW5kc0NoZWNrIiwgJ1VzZSBgYm91bmRzY2hlY2sgIk9mZiJgIGluc3RlYWQnLApmdW5jdGlvbih2YWx1ZSkKYm91bmRzY2hlY2sgIk9mZiIKZW5kLApmdW5jdGlvbih2YWx1ZSkKYm91bmRzY2hlY2sgIkRlZmF1bHQiCmVuZCkKcmV0dXJuIGZ1bmN0aW9uIChjZmcpCnJldHVybiAoY2ZnLmxhbmd1YWdlID09IHAuRCBvciBjZmcubGFuZ3VhZ2UgPT0gIkMiIG9yIGNmZy5sYW5ndWFnZSA9PSAiQysrIikKZW5kCgAAbG9jYWwgcCA9IHByZW1ha2UKcC5tYWtlLmNwcCA9IHt9CmxvY2FsIG1ha2UgPSBwLm1ha2UKbG9jYWwgY3BwID0gcC5tYWtlLmNwcApsb2NhbCBwcm9qZWN0ID0gcC5wcm9qZWN0CmxvY2FsIGNvbmZpZyA9IHAuY29uZmlnCmxvY2FsIGZpbGVjb25maWcgPSBwLmZpbGVjb25maWcKY3BwLmVsZW1lbnRzID0ge30KY3BwLmVsZW1lbnRzLm1ha2VmaWxlID0gZnVuY3Rpb24ocHJqKQpyZXR1cm4gewptYWtlLmhlYWRlciwKbWFrZS5waG9ueVJ1bGVzLAptYWtlLmNwcENvbmZpZ3MsCm1ha2UuY3BwT2JqZWN0cywKbWFrZS5zaGVsbFR5cGUsCm1ha2UuY3BwVGFyZ2V0UnVsZXMsCm1ha2UuY3BwQ3VzdG9tRmlsZXNSdWxlcywKbWFrZS5jcHBUYXJnZXREaXJSdWxlcywKbWFrZS5jcHBPYmpEaXJSdWxlcywKbWFrZS5jcHBDbGVhblJ1bGVzLAptYWtlLnByZUJ1aWxkUnVsZXMsCm1ha2UucHJlTGlua1J1bGVzLAptYWtlLnBjaFJ1bGVzLAptYWtlLmNwcEZpbGVSdWxlcywKbWFrZS5jcHBEZXBlbmRlbmNpZXMsCn0KZW5kCmZ1bmN0aW9uIG1ha2UuZmlsZVR5cGVFeHRlbnNpb25zKCkKcmV0dXJuIHsKWyJvYmplY3RzIl0gPSAibyIsClsicmVzb3VyY2VzIl0gPSAicmVzIiwKfQplbmQKZnVuY3Rpb24gbWFrZS5maWxlVHlwZShub2RlKQpsb2NhbCBraW5kCmlmIHBhdGguaXNjcHBmaWxlKG5vZGUuYWJzcGF0aCkgdGhlbgpraW5kID0gIm9iamVjdHMiCmVsc2VpZiBwYXRoLmlzcmVzb3VyY2VmaWxlKG5vZGUuYWJzcGF0aCkgdGhlbgpraW5kID0gInJlc291cmNlcyIKZW5kCnJldHVybiBraW5kCmVuZApmdW5jdGlvbiBtYWtlLmZpbGVEZXBlbmRlbmN5KHByaiwgbm9kZSkKbG9jYWwgZmlsZXR5cGUgPSBtYWtlLmZpbGVUeXBlKG5vZGUpCl94KCckKE9CSkRJUikvJXMuJXM6ICVzJywgbm9kZS5vYmpuYW1lLCBtYWtlLmZpbGVUeXBlRXh0ZW5zaW9ucygpW2ZpbGV0eXBlXSwgbm9kZS5yZWxwYXRoKQpfcCgnXHRAZWNobyAkKG5vdGRpciAkPCknKQplbmQKZnVuY3Rpb24gbWFrZS5jcHAuZ2VuZXJhdGUocHJqKQpwLmVvbCgiXG4iKQpwLmNhbGxBcnJheShjcHAuZWxlbWVudHMubWFrZWZpbGUsIHByaikKZW5kCmNwcC5lbGVtZW50cy5zdGFuZGFyZEZpbGVSdWxlcyA9IGZ1bmN0aW9uKHByaiwgbm9kZSkKcmV0dXJuIHsKbWFrZS5maWxlRGVwZW5kZW5jeSwKY3BwLnN0YW5kYXJkRmlsZVJ1bGVzLAp9CmVuZApjcHAuZWxlbWVudHMuY3VzdG9tRmlsZVJ1bGVzID0gZnVuY3Rpb24ocHJqLCBub2RlKQpyZXR1cm4gewptYWtlLmZpbGVEZXBlbmRlbmN5LApjcHAuY3VzdG9tRmlsZVJ1bGVzLAp9CmVuZApjcHAuZWxlbWVudHMuY3VzdG9tQnVpbGRSdWxlcyA9IGZ1bmN0aW9uKHByaiwgbm9kZSkKcmV0dXJuIHsKY3BwLmN1c3RvbUZpbGVSdWxlcwp9CmVuZApjcHAuZWxlbWVudHMuY29uZmlndXJhdGlvbiA9IGZ1bmN0aW9uKGNmZywgdG9vbHNldCkKcmV0dXJuIHsKbWFrZS5jb25maWdCZWdpbiwKbWFrZS5jcHBUb29scywKbWFrZS50YXJnZXQsCm1ha2Uub2JqZGlyLAptYWtlLnBjaCwKbWFrZS5kZWZpbmVzLAptYWtlLmluY2x1ZGVzLAptYWtlLmZvcmNlSW5jbHVkZSwKbWFrZS5jcHBGbGFncywKbWFrZS5jRmxhZ3MsCm1ha2UuY3h4RmxhZ3MsCm1ha2UucmVzRmxhZ3MsCm1ha2UubGlicywKbWFrZS5sZERlcHMsCm1ha2UubGRGbGFncywKbWFrZS5saW5rQ21kLAptYWtlLmV4ZVBhdGhzLAptYWtlLnByZUJ1aWxkQ21kcywKbWFrZS5wcmVMaW5rQ21kcywKbWFrZS5wb3N0QnVpbGRDbWRzLAptYWtlLmNwcEFsbFJ1bGVzLAptYWtlLnNldHRpbmdzLAptYWtlLmNvbmZpZ0VuZCwKfQplbmQKZnVuY3Rpb24gbWFrZS5jcHBDb25maWdzKHByaikKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpsb2NhbCB0b29sc2V0ID0gcC50b29sc1tfT1BUSU9OUy5jYyBvciBjZmcudG9vbHNldCBvciAiZ2NjIl0KaWYgbm90IHRvb2xzZXQgdGhlbgplcnJvcigiSW52YWxpZCB0b29sc2V0ICciIC4uIGNmZy50b29sc2V0IC4uICInIikKZW5kCnAuY2FsbEFycmF5KGNwcC5lbGVtZW50cy5jb25maWd1cmF0aW9uLCBjZmcsIHRvb2xzZXQpCl9wKCcnKQplbmQKZW5kCmZ1bmN0aW9uIG1ha2UuZXhlUGF0aHMoY2ZnKQpsb2NhbCBkaXJzID0gcHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgY2ZnLmJpbmRpcnMpCmlmICNkaXJzID4gMCB0aGVuCl9wKCcgIEVYRUNVVEFCTEVfUEFUSFMgPSAiJXMiJywgdGFibGUuY29uY2F0KGRpcnMsICI6IikpCl9wKCcgIEVYRV9QQVRIUyA9IGV4cG9ydCBQQVRIPSQoRVhFQ1VUQUJMRV9QQVRIUyk6JCRQQVRIOycpCmVuZAplbmQKZnVuY3Rpb24gY3BwLmNvbXBpbGVhcyhwcmosIG5vZGUpCmxvY2FsIHJlc3VsdAppZiBub2RlWyJjb21waWxlYXMiXSB0aGVuCmlmIHAubGFuZ3VhZ2VzLmlzYyhub2RlLmNvbXBpbGVhcykgdGhlbgpyZXN1bHQgPSAnJChDQykgJChBTExfQ0ZMQUdTKScKZWxzZWlmIHAubGFuZ3VhZ2VzLmlzY3BwKG5vZGUuY29tcGlsZWFzKSB0aGVuCnJlc3VsdCA9ICckKENYWCkgJChBTExfQ1hYRkxBR1MpJwplbmQKZW5kCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIGNwcC5idWlsZGNvbW1hbmQocHJqLCBvYmpleHQsIG5vZGUpCmxvY2FsIGZsYWdzID0gY3BwLmNvbXBpbGVhcyhwcmosIG5vZGUpCmlmIG5vdCBmbGFncyB0aGVuCmxvY2FsIGlzY2ZpbGUgPSBub2RlIGFuZCBwYXRoLmlzY2ZpbGUobm9kZS5hYnNwYXRoKSBvciBmYWxzZQpmbGFncyA9IGlpZihwcmoubGFuZ3VhZ2UgPT0gIkMiIG9yIGlzY2ZpbGUsICckKENDKSAkKEFMTF9DRkxBR1MpJywgJyQoQ1hYKSAkKEFMTF9DWFhGTEFHUyknKQplbmQKX3AoJ1x0JChTSUxFTlQpICVzICQoRk9SQ0VfSU5DTFVERSkgLW8gIiRAIiAtTUYgIiQoQDolJS4lcz0lJS5kKSIgLWMgIiQ8IicsIGZsYWdzLCBvYmpleHQpCmVuZApmdW5jdGlvbiBtYWtlLmNwcEZpbGVSdWxlcyhwcmopCmxvY2FsIHRyID0gcHJvamVjdC5nZXRzb3VyY2V0cmVlKHByaikKcC50cmVlLnRyYXZlcnNlKHRyLCB7Cm9ubGVhZiA9IGZ1bmN0aW9uKG5vZGUsIGRlcHRoKQpsb2NhbCBydWxlcwpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmxvY2FsIGZpbGVjZmcgPSBmaWxlY29uZmlnLmdldGNvbmZpZyhub2RlLCBjZmcpCmlmIGZpbGVjb25maWcuaGFzQ3VzdG9tQnVpbGRSdWxlKGZpbGVjZmcpIHRoZW4KcnVsZXMgPSBjcHAuZWxlbWVudHMuY3VzdG9tQnVpbGRSdWxlcyhwcmosIG5vZGUpCmJyZWFrCmVuZAppZiBmaWxlY29uZmlnLmhhc0ZpbGVTZXR0aW5ncyhmaWxlY2ZnKSB0aGVuCnJ1bGVzID0gY3BwLmVsZW1lbnRzLmN1c3RvbUZpbGVSdWxlcyhwcmosIG5vZGUpCmJyZWFrCmVuZAplbmQKaWYgbm90IHJ1bGVzIGFuZCBtYWtlLmZpbGVUeXBlKG5vZGUpIHRoZW4KcnVsZXMgPSBjcHAuZWxlbWVudHMuc3RhbmRhcmRGaWxlUnVsZXMocHJqLCBub2RlKQplbmQKaWYgcnVsZXMgdGhlbgpwLmNhbGxBcnJheShydWxlcywgcHJqLCBub2RlKQplbmQKZW5kCn0pCl9wKCcnKQplbmQKZnVuY3Rpb24gY3BwLnN0YW5kYXJkRmlsZVJ1bGVzKHByaiwgbm9kZSkKbG9jYWwga2luZCA9IG1ha2UuZmlsZVR5cGUobm9kZSkKaWYga2luZCA9PSAib2JqZWN0cyIgdGhlbgpjcHAuYnVpbGRjb21tYW5kKHByaiwgbWFrZS5maWxlVHlwZUV4dGVuc2lvbnMoKVtraW5kXSwgbm9kZSkKZWxzZWlmIGtpbmQgPT0gInJlc291cmNlcyIgdGhlbgpfcCgnXHQkKFNJTEVOVCkgJChSRVNDT01QKSAkPCAtTyBjb2ZmIC1vICIkQCIgJChBTExfUkVTRkxBR1MpJykKZW5kCmVuZApmdW5jdGlvbiBjcHAuY3VzdG9tRmlsZVJ1bGVzKHByaiwgbm9kZSkKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpsb2NhbCBmaWxlY2ZnID0gZmlsZWNvbmZpZy5nZXRjb25maWcobm9kZSwgY2ZnKQppZiBmaWxlY2ZnIHRoZW4KbWFrZS5jb25maWdCZWdpbihjZmcpCmlmIGZpbGVjb25maWcuaGFzQ3VzdG9tQnVpbGRSdWxlKGZpbGVjZmcpIHRoZW4KbG9jYWwgb3V0cHV0ID0gcHJvamVjdC5nZXRyZWxhdGl2ZShwcmosIGZpbGVjZmcuYnVpbGRvdXRwdXRzWzFdKQpsb2NhbCBkZXBlbmRlbmNpZXMgPSBmaWxlY2ZnLnJlbHBhdGgKaWYgZmlsZWNmZy5idWlsZGlucHV0cyBhbmQgI2ZpbGVjZmcuYnVpbGRpbnB1dHMgPiAwIHRoZW4KbG9jYWwgaW5wdXRzID0gcHJvamVjdC5nZXRyZWxhdGl2ZShwcmosIGZpbGVjZmcuYnVpbGRpbnB1dHMpCmRlcGVuZGVuY2llcyA9IGRlcGVuZGVuY2llcyAuLiAiICIgLi4gdGFibGUuY29uY2F0KHAuZXNjKGlucHV0cyksICIgIikKZW5kCl9wKCclczogJXMnLCBvdXRwdXQsIGRlcGVuZGVuY2llcykKX3AoJ1x0QGVjaG8gIiVzIicsIGZpbGVjZmcuYnVpbGRtZXNzYWdlIG9yICgiQnVpbGRpbmcgIiAuLiBmaWxlY2ZnLnJlbHBhdGgpKQpsb2NhbCBjbWRzID0gb3MudHJhbnNsYXRlQ29tbWFuZHNBbmRQYXRocyhmaWxlY2ZnLmJ1aWxkY29tbWFuZHMsIGNmZy5wcm9qZWN0LmJhc2VkaXIsIGNmZy5wcm9qZWN0LmxvY2F0aW9uKQpmb3IgXywgY21kIGluIGlwYWlycyhjbWRzKSBkbwppZiBjZmcuYmluZGlycyBhbmQgI2NmZy5iaW5kaXJzID4gMCB0aGVuCl9wKCdcdCQoU0lMRU5UKSAkKEVYRV9QQVRIUykgJXMnLCBjbWQpCmVsc2UKX3AoJ1x0JChTSUxFTlQpICVzJywgY21kKQplbmQKZW5kCmVsc2UKY3BwLnN0YW5kYXJkRmlsZVJ1bGVzKHByaiwgZmlsZWNmZykKZW5kCm1ha2UuY29uZmlnRW5kKGNmZykKZW5kCmVuZAplbmQKZnVuY3Rpb24gbWFrZS5jcHBPYmplY3RzKHByaikKbG9jYWwgcm9vdCA9IHsgb2JqZWN0cz17fSwgcmVzb3VyY2VzPXt9LCBjdXN0b21maWxlcz17fSB9CmxvY2FsIGNvbmZpZ3MgPSB7fQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmNvbmZpZ3NbY2ZnXSA9IHsgb2JqZWN0cz17fSwgcmVzb3VyY2VzPXt9LCBjdXN0b21maWxlcz17fSB9CmVuZApsb2NhbCB0ciA9IHByb2plY3QuZ2V0c291cmNldHJlZShwcmopCnAudHJlZS50cmF2ZXJzZSh0ciwgewpvbmxlYWYgPSBmdW5jdGlvbihub2RlLCBkZXB0aCkKbG9jYWwgaW5jZmcgPSB7fQpsb2NhbCBpbmFsbCA9IHRydWUKbG9jYWwgY3VzdG9tID0gZmFsc2UKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpsb2NhbCBmaWxlY2ZnID0gZmlsZWNvbmZpZy5nZXRjb25maWcobm9kZSwgY2ZnKQppZiBmaWxlY2ZnIGFuZCBub3QgZmlsZWNmZy5mbGFncy5FeGNsdWRlRnJvbUJ1aWxkIHRoZW4KaW5jZmdbY2ZnXSA9IGZpbGVjZmcKY3VzdG9tID0gZmlsZWNvbmZpZy5oYXNDdXN0b21CdWlsZFJ1bGUoZmlsZWNmZykKZWxzZQppbmFsbCA9IGZhbHNlCmVuZAplbmQKaWYgbm90IGN1c3RvbSB0aGVuCmxvY2FsIGtpbmQKaWYgcGF0aC5pc2NwcGZpbGUobm9kZS5hYnNwYXRoKSB0aGVuCmtpbmQgPSAib2JqZWN0cyIKZWxzZWlmIHBhdGguaXNyZXNvdXJjZWZpbGUobm9kZS5hYnNwYXRoKSB0aGVuCmtpbmQgPSAicmVzb3VyY2VzIgplbmQKaWYgbm90IGN1c3RvbSBhbmQgbm90IGtpbmQgdGhlbgpyZXR1cm4KZW5kCm9iamVjdG5hbWUgPSAiJChPQkpESVIpLyIgLi4gbm9kZS5vYmpuYW1lIC4uIGlpZihraW5kID09ICJvYmplY3RzIiwgIi5vIiwgIi5yZXMiKQppZiBpbmFsbCB0aGVuCnRhYmxlLmluc2VydChyb290W2tpbmRdLCBvYmplY3RuYW1lKQplbHNlCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KaWYgaW5jZmdbY2ZnXSB0aGVuCnRhYmxlLmluc2VydChjb25maWdzW2NmZ11ba2luZF0sIG9iamVjdG5hbWUpCmVuZAplbmQKZW5kCmVsc2UKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpsb2NhbCBmaWxlY2ZnID0gaW5jZmdbY2ZnXQppZiBmaWxlY2ZnIHRoZW4KbG9jYWwgb3V0cHV0ID0gcHJvamVjdC5nZXRyZWxhdGl2ZShwcmosIGZpbGVjZmcuYnVpbGRvdXRwdXRzWzFdKQppZiBwYXRoLmlzb2JqZWN0ZmlsZShvdXRwdXQpIGFuZCAoZmlsZWNmZy5saW5rYnVpbGRvdXRwdXRzID09IHRydWUgb3IgZmlsZWNmZy5saW5rYnVpbGRvdXRwdXRzID09IG5pbCkgdGhlbgp0YWJsZS5pbnNlcnQoY29uZmlnc1tjZmddLm9iamVjdHMsIG91dHB1dCkKZWxzZQp0YWJsZS5pbnNlcnQoY29uZmlnc1tjZmddLmN1c3RvbWZpbGVzLCBvdXRwdXQpCmVuZAplbmQKZW5kCmVuZAplbmQKfSkKZnVuY3Rpb24gbGlzdG9iamVjdHModmFyLCBsaXN0KQpfcCgnJXMgXFwnLCB2YXIpCmZvciBfLCBvYmplY3RuYW1lIGluIGlwYWlycyhsaXN0KSBkbwpfeCgnXHQlcyBcXCcsIG9iamVjdG5hbWUpCmVuZApfcCgnJykKZW5kCmxpc3RvYmplY3RzKCdPQkpFQ1RTIDo9Jywgcm9vdC5vYmplY3RzLCAnbycpCmxpc3RvYmplY3RzKCdSRVNPVVJDRVMgOj0nLCByb290LnJlc291cmNlcywgJ3JlcycpCmxpc3RvYmplY3RzKCdDVVNUT01GSUxFUyA6PScsIHJvb3QuY3VzdG9tZmlsZXMpCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbG9jYWwgZmlsZXMgPSBjb25maWdzW2NmZ10KaWYgI2ZpbGVzLm9iamVjdHMgPiAwIG9yICNmaWxlcy5yZXNvdXJjZXMgPiAwIG9yICNmaWxlcy5jdXN0b21maWxlcyA+IDAgdGhlbgptYWtlLmNvbmZpZ0JlZ2luKGNmZywgdG9vbHNldCkKaWYgI2ZpbGVzLm9iamVjdHMgPiAwIHRoZW4KbGlzdG9iamVjdHMoJyAgT0JKRUNUUyArPScsIGZpbGVzLm9iamVjdHMpCmVuZAppZiAjZmlsZXMucmVzb3VyY2VzID4gMCB0aGVuCmxpc3RvYmplY3RzKCcgIFJFU09VUkNFUyArPScsIGZpbGVzLnJlc291cmNlcykKZW5kCmlmICNmaWxlcy5jdXN0b21maWxlcyA+IDAgdGhlbgpsaXN0b2JqZWN0cygnICBDVVNUT01GSUxFUyArPScsIGZpbGVzLmN1c3RvbWZpbGVzKQplbmQKbWFrZS5jb25maWdFbmQoY2ZnLCB0b29sc2V0KQpfcCgnJykKZW5kCmVuZAplbmQKZnVuY3Rpb24gbWFrZS5jb25maWdCZWdpbihjZmcsIHRvb2xzZXQpCmlmIGNmZyB0aGVuCl94KCdpZmVxICgkKGNvbmZpZyksJXMpJywgY2ZnLnNob3J0bmFtZSkKZW5kCmVuZApmdW5jdGlvbiBtYWtlLmNvbmZpZ0VuZChjZmcsIHRvb2xzZXQpCmlmIGNmZyB0aGVuCl9wKCdlbmRpZicpCmVuZAplbmQKZnVuY3Rpb24gbWFrZS5jRmxhZ3MoY2ZnLCB0b29sc2V0KQpfcCgnICBBTExfQ0ZMQUdTICs9ICQoQ0ZMQUdTKSAkKEFMTF9DUFBGTEFHUyklcycsIG1ha2UubGlzdCh0YWJsZS5qb2luKHRvb2xzZXQuZ2V0Y2ZsYWdzKGNmZyksIGNmZy5idWlsZG9wdGlvbnMpKSkKZW5kCmZ1bmN0aW9uIG1ha2UuY3BwQWxsUnVsZXMoY2ZnLCB0b29sc2V0KQppZiBjZmcuc3lzdGVtID09IHAuTUFDT1NYIGFuZCBjZmcua2luZCA9PSBwLldJTkRPV0VEQVBQIHRoZW4KX3AoJ2FsbDogcHJlYnVpbGQgcHJlbGluayAkKFRBUkdFVCkgJChkaXIgJChUQVJHRVRESVIpKVBrZ0luZm8gJChkaXIgJChUQVJHRVRESVIpKUluZm8ucGxpc3QnKQpfcCgnXHRAOicpCl9wKCcnKQpfcCgnJChkaXIgJChUQVJHRVRESVIpKVBrZ0luZm86JykKX3AoJyQoZGlyICQoVEFSR0VURElSKSlJbmZvLnBsaXN0OicpCmVsc2UKX3AoJ2FsbDogcHJlYnVpbGQgcHJlbGluayAkKFRBUkdFVCknKQpfcCgnXHRAOicpCmVuZAplbmQKZnVuY3Rpb24gbWFrZS5jcHBGbGFncyhjZmcsIHRvb2xzZXQpCl9wKCcgIEFMTF9DUFBGTEFHUyArPSAkKENQUEZMQUdTKSVzICQoREVGSU5FUykgJChJTkNMVURFUyknLCBtYWtlLmxpc3QodG9vbHNldC5nZXRjcHBmbGFncyhjZmcpKSkKZW5kCmZ1bmN0aW9uIG1ha2UuY3h4RmxhZ3MoY2ZnLCB0b29sc2V0KQpfcCgnICBBTExfQ1hYRkxBR1MgKz0gJChDWFhGTEFHUykgJChBTExfQ1BQRkxBR1MpJXMnLCBtYWtlLmxpc3QodGFibGUuam9pbih0b29sc2V0LmdldGN4eGZsYWdzKGNmZyksIGNmZy5idWlsZG9wdGlvbnMpKSkKZW5kCmZ1bmN0aW9uIG1ha2UuY3BwQ2xlYW5SdWxlcyhwcmopCl9wKCdjbGVhbjonKQpfcCgnXHRAZWNobyBDbGVhbmluZyAlcycsIHByai5uYW1lKQpfcCgnaWZlcSAocG9zaXgsJChTSEVMTFRZUEUpKScpCl9wKCdcdCQoU0lMRU5UKSBybSAtZiAgJChUQVJHRVQpJykKX3AoJ1x0JChTSUxFTlQpIHJtIC1yZiAkKE9CSkRJUiknKQpfcCgnZWxzZScpCl9wKCdcdCQoU0lMRU5UKSBpZiBleGlzdCAkKHN1YnN0IC8sXFxcXCwkKFRBUkdFVCkpIGRlbCAkKHN1YnN0IC8sXFxcXCwkKFRBUkdFVCkpJykKX3AoJ1x0JChTSUxFTlQpIGlmIGV4aXN0ICQoc3Vic3QgLyxcXFxcLCQoT0JKRElSKSkgcm1kaXIgL3MgL3EgJChzdWJzdCAvLFxcXFwsJChPQkpESVIpKScpCl9wKCdlbmRpZicpCl9wKCcnKQplbmQKZnVuY3Rpb24gbWFrZS5jcHBEZXBlbmRlbmNpZXMocHJqKQpfcCgnLWluY2x1ZGUgJChPQkpFQ1RTOiUlLm89JSUuZCknKQpfcCgnaWZuZXEgKCwkKFBDSCkpJykKX3AoJyAgLWluY2x1ZGUgJChPQkpESVIpLyQobm90ZGlyICQoUENIKSkuZCcpCl9wKCdlbmRpZicpCmVuZApmdW5jdGlvbiBtYWtlLmNwcFRhcmdldFJ1bGVzKHByaikKX3AoJyQoVEFSR0VUKTogJChHQ0gpICR7Q1VTVE9NRklMRVN9ICQoT0JKRUNUUykgJChMRERFUFMpICQoUkVTT1VSQ0VTKSB8ICQoVEFSR0VURElSKScpCl9wKCdcdEBlY2hvIExpbmtpbmcgJXMnLCBwcmoubmFtZSkKX3AoJ1x0JChTSUxFTlQpICQoTElOS0NNRCknKQpfcCgnXHQkKFBPU1RCVUlMRENNRFMpJykKX3AoJycpCmVuZApmdW5jdGlvbiBtYWtlLmNwcEN1c3RvbUZpbGVzUnVsZXMocHJqKQpfcCgnJChDVVNUT01GSUxFUyk6IHwgJChPQkpESVIpJykKX3AoJycpCmVuZApmdW5jdGlvbiBtYWtlLmNwcFRhcmdldERpclJ1bGVzKHByaikKX3AoJyQoVEFSR0VURElSKTonKQpfcCgnXHRAZWNobyBDcmVhdGluZyAkKFRBUkdFVERJUiknKQptYWtlLm1rZGlyKCckKFRBUkdFVERJUiknKQpfcCgnJykKZW5kCmZ1bmN0aW9uIG1ha2UuY3BwT2JqRGlyUnVsZXMocHJqKQpfcCgnJChPQkpESVIpOicpCl9wKCdcdEBlY2hvIENyZWF0aW5nICQoT0JKRElSKScpCm1ha2UubWtkaXIoJyQoT0JKRElSKScpCl9wKCcnKQplbmQKZnVuY3Rpb24gbWFrZS5jcHBUb29scyhjZmcsIHRvb2xzZXQpCmxvY2FsIHRvb2wgPSB0b29sc2V0LmdldHRvb2xuYW1lKGNmZywgImNjIikKaWYgdG9vbCB0aGVuCl9wKCcgIGlmZXEgKCQob3JpZ2luIENDKSwgZGVmYXVsdCknKQpfcCgnICAgIENDID0gJXMnLCB0b29sKQpfcCgnICBlbmRpZicgKQplbmQKdG9vbCA9IHRvb2xzZXQuZ2V0dG9vbG5hbWUoY2ZnLCAiY3h4IikKaWYgdG9vbCB0aGVuCl9wKCcgIGlmZXEgKCQob3JpZ2luIENYWCksIGRlZmF1bHQpJykKX3AoJyAgICBDWFggPSAlcycsIHRvb2wpCl9wKCcgIGVuZGlmJyApCmVuZAp0b29sID0gdG9vbHNldC5nZXR0b29sbmFtZShjZmcsICJhciIpCmlmIHRvb2wgdGhlbgpfcCgnICBpZmVxICgkKG9yaWdpbiBBUiksIGRlZmF1bHQpJykKX3AoJyAgICBBUiA9ICVzJywgdG9vbCkKX3AoJyAgZW5kaWYnICkKZW5kCnRvb2wgPSB0b29sc2V0LmdldHRvb2xuYW1lKGNmZywgInJjIikKaWYgdG9vbCB0aGVuCl9wKCcgIFJFU0NPTVAgPSAlcycsIHRvb2wpCmVuZAplbmQKZnVuY3Rpb24gbWFrZS5kZWZpbmVzKGNmZywgdG9vbHNldCkKX3AoJyAgREVGSU5FUyArPSVzJywgbWFrZS5saXN0KHRhYmxlLmpvaW4odG9vbHNldC5nZXRkZWZpbmVzKGNmZy5kZWZpbmVzLCBjZmcpLCB0b29sc2V0LmdldHVuZGVmaW5lcyhjZmcudW5kZWZpbmVzKSkpKQplbmQKZnVuY3Rpb24gbWFrZS5mb3JjZUluY2x1ZGUoY2ZnLCB0b29sc2V0KQpsb2NhbCBpbmNsdWRlcyA9IHRvb2xzZXQuZ2V0Zm9yY2VpbmNsdWRlcyhjZmcpCmlmIG5vdCBjZmcuZmxhZ3MuTm9QQ0ggYW5kIGNmZy5wY2hoZWFkZXIgdGhlbgp0YWJsZS5pbnNlcnQoaW5jbHVkZXMsIDEsICItaW5jbHVkZSAkKE9CSkRJUikvJChub3RkaXIgJChQQ0gpKSIpCmVuZApfeCgnICBGT1JDRV9JTkNMVURFICs9JXMnLCBtYWtlLmxpc3QoaW5jbHVkZXMpKQplbmQKZnVuY3Rpb24gbWFrZS5pbmNsdWRlcyhjZmcsIHRvb2xzZXQpCmxvY2FsIGluY2x1ZGVzID0gdG9vbHNldC5nZXRpbmNsdWRlZGlycyhjZmcsIGNmZy5pbmNsdWRlZGlycywgY2ZnLnN5c2luY2x1ZGVkaXJzKQpfcCgnICBJTkNMVURFUyArPSVzJywgbWFrZS5saXN0KGluY2x1ZGVzKSkKZW5kCmZ1bmN0aW9uIG1ha2UubGREZXBzKGNmZywgdG9vbHNldCkKbG9jYWwgZGVwcyA9IGNvbmZpZy5nZXRsaW5rcyhjZmcsICJzaWJsaW5ncyIsICJmdWxscGF0aCIpCl9wKCcgIExEREVQUyArPSVzJywgbWFrZS5saXN0KHAuZXNjKGRlcHMpKSkKZW5kCmZ1bmN0aW9uIG1ha2UubGRGbGFncyhjZmcsIHRvb2xzZXQpCmxvY2FsIGZsYWdzID0gdGFibGUuam9pbih0b29sc2V0LmdldExpYnJhcnlEaXJlY3RvcmllcyhjZmcpLCB0b29sc2V0LmdldHJ1bnBhdGhkaXJzKGNmZywgY2ZnLnJ1bnBhdGhkaXJzKSwgdG9vbHNldC5nZXRsZGZsYWdzKGNmZyksIGNmZy5saW5rb3B0aW9ucykKX3AoJyAgQUxMX0xERkxBR1MgKz0gJChMREZMQUdTKSVzJywgbWFrZS5saXN0KGZsYWdzKSkKZW5kCmZ1bmN0aW9uIG1ha2UubGlicyhjZmcsIHRvb2xzZXQpCmxvY2FsIGZsYWdzID0gdG9vbHNldC5nZXRsaW5rcyhjZmcpCl9wKCcgIExJQlMgKz0lcycsIG1ha2UubGlzdChmbGFncywgdHJ1ZSkpCmVuZApmdW5jdGlvbiBtYWtlLmxpbmtDbWQoY2ZnLCB0b29sc2V0KQppZiBjZmcua2luZCA9PSBwLlNUQVRJQ0xJQiB0aGVuCmlmIGNmZy5hcmNoaXRlY3R1cmUgPT0gcC5VTklWRVJTQUwgdGhlbgpfcCgnICBMSU5LQ01EID0gbGlidG9vbCAtbyAiJEAiICQoT0JKRUNUUyknKQplbHNlCl9wKCcgIExJTktDTUQgPSAkKEFSKSAnIC4uICh0b29sc2V0LmFyYXJncyBvciAnLXJjcycpIC4uJyAiJEAiICQoT0JKRUNUUyknKQplbmQKZWxzZWlmIGNmZy5raW5kID09IHAuVVRJTElUWSB0aGVuCl9wKCcgIExJTktDTUQgPScpCmVsc2UKbG9jYWwgY2MgPSBpaWYocC5sYW5ndWFnZXMuaXNjKGNmZy5sYW5ndWFnZSksICJDQyIsICJDWFgiKQpfcCgnICBMSU5LQ01EID0gJCglcykgLW8gIiRAIiAkKE9CSkVDVFMpICQoUkVTT1VSQ0VTKSAkKEFMTF9MREZMQUdTKSAkKExJQlMpJywgY2MpCmVuZAplbmQKZnVuY3Rpb24gbWFrZS5wY2goY2ZnLCB0b29sc2V0KQppZiBub3QgY2ZnLnBjaGhlYWRlciBvciBjZmcuZmxhZ3MuTm9QQ0ggdGhlbgpyZXR1cm4KZW5kCmxvY2FsIHBjaCA9IGNmZy5wY2hoZWFkZXIKbG9jYWwgZm91bmQgPSBmYWxzZQpsb2NhbCB0ZXN0bmFtZSA9IHBhdGguam9pbihjZmcucHJvamVjdC5iYXNlZGlyLCBwY2gpCmlmIG9zLmlzZmlsZSh0ZXN0bmFtZSkgdGhlbgpwY2ggPSBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCB0ZXN0bmFtZSkKZm91bmQgPSB0cnVlCmVsc2UKZm9yIF8sIGluY2RpciBpbiBpcGFpcnMoY2ZnLmluY2x1ZGVkaXJzKSBkbwp0ZXN0bmFtZSA9IHBhdGguam9pbihpbmNkaXIsIHBjaCkKaWYgb3MuaXNmaWxlKHRlc3RuYW1lKSB0aGVuCnBjaCA9IHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIHRlc3RuYW1lKQpmb3VuZCA9IHRydWUKYnJlYWsKZW5kCmVuZAplbmQKaWYgbm90IGZvdW5kIHRoZW4KcGNoID0gcHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgcGF0aC5nZXRhYnNvbHV0ZShwY2gpKQplbmQKX3goJyAgUENIID0gJXMnLCBwY2gpCl9wKCcgIEdDSCA9ICQoT0JKRElSKS8kKG5vdGRpciAkKFBDSCkpLmdjaCcpCmVuZApmdW5jdGlvbiBtYWtlLnBjaFJ1bGVzKHByaikKX3AoJ2lmbmVxICgsJChQQ0gpKScpCl9wKCckKE9CSkVDVFMpOiAkKEdDSCkgJChQQ0gpIHwgJChPQkpESVIpJykKX3AoJyQoR0NIKTogJChQQ0gpIHwgJChPQkpESVIpJykKX3AoJ1x0QGVjaG8gJChub3RkaXIgJDwpJykKbG9jYWwgY21kID0gaWlmKHByai5sYW5ndWFnZSA9PSAiQyIsICIkKENDKSAteCBjLWhlYWRlciAkKEFMTF9DRkxBR1MpIiwgIiQoQ1hYKSAteCBjKystaGVhZGVyICQoQUxMX0NYWEZMQUdTKSIpCl9wKCdcdCQoU0lMRU5UKSAlcyAtbyAiJEAiIC1NRiAiJChAOiUlLmdjaD0lJS5kKSIgLWMgIiQ8IicsIGNtZCkKX3AoJ2Vsc2UnKQpfcCgnJChPQkpFQ1RTKTogfCAkKE9CSkRJUiknKQpfcCgnZW5kaWYnKQpfcCgnJykKZW5kCmZ1bmN0aW9uIG1ha2UucmVzRmxhZ3MoY2ZnLCB0b29sc2V0KQpsb2NhbCByZXNmbGFncyA9IHRhYmxlLmpvaW4odG9vbHNldC5nZXRkZWZpbmVzKGNmZy5yZXNkZWZpbmVzKSwgdG9vbHNldC5nZXRpbmNsdWRlZGlycyhjZmcsIGNmZy5yZXNpbmNsdWRlZGlycyksIGNmZy5yZXNvcHRpb25zKQpfcCgnICBBTExfUkVTRkxBR1MgKz0gJChSRVNGTEFHUykgJChERUZJTkVTKSAkKElOQ0xVREVTKSVzJywgbWFrZS5saXN0KHJlc2ZsYWdzKSkKZW5kCgAAbG9jYWwgcCA9IHByZW1ha2UKbG9jYWwgbSA9IHAubW9kdWxlcy5zZWxmX3Rlc3QKbG9jYWwgXyA9IHt9CmZ1bmN0aW9uIG0ucnVuVGVzdCh0ZXN0KQpsb2NhbCBmYWlsZWQgPSAwCmxvY2FsIGZhaWxlZFRlc3RzID0ge30KbG9jYWwgc3VpdGVzID0gbS5nZXRTdWl0ZXMoKQpsb2NhbCBzdWl0ZXNLZXlzLCBzdWl0ZVRlc3RzS2V5cywgdG90YWxUZXN0Q291bnQgPSBfLnByZXByb2Nlc3NUZXN0cyhzdWl0ZXMsIHRlc3QpCl8ubG9nKHRlcm0ubGlnaHRHcmVlbiwgIls9PT09PT09PT09XSIsIHN0cmluZy5mb3JtYXQoIiBSdW5uaW5nICVkIHRlc3RzIGZyb20gJWQgdGVzdCBzdWl0ZXMuIiwgdG90YWxUZXN0Q291bnQsICNzdWl0ZXNLZXlzKSkKbG9jYWwgc3RhcnRUaW1lID0gb3MuY2xvY2soKQpmb3IgaW5kZXgsIHN1aXRlTmFtZSBpbiBpcGFpcnMoc3VpdGVzS2V5cykgZG8KICBzdWl0ZSA9IHN1aXRlc1tzdWl0ZU5hbWVdCmlmIG5vdCBtLmlzU3VwcHJlc3NlZChzdWl0ZU5hbWUpIHRoZW4KbG9jYWwgdGVzdCA9IHsKc3VpdGVOYW1lID0gc3VpdGVOYW1lLApzdWl0ZSA9IHN1aXRlCn0KbG9jYWwgc3VpdGVGYWlsZWQsIHN1aXRlRmFpbGVkVGVzdHMgPSBfLnJ1blRlc3RTdWl0ZSh0ZXN0LCBzdWl0ZVRlc3RzS2V5c1tzdWl0ZU5hbWVdKQpmYWlsZWQgPSBmYWlsZWQgKyBzdWl0ZUZhaWxlZApmYWlsZWRUZXN0cyA9IHRhYmxlLmpvaW4oZmFpbGVkVGVzdHMsIHN1aXRlRmFpbGVkVGVzdHMpCmVuZAplbmQKXy5sb2codGVybS5saWdodEdyZWVuLCAiWz09PT09PT09PT1dIiwgc3RyaW5nLmZvcm1hdCgiICVkIHRlc3RzIGZyb20gJWQgdGVzdCBzdWl0ZXMgcmFuLiAoJS4wZiBtcyB0b3RhbCkiLCB0b3RhbFRlc3RDb3VudCwgI3N1aXRlc0tleXMsIChvcy5jbG9jaygpIC0gc3RhcnRUaW1lKSAqIDEwMDApKQpfLmxvZyh0ZXJtLmxpZ2h0R3JlZW4sICJbICBQQVNTRUQgIF0iLCBzdHJpbmcuZm9ybWF0KCIgJWQgdGVzdHMuIiwgdG90YWxUZXN0Q291bnQgLSBmYWlsZWQpKQppZiBmYWlsZWQgPiAwIHRoZW4KXy5sb2codGVybS5saWdodFJlZCwgIlsgIEZBSUxFRCAgXSIsIHN0cmluZy5mb3JtYXQoIiAlZCB0ZXN0cywgbGlzdGVkIGJlbG93OiIsIGZhaWxlZCkpCmZvciBpbmRleCwgdGVzdE5hbWUgaW4gaXBhaXJzKGZhaWxlZFRlc3RzKSBkbwpfLmxvZyh0ZXJtLmxpZ2h0UmVkLCAiWyAgRkFJTEVEICBdIiwgIiAiIC4uIHRlc3ROYW1lKQplbmQKZW5kCnJldHVybiAodG90YWxUZXN0Q291bnQgLSBmYWlsZWQpLCBmYWlsZWQKZW5kCmZ1bmN0aW9uIF8ucnVuVGVzdFN1aXRlKHRlc3QsIGtleXMpCmxvY2FsIGZhaWxlZCA9IDAKbG9jYWwgZmFpbGVkVGVzdHMgPSB7fQpfLmxvZyh0ZXJtLmxpZ2h0R3JlZW4sICJbLS0tLS0tLS0tLV0iLCBzdHJpbmcuZm9ybWF0KCIgJWQgdGVzdHMgZnJvbSAlcyIsICNrZXlzLCB0ZXN0LnN1aXRlTmFtZSkpCmxvY2FsIHN0YXJ0VGltZSA9IG9zLmNsb2NrKCkKaWYgdGVzdC5zdWl0ZSB+PSBuaWwgdGhlbgpmb3IgaW5kZXgsIHRlc3ROYW1lIGluIGlwYWlycyhrZXlzKSBkbwp0ZXN0RnVuY3Rpb24gPSB0ZXN0LnN1aXRlW3Rlc3ROYW1lXQp0ZXN0LnRlc3ROYW1lID0gdGVzdE5hbWUKdGVzdC50ZXN0RnVuY3Rpb24gPSB0ZXN0RnVuY3Rpb24KaWYgbS5pc1ZhbGlkKHRlc3QpIGFuZCBub3QgbS5pc1N1cHByZXNzZWQodGVzdC5zdWl0ZU5hbWUgLi4gIi4iIC4uIHRlc3QudGVzdE5hbWUpIHRoZW4KbG9jYWwgZXJyID0gXy5ydW5UZXN0KHRlc3QpCmlmIGVyciB0aGVuCmZhaWxlZCA9IGZhaWxlZCArIDEKdGFibGUuaW5zZXJ0KGZhaWxlZFRlc3RzLCB0ZXN0LnN1aXRlTmFtZSAuLiAiLiIgLi4gdGVzdC50ZXN0TmFtZSAuLiAiXG4iIC4uIGVycikKZW5kCmVuZAplbmQKZW5kCl8ubG9nKHRlcm0ubGlnaHRHcmVlbiwgIlstLS0tLS0tLS0tXSIsIHN0cmluZy5mb3JtYXQoIiAlZCB0ZXN0cyBmcm9tICVzICglLjBmIG1zIHRvdGFsKVxuIiwgI2tleXMsIHRlc3Quc3VpdGVOYW1lLCAob3MuY2xvY2soKSAtIHN0YXJ0VGltZSkgKiAxMDAwKSkKcmV0dXJuIGZhaWxlZCwgZmFpbGVkVGVzdHMKZW5kCmZ1bmN0aW9uIF8ucnVuVGVzdCh0ZXN0KQpfLmxvZyh0ZXJtLmxpZ2h0R3JlZW4sICJbIFJVTiAgICAgIF0iLCBzdHJpbmcuZm9ybWF0KCIgJXMuJXMiLCB0ZXN0LnN1aXRlTmFtZSwgdGVzdC50ZXN0TmFtZSkpCmxvY2FsIHN0YXJ0VGltZSA9IG9zLmNsb2NrKCkKbG9jYWwgY3dkID0gb3MuZ2V0Y3dkKCkKbG9jYWwgaG9va3MgPSBfLmluc3RhbGxUZXN0aW5nSG9va3MoKQpfVEVTVFNfRElSID0gdGVzdC5zdWl0ZS5fVEVTVFNfRElSCl9TQ1JJUFRfRElSID0gdGVzdC5zdWl0ZS5fU0NSSVBUX0RJUgptLnN1aXRlTmFtZSA9IHRlc3Quc3VpdGVOYW1lCm0udGVzdE5hbWUgPSB0ZXN0LnRlc3ROYW1lCmxvY2FsIG9rLCBlcnIgPSBfLnNldHVwVGVzdCh0ZXN0KQppZiBvayB0aGVuCm9rLCBlcnIgPSBfLmV4ZWN1dGVUZXN0KHRlc3QpCmVuZApsb2NhbCB0b2ssIHRlcnIgPSBfLnRlYXJkb3duVGVzdCh0ZXN0KQpvayA9IG9rIGFuZCB0b2sKZXJyID0gZXJyIG9yIHRlcnIKXy5yZW1vdmVUZXN0aW5nSG9va3MoaG9va3MpCm9zLmNoZGlyKGN3ZCkKaWYgb2sgdGhlbgpfLmxvZyh0ZXJtLmxpZ2h0R3JlZW4sICJbICAgICAgIE9LIF0iLCBzdHJpbmcuZm9ybWF0KCIgJXMuJXMgKCUuMGYgbXMpIiwgdGVzdC5zdWl0ZU5hbWUsIHRlc3QudGVzdE5hbWUsIChvcy5jbG9jaygpIC0gc3RhcnRUaW1lKSAqIDEwMDApKQpyZXR1cm4gbmlsCmVsc2UKXy5sb2codGVybS5saWdodFJlZCwgIlsgIEZBSUxFRCAgXSIsIHN0cmluZy5mb3JtYXQoIiAlcy4lcyAoJS4wZiBtcykiLCB0ZXN0LnN1aXRlTmFtZSwgdGVzdC50ZXN0TmFtZSwgKG9zLmNsb2NrKCkgLSBzdGFydFRpbWUpICogMTAwMCkpCm0ucHJpbnQoc3RyaW5nLmZvcm1hdCgiJXMiLCBlcnIpKQpyZXR1cm4gZXJyCmVuZAplbmQKZnVuY3Rpb24gXy5sb2coY29sb3IsIGxlZnQsIHJpZ2h0KQp0ZXJtLnB1c2hDb2xvcihjb2xvcikKaW8ud3JpdGUobGVmdCkKdGVybS5wb3BDb2xvcigpCm0ucHJpbnQocmlnaHQpCmVuZApmdW5jdGlvbiBfLnByZXByb2Nlc3NUZXN0cyhzdWl0ZXMsIGZpbHRlcikKbG9jYWwgc3VpdGVzS2V5cyA9IHt9CmxvY2FsIHN1aXRlVGVzdHNLZXlzID0ge30KbG9jYWwgdG90YWxUZXN0Q291bnQgPSAwCmZvciBzdWl0ZU5hbWUsIHN1aXRlIGluIHBhaXJzKHN1aXRlcykgZG8KaWYgbm90IG0uaXNTdXBwcmVzc2VkKHN1aXRlTmFtZSkgYW5kIHN1aXRlIH49IG5pbCBhbmQgKG5vdCBmaWx0ZXIuc3VpdGVOYW1lIG9yIGZpbHRlci5zdWl0ZU5hbWUgPT0gc3VpdGVOYW1lKSB0aGVuCmxvY2FsIHRlc3QgPSB7fQp0YWJsZS5pbnNlcnRzb3J0ZWQoc3VpdGVzS2V5cywgc3VpdGVOYW1lKQp0ZXN0LnN1aXRlTmFtZSA9IHN1aXRlTmFtZQp0ZXN0LnN1aXRlID0gc3VpdGUKc3VpdGVUZXN0c0tleXNbc3VpdGVOYW1lXSA9IHt9CmZvciB0ZXN0TmFtZSwgdGVzdEZ1bmN0aW9uIGluIHBhaXJzKHN1aXRlKSBkbwp0ZXN0LnRlc3ROYW1lID0gdGVzdE5hbWUKdGVzdC50ZXN0RnVuY3Rpb24gPSB0ZXN0RnVuY3Rpb24KaWYgbS5pc1ZhbGlkKHRlc3QpIGFuZCBub3QgbS5pc1N1cHByZXNzZWQodGVzdC5zdWl0ZU5hbWUgLi4gIi4iIC4uIHRlc3QudGVzdE5hbWUpIGFuZCAobm90IGZpbHRlci50ZXN0TmFtZSBvciBmaWx0ZXIudGVzdE5hbWUgPT0gdGVzdE5hbWUpIHRoZW4KdGFibGUuaW5zZXJ0c29ydGVkKHN1aXRlVGVzdHNLZXlzW3N1aXRlTmFtZV0sIHRlc3ROYW1lKQplbmQKZW5kCnRvdGFsVGVzdENvdW50ID0gdG90YWxUZXN0Q291bnQgKyAjc3VpdGVUZXN0c0tleXNbc3VpdGVOYW1lXQplbmQKZW5kCnJldHVybiBzdWl0ZXNLZXlzLCBzdWl0ZVRlc3RzS2V5cywgdG90YWxUZXN0Q291bnQKZW5kCmZ1bmN0aW9uIF8uaW5zdGFsbFRlc3RpbmdIb29rcygpCmxvY2FsIGhvb2tzID0ge30KaG9va3MuYWN0aW9uID0gX0FDVElPTgpob29rcy5vcHRpb25zID0gX09QVElPTlMKaG9va3MudGFyZ2V0T3MgPSBfVEFSR0VUX09TCmhvb2tzLmlvX29wZW4gPSBpby5vcGVuCmhvb2tzLmlvX291dHB1dCA9IGlvLm91dHB1dApob29rcy5vc193cml0ZWZpbGVfaWZub3RlcXVhbCA9IG9zLndyaXRlZmlsZV9pZm5vdGVxdWFsCmhvb2tzLnBfdXRmOCA9IHAudXRmOApob29rcy5wcmludCA9IHByaW50Cmhvb2tzLnNldFRleHRDb2xvciA9IHRlcm0uc2V0VGV4dENvbG9yCmxvY2FsIG10ID0gZ2V0bWV0YXRhYmxlKGlvLnN0ZGVycikKXy5idWlsdGluX3dyaXRlID0gbXQud3JpdGUKbXQud3JpdGUgPSBfLnN0dWJfc3RkZXJyX3dyaXRlCl9PUFRJT05TID0gdGFibGUuc2hhbGxvd2NvcHkoX09QVElPTlMpIG9yIHt9CnNldG1ldGF0YWJsZShfT1BUSU9OUywgZ2V0bWV0YXRhYmxlKGhvb2tzLm9wdGlvbnMpKQppby5vcGVuID0gXy5zdHViX2lvX29wZW4KaW8ub3V0cHV0ID0gXy5zdHViX2lvX291dHB1dApvcy53cml0ZWZpbGVfaWZub3RlcXVhbCA9IF8uc3R1Yl9vc193cml0ZWZpbGVfaWZub3RlcXVhbApwcmludCA9IF8uc3R1Yl9wcmludApwLnV0ZjggPSBfLnN0dWJfdXRmOAp0ZXJtLnNldFRleHRDb2xvciA9IF8uc3R1Yl9zZXRUZXh0Q29sb3IKc3RkZXJyX2NhcHR1cmUgPSBuaWwKcC5jbGVhcldhcm5pbmdzKCkKcC5lb2woIlxuIikKcC5lc2NhcGVyKG5pbCkKcC5pbmRlbnQoIlx0IikKcC5hcGkucmVzZXQoKQptLnN0ZGVycl9jYXB0dXJlID0gbmlsCm0udmFsdWVfb3BlbmVkZmlsZW5hbWUgPSBuaWwKbS52YWx1ZV9vcGVuZWRmaWxlbW9kZSA9IG5pbAptLnZhbHVlX2Nsb3NlZGZpbGUgPSBmYWxzZQpyZXR1cm4gaG9va3MKZW5kCmZ1bmN0aW9uIF8ucmVtb3ZlVGVzdGluZ0hvb2tzKGhvb2tzKQpwLmFjdGlvbi5zZXQoaG9va3MuYWN0aW9uKQpfT1BUSU9OUyA9IGhvb2tzLm9wdGlvbnMKX1RBUkdFVF9PUyA9IGhvb2tzLnRhcmdldE9zCmlvLm9wZW4gPSBob29rcy5pb19vcGVuCmlvLm91dHB1dCA9IGhvb2tzLmlvX291dHB1dApvcy53cml0ZWZpbGVfaWZub3RlcXVhbCA9IGhvb2tzLm9zX3dyaXRlZmlsZV9pZm5vdGVxdWFsCnAudXRmOCA9IGhvb2tzLnBfdXRmOApwcmludCA9IGhvb2tzLnByaW50CnRlcm0uc2V0VGV4dENvbG9yID0gaG9va3Muc2V0VGV4dENvbG9yCmxvY2FsIG10ID0gZ2V0bWV0YXRhYmxlKGlvLnN0ZGVycikKbXQud3JpdGUgPSBfLmJ1aWx0aW5fd3JpdGUKZW5kCmZ1bmN0aW9uIF8uc2V0dXBUZXN0KHRlc3QpCmlmIHR5cGUodGVzdC5zdWl0ZS5zZXR1cCkgPT0gImZ1bmN0aW9uIiB0aGVuCnJldHVybiB4cGNhbGwodGVzdC5zdWl0ZS5zZXR1cCwgXy5lcnJvckhhbmRsZXIpCmVsc2UKcmV0dXJuIHRydWUKZW5kCmVuZApmdW5jdGlvbiBfLmV4ZWN1dGVUZXN0KHRlc3QpCmxvY2FsIHJlc3VsdCwgZXJyCnAuY2FwdHVyZShmdW5jdGlvbigpCnJlc3VsdCwgZXJyID0geHBjYWxsKHRlc3QudGVzdEZ1bmN0aW9uLCBfLmVycm9ySGFuZGxlcikKZW5kKQpyZXR1cm4gcmVzdWx0LCBlcnIKZW5kCmZ1bmN0aW9uIF8udGVhcmRvd25UZXN0KHRlc3QpCmlmIHR5cGUodGVzdC5zdWl0ZS50ZWFyZG93bikgPT0gImZ1bmN0aW9uIiB0aGVuCnJldHVybiB4cGNhbGwodGVzdC5zdWl0ZS50ZWFyZG93biwgXy5lcnJvckhhbmRsZXIpCmVsc2UKcmV0dXJuIHRydWUKZW5kCmVuZApmdW5jdGlvbiBfLmVycm9ySGFuZGxlcihlcnIpCmxvY2FsIG1zZyA9IGVycgppZiBub3QgbXNnOmZpbmQoInN0YWNrIHRyYWNlYmFjazoiLCAxLCB0cnVlKSB0aGVuCm1zZyA9IGRlYnVnLnRyYWNlYmFjayhlcnIsIDIpCmVuZApsb2NhbCBpID0gbXNnOmZpbmQoIltDXTogaW4gZnVuY3Rpb24gJ3hwY2FsbCciLCAxLCB0cnVlKQppZiBpIHRoZW4KbXNnID0gbXNnOnN1YigxLCBpIC0gMykKZW5kCmxvY2FsIG4gPSBzZWxlY3QoMiwgbXNnOmdzdWIoJ1xuJywgJ1xuJykpCmlmIG4gPT0gMiB0aGVuCm1zZyA9IG1zZzpzdWIoMSwgbXNnOmZpbmQoJ1xuJywgMSwgdHJ1ZSkgLSAxKQplbmQKcmV0dXJuIG1zZwplbmQKZnVuY3Rpb24gXy5zdHViX2lvX29wZW4oZm5hbWUsIG1vZGUpCm0udmFsdWVfb3BlbmVkZmlsZW5hbWUgPSBmbmFtZQptLnZhbHVlX29wZW5lZGZpbGVtb2RlID0gbW9kZQpyZXR1cm4gewpyZWFkID0gZnVuY3Rpb24oKQplbmQsCmNsb3NlID0gZnVuY3Rpb24oKQptLnZhbHVlX2Nsb3NlZGZpbGUgPSB0cnVlCmVuZAp9CmVuZApmdW5jdGlvbiBfLnN0dWJfaW9fb3V0cHV0KGYpCmVuZApmdW5jdGlvbiBfLnN0dWJfb3Nfd3JpdGVmaWxlX2lmbm90ZXF1YWwoY29udGVudCwgZm5hbWUpCm0udmFsdWVfb3BlbmVkZmlsZW5hbWUgPSBmbmFtZQptLnZhbHVlX2Nsb3NlZGZpbGUgPSB0cnVlCnJldHVybiAwCmVuZApmdW5jdGlvbiBfLnN0dWJfcHJpbnQocykKZW5kCmZ1bmN0aW9uIF8uc3R1Yl9zdGRlcnJfd3JpdGUoLi4uKQppZiBzZWxlY3QoMSwgLi4uKSA9PSBpby5zdGRlcnIgdGhlbgptLnN0ZGVycl9jYXB0dXJlID0gKG0uc3RkZXJyX2NhcHR1cmUgb3IgIiIpIC4uIHNlbGVjdCgyLCAuLi4pCmVsc2UKcmV0dXJuIF8uYnVpbHRpbl93cml0ZSguLi4pCmVuZAplbmQKZnVuY3Rpb24gXy5zdHViX3V0ZjgoKQplbmQKZnVuY3Rpb24gXy5zdHViX3NldFRleHRDb2xvcigpCmVuZAoAAAAAAAAAAAAASHhTAGxvY2FsIHAgPSBwcmVtYWtlCnAuYXBpID0ge30KbG9jYWwgYXBpID0gcC5hcGkKbG9jYWwgY29uZmlnc2V0ID0gcC5jb25maWdzZXQKYXBpLnNjb3BlID0ge30KZnVuY3Rpb24gYXBpLmNvbnRhaW5lcihjb250YWluZXJOYW1lLCBwYXJlbnRDb250YWluZXIsIGV4dHJhU2NvcGVzKQpsb2NhbCBjbGFzcywgZXJyID0gcC5jb250YWluZXIubmV3Q2xhc3MoY29udGFpbmVyTmFtZSwgcGFyZW50Q29udGFpbmVyLCBleHRyYVNjb3BlcykKaWYgbm90IGNsYXNzIHRoZW4KZXJyb3IoZXJyLCAyKQplbmQKX0dbY29udGFpbmVyTmFtZV0gPSBmdW5jdGlvbihuYW1lKQpsb2NhbCBjID0gYXBpLl9zZXRDb250YWluZXIoY2xhc3MsIG5hbWUpCmlmIGFwaS5faXNJbmNsdWRpbmdFeHRlcm5hbCB0aGVuCmMuZXh0ZXJuYWwgPSB0cnVlCmVuZApyZXR1cm4gYwplbmQKX0dbImV4dGVybmFsIiAuLiBjb250YWluZXJOYW1lXSA9IGZ1bmN0aW9uKG5hbWUpCmxvY2FsIGMgPSBfR1tjb250YWluZXJOYW1lXShuYW1lKQpjLmV4dGVybmFsID0gdHJ1ZQpyZXR1cm4gYwplbmQKcC5hbGlhcyhfRywgImV4dGVybmFsIiAuLiBjb250YWluZXJOYW1lLCAiZXh0ZXJuYWwiIC4uIGNvbnRhaW5lck5hbWU6Y2FwaXRhbGl6ZWQoKSkKcmV0dXJuIGNsYXNzCmVuZApmdW5jdGlvbiBpbmNsdWRlZXh0ZXJuYWwoZm5hbWUpCmxvY2FsIGZ1bGxQYXRoID0gcC5maW5kUHJvamVjdFNjcmlwdChmbmFtZSkKbG9jYWwgd2FzSW5jbHVkaW5nRXh0ZXJuYWwgPSBhcGkuX2lzSW5jbHVkaW5nRXh0ZXJuYWwKYXBpLl9pc0luY2x1ZGluZ0V4dGVybmFsID0gdHJ1ZQpmbmFtZSA9IGZ1bGxQYXRoIG9yIGZuYW1lCmRvZmlsZShmbmFtZSkKYXBpLl9pc0luY2x1ZGluZ0V4dGVybmFsID0gd2FzSW5jbHVkaW5nRXh0ZXJuYWwKZW5kCnAuYWxpYXMoX0csICJpbmNsdWRlZXh0ZXJuYWwiLCAiaW5jbHVkZUV4dGVybmFsIikKZnVuY3Rpb24gYXBpLnJvb3RDb250YWluZXIoKQpyZXR1cm4gYXBpLnNjb3BlLmdsb2JhbAplbmQKZnVuY3Rpb24gYXBpLl9zZXRDb250YWluZXIoY2xhc3MsIG5hbWUpCmxvY2FsIGluc3RhbmNlCmlmIG5hbWUgPT0gIioiIHRoZW4KcmV0dXJuIGFwaS5fc2V0Q29udGFpbmVyKGNsYXNzLnBhcmVudCkKZW5kCmlmIG5vdCBuYW1lIHRoZW4KaW5zdGFuY2UgPSBhcGkuc2NvcGVbY2xhc3MubmFtZV0KaWYgbm90IGluc3RhbmNlIHRoZW4KZXJyb3IoIm5vICIgLi4gY2xhc3MubmFtZSAuLiAiIGluIHNjb3BlIiwgMykKZW5kCmVuZApsb2NhbCBwYXJlbnQKaWYgbm90IGluc3RhbmNlIGFuZCBjbGFzcy5wYXJlbnQgdGhlbgpwYXJlbnQgPSBhcGkuc2NvcGVbY2xhc3MucGFyZW50Lm5hbWVdCmlmIG5vdCBwYXJlbnQgdGhlbgplcnJvcigibm8gIiAuLiBjbGFzcy5wYXJlbnQubmFtZSAuLiAiIGluIHNjb3BlIiwgMykKZW5kCmluc3RhbmNlID0gcC5jb250YWluZXIuZ2V0Q2hpbGQocGFyZW50LCBjbGFzcywgbmFtZSkKZW5kCmlmIGluc3RhbmNlIHRoZW4KY29uZmlnc2V0LmFkZEZpbHRlcihpbnN0YW5jZSwge30sIG9zLmdldGN3ZCgpKQplbmQKaWYgbm90IGluc3RhbmNlIHRoZW4KaW5zdGFuY2UgPSBjbGFzcy5uZXcobmFtZSwgcGFyZW50KQppZiBwYXJlbnQgdGhlbgpwLmNvbnRhaW5lci5hZGRDaGlsZChwYXJlbnQsIGluc3RhbmNlKQplbmQKZW5kCmFwaS5fY2xlYXJDb250YWluZXJDaGlsZHJlbihjbGFzcykKaWYgbm90IGNsYXNzLnBsYWNlaG9sZGVyIHRoZW4KYXBpLnNjb3BlLmN1cnJlbnQgPSBpbnN0YW5jZQplbmQKd2hpbGUgaW5zdGFuY2UgZG8KYXBpLnNjb3BlW2luc3RhbmNlLmNsYXNzLm5hbWVdID0gaW5zdGFuY2UKaWYgaW5zdGFuY2UuY2xhc3MuYWxpYXMgdGhlbgphcGkuc2NvcGVbaW5zdGFuY2UuY2xhc3MuYWxpYXNdID0gaW5zdGFuY2UKZW5kCmluc3RhbmNlID0gaW5zdGFuY2UucGFyZW50CmVuZApyZXR1cm4gYXBpLnNjb3BlLmN1cnJlbnQKZW5kCmZ1bmN0aW9uIGFwaS5fY2xlYXJDb250YWluZXJDaGlsZHJlbihjbGFzcykKZm9yIGNoaWxkQ2xhc3MgaW4gcC5jb250YWluZXIuZWFjaENoaWxkQ2xhc3MoY2xhc3MpIGRvCmFwaS5zY29wZVtjaGlsZENsYXNzLm5hbWVdID0gbmlsCmlmIGNoaWxkQ2xhc3MuYWxpYXMgdGhlbgphcGkuc2NvcGVbY2hpbGRDbGFzcy5hbGlhc10gPSBuaWwKZW5kCmFwaS5fY2xlYXJDb250YWluZXJDaGlsZHJlbihjaGlsZENsYXNzKQplbmQKZW5kCmZ1bmN0aW9uIGFwaS5yZWdpc3RlcihmaWVsZCkKbG9jYWwgbmFtZSA9IGZpZWxkLm5hbWUKaWYgbm90IG5hbWUgdGhlbgplcnJvcigibWlzc2luZyBuYW1lIiwgMikKZW5kCmlmIHJhd2dldChfRywgbmFtZSkgdGhlbgplcnJvcigibmFtZSAnIiAuLiBuYW1lIC4uICInIGluIHVzZSIsIDIpCmVuZApmaWVsZCwgZXJyID0gcC5maWVsZC5uZXcoZmllbGQpCmlmIG5vdCBmaWVsZCB0aGVuCmVycm9yKGVycikKZW5kCmZpZWxkLnBhdGhzID0gcC5maWVsZC5wcm9wZXJ0eShmaWVsZCwgInBhdGhzIikKaWYgdHlwZShmaWVsZC5hbGxvd2VkKSA9PSAidGFibGUiIHRoZW4KZm9yIGksIGl0ZW0gaW4gaXBhaXJzKGZpZWxkLmFsbG93ZWQpIGRvCmZpZWxkLmFsbG93ZWRbaXRlbTpsb3dlcigpXSA9IGl0ZW0KZW5kCmVuZAppZiB0eXBlKGZpZWxkLmFsaWFzZXMpID09ICJ0YWJsZSIgdGhlbgpsb2NhbCBrZXlzID0gdGFibGUua2V5cyhmaWVsZC5hbGlhc2VzKQpmb3IgaSwga2V5IGluIGlwYWlycyhrZXlzKSBkbwpmaWVsZC5hbGlhc2VzW2tleTpsb3dlcigpXSA9IGZpZWxkLmFsaWFzZXNba2V5XQplbmQKZW5kCl9HW25hbWVdID0gZnVuY3Rpb24odmFsdWUpCnJldHVybiBhcGkuc3RvcmVGaWVsZChmaWVsZCwgdmFsdWUpCmVuZAppZiBwLmZpZWxkLnJlbW92ZXMoZmllbGQpIHRoZW4KX0dbInJlbW92ZSIgLi4gbmFtZV0gPSBmdW5jdGlvbih2YWx1ZSkKcmV0dXJuIGFwaS5yZW1vdmUoZmllbGQsIHZhbHVlKQplbmQKZW5kCnJldHVybiBmaWVsZAplbmQKZnVuY3Rpb24gYXBpLnVucmVnaXN0ZXIoZmllbGQpCmlmIHR5cGUoZmllbGQpID09ICJzdHJpbmciIHRoZW4KZmllbGQgPSBwLmZpZWxkLmdldChmaWVsZCkKZW5kCnAuZmllbGQudW5yZWdpc3RlcihmaWVsZCkKX0dbZmllbGQubmFtZV0gPSBuaWwKX0dbInJlbW92ZSIgLi4gZmllbGQubmFtZV0gPSBuaWwKZW5kCmZ1bmN0aW9uIGFwaS5hbGlhcyhvcmlnaW5hbCwgYWxpYXMpCnAuYWxpYXMoX0csIG9yaWdpbmFsLCBhbGlhcykKaWYgX0dbInJlbW92ZSIgLi4gb3JpZ2luYWxdIHRoZW4KcC5hbGlhcyhfRywgInJlbW92ZSIgLi4gb3JpZ2luYWwsICJyZW1vdmUiIC4uIGFsaWFzKQplbmQKZW5kCmZ1bmN0aW9uIGFwaS5hZGRBbGxvd2VkKGZpZWxkTmFtZSwgdmFsdWUpCmxvY2FsIGZpZWxkID0gcC5maWVsZC5nZXQoZmllbGROYW1lKQppZiBub3QgZmllbGQgdGhlbgplcnJvcigiTm8gc3VjaCBmaWVsZDogIiAuLiBmaWVsZE5hbWUsIDIpCmVuZAppZiB0eXBlKHZhbHVlKSA9PSAidGFibGUiIHRoZW4KZm9yIGksIGl0ZW0gaW4gaXBhaXJzKHZhbHVlKSBkbwphcGkuYWRkQWxsb3dlZChmaWVsZE5hbWUsIGl0ZW0pCmVuZAplbHNlCmZpZWxkLmFsbG93ZWQgPSBmaWVsZC5hbGxvd2VkIG9yIHt9CmlmIGZpZWxkLmFsbG93ZWRbdmFsdWU6bG93ZXIoKV0gPT0gbmlsIHRoZW4KdGFibGUuaW5zZXJ0KGZpZWxkLmFsbG93ZWQsIHZhbHVlKQpmaWVsZC5hbGxvd2VkW3ZhbHVlOmxvd2VyKCldID0gdmFsdWUKZW5kCmVuZAplbmQKZnVuY3Rpb24gYXBpLmFkZEFsaWFzZXMoZmllbGROYW1lLCB2YWx1ZSkKbG9jYWwgZmllbGQgPSBwLmZpZWxkLmdldChmaWVsZE5hbWUpCmlmIG5vdCBmaWVsZCB0aGVuCmVycm9yKCJObyBzdWNoIGZpZWxkOiAiIC4uIGZpZWxkTmFtZSwgMikKZW5kCmZpZWxkLmFsaWFzZXMgPSBmaWVsZC5hbGlhc2VzIG9yIHt9CmZvciBrLCB2IGluIHBhaXJzKHZhbHVlKSBkbwpmaWVsZC5hbGlhc2VzW2tdID0gdgpmaWVsZC5hbGlhc2VzW2s6bG93ZXIoKV0gPSB2CmVuZAplbmQKZnVuY3Rpb24gYXBpLmRlcHJlY2F0ZUZpZWxkKG5hbWUsIG1lc3NhZ2UsIGhhbmRsZXIpCnAuZmllbGRzW25hbWVdLmRlcHJlY2F0ZWQgPSB7CmhhbmRsZXIgPSBoYW5kbGVyLAptZXNzYWdlID0gbWVzc2FnZQp9CmVuZApmdW5jdGlvbiBhcGkuZGVwcmVjYXRlVmFsdWUobmFtZSwgdmFsdWUsIG1lc3NhZ2UsIGFkZEhhbmRsZXIsIHJlbW92ZUhhbmRsZXIpCmlmIHR5cGUodmFsdWUpID09ICJ0YWJsZSIgdGhlbgpmb3IgXywgdiBpbiBwYWlycyh2YWx1ZSkgZG8KYXBpLmRlcHJlY2F0ZVZhbHVlKG5hbWUsIHYsIG1lc3NhZ2UsIGFkZEhhbmRsZXIsIHJlbW92ZUhhbmRsZXIpCmVuZAplbHNlCmxvY2FsIGZpZWxkID0gcC5maWVsZHNbbmFtZV0KZmllbGQuZGVwcmVjYXRlZCA9IGZpZWxkLmRlcHJlY2F0ZWQgb3Ige30KZmllbGQuZGVwcmVjYXRlZFt2YWx1ZV0gPSB7CmFkZCA9IGFkZEhhbmRsZXIsCnJlbW92ZSA9IHJlbW92ZUhhbmRsZXIsCm1lc3NhZ2UgPSBtZXNzYWdlCn0KZW5kCmVuZApmdW5jdGlvbiBhcGkuZGVwcmVjYXRpb25zKHZhbHVlKQp2YWx1ZSA9IHZhbHVlOmxvd2VyKCkKaWYgbm90IHRhYmxlLmNvbnRhaW5zKHsgIm9uIiwgIm9mZiIsICJlcnJvciJ9LCB2YWx1ZSkgdGhlbgplcnJvcigiSW52YWxpZCB2YWx1ZTogIiAuLiB2YWx1ZSwgMikKZW5kCmFwaS5fZGVwcmVjYXRpb25zID0gdmFsdWU6bG93ZXIoKQplbmQKYXBpLl9kZXByZWNhdGlvbnMgPSAib24iCmZ1bmN0aW9uIGFwaS50YXJnZXQoZmllbGQpCmlmIHAuY29udGFpbmVyLmNsYXNzQ2FuQ29udGFpbihhcGkuc2NvcGUuY3VycmVudC5jbGFzcywgZmllbGQuc2NvcGUpIHRoZW4KcmV0dXJuIGFwaS5zY29wZS5jdXJyZW50CmVuZApyZXR1cm4gbmlsCmVuZApmdW5jdGlvbiBhcGkuc3RvcmVGaWVsZChmaWVsZCwgdmFsdWUpCmlmIHZhbHVlID09IG5pbCB0aGVuCnJldHVybgplbmQKaWYgZmllbGQuZGVwcmVjYXRlZCBhbmQgdHlwZShmaWVsZC5kZXByZWNhdGVkLmhhbmRsZXIpID09ICJmdW5jdGlvbiIgdGhlbgpmaWVsZC5kZXByZWNhdGVkLmhhbmRsZXIodmFsdWUpCmlmIGZpZWxkLmRlcHJlY2F0ZWQubWVzc2FnZSBhbmQgYXBpLl9kZXByZWNhdGlvbnMgfj0gIm9mZiIgdGhlbgpsb2NhbCBjYWxsZXIgPSBmaWxlbGluZWluZm8oMikKbG9jYWwga2V5ID0gZmllbGQubmFtZSAuLiAiXyIgLi4gY2FsbGVyCnAud2Fybk9uY2Uoa2V5LCAidGhlIGZpZWxkICVzIGhhcyBiZWVuIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC5cbiAgICVzXG4gICBAJXNcbiIsIGZpZWxkLm5hbWUsIGZpZWxkLmRlcHJlY2F0ZWQubWVzc2FnZSwgY2FsbGVyKQppZiBhcGkuX2RlcHJlY2F0aW9ucyA9PSAiZXJyb3IiIHRoZW4KZXJyb3IoImRlcHJlY2F0aW9uIGVycm9ycyBlbmFibGVkIiwgMykKZW5kCmVuZAplbmQKbG9jYWwgdGFyZ2V0ID0gYXBpLnRhcmdldChmaWVsZCkKaWYgbm90IHRhcmdldCB0aGVuCmxvY2FsIGVyciA9IHN0cmluZy5mb3JtYXQoInVuYWJsZSB0byBzZXQgJXMgaW4gJXMgc2NvcGUsIHNob3VsZCBiZSAlcyIsIGZpZWxkLm5hbWUsIGFwaS5zY29wZS5jdXJyZW50LmNsYXNzLm5hbWUsIHRhYmxlLmNvbmNhdChmaWVsZC5zY29wZXMsICIsICIpKQplcnJvcihlcnIsIDMpCmVuZApsb2NhbCBzdGF0dXMsIGVyciA9IGNvbmZpZ3NldC5zdG9yZSh0YXJnZXQsIGZpZWxkLCB2YWx1ZSkKaWYgZXJyIHRoZW4KZXJyb3IoZXJyLCAzKQplbmQKZW5kCmZ1bmN0aW9uIGFwaS5yZW1vdmUoZmllbGQsIHZhbHVlKQppZiB2YWx1ZSA9PSBuaWwgdGhlbiByZXR1cm4gZW5kCmxvY2FsIHRhcmdldCA9IGFwaS50YXJnZXQoZmllbGQpCmlmIG5vdCB0YXJnZXQgdGhlbgpsb2NhbCBlcnIgPSBzdHJpbmcuZm9ybWF0KCJ1bmFibGUgdG8gcmVtb3ZlICVzIGZyb20gJXMgc2NvcGUsIHNob3VsZCBiZSAlcyIsIGZpZWxkLm5hbWUsIGFwaS5zY29wZS5jdXJyZW50LmNsYXNzLm5hbWUsIHRhYmxlLmNvbmNhdChmaWVsZC5zY29wZXMsICIsICIpKQplcnJvcihlcnIsIDMpCmVuZApsb2NhbCBoYXNEZXByZWNhdGVkVmFsdWVzID0gKHR5cGUoZmllbGQuZGVwcmVjYXRlZCkgPT0gInRhYmxlIikKbG9jYWwgcmVtb3ZlcyA9IHt9CmxvY2FsIGZ1bmN0aW9uIGNoZWNrKHZhbHVlKQppZiBmaWVsZC5kZXByZWNhdGVkW3ZhbHVlXSB0aGVuCmxvY2FsIGhhbmRsZXIgPSBmaWVsZC5kZXByZWNhdGVkW3ZhbHVlXQppZiBoYW5kbGVyLnJlbW92ZSB0aGVuIGhhbmRsZXIucmVtb3ZlKHZhbHVlKSBlbmQKaWYgaGFuZGxlci5tZXNzYWdlIGFuZCBhcGkuX2RlcHJlY2F0aW9ucyB+PSAib2ZmIiB0aGVuCmxvY2FsIGNhbGxlciA9IGZpbGVsaW5laW5mbyg4KQpsb2NhbCBrZXkgPSBmaWVsZC5uYW1lIC4uICJfIiAuLiB2YWx1ZSAuLiAiXyIgLi4gY2FsbGVyCnAud2Fybk9uY2Uoa2V5LCAidGhlICVzIHZhbHVlICVzIGhhcyBiZWVuIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC5cbiAgICVzXG4gICBAJXNcbiIsIGZpZWxkLm5hbWUsIHZhbHVlLCBoYW5kbGVyLm1lc3NhZ2UsIGNhbGxlcikKaWYgYXBpLl9kZXByZWNhdGlvbnMgPT0gImVycm9yIiB0aGVuCmVycm9yIHsgbXNnPSJkZXByZWNhdGlvbiBlcnJvcnMgZW5hYmxlZCIgfQplbmQKZW5kCmVuZAplbmQKbG9jYWwgZnVuY3Rpb24gcmVjdXJzZSh2YWx1ZSkKaWYgdHlwZSh2YWx1ZSkgPT0gInRhYmxlIiB0aGVuCnRhYmxlLmZvcmVhY2hpKHZhbHVlLCByZWN1cnNlKQplbHNlaWYgaGFzRGVwcmVjYXRlZFZhbHVlcyBhbmQgdmFsdWU6Y29udGFpbnMoIioiKSB0aGVuCmxvY2FsIGN1cnJlbnQgPSBjb25maWdzZXQuZmV0Y2godGFyZ2V0LCBmaWVsZCwgewptYXRjaGVyID0gZnVuY3Rpb24oY3NldCwgYmxvY2ssIGZpbHRlcikKbG9jYWwgY3VycmVudCA9IGNzZXQuY3VycmVudApyZXR1cm4gY3JpdGVyaWEubWF0Y2hlcyhjdXJyZW50Ll9jcml0ZXJpYSwgYmxvY2suX2NyaXRlcmlhLnRlcm1zIG9yIHt9KSBvcgogICBjcml0ZXJpYS5tYXRjaGVzKGJsb2NrLl9jcml0ZXJpYSwgY3VycmVudC5fY3JpdGVyaWEudGVybXMgb3Ige30pCmVuZAp9KQpsb2NhbCBtYXNrID0gcGF0aC53aWxkY2FyZHModmFsdWUpCmZvciBfLCBpdGVtIGluIGlwYWlycyhjdXJyZW50KSBkbwppZiBpdGVtOm1hdGNoKG1hc2spID09IGl0ZW0gdGhlbgpyZWN1cnNlKGl0ZW0pCmVuZAplbmQKZWxzZQpsb2NhbCB2YWx1ZSwgZXJyLCBhZGRpdGlvbmFsID0gYXBpLmNoZWNrVmFsdWUoZmllbGQsIHZhbHVlKQppZiBlcnIgdGhlbgplcnJvciB7IG1zZz1lcnIgfQplbmQKaWYgZmllbGQuZGVwcmVjYXRlZCB0aGVuCmNoZWNrKHZhbHVlKQplbmQKdGFibGUuaW5zZXJ0KHJlbW92ZXMsIHZhbHVlKQppZiBhZGRpdGlvbmFsIHRoZW4KdGFibGUuaW5zZXJ0KHJlbW92ZXMsIGFkZGl0aW9uYWwpCmVuZAplbmQKZW5kCmxvY2FsIG9rLCBlcnIgPSBwY2FsbChmdW5jdGlvbiAoKQpyZWN1cnNlKHZhbHVlKQplbmQpCmlmIG5vdCBvayB0aGVuCmlmIHR5cGUoZXJyKSA9PSAidGFibGUiIHRoZW4KZXJyID0gZXJyLm1zZwplbmQKZXJyb3IoZXJyLCAzKQplbmQKY29uZmlnc2V0LnJlbW92ZSh0YXJnZXQsIGZpZWxkLCByZW1vdmVzKQplbmQKZnVuY3Rpb24gYXBpLmNoZWNrVmFsdWUoZmllbGQsIHZhbHVlLCBraW5kKQppZiBub3QgZmllbGQuYWxsb3dlZCB0aGVuCnJldHVybiB2YWx1ZQplbmQKbG9jYWwgY2Fub25pY2FsLCByZXN1bHQKbG9jYWwgbG93ZXJWYWx1ZSA9IHZhbHVlOmxvd2VyKCkKaWYgZmllbGQuYWxpYXNlcyB0aGVuCmNhbm9uaWNhbCA9IGZpZWxkLmFsaWFzZXNbbG93ZXJWYWx1ZV0KZW5kCmlmIG5vdCBjYW5vbmljYWwgdGhlbgppZiB0eXBlKGZpZWxkLmFsbG93ZWQpID09ICJmdW5jdGlvbiIgdGhlbgpjYW5vbmljYWwgPSBmaWVsZC5hbGxvd2VkKHZhbHVlLCBraW5kIG9yICJzdHJpbmciKQplbHNlCmNhbm9uaWNhbCA9IGZpZWxkLmFsbG93ZWRbbG93ZXJWYWx1ZV0KZW5kCmVuZAppZiBub3QgY2Fub25pY2FsIHRoZW4KcmV0dXJuIG5pbCwgImludmFsaWQgdmFsdWUgJyIgLi4gdmFsdWUgLi4gIicgZm9yICIgLi4gZmllbGQubmFtZQplbmQKaWYgZmllbGQuZGVwcmVjYXRlZCBhbmQgZmllbGQuZGVwcmVjYXRlZFtjYW5vbmljYWxdIHRoZW4KbG9jYWwgaGFuZGxlciA9IGZpZWxkLmRlcHJlY2F0ZWRbY2Fub25pY2FsXQpoYW5kbGVyLmFkZChjYW5vbmljYWwpCmlmIGhhbmRsZXIubWVzc2FnZSBhbmQgYXBpLl9kZXByZWNhdGlvbnMgfj0gIm9mZiIgdGhlbgpsb2NhbCBjYWxsZXIgPSAgZmlsZWxpbmVpbmZvKDkpCmxvY2FsIGtleSA9IGZpZWxkLm5hbWUgLi4gIl8iIC4uIHZhbHVlIC4uICJfIiAuLiBjYWxsZXIKcC53YXJuT25jZShrZXksICJ0aGUgJXMgdmFsdWUgJXMgaGFzIGJlZW4gZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLlxuICAgJXNcbiAgIEAlc1xuIiwgZmllbGQubmFtZSwgY2Fub25pY2FsLCBoYW5kbGVyLm1lc3NhZ2UsIGNhbGxlcikKaWYgYXBpLl9kZXByZWNhdGlvbnMgPT0gImVycm9yIiB0aGVuCnJldHVybiBuaWwsICJkZXByZWNhdGlvbiBlcnJvcnMgZW5hYmxlZCIKZW5kCmVuZAplbmQKcmV0dXJuIGNhbm9uaWNhbAplbmQKbG9jYWwgbnVtQnVpbHRJbkdsb2JhbEJsb2NrcwpmdW5jdGlvbiBhcGkucmVzZXQoKQppZiBudW1CdWlsdEluR2xvYmFsQmxvY2tzID09IG5pbCB0aGVuCm51bUJ1aWx0SW5HbG9iYWxCbG9ja3MgPSAjYXBpLnNjb3BlLmdsb2JhbC5ibG9ja3MKZW5kCmZvciBjb250YWluZXJDbGFzcyBpbiBwLmNvbnRhaW5lci5lYWNoQ2hpbGRDbGFzcyhwLmdsb2JhbCkgZG8KYXBpLnNjb3BlLmdsb2JhbFtjb250YWluZXJDbGFzcy5wbHVyYWxOYW1lXSA9IHt9CmVuZAphcGkuc2NvcGUuY3VycmVudCA9IGFwaS5zY29wZS5nbG9iYWwKbG9jYWwgY3VycmVudEdsb2JhbEJsb2NrQ291bnQgPSAjYXBpLnNjb3BlLmdsb2JhbC5ibG9ja3MKZm9yIGkgPSBjdXJyZW50R2xvYmFsQmxvY2tDb3VudCwgbnVtQnVpbHRJbkdsb2JhbEJsb2NrcywgLTEgZG8KdGFibGUucmVtb3ZlKGFwaS5zY29wZS5nbG9iYWwuYmxvY2tzLCBpKQplbmQKY29uZmlnc2V0LmFkZEZpbHRlcihhcGkuc2NvcGUuY3VycmVudCwge30sIG9zLmdldGN3ZCgpKQplbmQKcHJlbWFrZS5maWVsZC5raW5kKCJhcnJheSIsIHsKc3RvcmUgPSBmdW5jdGlvbihmaWVsZCwgY3VycmVudCwgdmFsdWUsIHByb2Nlc3NvcikKaWYgdHlwZSh2YWx1ZSkgfj0gInRhYmxlIiB0aGVuCnZhbHVlID0geyB2YWx1ZSB9CmVuZApmb3IgaSwgaXRlbSBpbiBpcGFpcnModmFsdWUpIGRvCnZhbHVlW2ldID0gcHJvY2Vzc29yKGZpZWxkLCBuaWwsIHZhbHVlW2ldKQplbmQKcmV0dXJuIHZhbHVlCmVuZCwKY29tcGFyZSA9IGZ1bmN0aW9uKGZpZWxkLCBhLCBiLCBwcm9jZXNzb3IpCmlmIGEgPT0gbmlsIG9yIGIgPT0gbmlsIG9yICNhIH49ICNiIHRoZW4KcmV0dXJuIGZhbHNlCmVuZApmb3IgaSA9IDEsICNhIGRvCmlmIG5vdCBwcm9jZXNzb3IoZmllbGQsIGFbaV0sIGJbaV0pIHRoZW4KcmV0dXJuIGZhbHNlCmVuZAplbmQKcmV0dXJuIHRydWUKZW5kCn0pCnByZW1ha2UuZmllbGQua2luZCgiYm9vbGVhbiIsIHsKc3RvcmUgPSBmdW5jdGlvbihmaWVsZCwgY3VycmVudCwgdmFsdWUsIHByb2Nlc3NvcikKbG9jYWwgbWFwcGluZyA9IHsKWyJmYWxzZSJdID0gZmFsc2UsClsibm8iXSA9IGZhbHNlLApbIm9mZiJdID0gZmFsc2UsClsib24iXSA9IHRydWUsClsidHJ1ZSJdID0gdHJ1ZSwKWyJ5ZXMiXSA9IHRydWUsCn0KaWYgdHlwZSh2YWx1ZSkgPT0gInN0cmluZyIgdGhlbgp2YWx1ZSA9IG1hcHBpbmdbdmFsdWU6bG93ZXIoKV0KaWYgdmFsdWUgPT0gbmlsIHRoZW4KZXJyb3IgeyBtc2c9ImV4cGVjdGVkIGJvb2xlYW47IGdvdCAiIC4uIHZhbHVlIH0KZW5kCnJldHVybiB2YWx1ZQplbmQKaWYgdHlwZSh2YWx1ZSkgPT0gImJvb2xlYW4iIHRoZW4KcmV0dXJuIHZhbHVlCmVuZAppZiB0eXBlKHZhbHVlKSA9PSAibnVtYmVyIiB0aGVuCnJldHVybiAodmFsdWUgfj0gMCkKZW5kCnJldHVybiAodmFsdWUgfj0gbmlsKQplbmQsCmNvbXBhcmUgPSBmdW5jdGlvbihmaWVsZCwgYSwgYiwgcHJvY2Vzc29yKQpyZXR1cm4gKGEgPT0gYikKZW5kCn0pCnByZW1ha2UuZmllbGQua2luZCgiZGlyZWN0b3J5IiwgewpwYXRocyA9IHRydWUsCnN0b3JlID0gZnVuY3Rpb24oZmllbGQsIGN1cnJlbnQsIHZhbHVlLCBwcm9jZXNzb3IpCnJldHVybiBwYXRoLmdldGFic29sdXRlKHZhbHVlKQplbmQsCnJlbW92ZSA9IGZ1bmN0aW9uKGZpZWxkLCBjdXJyZW50LCB2YWx1ZSwgcHJvY2Vzc29yKQpyZXR1cm4gcGF0aC5nZXRhYnNvbHV0ZSh2YWx1ZSkKZW5kLApjb21wYXJlID0gZnVuY3Rpb24oZmllbGQsIGEsIGIsIHByb2Nlc3NvcikKcmV0dXJuIChhID09IGIpCmVuZCwKdHJhbnNsYXRlID0gZnVuY3Rpb24oZmllbGQsIGN1cnJlbnQsIF8sIHByb2Nlc3NvcikKaWYgY3VycmVudDpmaW5kKCIqIikgdGhlbgpyZXR1cm4gb3MubWF0Y2hkaXJzKGN1cnJlbnQpCmVuZApyZXR1cm4geyBjdXJyZW50IH0KZW5kCn0pCnByZW1ha2UuZmllbGQua2luZCgiZmlsZSIsIHsKcGF0aHMgPSB0cnVlLApzdG9yZSA9IGZ1bmN0aW9uKGZpZWxkLCBjdXJyZW50LCB2YWx1ZSwgcHJvY2Vzc29yKQpyZXR1cm4gcGF0aC5nZXRhYnNvbHV0ZSh2YWx1ZSkKZW5kLApyZW1vdmUgPSBmdW5jdGlvbihmaWVsZCwgY3VycmVudCwgdmFsdWUsIHByb2Nlc3NvcikKcmV0dXJuIHBhdGguZ2V0YWJzb2x1dGUodmFsdWUpCmVuZCwKY29tcGFyZSA9IGZ1bmN0aW9uKGZpZWxkLCBhLCBiLCBwcm9jZXNzb3IpCnJldHVybiAoYSA9PSBiKQplbmQsCnRyYW5zbGF0ZSA9IGZ1bmN0aW9uKGZpZWxkLCBjdXJyZW50LCBfLCBwcm9jZXNzb3IpCmlmIGN1cnJlbnQ6ZmluZCgiKiIpIHRoZW4KcmV0dXJuIG9zLm1hdGNoZmlsZXMoY3VycmVudCkKZW5kCnJldHVybiB7IGN1cnJlbnQgfQplbmQKfSkKcHJlbWFrZS5maWVsZC5raW5kKCJmdW5jdGlvbiIsIHsKc3RvcmUgPSBmdW5jdGlvbihmaWVsZCwgY3VycmVudCwgdmFsdWUsIHByb2Nlc3NvcikKbG9jYWwgdCA9IHR5cGUodmFsdWUpCmlmIHQgfj0gImZ1bmN0aW9uIiB0aGVuCmVycm9yIHsgbXNnPSJleHBlY3RlZCBmdW5jdGlvbjsgZ290ICIgLi4gdCB9CmVuZApyZXR1cm4gdmFsdWUKZW5kLApjb21wYXJlID0gZnVuY3Rpb24oZmllbGQsIGEsIGIsIHByb2Nlc3NvcikKcmV0dXJuIChhID09IGIpCmVuZAp9KQpwcmVtYWtlLmZpZWxkLmtpbmQoImludGVnZXIiLCB7CnN0b3JlID0gZnVuY3Rpb24oZmllbGQsIGN1cnJlbnQsIHZhbHVlLCBwcm9jZXNzb3IpCmxvY2FsIHQgPSB0eXBlKHZhbHVlKQppZiB0IH49ICJudW1iZXIiIHRoZW4KZXJyb3IgeyBtc2c9ImV4cGVjdGVkIG51bWJlcjsgZ290ICIgLi4gdCB9CmVuZAppZiBtYXRoLmZsb29yKHZhbHVlKSB+PSB2YWx1ZSB0aGVuCmVycm9yIHsgbXNnPSJleHBlY3RlZCBpbnRlZ2VyOyBnb3QgIiAuLiB0b3N0cmluZyh2YWx1ZSkgfQplbmQKcmV0dXJuIHZhbHVlCmVuZCwKY29tcGFyZSA9IGZ1bmN0aW9uKGZpZWxkLCBhLCBiLCBwcm9jZXNzb3IpCnJldHVybiAoYSA9PSBiKQplbmQKfSkKbG9jYWwgZnVuY3Rpb24gc3RvcmVLZXllZChmaWVsZCwgY3VycmVudCwgdmFsdWUsIHByb2Nlc3NvcikKY3VycmVudCA9IGN1cnJlbnQgb3Ige30KZm9yIGssIHYgaW4gcGFpcnModmFsdWUpIGRvCmlmIHByb2Nlc3NvciB0aGVuCnYgPSBwcm9jZXNzb3IoZmllbGQsIGN1cnJlbnRba10sIHYpCmVuZApjdXJyZW50W2tdID0gdgplbmQKcmV0dXJuIGN1cnJlbnQKZW5kCmxvY2FsIGZ1bmN0aW9uIG1lcmdlS2V5ZWQoZmllbGQsIGN1cnJlbnQsIHZhbHVlLCBwcm9jZXNzb3IpCnZhbHVlID0gdmFsdWUgb3Ige30KZm9yIGssIHYgaW4gcGFpcnModmFsdWUpIGRvCmN1cnJlbnRba10gPSB2CmVuZApyZXR1cm4gY3VycmVudAplbmQKcHJlbWFrZS5maWVsZC5raW5kKCJrZXllZCIsIHsKc3RvcmUgPSBzdG9yZUtleWVkLAptZXJnZSA9IG1lcmdlS2V5ZWQsCmNvbXBhcmUgPSBmdW5jdGlvbihmaWVsZCwgYSwgYiwgcHJvY2Vzc29yKQppZiBhID09IG5pbCBvciBiID09IG5pbCB0aGVuCnJldHVybiBmYWxzZQplbmQKZm9yIGsgaW4gcGFpcnMoYSkgZG8KaWYgbm90IHByb2Nlc3NvcihmaWVsZCwgYVtrXSwgYltrXSkgdGhlbgpyZXR1cm4gZmFsc2UKZW5kCmVuZApyZXR1cm4gdHJ1ZQplbmQsCnRyYW5zbGF0ZSA9IGZ1bmN0aW9uKGZpZWxkLCBjdXJyZW50LCBfLCBwcm9jZXNzb3IpCmlmIG5vdCBwcm9jZXNzb3IgdGhlbgpyZXR1cm4geyBjdXJyZW50IH0KZW5kCmZvciBrLCB2IGluIHBhaXJzKGN1cnJlbnQpIGRvCmN1cnJlbnRba10gPSBwcm9jZXNzb3IoZmllbGQsIHYsIG5pbClbMV0KZW5kCnJldHVybiB7IGN1cnJlbnQgfQplbmQKfSkKbG9jYWwgZnVuY3Rpb24gc3RvcmVMaXN0SXRlbShjdXJyZW50LCBpdGVtLCBhbGxvd0R1cGxpY2F0ZXMpCmlmIG5vdCBhbGxvd0R1cGxpY2F0ZXMgYW5kIGN1cnJlbnRbaXRlbV0gdGhlbgp0YWJsZS5yZW1vdmUoY3VycmVudCwgdGFibGUuaW5kZXhvZihjdXJyZW50LCBpdGVtKSkKZW5kCnRhYmxlLmluc2VydChjdXJyZW50LCBpdGVtKQpjdXJyZW50W2l0ZW1dID0gaXRlbQplbmQKbG9jYWwgZnVuY3Rpb24gc3RvcmVMaXN0KGZpZWxkLCBjdXJyZW50LCB2YWx1ZSwgcHJvY2Vzc29yKQppZiB0eXBlKHZhbHVlKSA9PSAidGFibGUiIHRoZW4KaWYgI3ZhbHVlID4gMCB0aGVuCmZvciBpID0gMSwgI3ZhbHVlIGRvCmN1cnJlbnQgPSBzdG9yZUxpc3QoZmllbGQsIGN1cnJlbnQsIHZhbHVlW2ldLCBwcm9jZXNzb3IpCmVuZApyZXR1cm4gY3VycmVudAplbmQKaWYgdGFibGUuaXNlbXB0eSh2YWx1ZSkgdGhlbgpyZXR1cm4gY3VycmVudAplbmQKZW5kCmN1cnJlbnQgPSBjdXJyZW50IG9yIHt9CmlmIHByb2Nlc3NvciB0aGVuCnZhbHVlID0gcHJvY2Vzc29yKGZpZWxkLCBuaWwsIHZhbHVlKQplbmQKaWYgdHlwZSh2YWx1ZSkgPT0gInRhYmxlIiB0aGVuCmlmICN2YWx1ZSA+IDAgdGhlbgpmb3IgaSA9IDEsICN2YWx1ZSBkbwpzdG9yZUxpc3RJdGVtKGN1cnJlbnQsIHZhbHVlW2ldLCBmaWVsZC5hbGxvd0R1cGxpY2F0ZXMpCmVuZAplbHNlaWYgbm90IHRhYmxlLmlzZW1wdHkodmFsdWUpIHRoZW4Kc3RvcmVMaXN0SXRlbShjdXJyZW50LCB2YWx1ZSwgZmllbGQuYWxsb3dEdXBsaWNhdGVzKQplbmQKZWxzZWlmIHZhbHVlIHRoZW4Kc3RvcmVMaXN0SXRlbShjdXJyZW50LCB2YWx1ZSwgZmllbGQuYWxsb3dEdXBsaWNhdGVzKQplbmQKcmV0dXJuIGN1cnJlbnQKZW5kCmxvY2FsIGZ1bmN0aW9uIG1lcmdlTGlzdChmaWVsZCwgY3VycmVudCwgdmFsdWUsIHByb2Nlc3NvcikKdmFsdWUgPSB2YWx1ZSBvciB7fQpmb3IgaSA9IDEsICN2YWx1ZSBkbwpzdG9yZUxpc3RJdGVtKGN1cnJlbnQsIHZhbHVlW2ldLCBmaWVsZC5hbGxvd0R1cGxpY2F0ZXMpCmVuZApyZXR1cm4gY3VycmVudAplbmQKcHJlbWFrZS5maWVsZC5raW5kKCJsaXN0IiwgewpzdG9yZSA9IHN0b3JlTGlzdCwKcmVtb3ZlID0gc3RvcmVMaXN0LAptZXJnZSA9IG1lcmdlTGlzdCwKY29tcGFyZSA9IGZ1bmN0aW9uKGZpZWxkLCBhLCBiLCBwcm9jZXNzb3IpCmlmIGEgPT0gbmlsIG9yIGIgPT0gbmlsIG9yICNhIH49ICNiIHRoZW4KcmV0dXJuIGZhbHNlCmVuZApmb3IgaSA9IDEsICNhIGRvCmlmIG5vdCBwcm9jZXNzb3IoZmllbGQsIGFbaV0sIGJbaV0pIHRoZW4KcmV0dXJuIGZhbHNlCmVuZAplbmQKcmV0dXJuIHRydWUKZW5kLAp0cmFuc2xhdGUgPSBmdW5jdGlvbihmaWVsZCwgY3VycmVudCwgXywgcHJvY2Vzc29yKQppZiBub3QgcHJvY2Vzc29yIHRoZW4KcmV0dXJuIHsgY3VycmVudCB9CmVuZApsb2NhbCByZXQgPSB7fQpmb3IgXywgdmFsdWUgaW4gaXBhaXJzKGN1cnJlbnQpIGRvCmZvciBfLCBwcm9jZXNzZWQgaW4gaXBhaXJzKHByb2Nlc3NvcihmaWVsZCwgdmFsdWUsIG5pbCkpIGRvCnRhYmxlLmluc2VydChyZXQsIHByb2Nlc3NlZCkKZW5kCmVuZApyZXR1cm4geyByZXQgfQplbmQKfSkKcHJlbWFrZS5maWVsZC5raW5kKCJtaXhlZCIsIHsKcGF0aHMgPSB0cnVlLApzdG9yZSA9IGZ1bmN0aW9uKGZpZWxkLCBjdXJyZW50LCB2YWx1ZSwgcHJvY2Vzc29yKQppZiB0eXBlKHZhbHVlKSA9PSAic3RyaW5nIiBhbmQgdmFsdWU6ZmluZCgnLycsIG5pbCwgdHJ1ZSkgdGhlbgppZiBzdHJpbmcuc3ViKHZhbHVlLCAxLCAyKSB+PSAiJXsiIHRoZW4KdmFsdWUgPSBwYXRoLmdldGFic29sdXRlKHZhbHVlKQplbmQKZW5kCnJldHVybiB2YWx1ZQplbmQsCmNvbXBhcmUgPSBmdW5jdGlvbihmaWVsZCwgYSwgYiwgcHJvY2Vzc29yKQpyZXR1cm4gKGEgPT0gYikKZW5kCn0pCnByZW1ha2UuZmllbGQua2luZCgibnVtYmVyIiwgewpzdG9yZSA9IGZ1bmN0aW9uKGZpZWxkLCBjdXJyZW50LCB2YWx1ZSwgcHJvY2Vzc29yKQpsb2NhbCB0ID0gdHlwZSh2YWx1ZSkKaWYgdCB+PSAibnVtYmVyIiB0aGVuCmVycm9yIHsgbXNnPSJleHBlY3RlZCBudW1iZXI7IGdvdCAiIC4uIHQgfQplbmQKcmV0dXJuIHZhbHVlCmVuZCwKY29tcGFyZSA9IGZ1bmN0aW9uKGZpZWxkLCBhLCBiLCBwcm9jZXNzb3IpCnJldHVybiAoYSA9PSBiKQplbmQKfSkKcHJlbWFrZS5maWVsZC5raW5kKCJwYXRoIiwgewpwYXRocyA9IHRydWUsCnN0b3JlID0gZnVuY3Rpb24oZmllbGQsIGN1cnJlbnQsIHZhbHVlLCBwcm9jZXNzb3IpCnJldHVybiBwYXRoLmRlZmVycmVkam9pbihvcy5nZXRjd2QoKSwgdmFsdWUpCmVuZCwKY29tcGFyZSA9IGZ1bmN0aW9uKGZpZWxkLCBhLCBiLCBwcm9jZXNzb3IpCnJldHVybiAoYSA9PSBiKQplbmQKfSkKcHJlbWFrZS5maWVsZC5raW5kKCJzdHJpbmciLCB7CnN0b3JlID0gZnVuY3Rpb24oZmllbGQsIGN1cnJlbnQsIHZhbHVlLCBwcm9jZXNzb3IpCmlmIHR5cGUodmFsdWUpID09ICJ0YWJsZSIgdGhlbgplcnJvciB7IG1zZz0iZXhwZWN0ZWQgc3RyaW5nOyBnb3QgdGFibGUiIH0KZW5kCmlmIHZhbHVlIH49IG5pbCB0aGVuCmxvY2FsIGVycgp2YWx1ZSwgZXJyID0gYXBpLmNoZWNrVmFsdWUoZmllbGQsIHZhbHVlKQppZiBlcnIgdGhlbgplcnJvciB7IG1zZz1lcnIgfQplbmQKZW5kCnJldHVybiB2YWx1ZQplbmQsCmNvbXBhcmUgPSBmdW5jdGlvbihmaWVsZCwgYSwgYiwgcHJvY2Vzc29yKQpyZXR1cm4gKGEgPT0gYikKZW5kCn0pCnByZW1ha2UuZmllbGQua2luZCgidGFibGUiLCB7CnN0b3JlID0gZnVuY3Rpb24oZmllbGQsIGN1cnJlbnQsIHZhbHVlLCBwcm9jZXNzb3IpCmlmIHR5cGUodmFsdWUpIH49ICJ0YWJsZSIgdGhlbgp2YWx1ZSA9IHsgdmFsdWUgfQplbmQKcmV0dXJuIHZhbHVlCmVuZCwKY29tcGFyZSA9IGZ1bmN0aW9uKGZpZWxkLCBhLCBiLCBwcm9jZXNzb3IpCnJldHVybiB0cnVlCmVuZAp9KQpmdW5jdGlvbiBjb25maWd1cmF0aW9uKHRlcm1zKQppZiB0ZXJtcyB0aGVuCmlmICh0eXBlKHRlcm1zKSA9PSAidGFibGUiIGFuZCAjdGVybXMgPT0gMSBhbmQgdGVybXNbMV0gPT0gIioiKSBvciAodGVybXMgPT0gIioiKSB0aGVuCnRlcm1zID0gbmlsCmVuZApjb25maWdzZXQuYWRkYmxvY2soYXBpLnNjb3BlLmN1cnJlbnQsIHt0ZXJtc30sIG9zLmdldGN3ZCgpKQplbmQKcmV0dXJuIGFwaS5zY29wZS5jdXJyZW50CmVuZApmdW5jdGlvbiBmaWx0ZXIodGVybXMpCmlmIHRlcm1zIHRoZW4KaWYgKHR5cGUodGVybXMpID09ICJ0YWJsZSIgYW5kICN0ZXJtcyA9PSAxIGFuZCB0ZXJtc1sxXSA9PSAiKiIpIG9yICh0ZXJtcyA9PSAiKiIpIHRoZW4KdGVybXMgPSBuaWwKZW5kCmxvY2FsIG9rLCBlcnIgPSBjb25maWdzZXQuYWRkRmlsdGVyKGFwaS5zY29wZS5jdXJyZW50LCB7dGVybXN9LCBvcy5nZXRjd2QoKSkKaWYgbm90IG9rIHRoZW4KZXJyb3IoZXJyLCAyKQplbmQKZW5kCmVuZApmdW5jdGlvbiBuZXdhY3Rpb24oYSkKcC5hY3Rpb24uYWRkKGEpCmVuZApmdW5jdGlvbiBuZXdvcHRpb24ob3B0KQpwLm9wdGlvbi5hZGQob3B0KQplbmQKAABsb2NhbCBwID0gcHJlbWFrZQpsb2NhbCBtID0gcC52c3R1ZGlvLmNzMjAwNQpsb2NhbCBkbiA9IHAudnN0dWRpby5kb3RuZXRiYXNlCm0uZWxlbWVudHMudXNlclByb2plY3RQcm9wZXJ0eUdyb3VwID0gZnVuY3Rpb24oKQpyZXR1cm4gewptLnJlZmVyZW5jZVBhdGgsCn0KZW5kCm0uZWxlbWVudHMudXNlckNvbmZpZ1Byb3BlcnR5R3JvdXAgPSBmdW5jdGlvbigpCnJldHVybiB7Cm0ubG9jYWxEZWJ1Z2dlckNvbW1hbmRBcmd1bWVudHMsCn0KZW5kCmZ1bmN0aW9uIG0uZ2VuZXJhdGVVc2VyKHByaikKbG9jYWwgcHJqR3JvdXAgPSBwLmNhcHR1cmUoZnVuY3Rpb24oKQpwLnB1c2goMikKcC5jYWxsQXJyYXkobS5lbGVtZW50cy51c2VyUHJvamVjdFByb3BlcnR5R3JvdXAsIHByaikKcC5wb3AoMikKZW5kKQpsb2NhbCBjb250ZW50cyA9IHt9CmxvY2FsIHNpemUgPSAwCmZvciBjZmcgaW4gcC5wcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpjb250ZW50c1tjZmddID0gcC5jYXB0dXJlKGZ1bmN0aW9uKCkKcC5wdXNoKDIpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMudXNlckNvbmZpZ1Byb3BlcnR5R3JvdXAsIGNmZykKcC5wb3AoMikKZW5kKQpzaXplID0gc2l6ZSArICNjb250ZW50c1tjZmddCmVuZAppZiAjcHJqR3JvdXAgPiAwIG9yIHNpemUgPiAwIHRoZW4KcC52c3R1ZGlvLnByb2plY3RFbGVtZW50KCkKaWYgI3Byakdyb3VwID4gMCB0aGVuCnAucHVzaCgnPFByb3BlcnR5R3JvdXA+JykKcC5vdXRsbihwcmpHcm91cCkKcC5wb3AoJzwvUHJvcGVydHlHcm91cD4nKQplbmQKZm9yIGNmZyBpbiBwLnByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmlmICNjb250ZW50c1tjZmddID4gMCB0aGVuCnAucHVzaCgnPFByb3BlcnR5R3JvdXAgJXM+JywgZG4uY29uZGl0aW9uKGNmZykpCnAub3V0bG4oY29udGVudHNbY2ZnXSkKcC5wb3AoJzwvUHJvcGVydHlHcm91cD4nKQplbmQKZW5kCnAucG9wKCc8L1Byb2plY3Q+JykKZW5kCmVuZApmdW5jdGlvbiBtLnJlZmVyZW5jZVBhdGgocHJqKQpsb2NhbCBjZmcgPSBwLnByb2plY3QuZ2V0Zmlyc3Rjb25maWcocHJqKQpsb2NhbCBwYXRocyA9IHAudnN0dWRpby5wYXRoKHByaiwgY2ZnLmxpYmRpcnMpCmlmICNwYXRocyA+IDAgdGhlbgpwLncoJzxSZWZlcmVuY2VQYXRoPiVzPC9SZWZlcmVuY2VQYXRoPicsIHRhYmxlLmNvbmNhdChwYXRocywgIjsiKSkKZW5kCmVuZApmdW5jdGlvbiBtLmxvY2FsRGVidWdnZXJDb21tYW5kQXJndW1lbnRzKGNmZykKaWYgI2NmZy5kZWJ1Z2FyZ3MgPiAwIHRoZW4KcC54KCc8U3RhcnRBcmd1bWVudHM+JXM8L1N0YXJ0QXJndW1lbnRzPicsIHRhYmxlLmNvbmNhdChjZmcuZGVidWdhcmdzLCAiICIpKQplbmQKZW5kCgAAAGxvY2FsIHAgPSBwcmVtYWtlCnAucmF3ID0geyB9CmxvY2FsIHJhdyA9IHAucmF3CmxvY2FsIGd2aXNpdGVkID0geyB9CmZ1bmN0aW9uIHJhdy53b3Jrc3BhY2Uod2tzKQppZiBub3QgZ3Zpc2l0ZWRbd2tzLmdsb2JhbF0gdGhlbgpndmlzaXRlZFt3a3MuZ2xvYmFsXSA9IHRydWUKcmF3LnByaW50VGFibGUoeyBnbG9iYWwgPSB3a3MuZ2xvYmFsIH0pCmVuZAplbmQKZnVuY3Rpb24gcmF3LnByaW50VGFibGUodCwgaSkKaSA9IGkgb3IgMApwbGFjZW1lbnQgPSByYXcuX2NyZWF0ZVBsYWNlbWVudCh0KQpyYXcuX3ByaW50VGFibGVSZWN1cnNpdmUodCwgaSwgcGxhY2VtZW50KQplbmQKZnVuY3Rpb24gcmF3Ll9wcmludFRhYmxlUmVjdXJzaXZlKHQsIGksIHBsYWNlbWVudCkKZWxlbWVudHMgPSB7IH0KZm9yIGssIHYgaW4gcGFpcnModCkgZG8KdGFibGUuaW5zZXJ0KGVsZW1lbnRzLCB7IGtleSA9IGssIHZhbHVlID0gdiB9KQplbmQKdGFibGUuc29ydChlbGVtZW50cywgZnVuY3Rpb24oYSwgYikKbG9jYWwgbjEgPSB0eXBlKGEua2V5KSA9PSAibnVtYmVyIgpsb2NhbCBuMiA9IHR5cGUoYi5rZXkpID09ICJudW1iZXIiCmlmIG4xIH49IG4yIHRoZW4KcmV0dXJuIG4xCmVuZApsb2NhbCBrMSA9IG4xIGFuZCBhLmtleSBvciByYXcuX2VuY29kZShhLmtleSkKbG9jYWwgazIgPSBuMiBhbmQgYi5rZXkgb3IgcmF3Ll9lbmNvZGUoYi5rZXkpCnJldHVybiBrMSA8IGsyCmVuZCkKZm9yIF8sIGVsZW0gaW4gaXBhaXJzKGVsZW1lbnRzKSBkbwpwID0gcGxhY2VtZW50W2VsZW0udmFsdWVdCmlmIHAgYW5kIGVsZW0ua2V5ID09IHAua2V5IGFuZCB0ID09IHAucGFyZW50IHRoZW4KX3AoaSwgIiVzIiwgcmF3Ll9lbmNvZGUoZWxlbS5rZXkpIC4uICc6ICcgLi4gcmF3Ll9lbmNvZGUoZWxlbS52YWx1ZSkgLi4gJyB7JykKcmF3Ll9wcmludFRhYmxlUmVjdXJzaXZlKGVsZW0udmFsdWUsIGkgKyAxLCBwbGFjZW1lbnQpCl9wKGksICd9ICMgJyAuLiByYXcuX2VuY29kZShlbGVtLmtleSkpCmVsc2UKX3AoaSwgIiVzIiwgcmF3Ll9lbmNvZGUoZWxlbS5rZXkpIC4uICc6ICcgLi4gcmF3Ll9lbmNvZGUoZWxlbS52YWx1ZSkpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIHJhdy5fY3JlYXRlUGxhY2VtZW50KHRibCkKcGxhY2VtZW50ID0geyB9CnBsYWNlbWVudExpc3QgPSB7IHRibCB9CndoaWxlICNwbGFjZW1lbnRMaXN0IH49IDAgZG8KcGFyZW50TGlzdCA9IHsgfQpmb3IgXywgcGFyZW50IGluIGlwYWlycyhwbGFjZW1lbnRMaXN0KSBkbwpmb3IgaywgdiBpbiBwYWlycyhwYXJlbnQpIGRvCmlmIHR5cGUodikgPT0gInRhYmxlIiBhbmQgbm90IHBsYWNlbWVudFt2XSB0aGVuCnRhYmxlLmluc2VydChwYXJlbnRMaXN0LCB2KQpwbGFjZW1lbnRbdl0gPSB7CnBhcmVudCA9IHBhcmVudCwKa2V5ID0gawp9CmVuZAplbmQKZW5kCnBsYWNlbWVudExpc3QgPSBwYXJlbnRMaXN0CmVuZApyZXR1cm4gcGxhY2VtZW50CmVuZApmdW5jdGlvbiByYXcuX2VuY29kZSh2KQppZiB0eXBlKHYpID09ICJzdHJpbmciIHRoZW4KcmV0dXJuICciJyAuLiB2IC4uICciJwplbHNlCnJldHVybiB0b3N0cmluZyh2KQplbmQKZW5kCkx4UwBsb2NhbCBWRVJTSU9OID0gJzIwMTYxMTA5LjIxJyAtLSB2ZXJzaW9uIGhpc3RvcnkgYXQgZW5kIG9mIGZpbGUKbG9jYWwgQVVUSE9SX05PVEUgPSAiLVsgSlNPTi5sdWEgcGFja2FnZSBieSBKZWZmcmV5IEZyaWVkbCAoaHR0cDovL3JlZ2V4LmluZm8vYmxvZy9sdWEvanNvbikgdmVyc2lvbiAyMDE2MTEwOS4yMSBdLSIKbG9jYWwgT0JKREVGID0gewogICBWRVJTSU9OICAgICAgPSBWRVJTSU9OLAogICBBVVRIT1JfTk9URSAgPSBBVVRIT1JfTk9URSwKfQpsb2NhbCBkZWZhdWx0X3ByZXR0eV9pbmRlbnQgID0gIiAgIgpsb2NhbCBkZWZhdWx0X3ByZXR0eV9vcHRpb25zID0geyBwcmV0dHkgPSB0cnVlLCBhbGlnbl9rZXlzID0gZmFsc2UsIGluZGVudCA9IGRlZmF1bHRfcHJldHR5X2luZGVudCAgfQpsb2NhbCBpc0FycmF5ICA9IHsgX190b3N0cmluZyA9IGZ1bmN0aW9uKCkgcmV0dXJuICJKU09OIGFycmF5IiAgICAgICAgIGVuZCB9ICBpc0FycmF5Ll9faW5kZXggID0gaXNBcnJheQpsb2NhbCBpc09iamVjdCA9IHsgX190b3N0cmluZyA9IGZ1bmN0aW9uKCkgcmV0dXJuICJKU09OIG9iamVjdCIgICAgICAgIGVuZCB9ICBpc09iamVjdC5fX2luZGV4ID0gaXNPYmplY3QKZnVuY3Rpb24gT0JKREVGOm5ld0FycmF5KHRibCkKICAgcmV0dXJuIHNldG1ldGF0YWJsZSh0Ymwgb3Ige30sIGlzQXJyYXkpCmVuZApmdW5jdGlvbiBPQkpERUY6bmV3T2JqZWN0KHRibCkKICAgcmV0dXJuIHNldG1ldGF0YWJsZSh0Ymwgb3Ige30sIGlzT2JqZWN0KQplbmQKbG9jYWwgZnVuY3Rpb24gZ2V0bnVtKG9wKQogICByZXR1cm4gdHlwZShvcCkgPT0gJ251bWJlcicgYW5kIG9wIG9yIG9wLk4KZW5kCmxvY2FsIGlzTnVtYmVyID0gewogICBfX3Rvc3RyaW5nID0gZnVuY3Rpb24oVCkgIHJldHVybiBULlMgICAgICAgIGVuZCwKICAgX191bm0gICAgICA9IGZ1bmN0aW9uKG9wKSByZXR1cm4gZ2V0bnVtKG9wKSBlbmQsCiAgIF9fY29uY2F0ICAgPSBmdW5jdGlvbihvcDEsIG9wMikgcmV0dXJuIHRvc3RyaW5nKG9wMSkgLi4gdG9zdHJpbmcob3AyKSBlbmQsCiAgIF9fYWRkICAgICAgPSBmdW5jdGlvbihvcDEsIG9wMikgcmV0dXJuIGdldG51bShvcDEpICAgKyAgIGdldG51bShvcDIpICBlbmQsCiAgIF9fc3ViICAgICAgPSBmdW5jdGlvbihvcDEsIG9wMikgcmV0dXJuIGdldG51bShvcDEpICAgLSAgIGdldG51bShvcDIpICBlbmQsCiAgIF9fbXVsICAgICAgPSBmdW5jdGlvbihvcDEsIG9wMikgcmV0dXJuIGdldG51bShvcDEpICAgKiAgIGdldG51bShvcDIpICBlbmQsCiAgIF9fZGl2ICAgICAgPSBmdW5jdGlvbihvcDEsIG9wMikgcmV0dXJuIGdldG51bShvcDEpICAgLyAgIGdldG51bShvcDIpICBlbmQsCiAgIF9fbW9kICAgICAgPSBmdW5jdGlvbihvcDEsIG9wMikgcmV0dXJuIGdldG51bShvcDEpICAgJSAgIGdldG51bShvcDIpICBlbmQsCiAgIF9fcG93ICAgICAgPSBmdW5jdGlvbihvcDEsIG9wMikgcmV0dXJuIGdldG51bShvcDEpICAgXiAgIGdldG51bShvcDIpICBlbmQsCiAgIF9fbHQgICAgICAgPSBmdW5jdGlvbihvcDEsIG9wMikgcmV0dXJuIGdldG51bShvcDEpICAgPCAgIGdldG51bShvcDIpICBlbmQsCiAgIF9fZXEgICAgICAgPSBmdW5jdGlvbihvcDEsIG9wMikgcmV0dXJuIGdldG51bShvcDEpICAgPT0gIGdldG51bShvcDIpICBlbmQsCiAgIF9fbGUgICAgICAgPSBmdW5jdGlvbihvcDEsIG9wMikgcmV0dXJuIGdldG51bShvcDEpICAgPD0gIGdldG51bShvcDIpICBlbmQsCn0KaXNOdW1iZXIuX19pbmRleCA9IGlzTnVtYmVyCmZ1bmN0aW9uIE9CSkRFRjphc051bWJlcihpdGVtKQogICBpZiBnZXRtZXRhdGFibGUoaXRlbSkgPT0gaXNOdW1iZXIgdGhlbgogICAgICAtLSBpdCdzIGFscmVhZHkgYSBKU09OIG51bWJlciBvYmplY3QuCiAgICAgIHJldHVybiBpdGVtCiAgIGVsc2VpZiB0eXBlKGl0ZW0pID09ICd0YWJsZScgYW5kIHR5cGUoaXRlbS5TKSA9PSAnc3RyaW5nJyBhbmQgdHlwZShpdGVtLk4pID09ICdudW1iZXInIHRoZW4KICAgICAgLS0gaXQncyBhIG51bWJlci1vYmplY3QgdGFibGUgdGhhdCBsb3N0IGl0cyBtZXRhdGFibGUsIHNvIGdpdmUgaXQgb25lCiAgICAgIHJldHVybiBzZXRtZXRhdGFibGUoaXRlbSwgaXNOdW1iZXIpCiAgIGVsc2UKICAgICAgLS0gdGhlIG5vcm1hbCBzaXR1YXRpb24uLi4gZ2l2ZW4gYSBudW1iZXIgb3IgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYSBudW1iZXIuLi4uCiAgICAgIGxvY2FsIGhvbGRlciA9IHsKICAgICAgICAgUyA9IHRvc3RyaW5nKGl0ZW0pLCAtLSBTIGlzIHRoZSByZXByZXNlbnRhdGlvbiBvZiB0aGUgbnVtYmVyIGFzIGEgc3RyaW5nLCB3aGljaCByZW1haW5zIHByZWNpc2UKICAgICAgICAgTiA9IHRvbnVtYmVyKGl0ZW0pLCAtLSBOIGlzIHRoZSBudW1iZXIgYXMgYSBMdWEgbnVtYmVyLgogICAgICB9CiAgICAgIHJldHVybiBzZXRtZXRhdGFibGUoaG9sZGVyLCBpc051bWJlcikKICAgZW5kCmVuZApmdW5jdGlvbiBPQkpERUY6Zm9yY2VTdHJpbmcoaXRlbSkKICAgaWYgdHlwZShpdGVtKSA9PSAndGFibGUnIGFuZCB0eXBlKGl0ZW0uUykgPT0gJ3N0cmluZycgdGhlbgogICAgICByZXR1cm4gaXRlbS5TCiAgIGVsc2UKICAgICAgcmV0dXJuIHRvc3RyaW5nKGl0ZW0pCiAgIGVuZAplbmQKZnVuY3Rpb24gT0JKREVGOmZvcmNlTnVtYmVyKGl0ZW0pCiAgIGlmIHR5cGUoaXRlbSkgPT0gJ3RhYmxlJyBhbmQgdHlwZShpdGVtLk4pID09ICdudW1iZXInIHRoZW4KICAgICAgcmV0dXJuIGl0ZW0uTgogICBlbHNlCiAgICAgIHJldHVybiB0b251bWJlcihpdGVtKQogICBlbmQKZW5kCiAgIApsb2NhbCBmdW5jdGlvbiB1bmljb2RlX2NvZGVwb2ludF9hc191dGY4KGNvZGVwb2ludCkKICAgLS0KICAgLS0gY29kZXBvaW50IGlzIGEgbnVtYmVyCiAgIC0tCiAgIGlmIGNvZGVwb2ludCA8PSAxMjcgdGhlbgogICAgICByZXR1cm4gc3RyaW5nLmNoYXIoY29kZXBvaW50KQogICBlbHNlaWYgY29kZXBvaW50IDw9IDIwNDcgdGhlbgogICAgICAtLQogICAgICAtLSAxMTB5eXl4eCAxMHh4eHh4eCAgICAgICAgIDwtLSB1c2VmdWwgbm90YXRpb24gZnJvbSBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1V0ZjgKICAgICAgLS0KICAgICAgbG9jYWwgaGlnaHBhcnQgPSBtYXRoLmZsb29yKGNvZGVwb2ludCAvIDB4NDApCiAgICAgIGxvY2FsIGxvd3BhcnQgID0gY29kZXBvaW50IC0gKDB4NDAgKiBoaWdocGFydCkKICAgICAgcmV0dXJuIHN0cmluZy5jaGFyKDB4QzAgKyBoaWdocGFydCwKICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAgKyBsb3dwYXJ0KQogICBlbHNlaWYgY29kZXBvaW50IDw9IDY1NTM1IHRoZW4KICAgICAgLS0KICAgICAgLS0gMTExMHl5eXkgMTB5eXl5eHggMTB4eHh4eHgKICAgICAgLS0KICAgICAgbG9jYWwgaGlnaHBhcnQgID0gbWF0aC5mbG9vcihjb2RlcG9pbnQgLyAweDEwMDApCiAgICAgIGxvY2FsIHJlbWFpbmRlciA9IGNvZGVwb2ludCAtIDB4MTAwMCAqIGhpZ2hwYXJ0CiAgICAgIGxvY2FsIG1pZHBhcnQgICA9IG1hdGguZmxvb3IocmVtYWluZGVyIC8gMHg0MCkKICAgICAgbG9jYWwgbG93cGFydCAgID0gcmVtYWluZGVyIC0gMHg0MCAqIG1pZHBhcnQKICAgICAgaGlnaHBhcnQgPSAweEUwICsgaGlnaHBhcnQKICAgICAgbWlkcGFydCAgPSAweDgwICsgbWlkcGFydAogICAgICBsb3dwYXJ0ICA9IDB4ODAgKyBsb3dwYXJ0CiAgICAgIC0tCiAgICAgIC0tIENoZWNrIGZvciBhbiBpbnZhbGlkIGNoYXJhY3RlciAodGhhbmtzIEFuZHkgUi4gYXQgQWRvYmUpLgogICAgICAtLSBTZWUgdGFibGUgMy43LCBwYWdlIDkzLCBpbiBodHRwOi8vd3d3LnVuaWNvZGUub3JnL3ZlcnNpb25zL1VuaWNvZGU1LjIuMC9jaDAzLnBkZiNHMjgwNzAKICAgICAgLS0KICAgICAgaWYgKCBoaWdocGFydCA9PSAweEUwIGFuZCBtaWRwYXJ0IDwgMHhBMCApIG9yCiAgICAgICAgICggaGlnaHBhcnQgPT0gMHhFRCBhbmQgbWlkcGFydCA+IDB4OUYgKSBvcgogICAgICAgICAoIGhpZ2hwYXJ0ID09IDB4RjAgYW5kIG1pZHBhcnQgPCAweDkwICkgb3IKICAgICAgICAgKCBoaWdocGFydCA9PSAweEY0IGFuZCBtaWRwYXJ0ID4gMHg4RiApCiAgICAgIHRoZW4KICAgICAgICAgcmV0dXJuICI/IgogICAgICBlbHNlCiAgICAgICAgIHJldHVybiBzdHJpbmcuY2hhcihoaWdocGFydCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pZHBhcnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb3dwYXJ0KQogICAgICBlbmQKICAgZWxzZQogICAgICAtLQogICAgICAtLSAxMTExMHp6eiAxMHp6eXl5eSAxMHl5eXl4eCAxMHh4eHh4eAogICAgICAtLQogICAgICBsb2NhbCBoaWdocGFydCAgPSBtYXRoLmZsb29yKGNvZGVwb2ludCAvIDB4NDAwMDApCiAgICAgIGxvY2FsIHJlbWFpbmRlciA9IGNvZGVwb2ludCAtIDB4NDAwMDAgKiBoaWdocGFydAogICAgICBsb2NhbCBtaWRBICAgICAgPSBtYXRoLmZsb29yKHJlbWFpbmRlciAvIDB4MTAwMCkKICAgICAgcmVtYWluZGVyICAgICAgID0gcmVtYWluZGVyIC0gMHgxMDAwICogbWlkQQogICAgICBsb2NhbCBtaWRCICAgICAgPSBtYXRoLmZsb29yKHJlbWFpbmRlciAvIDB4NDApCiAgICAgIGxvY2FsIGxvd3BhcnQgICA9IHJlbWFpbmRlciAtIDB4NDAgKiBtaWRCCiAgICAgIHJldHVybiBzdHJpbmcuY2hhcigweEYwICsgaGlnaHBhcnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAweDgwICsgbWlkQSwKICAgICAgICAgICAgICAgICAgICAgICAgIDB4ODAgKyBtaWRCLAogICAgICAgICAgICAgICAgICAgICAgICAgMHg4MCArIGxvd3BhcnQpCiAgIGVuZAplbmQKZnVuY3Rpb24gT0JKREVGOm9uRGVjb2RlRXJyb3IobWVzc2FnZSwgdGV4dCwgbG9jYXRpb24sIGV0YykKICAgaWYgdGV4dCB0aGVuCiAgICAgIGlmIGxvY2F0aW9uIHRoZW4KICAgICAgICAgbWVzc2FnZSA9IHN0cmluZy5mb3JtYXQoIiVzIGF0IGJ5dGUgJWQgb2Y6ICVzIiwgbWVzc2FnZSwgbG9jYXRpb24sIHRleHQpCiAgICAgIGVsc2UKICAgICAgICAgbWVzc2FnZSA9IHN0cmluZy5mb3JtYXQoIiVzOiAlcyIsIG1lc3NhZ2UsIHRleHQpCiAgICAgIGVuZAogICBlbmQKICAgaWYgZXRjIH49IG5pbCB0aGVuCiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlIC4uICIgKCIgLi4gT0JKREVGOmVuY29kZShldGMpIC4uICIpIgogICBlbmQKICAgaWYgc2VsZi5hc3NlcnQgdGhlbgogICAgICBzZWxmLmFzc2VydChmYWxzZSwgbWVzc2FnZSkKICAgZWxzZQogICAgICBhc3NlcnQoZmFsc2UsIG1lc3NhZ2UpCiAgIGVuZAplbmQKZnVuY3Rpb24gT0JKREVGOm9uVHJhaWxpbmdHYXJiYWdlKGpzb25fdGV4dCwgbG9jYXRpb24sIHBhcnNlZF92YWx1ZSwgZXRjKQogICByZXR1cm4gc2VsZjpvbkRlY29kZUVycm9yKCJ0cmFpbGluZyBnYXJiYWdlIiwganNvbl90ZXh0LCBsb2NhdGlvbiwgZXRjKQplbmQKT0JKREVGLm9uRGVjb2RlT2ZOaWxFcnJvciAgPSBPQkpERUYub25EZWNvZGVFcnJvcgpPQkpERUYub25EZWNvZGVPZkhUTUxFcnJvciA9IE9CSkRFRi5vbkRlY29kZUVycm9yCmZ1bmN0aW9uIE9CSkRFRjpvbkVuY29kZUVycm9yKG1lc3NhZ2UsIGV0YykKICAgaWYgZXRjIH49IG5pbCB0aGVuCiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlIC4uICIgKCIgLi4gT0JKREVGOmVuY29kZShldGMpIC4uICIpIgogICBlbmQKICAgaWYgc2VsZi5hc3NlcnQgdGhlbgogICAgICBzZWxmLmFzc2VydChmYWxzZSwgbWVzc2FnZSkKICAgZWxzZQogICAgICBhc3NlcnQoZmFsc2UsIG1lc3NhZ2UpCiAgIGVuZAplbmQKbG9jYWwgZnVuY3Rpb24gZ3Jva19udW1iZXIoc2VsZiwgdGV4dCwgc3RhcnQsIG9wdGlvbnMpCiAgIC0tCiAgIC0tIEdyYWIgdGhlIGludGVnZXIgcGFydAogICAtLQogICBsb2NhbCBpbnRlZ2VyX3BhcnQgPSB0ZXh0Om1hdGNoKCdeLT9bMS05XSVkKicsIHN0YXJ0KQogICAgICAgICAgICAgICAgICAgICBvciB0ZXh0Om1hdGNoKCJeLT8wIiwgICAgICAgIHN0YXJ0KQogICBpZiBub3QgaW50ZWdlcl9wYXJ0IHRoZW4KICAgICAgc2VsZjpvbkRlY29kZUVycm9yKCJleHBlY3RlZCBudW1iZXIiLCB0ZXh0LCBzdGFydCwgb3B0aW9ucy5ldGMpCiAgICAgIHJldHVybiBuaWwsIHN0YXJ0IC0tIGluIGNhc2UgdGhlIGVycm9yIG1ldGhvZCBkb2Vzbid0IGFib3J0LCByZXR1cm4gc29tZXRoaW5nIHNlbnNpYmxlCiAgIGVuZAogICBsb2NhbCBpID0gc3RhcnQgKyBpbnRlZ2VyX3BhcnQ6bGVuKCkKICAgLS0KICAgLS0gR3JhYiBhbiBvcHRpb25hbCBkZWNpbWFsIHBhcnQKICAgLS0KICAgbG9jYWwgZGVjaW1hbF9wYXJ0ID0gdGV4dDptYXRjaCgnXiUuJWQrJywgaSkgb3IgIiIKICAgaSA9IGkgKyBkZWNpbWFsX3BhcnQ6bGVuKCkKICAgLS0KICAgLS0gR3JhYiBhbiBvcHRpb25hbCBleHBvbmVudGlhbCBwYXJ0CiAgIC0tCiAgIGxvY2FsIGV4cG9uZW50X3BhcnQgPSB0ZXh0Om1hdGNoKCdeW2VFXVstK10/JWQrJywgaSkgb3IgIiIKICAgaSA9IGkgKyBleHBvbmVudF9wYXJ0OmxlbigpCiAgIGxvY2FsIGZ1bGxfbnVtYmVyX3RleHQgPSBpbnRlZ2VyX3BhcnQgLi4gZGVjaW1hbF9wYXJ0IC4uIGV4cG9uZW50X3BhcnQKICAgaWYgb3B0aW9ucy5kZWNvZGVOdW1iZXJzQXNPYmplY3RzIHRoZW4KICAgICAgcmV0dXJuIE9CSkRFRjphc051bWJlcihmdWxsX251bWJlcl90ZXh0KSwgaQogICBlbmQKICAgLS0KICAgLS0gSWYgd2UncmUgdG9sZCB0byBzdHJpbmdpZnkgdW5kZXIgY2VydGFpbiBjb25kaXRpb25zLCBzbyBkby4KICAgLS0gV2UgcHVudCBhIGJpdCB3aGVuIHRoZXJlJ3MgYW4gZXhwb25lbnQgYnkganVzdCBzdHJpbmdpZnlpbmcgbm8gbWF0dGVyIHdoYXQuCiAgIC0tIEkgc3VwcG9zZSB3ZSBzaG91bGQgcmVhbGx5IGxvb2sgdG8gc2VlIHdoZXRoZXIgdGhlIGV4cG9uZW50IGlzIGFjdHVhbGx5IGJpZyBlbm91Z2ggb25lCiAgIC0tIHdheSBvciB0aGUgb3RoZXIgdG8gdHJpcCBzdHJpbmdpZmljYXRpb24sIGJ1dCBJJ2xsIGJlIGxhenkgYWJvdXQgaXQgdW50aWwgc29tZW9uZSBhc2tzLgogICAtLQogICBpZiAob3B0aW9ucy5kZWNvZGVJbnRlZ2VyU3RyaW5naWZpY2F0aW9uTGVuZ3RoCiAgICAgICBhbmQKICAgICAgKGludGVnZXJfcGFydDpsZW4oKSA+PSBvcHRpb25zLmRlY29kZUludGVnZXJTdHJpbmdpZmljYXRpb25MZW5ndGggb3IgZXhwb25lbnRfcGFydDpsZW4oKSA+IDApKQogICAgICAgb3IKICAgICAgKG9wdGlvbnMuZGVjb2RlRGVjaW1hbFN0cmluZ2lmaWNhdGlvbkxlbmd0aCAKICAgICAgIGFuZAogICAgICAgKGRlY2ltYWxfcGFydDpsZW4oKSA+PSBvcHRpb25zLmRlY29kZURlY2ltYWxTdHJpbmdpZmljYXRpb25MZW5ndGggb3IgZXhwb25lbnRfcGFydDpsZW4oKSA+IDApKQogICB0aGVuCiAgICAgIHJldHVybiBmdWxsX251bWJlcl90ZXh0LCBpIC0tIHRoaXMgcmV0dXJucyB0aGUgZXhhY3Qgc3RyaW5nIHJlcHJlc2VudGF0aW9uIHNlZW4gaW4gdGhlIG9yaWdpbmFsIEpTT04KICAgZW5kCiAgIGxvY2FsIGFzX251bWJlciA9IHRvbnVtYmVyKGZ1bGxfbnVtYmVyX3RleHQpCiAgIGlmIG5vdCBhc19udW1iZXIgdGhlbgogICAgICBzZWxmOm9uRGVjb2RlRXJyb3IoImJhZCBudW1iZXIiLCB0ZXh0LCBzdGFydCwgb3B0aW9ucy5ldGMpCiAgICAgIHJldHVybiBuaWwsIHN0YXJ0IC0tIGluIGNhc2UgdGhlIGVycm9yIG1ldGhvZCBkb2Vzbid0IGFib3J0LCByZXR1cm4gc29tZXRoaW5nIHNlbnNpYmxlCiAgIGVuZAogICByZXR1cm4gYXNfbnVtYmVyLCBpCmVuZApsb2NhbCBmdW5jdGlvbiBncm9rX3N0cmluZyhzZWxmLCB0ZXh0LCBzdGFydCwgb3B0aW9ucykKICAgaWYgdGV4dDpzdWIoc3RhcnQsc3RhcnQpIH49ICciJyB0aGVuCiAgICAgIHNlbGY6b25EZWNvZGVFcnJvcigiZXhwZWN0ZWQgc3RyaW5nJ3Mgb3BlbmluZyBxdW90ZSIsIHRleHQsIHN0YXJ0LCBvcHRpb25zLmV0YykKICAgICAgcmV0dXJuIG5pbCwgc3RhcnQgLS0gaW4gY2FzZSB0aGUgZXJyb3IgbWV0aG9kIGRvZXNuJ3QgYWJvcnQsIHJldHVybiBzb21ldGhpbmcgc2Vuc2libGUKICAgZW5kCiAgIGxvY2FsIGkgPSBzdGFydCArIDEgLS0gKzEgdG8gYnlwYXNzIHRoZSBpbml0aWFsIHF1b3RlCiAgIGxvY2FsIHRleHRfbGVuID0gdGV4dDpsZW4oKQogICBsb2NhbCBWQUxVRSA9ICIiCiAgIHdoaWxlIGkgPD0gdGV4dF9sZW4gZG8KICAgICAgbG9jYWwgYyA9IHRleHQ6c3ViKGksaSkKICAgICAgaWYgYyA9PSAnIicgdGhlbgogICAgICAgICByZXR1cm4gVkFMVUUsIGkgKyAxCiAgICAgIGVuZAogICAgICBpZiBjIH49ICdcXCcgdGhlbgogICAgICAgICBWQUxVRSA9IFZBTFVFIC4uIGMKICAgICAgICAgaSA9IGkgKyAxCiAgICAgIGVsc2VpZiB0ZXh0Om1hdGNoKCdeXFxiJywgaSkgdGhlbgogICAgICAgICBWQUxVRSA9IFZBTFVFIC4uICJcYiIKICAgICAgICAgaSA9IGkgKyAyCiAgICAgIGVsc2VpZiB0ZXh0Om1hdGNoKCdeXFxmJywgaSkgdGhlbgogICAgICAgICBWQUxVRSA9IFZBTFVFIC4uICJcZiIKICAgICAgICAgaSA9IGkgKyAyCiAgICAgIGVsc2VpZiB0ZXh0Om1hdGNoKCdeXFxuJywgaSkgdGhlbgogICAgICAgICBWQUxVRSA9IFZBTFVFIC4uICJcbiIKICAgICAgICAgaSA9IGkgKyAyCiAgICAgIGVsc2VpZiB0ZXh0Om1hdGNoKCdeXFxyJywgaSkgdGhlbgogICAgICAgICBWQUxVRSA9IFZBTFVFIC4uICJcciIKICAgICAgICAgaSA9IGkgKyAyCiAgICAgIGVsc2VpZiB0ZXh0Om1hdGNoKCdeXFx0JywgaSkgdGhlbgogICAgICAgICBWQUxVRSA9IFZBTFVFIC4uICJcdCIKICAgICAgICAgaSA9IGkgKyAyCiAgICAgIGVsc2UKICAgICAgICAgbG9jYWwgaGV4ID0gdGV4dDptYXRjaCgnXlxcdShbMDEyMzQ1Njc4OWFBYkJjQ2REZUVmRl1bMDEyMzQ1Njc4OWFBYkJjQ2REZUVmRl1bMDEyMzQ1Njc4OWFBYkJjQ2REZUVmRl1bMDEyMzQ1Njc4OWFBYkJjQ2REZUVmRl0pJywgaSkKICAgICAgICAgaWYgaGV4IHRoZW4KICAgICAgICAgICAgaSA9IGkgKyA2IC0tIGJ5cGFzcyB3aGF0IHdlIGp1c3QgcmVhZAogICAgICAgICAgICAtLSBXZSBoYXZlIGEgVW5pY29kZSBjb2RlcG9pbnQuIEl0IGNvdWxkIGJlIHN0YW5kYWxvbmUsIG9yIGlmIGluIHRoZSBwcm9wZXIgcmFuZ2UgYW5kCiAgICAgICAgICAgIC0tIGZvbGxvd2VkIGJ5IGFub3RoZXIgaW4gYSBzcGVjaWZpYyByYW5nZSwgaXQnbGwgYmUgYSB0d28tY29kZSBzdXJyb2dhdGUgcGFpci4KICAgICAgICAgICAgbG9jYWwgY29kZXBvaW50ID0gdG9udW1iZXIoaGV4LCAxNikKICAgICAgICAgICAgaWYgY29kZXBvaW50ID49IDB4RDgwMCBhbmQgY29kZXBvaW50IDw9IDB4REJGRiB0aGVuCiAgICAgICAgICAgICAgIC0tIGl0J3MgYSBoaSBzdXJyb2dhdGUuLi4gc2VlIHdoZXRoZXIgd2UgaGF2ZSBhIGZvbGxvd2luZyBsb3cKICAgICAgICAgICAgICAgbG9jYWwgbG9fc3Vycm9nYXRlID0gdGV4dDptYXRjaCgnXlxcdShbZERdW2NkZWZDREVGXVswMTIzNDU2Nzg5YUFiQmNDZERlRWZGXVswMTIzNDU2Nzg5YUFiQmNDZERlRWZGXSknLCBpKQogICAgICAgICAgICAgICBpZiBsb19zdXJyb2dhdGUgdGhlbgogICAgICAgICAgICAgICAgICBpID0gaSArIDYgLS0gYnlwYXNzIHRoZSBsb3cgc3Vycm9nYXRlIHdlIGp1c3QgcmVhZAogICAgICAgICAgICAgICAgICBjb2RlcG9pbnQgPSAweDI0MDAgKyAoY29kZXBvaW50IC0gMHhEODAwKSAqIDB4NDAwICsgdG9udW1iZXIobG9fc3Vycm9nYXRlLCAxNikKICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAtLSBub3QgYSBwcm9wZXIgbG93LCBzbyB3ZSdsbCBqdXN0IGxlYXZlIHRoZSBmaXJzdCBjb2RlcG9pbnQgYXMgaXMgYW5kIHNwaXQgaXQgb3V0LgogICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIFZBTFVFID0gVkFMVUUgLi4gdW5pY29kZV9jb2RlcG9pbnRfYXNfdXRmOChjb2RlcG9pbnQpCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgLS0ganVzdCBwYXNzIHRocm91Z2ggd2hhdCdzIGVzY2FwZWQKICAgICAgICAgICAgVkFMVUUgPSBWQUxVRSAuLiB0ZXh0Om1hdGNoKCdeXFwoLiknLCBpKQogICAgICAgICAgICBpID0gaSArIDIKICAgICAgICAgZW5kCiAgICAgIGVuZAogICBlbmQKICAgc2VsZjpvbkRlY29kZUVycm9yKCJ1bmNsb3NlZCBzdHJpbmciLCB0ZXh0LCBzdGFydCwgb3B0aW9ucy5ldGMpCiAgIHJldHVybiBuaWwsIHN0YXJ0IC0tIGluIGNhc2UgdGhlIGVycm9yIG1ldGhvZCBkb2Vzbid0IGFib3J0LCByZXR1cm4gc29tZXRoaW5nIHNlbnNpYmxlCmVuZApsb2NhbCBmdW5jdGlvbiBza2lwX3doaXRlc3BhY2UodGV4dCwgc3RhcnQpCiAgIGxvY2FsIF8sIG1hdGNoX2VuZCA9IHRleHQ6ZmluZCgiXlsgXG5cclx0XSsiLCBzdGFydCkgLS0gW2h0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzQ2MjcudHh0XSBTZWN0aW9uIDIKICAgaWYgbWF0Y2hfZW5kIHRoZW4KICAgICAgcmV0dXJuIG1hdGNoX2VuZCArIDEKICAgZWxzZQogICAgICByZXR1cm4gc3RhcnQKICAgZW5kCmVuZApsb2NhbCBncm9rX29uZSAtLSBhc3NpZ25lZCBsYXRlcgpsb2NhbCBmdW5jdGlvbiBncm9rX29iamVjdChzZWxmLCB0ZXh0LCBzdGFydCwgb3B0aW9ucykKICAgaWYgdGV4dDpzdWIoc3RhcnQsc3RhcnQpIH49ICd7JyB0aGVuCiAgICAgIHNlbGY6b25EZWNvZGVFcnJvcigiZXhwZWN0ZWQgJ3snIiwgdGV4dCwgc3RhcnQsIG9wdGlvbnMuZXRjKQogICAgICByZXR1cm4gbmlsLCBzdGFydCAtLSBpbiBjYXNlIHRoZSBlcnJvciBtZXRob2QgZG9lc24ndCBhYm9ydCwgcmV0dXJuIHNvbWV0aGluZyBzZW5zaWJsZQogICBlbmQKICAgbG9jYWwgaSA9IHNraXBfd2hpdGVzcGFjZSh0ZXh0LCBzdGFydCArIDEpIC0tICsxIHRvIHNraXAgdGhlICd7JwogICBsb2NhbCBWQUxVRSA9IHNlbGYuc3RyaWN0VHlwZXMgYW5kIHNlbGY6bmV3T2JqZWN0IHsgfSBvciB7IH0KICAgaWYgdGV4dDpzdWIoaSxpKSA9PSAnfScgdGhlbgogICAgICByZXR1cm4gVkFMVUUsIGkgKyAxCiAgIGVuZAogICBsb2NhbCB0ZXh0X2xlbiA9IHRleHQ6bGVuKCkKICAgd2hpbGUgaSA8PSB0ZXh0X2xlbiBkbwogICAgICBsb2NhbCBrZXksIG5ld19pID0gZ3Jva19zdHJpbmcoc2VsZiwgdGV4dCwgaSwgb3B0aW9ucykKICAgICAgaSA9IHNraXBfd2hpdGVzcGFjZSh0ZXh0LCBuZXdfaSkKICAgICAgaWYgdGV4dDpzdWIoaSwgaSkgfj0gJzonIHRoZW4KICAgICAgICAgc2VsZjpvbkRlY29kZUVycm9yKCJleHBlY3RlZCBjb2xvbiIsIHRleHQsIGksIG9wdGlvbnMuZXRjKQogICAgICAgICByZXR1cm4gbmlsLCBpIC0tIGluIGNhc2UgdGhlIGVycm9yIG1ldGhvZCBkb2Vzbid0IGFib3J0LCByZXR1cm4gc29tZXRoaW5nIHNlbnNpYmxlCiAgICAgIGVuZAogICAgICBpID0gc2tpcF93aGl0ZXNwYWNlKHRleHQsIGkgKyAxKQogICAgICBsb2NhbCBuZXdfdmFsLCBuZXdfaSA9IGdyb2tfb25lKHNlbGYsIHRleHQsIGksIG9wdGlvbnMpCiAgICAgIFZBTFVFW2tleV0gPSBuZXdfdmFsCiAgICAgIC0tCiAgICAgIC0tIEV4cGVjdCBub3cgZWl0aGVyICd9JyB0byBlbmQgdGhpbmdzLCBvciBhICcsJyB0byBhbGxvdyB1cyB0byBjb250aW51ZS4KICAgICAgLS0KICAgICAgaSA9IHNraXBfd2hpdGVzcGFjZSh0ZXh0LCBuZXdfaSkKICAgICAgbG9jYWwgYyA9IHRleHQ6c3ViKGksaSkKICAgICAgaWYgYyA9PSAnfScgdGhlbgogICAgICAgICByZXR1cm4gVkFMVUUsIGkgKyAxCiAgICAgIGVuZAogICAgICBpZiB0ZXh0OnN1YihpLCBpKSB+PSAnLCcgdGhlbgogICAgICAgICBzZWxmOm9uRGVjb2RlRXJyb3IoImV4cGVjdGVkIGNvbW1hIG9yICd9JyIsIHRleHQsIGksIG9wdGlvbnMuZXRjKQogICAgICAgICByZXR1cm4gbmlsLCBpIC0tIGluIGNhc2UgdGhlIGVycm9yIG1ldGhvZCBkb2Vzbid0IGFib3J0LCByZXR1cm4gc29tZXRoaW5nIHNlbnNpYmxlCiAgICAgIGVuZAogICAgICBpID0gc2tpcF93aGl0ZXNwYWNlKHRleHQsIGkgKyAxKQogICBlbmQKICAgc2VsZjpvbkRlY29kZUVycm9yKCJ1bmNsb3NlZCAneyciLCB0ZXh0LCBzdGFydCwgb3B0aW9ucy5ldGMpCiAgIHJldHVybiBuaWwsIHN0YXJ0IC0tIGluIGNhc2UgdGhlIGVycm9yIG1ldGhvZCBkb2Vzbid0IGFib3J0LCByZXR1cm4gc29tZXRoaW5nIHNlbnNpYmxlCmVuZApsb2NhbCBmdW5jdGlvbiBncm9rX2FycmF5KHNlbGYsIHRleHQsIHN0YXJ0LCBvcHRpb25zKQogICBpZiB0ZXh0OnN1YihzdGFydCxzdGFydCkgfj0gJ1snIHRoZW4KICAgICAgc2VsZjpvbkRlY29kZUVycm9yKCJleHBlY3RlZCAnWyciLCB0ZXh0LCBzdGFydCwgb3B0aW9ucy5ldGMpCiAgICAgIHJldHVybiBuaWwsIHN0YXJ0IC0tIGluIGNhc2UgdGhlIGVycm9yIG1ldGhvZCBkb2Vzbid0IGFib3J0LCByZXR1cm4gc29tZXRoaW5nIHNlbnNpYmxlCiAgIGVuZAogICBsb2NhbCBpID0gc2tpcF93aGl0ZXNwYWNlKHRleHQsIHN0YXJ0ICsgMSkgLS0gKzEgdG8gc2tpcCB0aGUgJ1snCiAgIGxvY2FsIFZBTFVFID0gc2VsZi5zdHJpY3RUeXBlcyBhbmQgc2VsZjpuZXdBcnJheSB7IH0gb3IgeyB9CiAgIGlmIHRleHQ6c3ViKGksaSkgPT0gJ10nIHRoZW4KICAgICAgcmV0dXJuIFZBTFVFLCBpICsgMQogICBlbmQKICAgbG9jYWwgVkFMVUVfSU5ERVggPSAxCiAgIGxvY2FsIHRleHRfbGVuID0gdGV4dDpsZW4oKQogICB3aGlsZSBpIDw9IHRleHRfbGVuIGRvCiAgICAgIGxvY2FsIHZhbCwgbmV3X2kgPSBncm9rX29uZShzZWxmLCB0ZXh0LCBpLCBvcHRpb25zKQogICAgICAtLSBjYW4ndCB0YWJsZS5pbnNlcnQoVkFMVUUsIHZhbCkgaGVyZSBiZWNhdXNlIGl0J3MgYSBuby1vcCBpZiB2YWwgaXMgbmlsCiAgICAgIFZBTFVFW1ZBTFVFX0lOREVYXSA9IHZhbAogICAgICBWQUxVRV9JTkRFWCA9IFZBTFVFX0lOREVYICsgMQogICAgICBpID0gc2tpcF93aGl0ZXNwYWNlKHRleHQsIG5ld19pKQogICAgICAtLQogICAgICAtLSBFeHBlY3Qgbm93IGVpdGhlciAnXScgdG8gZW5kIHRoaW5ncywgb3IgYSAnLCcgdG8gYWxsb3cgdXMgdG8gY29udGludWUuCiAgICAgIC0tCiAgICAgIGxvY2FsIGMgPSB0ZXh0OnN1YihpLGkpCiAgICAgIGlmIGMgPT0gJ10nIHRoZW4KICAgICAgICAgcmV0dXJuIFZBTFVFLCBpICsgMQogICAgICBlbmQKICAgICAgaWYgdGV4dDpzdWIoaSwgaSkgfj0gJywnIHRoZW4KICAgICAgICAgc2VsZjpvbkRlY29kZUVycm9yKCJleHBlY3RlZCBjb21tYSBvciAnXSciLCB0ZXh0LCBpLCBvcHRpb25zLmV0YykKICAgICAgICAgcmV0dXJuIG5pbCwgaSAtLSBpbiBjYXNlIHRoZSBlcnJvciBtZXRob2QgZG9lc24ndCBhYm9ydCwgcmV0dXJuIHNvbWV0aGluZyBzZW5zaWJsZQogICAgICBlbmQKICAgICAgaSA9IHNraXBfd2hpdGVzcGFjZSh0ZXh0LCBpICsgMSkKICAgZW5kCiAgIHNlbGY6b25EZWNvZGVFcnJvcigidW5jbG9zZWQgJ1snIiwgdGV4dCwgc3RhcnQsIG9wdGlvbnMuZXRjKQogICByZXR1cm4gbmlsLCBpIC0tIGluIGNhc2UgdGhlIGVycm9yIG1ldGhvZCBkb2Vzbid0IGFib3J0LCByZXR1cm4gc29tZXRoaW5nIHNlbnNpYmxlCmVuZApncm9rX29uZSA9IGZ1bmN0aW9uKHNlbGYsIHRleHQsIHN0YXJ0LCBvcHRpb25zKQogICAtLSBTa2lwIGFueSB3aGl0ZXNwYWNlCiAgIHN0YXJ0ID0gc2tpcF93aGl0ZXNwYWNlKHRleHQsIHN0YXJ0KQogICBpZiBzdGFydCA+IHRleHQ6bGVuKCkgdGhlbgogICAgICBzZWxmOm9uRGVjb2RlRXJyb3IoInVuZXhwZWN0ZWQgZW5kIG9mIHN0cmluZyIsIHRleHQsIG5pbCwgb3B0aW9ucy5ldGMpCiAgICAgIHJldHVybiBuaWwsIHN0YXJ0IC0tIGluIGNhc2UgdGhlIGVycm9yIG1ldGhvZCBkb2Vzbid0IGFib3J0LCByZXR1cm4gc29tZXRoaW5nIHNlbnNpYmxlCiAgIGVuZAogICBpZiB0ZXh0OmZpbmQoJ14iJywgc3RhcnQpIHRoZW4KICAgICAgcmV0dXJuIGdyb2tfc3RyaW5nKHNlbGYsIHRleHQsIHN0YXJ0LCBvcHRpb25zLmV0YykKICAgZWxzZWlmIHRleHQ6ZmluZCgnXlstMDEyMzQ1Njc4OSBdJywgc3RhcnQpIHRoZW4KICAgICAgcmV0dXJuIGdyb2tfbnVtYmVyKHNlbGYsIHRleHQsIHN0YXJ0LCBvcHRpb25zKQogICBlbHNlaWYgdGV4dDpmaW5kKCdeJXsnLCBzdGFydCkgdGhlbgogICAgICByZXR1cm4gZ3Jva19vYmplY3Qoc2VsZiwgdGV4dCwgc3RhcnQsIG9wdGlvbnMpCiAgIGVsc2VpZiB0ZXh0OmZpbmQoJ14lWycsIHN0YXJ0KSB0aGVuCiAgICAgIHJldHVybiBncm9rX2FycmF5KHNlbGYsIHRleHQsIHN0YXJ0LCBvcHRpb25zKQogICBlbHNlaWYgdGV4dDpmaW5kKCdedHJ1ZScsIHN0YXJ0KSB0aGVuCiAgICAgIHJldHVybiB0cnVlLCBzdGFydCArIDQKICAgZWxzZWlmIHRleHQ6ZmluZCgnXmZhbHNlJywgc3RhcnQpIHRoZW4KICAgICAgcmV0dXJuIGZhbHNlLCBzdGFydCArIDUKICAgZWxzZWlmIHRleHQ6ZmluZCgnXm51bGwnLCBzdGFydCkgdGhlbgogICAgICByZXR1cm4gbmlsLCBzdGFydCArIDQKICAgZWxzZQogICAgICBzZWxmOm9uRGVjb2RlRXJyb3IoImNhbid0IHBhcnNlIEpTT04iLCB0ZXh0LCBzdGFydCwgb3B0aW9ucy5ldGMpCiAgICAgIHJldHVybiBuaWwsIDEgLS0gaW4gY2FzZSB0aGUgZXJyb3IgbWV0aG9kIGRvZXNuJ3QgYWJvcnQsIHJldHVybiBzb21ldGhpbmcgc2Vuc2libGUKICAgZW5kCmVuZApmdW5jdGlvbiBPQkpERUY6ZGVjb2RlKHRleHQsIGV0Yywgb3B0aW9ucykKICAgLS0KICAgLS0gSWYgdGhlIHVzZXIgZGlkbid0IHBhc3MgaW4gYSB0YWJsZSBvZiBkZWNvZGUgb3B0aW9ucywgbWFrZSBhbiBlbXB0eSBvbmUuCiAgIC0tCiAgIGlmIHR5cGUob3B0aW9ucykgfj0gJ3RhYmxlJyB0aGVuCiAgICAgIG9wdGlvbnMgPSB7fQogICBlbmQKICAgLS0KICAgLS0gSWYgdGhleSBwYXNzZWQgaW4gYW4gJ2V0YycgYXJndW1lbnQsIHN0dWZmIGl0IGludG8gdGhlIG9wdGlvbnMuCiAgIC0tIChJZiBub3QsIGFueSAnZXRjJyBmaWVsZCBpbiB0aGUgb3B0aW9ucyB0aGV5IHBhc3NlZCBpbiByZW1haW5zIHRvIGJlIHVzZWQpCiAgIC0tCiAgIGlmIGV0YyB+PSBuaWwgdGhlbgogICAgICBvcHRpb25zLmV0YyA9IGV0YwogICBlbmQKICAgaWYgdHlwZShzZWxmKSB+PSAndGFibGUnIG9yIHNlbGYuX19pbmRleCB+PSBPQkpERUYgdGhlbgogICAgICBsb2NhbCBlcnJvcl9tZXNzYWdlID0gIkpTT046ZGVjb2RlIG11c3QgYmUgY2FsbGVkIGluIG1ldGhvZCBmb3JtYXQiCiAgICAgIE9CSkRFRjpvbkRlY29kZUVycm9yKGVycm9yX21lc3NhZ2UsIG5pbCwgbmlsLCBvcHRpb25zLmV0YykKICAgICAgcmV0dXJuIG5pbCwgZXJyb3JfbWVzc2FnZSAtLSBpbiBjYXNlIHRoZSBlcnJvciBtZXRob2QgZG9lc24ndCBhYm9ydCwgcmV0dXJuIHNvbWV0aGluZyBzZW5zaWJsZQogICBlbmQKICAgaWYgdGV4dCA9PSBuaWwgdGhlbgogICAgICBsb2NhbCBlcnJvcl9tZXNzYWdlID0gIm5pbCBwYXNzZWQgdG8gSlNPTjpkZWNvZGUoKSIKICAgICAgc2VsZjpvbkRlY29kZU9mTmlsRXJyb3IoZXJyb3JfbWVzc2FnZSwgbmlsLCBuaWwsIG9wdGlvbnMuZXRjKQogICAgICByZXR1cm4gbmlsLCBlcnJvcl9tZXNzYWdlIC0tIGluIGNhc2UgdGhlIGVycm9yIG1ldGhvZCBkb2Vzbid0IGFib3J0LCByZXR1cm4gc29tZXRoaW5nIHNlbnNpYmxlCiAgIGVsc2VpZiB0eXBlKHRleHQpIH49ICdzdHJpbmcnIHRoZW4KICAgICAgbG9jYWwgZXJyb3JfbWVzc2FnZSA9ICJleHBlY3RlZCBzdHJpbmcgYXJndW1lbnQgdG8gSlNPTjpkZWNvZGUoKSIKICAgICAgc2VsZjpvbkRlY29kZUVycm9yKHN0cmluZy5mb3JtYXQoIiVzLCBnb3QgJXMiLCBlcnJvcl9tZXNzYWdlLCB0eXBlKHRleHQpKSwgbmlsLCBuaWwsIG9wdGlvbnMuZXRjKQogICAgICByZXR1cm4gbmlsLCBlcnJvcl9tZXNzYWdlIC0tIGluIGNhc2UgdGhlIGVycm9yIG1ldGhvZCBkb2Vzbid0IGFib3J0LCByZXR1cm4gc29tZXRoaW5nIHNlbnNpYmxlCiAgIGVuZAogICBpZiB0ZXh0Om1hdGNoKCdeJXMqJCcpIHRoZW4KICAgICAgLS0gYW4gZW1wdHkgc3RyaW5nIGlzIG5vdGhpbmcsIGJ1dCBub3QgYW4gZXJyb3IKICAgICAgcmV0dXJuIG5pbAogICBlbmQKICAgaWYgdGV4dDptYXRjaCgnXiVzKjwnKSB0aGVuCiAgICAgIC0tIENhbid0IGJlIEpTT04uLi4gd2UnbGwgYXNzdW1lIGl0J3MgSFRNTAogICAgICBsb2NhbCBlcnJvcl9tZXNzYWdlID0gIkhUTUwgcGFzc2VkIHRvIEpTT046ZGVjb2RlKCkiCiAgICAgIHNlbGY6b25EZWNvZGVPZkhUTUxFcnJvcihlcnJvcl9tZXNzYWdlLCB0ZXh0LCBuaWwsIG9wdGlvbnMuZXRjKQogICAgICByZXR1cm4gbmlsLCBlcnJvcl9tZXNzYWdlIC0tIGluIGNhc2UgdGhlIGVycm9yIG1ldGhvZCBkb2Vzbid0IGFib3J0LCByZXR1cm4gc29tZXRoaW5nIHNlbnNpYmxlCiAgIGVuZAogICAtLQogICAtLSBFbnN1cmUgdGhhdCBpdCdzIG5vdCBVVEYtMzIgb3IgVVRGLTE2LgogICAtLSBUaG9zZSBhcmUgcGVyZmVjdGx5IHZhbGlkIGVuY29kaW5ncyBmb3IgSlNPTiAoYXMgcGVyIFJGQyA0NjI3IHNlY3Rpb24gMyksCiAgIC0tIGJ1dCB0aGlzIHBhY2thZ2UgY2FuJ3QgaGFuZGxlIHRoZW0uCiAgIC0tCiAgIGlmIHRleHQ6c3ViKDEsMSk6Ynl0ZSgpID09IDAgb3IgKHRleHQ6bGVuKCkgPj0gMiBhbmQgdGV4dDpzdWIoMiwyKTpieXRlKCkgPT0gMCkgdGhlbgogICAgICBsb2NhbCBlcnJvcl9tZXNzYWdlID0gIkpTT04gcGFja2FnZSBncm9rcyBvbmx5IFVURi04LCBzb3JyeSIKICAgICAgc2VsZjpvbkRlY29kZUVycm9yKGVycm9yX21lc3NhZ2UsIHRleHQsIG5pbCwgb3B0aW9ucy5ldGMpCiAgICAgIHJldHVybiBuaWwsIGVycm9yX21lc3NhZ2UgLS0gaW4gY2FzZSB0aGUgZXJyb3IgbWV0aG9kIGRvZXNuJ3QgYWJvcnQsIHJldHVybiBzb21ldGhpbmcgc2Vuc2libGUKICAgZW5kCiAgIC0tCiAgIC0tIGFwcGx5IGdsb2JhbCBvcHRpb25zCiAgIC0tCiAgIGlmIG9wdGlvbnMuZGVjb2RlTnVtYmVyc0FzT2JqZWN0cyA9PSBuaWwgdGhlbgogICAgICBvcHRpb25zLmRlY29kZU51bWJlcnNBc09iamVjdHMgPSBzZWxmLmRlY29kZU51bWJlcnNBc09iamVjdHMKICAgZW5kCiAgIGlmIG9wdGlvbnMuZGVjb2RlSW50ZWdlclN0cmluZ2lmaWNhdGlvbkxlbmd0aCA9PSBuaWwgdGhlbgogICAgICBvcHRpb25zLmRlY29kZUludGVnZXJTdHJpbmdpZmljYXRpb25MZW5ndGggPSBzZWxmLmRlY29kZUludGVnZXJTdHJpbmdpZmljYXRpb25MZW5ndGgKICAgZW5kCiAgIGlmIG9wdGlvbnMuZGVjb2RlRGVjaW1hbFN0cmluZ2lmaWNhdGlvbkxlbmd0aCA9PSBuaWwgdGhlbgogICAgICBvcHRpb25zLmRlY29kZURlY2ltYWxTdHJpbmdpZmljYXRpb25MZW5ndGggPSBzZWxmLmRlY29kZURlY2ltYWxTdHJpbmdpZmljYXRpb25MZW5ndGgKICAgZW5kCiAgIC0tCiAgIC0tIEZpbmFsbHksIGdvIHBhcnNlIGl0CiAgIC0tCiAgIGxvY2FsIHN1Y2Nlc3MsIHZhbHVlLCBuZXh0X2kgPSBwY2FsbChncm9rX29uZSwgc2VsZiwgdGV4dCwgMSwgb3B0aW9ucykKICAgaWYgc3VjY2VzcyB0aGVuCiAgICAgIGxvY2FsIGVycm9yX21lc3NhZ2UgPSBuaWwKICAgICAgaWYgbmV4dF9pIH49ICN0ZXh0ICsgMSB0aGVuCiAgICAgICAgIC0tIHNvbWV0aGluZydzIGxlZnQgb3ZlciBhZnRlciB3ZSBwYXJzZWQgdGhlIGZpcnN0IHRoaW5nLi4uLiB3aGl0ZXNwYWNlIGlzIGFsbG93ZWQuCiAgICAgICAgIG5leHRfaSA9IHNraXBfd2hpdGVzcGFjZSh0ZXh0LCBuZXh0X2kpCiAgICAgICAgIC0tIGlmIHdlIGhhdmUgc29tZXRoaW5nIGxlZnQgb3ZlciBub3csIGl0J3MgdHJhaWxpbmcgZ2FyYmFnZQogICAgICAgICBpZiBuZXh0X2kgfj0gI3RleHQgKyAxIHRoZW4KICAgICAgICAgICAgdmFsdWUsIGVycm9yX21lc3NhZ2UgPSBzZWxmOm9uVHJhaWxpbmdHYXJiYWdlKHRleHQsIG5leHRfaSwgdmFsdWUsIG9wdGlvbnMuZXRjKQogICAgICAgICBlbmQKICAgICAgZW5kCiAgICAgIHJldHVybiB2YWx1ZSwgZXJyb3JfbWVzc2FnZQogICBlbHNlCiAgICAgIC0tIElmIEpTT046b25EZWNvZGVFcnJvcigpIGRpZG4ndCBhYm9ydCBvdXQgb2YgdGhlIHBjYWxsLCB3ZSdsbCBoYXZlIHJlY2VpdmVkCiAgICAgIC0tIHRoZSBlcnJvciBtZXNzYWdlIGhlcmUgYXMgInZhbHVlIiwgc28gcGFzcyBpdCBhbG9uZyBhcyBhbiBhc3NlcnQuCiAgICAgIGxvY2FsIGVycm9yX21lc3NhZ2UgPSB2YWx1ZQogICAgICBpZiBzZWxmLmFzc2VydCB0aGVuCiAgICAgICAgIHNlbGYuYXNzZXJ0KGZhbHNlLCBlcnJvcl9tZXNzYWdlKQogICAgICBlbHNlCiAgICAgICAgIGFzc2VydChmYWxzZSwgZXJyb3JfbWVzc2FnZSkKICAgICAgZW5kCiAgICAgIC0tIC4uLmFuZCBpZiB3ZSdyZSBzdGlsbCBoZXJlIChiZWNhdXNlIHRoZSBhc3NlcnQgZGlkbid0IHRocm93IGFuIGVycm9yKSwKICAgICAgLS0gcmV0dXJuIGEgbmlsIGFuZCB0aHJvdyB0aGUgZXJyb3IgbWVzc2FnZSBvbiBhcyBhIHNlY29uZCBhcmcKICAgICAgcmV0dXJuIG5pbCwgZXJyb3JfbWVzc2FnZQogICBlbmQKZW5kCmxvY2FsIGZ1bmN0aW9uIGJhY2tzbGFzaF9yZXBsYWNlbWVudF9mdW5jdGlvbihjKQogICBpZiBjID09ICJcbiIgdGhlbgogICAgICByZXR1cm4gIlxcbiIKICAgZWxzZWlmIGMgPT0gIlxyIiB0aGVuCiAgICAgIHJldHVybiAiXFxyIgogICBlbHNlaWYgYyA9PSAiXHQiIHRoZW4KICAgICAgcmV0dXJuICJcXHQiCiAgIGVsc2VpZiBjID09ICJcYiIgdGhlbgogICAgICByZXR1cm4gIlxcYiIKICAgZWxzZWlmIGMgPT0gIlxmIiB0aGVuCiAgICAgIHJldHVybiAiXFxmIgogICBlbHNlaWYgYyA9PSAnIicgdGhlbgogICAgICByZXR1cm4gJ1xcIicKICAgZWxzZWlmIGMgPT0gJ1xcJyB0aGVuCiAgICAgIHJldHVybiAnXFxcXCcKICAgZWxzZQogICAgICByZXR1cm4gc3RyaW5nLmZvcm1hdCgiXFx1JTA0eCIsIGM6Ynl0ZSgpKQogICBlbmQKZW5kCmxvY2FsIGNoYXJzX3RvX2JlX2VzY2FwZWRfaW5fSlNPTl9zdHJpbmcKICAgPSAnWycKICAgLi4gICAgJyInICAgIC0tIGNsYXNzIHN1Yi1wYXR0ZXJuIHRvIG1hdGNoIGEgZG91YmxlIHF1b3RlCiAgIC4uICAgICclXFwnICAtLSBjbGFzcyBzdWItcGF0dGVybiB0byBtYXRjaCBhIGJhY2tzbGFzaAogICAuLiAgICAnJXonICAgLS0gY2xhc3Mgc3ViLXBhdHRlcm4gdG8gbWF0Y2ggYSBudWxsCiAgIC4uICAgICdcMDAxJyAuLiAnLScgLi4gJ1wwMzEnIC0tIGNsYXNzIHN1Yi1wYXR0ZXJuIHRvIG1hdGNoIGNvbnRyb2wgY2hhcmFjdGVycwogICAuLiAnXScKbG9jYWwgTElORV9TRVBBUkFUT1JfYXNfdXRmOCAgICAgID0gdW5pY29kZV9jb2RlcG9pbnRfYXNfdXRmOCgweDIwMjgpCmxvY2FsIFBBUkFHUkFQSF9TRVBBUkFUT1JfYXNfdXRmOCA9IHVuaWNvZGVfY29kZXBvaW50X2FzX3V0ZjgoMHgyMDI5KQpsb2NhbCBmdW5jdGlvbiBqc29uX3N0cmluZ19saXRlcmFsKHZhbHVlLCBvcHRpb25zKQogICBsb2NhbCBuZXd2YWwgPSB2YWx1ZTpnc3ViKGNoYXJzX3RvX2JlX2VzY2FwZWRfaW5fSlNPTl9zdHJpbmcsIGJhY2tzbGFzaF9yZXBsYWNlbWVudF9mdW5jdGlvbikKICAgaWYgb3B0aW9ucy5zdHJpbmdzQXJlVXRmOCB0aGVuCiAgICAgIC0tCiAgICAgIC0tIFRoaXMgZmVlbHMgcmVhbGx5IHVnbHkgdG8ganVzdCBsb29rIGludG8gYSBzdHJpbmcgZm9yIHRoZSBzZXF1ZW5jZSBvZiBieXRlcyB0aGF0IHdlIGtub3cgdG8gYmUgYSBwYXJ0aWN1bGFyIHV0ZjggY2hhcmFjdGVyLAogICAgICAtLSBidXQgdXRmOCB3YXMgZGVzaWduZWQgcHVycG9zZWZ1bGx5IHRvIG1ha2UgdGhpcyBraW5kIG9mIHRoaW5nIHBvc3NpYmxlLiBTdGlsbCwgZmVlbHMgZGlydHkuCiAgICAgIC0tIEknZCByYXRoZXIgZGVjb2RlIHRoZSBieXRlIHN0cmVhbSBpbnRvIGEgY2hhcmFjdGVyIHN0cmVhbSwgYnV0IGl0J3Mgbm90IHRlY2huaWNhbGx5IG5lZWRlZCBzbwogICAgICAtLSBub3QgdGVjaG5pY2FsbHkgd29ydGggaXQuCiAgICAgIC0tCiAgICAgIG5ld3ZhbCA9IG5ld3ZhbDpnc3ViKExJTkVfU0VQQVJBVE9SX2FzX3V0ZjgsICdcXHUyMDI4Jyk6Z3N1YihQQVJBR1JBUEhfU0VQQVJBVE9SX2FzX3V0ZjgsJ1xcdTIwMjknKQogICBlbmQKICAgcmV0dXJuICciJyAuLiBuZXd2YWwgLi4gJyInCmVuZApsb2NhbCBmdW5jdGlvbiBvYmplY3Rfb3JfYXJyYXkoc2VsZiwgVCwgZXRjKQogICAtLQogICAtLSBXZSBuZWVkIHRvIGluc3BlY3QgYWxsIHRoZSBrZXlzLi4uIGlmIHRoZXJlIGFyZSBhbnkgc3RyaW5ncywgd2UnbGwgY29udmVydCB0byBhIEpTT04KICAgLS0gb2JqZWN0LiBJZiB0aGVyZSBhcmUgb25seSBudW1iZXJzLCBpdCdzIGEgSlNPTiBhcnJheS4KICAgLS0KICAgLS0gSWYgd2UnbGwgYmUgY29udmVydGluZyB0byBhIEpTT04gb2JqZWN0LCB3ZSdsbCB3YW50IHRvIHNvcnQgdGhlIGtleXMgc28gdGhhdCB0aGUKICAgLS0gZW5kIHJlc3VsdCBpcyBkZXRlcm1pbmlzdGljLgogICAtLQogICBsb2NhbCBzdHJpbmdfa2V5cyA9IHsgfQogICBsb2NhbCBudW1iZXJfa2V5cyA9IHsgfQogICBsb2NhbCBudW1iZXJfa2V5c19tdXN0X2JlX3N0cmluZ3MgPSBmYWxzZQogICBsb2NhbCBtYXhpbXVtX251bWJlcl9rZXkKICAgZm9yIGtleSBpbiBwYWlycyhUKSBkbwogICAgICBpZiB0eXBlKGtleSkgPT0gJ3N0cmluZycgdGhlbgogICAgICAgICB0YWJsZS5pbnNlcnQoc3RyaW5nX2tleXMsIGtleSkKICAgICAgZWxzZWlmIHR5cGUoa2V5KSA9PSAnbnVtYmVyJyB0aGVuCiAgICAgICAgIHRhYmxlLmluc2VydChudW1iZXJfa2V5cywga2V5KQogICAgICAgICBpZiBrZXkgPD0gMCBvciBrZXkgPj0gbWF0aC5odWdlIHRoZW4KICAgICAgICAgICAgbnVtYmVyX2tleXNfbXVzdF9iZV9zdHJpbmdzID0gdHJ1ZQogICAgICAgICBlbHNlaWYgbm90IG1heGltdW1fbnVtYmVyX2tleSBvciBrZXkgPiBtYXhpbXVtX251bWJlcl9rZXkgdGhlbgogICAgICAgICAgICBtYXhpbXVtX251bWJlcl9rZXkgPSBrZXkKICAgICAgICAgZW5kCiAgICAgIGVsc2UKICAgICAgICAgc2VsZjpvbkVuY29kZUVycm9yKCJjYW4ndCBlbmNvZGUgdGFibGUgd2l0aCBhIGtleSBvZiB0eXBlICIgLi4gdHlwZShrZXkpLCBldGMpCiAgICAgIGVuZAogICBlbmQKICAgaWYgI3N0cmluZ19rZXlzID09IDAgYW5kIG5vdCBudW1iZXJfa2V5c19tdXN0X2JlX3N0cmluZ3MgdGhlbgogICAgICAtLQogICAgICAtLSBBbiBlbXB0eSB0YWJsZSwgb3IgYSBudW1lcmljLW9ubHkgYXJyYXkKICAgICAgLS0KICAgICAgaWYgI251bWJlcl9rZXlzID4gMCB0aGVuCiAgICAgICAgIHJldHVybiBuaWwsIG1heGltdW1fbnVtYmVyX2tleSAtLSBhbiBhcnJheQogICAgICBlbHNlaWYgdG9zdHJpbmcoVCkgPT0gIkpTT04gYXJyYXkiIHRoZW4KICAgICAgICAgcmV0dXJuIG5pbAogICAgICBlbHNlaWYgdG9zdHJpbmcoVCkgPT0gIkpTT04gb2JqZWN0IiB0aGVuCiAgICAgICAgIHJldHVybiB7IH0KICAgICAgZWxzZQogICAgICAgICAtLSBoYXZlIHRvIGd1ZXNzLCBzbyB3ZSdsbCBwaWNrIGFycmF5LCBzaW5jZSBlbXB0eSBhcnJheXMgYXJlIGxpa2VseSBtb3JlIGNvbW1vbiB0aGFuIGVtcHR5IG9iamVjdHMKICAgICAgICAgcmV0dXJuIG5pbAogICAgICBlbmQKICAgZW5kCiAgIHRhYmxlLnNvcnQoc3RyaW5nX2tleXMpCiAgIGxvY2FsIG1hcAogICBpZiAjbnVtYmVyX2tleXMgPiAwIHRoZW4KICAgICAgLS0KICAgICAgLS0gSWYgd2UncmUgaGVyZSB0aGVuIHdlIGhhdmUgZWl0aGVyIG1peGVkIHN0cmluZy9udW1iZXIga2V5cywgb3IgbnVtYmVycyBpbmFwcHJvcHJpYXRlIGZvciBhIEpTT04gYXJyYXkKICAgICAgLS0gSXQncyBub3QgaWRlYWwsIGJ1dCB3ZSdsbCB0dXJuIHRoZSBudW1iZXJzIGludG8gc3RyaW5ncyBzbyB0aGF0IHdlIGNhbiBhdCBsZWFzdCBjcmVhdGUgYSBKU09OIG9iamVjdC4KICAgICAgLS0KICAgICAgaWYgc2VsZi5ub0tleUNvbnZlcnNpb24gdGhlbgogICAgICAgICBzZWxmOm9uRW5jb2RlRXJyb3IoImEgdGFibGUgd2l0aCBib3RoIG51bWVyaWMgYW5kIHN0cmluZyBrZXlzIGNvdWxkIGJlIGFuIG9iamVjdCBvciBhcnJheTsgYWJvcnRpbmciLCBldGMpCiAgICAgIGVuZAogICAgICAtLQogICAgICAtLSBIYXZlIHRvIG1ha2UgYSBzaGFsbG93IGNvcHkgb2YgdGhlIHNvdXJjZSB0YWJsZSBzbyB3ZSBjYW4gcmVtYXAgdGhlIG51bWVyaWMga2V5cyB0byBiZSBzdHJpbmdzCiAgICAgIC0tCiAgICAgIG1hcCA9IHsgfQogICAgICBmb3Iga2V5LCB2YWwgaW4gcGFpcnMoVCkgZG8KICAgICAgICAgbWFwW2tleV0gPSB2YWwKICAgICAgZW5kCiAgICAgIHRhYmxlLnNvcnQobnVtYmVyX2tleXMpCiAgICAgIC0tCiAgICAgIC0tIFRocm93IG51bWVyaWMga2V5cyBpbiB0aGVyZSBhcyBzdHJpbmdzCiAgICAgIC0tCiAgICAgIGZvciBfLCBudW1iZXJfa2V5IGluIGlwYWlycyhudW1iZXJfa2V5cykgZG8KICAgICAgICAgbG9jYWwgc3RyaW5nX2tleSA9IHRvc3RyaW5nKG51bWJlcl9rZXkpCiAgICAgICAgIGlmIG1hcFtzdHJpbmdfa2V5XSA9PSBuaWwgdGhlbgogICAgICAgICAgICB0YWJsZS5pbnNlcnQoc3RyaW5nX2tleXMgLCBzdHJpbmdfa2V5KQogICAgICAgICAgICBtYXBbc3RyaW5nX2tleV0gPSBUW251bWJlcl9rZXldCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgc2VsZjpvbkVuY29kZUVycm9yKCJjb25mbGljdCBjb252ZXJ0aW5nIHRhYmxlIHdpdGggbWl4ZWQtdHlwZSBrZXlzIGludG8gYSBKU09OIG9iamVjdDoga2V5ICIgLi4gbnVtYmVyX2tleSAuLiAiIGV4aXN0cyBib3RoIGFzIGEgc3RyaW5nIGFuZCBhIG51bWJlci4iLCBldGMpCiAgICAgICAgIGVuZAogICAgICBlbmQKICAgZW5kCiAgIHJldHVybiBzdHJpbmdfa2V5cywgbmlsLCBtYXAKZW5kCmxvY2FsIGVuY29kZV92YWx1ZSAtLSBtdXN0IHByZWRlY2xhcmUgYmVjYXVzZSBpdCBjYWxscyBpdHNlbGYKZnVuY3Rpb24gZW5jb2RlX3ZhbHVlKHNlbGYsIHZhbHVlLCBwYXJlbnRzLCBldGMsIG9wdGlvbnMsIGluZGVudCwgZm9yX2tleSkKICAgLS0KICAgLS0ga2V5cyBpbiBhIEpTT04gb2JqZWN0IGNhbiBuZXZlciBiZSBudWxsLCBzbyB3ZSBkb24ndCBldmVuIGNvbnNpZGVyIG9wdGlvbnMubnVsbCB3aGVuIGNvbnZlcnRpbmcgYSBrZXkgdmFsdWUKICAgLS0KICAgaWYgdmFsdWUgPT0gbmlsIG9yIChub3QgZm9yX2tleSBhbmQgb3B0aW9ucyBhbmQgb3B0aW9ucy5udWxsIGFuZCB2YWx1ZSA9PSBvcHRpb25zLm51bGwpIHRoZW4KICAgICAgcmV0dXJuICdudWxsJwogICBlbHNlaWYgdHlwZSh2YWx1ZSkgPT0gJ3N0cmluZycgdGhlbgogICAgICByZXR1cm4ganNvbl9zdHJpbmdfbGl0ZXJhbCh2YWx1ZSwgb3B0aW9ucykKICAgZWxzZWlmIHR5cGUodmFsdWUpID09ICdudW1iZXInIHRoZW4KICAgICAgaWYgdmFsdWUgfj0gdmFsdWUgdGhlbgogICAgICAgICAtLQogICAgICAgICAtLSBOYU4gKE5vdCBhIE51bWJlcikuCiAgICAgICAgIC0tIEpTT04gaGFzIG5vIE5hTiwgc28gd2UgaGF2ZSB0byBmdWRnZSB0aGUgYmVzdCB3ZSBjYW4uIFRoaXMgc2hvdWxkIHJlYWxseSBiZSBhIHBhY2thZ2Ugb3B0aW9uLgogICAgICAgICAtLQogICAgICAgICByZXR1cm4gIm51bGwiCiAgICAgIGVsc2VpZiB2YWx1ZSA+PSBtYXRoLmh1Z2UgdGhlbgogICAgICAgICAtLQogICAgICAgICAtLSBQb3NpdGl2ZSBpbmZpbml0eS4gSlNPTiBoYXMgbm8gSU5GLCBzbyB3ZSBoYXZlIHRvIGZ1ZGdlIHRoZSBiZXN0IHdlIGNhbi4gVGhpcyBzaG91bGQKICAgICAgICAgLS0gcmVhbGx5IGJlIGEgcGFja2FnZSBvcHRpb24uIE5vdGU6IGF0IGxlYXN0IHdpdGggc29tZSBpbXBsZW1lbnRhdGlvbnMsIHBvc2l0aXZlIGluZmluaXR5CiAgICAgICAgIC0tIGlzIGJvdGggIj49IG1hdGguaHVnZSIgYW5kICI8PSAtbWF0aC5odWdlIiwgd2hpY2ggbWFrZXMgbm8gc2Vuc2UgYnV0IHRoYXQncyBob3cgaXQgaXMuCiAgICAgICAgIC0tIE5lZ2F0aXZlIGluZmluaXR5IGlzIHByb3Blcmx5ICI8PSAtbWF0aC5odWdlIi4gU28sIHdlIG11c3QgYmUgc3VyZSB0byBjaGVjayB0aGUgIj49IgogICAgICAgICAtLSBjYXNlIGZpcnN0LgogICAgICAgICAtLQogICAgICAgICByZXR1cm4gIjFlKzk5OTkiCiAgICAgIGVsc2VpZiB2YWx1ZSA8PSAtbWF0aC5odWdlIHRoZW4KICAgICAgICAgLS0KICAgICAgICAgLS0gTmVnYXRpdmUgaW5maW5pdHkuCiAgICAgICAgIC0tIEpTT04gaGFzIG5vIElORiwgc28gd2UgaGF2ZSB0byBmdWRnZSB0aGUgYmVzdCB3ZSBjYW4uIFRoaXMgc2hvdWxkIHJlYWxseSBiZSBhIHBhY2thZ2Ugb3B0aW9uLgogICAgICAgICAtLQogICAgICAgICByZXR1cm4gIi0xZSs5OTk5IgogICAgICBlbHNlCiAgICAgICAgIHJldHVybiB0b3N0cmluZyh2YWx1ZSkKICAgICAgZW5kCiAgIGVsc2VpZiB0eXBlKHZhbHVlKSA9PSAnYm9vbGVhbicgdGhlbgogICAgICByZXR1cm4gdG9zdHJpbmcodmFsdWUpCiAgIGVsc2VpZiB0eXBlKHZhbHVlKSB+PSAndGFibGUnIHRoZW4KICAgICAgc2VsZjpvbkVuY29kZUVycm9yKCJjYW4ndCBjb252ZXJ0ICIgLi4gdHlwZSh2YWx1ZSkgLi4gIiB0byBKU09OIiwgZXRjKQogICBlbHNlaWYgZ2V0bWV0YXRhYmxlKHZhbHVlKSA9PSBpc051bWJlciB0aGVuCiAgICAgIHJldHVybiB0b3N0cmluZyh2YWx1ZSkKICAgZWxzZQogICAgICAtLQogICAgICAtLSBBIHRhYmxlIHRvIGJlIGNvbnZlcnRlZCB0byBlaXRoZXIgYSBKU09OIG9iamVjdCBvciBhcnJheS4KICAgICAgLS0KICAgICAgbG9jYWwgVCA9IHZhbHVlCiAgICAgIGlmIHR5cGUob3B0aW9ucykgfj0gJ3RhYmxlJyB0aGVuCiAgICAgICAgIG9wdGlvbnMgPSB7fQogICAgICBlbmQKICAgICAgaWYgdHlwZShpbmRlbnQpIH49ICdzdHJpbmcnIHRoZW4KICAgICAgICAgaW5kZW50ID0gIiIKICAgICAgZW5kCiAgICAgIGlmIHBhcmVudHNbVF0gdGhlbgogICAgICAgICBzZWxmOm9uRW5jb2RlRXJyb3IoInRhYmxlICIgLi4gdG9zdHJpbmcoVCkgLi4gIiBpcyBhIGNoaWxkIG9mIGl0c2VsZiIsIGV0YykKICAgICAgZWxzZQogICAgICAgICBwYXJlbnRzW1RdID0gdHJ1ZQogICAgICBlbmQKICAgICAgbG9jYWwgcmVzdWx0X3ZhbHVlCiAgICAgIGxvY2FsIG9iamVjdF9rZXlzLCBtYXhpbXVtX251bWJlcl9rZXksIG1hcCA9IG9iamVjdF9vcl9hcnJheShzZWxmLCBULCBldGMpCiAgICAgIGlmIG1heGltdW1fbnVtYmVyX2tleSB0aGVuCiAgICAgICAgIC0tCiAgICAgICAgIC0tIEFuIGFycmF5Li4uCiAgICAgICAgIC0tCiAgICAgICAgIGxvY2FsIElURU1TID0geyB9CiAgICAgICAgIGZvciBpID0gMSwgbWF4aW11bV9udW1iZXJfa2V5IGRvCiAgICAgICAgICAgIHRhYmxlLmluc2VydChJVEVNUywgZW5jb2RlX3ZhbHVlKHNlbGYsIFRbaV0sIHBhcmVudHMsIGV0Yywgb3B0aW9ucywgaW5kZW50KSkKICAgICAgICAgZW5kCiAgICAgICAgIGlmIG9wdGlvbnMucHJldHR5IHRoZW4KICAgICAgICAgICAgcmVzdWx0X3ZhbHVlID0gIlsgIiAuLiB0YWJsZS5jb25jYXQoSVRFTVMsICIsICIpIC4uICIgXSIKICAgICAgICAgZWxzZQogICAgICAgICAgICByZXN1bHRfdmFsdWUgPSAiWyIgIC4uIHRhYmxlLmNvbmNhdChJVEVNUywgIiwiKSAgLi4gIl0iCiAgICAgICAgIGVuZAogICAgICBlbHNlaWYgb2JqZWN0X2tleXMgdGhlbgogICAgICAgICAtLQogICAgICAgICAtLSBBbiBvYmplY3QKICAgICAgICAgLS0KICAgICAgICAgbG9jYWwgVFQgPSBtYXAgb3IgVAogICAgICAgICBpZiBvcHRpb25zLnByZXR0eSB0aGVuCiAgICAgICAgICAgIGxvY2FsIEtFWVMgPSB7IH0KICAgICAgICAgICAgbG9jYWwgbWF4X2tleV9sZW5ndGggPSAwCiAgICAgICAgICAgIGZvciBfLCBrZXkgaW4gaXBhaXJzKG9iamVjdF9rZXlzKSBkbwogICAgICAgICAgICAgICBsb2NhbCBlbmNvZGVkID0gZW5jb2RlX3ZhbHVlKHNlbGYsIHRvc3RyaW5nKGtleSksIHBhcmVudHMsIGV0Yywgb3B0aW9ucywgaW5kZW50LCB0cnVlKQogICAgICAgICAgICAgICBpZiBvcHRpb25zLmFsaWduX2tleXMgdGhlbgogICAgICAgICAgICAgICAgICBtYXhfa2V5X2xlbmd0aCA9IG1hdGgubWF4KG1heF9rZXlfbGVuZ3RoLCAjZW5jb2RlZCkKICAgICAgICAgICAgICAgZW5kCiAgICAgICAgICAgICAgIHRhYmxlLmluc2VydChLRVlTLCBlbmNvZGVkKQogICAgICAgICAgICBlbmQKICAgICAgICAgICAgbG9jYWwga2V5X2luZGVudCA9IGluZGVudCAuLiB0b3N0cmluZyhvcHRpb25zLmluZGVudCBvciAiIikKICAgICAgICAgICAgbG9jYWwgc3VidGFibGVfaW5kZW50ID0ga2V5X2luZGVudCAuLiBzdHJpbmcucmVwKCIgIiwgbWF4X2tleV9sZW5ndGgpIC4uIChvcHRpb25zLmFsaWduX2tleXMgYW5kICIgICIgb3IgIiIpCiAgICAgICAgICAgIGxvY2FsIEZPUk1BVCA9ICIlcyUiIC4uIHN0cmluZy5mb3JtYXQoIiVkIiwgbWF4X2tleV9sZW5ndGgpIC4uICJzOiAlcyIKICAgICAgICAgICAgbG9jYWwgQ09NQklORURfUEFSVFMgPSB7IH0KICAgICAgICAgICAgZm9yIGksIGtleSBpbiBpcGFpcnMob2JqZWN0X2tleXMpIGRvCiAgICAgICAgICAgICAgIGxvY2FsIGVuY29kZWRfdmFsID0gZW5jb2RlX3ZhbHVlKHNlbGYsIFRUW2tleV0sIHBhcmVudHMsIGV0Yywgb3B0aW9ucywgc3VidGFibGVfaW5kZW50KQogICAgICAgICAgICAgICB0YWJsZS5pbnNlcnQoQ09NQklORURfUEFSVFMsIHN0cmluZy5mb3JtYXQoRk9STUFULCBrZXlfaW5kZW50LCBLRVlTW2ldLCBlbmNvZGVkX3ZhbCkpCiAgICAgICAgICAgIGVuZAogICAgICAgICAgICByZXN1bHRfdmFsdWUgPSAie1xuIiAuLiB0YWJsZS5jb25jYXQoQ09NQklORURfUEFSVFMsICIsXG4iKSAuLiAiXG4iIC4uIGluZGVudCAuLiAifSIKICAgICAgICAgZWxzZQogICAgICAgICAgICBsb2NhbCBQQVJUUyA9IHsgfQogICAgICAgICAgICBmb3IgXywga2V5IGluIGlwYWlycyhvYmplY3Rfa2V5cykgZG8KICAgICAgICAgICAgICAgbG9jYWwgZW5jb2RlZF92YWwgPSBlbmNvZGVfdmFsdWUoc2VsZiwgVFRba2V5XSwgICAgICAgcGFyZW50cywgZXRjLCBvcHRpb25zLCBpbmRlbnQpCiAgICAgICAgICAgICAgIGxvY2FsIGVuY29kZWRfa2V5ID0gZW5jb2RlX3ZhbHVlKHNlbGYsIHRvc3RyaW5nKGtleSksIHBhcmVudHMsIGV0Yywgb3B0aW9ucywgaW5kZW50LCB0cnVlKQogICAgICAgICAgICAgICB0YWJsZS5pbnNlcnQoUEFSVFMsIHN0cmluZy5mb3JtYXQoIiVzOiVzIiwgZW5jb2RlZF9rZXksIGVuY29kZWRfdmFsKSkKICAgICAgICAgICAgZW5kCiAgICAgICAgICAgIHJlc3VsdF92YWx1ZSA9ICJ7IiAuLiB0YWJsZS5jb25jYXQoUEFSVFMsICIsIikgLi4gIn0iCiAgICAgICAgIGVuZAogICAgICBlbHNlCiAgICAgICAgIC0tCiAgICAgICAgIC0tIEFuIGVtcHR5IGFycmF5L29iamVjdC4uLiB3ZSdsbCB0cmVhdCBpdCBhcyBhbiBhcnJheSwgdGhvdWdoIGl0IHNob3VsZCByZWFsbHkgYmUgYW4gb3B0aW9uCiAgICAgICAgIC0tCiAgICAgICAgIHJlc3VsdF92YWx1ZSA9ICJbXSIKICAgICAgZW5kCiAgICAgIHBhcmVudHNbVF0gPSBmYWxzZQogICAgICByZXR1cm4gcmVzdWx0X3ZhbHVlCiAgIGVuZAplbmQKbG9jYWwgZnVuY3Rpb24gdG9wX2xldmVsX2VuY29kZShzZWxmLCB2YWx1ZSwgZXRjLCBvcHRpb25zKQogICBsb2NhbCB2YWwgPSBlbmNvZGVfdmFsdWUoc2VsZiwgdmFsdWUsIHt9LCBldGMsIG9wdGlvbnMpCiAgIGlmIHZhbCA9PSBuaWwgdGhlbgogICAgICAtLVBSSVZBVEUoIm1heSBuZWVkIHRvIHJldmVydCB0byB0aGUgcHJldmlvdXMgcHVibGljIHZlcmlzb24gaWYgSSBjYW4ndCBmaWd1cmUgb3V0IHdoYXQgdGhlIGd1eSB3YW50ZWQiKQogICAgICByZXR1cm4gdmFsCiAgIGVsc2UKICAgICAgcmV0dXJuIHZhbAogICBlbmQKZW5kCmZ1bmN0aW9uIE9CSkRFRjplbmNvZGUodmFsdWUsIGV0Yywgb3B0aW9ucykKICAgaWYgdHlwZShzZWxmKSB+PSAndGFibGUnIG9yIHNlbGYuX19pbmRleCB+PSBPQkpERUYgdGhlbgogICAgICBPQkpERUY6b25FbmNvZGVFcnJvcigiSlNPTjplbmNvZGUgbXVzdCBiZSBjYWxsZWQgaW4gbWV0aG9kIGZvcm1hdCIsIGV0YykKICAgZW5kCiAgIC0tCiAgIC0tIElmIHRoZSB1c2VyIGRpZG4ndCBwYXNzIGluIGEgdGFibGUgb2YgZGVjb2RlIG9wdGlvbnMsIG1ha2UgYW4gZW1wdHkgb25lLgogICAtLQogICBpZiB0eXBlKG9wdGlvbnMpIH49ICd0YWJsZScgdGhlbgogICAgICBvcHRpb25zID0ge30KICAgZW5kCiAgIHJldHVybiB0b3BfbGV2ZWxfZW5jb2RlKHNlbGYsIHZhbHVlLCBldGMsIG9wdGlvbnMpCmVuZApmdW5jdGlvbiBPQkpERUY6ZW5jb2RlX3ByZXR0eSh2YWx1ZSwgZXRjLCBvcHRpb25zKQogICBpZiB0eXBlKHNlbGYpIH49ICd0YWJsZScgb3Igc2VsZi5fX2luZGV4IH49IE9CSkRFRiB0aGVuCiAgICAgIE9CSkRFRjpvbkVuY29kZUVycm9yKCJKU09OOmVuY29kZV9wcmV0dHkgbXVzdCBiZSBjYWxsZWQgaW4gbWV0aG9kIGZvcm1hdCIsIGV0YykKICAgZW5kCiAgIC0tCiAgIC0tIElmIHRoZSB1c2VyIGRpZG4ndCBwYXNzIGluIGEgdGFibGUgb2YgZGVjb2RlIG9wdGlvbnMsIHVzZSB0aGUgZGVmYXVsdCBwcmV0dHkgb25lcwogICAtLQogICBpZiB0eXBlKG9wdGlvbnMpIH49ICd0YWJsZScgdGhlbgogICAgICBvcHRpb25zID0gZGVmYXVsdF9wcmV0dHlfb3B0aW9ucwogICBlbmQKICAgcmV0dXJuIHRvcF9sZXZlbF9lbmNvZGUoc2VsZiwgdmFsdWUsIGV0Yywgb3B0aW9ucykKZW5kCmZ1bmN0aW9uIE9CSkRFRi5fX3Rvc3RyaW5nKCkKICAgcmV0dXJuICJKU09OIGVuY29kZS9kZWNvZGUgcGFja2FnZSIKZW5kCk9CSkRFRi5fX2luZGV4ID0gT0JKREVGCmZ1bmN0aW9uIE9CSkRFRjpuZXcoYXJncykKICAgbG9jYWwgbmV3ID0geyB9CiAgIGlmIGFyZ3MgdGhlbgogICAgICBmb3Iga2V5LCB2YWwgaW4gcGFpcnMoYXJncykgZG8KICAgICAgICAgbmV3W2tleV0gPSB2YWwKICAgICAgZW5kCiAgIGVuZAogICByZXR1cm4gc2V0bWV0YXRhYmxlKG5ldywgT0JKREVGKQplbmQKcmV0dXJuIE9CSkRFRjpuZXcoKQoAAGxvY2FsIHAgPSBwcmVtYWtlCnAudnN0dWRpby5kb3RuZXRiYXNlID0ge30KbG9jYWwgdnN0dWRpbyA9IHAudnN0dWRpbwpsb2NhbCBkb3RuZXRiYXNlICA9IHAudnN0dWRpby5kb3RuZXRiYXNlCmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKbG9jYWwgY29uZmlnID0gcC5jb25maWcKbG9jYWwgZmlsZWNvbmZpZyA9IHAuZmlsZWNvbmZpZwpsb2NhbCBkb3RuZXQgPSBwLnRvb2xzLmRvdG5ldApkb3RuZXRiYXNlLmVsZW1lbnRzID0ge30KZG90bmV0YmFzZS5sYW5nT2JqID0ge30KZnVuY3Rpb24gZG90bmV0YmFzZS5wcmVwYXJlKGxhbmdPYmopCmRvdG5ldGJhc2UuZWxlbWVudHMucHJvamVjdCA9IGxhbmdPYmouZWxlbWVudHMucHJvamVjdApkb3RuZXRiYXNlLmVsZW1lbnRzLnByb2plY3RQcm9wZXJ0aWVzID0gbGFuZ09iai5lbGVtZW50cy5wcm9qZWN0UHJvcGVydGllcwpkb3RuZXRiYXNlLmVsZW1lbnRzLmNvbmZpZ3VyYXRpb24gPSBsYW5nT2JqLmVsZW1lbnRzLmNvbmZpZ3VyYXRpb24KZG90bmV0YmFzZS5sYW5nT2JqID0gbGFuZ09iagplbmQKZnVuY3Rpb24gZG90bmV0YmFzZS5nZW5lcmF0ZShwcmopCnAudXRmOCgpCnAuY2FsbEFycmF5KGRvdG5ldGJhc2UuZWxlbWVudHMucHJvamVjdCwgcHJqKQpfcCgxLCc8SXRlbUdyb3VwPicpCmRvdG5ldGJhc2UuZmlsZXMocHJqKQpfcCgxLCc8L0l0ZW1Hcm91cD4nKQpkb3RuZXRiYXNlLnByb2plY3RSZWZlcmVuY2VzKHByaikKZG90bmV0YmFzZS5wYWNrYWdlUmVmZXJlbmNlcyhwcmopCmRvdG5ldGJhc2UubGFuZ09iai50YXJnZXRzKHByaikKZG90bmV0YmFzZS5idWlsZEV2ZW50cyhwcmopCnAub3V0KCc8L1Byb2plY3Q+JykKZW5kCmZ1bmN0aW9uIGRvdG5ldGJhc2UucHJvamVjdEVsZW1lbnQocHJqKQpsb2NhbCB2ZXIgPSAnJwpsb2NhbCBhY3Rpb24gPSBwLmFjdGlvbi5jdXJyZW50KCkKaWYgYWN0aW9uLnZzdHVkaW8udG9vbHNWZXJzaW9uIHRoZW4KdmVyID0gc3RyaW5nLmZvcm1hdCgnIFRvb2xzVmVyc2lvbj0iJXMiJywgYWN0aW9uLnZzdHVkaW8udG9vbHNWZXJzaW9uKQplbmQKX3AoJzxQcm9qZWN0JXMgRGVmYXVsdFRhcmdldHM9IkJ1aWxkIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4nLCB2ZXIpCmVuZApmdW5jdGlvbiBkb3RuZXRiYXNlLnByb2plY3RQcm9wZXJ0aWVzKHByaikKX3AoMSwnPFByb3BlcnR5R3JvdXA+JykKbG9jYWwgY2ZnID0gcHJvamVjdC5nZXRmaXJzdGNvbmZpZyhwcmopCnAuY2FsbEFycmF5KGRvdG5ldGJhc2UuZWxlbWVudHMucHJvamVjdFByb3BlcnRpZXMsIGNmZykKX3AoMSwnPC9Qcm9wZXJ0eUdyb3VwPicpCmVuZApmdW5jdGlvbiBkb3RuZXRiYXNlLmNvbmZpZ3VyYXRpb25zKHByaikKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpkb3RuZXRiYXNlLmNvbmZpZ3VyYXRpb24oY2ZnKQplbmQKZW5kCmZ1bmN0aW9uIGRvdG5ldGJhc2UuY29uZmlndXJhdGlvbihjZmcpCnAuY2FsbEFycmF5KGRvdG5ldGJhc2UuZWxlbWVudHMuY29uZmlndXJhdGlvbiwgY2ZnKQpfcCgxLCc8L1Byb3BlcnR5R3JvdXA+JykKZW5kCmZ1bmN0aW9uIGRvdG5ldGJhc2UuZG9maWxlKG5vZGUsIGNmZywgY29uZGl0aW9uKQpsb2NhbCBmaWxlY2ZnID0gZmlsZWNvbmZpZy5nZXRjb25maWcobm9kZSwgY2ZnKQppZiBmaWxlY2ZnIHRoZW4KbG9jYWwgZm5hbWUgPSBwYXRoLnRyYW5zbGF0ZShub2RlLnJlbHBhdGgpCmxvY2FsIGxpbmssIGNvdW50ID0gbm9kZS5yZWxwYXRoOmdzdWIoIiUuJS4lLyIsICIiKQpsb2NhbCBleHRlcm5hbCA9IChjb3VudCA+IDApCmlmIGV4dGVybmFsIGFuZCBub2RlLnZwYXRoIH49IG5vZGUucmVscGF0aCB0aGVuCmxpbmsgPSBub2RlLnZwYXRoCmVuZApsb2NhbCBpbmZvID0gZG90bmV0LmZpbGVpbmZvKGZpbGVjZmcpCmxvY2FsIGNvbnRlbnRzID0gcC5jYXB0dXJlKGZ1bmN0aW9uICgpCmxvY2FsIGVsZW1lbnRzID0gewoiQXV0b0dlbiIsCiJDb3B5VG9PdXRwdXREaXJlY3RvcnkiLAoiRGVzaWduVGltZSIsCiJEZXBlbmRlbnRVcG9uIiwKIkRlc2lnblRpbWVTaGFyZWRJbnB1dCIsCiJHZW5lcmF0b3IiLAoiTGFzdEdlbk91dHB1dCIsCiJTdWJUeXBlIiwKfQpmb3IgXywgZWwgaW4gaXBhaXJzKGVsZW1lbnRzKSBkbwpsb2NhbCB2YWx1ZSA9IGluZm9bZWxdCmlmIHZhbHVlIHRoZW4KX3AoMywiPCVzPiVzPC8lcz4iLCBlbCwgdmFsdWUsIGVsKQplbmQKZW5kCmlmIGluZm8uYWN0aW9uID09ICJFbWJlZGRlZFJlc291cmNlIiBhbmQgY2ZnLmN1c3RvbXRvb2xuYW1lc3BhY2UgdGhlbgpfcCgzLCI8Q3VzdG9tVG9vbE5hbWVzcGFjZT4lczwvQ3VzdG9tVG9vbE5hbWVzcGFjZT4iLCBjZmcuY3VzdG9tdG9vbG5hbWVzcGFjZSkKZW5kCmVuZCkKaWYgI2NvbnRlbnRzID4gMCBvciBleHRlcm5hbCB0aGVuCl9wKDIsJzwlcyVzIEluY2x1ZGU9IiVzIj4nLCBpbmZvLmFjdGlvbiwgY29uZGl0aW9uLCBmbmFtZSkKaWYgZXh0ZXJuYWwgdGhlbgpfcCgzLCc8TGluaz4lczwvTGluaz4nLCBwYXRoLnRyYW5zbGF0ZShsaW5rKSkKZW5kCmlmICNjb250ZW50cyA+IDAgdGhlbgpfcCgiJXMiLCBjb250ZW50cykKZW5kCl9wKDIsJzwvJXM+JywgaW5mby5hY3Rpb24pCmVsc2UKX3AoMiwnPCVzJXMgSW5jbHVkZT0iJXMiIC8+JywgaW5mby5hY3Rpb24sIGNvbmRpdGlvbiwgZm5hbWUpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIGRvdG5ldGJhc2UuZmlsZXMocHJqKQpsb2NhbCBmaXJzdGNmZyA9IHByb2plY3QuZ2V0Zmlyc3Rjb25maWcocHJqKQpsb2NhbCBwcm9jZXNzZmNmZyA9IGZ1bmN0aW9uKG5vZGUpCmxvY2FsIGFsbHNhbWUgPSB0cnVlCmxvY2FsIGZpcnN0ID0gbmlsCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbG9jYWwgZmlsZWNmZyA9IGZpbGVjb25maWcuZ2V0Y29uZmlnKG5vZGUsIGNmZykKbG9jYWwgaW5mbyA9IGRvdG5ldC5maWxlaW5mbyhmaWxlY2ZnKQppZiBmaXJzdCA9PSBuaWwgdGhlbgpmaXJzdCA9IGluZm8KZWxzZWlmIG5vdCB0YWJsZS5lcXVhbHMoZmlyc3QsIGluZm8pIHRoZW4KYWxsc2FtZSA9IGZhbHNlCmVuZAplbmQKaWYgYWxsc2FtZSB0aGVuCmRvdG5ldGJhc2UuZG9maWxlKG5vZGUsIGZpcnN0Y2ZnLCAnJykKZWxzZQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmRvdG5ldGJhc2UuZG9maWxlKG5vZGUsIGNmZywgJyAnIC4uIGRvdG5ldGJhc2UuY29uZGl0aW9uKGNmZykpCmVuZAplbmQKZW5kCmlmIHByb2plY3QuaXNmc2hhcnAocHJqKSB0aGVuCnNvcnRlciA9IGZ1bmN0aW9uKGEsYikKdmVyYm9zZWYoJ1NvcnRpbmcgRiMgcHJvaiBmaWxlICglcywgJXMpLCBpbmRleCAlcyA8ICVzJywgYS5uYW1lLCBiLm5hbWUsIGEub3JkZXIsIGIub3JkZXIpCnJldHVybiBhLm9yZGVyIDwgYi5vcmRlcgplbmQKdGFibGUuc29ydChwcmouXy5maWxlcywgc29ydGVyKQp0YWJsZS5mb3JlYWNoaShwcmouXy5maWxlcywgcHJvY2Vzc2ZjZmcpCmVsc2UKbG9jYWwgdHIgPSBwcm9qZWN0LmdldHNvdXJjZXRyZWUocHJqKQpwLnRyZWUudHJhdmVyc2UodHIsIHsKb25sZWFmID0gcHJvY2Vzc2ZjZmcKfSwgZmFsc2UpCmVuZAplbmQKZnVuY3Rpb24gZG90bmV0YmFzZS5idWlsZEV2ZW50cyhwcmopCmxvY2FsIGZ1bmN0aW9uIG91dHB1dChuYW1lLCBzdGVwcykKaWYgI3N0ZXBzID4gMCB0aGVuCnN0ZXBzID0gb3MudHJhbnNsYXRlQ29tbWFuZHNBbmRQYXRocyhzdGVwcywgcHJqLmJhc2VkaXIsIHByai5sb2NhdGlvbikKc3RlcHMgPSB0YWJsZS5pbXBsb2RlKHN0ZXBzLCAiIiwgIiIsICJcclxuIikKX3goMiwnPCVzQnVpbGRFdmVudD4lczwvJXNCdWlsZEV2ZW50PicsIG5hbWUsIHN0ZXBzLCBuYW1lKQplbmQKZW5kCmxvY2FsIGNmZyA9IHByb2plY3QuZ2V0Zmlyc3Rjb25maWcocHJqKQppZiAjY2ZnLnByZWJ1aWxkY29tbWFuZHMgPiAwIG9yICNjZmcucG9zdGJ1aWxkY29tbWFuZHMgPiAwIHRoZW4KX3AoMSwnPFByb3BlcnR5R3JvdXA+JykKb3V0cHV0KCJQcmUiLCBjZmcucHJlYnVpbGRjb21tYW5kcykKb3V0cHV0KCJQb3N0IiwgY2ZnLnBvc3RidWlsZGNvbW1hbmRzKQpfcCgxLCc8L1Byb3BlcnR5R3JvdXA+JykKZW5kCmVuZApmdW5jdGlvbiBkb3RuZXRiYXNlLmNvbXBpbGVyUHJvcHMoY2ZnKQpfeCgyLCc8RGVmaW5lQ29uc3RhbnRzPiVzPC9EZWZpbmVDb25zdGFudHM+JywgdGFibGUuY29uY2F0KGNmZy5kZWZpbmVzLCAiOyIpKQpfcCgyLCc8RXJyb3JSZXBvcnQ+cHJvbXB0PC9FcnJvclJlcG9ydD4nKQpfcCgyLCc8V2FybmluZ0xldmVsPjQ8L1dhcm5pbmdMZXZlbD4nKQppZiBjZmcuY2xyID09ICJVbnNhZmUiIHRoZW4KX3AoMiwnPEFsbG93VW5zYWZlQmxvY2tzPnRydWU8L0FsbG93VW5zYWZlQmxvY2tzPicpCmVuZAppZiBjZmcuZmxhZ3MuRmF0YWxDb21waWxlV2FybmluZ3MgdGhlbgpfcCgyLCc8VHJlYXRXYXJuaW5nc0FzRXJyb3JzPnRydWU8L1RyZWF0V2FybmluZ3NBc0Vycm9ycz4nKQplbmQKZG90bmV0YmFzZS5kZWJ1Z0NvbW1hbmRQYXJhbWV0ZXJzKGNmZykKZW5kCmZ1bmN0aW9uIGRvdG5ldGJhc2UuZGVidWdDb21tYW5kUGFyYW1ldGVycyhjZmcpCmlmICNjZmcuZGVidWdhcmdzID4gMCB0aGVuCl94KDIsJzxDb21tYW5kbGluZXBhcmFtZXRlcnM+JXM8L0NvbW1hbmRsaW5lcGFyYW1ldGVycz4nLCB0YWJsZS5jb25jYXQoY2ZnLmRlYnVnYXJncywgIiAiKSkKZW5kCmVuZApmdW5jdGlvbiBkb3RuZXRiYXNlLmRlYnVnUHJvcHMoY2ZnKQppZiBjZmcuc3ltYm9scyA9PSBwLk9OIHRoZW4KX3AoMiwnPERlYnVnU3ltYm9scz50cnVlPC9EZWJ1Z1N5bWJvbHM+JykKX3AoMiwnPERlYnVnVHlwZT5mdWxsPC9EZWJ1Z1R5cGU+JykKZWxzZQpfcCgyLCc8RGVidWdUeXBlPnBkYm9ubHk8L0RlYnVnVHlwZT4nKQplbmQKX3AoMiwnPE9wdGltaXplPiVzPC9PcHRpbWl6ZT4nLCBpaWYoY29uZmlnLmlzT3B0aW1pemVkQnVpbGQoY2ZnKSwgInRydWUiLCAiZmFsc2UiKSkKZW5kCmZ1bmN0aW9uIGRvdG5ldGJhc2Uub3V0cHV0UHJvcHMoY2ZnKQpsb2NhbCBvdXRkaXIgPSB2c3R1ZGlvLnBhdGgoY2ZnLCBjZmcuYnVpbGR0YXJnZXQuZGlyZWN0b3J5KQpfeCgyLCc8T3V0cHV0UGF0aD4lc1xcPC9PdXRwdXRQYXRoPicsIG91dGRpcikKbG9jYWwgb2JqZGlyID0gdnN0dWRpby5wYXRoKGNmZywgY2ZnLm9iamRpcikKaWYgX0FDVElPTiA+ICJ2czIwMDgiIHRoZW4KX3goMiwnPEJhc2VJbnRlcm1lZGlhdGVPdXRwdXRQYXRoPiVzXFw8L0Jhc2VJbnRlcm1lZGlhdGVPdXRwdXRQYXRoPicsIG9iamRpcikKX3AoMiwnPEludGVybWVkaWF0ZU91dHB1dFBhdGg+JChCYXNlSW50ZXJtZWRpYXRlT3V0cHV0UGF0aCk8L0ludGVybWVkaWF0ZU91dHB1dFBhdGg+JykKZWxzZQpfeCgyLCc8SW50ZXJtZWRpYXRlT3V0cHV0UGF0aD4lc1xcPC9JbnRlcm1lZGlhdGVPdXRwdXRQYXRoPicsIG9iamRpcikKZW5kCmVuZApkb3RuZXRiYXNlLmVsZW1lbnRzLnJlZmVyZW5jZXMgPSBmdW5jdGlvbihwcmopCnJldHVybiB7CmRvdG5ldGJhc2UuYXNzZW1ibHlSZWZlcmVuY2VzLApkb3RuZXRiYXNlLm51R2V0UmVmZXJlbmNlcywKfQplbmQKZnVuY3Rpb24gZG90bmV0YmFzZS5yZWZlcmVuY2VzKHByaikKX3AoMSwnPEl0ZW1Hcm91cD4nKQpwLmNhbGxBcnJheShkb3RuZXRiYXNlLmVsZW1lbnRzLnJlZmVyZW5jZXMsIHByaikKX3AoMSwnPC9JdGVtR3JvdXA+JykKZW5kCmZ1bmN0aW9uIGRvdG5ldGJhc2UuYXNzZW1ibHlSZWZlcmVuY2VzKHByaikKbG9jYWwgY2ZnID0gcHJvamVjdC5nZXRmaXJzdGNvbmZpZyhwcmopCmNvbmZpZy5nZXRsaW5rcyhjZmcsICJzeXN0ZW0iLCBmdW5jdGlvbihvcmlnaW5hbCwgZGVjb3JhdGVkKQpsb2NhbCBuYW1lID0gcGF0aC5nZXRuYW1lKGRlY29yYXRlZCkKaWYgcGF0aC5nZXRleHRlbnNpb24obmFtZSkgPT0gIi5kbGwiIHRoZW4KbmFtZSA9IG5hbWUuc3ViKG5hbWUsIDEsIC01KQplbmQKaWYgZGVjb3JhdGVkOmZpbmQoIi8iLCBuaWwsIHRydWUpIHRoZW4KX3goMiwnPFJlZmVyZW5jZSBJbmNsdWRlPSIlcyI+JywgbmFtZSkKbG9jYWwgZGVjUGF0aCwgZGVjVmFycyA9IGRlY29yYXRlZDptYXRjaCgiKC4tKSwiKQppZiBub3QgZGVjUGF0aCB0aGVuCmRlY1BhdGggPSBkZWNvcmF0ZWQKZW5kCl94KDMsJzxIaW50UGF0aD4lczwvSGludFBhdGg+JywgcGF0aC5hcHBlbmRleHRlbnNpb24ocGF0aC50cmFuc2xhdGUoZGVjUGF0aCksICIuZGxsIikpCmlmIG5vdCBjb25maWcuaXNDb3B5TG9jYWwocHJqLCBvcmlnaW5hbCwgdHJ1ZSkgdGhlbgpfcCgzLCI8UHJpdmF0ZT5GYWxzZTwvUHJpdmF0ZT4iKQplbmQKX3AoMiwnPC9SZWZlcmVuY2U+JykKZWxzZQpfeCgyLCc8UmVmZXJlbmNlIEluY2x1ZGU9IiVzIiAvPicsIG5hbWUpCmVuZAplbmQpCmVuZApmdW5jdGlvbiBkb3RuZXRiYXNlLm1ha2VWZXJzaW9uQ29tcGFyYWJsZSh2ZXJzaW9uKQpsb2NhbCBudW1iZXJzID0gIiIKZm9yIG51bWJlciBpbiB2ZXJzaW9uOmdtYXRjaCgiJWQiKSBkbwpudW1iZXJzID0gbnVtYmVycyAuLiBudW1iZXIKZW5kCnJldHVybiBzdHJpbmcuZm9ybWF0KCIlLTEwZCIsIG51bWJlcnMpOmdzdWIoIiAiLCAiMCIpCmVuZApmdW5jdGlvbiBkb3RuZXRiYXNlLmZyYW1ld29ya1ZlcnNpb25Gb3JGb2xkZXIoZm9sZGVyKQppZiBmb2xkZXI6bWF0Y2goIl5uZXQlZCskIikgb3IgZm9sZGVyOm1hdGNoKCJeWzAtOSUuXSskIikgdGhlbgpyZXR1cm4gZG90bmV0YmFzZS5tYWtlVmVyc2lvbkNvbXBhcmFibGUoZm9sZGVyKQplbHNlaWYgZm9sZGVyID09ICJuZXQiIHRoZW4KcmV0dXJuIGRvdG5ldGJhc2UubWFrZVZlcnNpb25Db21wYXJhYmxlKCIwIikKZW5kCmVuZApmdW5jdGlvbiBkb3RuZXRiYXNlLm51R2V0UmVmZXJlbmNlcyhwcmopCmlmIF9BQ1RJT04gPj0gInZzMjAxMCIgYW5kIG5vdCB2c3R1ZGlvLm51Z2V0MjAxMC5zdXBwb3J0c1BhY2thZ2VSZWZlcmVuY2VzKHByaikgdGhlbgpmb3IgXywgcGFja2FnZSBpbiBpcGFpcnMocHJqLm51Z2V0KSBkbwpsb2NhbCBpZCA9IHZzdHVkaW8ubnVnZXQyMDEwLnBhY2thZ2VJZChwYWNrYWdlKQpsb2NhbCBwYWNrYWdlQVBJSW5mbyA9IHZzdHVkaW8ubnVnZXQyMDEwLnBhY2thZ2VBUElJbmZvKHByaiwgcGFja2FnZSkKbG9jYWwgY2ZnID0gcC5wcm9qZWN0LmdldGZpcnN0Y29uZmlnKHByaikKbG9jYWwgYWN0aW9uID0gcC5hY3Rpb24uY3VycmVudCgpCmxvY2FsIHRhcmdldEZyYW1ld29yayA9IGNmZy5kb3RuZXRmcmFtZXdvcmsgb3IgYWN0aW9uLnZzdHVkaW8udGFyZ2V0RnJhbWV3b3JrCmxvY2FsIHRhcmdldFZlcnNpb24gPSBkb3RuZXRiYXNlLm1ha2VWZXJzaW9uQ29tcGFyYWJsZSh0YXJnZXRGcmFtZXdvcmspCmxvY2FsIGZpbGVzID0ge30KbG9jYWwgYmVzdFZlcnNpb24sIGJlc3RGb2xkZXIKZm9yIF8sIGZpbGUgaW4gaXBhaXJzKHBhY2thZ2VBUElJbmZvLnBhY2thZ2VFbnRyaWVzKSBkbwpsb2NhbCBmb2xkZXIgPSBmaWxlOm1hdGNoKCJebGliW1xcL10oLispW1xcL10iKQppZiBmb2xkZXIgYW5kIHBhdGguaGFzZXh0ZW5zaW9uKGZpbGUsICIuZGxsIikgdGhlbgpsb2NhbCB2ZXJzaW9uID0gZG90bmV0YmFzZS5mcmFtZXdvcmtWZXJzaW9uRm9yRm9sZGVyKGZvbGRlcikKaWYgdmVyc2lvbiB0aGVuCmZpbGVzW2ZvbGRlcl0gPSBmaWxlc1tmb2xkZXJdIG9yIHt9CnRhYmxlLmluc2VydChmaWxlc1tmb2xkZXJdLCBmaWxlKQppZiB2ZXJzaW9uIDw9IHRhcmdldFZlcnNpb24gYW5kIChub3QgYmVzdFZlcnNpb24gb3IgdmVyc2lvbiA+IGJlc3RWZXJzaW9uKSB0aGVuCmJlc3RWZXJzaW9uID0gdmVyc2lvbgpiZXN0Rm9sZGVyID0gZm9sZGVyCmVuZAplbmQKZW5kCmVuZAppZiBub3QgYmVzdFZlcnNpb24gdGhlbgpwLmVycm9yKCJOdUdldCBwYWNrYWdlICclcycgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBwcm9qZWN0ICclcycgLk5FVCBGcmFtZXdvcmsgdmVyc2lvbiAnJXMnIiwgaWQsIHByai5uYW1lLCB0YXJnZXRGcmFtZXdvcmspCmVuZApmb3IgXywgZmlsZSBpbiBpcGFpcnMoZmlsZXNbYmVzdEZvbGRlcl0pIGRvCl94KDIsICc8UmVmZXJlbmNlIEluY2x1ZGU9IiVzIj4nLCBwYXRoLmdldGJhc2VuYW1lKGZpbGUpKQpfeCgzLCAnPEhpbnRQYXRoPiVzPC9IaW50UGF0aD4nLCB2c3R1ZGlvLnBhdGgocHJqLCBwLmZpbGVuYW1lKHByai53b3Jrc3BhY2UsIHN0cmluZy5mb3JtYXQoInBhY2thZ2VzXFwlcy4lc1xcJXMiLCBpZCwgcGFja2FnZUFQSUluZm8udmVyYmF0aW1WZXJzaW9uIG9yIHBhY2thZ2VBUElJbmZvLnZlcnNpb24sIGZpbGUpKSkpCmlmIGNvbmZpZy5pc0NvcHlMb2NhbChwcmosIHBhY2thZ2UsIHRydWUpIHRoZW4KX3AoMywgJzxQcml2YXRlPlRydWU8L1ByaXZhdGU+JykKZWxzZQpfcCgzLCAnPFByaXZhdGU+RmFsc2U8L1ByaXZhdGU+JykKZW5kCl9wKDIsICc8L1JlZmVyZW5jZT4nKQplbmQKZW5kCmVuZAplbmQKZnVuY3Rpb24gZG90bmV0YmFzZS5wcm9qZWN0UmVmZXJlbmNlcyhwcmopCl9wKDEsJzxJdGVtR3JvdXA+JykKbG9jYWwgZGVwcyA9IHByb2plY3QuZ2V0ZGVwZW5kZW5jaWVzKHByaiwgJ2xpbmtPbmx5JykKaWYgI2RlcHMgPiAwIHRoZW4KZm9yIF8sIGRlcCBpbiBpcGFpcnMoZGVwcykgZG8KbG9jYWwgcmVscGF0aCA9IHZzdHVkaW8ucGF0aChwcmosIHZzdHVkaW8ucHJvamVjdGZpbGUoZGVwKSkKX3goMiwnPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT0iJXMiPicsIHJlbHBhdGgpCl9wKDMsJzxQcm9qZWN0Pnslc308L1Byb2plY3Q+JywgZGVwLnV1aWQpCl94KDMsJzxOYW1lPiVzPC9OYW1lPicsIGRlcC5uYW1lKQppZiBub3QgY29uZmlnLmlzQ29weUxvY2FsKHByaiwgZGVwLm5hbWUsIHRydWUpIHRoZW4KX3AoMywiPFByaXZhdGU+RmFsc2U8L1ByaXZhdGU+IikKZW5kCl9wKDIsJzwvUHJvamVjdFJlZmVyZW5jZT4nKQplbmQKZW5kCl9wKDEsJzwvSXRlbUdyb3VwPicpCmVuZApmdW5jdGlvbiBkb3RuZXRiYXNlLnBhY2thZ2VSZWZlcmVuY2VzKHByaikKaWYgdnN0dWRpby5udWdldDIwMTAuc3VwcG9ydHNQYWNrYWdlUmVmZXJlbmNlcyhwcmopIHRoZW4KbG9jYWwgaGFzTnVnZXQgPSBwcmoubnVnZXQgYW5kICNwcmoubnVnZXQ+MApmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmlmIGNmZy5udWdldCBhbmQgI2NmZy5udWdldD4wIHRoZW4KaGFzTnVnZXQgPSB0cnVlCmVuZAplbmQKaWYgaGFzTnVnZXQgdGhlbgpfcCgxLCc8SXRlbUdyb3VwPicpCmlmIHByai5udWdldCBhbmQgI3Byai5udWdldD4wIHRoZW4KZm9yIF8sIHBhY2thZ2UgaW4gaXBhaXJzKHByai5udWdldCkgZG8KX3AoMiwnPFBhY2thZ2VSZWZlcmVuY2UgSW5jbHVkZT0iJXMiIFZlcnNpb249IiVzIi8+JywgdnN0dWRpby5udWdldDIwMTAucGFja2FnZUlkKHBhY2thZ2UpLCB2c3R1ZGlvLm51Z2V0MjAxMC5wYWNrYWdlVmVyc2lvbihwYWNrYWdlKSkKZW5kCmVuZApmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmlmIGNmZy5udWdldCBhbmQgI2NmZy5udWdldD4wIHRoZW4KZm9yIF8sIHBhY2thZ2UgaW4gaXBhaXJzKGNmZy5udWdldCkgZG8KaWYgcHJqLm51Z2V0W3BhY2thZ2VdPT1uaWwgdGhlbgpfcCgyLCc8UGFja2FnZVJlZmVyZW5jZSBJbmNsdWRlPSIlcyIgVmVyc2lvbj0iJXMiICVzLz4nLCB2c3R1ZGlvLm51Z2V0MjAxMC5wYWNrYWdlSWQocGFja2FnZSksIHZzdHVkaW8ubnVnZXQyMDEwLnBhY2thZ2VWZXJzaW9uKHBhY2thZ2UpLCBkb3RuZXRiYXNlLmNvbmRpdGlvbihjZmcpKQplbmQKZW5kCmVuZAplbmQKX3AoMSwnPC9JdGVtR3JvdXA+JykKZW5kCmVuZAplbmQKZnVuY3Rpb24gZG90bmV0YmFzZS5hcmNoKGNmZykKbG9jYWwgYXJjaCA9IHZzdHVkaW8uYXJjaEZyb21Db25maWcoY2ZnKQppZiBhcmNoID09ICJBbnkgQ1BVIiB0aGVuCmFyY2ggPSAiQW55Q1BVIgplbmQKcmV0dXJuIGFyY2gKZW5kCmZ1bmN0aW9uIGRvdG5ldGJhc2UucHJvcGVydHlHcm91cChjZmcpCnAucHVzaCgnPFByb3BlcnR5R3JvdXAgJXM+JywgZG90bmV0YmFzZS5jb25kaXRpb24oY2ZnKSkKbG9jYWwgYXJjaCA9IGRvdG5ldGJhc2UuYXJjaChjZmcpCmlmIGFyY2ggfj0gIkFueUNQVSIgb3IgX0FDVElPTiA+ICJ2czIwMDgiIHRoZW4KcC54KCc8UGxhdGZvcm1UYXJnZXQ+JXM8L1BsYXRmb3JtVGFyZ2V0PicsIGFyY2gpCmVuZAplbmQKZnVuY3Rpb24gZG90bmV0YmFzZS5hcHBsaWNhdGlvbkljb24ocHJqKQppZiBwcmouaWNvbiB0aGVuCmxvY2FsIGljb24gPSB2c3R1ZGlvLnBhdGgocHJqLCBwcmouaWNvbikKX3AoMSwnPFByb3BlcnR5R3JvdXA+JykKX3goMiwnPEFwcGxpY2F0aW9uSWNvbj4lczwvQXBwbGljYXRpb25JY29uPicsIGljb24pCl9wKDEsJzwvUHJvcGVydHlHcm91cD4nKQplbmQKZW5kCmZ1bmN0aW9uIGRvdG5ldGJhc2UuY29uZGl0aW9uKGNmZykKbG9jYWwgcGxhdGZvcm0gPSB2c3R1ZGlvLnByb2plY3RQbGF0Zm9ybShjZmcpCmxvY2FsIGFyY2ggPSBkb3RuZXRiYXNlLmFyY2goY2ZnKQpyZXR1cm4gc3RyaW5nLmZvcm1hdCgnQ29uZGl0aW9uPSIgXCckKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pXCcgPT0gXCclc3wlc1wnICInLCBwbGF0Zm9ybSwgYXJjaCkKZW5kCmZ1bmN0aW9uIGRvdG5ldGJhc2UuZm9ybWF0TnVHZXRGcmFtZXdvcmtWZXJzaW9uKGZyYW1ld29yaykKcmV0dXJuICJuZXQiIC4uIGZyYW1ld29yazpnc3ViKCIlLiIsICIiKQplbmQKZnVuY3Rpb24gZG90bmV0YmFzZS5hcHBEZXNpZ25lckZvbGRlcihjZmcpCl9wKDIsJzxBcHBEZXNpZ25lckZvbGRlcj5Qcm9wZXJ0aWVzPC9BcHBEZXNpZ25lckZvbGRlcj4nKQplbmQKZnVuY3Rpb24gZG90bmV0YmFzZS5hc3NlbWJseU5hbWUoY2ZnKQpfcCgyLCc8QXNzZW1ibHlOYW1lPiVzPC9Bc3NlbWJseU5hbWU+JywgY2ZnLmJ1aWxkdGFyZ2V0LmJhc2VuYW1lKQplbmQKZnVuY3Rpb24gZG90bmV0YmFzZS5jb21tb25Qcm9wZXJ0aWVzKHByaikKaWYgX0FDVElPTiA+ICJ2czIwMTAiIHRoZW4KX3AoMSwnPEltcG9ydCBQcm9qZWN0PSIkKE1TQnVpbGRFeHRlbnNpb25zUGF0aClcXCQoTVNCdWlsZFRvb2xzVmVyc2lvbilcXE1pY3Jvc29mdC5Db21tb24ucHJvcHMiIENvbmRpdGlvbj0iRXhpc3RzKFwnJChNU0J1aWxkRXh0ZW5zaW9uc1BhdGgpXFwkKE1TQnVpbGRUb29sc1ZlcnNpb24pXFxNaWNyb3NvZnQuQ29tbW9uLnByb3BzXCcpIiAvPicpCmVuZAplbmQKZnVuY3Rpb24gZG90bmV0YmFzZS5jb25maWd1cmF0aW9uQ29uZGl0aW9uKGNmZykKX3goMiwnPENvbmZpZ3VyYXRpb24gQ29uZGl0aW9uPSIgXCckKENvbmZpZ3VyYXRpb24pXCcgPT0gXCdcJyAiPiVzPC9Db25maWd1cmF0aW9uPicsIGNmZy5idWlsZGNmZykKZW5kCmZ1bmN0aW9uIGRvdG5ldGJhc2UuZmlsZUFsaWdubWVudChjZmcpCmlmIF9BQ1RJT04gPj0gInZzMjAxMCIgdGhlbgpfcCgyLCc8RmlsZUFsaWdubWVudD41MTI8L0ZpbGVBbGlnbm1lbnQ+JykKZW5kCmVuZApmdW5jdGlvbiBkb3RuZXRiYXNlLmJpbmRpbmdSZWRpcmVjdHMoY2ZnKQppZiBfQUNUSU9OID49ICJ2czIwMTUiIHRoZW4KX3AoMiwgJzxBdXRvR2VuZXJhdGVCaW5kaW5nUmVkaXJlY3RzPnRydWU8L0F1dG9HZW5lcmF0ZUJpbmRpbmdSZWRpcmVjdHM+JykKZW5kCmVuZApmdW5jdGlvbiBkb3RuZXRiYXNlLm91dHB1dFR5cGUoY2ZnKQpfcCgyLCc8T3V0cHV0VHlwZT4lczwvT3V0cHV0VHlwZT4nLCBkb3RuZXQuZ2V0a2luZChjZmcpKQplbmQKZnVuY3Rpb24gZG90bmV0YmFzZS5wbGF0Zm9ybUNvbmRpdGlvbihjZmcpCl9wKDIsJzxQbGF0Zm9ybSBDb25kaXRpb249IiBcJyQoUGxhdGZvcm0pXCcgPT0gXCdcJyAiPiVzPC9QbGF0Zm9ybT4nLCBkb3RuZXRiYXNlLmFyY2goY2ZnLnByb2plY3QpKQplbmQKZnVuY3Rpb24gZG90bmV0YmFzZS5wcm9kdWN0VmVyc2lvbihjZmcpCmxvY2FsIGFjdGlvbiA9IHAuYWN0aW9uLmN1cnJlbnQoKQppZiBhY3Rpb24udnN0dWRpby5wcm9kdWN0VmVyc2lvbiB0aGVuCl9wKDIsJzxQcm9kdWN0VmVyc2lvbj4lczwvUHJvZHVjdFZlcnNpb24+JywgYWN0aW9uLnZzdHVkaW8ucHJvZHVjdFZlcnNpb24pCmVuZAplbmQKZnVuY3Rpb24gZG90bmV0YmFzZS5wcm9qZWN0R3VpZChjZmcpCl9wKDIsJzxQcm9qZWN0R3VpZD57JXN9PC9Qcm9qZWN0R3VpZD4nLCBjZmcudXVpZCkKZW5kCmZ1bmN0aW9uIGRvdG5ldGJhc2UucHJvamVjdFR5cGVHdWlkcyhjZmcpCmlmIGNmZy5mbGFncy5XUEYgdGhlbgpfcCgyLCc8UHJvamVjdFR5cGVHdWlkcz57NjBkYzgxMzQtZWJhNS00M2I4LWJjYzktYmI0YmMxNmMyNTQ4fTt7RkFFMDRFQzAtMzAxRi0xMUQzLUJGNEItMDBDMDRGNzlFRkJDfTwvUHJvamVjdFR5cGVHdWlkcz4nKQplbmQKZW5kCmZ1bmN0aW9uIGRvdG5ldGJhc2Uucm9vdE5hbWVzcGFjZShjZmcpCl9wKDIsJzxSb290TmFtZXNwYWNlPiVzPC9Sb290TmFtZXNwYWNlPicsIGNmZy5uYW1lc3BhY2Ugb3IgY2ZnLmJ1aWxkdGFyZ2V0LmJhc2VuYW1lKQplbmQKZnVuY3Rpb24gZG90bmV0YmFzZS5zY2hlbWFWZXJzaW9uKGNmZykKbG9jYWwgYWN0aW9uID0gcC5hY3Rpb24uY3VycmVudCgpCmlmIGFjdGlvbi52c3R1ZGlvLmNzcHJvalNjaGVtYVZlcnNpb24gdGhlbgpfcCgyLCc8U2NoZW1hVmVyc2lvbj4lczwvU2NoZW1hVmVyc2lvbj4nLCBhY3Rpb24udnN0dWRpby5jc3Byb2pTY2hlbWFWZXJzaW9uKQplbmQKZW5kCmZ1bmN0aW9uIGRvdG5ldGJhc2UuTm9XYXJuKGNmZykKaWYgI2NmZy5kaXNhYmxld2FybmluZ3MgPiAwIHRoZW4KbG9jYWwgd2FybmluZ3MgPSB0YWJsZS5jb25jYXQoY2ZnLmRpc2FibGV3YXJuaW5ncywgIjsiKQpfcCgyLCc8Tm9XYXJuPiVzPC9Ob1dhcm4+Jywgd2FybmluZ3MpCmVuZAplbmQKZnVuY3Rpb24gZG90bmV0YmFzZS50YXJnZXRGcmFtZXdvcmtWZXJzaW9uKGNmZykKbG9jYWwgYWN0aW9uID0gcC5hY3Rpb24uY3VycmVudCgpCmxvY2FsIGZyYW1ld29yayA9IGNmZy5kb3RuZXRmcmFtZXdvcmsgb3IgYWN0aW9uLnZzdHVkaW8udGFyZ2V0RnJhbWV3b3JrCmlmIGZyYW1ld29yayB0aGVuCl9wKDIsJzxUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPnYlczwvVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj4nLCBmcmFtZXdvcmspCmVuZAplbmQKZnVuY3Rpb24gZG90bmV0YmFzZS5jc3ZlcnNpb24oY2ZnKQppZiBjZmcuY3N2ZXJzaW9uIHRoZW4KX3AoMiwnPExhbmdWZXJzaW9uPiVzPC9MYW5nVmVyc2lvbj4nLCBjZmcuY3N2ZXJzaW9uKQplbmQKZW5kCmZ1bmN0aW9uIGRvdG5ldGJhc2UudGFyZ2V0RnJhbWV3b3JrUHJvZmlsZShjZmcpCmlmIF9BQ1RJT04gPT0gInZzMjAxMCIgdGhlbgpfcCgyLCc8VGFyZ2V0RnJhbWV3b3JrUHJvZmlsZT4nKQpfcCgyLCc8L1RhcmdldEZyYW1ld29ya1Byb2ZpbGU+JykKZW5kCmVuZApmdW5jdGlvbiBkb3RuZXRiYXNlLnhtbERlY2xhcmF0aW9uKCkKaWYgX0FDVElPTiA+ICJ2czIwMDgiIHRoZW4KcC54bWxVdGY4KCkKZW5kCmVuZAoAAGxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIG0gPSBwLm1vZHVsZXMueGNvZGUKbG9jYWwgeGNvZGUgPSBwLm1vZHVsZXMueGNvZGUKbG9jYWwgcHJvamVjdCA9IHAucHJvamVjdApsb2NhbCBjb25maWcgPSBwLmNvbmZpZwpsb2NhbCBmaWxlY29uZmlnID0gcC5maWxlY29uZmlnCmxvY2FsIHRyZWUgPSBwLnRyZWUKZnVuY3Rpb24geGNvZGUubXVzdEV4Y2x1ZGVGcm9tVGFyZ2V0KG5vZGUsIHByaikKaWYgbm90IG5vZGUuY29uZmlncyB0aGVuCnJldHVybiBmYWxzZQplbmQKbG9jYWwgdmFsdWUKZm9yIGNmZyBpbiBwcmVtYWtlLnByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmxvY2FsIGZpbGVjZmcgPSBwcmVtYWtlLmZpbGVjb25maWcuZ2V0Y29uZmlnKG5vZGUsIGNmZykKaWYgZmlsZWNmZyB0aGVuCmxvY2FsIG5ld1ZhbHVlID0gbm90IG5vdCBmaWxlY2ZnLmZsYWdzLkV4Y2x1ZGVGcm9tQnVpbGQKaWYgdmFsdWUgPT0gbmlsIHRoZW4KdmFsdWUgPSBuZXdWYWx1ZQplbHNlaWYgdmFsdWUgfj0gbmV3VmFsdWUgdGhlbgpwLndhcm4obm9kZS5uYW1lIC4uICIgaXMgZXhjbHVkZWQgaW4ganVzdCBzb21lIGNvbmZpZ3VyYXRpb25zLiBBdXRvY29tcGxldGlvbiB3aWxsIG5vdCB3b3JrIGNvcnJlY3RseSBvbiB0aGlzIGZpbGUgaW4gWGNvZGUuIikKcmV0dXJuIGZhbHNlCmVuZAplbmQKZW5kCnJldHVybiB2YWx1ZQplbmQKZnVuY3Rpb24geGNvZGUuYnVpbGRwcmp0cmVlKHByaikKbG9jYWwgdHIgPSBwcm9qZWN0LmdldHNvdXJjZXRyZWUocHJqLCBuaWwgLCBmYWxzZSkKdHIucHJvamVjdCA9IHByagp0ci5jb25maWdzID0ge30KZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpjZmcueGNvZGUgPSB7fQpjZmcueGNvZGUudGFyZ2V0aWQgPSB4Y29kZS5uZXdpZChwcmoueGNvZGUucHJvamVjdG5vZGUubmFtZSwgY2ZnLmJ1aWxkY2ZnLCAidGFyZ2V0IikKY2ZnLnhjb2RlLnByb2plY3RpZCA9IHhjb2RlLm5ld2lkKHRyLm5hbWUsIGNmZy5idWlsZGNmZykKdGFibGUuaW5zZXJ0KHRyLmNvbmZpZ3MsIGNmZykKZW5kCnRyZWUudHJhdmVyc2UodHIsIHsKb25icmFuY2ggPSBmdW5jdGlvbihub2RlKQppZiBwYXRoLmdldGV4dGVuc2lvbihub2RlLm5hbWUpID09ICIubHByb2oiIHRoZW4KbG9jYWwgbGFuZyA9IHBhdGguZ2V0YmFzZW5hbWUobm9kZS5uYW1lKSAgLS0gIkVuZ2xpc2giLCAiRnJlbmNoIiwgZXRjLgpmb3IgXywgZmlsZW5vZGUgaW4gaXBhaXJzKG5vZGUuY2hpbGRyZW4pIGRvCmxvY2FsIGdycG5vZGUgPSBub2RlLnBhcmVudC5jaGlsZHJlbltmaWxlbm9kZS5uYW1lXQppZiBub3QgZ3Jwbm9kZSB0aGVuCmdycG5vZGUgPSB0cmVlLmluc2VydChub2RlLnBhcmVudCwgdHJlZS5uZXcoZmlsZW5vZGUubmFtZSkpCmdycG5vZGUua2luZCA9ICJ2Z3JvdXAiCmVuZApmaWxlbm9kZS5uYW1lID0gcGF0aC5nZXRiYXNlbmFtZShsYW5nKQp0cmVlLmluc2VydChncnBub2RlLCBmaWxlbm9kZSkKZW5kCnRyZWUucmVtb3ZlKG5vZGUpCmVuZAplbmQKfSkKdHIuZnJhbWV3b3JrcyA9IHRyZWUubmV3KCJGcmFtZXdvcmtzIikKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpmb3IgXywgbGluayBpbiBpcGFpcnMoY29uZmlnLmdldGxpbmtzKGNmZywgInN5c3RlbSIsICJmdWxscGF0aCIpKSBkbwpsb2NhbCBuYW1lID0gcGF0aC5nZXRuYW1lKGxpbmspCmlmIHhjb2RlLmlzZnJhbWV3b3JrKG5hbWUpIGFuZCBub3QgdHIuZnJhbWV3b3Jrcy5jaGlsZHJlbltuYW1lXSB0aGVuCm5vZGUgPSB0cmVlLmluc2VydCh0ci5mcmFtZXdvcmtzLCB0cmVlLm5ldyhuYW1lKSkKbm9kZS5wYXRoID0gbGluawplbmQKZW5kCmVuZAppZiAjdHIuZnJhbWV3b3Jrcy5jaGlsZHJlbiA+IDAgdGhlbgp0cmVlLmluc2VydCh0ciwgdHIuZnJhbWV3b3JrcykKZW5kCnRyLnByb2R1Y3RzID0gdHJlZS5pbnNlcnQodHIsIHRyZWUubmV3KCJQcm9kdWN0cyIpKQp0ci5wcm9qZWN0cyA9IHRyZWUubmV3KCJQcm9qZWN0cyIpCmZvciBfLCBkZXAgaW4gaXBhaXJzKHByb2plY3QuZ2V0ZGVwZW5kZW5jaWVzKHByaiwgImxpbmtPbmx5IikpIGRvCnhjb2RlLmFkZERlcGVuZGVuY3kocHJqLCB0ciwgZGVwLCB0cnVlKQplbmQKZm9yIF8sIGRlcCBpbiBpcGFpcnMocHJvamVjdC5nZXRkZXBlbmRlbmNpZXMocHJqLCAiZGVwZW5kT25seSIpKSBkbwp4Y29kZS5hZGREZXBlbmRlbmN5KHByaiwgdHIsIGRlcCwgZmFsc2UpCmVuZAppZiAjdHIucHJvamVjdHMuY2hpbGRyZW4gPiAwIHRoZW4KdHJlZS5pbnNlcnQodHIsIHRyLnByb2plY3RzKQplbmQKdHJlZS50cmF2ZXJzZSh0ciwgewpvbm5vZGUgPSBmdW5jdGlvbihub2RlKQpsb2NhbCBub2RlUGF0aAppZiBub2RlLnBhdGggdGhlbgpub2RlUGF0aCA9IHBhdGguZ2V0cmVsYXRpdmUodHIucHJvamVjdC5sb2NhdGlvbiwgbm9kZS5wYXRoKQplbmQKbm9kZS5pZCA9IHhjb2RlLm5ld2lkKG5vZGUubmFtZSwgbmlsLCBub2RlUGF0aCkKbm9kZS5pc1Jlc291cmNlID0geGNvZGUuaXNJdGVtUmVzb3VyY2UocHJqLCBub2RlKQppZiBub2RlLmNvbmZpZ3MgdGhlbgpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmxvY2FsIGZpbGVjZmcgPSBmaWxlY29uZmlnLmdldGNvbmZpZyhub2RlLCBjZmcpCmlmIGZpbGVjb25maWcuaGFzQ3VzdG9tQnVpbGRSdWxlKGZpbGVjZmcpIHRoZW4KaWYgbm90IG5vZGUuYnVpbGRjb21tYW5kaWQgdGhlbgpub2RlLmJ1aWxkY29tbWFuZGlkID0geGNvZGUubmV3aWQobm9kZS5uYW1lLCAiYnVpbGRjb21tYW5kIiwgbm9kZVBhdGgpCmVuZAplbmQKZW5kCmVuZAppZiB4Y29kZS5nZXRidWlsZGNhdGVnb3J5KG5vZGUpIGFuZCBub3Qgbm9kZS5leGNsdWRlZnJvbWJ1aWxkIGFuZCBub3QgeGNvZGUubXVzdEV4Y2x1ZGVGcm9tVGFyZ2V0KG5vZGUsIHRyLnByb2plY3QpIHRoZW4Kbm9kZS5idWlsZGlkID0geGNvZGUubmV3aWQobm9kZS5uYW1lLCAiYnVpbGQiLCBub2RlUGF0aCkKZW5kCmlmIHN0cmluZy5lbmRzd2l0aChub2RlLm5hbWUsICJJbmZvLnBsaXN0IikgdGhlbgp0ci5pbmZvcGxpc3QgPSBub2RlCmVuZAplbmQKfSwgdHJ1ZSkKbm9kZSA9IHRyZWUuaW5zZXJ0KHRyLnByb2R1Y3RzLCBwcmoueGNvZGUucHJvamVjdG5vZGUpCm5vZGUua2luZCA9ICJwcm9kdWN0Igpub2RlLnBhdGggPSBub2RlLmNmZy5idWlsZHRhcmdldC5mdWxscGF0aApub2RlLmNmZ3NlY3Rpb24gPSB4Y29kZS5uZXdpZChub2RlLm5hbWUsICJjZmciKQpub2RlLnJlc3N0YWdlaWQgPSB4Y29kZS5uZXdpZChub2RlLm5hbWUsICJyZXoiKQpub2RlLnNvdXJjZXNpZCAgPSB4Y29kZS5uZXdpZChub2RlLm5hbWUsICJzcmMiKQpub2RlLmZ4c3RhZ2VpZCAgPSB4Y29kZS5uZXdpZChub2RlLm5hbWUsICJmeHMiKQpyZXR1cm4gdHIKZW5kCmZ1bmN0aW9uIHhjb2RlLmFkZERlcGVuZGVuY3kocHJqLCB0ciwgZGVwLCBidWlsZCkKbG9jYWwgeGNwYXRoID0geGNvZGUuZ2V0eGNvZGVwcm9qbmFtZShkZXApCmxvY2FsIHhjbm9kZSA9IHRyZWUuaW5zZXJ0KHRyLnByb2plY3RzLCB0cmVlLm5ldyhwYXRoLmdldG5hbWUoeGNwYXRoKSkpCnhjbm9kZS5wYXRoID0geGNwYXRoCnhjbm9kZS5wcm9qZWN0ID0gZGVwCnhjbm9kZS5wcm9kdWN0Z3JvdXBpZCA9IHhjb2RlLm5ld2lkKHhjbm9kZS5uYW1lLCAicHJvZGdycCIpCnhjbm9kZS5wcm9kdWN0cHJveHlpZCA9IHhjb2RlLm5ld2lkKHhjbm9kZS5uYW1lLCAicHJvZHByb3giKQp4Y25vZGUudGFyZ2V0cHJveHlpZCAgPSB4Y29kZS5uZXdpZCh4Y25vZGUubmFtZSwgInRhcmdwcm94IikKeGNub2RlLnRhcmdldGRlcGVuZGlkID0geGNvZGUubmV3aWQoeGNub2RlLm5hbWUsICJ0YXJnZGVwIikKbG9jYWwgbHByaiA9IHAud29ya3NwYWNlLmZpbmRwcm9qZWN0KHByai53b3Jrc3BhY2UsIGRlcC5uYW1lKQpsb2NhbCBjZmcgPSBwcm9qZWN0LmZpbmRDbG9zZXN0TWF0Y2gobHByaiwgcHJqLmNvbmZpZ3VyYXRpb25zWzFdKQpub2RlID0gdHJlZS5pbnNlcnQoeGNub2RlLCB0cmVlLm5ldyhjZmcubGlua3RhcmdldC5uYW1lKSkKbm9kZS5wYXRoID0gY2ZnLmxpbmt0YXJnZXQuZnVsbHBhdGgKbm9kZS5jZmcgPSBjZmcKaWYgYnVpbGQgPT0gZmFsc2UgdGhlbgpub2RlLmV4Y2x1ZGVmcm9tYnVpbGQgPSB0cnVlCmVuZAplbmQKbS5lbGVtZW50cy5wcm9qZWN0ID0gZnVuY3Rpb24ocHJqKQpyZXR1cm4gewptLmhlYWRlciwKfQplbmQKZnVuY3Rpb24gbS5nZW5lcmF0ZVByb2plY3QocHJqKQpsb2NhbCB0ciA9IHhjb2RlLmJ1aWxkcHJqdHJlZShwcmopCnAuY2FsbEFycmF5KG0uZWxlbWVudHMucHJvamVjdCwgcHJqKQp4Y29kZS5QQlhCdWlsZEZpbGUodHIpCnhjb2RlLlBCWENvbnRhaW5lckl0ZW1Qcm94eSh0cikKeGNvZGUuUEJYRmlsZVJlZmVyZW5jZSh0cikKeGNvZGUuUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2UodHIpCnhjb2RlLlBCWEdyb3VwKHRyKQp4Y29kZS5QQlhOYXRpdmVUYXJnZXQodHIpCnhjb2RlLlBCWEFnZ3JlZ2F0ZVRhcmdldCh0cikKeGNvZGUuUEJYUHJvamVjdCh0cikKeGNvZGUuUEJYUmVmZXJlbmNlUHJveHkodHIpCnhjb2RlLlBCWFJlc291cmNlc0J1aWxkUGhhc2UodHIpCnhjb2RlLlBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZSh0cikKeGNvZGUuUEJYU291cmNlc0J1aWxkUGhhc2UodHIpCnhjb2RlLlBCWFRhcmdldERlcGVuZGVuY3kodHIpCnhjb2RlLlBCWFZhcmlhbnRHcm91cCh0cikKeGNvZGUuWENCdWlsZENvbmZpZ3VyYXRpb24odHIpCnhjb2RlLlhDQnVpbGRDb25maWd1cmF0aW9uTGlzdCh0cikKeGNvZGUuZm9vdGVyKHByaikKZW5kCmZ1bmN0aW9uIG0uaGVhZGVyKHByaikKcC53KCcvLyAhJCpVVEY4KiQhJykKcC5wdXNoKCd7JykKcC53KCdhcmNoaXZlVmVyc2lvbiA9IDE7JykKcC53KCdjbGFzc2VzID0geycpCnAudygnfTsnKQpwLncoJ29iamVjdFZlcnNpb24gPSA0NjsnKQpwLnB1c2goJ29iamVjdHMgPSB7JykKcC53KCkKZW5kCmZ1bmN0aW9uIHhjb2RlLmZvb3RlcihwcmopCnAucG9wKCd9OycpCnAudygncm9vdE9iamVjdCA9IDA4RkI3NzkzRkU4NDE1NURDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsnKQpwLnBvcCgnfScpCmVuZAoAbG9jYWwgcCA9IHByZW1ha2UKcC5tYWtlLm1ha2VmaWxlID0ge30KbG9jYWwgbWFrZSAgICAgICA9IHAubWFrZQpsb2NhbCBtYWtlZmlsZSAgID0gcC5tYWtlLm1ha2VmaWxlCmxvY2FsIHByb2plY3QgICAgPSBwLnByb2plY3QKbG9jYWwgY29uZmlnICAgICA9IHAuY29uZmlnCmxvY2FsIGZpbGVjb25maWcgPSBwLmZpbGVjb25maWcKbWFrZWZpbGUuZWxlbWVudHMgPSB7fQptYWtlZmlsZS5lbGVtZW50cy5tYWtlZmlsZSA9IHsKImhlYWRlciIsCiJwaG9ueVJ1bGVzIiwKIm1ha2VmaWxlQ29uZmlncyIsCiJtYWtlZmlsZVRhcmdldFJ1bGVzIgp9CmZ1bmN0aW9uIG1ha2UubWFrZWZpbGUuZ2VuZXJhdGUocHJqKQpwLmVvbCgiXG4iKQpwLmNhbGxhcnJheShtYWtlLCBtYWtlZmlsZS5lbGVtZW50cy5tYWtlZmlsZSwgcHJqKQplbmQKbWFrZWZpbGUuZWxlbWVudHMuY29uZmlndXJhdGlvbiA9IHsKInRhcmdldCIsCiJidWlsZENvbW1hbmRzIiwKImNsZWFuQ29tbWFuZHMiLAp9CmZ1bmN0aW9uIG1ha2UubWFrZWZpbGVDb25maWdzKHByaikKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpsb2NhbCB0b29sc2V0ID0gcC50b29sc1tjZmcudG9vbHNldCBvciAiZ2NjIl0KaWYgbm90IHRvb2xzZXQgdGhlbgplcnJvcigiSW52YWxpZCB0b29sc2V0ICciIC4uIGNmZy50b29sc2V0IC4uICInIikKZW5kCl94KCdpZmVxICgkKGNvbmZpZyksJXMpJywgY2ZnLnNob3J0bmFtZSkKcC5jYWxsYXJyYXkobWFrZSwgbWFrZWZpbGUuZWxlbWVudHMuY29uZmlndXJhdGlvbiwgY2ZnLCB0b29sc2V0KQpfcCgnZW5kaWYnKQpfcCgnJykKZW5kCmVuZApmdW5jdGlvbiBtYWtlLm1ha2VmaWxlVGFyZ2V0UnVsZXMocHJqKQpfcCgnJChUQVJHRVQpOicpCl9wKCdcdCQoQlVJTERDTURTKScpCl9wKCcnKQpfcCgnY2xlYW46JykKX3AoJ1x0JChDTEVBTkNNRFMpJykKX3AoJycpCmVuZApmdW5jdGlvbiBtYWtlLmJ1aWxkQ29tbWFuZHMoY2ZnKQpfcCgnICBkZWZpbmUgQlVJTERDTURTJykKbG9jYWwgc3RlcHMgPSBjZmcuYnVpbGRjb21tYW5kcwppZiAjc3RlcHMgPiAwIHRoZW4Kc3RlcHMgPSBvcy50cmFuc2xhdGVDb21tYW5kc0FuZFBhdGhzKHN0ZXBzLCBjZmcucHJvamVjdC5iYXNlZGlyLCBjZmcucHJvamVjdC5sb2NhdGlvbikKX3AoJ1x0QGVjaG8gUnVubmluZyBidWlsZCBjb21tYW5kcycpCl9wKCdcdCVzJywgdGFibGUuaW1wbG9kZShzdGVwcywgIiIsICIiLCAiXG5cdCIpKQplbmQKX3AoJyAgZW5kZWYnKQplbmQKZnVuY3Rpb24gbWFrZS5jbGVhbkNvbW1hbmRzKGNmZykKX3AoJyAgZGVmaW5lIENMRUFOQ01EUycpCmxvY2FsIHN0ZXBzID0gY2ZnLmNsZWFuY29tbWFuZHMKaWYgI3N0ZXBzID4gMCB0aGVuCnN0ZXBzID0gb3MudHJhbnNsYXRlQ29tbWFuZHNBbmRQYXRocyhzdGVwcywgY2ZnLnByb2plY3QuYmFzZWRpciwgY2ZnLnByb2plY3QubG9jYXRpb24pCl9wKCdcdEBlY2hvIFJ1bm5pbmcgY2xlYW4gY29tbWFuZHMnKQpfcCgnXHQlcycsIHRhYmxlLmltcGxvZGUoc3RlcHMsICIiLCAiIiwgIlxuXHQiKSkKZW5kCl9wKCcgIGVuZGVmJykKZW5kCgAAbG9jYWwgcCA9IHByZW1ha2UKcC52c3R1ZGlvLnNsbjIwMDUgPSB7fQpsb2NhbCB2c3R1ZGlvID0gcC52c3R1ZGlvCmxvY2FsIHNsbjIwMDUgPSBwLnZzdHVkaW8uc2xuMjAwNQpsb2NhbCBwcm9qZWN0ID0gcC5wcm9qZWN0CmxvY2FsIHRyZWUgPSBwLnRyZWUKc2xuMjAwNS5lbGVtZW50cyA9IHt9CmZ1bmN0aW9uIHNsbjIwMDUuc29sdXRpb25TZWN0aW9ucyh3a3MpCnJldHVybiB7CiJDb25maWd1cmF0aW9uUGxhdGZvcm1zIiwKIlNvbHV0aW9uUHJvcGVydGllcyIsCiJOZXN0ZWRQcm9qZWN0cyIsCiJFeHRlbnNpYmlsaXR5R2xvYmFscyIKfQplbmQKZnVuY3Rpb24gc2xuMjAwNS5nZW5lcmF0ZSh3a3MpCnAudXRmOCgpCnAub3V0bG4oJycpCnNsbjIwMDUucmVvcmRlclByb2plY3RzKHdrcykKc2xuMjAwNS5oZWFkZXIoKQpzbG4yMDA1LnByb2plY3RzKHdrcykKcC5wdXNoKCdHbG9iYWwnKQpzbG4yMDA1LnNlY3Rpb25zKHdrcykKcC5wb3AoJ0VuZEdsb2JhbCcpCnAudygpCmVuZApmdW5jdGlvbiBzbG4yMDA1LmhlYWRlcigpCmxvY2FsIGFjdGlvbiA9IHAuYWN0aW9uLmN1cnJlbnQoKQpwLncoJ01pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIFNvbHV0aW9uIEZpbGUsIEZvcm1hdCBWZXJzaW9uICVkLjAwJywgYWN0aW9uLnZzdHVkaW8uc29sdXRpb25WZXJzaW9uKQpwLncoJyMgVmlzdWFsIFN0dWRpbyAlcycsIGFjdGlvbi52c3R1ZGlvLnZlcnNpb25OYW1lKQplbmQKZnVuY3Rpb24gc2xuMjAwNS5yZW9yZGVyUHJvamVjdHMod2tzKQppZiB3a3Muc3RhcnRwcm9qZWN0IHRoZW4KbG9jYWwgbnAKbG9jYWwgdHIgPSBwLndvcmtzcGFjZS5ncm91cHRyZWUod2tzKQp0cmVlLnRyYXZlcnNlKHRyLCB7Cm9ubGVhZiA9IGZ1bmN0aW9uKG4pCmlmIG4ucHJvamVjdC5uYW1lID09IHdrcy5zdGFydHByb2plY3QgdGhlbgpucCA9IG4KZW5kCmVuZAp9KQp3aGlsZSBucCBhbmQgbnAucGFyZW50IGRvCmxvY2FsIHAgPSBucC5wYXJlbnQKbG9jYWwgaSA9IHRhYmxlLmluZGV4b2YocC5jaGlsZHJlbiwgbnApCnRhYmxlLnJlbW92ZShwLmNoaWxkcmVuLCBpKQp0YWJsZS5pbnNlcnQocC5jaGlsZHJlbiwgMSwgbnApCm5wID0gcAplbmQKZW5kCmVuZApmdW5jdGlvbiBzbG4yMDA1LnByb2plY3RzKHdrcykKbG9jYWwgdHIgPSBwLndvcmtzcGFjZS5ncm91cHRyZWUod2tzKQp0cmVlLnRyYXZlcnNlKHRyLCB7Cm9ubGVhZiA9IGZ1bmN0aW9uKG4pCmxvY2FsIHByaiA9IG4ucHJvamVjdApsb2NhbCBwcmpwYXRoID0gdnN0dWRpby5wcm9qZWN0ZmlsZShwcmopCnByanBhdGggPSB2c3R1ZGlvLnBhdGgocHJqLndvcmtzcGFjZSwgcHJqcGF0aCkKcHJqcGF0aCA9IHByanBhdGg6Z3N1YigiJCUoKC4tKSUpIiwgIiUlJTElJSIpCnAueCgnUHJvamVjdCgieyVzfSIpID0gIiVzIiwgIiVzIiwgInslc30iJywgdnN0dWRpby50b29sKHByaiksIHByai5uYW1lLCBwcmpwYXRoLCBwcmoudXVpZCkKcC5wdXNoKCkKc2xuMjAwNS5wcm9qZWN0ZGVwZW5kZW5jaWVzKHByaikKcC5wb3AoJ0VuZFByb2plY3QnKQplbmQsCm9uYnJhbmNoID0gZnVuY3Rpb24obikKcC5wdXNoKCdQcm9qZWN0KCJ7MjE1MEUzMzMtOEZEQy00MkEzLTk0NzQtMUEzOTU2RDQ2REU4fSIpID0gIiVzIiwgIiVzIiwgInslc30iJywgbi5uYW1lLCBuLm5hbWUsIG4udXVpZCkKcC5wb3AoJ0VuZFByb2plY3QnKQplbmQsCn0pCmVuZApmdW5jdGlvbiBzbG4yMDA1LnByb2plY3RkZXBlbmRlbmNpZXMocHJqKQpsb2NhbCBkZXBzID0gcHJvamVjdC5nZXRkZXBlbmRlbmNpZXMocHJqLCAnZGVwZW5kT25seScpCmlmICNkZXBzID4gMCB0aGVuCnAucHVzaCgnUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdCcpCmZvciBfLCBkZXAgaW4gaXBhaXJzKGRlcHMpIGRvCnAudygneyVzfSA9IHslc30nLCBkZXAudXVpZCwgZGVwLnV1aWQpCmVuZApwLnBvcCgnRW5kUHJvamVjdFNlY3Rpb24nKQplbmQKZW5kCnNsbjIwMDUuZWxlbWVudHMucHJvamVjdENvbmZpZ3VyYXRpb25QbGF0Zm9ybXMgPSBmdW5jdGlvbihjZmcsIGNvbnRleHQpCnJldHVybiB7CnNsbjIwMDUuYWN0aXZlQ2ZnLApzbG4yMDA1LmJ1aWxkMCwKfQplbmQKZnVuY3Rpb24gc2xuMjAwNS5wcm9qZWN0Q29uZmlndXJhdGlvblBsYXRmb3Jtcyh3a3MsIHNvcnRlZCwgZGVzY3JpcHRvcnMpCnAudygiR2xvYmFsU2VjdGlvbihQcm9qZWN0Q29uZmlndXJhdGlvblBsYXRmb3JtcykgPSBwb3N0U29sdXRpb24iKQpsb2NhbCB0ciA9IHAud29ya3NwYWNlLmdyb3VwdHJlZSh3a3MpCnRyZWUudHJhdmVyc2UodHIsIHsKb25sZWFmID0gZnVuY3Rpb24obikKbG9jYWwgcHJqID0gbi5wcm9qZWN0CnRhYmxlLmZvcmVhY2hpKHNvcnRlZCwgZnVuY3Rpb24oY2ZnKQpsb2NhbCBjb250ZXh0ID0ge30KY29udGV4dC5wcmogPSBwcmoKY29udGV4dC5wcmpDZmcgPSBwcm9qZWN0LmdldGNvbmZpZyhwcmosIGNmZy5idWlsZGNmZywgY2ZnLnBsYXRmb3JtKQpjb250ZXh0LmV4Y2x1ZGVkID0gKGNvbnRleHQucHJqQ2ZnID09IG5pbCBvciBjb250ZXh0LnByakNmZy5mbGFncy5FeGNsdWRlRnJvbUJ1aWxkKQppZiBjb250ZXh0LnByakNmZyA9PSBuaWwgdGhlbgpjb250ZXh0LnByakNmZyA9IHByb2plY3QuZmluZENsb3Nlc3RNYXRjaChwcmosIGNmZy5idWlsZGNmZywgY2ZnLnBsYXRmb3JtKQplbmQKY29udGV4dC5kZXNjcmlwdG9yID0gZGVzY3JpcHRvcnNbY2ZnXQpjb250ZXh0LnBsYXRmb3JtID0gdnN0dWRpby5wcm9qZWN0UGxhdGZvcm0oY29udGV4dC5wcmpDZmcpCmNvbnRleHQuYXJjaGl0ZWN0dXJlID0gdnN0dWRpby5hcmNoRnJvbUNvbmZpZyhjb250ZXh0LnByakNmZywgdHJ1ZSkKcC5wdXNoKCkKcC5jYWxsQXJyYXkoc2xuMjAwNS5lbGVtZW50cy5wcm9qZWN0Q29uZmlndXJhdGlvblBsYXRmb3JtcywgY2ZnLCBjb250ZXh0KQpwLnBvcCgpCmVuZCkKZW5kCn0pCnAudygiRW5kR2xvYmFsU2VjdGlvbiIpCmVuZApmdW5jdGlvbiBzbG4yMDA1LmFjdGl2ZUNmZyhjZmcsIGNvbnRleHQpCnAudygneyVzfS4lcy5BY3RpdmVDZmcgPSAlc3wlcycsIGNvbnRleHQucHJqLnV1aWQsIGNvbnRleHQuZGVzY3JpcHRvciwgY29udGV4dC5wbGF0Zm9ybSwgY29udGV4dC5hcmNoaXRlY3R1cmUpCmVuZApmdW5jdGlvbiBzbG4yMDA1LmJ1aWxkMChjZmcsIGNvbnRleHQpCmlmIG5vdCBjb250ZXh0LmV4Y2x1ZGVkIGFuZCBjb250ZXh0LnByakNmZy5raW5kIH49IHAuTk9ORSB0aGVuCnAudygneyVzfS4lcy5CdWlsZC4wID0gJXN8JXMnLCBjb250ZXh0LnByai51dWlkLCBjb250ZXh0LmRlc2NyaXB0b3IsIGNvbnRleHQucGxhdGZvcm0sIGNvbnRleHQuYXJjaGl0ZWN0dXJlKQplbmQKZW5kCmZ1bmN0aW9uIHNsbjIwMDUuY29uZmlndXJhdGlvblBsYXRmb3Jtcyh3a3MpCmxvY2FsIGRlc2NyaXB0b3JzID0ge30KbG9jYWwgc29ydGVkID0ge30KZm9yIGNmZyBpbiBwLndvcmtzcGFjZS5lYWNoY29uZmlnKHdrcykgZG8KbG9jYWwgcGxhdGZvcm0gPSB2c3R1ZGlvLnNvbHV0aW9uUGxhdGZvcm0oY2ZnKQpkZXNjcmlwdG9yc1tjZmddID0gc3RyaW5nLmZvcm1hdCgiJXN8JXMiLCBjZmcuYnVpbGRjZmcsIHBsYXRmb3JtKQp0YWJsZS5pbnNlcnQoc29ydGVkLCBjZmcpCmVuZAp0YWJsZS5zb3J0KHNvcnRlZCwgZnVuY3Rpb24oY2ZnMCwgY2ZnMSkKcmV0dXJuIGRlc2NyaXB0b3JzW2NmZzBdOmxvd2VyKCkgPCBkZXNjcmlwdG9yc1tjZmcxXTpsb3dlcigpCmVuZCkKaWYgd2tzLmRlZmF1bHRwbGF0Zm9ybSB0aGVuCnAucHVzaCgnR2xvYmFsU2VjdGlvbihTb2x1dGlvbkNvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcHJlU29sdXRpb24nKQp0YWJsZS5mb3JlYWNoaShzb3J0ZWQsIGZ1bmN0aW9uIChjZmcpCmlmIGNmZy5wbGF0Zm9ybSA9PSB3a3MuZGVmYXVsdHBsYXRmb3JtIHRoZW4KcC53KCclcyA9ICVzJywgZGVzY3JpcHRvcnNbY2ZnXSwgZGVzY3JpcHRvcnNbY2ZnXSkKZW5kCmVuZCkKcC5wb3AoIkVuZEdsb2JhbFNlY3Rpb24iKQplbmQKcC5wdXNoKCdHbG9iYWxTZWN0aW9uKFNvbHV0aW9uQ29uZmlndXJhdGlvblBsYXRmb3JtcykgPSBwcmVTb2x1dGlvbicpCnRhYmxlLmZvcmVhY2hpKHNvcnRlZCwgZnVuY3Rpb24gKGNmZykKaWYgbm90IHdrcy5kZWZhdWx0cGxhdGZvcm0gb3IgY2ZnLnBsYXRmb3JtIH49IHdrcy5kZWZhdWx0cGxhdGZvcm0gdGhlbgpwLncoJyVzID0gJXMnLCBkZXNjcmlwdG9yc1tjZmddLCBkZXNjcmlwdG9yc1tjZmddKQplbmQKZW5kKQpwLnBvcCgiRW5kR2xvYmFsU2VjdGlvbiIpCnNsbjIwMDUucHJvamVjdENvbmZpZ3VyYXRpb25QbGF0Zm9ybXMod2tzLCBzb3J0ZWQsIGRlc2NyaXB0b3JzKQplbmQKZnVuY3Rpb24gc2xuMjAwNS5wcm9wZXJ0aWVzKHdrcykKcC5wdXNoKCdHbG9iYWxTZWN0aW9uKFNvbHV0aW9uUHJvcGVydGllcykgPSBwcmVTb2x1dGlvbicpCnAudygnSGlkZVNvbHV0aW9uTm9kZSA9IEZBTFNFJykKcC5wb3AoJ0VuZEdsb2JhbFNlY3Rpb24nKQplbmQKZnVuY3Rpb24gc2xuMjAwNS5uZXN0ZWRQcm9qZWN0cyh3a3MpCmxvY2FsIHRyID0gcC53b3Jrc3BhY2UuZ3JvdXB0cmVlKHdrcykKaWYgdHJlZS5oYXNicmFuY2hlcyh0cikgdGhlbgpwLnB1c2goJ0dsb2JhbFNlY3Rpb24oTmVzdGVkUHJvamVjdHMpID0gcHJlU29sdXRpb24nKQp0cmVlLnRyYXZlcnNlKHRyLCB7Cm9ubm9kZSA9IGZ1bmN0aW9uKG4pCmlmIG4ucGFyZW50LnV1aWQgdGhlbgpwLncoJ3slc30gPSB7JXN9JywgKG4ucHJvamVjdCBvciBuKS51dWlkLCBuLnBhcmVudC51dWlkKQplbmQKZW5kCn0pCnAucG9wKCdFbmRHbG9iYWxTZWN0aW9uJykKZW5kCmVuZApmdW5jdGlvbiBzbG4yMDA1LnByZW1ha2VFeHRlbnNpYmlsaXR5R2xvYmFscyh3a3MpCmlmIHdrcy5lZGl0b3JpbnRlZ3JhdGlvbiB0aGVuCmxvY2FsIGFyZ3MgPSB7fQpmb3IgXywgYXJnIGluIGlwYWlycyhfQVJHVikgZG8KaWYgbm90IChhcmc6c3RhcnRzd2l0aCgiLS1maWxlIikgb3IgYXJnOnN0YXJ0c3dpdGgoIi9maWxlIikpIHRoZW4KdGFibGUuaW5zZXJ0KGFyZ3MsIGFyZyk7CmVuZAplbmQKcC53KCdQcmVtYWtlQmluYXJ5ID0gJXMnLCBfUFJFTUFLRV9DT01NQU5EKQpwLncoJ1ByZW1ha2VTY3JpcHQgPSAlcycsIHAud29ya3NwYWNlLmdldHJlbGF0aXZlKHdrcywgX01BSU5fU0NSSVBUKSkKcC53KCdQcmVtYWtlQXJndW1lbnRzID0gJXMnLCB0YWJsZS5jb25jYXQoYXJncywgJyAnKSkKZW5kCmVuZApzbG4yMDA1LmVsZW1lbnRzLmV4dGVuc2liaWxpdHlHbG9iYWxzID0gZnVuY3Rpb24od2tzKQpyZXR1cm4gewpzbG4yMDA1LnByZW1ha2VFeHRlbnNpYmlsaXR5R2xvYmFscywKfQplbmQKZnVuY3Rpb24gc2xuMjAwNS5leHRlbnNpYmlsaXR5R2xvYmFscyh3a3MpCmxvY2FsIGNvbnRlbnRzID0gcC5jYXB0dXJlKGZ1bmN0aW9uICgpCnAucHVzaCgpCnAuY2FsbEFycmF5KHNsbjIwMDUuZWxlbWVudHMuZXh0ZW5zaWJpbGl0eUdsb2JhbHMsIHdrcykKcC5wb3AoKQplbmQpCmlmICNjb250ZW50cyA+IDAgdGhlbgpwLnB1c2goJ0dsb2JhbFNlY3Rpb24oRXh0ZW5zaWJpbGl0eUdsb2JhbHMpID0gcG9zdFNvbHV0aW9uJykKcC5vdXRsbihjb250ZW50cykKcC5wb3AoJ0VuZEdsb2JhbFNlY3Rpb24nKQplbmQKZW5kCnNsbjIwMDUuZWxlbWVudHMuc2VjdGlvbnMgPSBmdW5jdGlvbih3a3MpCnJldHVybiB7CnNsbjIwMDUuY29uZmlndXJhdGlvblBsYXRmb3JtcywKc2xuMjAwNS5wcm9wZXJ0aWVzLApzbG4yMDA1Lm5lc3RlZFByb2plY3RzLApzbG4yMDA1LmV4dGVuc2liaWxpdHlHbG9iYWxzLAp9CmVuZApmdW5jdGlvbiBzbG4yMDA1LnNlY3Rpb25zKHdrcykKcC5jYWxsQXJyYXkoc2xuMjAwNS5lbGVtZW50cy5zZWN0aW9ucywgd2tzKQplbmQKcmV0dXJuIHsiZ21ha2UiLCAidnN0dWRpbyIsICJ4Y29kZSIsICJjb2RlbGl0ZSIsICJnbWFrZTIiLCAiZCIsICJhbmRyb2lkIn0AAKAnUwDoJ1MAAAAAAHByZW1ha2Uub3ZlcnJpZGUob3MsICJleGVjdXRlIiwgZnVuY3Rpb24oYmFzZSwgY21kKQpjbWQgPSBvcy50cmFuc2xhdGVDb21tYW5kcyhjbWQpCnJldHVybiBiYXNlKGNtZCkKZW5kKQpmdW5jdGlvbiBvcy5leGVjdXRlZihjbWQsIC4uLikKY21kID0gc3RyaW5nLmZvcm1hdChjbWQsIC4uLikKcmV0dXJuIG9zLmV4ZWN1dGUoY21kKQplbmQKbG9jYWwgZnVuY3Rpb24gcGFyc2VfbGRfc29fY29uZihjb25mX2ZpbGUpCmxvY2FsIGZpcnN0LCBsYXN0CmxvY2FsIGRpcnMgPSB7IH0KZm9yIGxpbmUgaW4gaW8ubGluZXMoY29uZl9maWxlKSBkbwpmaXJzdCA9IGxpbmU6ZmluZCgiIyIsIDEsIHRydWUpCmlmIGZpcnN0IH49IG5pbCB0aGVuCmxpbmUgPSBsaW5lOnN1YigxLCBmaXJzdCAtIDEpCmVuZAppZiBsaW5lIH49ICIiIHRoZW4KZmlyc3QsIGxhc3QgPSBsaW5lOmZpbmQoImluY2x1ZGUlcysiKQppZiBmaXJzdCB+PSBuaWwgdGhlbgpsb2NhbCBpbmNsdWRlX2dsb2IgPSBsaW5lOnN1YihsYXN0ICsgMSkKbG9jYWwgaW5jbHVkZXMgPSBvcy5tYXRjaGZpbGVzKGluY2x1ZGVfZ2xvYikKZm9yIF8sIHYgaW4gaXBhaXJzKGluY2x1ZGVzKSBkbwpkaXJzID0gdGFibGUuam9pbihkaXJzLCBwYXJzZV9sZF9zb19jb25mKHYpKQplbmQKZWxzZQp0YWJsZS5pbnNlcnQoZGlycywgbGluZSkKZW5kCmVuZAplbmQKcmV0dXJuIGRpcnMKZW5kCmxvY2FsIGZ1bmN0aW9uIGdldF9saWJyYXJ5X3NlYXJjaF9wYXRoKCkKbG9jYWwgcGF0aAppZiBvcy5pc3RhcmdldCgid2luZG93cyIpIHRoZW4KcGF0aCA9IG9zLmdldGVudigiUEFUSCIpIG9yICIiCmVsc2VpZiBvcy5pc3RhcmdldCgiaGFpa3UiKSB0aGVuCnBhdGggPSBvcy5nZXRlbnYoIkxJQlJBUllfUEFUSCIpIG9yICIiCmVsc2UKaWYgb3MuaXN0YXJnZXQoImRhcndpbiIpIHRoZW4KcGF0aCA9IG9zLmdldGVudigiRFlMRF9MSUJSQVJZX1BBVEgiKSBvciAiIgplbHNlCnBhdGggPSBvcy5nZXRlbnYoIkxEX0xJQlJBUllfUEFUSCIpIG9yICIiCmZvciBfLCBwcmVmaXggaW4gaXBhaXJzKHsiIiwgIi9vcHQifSkgZG8KbG9jYWwgY29uZl9maWxlID0gcHJlZml4IC4uICIvZXRjL2xkLnNvLmNvbmYiCmlmIG9zLmlzZmlsZShjb25mX2ZpbGUpIHRoZW4KZm9yIF8sIHYgaW4gaXBhaXJzKHBhcnNlX2xkX3NvX2NvbmYoY29uZl9maWxlKSkgZG8KaWYgKCNwYXRoID4gMCkgdGhlbgpwYXRoID0gcGF0aCAuLiAiOiIgLi4gdgplbHNlCnBhdGggPSB2CmVuZAplbmQKZW5kCmVuZAplbmQKcGF0aCA9IHBhdGggb3IgIiIKbG9jYWwgYXJjaHBhdGggPSAiL2xpYjovdXNyL2xpYjovdXNyL2xvY2FsL2xpYiIKaWYgb3MuaXM2NGJpdCgpIGFuZCBub3QgKG9zLmlzdGFyZ2V0KCJkYXJ3aW4iKSkgdGhlbgphcmNocGF0aCA9ICIvbGliNjQ6L3Vzci9saWI2NC86dXNyL2xvY2FsL2xpYjY0IiAuLiAiOiIgLi4gYXJjaHBhdGgKZW5kCmlmICgjcGF0aCA+IDApIHRoZW4KcGF0aCA9IHBhdGggLi4gIjoiIC4uIGFyY2hwYXRoCmVsc2UKcGF0aCA9IGFyY2hwYXRoCmVuZAplbmQKcmV0dXJuIHBhdGgKZW5kCmZ1bmN0aW9uIG9zLmZpbmRsaWIobGlibmFtZSwgbGliZGlycykKbG9jYWwgcGF0aCA9IGdldF9saWJyYXJ5X3NlYXJjaF9wYXRoKCkKbG9jYWwgZm9ybWF0cwppZiBvcy5pc3RhcmdldCgid2luZG93cyIpIHRoZW4KZm9ybWF0cyA9IHsgIiVzLmRsbCIsICIlcyIgfQplbHNlaWYgb3MuaXN0YXJnZXQoImhhaWt1IikgdGhlbgpmb3JtYXRzID0geyAibGliJXMuc28iLCAiJXMuc28iIH0KZWxzZQppZiBvcy5pc3RhcmdldCgiZGFyd2luIikgdGhlbgpmb3JtYXRzID0geyAibGliJXMuZHlsaWIiLCAiJXMuZHlsaWIiIH0KZWxzZQpmb3JtYXRzID0geyAibGliJXMuc28iLCAiJXMuc28iIH0KZW5kCnRhYmxlLmluc2VydChmb3JtYXRzLCAiJXMiKQplbmQKbG9jYWwgdXNlcnBhdGggPSAiIgppZiB0eXBlKGxpYmRpcnMpID09ICJzdHJpbmciIHRoZW4KdXNlcnBhdGggPSBsaWJkaXJzCmVsc2VpZiB0eXBlKGxpYmRpcnMpID09ICJ0YWJsZSIgdGhlbgp1c2VycGF0aCA9IHRhYmxlLmltcGxvZGUobGliZGlycywgIiIsICIiLCAiOiIpCmVuZAppZiAoI3VzZXJwYXRoID4gMCkgdGhlbgppZiAoI3BhdGggPiAwKSB0aGVuCnBhdGggPSB1c2VycGF0aCAuLiAiOiIgLi4gcGF0aAplbHNlCnBhdGggPSB1c2VycGF0aAplbmQKZW5kCmZvciBfLCBmbXQgaW4gaXBhaXJzKGZvcm1hdHMpIGRvCmxvY2FsIG5hbWUgPSBzdHJpbmcuZm9ybWF0KGZtdCwgbGlibmFtZSkKbG9jYWwgcmVzdWx0ID0gb3MucGF0aHNlYXJjaChuYW1lLCBwYXRoKQppZiByZXN1bHQgdGhlbiByZXR1cm4gcmVzdWx0IGVuZAplbmQKZW5kCmZ1bmN0aW9uIG9zLmZpbmRoZWFkZXIoaGVhZGVycGF0aCwgaGVhZGVyZGlycykKbG9jYWwgcGF0aCA9IGdldF9saWJyYXJ5X3NlYXJjaF9wYXRoKCkKcGF0aCA9IHBhdGggLi4gJzonCnBhdGggPSBwYXRoOmdzdWIgKCcvbGliWzAtOV0qKFs6L10pJywgJy9pbmNsdWRlJTEnKQpwYXRoID0gcGF0aDpzdWIgKDEsICNwYXRoIC0gMSkKbG9jYWwgdXNlcnBhdGggPSAiIgppZiB0eXBlKGhlYWRlcmRpcnMpID09ICJzdHJpbmciIHRoZW4KdXNlcnBhdGggPSBoZWFkZXJkaXJzCmVsc2VpZiB0eXBlKGhlYWRlcmRpcnMpID09ICJ0YWJsZSIgdGhlbgp1c2VycGF0aCA9IHRhYmxlLmltcGxvZGUoaGVhZGVyZGlycywgIiIsICIiLCAiOiIpCmVuZAppZiAoI3VzZXJwYXRoID4gMCkgdGhlbgppZiAoI3BhdGggPiAwKSB0aGVuCnBhdGggPSB1c2VycGF0aCAuLiAiOiIgLi4gcGF0aAplbHNlCnBhdGggPSB1c2VycGF0aAplbmQKZW5kCmxvY2FsIHJlc3VsdCA9IG9zLnBhdGhzZWFyY2ggKGhlYWRlcnBhdGgsIHBhdGgpCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIG9zLnRhcmdldCgpCnJldHVybiBfT1BUSU9OUy5vcyBvciBfVEFSR0VUX09TCmVuZApmdW5jdGlvbiBvcy5nZXQoKQpsb2NhbCBjYWxsZXIgPSBmaWxlbGluZWluZm8oMikKcHJlbWFrZS53YXJuT25jZShjYWxsZXIsICJvcy5nZXQoKSBpcyBkZXByZWNhdGVkLCB1c2UgJ29zLnRhcmdldCgpJyBvciAnb3MuaG9zdCgpJy5cbiAgIEAlc1xuIiwgY2FsbGVyKQpyZXR1cm4gb3MudGFyZ2V0KCkKZW5kCl9HX21ldGF0YWJsZSA9IHsKX19pbmRleCA9IGZ1bmN0aW9uKHQsIGspCmlmIChrID09ICdfT1MnKSB0aGVuCnByZW1ha2Uud2Fybk9uY2UoIl9PUytnZXQiLCAiX09TIGlzIGRlcHJlY2F0ZWQsIHVzZSAnX1RBUkdFVF9PUycuIikKcmV0dXJuIHJhd2dldCh0LCAiX1RBUkdFVF9PUyIpCmVsc2UKcmV0dXJuIHJhd2dldCh0LCBrKQplbmQKZW5kLApfX25ld2luZGV4ID0gZnVuY3Rpb24odCwgaywgdikKaWYgKGsgPT0gJ19PUycpIHRoZW4KcHJlbWFrZS53YXJuT25jZSgiX09TK3NldCIsICJfT1MgaXMgZGVwcmVjYXRlZCwgdXNlICdfVEFSR0VUX09TJy4iKQpyYXdzZXQodCwgIl9UQVJHRVRfT1MiLCB2KQplbHNlCnJhd3NldCh0LCBrLCB2KQplbmQKZW5kCn0Kc2V0bWV0YXRhYmxlKF9HLCBfR19tZXRhdGFibGUpCmZ1bmN0aW9uIG9zLmlzdGFyZ2V0KGlkKQpsb2NhbCB0YWdzID0gb3MuZ2V0U3lzdGVtVGFncyhvcy50YXJnZXQoKSkKcmV0dXJuIHRhYmxlLmNvbnRhaW5zKHRhZ3MsIGlkOmxvd2VyKCkpCmVuZApmdW5jdGlvbiBvcy5pcyhpZCkKbG9jYWwgY2FsbGVyID0gZmlsZWxpbmVpbmZvKDIpCnByZW1ha2Uud2Fybk9uY2UoY2FsbGVyLCAib3MuaXMoKSBpcyBkZXByZWNhdGVkLCB1c2UgJ29zLmlzdGFyZ2V0KCknIG9yICdvcy5pc2hvc3QoKScuXG4gICBAJXNcbiIsIGNhbGxlcikKcmV0dXJuIG9zLmlzdGFyZ2V0KGlkKQplbmQKZnVuY3Rpb24gb3MuaXNob3N0KGlkKQpsb2NhbCB0YWdzID0gb3MuZ2V0U3lzdGVtVGFncyhvcy5ob3N0KCkpCnJldHVybiB0YWJsZS5jb250YWlucyh0YWdzLCBpZDpsb3dlcigpKQplbmQKcHJlbWFrZS5vdmVycmlkZShvcywgImlzZGlyIiwgZnVuY3Rpb24oYmFzZSwgcCkKcCA9IHBhdGgubm9ybWFsaXplKHApCnJldHVybiBiYXNlKHApCmVuZCkKcHJlbWFrZS5vdmVycmlkZShvcywgImlzZmlsZSIsIGZ1bmN0aW9uKGJhc2UsIHApCnAgPSBwYXRoLm5vcm1hbGl6ZShwKQpyZXR1cm4gYmFzZShwKQplbmQpCmxvY2FsIF9pczY0Yml0CmxvY2FsIF82NEJpdEhvc3RUeXBlcyA9IHsKIng4Nl82NCIsCiJpYTY0IiwKImFtZDY0IiwKInBwYzY0IiwKInBvd2VycGM2NCIsCiJzcGFyYzY0Igp9CmZ1bmN0aW9uIG9zLmlzNjRiaXQoKQppZiBfaXM2NGJpdCB+PSBuaWwgdGhlbgpyZXR1cm4gX2lzNjRiaXQKZW5kCl9pczY0Yml0ID0gZmFsc2UKaWYgKG9zLl9pczY0Yml0KCkpIHRoZW4KX2lzNjRiaXQgPSB0cnVlCmVsc2UKbG9jYWwgYXJjaAppZiBvcy5pc2hvc3QoIndpbmRvd3MiKSB0aGVuCmFyY2ggPSBvcy5nZXRlbnYoIlBST0NFU1NPUl9BUkNISVRFQ1RVUkUiKQplbHNlaWYgb3MuaXNob3N0KCJtYWNvc3giKSB0aGVuCmFyY2ggPSBvcy5vdXRwdXRvZigiZWNobyAkSE9TVFRZUEUiKQplbHNlCmFyY2ggPSBvcy5vdXRwdXRvZigidW5hbWUgLW0iKQplbmQKYXJjaCA9IGFyY2g6bG93ZXIoKQpmb3IgXywgaG9zdHR5cGUgaW4gaXBhaXJzKF82NEJpdEhvc3RUeXBlcykgZG8KaWYgYXJjaDpmaW5kKGhvc3R0eXBlKSB0aGVuCl9pczY0Yml0ID0gdHJ1ZQplbmQKZW5kCmVuZApyZXR1cm4gX2lzNjRiaXQKZW5kCmZ1bmN0aW9uIG9zLm1hdGNoKG1hc2spCm1hc2sgPSBwYXRoLm5vcm1hbGl6ZShtYXNrKQpsb2NhbCBzdGFycG9zID0gbWFzazpmaW5kKCIlKiIpCmxvY2FsIGJlZm9yZSA9IHBhdGguZ2V0ZGlyZWN0b3J5KHN0YXJwb3MgYW5kIG1hc2s6c3ViKDEsIHN0YXJwb3MgLSAxKSBvciBtYXNrKQpsb2NhbCBzbGFzaHBvcyA9IHN0YXJwb3MgYW5kIG1hc2s6ZmluZCgiLyIsIHN0YXJwb3MpCmxvY2FsIGFmdGVyID0gc2xhc2hwb3MgYW5kIG1hc2s6c3ViKHNsYXNocG9zICsgMSkKbG9jYWwgcmVjdXJzZSA9IHN0YXJwb3MgYW5kCm1hc2s6c3ViKHN0YXJwb3MgKyAxLCBzdGFycG9zICsgMSkgPT0gJyonIGFuZAooc3RhcnBvcyA9PSAxIG9yIG1hc2s6c3ViKHN0YXJwb3MgLSAxLCBzdGFycG9zIC0gMSkgPT0gJy8nKQpsb2NhbCByZXN1bHRzID0geyB9CmlmIHJlY3Vyc2UgdGhlbgpsb2NhbCBzdWJtYXNrID0gbWFzazpzdWIoMSwgc3RhcnBvcykgLi4gbWFzazpzdWIoc3RhcnBvcyArIDIpCnJlc3VsdHMgPSBvcy5tYXRjaChzdWJtYXNrKQpsb2NhbCBwYXR0ZXJuID0gbWFzazpzdWIoMSwgc3RhcnBvcykKbG9jYWwgbSA9IG9zLm1hdGNoc3RhcnQocGF0dGVybikKd2hpbGUgb3MubWF0Y2huZXh0KG0pIGRvCmlmIG5vdCBvcy5tYXRjaGlzZmlsZShtKSB0aGVuCmxvY2FsIG1hdGNocGF0aCA9IHBhdGguam9pbihiZWZvcmUsIG9zLm1hdGNobmFtZShtKSwgbWFzazpzdWIoc3RhcnBvcykpCnJlc3VsdHMgPSB0YWJsZS5qb2luKHJlc3VsdHMsIG9zLm1hdGNoKG1hdGNocGF0aCkpCmVuZAplbmQKb3MubWF0Y2hkb25lKG0pCmVsc2UKbG9jYWwgcGF0dGVybiA9IG1hc2s6c3ViKDEsIHNsYXNocG9zIGFuZCBzbGFzaHBvcyAtIDEpCmxvY2FsIG0gPSBvcy5tYXRjaHN0YXJ0KHBhdHRlcm4pCndoaWxlIG9zLm1hdGNobmV4dChtKSBkbwppZiBub3QgKHNsYXNocG9zIGFuZCBvcy5tYXRjaGlzZmlsZShtKSkgdGhlbgpsb2NhbCBtYXRjaHBhdGggPSBwYXRoLmpvaW4oYmVmb3JlLCBtYXRjaHBhdGgsIG9zLm1hdGNobmFtZShtKSkKaWYgYWZ0ZXIgdGhlbgpyZXN1bHRzID0gdGFibGUuam9pbihyZXN1bHRzLCBvcy5tYXRjaChwYXRoLmpvaW4obWF0Y2hwYXRoLCBhZnRlcikpKQplbHNlCnRhYmxlLmluc2VydChyZXN1bHRzLCBtYXRjaHBhdGgpCmVuZAplbmQKZW5kCm9zLm1hdGNoZG9uZShtKQplbmQKcmV0dXJuIHJlc3VsdHMKZW5kCmZ1bmN0aW9uIG9zLm1hdGNoZGlycyhtYXNrKQpsb2NhbCByZXN1bHRzID0gb3MubWF0Y2gobWFzaykKZm9yIGkgPSAjcmVzdWx0cywgMSwgLTEgZG8KaWYgbm90IG9zLmlzZGlyKHJlc3VsdHNbaV0pIHRoZW4KdGFibGUucmVtb3ZlKHJlc3VsdHMsIGkpCmVuZAplbmQKcmV0dXJuIHJlc3VsdHMKZW5kCmZ1bmN0aW9uIG9zLm1hdGNoZmlsZXMobWFzaykKbG9jYWwgcmVzdWx0cyA9IG9zLm1hdGNoKG1hc2spCmZvciBpID0gI3Jlc3VsdHMsIDEsIC0xIGRvCmlmIG5vdCBvcy5pc2ZpbGUocmVzdWx0c1tpXSkgdGhlbgp0YWJsZS5yZW1vdmUocmVzdWx0cywgaSkKZW5kCmVuZApyZXR1cm4gcmVzdWx0cwplbmQKbG9jYWwgYnVpbHRpbl9ta2RpciA9IG9zLm1rZGlyCmZ1bmN0aW9uIG9zLm1rZGlyKHApCnAgPSBwYXRoLm5vcm1hbGl6ZShwKQpsb2NhbCBkaXIgPSBpaWYocDpzdGFydHN3aXRoKCIvIiksICIvIiwgIiIpCmZvciBwYXJ0IGluIHA6Z21hdGNoKCJbXi9dKyIpIGRvCmRpciA9IGRpciAuLiBwYXJ0CmlmIChwYXJ0IH49ICIiIGFuZCBub3QgcGF0aC5pc2Fic29sdXRlKHBhcnQpIGFuZCBub3Qgb3MuaXNkaXIoZGlyKSkgdGhlbgpsb2NhbCBvaywgZXJyID0gYnVpbHRpbl9ta2RpcihkaXIpCmlmIChub3Qgb2spIHRoZW4KcmV0dXJuIG5pbCwgZXJyCmVuZAplbmQKZGlyID0gZGlyIC4uICIvIgplbmQKcmV0dXJuIHRydWUKZW5kCmZ1bmN0aW9uIG9zLm91dHB1dG9mKGNtZCkKY21kID0gcGF0aC5ub3JtYWxpemUoY21kKQpsb2NhbCBwaXBlID0gaW8ucG9wZW4oY21kIC4uICIgMj4mMSIpCmxvY2FsIHJlc3VsdCA9IHBpcGU6cmVhZCgnKmEnKQpsb2NhbCBzdWNjZXNzLCB3aGF0LCBjb2RlID0gcGlwZTpjbG9zZSgpCmlmIHN1Y2Nlc3MgdGhlbgppZiByZXN1bHQgdGhlbgpyZXN1bHQgPSBzdHJpbmcuZ3N1YihyZXN1bHQsICJbXHJcbl0rJCIsICIiKQplbmQKcmV0dXJuIHJlc3VsdCwgY29kZSwgd2hhdAplbHNlCnJldHVybiBuaWwsIGNvZGUsIHdoYXQKZW5kCmVuZApsb2NhbCBidWlsdGluX3JlbW92ZSA9IG9zLnJlbW92ZQpmdW5jdGlvbiBvcy5yZW1vdmUoZikKaWYgdHlwZShmKSA9PSAic3RyaW5nIiB0aGVuCmxvY2FsIHAgPSBvcy5tYXRjaGZpbGVzKGYpCmZvciBfLCB2IGluIHBhaXJzKHApIGRvCmxvY2FsIG9rLCBlcnIgPSBidWlsdGluX3JlbW92ZSh2KQppZiBub3Qgb2sgdGhlbgpyZXR1cm4gb2ssIGVycgplbmQKZW5kCmVsc2VpZiB0eXBlKGYpID09ICJ0YWJsZSIgdGhlbgpmb3IgXywgdiBpbiBwYWlycyhmKSBkbwpsb2NhbCBvaywgZXJyID0gb3MucmVtb3ZlKHYpCmlmIG5vdCBvayB0aGVuCnJldHVybiBvaywgZXJyCmVuZAplbmQKZW5kCmVuZApsb2NhbCBidWlsdGluX3JtZGlyID0gb3Mucm1kaXIKZnVuY3Rpb24gb3Mucm1kaXIocCkKbG9jYWwgZGlycyA9IG9zLm1hdGNoZGlycyhwIC4uICIvKiIpCmZvciBfLCBkbmFtZSBpbiBpcGFpcnMoZGlycykgZG8Kb3Mucm1kaXIoZG5hbWUpCmVuZApsb2NhbCBmaWxlcyA9IG9zLm1hdGNoZmlsZXMocCAuLiAiLyoiKQpmb3IgXywgZm5hbWUgaW4gaXBhaXJzKGZpbGVzKSBkbwpvcy5yZW1vdmUoZm5hbWUpCmVuZApidWlsdGluX3JtZGlyKHApCmVuZApwcmVtYWtlLm92ZXJyaWRlKG9zLCAic3RhdCIsIGZ1bmN0aW9uKGJhc2UsIHApCnAgPSBwYXRoLm5vcm1hbGl6ZShwKQpyZXR1cm4gYmFzZShwKQplbmQpCm9zLmNvbW1hbmRUb2tlbnMgPSB7Cl8gPSB7CmNoZGlyID0gZnVuY3Rpb24odikKcmV0dXJuICJjZCAiIC4uIHBhdGgubm9ybWFsaXplKHYpCmVuZCwKY29weSA9IGZ1bmN0aW9uKHYpCnJldHVybiAiY3AgLXJmICIgLi4gcGF0aC5ub3JtYWxpemUodikKZW5kLApkZWxldGUgPSBmdW5jdGlvbih2KQpyZXR1cm4gInJtIC1mICIgLi4gcGF0aC5ub3JtYWxpemUodikKZW5kLAplY2hvID0gZnVuY3Rpb24odikKcmV0dXJuICJlY2hvICIgLi4gdgplbmQsCm1rZGlyID0gZnVuY3Rpb24odikKcmV0dXJuICJta2RpciAtcCAiIC4uIHBhdGgubm9ybWFsaXplKHYpCmVuZCwKbW92ZSA9IGZ1bmN0aW9uKHYpCnJldHVybiAibXYgLWYgIiAuLiBwYXRoLm5vcm1hbGl6ZSh2KQplbmQsCnJtZGlyID0gZnVuY3Rpb24odikKcmV0dXJuICJybSAtcmYgIiAuLiBwYXRoLm5vcm1hbGl6ZSh2KQplbmQsCnRvdWNoID0gZnVuY3Rpb24odikKcmV0dXJuICJ0b3VjaCAiIC4uIHBhdGgubm9ybWFsaXplKHYpCmVuZCwKfSwKd2luZG93cyA9IHsKY2hkaXIgPSBmdW5jdGlvbih2KQpyZXR1cm4gImNoZGlyICIgLi4gcGF0aC50cmFuc2xhdGUocGF0aC5ub3JtYWxpemUodikpCmVuZCwKY29weSA9IGZ1bmN0aW9uKHYpCnYgPSBwYXRoLnRyYW5zbGF0ZShwYXRoLm5vcm1hbGl6ZSh2KSkKbG9jYWwgc3JjID0gc3RyaW5nLm1hdGNoKHYsICdeIi4tIicpIG9yIHN0cmluZy5tYXRjaCh2LCAnXi4tICcpIG9yIHYKc3JjID0gc3RyaW5nLm1hdGNoKHNyYywgJ14uKiVTJykKcmV0dXJuICJJRiBFWElTVCAiIC4uIHNyYyAuLiAiXFwgKHhjb3B5IC9RIC9FIC9ZIC9JICIgLi4gdiAuLiAiID4gbnVsKSBFTFNFICh4Y29weSAvUSAvWSAvSSAiIC4uIHYgLi4gIiA+IG51bCkiCmVuZCwKZGVsZXRlID0gZnVuY3Rpb24odikKcmV0dXJuICJkZWwgIiAuLiBwYXRoLnRyYW5zbGF0ZShwYXRoLm5vcm1hbGl6ZSh2KSkKZW5kLAplY2hvID0gZnVuY3Rpb24odikKcmV0dXJuICJlY2hvICIgLi4gdgplbmQsCm1rZGlyID0gZnVuY3Rpb24odikKdiA9IHBhdGgudHJhbnNsYXRlKHBhdGgubm9ybWFsaXplKHYpKQpyZXR1cm4gIklGIE5PVCBFWElTVCAiIC4uIHYgLi4gIiAobWtkaXIgIiAuLiB2IC4uICIpIgplbmQsCm1vdmUgPSBmdW5jdGlvbih2KQpyZXR1cm4gIm1vdmUgL1kgIiAuLiBwYXRoLnRyYW5zbGF0ZShwYXRoLm5vcm1hbGl6ZSh2KSkKZW5kLApybWRpciA9IGZ1bmN0aW9uKHYpCnJldHVybiAicm1kaXIgL1MgL1EgIiAuLiBwYXRoLnRyYW5zbGF0ZShwYXRoLm5vcm1hbGl6ZSh2KSkKZW5kLAp0b3VjaCA9IGZ1bmN0aW9uKHYpCnYgPSBwYXRoLnRyYW5zbGF0ZShwYXRoLm5vcm1hbGl6ZSh2KSkKcmV0dXJuIHN0cmluZy5mb3JtYXQoInR5cGUgbnVsID4+ICVzICYmIGNvcHkgL2IgJXMrLCwgJXMiLCB2LCB2LCB2KQplbmQsCn0KfQpmdW5jdGlvbiBvcy50cmFuc2xhdGVDb21tYW5kcyhjbWQsIG1hcCkKbWFwID0gbWFwIG9yIG9zLnRhcmdldCgpCmlmIHR5cGUobWFwKSA9PSAic3RyaW5nIiB0aGVuCm1hcCA9IG9zLmNvbW1hbmRUb2tlbnNbbWFwXSBvciBvcy5jb21tYW5kVG9rZW5zWyJfIl0KZW5kCmxvY2FsIHByb2Nlc3NPbmUgPSBmdW5jdGlvbihjbWQpCmxvY2FsIGksIGosIHByZXYKcmVwZWF0CmksIGogPSBjbWQ6ZmluZCgiey4tfSIpCmlmIGkgdGhlbgppZiBpID09IHByZXYgdGhlbgpicmVhawplbmQKbG9jYWwgdG9rZW4gPSBjbWQ6c3ViKGkgKyAxLCBqIC0gMSk6bG93ZXIoKQpsb2NhbCBhcmdzID0gY21kOnN1YihqICsgMikKbG9jYWwgZnVuYyA9IG1hcFt0b2tlbl0gb3Igb3MuY29tbWFuZFRva2Vuc1siXyJdW3Rva2VuXQppZiBmdW5jIHRoZW4KY21kID0gY21kOnN1YigxLCBpIC0xKSAuLiBmdW5jKGFyZ3MpCmVuZApwcmV2ID0gaQplbmQKdW50aWwgaSA9PSBuaWwKcmV0dXJuIGNtZAplbmQKaWYgdHlwZShjbWQpID09ICJ0YWJsZSIgdGhlbgpsb2NhbCByZXN1bHQgPSB7fQpmb3IgaSA9IDEsICNjbWQgZG8KcmVzdWx0W2ldID0gcHJvY2Vzc09uZShjbWRbaV0pCmVuZApyZXR1cm4gcmVzdWx0CmVsc2UKcmV0dXJuIHByb2Nlc3NPbmUoY21kKQplbmQKZW5kCmZ1bmN0aW9uIG9zLnRyYW5zbGF0ZUNvbW1hbmRBbmRQYXRoKGRpciwgbWFwKQppZiBtYXAgPT0gJ3dpbmRvd3MnIHRoZW4KcmV0dXJuIHBhdGgudHJhbnNsYXRlKGRpcikKZW5kCnJldHVybiBkaXIKZW5kCmZ1bmN0aW9uIG9zLnRyYW5zbGF0ZUNvbW1hbmRzQW5kUGF0aHMoY21kcywgYmFzZWRpciwgbG9jYXRpb24sIG1hcCkKbG9jYWwgdHJhbnNsYXRlZEJhc2VEaXIgPSBwYXRoLmdldHJlbGF0aXZlKGxvY2F0aW9uLCBiYXNlZGlyKQptYXAgPSBtYXAgb3Igb3MudGFyZ2V0KCkKbG9jYWwgdHJhbnNsYXRlRnVuY3Rpb24gPSBmdW5jdGlvbih2YWx1ZSkKbG9jYWwgcmVzdWx0ID0gcGF0aC5qb2luKHRyYW5zbGF0ZWRCYXNlRGlyLCB2YWx1ZSkKcmVzdWx0ID0gb3MudHJhbnNsYXRlQ29tbWFuZEFuZFBhdGgocmVzdWx0LCBtYXApCmlmIHZhbHVlOmVuZHN3aXRoKCcvJykgb3IgdmFsdWU6ZW5kc3dpdGgoJ1xcJykgb3IgLS0gaWYgb3JnaW5hbCBwYXRoIGVuZHMgd2l0aCBhIHNsYXNoIHRoZW4gZW5zdXJlIHRoZSBzYW1lCiAgIHZhbHVlOmVuZHN3aXRoKCcvIicpIG9yIHZhbHVlOmVuZHN3aXRoKCdcXCInKSB0aGVuCnJlc3VsdCA9IHJlc3VsdCAuLiAnLycKZW5kCnJldHVybiByZXN1bHQKZW5kCmxvY2FsIHByb2Nlc3NPbmUgPSBmdW5jdGlvbihjbWQpCmxvY2FsIHJlcGxhY2VGdW5jdGlvbiA9IGZ1bmN0aW9uKHZhbHVlKQp2YWx1ZSA9IHZhbHVlOnN1YigzLCAjdmFsdWUgLSAxKQpyZXR1cm4gJyInIC4uIHRyYW5zbGF0ZUZ1bmN0aW9uKHZhbHVlKSAuLiAnIicKZW5kCnJldHVybiBzdHJpbmcuZ3N1YihjbWQsICIlJSVbW14lXVxyXG5dKiVdIiwgcmVwbGFjZUZ1bmN0aW9uKQplbmQKaWYgdHlwZShjbWRzKSA9PSAidGFibGUiIHRoZW4KbG9jYWwgcmVzdWx0ID0ge30KZm9yIGkgPSAxLCAjY21kcyBkbwpyZXN1bHRbaV0gPSBwcm9jZXNzT25lKGNtZHNbaV0pCmVuZApyZXR1cm4gb3MudHJhbnNsYXRlQ29tbWFuZHMocmVzdWx0LCBtYXApCmVsc2UKcmV0dXJuIG9zLnRyYW5zbGF0ZUNvbW1hbmRzKHByb2Nlc3NPbmUoY21kcyksIG1hcCkKZW5kCmVuZApvcy5fdXVpZHMgPSB7fQpsb2NhbCBidWlsdGluX3V1aWQgPSBvcy51dWlkCmZ1bmN0aW9uIG9zLnV1aWQobmFtZSkKbG9jYWwgaWQgPSBidWlsdGluX3V1aWQobmFtZSkKaWYgbmFtZSB0aGVuCmlmIG9zLl91dWlkc1tpZF0gYW5kIG9zLl91dWlkc1tpZF0gfj0gbmFtZSB0aGVuCnByZW1ha2Uud2Fybk9uY2UoaWQsICJVVUlEIGNsYXNoIGJldHdlZW4gJXMgYW5kICVzIiwgb3MuX3V1aWRzW2lkXSwgbmFtZSkKZW5kCm9zLl91dWlkc1tpZF0gPSBuYW1lCmVuZApyZXR1cm4gaWQKZW5kCm9zLnN5c3RlbVRhZ3MgPQp7ClsiYWl4Il0gICAgICA9IHsgImFpeCIsICAgICAicG9zaXgiIH0sClsiYnNkIl0gICAgICA9IHsgImJzZCIsICAgICAicG9zaXgiIH0sClsiaGFpa3UiXSAgICA9IHsgImhhaWt1IiwgICAicG9zaXgiIH0sClsiaW9zIl0gICAgICA9IHsgImlvcyIsICAgICAiZGFyd2luIiwgInBvc2l4IiwgIm1vYmlsZSIgfSwKWyJsaW51eCJdICAgID0geyAibGludXgiLCAgICJwb3NpeCIgfSwKWyJtYWNvc3giXSAgID0geyAibWFjb3N4IiwgICJkYXJ3aW4iLCAicG9zaXgiIH0sClsic29sYXJpcyJdICA9IHsgInNvbGFyaXMiLCAicG9zaXgiIH0sClsid2luZG93cyJdICA9IHsgIndpbmRvd3MiLCAid2luMzIiIH0sCn0KZnVuY3Rpb24gb3MuZ2V0U3lzdGVtVGFncyhuYW1lKQpyZXR1cm4gb3Muc3lzdGVtVGFnc1tuYW1lOmxvd2VyKCldIG9yIHsgbmFtZTpsb3dlcigpIH0KZW5kCszfSQC0gVMAAAAAAGxvY2FsIHAgPSBwcmVtYWtlCnAudnN0dWRpby52czIwMTAucnVsZXMudGFyZ2V0cyA9IHt9CmxvY2FsIG0gPSBwLnZzdHVkaW8udnMyMDEwLnJ1bGVzLnRhcmdldHMKbS5lbGVtZW50cyA9IHt9Cm0uZWxlbWVudHMucHJvamVjdCA9IGZ1bmN0aW9uKHIpCnJldHVybiB7CnAudnN0dWRpby5wcm9qZWN0RWxlbWVudCwKbS5hdmFpbGFibGVJdGVtR3JvdXAsCm0uY29tcHV0ZWRQcm9wZXJ0aWVzLAptLmNvbXB1dGVJbnB1dHNHcm91cCwKbS51c2luZ1Rhc2ssCm0ucnVsZVRhcmdldCwKbS5jb21wdXRlT3V0cHV0VGFyZ2V0LAp9CmVuZApmdW5jdGlvbiBtLmdlbmVyYXRlKHIpCnAueG1sVXRmOCgpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMucHJvamVjdCwgcikKcC5wb3AoKQpwLm91dCgnPC9Qcm9qZWN0PicpCmVuZAptLmVsZW1lbnRzLmF2YWlsYWJsZUl0ZW1Hcm91cCA9IGZ1bmN0aW9uKHIpCnJldHVybiB7Cm0ucHJvcGVydHlQYWdlU2NoZW1hLAptLmF2YWlsYWJsZUl0ZW1OYW1lLAp9CmVuZApmdW5jdGlvbiBtLmF2YWlsYWJsZUl0ZW1Hcm91cChyKQpwLnB1c2goJzxJdGVtR3JvdXA+JykKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5hdmFpbGFibGVJdGVtR3JvdXAsIHIpCnAucG9wKCc8L0l0ZW1Hcm91cD4nKQplbmQKZnVuY3Rpb24gbS5jb21wdXRlZFByb3BlcnRpZXMocikKbG9jYWwgcGF0aFZhcnMgPSBwLnJ1bGUuY3JlYXRlUGF0aFZhcnMociwgIiUlKCVzKSIpCmxvY2FsIGN0eCA9IHAuY29udGV4dC5leHRlbnQociwgeyBwYXRoVmFycyA9IHBhdGhWYXJzLCBvdmVycmlkZVBhdGhWYXJzID0gdHJ1ZSB9KQpsb2NhbCBidWlsZG91dHB1dHMgPSBjdHguYnVpbGRvdXRwdXRzCmlmIGJ1aWxkb3V0cHV0cyBhbmQgI2J1aWxkb3V0cHV0cyA+IDAgdGhlbgpsb2NhbCBvdXRwdXRzID0gdGFibGUuY29uY2F0KGJ1aWxkb3V0cHV0cywgIjsiKQpwLnB1c2goJzxJdGVtRGVmaW5pdGlvbkdyb3VwPicpCnAucHVzaCgnPCVzPicsIHIubmFtZSkKcC54KCc8T3V0cHV0cz4lczwvT3V0cHV0cz4nLCBwYXRoLnRyYW5zbGF0ZShvdXRwdXRzKSkKcC5wb3AoJzwvJXM+Jywgci5uYW1lKQpwLnBvcCgnPC9JdGVtRGVmaW5pdGlvbkdyb3VwPicpCmVuZAplbmQKbS5lbGVtZW50cy5jb21wdXRlSW5wdXRzR3JvdXAgPSBmdW5jdGlvbihyKQpyZXR1cm4gewptLmNvbXB1dGVDb21waWxlSW5wdXRzVGFyZ2V0cywKbS5jb21wdXRlTGlua0lucHV0c1RhcmdldHMsCm0uY29tcHV0ZUxpYklucHV0c1RhcmdldHMsCn0KZW5kCmZ1bmN0aW9uIG0uY29tcHV0ZUlucHV0c0dyb3VwKHIpCnAucHVzaCgnPFByb3BlcnR5R3JvdXA+JykKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5jb21wdXRlSW5wdXRzR3JvdXAsIHIpCnAucG9wKCc8L1Byb3BlcnR5R3JvdXA+JykKZW5kCm0uZWxlbWVudHMucnVsZVRhcmdldEF0dHJpYnV0ZXMgPSBmdW5jdGlvbihyKQpyZXR1cm4gewptLnRhcmdldE5hbWUsCm0uYmVmb3JlVGFyZ2V0cywKbS5hZnRlclRhcmdldHMsCm0udGFyZ2V0Q29uZGl0aW9uLAptLnRhcmdldE91dHB1dHMsCm0udGFyZ2V0SW5wdXRzLAptLmRlcGVuZHNPblRhcmdldHMsCn0KZW5kCm0uZWxlbWVudHMucnVsZVRhcmdldCA9IGZ1bmN0aW9uKHIpCnJldHVybiB7Cm0uc2VsZWN0ZWRGaWxlcywKbS50bG9nLAptLm1lc3NhZ2UsCm0udGxvZ1dyaXRlLAptLnRsb2dSZWFkLAptLnJ1bGUsCn0KZW5kCmZ1bmN0aW9uIG0ucnVsZVRhcmdldChyKQpsb2NhbCBhdHRyaWJzID0gcC5jYXB0dXJlKGZ1bmN0aW9uKCkKcC5wdXNoKCkKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5ydWxlVGFyZ2V0QXR0cmlidXRlcywgcikKcC5wb3AoKQplbmQpCnAucHVzaCgnPFRhcmdldCcpCnAub3V0bG4oYXR0cmlicyAuLiAnPicpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMucnVsZVRhcmdldCwgcikKcC5wb3AoJzwvVGFyZ2V0PicpCmVuZAptLmVsZW1lbnRzLnRsb2cgPSBmdW5jdGlvbihyKQpyZXR1cm4gewptLnRsb2dTb3VyY2UsCm0udGxvZ0lucHV0cywKbS50bG9nUHJvcGVydGllcywKfQplbmQKZnVuY3Rpb24gbS50bG9nKHIpCnAucHVzaCgnPEl0ZW1Hcm91cD4nKQpwLnB1c2goJzwlc190bG9nJywgci5uYW1lKQpwLncoJ0luY2x1ZGU9IiUlKCVzLk91dHB1dHMpIicsIHIubmFtZSkKcC53KCdDb25kaXRpb249IlwnJSUoJXMuT3V0cHV0cylcJyAhPSBcJ1wnIGFuZCBcJyUlKCVzLkV4Y2x1ZGVkRnJvbUJ1aWxkKVwnICE9IFwndHJ1ZVwnIj4nLCByLm5hbWUsIHIubmFtZSkKcC5jYWxsQXJyYXkobS5lbGVtZW50cy50bG9nLCByKQpwLnBvcCgnPC8lc190bG9nPicsIHIubmFtZSkKcC5wb3AoJzwvSXRlbUdyb3VwPicpCmVuZAptLmVsZW1lbnRzLnJ1bGVBdHRyaWJ1dGVzID0gZnVuY3Rpb24ocikKcmV0dXJuIHsKbS5ydWxlQ29uZGl0aW9uLAptLmNvbW1hbmRMaW5lVGVtcGxhdGUsCm0ucHJvcGVydGllcywKbS5hZGRpdGlvbmFsT3B0aW9ucywKbS5pbnB1dHMsCm0uc3RhbmRhcmRPdXRwdXRJbXBvcnRhbmNlLAp9CmVuZApmdW5jdGlvbiBtLnJ1bGUocikKbG9jYWwgYXR0cmlicyA9IHAuY2FwdHVyZShmdW5jdGlvbigpCnAucHVzaCgpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMucnVsZUF0dHJpYnV0ZXMsIHIpCnAucG9wKCkKZW5kKQpwLncoJzwlcycsIHIubmFtZSkKcC5vdXRsbihhdHRyaWJzIC4uICcgLz4nKQplbmQKbS5lbGVtZW50cy5jb21wdXRlT3V0cHV0SXRlbXMgPSBmdW5jdGlvbihyKQpyZXR1cm4gewptLm91dHB1dHMsCm0ubGlua0xpYiwKfQplbmQKbS5lbGVtZW50cy5jb21wdXRlT3V0cHV0VGFyZ2V0ID0gZnVuY3Rpb24ocikKcmV0dXJuIHsKbS5tYWtlRGlyLAp9CmVuZApmdW5jdGlvbiBtLmNvbXB1dGVPdXRwdXRUYXJnZXQocikKcC5wdXNoKCc8VGFyZ2V0JykKcC53KCdOYW1lPSJDb21wdXRlJXNPdXRwdXQiJywgci5uYW1lKQpwLncoJ0NvbmRpdGlvbj0iXCdAKCVzKVwnICE9IFwnXCciPicsIHIubmFtZSkKcC5wdXNoKCc8SXRlbUdyb3VwPicpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMuY29tcHV0ZU91dHB1dEl0ZW1zLCByKQpwLnBvcCgnPC9JdGVtR3JvdXA+JykKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5jb21wdXRlT3V0cHV0VGFyZ2V0LCByKQpwLnBvcCgnPC9UYXJnZXQ+JykKZW5kCmZ1bmN0aW9uIG0uYWRkaXRpb25hbE9wdGlvbnMocikKcC53KCdBZGRpdGlvbmFsT3B0aW9ucz0iJSUoJXMuQWRkaXRpb25hbE9wdGlvbnMpIicsIHIubmFtZSkKZW5kCmZ1bmN0aW9uIG0uY29tbWFuZExpbmVUZW1wbGF0ZShyKQpwLncoJ0NvbW1hbmRMaW5lVGVtcGxhdGU9IiUlKCVzLkNvbW1hbmRMaW5lVGVtcGxhdGUpIicsIHIubmFtZSkKZW5kCmZ1bmN0aW9uIG0uYWZ0ZXJUYXJnZXRzKHIpCnAudygnQWZ0ZXJUYXJnZXRzPSIkKCVzQWZ0ZXJUYXJnZXRzKSInLCByLm5hbWUpCmVuZApmdW5jdGlvbiBtLmF2YWlsYWJsZUl0ZW1OYW1lKHIpCnAucHVzaCgnPEF2YWlsYWJsZUl0ZW1OYW1lIEluY2x1ZGU9IiVzIj4nLCByLm5hbWUpCnAudygnPFRhcmdldHM+XyVzPC9UYXJnZXRzPicsIHIubmFtZSkKcC5wb3AoJzwvQXZhaWxhYmxlSXRlbU5hbWU+JykKZW5kCmZ1bmN0aW9uIG0uYmVmb3JlVGFyZ2V0cyhyKQpwLncoJ0JlZm9yZVRhcmdldHM9IiQoJXNCZWZvcmVUYXJnZXRzKSInLCByLm5hbWUpCmVuZApmdW5jdGlvbiBtLmNvbXB1dGVMaWJJbnB1dHNUYXJnZXRzKHIpCnAucHVzaCgnPENvbXB1dGVMaWJJbnB1dHNUYXJnZXRzPicpCnAudygnJChDb21wdXRlTGliSW5wdXRzVGFyZ2V0cyk7JykKcC53KCdDb21wdXRlJXNPdXRwdXQ7Jywgci5uYW1lKQpwLnBvcCgnPC9Db21wdXRlTGliSW5wdXRzVGFyZ2V0cz4nKQplbmQKZnVuY3Rpb24gbS5jb21wdXRlTGlua0lucHV0c1RhcmdldHMocikKcC5wdXNoKCc8Q29tcHV0ZUxpbmtJbnB1dHNUYXJnZXRzPicpCnAudygnJChDb21wdXRlTGlua0lucHV0c1RhcmdldHMpOycpCnAudygnQ29tcHV0ZSVzT3V0cHV0OycsIHIubmFtZSkKcC5wb3AoJzwvQ29tcHV0ZUxpbmtJbnB1dHNUYXJnZXRzPicpCmVuZApmdW5jdGlvbiBtLmNvbXB1dGVDb21waWxlSW5wdXRzVGFyZ2V0cyhyKQpwLnB1c2goJzxDb21wdXRlQ29tcGlsZUlucHV0c1RhcmdldHM+JykKcC53KCckKENvbXB1dGVDb21waWxlSW5wdXRzVGFyZ2V0cyk7JykKcC53KCdDb21wdXRlJXNPdXRwdXQ7Jywgci5uYW1lKQpwLnBvcCgnPC9Db21wdXRlQ29tcGlsZUlucHV0c1RhcmdldHM+JykKZW5kCmZ1bmN0aW9uIG0uZGVwZW5kc09uVGFyZ2V0cyhyKQpwLncoJ0RlcGVuZHNPblRhcmdldHM9IiQoJXNEZXBlbmRzT24pO0NvbXB1dGUlc091dHB1dCInLCByLm5hbWUsIHIubmFtZSkKZW5kCmZ1bmN0aW9uIG0uaW5wdXRzKHIpCnAudygnSW5wdXRzPSIlJSglcy5JZGVudGl0eSkiJywgci5uYW1lKQplbmQKZnVuY3Rpb24gbS5saW5rTGliKHIpCmxvY2FsIHBhdGhWYXJzID0gcC5ydWxlLmNyZWF0ZVBhdGhWYXJzKHIsICIlJSglcykiKQpsb2NhbCBjdHggPSBwLmNvbnRleHQuZXh0ZW50KHIsIHsgcGF0aFZhcnMgPSBwYXRoVmFycywgb3ZlcnJpZGVQYXRoVmFycz10cnVlIH0pCmxvY2FsIGJ1aWxkb3V0cHV0cyA9IGN0eC5idWlsZG91dHB1dHMKbG9jYWwgbGlua2FibGUsIGNvbXBpbGVhYmxlCmZvciBpID0gMSwgI2J1aWxkb3V0cHV0cyBkbwppZiAocGF0aC5pc2xpbmthYmxlKGJ1aWxkb3V0cHV0c1tpXSkpIHRoZW4KbGlua2FibGUgPSB0cnVlCmVuZAppZiAocGF0aC5pc2NwcGZpbGUoYnVpbGRvdXRwdXRzW2ldKSkgdGhlbgpjb21waWxlYWJsZSA9IHRydWUKZW5kCmVuZAppZiBsaW5rYWJsZSB0aGVuCmZvciBpLCBlbCBpbiBwYWlycyB7ICdMaW5rJywgJ0xpYicsICdJbXBMaWInIH0gZG8KcC5wdXNoKCc8JXMnLCBlbCkKcC53KCdJbmNsdWRlPSIlJSglc091dHB1dHMuSWRlbnRpdHkpIicsIHIubmFtZSkKcC53KCdDb25kaXRpb249IlwnJSUoRXh0ZW5zaW9uKVwnPT1cJy5vYmpcJyBvciBcJyUlKEV4dGVuc2lvbilcJz09XCcucmVzXCcgb3IgXCclJShFeHRlbnNpb24pXCc9PVwnLnJzY1wnIG9yIFwnJSUoRXh0ZW5zaW9uKVwnPT1cJy5saWJcJyIgLz4nKQpwLnBvcCgpCmVuZAplbmQKaWYgY29tcGlsZWFibGUgdGhlbgpwLnB1c2goJzxDbENvbXBpbGUnLCBlbCkKcC53KCdJbmNsdWRlPSIlJSglc091dHB1dHMuSWRlbnRpdHkpIicsIHIubmFtZSkKcC53KCdDb25kaXRpb249IlwnJSUoRXh0ZW5zaW9uKVwnPT1cJy5jY1wnIG9yIFwnJSUoRXh0ZW5zaW9uKVwnPT1cJy5jcHBcJyBvciBcJyUlKEV4dGVuc2lvbilcJz09XCcuY3h4XCcgb3IgXCclJShFeHRlbnNpb24pXCc9PVwnLmNcJyIgLz4nKQpwLnBvcCgpCmVuZAplbmQKZnVuY3Rpb24gbS5tYWtlRGlyKHIpCnAudygnPE1ha2VEaXIgRGlyZWN0b3JpZXM9IkAoJXNPdXRwdXRzLT5cJyUlKFJvb3REaXIpJSUoRGlyZWN0b3J5KVwnKSIgLz4nLCByLm5hbWUpCmVuZApmdW5jdGlvbiBtLm1lc3NhZ2UocikKcC53KCc8TWVzc2FnZScpCnAudygnICBJbXBvcnRhbmNlPSJIaWdoIicpCnAudygnICBUZXh0PSIlJSglcy5FeGVjdXRpb25EZXNjcmlwdGlvbikiIC8+Jywgci5uYW1lKQplbmQKZnVuY3Rpb24gbS5vdXRwdXRzKHIpCnAudygnPCVzT3V0cHV0cycsIHIubmFtZSkKcC53KCcgIENvbmRpdGlvbj0iXCdAKCVzKVwnICE9IFwnXCcgYW5kIFwnJSUoJXMuRXhjbHVkZWRGcm9tQnVpbGQpXCcgIT0gXCd0cnVlXCciJywgci5uYW1lLCByLm5hbWUpCnAudygnICBJbmNsdWRlPSIlJSglcy5PdXRwdXRzKSIgLz4nLCByLm5hbWUpCmVuZApmdW5jdGlvbiBtLnByb3BlcnRpZXMocikKbG9jYWwgZGVmcyA9IHIucHJvcGVydHlkZWZpbml0aW9uCmZvciBpID0gMSwgI2RlZnMgZG8KbG9jYWwgbmFtZSA9IGRlZnNbaV0ubmFtZQpwLncoJyVzPSIlJSglcy4lcykiJywgbmFtZSwgci5uYW1lLCBuYW1lKQplbmQKZW5kCmZ1bmN0aW9uIG0ucHJvcGVydHlQYWdlU2NoZW1hKHIpCnAudygnPFByb3BlcnR5UGFnZVNjaGVtYScpCnAudygnICBJbmNsdWRlPSIkKE1TQnVpbGRUaGlzRmlsZURpcmVjdG9yeSkkKE1TQnVpbGRUaGlzRmlsZU5hbWUpLnhtbCIgLz4nKQplbmQKZnVuY3Rpb24gbS5ydWxlQ29uZGl0aW9uKHIpCnAudygnQ29uZGl0aW9uPSJcJ0AoJXMpXCcgIT0gXCdcJyBhbmQgXCclJSglcy5FeGNsdWRlZEZyb21CdWlsZClcJyAhPSBcJ3RydWVcJyInLCByLm5hbWUsIHIubmFtZSkKZW5kCmZ1bmN0aW9uIG0uc2VsZWN0ZWRGaWxlcyhyKQpwLnB1c2goJzxJdGVtR3JvdXAgQ29uZGl0aW9uPSJcJ0AoU2VsZWN0ZWRGaWxlcylcJyAhPSBcJ1wnIj4nKQpwLncoJzwlcyBSZW1vdmU9IkAoJXMpIiBDb25kaXRpb249IlwnJSUoSWRlbnRpdHkpXCcgIT0gXCdAKFNlbGVjdGVkRmlsZXMpXCciIC8+Jywgci5uYW1lLCByLm5hbWUpCnAucG9wKCc8L0l0ZW1Hcm91cD4nKQplbmQKZnVuY3Rpb24gbS5zdGFuZGFyZE91dHB1dEltcG9ydGFuY2UocikKcC53KCdTdGFuZGFyZE91dHB1dEltcG9ydGFuY2U9IkhpZ2giJykKcC53KCdTdGFuZGFyZEVycm9ySW1wb3J0YW5jZT0iSGlnaCInKQplbmQKZnVuY3Rpb24gbS50YXJnZXRDb25kaXRpb24ocikKcC53KCdDb25kaXRpb249IlwnQCglcylcJyAhPSBcJ1wnIicsIHIubmFtZSkKZW5kCmZ1bmN0aW9uIG0udGFyZ2V0SW5wdXRzKHIpCmxvY2FsIGV4dHJhID0ge30KbG9jYWwgZGVmcyA9IHIucHJvcGVydHlkZWZpbml0aW9uCmZvciBpID0gMSwgI2RlZnMgZG8KbG9jYWwgZGVmID0gZGVmc1tpXQppZiBkZWYuZGVwZW5kZW5jeSB0aGVuCnRhYmxlLmluc2VydChleHRyYSwgc3RyaW5nLmZvcm1hdCgiJSUoJXMuJXMpOyIsIHIubmFtZSwgZGVmLm5hbWUpKQplbmQKZW5kCmV4dHJhID0gdGFibGUuY29uY2F0KGV4dHJhKQpwLncoJ0lucHV0cz0iJSUoJXMuSWRlbnRpdHkpOyUlKCVzLkFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpOyVzJChNU0J1aWxkUHJvamVjdEZpbGUpIicsIHIubmFtZSwgci5uYW1lLCBleHRyYSkKZW5kCmZ1bmN0aW9uIG0udGFyZ2V0TmFtZShyKQpwLncoJ05hbWU9Il8lcyInLCByLm5hbWUpCmVuZApmdW5jdGlvbiBtLnRhcmdldE91dHB1dHMocikKcC53KCdPdXRwdXRzPSIlJSglcy5PdXRwdXRzKSInLCByLm5hbWUpCmVuZApmdW5jdGlvbiBtLnRsb2dJbnB1dHMocikKcC53KCI8SW5wdXRzPkAoJXMsICc7Jyk8L0lucHV0cz4iLCByLm5hbWUpCmVuZApmdW5jdGlvbiBtLnRsb2dQcm9wZXJ0aWVzKHIpCmxvY2FsIGRlZnMgPSByLnByb3BlcnR5ZGVmaW5pdGlvbgpmb3IgaSA9IDEsICNkZWZzIGRvCmxvY2FsIGRlZiA9IGRlZnNbaV0KaWYgZGVmLmRlcGVuZGVuY3kgdGhlbgpwLncoJzwlcz4lJSglcy4lcyk8LyVzPicsIGRlZi5uYW1lLCByLm5hbWUsIGRlZi5uYW1lLCBkZWYubmFtZSkKZW5kCmVuZAplbmQKZnVuY3Rpb24gbS50bG9nUmVhZChyKQpsb2NhbCBleHRyYSA9IHt9CmxvY2FsIGRlZnMgPSByLnByb3BlcnR5ZGVmaW5pdGlvbgpmb3IgaSA9IDEsICNkZWZzIGRvCmxvY2FsIGRlZiA9IGRlZnNbaV0KaWYgZGVmLmRlcGVuZGVuY3kgdGhlbgp0YWJsZS5pbnNlcnQoZXh0cmEsIHN0cmluZy5mb3JtYXQoIiUlKCVzX3Rsb2cuJXMpOyIsIHIubmFtZSwgZGVmLm5hbWUpKQplbmQKZW5kCmV4dHJhID0gdGFibGUuY29uY2F0KGV4dHJhKQpwLncoJzxXcml0ZUxpbmVzVG9GaWxlJykKcC53KCcgIENvbmRpdGlvbj0iXCdAKCVzX3Rsb2cpXCcgIT0gXCdcJyBhbmQgXCclJSglc190bG9nLkV4Y2x1ZGVkRnJvbUJ1aWxkKVwnICE9IFwndHJ1ZVwnIicsIHIubmFtZSwgci5uYW1lKQpwLncoJyAgRmlsZT0iJChUTG9nTG9jYXRpb24pJXMucmVhZC4xLnRsb2ciJywgci5uYW1lKQpwLncoJyAgTGluZXM9Il4lJSglc190bG9nLklucHV0cyk7JXMkKE1TQnVpbGRQcm9qZWN0RnVsbFBhdGgpOyUlKCVzX3Rsb2cuRnVsbHBhdGgpIiAvPicsIHIubmFtZSwgZXh0cmEsIHIubmFtZSkKZW5kCmZ1bmN0aW9uIG0udGxvZ1dyaXRlKHIpCnAudygnPFdyaXRlTGluZXNUb0ZpbGUnKQpwLncoJyAgQ29uZGl0aW9uPSJcJ0AoJXNfdGxvZylcJyAhPSBcJ1wnIGFuZCBcJyUlKCVzX3Rsb2cuRXhjbHVkZWRGcm9tQnVpbGQpXCcgIT0gXCd0cnVlXCciJywgci5uYW1lLCByLm5hbWUpCnAudygnICBGaWxlPSIkKFRMb2dMb2NhdGlvbiklcy53cml0ZS4xLnRsb2ciJywgci5uYW1lKQpwLncoJyAgTGluZXM9Il4lJSglc190bG9nLlNvdXJjZSk7JSUoJXNfdGxvZy5GdWxscGF0aCkiIC8+Jywgci5uYW1lLCByLm5hbWUpCmVuZApmdW5jdGlvbiBtLnRsb2dTb3VyY2UocikKcC53KCI8U291cmNlPkAoJXMsICd8Jyk8L1NvdXJjZT4iLCByLm5hbWUpCmVuZApmdW5jdGlvbiBtLnVzaW5nVGFzayhyKQpwLnB1c2goJzxVc2luZ1Rhc2snKQpwLncoJ1Rhc2tOYW1lPSIlcyInLCByLm5hbWUpCnAudygnVGFza0ZhY3Rvcnk9IlhhbWxUYXNrRmFjdG9yeSInKQpwLncoJ0Fzc2VtYmx5TmFtZT0iTWljcm9zb2Z0LkJ1aWxkLlRhc2tzLnY0LjAiPicpCnAudygnPFRhc2s+JChNU0J1aWxkVGhpc0ZpbGVEaXJlY3RvcnkpJChNU0J1aWxkVGhpc0ZpbGVOYW1lKS54bWw8L1Rhc2s+JykKcC5wb3AoJzwvVXNpbmdUYXNrPicpCmVuZAoAAGxvY2FsIHAgPSBwcmVtYWtlCnAubW9kdWxlcy5yYXcgPSB7fQpsb2NhbCBtID0gcC5tb2R1bGVzLnJhdwptLmVsZW1lbnRzID0ge30KZG9maWxlKCJfcHJlbG9hZC5sdWEiKQpkb2ZpbGUoInJhd19hY3Rpb24ubHVhIikKcmV0dXJuIG0KAAByZXR1cm4KewoiYmFzZS9fZm91bmRhdGlvbi5sdWEiLAoiYmFzZS9zdHJpbmcubHVhIiwKImJhc2UvdGFibGUubHVhIiwKImJhc2UvcGF0aC5sdWEiLAoiYmFzZS9vcy5sdWEiLAoiYmFzZS9pby5sdWEiLAoiYmFzZS90b29scy5sdWEiLAoiYmFzZS90cmVlLmx1YSIsCiJiYXNlL2dsb2JhbHMubHVhIiwKImJhc2UvbW9kdWxlZG93bmxvYWRlci5sdWEiLAoiYmFzZS9zZW12ZXIubHVhIiwKImJhc2UvaHR0cC5sdWEiLAoiYmFzZS9qc29uLmx1YSIsCiJiYXNlL2pzb253cmFwcGVyLmx1YSIsCiJiYXNlL2xhbmd1YWdlcy5sdWEiLAoiYmFzZS90ZXJtLmx1YSIsCiJiYXNlL2ZpZWxkLmx1YSIsCiJiYXNlL2NyaXRlcmlhLmx1YSIsCiJiYXNlL2RldG9rZW4ubHVhIiwKImJhc2UvY29uZmlnc2V0Lmx1YSIsCiJiYXNlL2NvbnRleHQubHVhIiwKImJhc2UvY29udGFpbmVyLmx1YSIsCiJiYXNlL29wdGlvbi5sdWEiLAoiYmFzZS9hY3Rpb24ubHVhIiwKImJhc2UvYXBpLmx1YSIsCiJiYXNlL2dsb2JhbC5sdWEiLAoiYmFzZS93b3Jrc3BhY2UubHVhIiwKImJhc2UvZ3JvdXAubHVhIiwKImJhc2UvcHJvamVjdC5sdWEiLAoiYmFzZS9jb25maWcubHVhIiwKImJhc2UvZmlsZWNvbmZpZy5sdWEiLAoiYmFzZS9ydWxlLmx1YSIsCiJiYXNlL292ZW4ubHVhIiwKImJhc2UvdmFsaWRhdGlvbi5sdWEiLAoiYmFzZS9wcmVtYWtlLmx1YSIsCiJiYXNlL2hlbHAubHVhIiwKInRvb2xzL2RvdG5ldC5sdWEiLAoidG9vbHMvZ2NjLmx1YSIsCiJ0b29scy9tc2MubHVhIiwKInRvb2xzL3NuYy5sdWEiLAoidG9vbHMvY2xhbmcubHVhIiwKImFjdGlvbnMvY2xlYW4vX2NsZWFuLmx1YSIsCiJfcHJlbWFrZV9pbml0Lmx1YSIsCn0KAAD//////////zAxMjM0NTY3ODkAAGZ1bmN0aW9uIHByZW1ha2Uuc2hvd2hlbHAoKQpwcmludGYoIlByZW1ha2UgJXMsIGEgYnVpbGQgc2NyaXB0IGdlbmVyYXRvciIsIF9QUkVNQUtFX1ZFUlNJT04pCnByaW50ZihfUFJFTUFLRV9DT1BZUklHSFQpCnByaW50ZigiJXMgJXMiLCBfVkVSU0lPTiwgX0NPUFlSSUdIVCkKcHJpbnRmKCIiKQpwcmludGYoIlVzYWdlOiBwcmVtYWtlNSBbb3B0aW9uc10gYWN0aW9uIFthcmd1bWVudHNdIikKcHJpbnRmKCIiKQpsb2NhbCBjYXRlZ29yaWVzID0ge30KZm9yIG9wdGlvbiBpbiBwcmVtYWtlLm9wdGlvbi5lYWNoKCkgZG8KbG9jYWwgY2F0ID0gIk9QVElPTlMgLSBHZW5lcmFsIgppZiBvcHRpb24uY2F0ZWdvcnkgdGhlbgpjYXQgPSAiT1BUSU9OUyAtICIgLi4gb3B0aW9uLmNhdGVnb3J5OwplbmQKaWYgY2F0ZWdvcmllc1tjYXRdIHRoZW4KdGFibGUuaW5zZXJ0KGNhdGVnb3JpZXNbY2F0XSwgb3B0aW9uKQplbHNlCmNhdGVnb3JpZXNbY2F0XSA9IHtvcHRpb259CmVuZAplbmQKZm9yIGssIG9wdGlvbnMgaW4gc3BhaXJzKGNhdGVnb3JpZXMpIGRvCnByaW50ZihrKQpwcmludGYoIiIpCmxvY2FsIGxlbmd0aCA9IDAKZm9yIF8sIG9wdGlvbiBpbiBpcGFpcnMob3B0aW9ucykgZG8KbG9jYWwgdHJpZ2dlciA9IG9wdGlvbi50cmlnZ2VyCmlmIChvcHRpb24udmFsdWUpIHRoZW4gdHJpZ2dlciA9IHRyaWdnZXIgLi4gIj0iIC4uIG9wdGlvbi52YWx1ZSBlbmQKaWYgKCN0cmlnZ2VyID4gbGVuZ3RoKSB0aGVuIGxlbmd0aCA9ICN0cmlnZ2VyIGVuZAplbmQKZm9yIF8sIG9wdGlvbiBpbiBpcGFpcnMob3B0aW9ucykgZG8KbG9jYWwgdHJpZ2dlciA9IG9wdGlvbi50cmlnZ2VyCmxvY2FsIGRlc2NyaXB0aW9uID0gb3B0aW9uLmRlc2NyaXB0aW9uCmlmIChvcHRpb24udmFsdWUpIHRoZW4gdHJpZ2dlciA9IHRyaWdnZXIgLi4gIj0iIC4uIG9wdGlvbi52YWx1ZSBlbmQKaWYgKG9wdGlvbi5hbGxvd2VkKSB0aGVuIGRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb24gLi4gIjsgb25lIG9mOiIgZW5kCnByaW50ZigiIC0tJS0iIC4uIGxlbmd0aCAuLiAicyAlcyIsIHRyaWdnZXIsIGRlc2NyaXB0aW9uKQppZiAob3B0aW9uLmFsbG93ZWQpIHRoZW4KbG9jYWwgZnVuY3Rpb24gY29tcGFyZVZhbHVlKGEsIGIpCnJldHVybiBhWzFdIDwgYlsxXQplbmQKdGFibGUuc29ydChvcHRpb24uYWxsb3dlZCwgY29tcGFyZVZhbHVlKQpmb3IgXywgdmFsdWUgaW4gaXBhaXJzKG9wdGlvbi5hbGxvd2VkKSBkbwpwcmludGYoIiAgICAgJS0iIC4uIGxlbmd0aC0xIC4uICJzICVzIiwgdmFsdWVbMV0sIHZhbHVlWzJdKQplbmQKcHJpbnRmKCIiKQplbmQKZW5kCnByaW50ZigiIikKZW5kCnByaW50ZigiQUNUSU9OUyIpCnByaW50ZigiIikKZm9yIGFjdGlvbiBpbiBwcmVtYWtlLmFjdGlvbi5lYWNoKCkgZG8KcHJpbnRmKCIgJS0xN3MgJXMiLCBhY3Rpb24udHJpZ2dlciwgYWN0aW9uLmRlc2NyaXB0aW9uKQplbmQKcHJpbnRmKCIiKQpwcmludGYoIkZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLCBzZWUgaHR0cHM6Ly9wcmVtYWtlLmdpdGh1Yi5pbyIpCmVuZAqEqFMAjKhTAJSoUwCgqFMArKhTALSoUwDAqFMAbG9jYWwgcCA9IHByZW1ha2UKbG9jYWwgbSA9IHAubW9kdWxlcy5zZWxmX3Rlc3QKZnVuY3Rpb24gbS5jcmVhdGVXb3Jrc3BhY2UoKQpsb2NhbCB3a3MgPSB3b3Jrc3BhY2UoIk15V29ya3NwYWNlIikKY29uZmlndXJhdGlvbnMgeyAiRGVidWciLCAiUmVsZWFzZSIgfQpsb2NhbCBwcmogPSBtLmNyZWF0ZVByb2plY3Qod2tzKQpyZXR1cm4gd2tzLCBwcmoKZW5kCmZ1bmN0aW9uIG0uY3JlYXRlc29sdXRpb24oKQpsb2NhbCB3a3MgPSB3b3Jrc3BhY2UoIk15U29sdXRpb24iKQpjb25maWd1cmF0aW9ucyB7ICJEZWJ1ZyIsICJSZWxlYXNlIiB9CmxvY2FsIHByaiA9IG0uY3JlYXRlcHJvamVjdCh3a3MpCnJldHVybiB3a3MsIHByagplbmQKZnVuY3Rpb24gbS5jcmVhdGVQcm9qZWN0KHdrcykKbG9jYWwgbiA9ICN3a3MucHJvamVjdHMgKyAxCmlmIG4gPT0gMSB0aGVuIG4gPSAiIiBlbmQKbG9jYWwgcHJqID0gcHJvamVjdCAoIk15UHJvamVjdCIgLi4gbikKbGFuZ3VhZ2UgIkMrKyIKa2luZCAiQ29uc29sZUFwcCIKcmV0dXJuIHByagplbmQKZnVuY3Rpb24gbS5jcmVhdGVHcm91cCh3a3MpCmxvY2FsIHByaiA9IGdyb3VwICgiTXlHcm91cCIgLi4gKCN3a3MuZ3JvdXBzICsgMSkpCnJldHVybiBwcmoKZW5kCmZ1bmN0aW9uIG0uZ2V0V29ya3NwYWNlKHdrcykKcC5vdmVuLmJha2UoKQpyZXR1cm4gcC5nbG9iYWwuZ2V0V29ya3NwYWNlKHdrcy5uYW1lKQplbmQKZnVuY3Rpb24gbS5nZXRSdWxlKG5hbWUpCnAub3Zlbi5iYWtlKCkKcmV0dXJuIHAuZ2xvYmFsLmdldFJ1bGUobmFtZSkKZW5kCmZ1bmN0aW9uIG0uZ2V0UHJvamVjdCh3a3MsIGkpCndrcyA9IG0uZ2V0V29ya3NwYWNlKHdrcykKcmV0dXJuIHAud29ya3NwYWNlLmdldHByb2plY3Qod2tzLCBpIG9yIDEpCmVuZApmdW5jdGlvbiBtLmdldENvbmZpZyhwcmosIGJ1aWxkY2ZnLCBwbGF0Zm9ybSkKbG9jYWwgd2tzID0gbS5nZXRXb3Jrc3BhY2UocHJqLndvcmtzcGFjZSkKcHJqID0gcC53b3Jrc3BhY2UuZ2V0cHJvamVjdCh3a3MsIHByai5uYW1lKQpyZXR1cm4gcC5wcm9qZWN0LmdldGNvbmZpZyhwcmosIGJ1aWxkY2ZnLCBwbGF0Zm9ybSkKZW5kCm0ucHJpbnQgPSBwcmludApwLmFsaWFzKG0sICJjcmVhdGVQcm9qZWN0IiwgImNyZWF0ZXByb2plY3QiKQpwLmFsaWFzKG0sICJnZXRDb25maWciLCAiZ2V0Y29uZmlnIikKcC5hbGlhcyhtLCAiZ2V0UHJvamVjdCIsICJnZXRwcm9qZWN0IikKcC5hbGlhcyhtLCAiZ2V0V29ya3NwYWNlIiwgImdldHNvbHV0aW9uIikKAABsb2NhbCBwID0gcHJlbWFrZQpwLnZzdHVkaW8uY3MyMDA1ID0ge30KbG9jYWwgdnN0dWRpbyA9IHAudnN0dWRpbwpsb2NhbCBjczIwMDUgPSBwLnZzdHVkaW8uY3MyMDA1CmxvY2FsIGRvdG5ldGJhc2UgPSBwLnZzdHVkaW8uZG90bmV0YmFzZQpsb2NhbCBwcm9qZWN0ID0gcC5wcm9qZWN0CmxvY2FsIGNvbmZpZyA9IHAuY29uZmlnCmxvY2FsIGZpbGVjb25maWcgPSBwLmZpbGVjb25maWcKbG9jYWwgZG90bmV0ID0gcC50b29scy5kb3RuZXQKY3MyMDA1LmVsZW1lbnRzID0ge30KY3MyMDA1LmVsZW1lbnRzLnByb2plY3QgPSBmdW5jdGlvbiAoKQpyZXR1cm4gewpkb3RuZXRiYXNlLnhtbERlY2xhcmF0aW9uLApkb3RuZXRiYXNlLnByb2plY3RFbGVtZW50LApkb3RuZXRiYXNlLmNvbW1vblByb3BlcnRpZXMsCmRvdG5ldGJhc2UucHJvamVjdFByb3BlcnRpZXMsCmRvdG5ldGJhc2UuY29uZmlndXJhdGlvbnMsCmRvdG5ldGJhc2UuYXBwbGljYXRpb25JY29uLApkb3RuZXRiYXNlLnJlZmVyZW5jZXMKfQplbmQKY3MyMDA1LmVsZW1lbnRzLnByb2plY3RQcm9wZXJ0aWVzID0gZnVuY3Rpb24gKCkKcmV0dXJuIHsKZG90bmV0YmFzZS5jb25maWd1cmF0aW9uQ29uZGl0aW9uLApkb3RuZXRiYXNlLnBsYXRmb3JtQ29uZGl0aW9uLApkb3RuZXRiYXNlLnByb2R1Y3RWZXJzaW9uLApkb3RuZXRiYXNlLnNjaGVtYVZlcnNpb24sCmRvdG5ldGJhc2UucHJvamVjdEd1aWQsCmRvdG5ldGJhc2Uub3V0cHV0VHlwZSwKZG90bmV0YmFzZS5hcHBEZXNpZ25lckZvbGRlciwKZG90bmV0YmFzZS5yb290TmFtZXNwYWNlLApkb3RuZXRiYXNlLmFzc2VtYmx5TmFtZSwKZG90bmV0YmFzZS50YXJnZXRGcmFtZXdvcmtWZXJzaW9uLApkb3RuZXRiYXNlLnRhcmdldEZyYW1ld29ya1Byb2ZpbGUsCmRvdG5ldGJhc2UuZmlsZUFsaWdubWVudCwKZG90bmV0YmFzZS5iaW5kaW5nUmVkaXJlY3RzLApkb3RuZXRiYXNlLnByb2plY3RUeXBlR3VpZHMsCmRvdG5ldGJhc2UuY3N2ZXJzaW9uCn0KZW5kCmNzMjAwNS5lbGVtZW50cy5jb25maWd1cmF0aW9uID0gZnVuY3Rpb24gKCkKcmV0dXJuIHsKZG90bmV0YmFzZS5wcm9wZXJ0eUdyb3VwLApkb3RuZXRiYXNlLmRlYnVnUHJvcHMsCmRvdG5ldGJhc2Uub3V0cHV0UHJvcHMsCmRvdG5ldGJhc2UuY29tcGlsZXJQcm9wcywKZG90bmV0YmFzZS5Ob1dhcm4KfQplbmQKZnVuY3Rpb24gY3MyMDA1LmdlbmVyYXRlKHByaikKZG90bmV0YmFzZS5wcmVwYXJlKGNzMjAwNSkKZG90bmV0YmFzZS5nZW5lcmF0ZShwcmopCmVuZApmdW5jdGlvbiBjczIwMDUudGFyZ2V0cyhwcmopCmxvY2FsIGJpbiA9IGlpZihfQUNUSU9OIDw9ICJ2czIwMTAiLCAiTVNCdWlsZEJpblBhdGgiLCAiTVNCdWlsZFRvb2xzUGF0aCIpCl9wKDEsJzxJbXBvcnQgUHJvamVjdD0iJCglcylcXE1pY3Jvc29mdC5DU2hhcnAudGFyZ2V0cyIgLz4nLCBiaW4pCl9wKDEsJzwhLS0gVG8gbW9kaWZ5IHlvdXIgYnVpbGQgcHJvY2VzcywgYWRkIHlvdXIgdGFzayBpbnNpZGUgb25lIG9mIHRoZSB0YXJnZXRzIGJlbG93IGFuZCB1bmNvbW1lbnQgaXQuJykKX3AoMSwnICAgICBPdGhlciBzaW1pbGFyIGV4dGVuc2lvbiBwb2ludHMgZXhpc3QsIHNlZSBNaWNyb3NvZnQuQ29tbW9uLnRhcmdldHMuJykKX3AoMSwnPFRhcmdldCBOYW1lPSJCZWZvcmVCdWlsZCI+JykKX3AoMSwnPC9UYXJnZXQ+JykKX3AoMSwnPFRhcmdldCBOYW1lPSJBZnRlckJ1aWxkIj4nKQpfcCgxLCc8L1RhcmdldD4nKQpfcCgxLCctLT4nKQplbmQKAAAAbG9jYWwgcCA9IHByZW1ha2UKbG9jYWwgcHJvamVjdCA9IHAucHJvamVjdApuZXdhY3Rpb24gewp0cmlnZ2VyICAgICAgICAgPSAiZ21ha2UiLApzaG9ydG5hbWUgICAgICAgPSAiR05VIE1ha2UiLApkZXNjcmlwdGlvbiAgICAgPSAiR2VuZXJhdGUgR05VIG1ha2VmaWxlcyBmb3IgUE9TSVgsIE1pbkdXLCBhbmQgQ3lnd2luIiwKdG9vbHNldCAgICAgICAgID0gImdjYyIsCnZhbGlkX2tpbmRzICAgICA9IHsgIkNvbnNvbGVBcHAiLCAiV2luZG93ZWRBcHAiLCAiU3RhdGljTGliIiwgIlNoYXJlZExpYiIsICJVdGlsaXR5IiwgIk1ha2VmaWxlIiB9LAp2YWxpZF9sYW5ndWFnZXMgPSB7ICJDIiwgIkMrKyIsICJDIyIgfSwKdmFsaWRfdG9vbHMgICAgID0gewpjYyAgICAgPSB7ICJjbGFuZyIsICJnY2MiIH0sCmRvdG5ldCA9IHsgIm1vbm8iLCAibXNuZXQiLCAicG5ldCIgfQp9LApvbldvcmtzcGFjZSA9IGZ1bmN0aW9uKHdrcykKcC5lc2NhcGVyKHAubWFrZS5lc2MpCnAuZ2VuZXJhdGUod2tzLCBwLm1ha2UuZ2V0bWFrZWZpbGVuYW1lKHdrcywgZmFsc2UpLCBwLm1ha2UuZ2VuZXJhdGVfd29ya3NwYWNlKQplbmQsCm9uUHJvamVjdCA9IGZ1bmN0aW9uKHByaikKcC5lc2NhcGVyKHAubWFrZS5lc2MpCmxvY2FsIG1ha2VmaWxlID0gcC5tYWtlLmdldG1ha2VmaWxlbmFtZShwcmosIHRydWUpCmlmIHByai5raW5kID09IHAuVVRJTElUWSB0aGVuCnAuZ2VuZXJhdGUocHJqLCBtYWtlZmlsZSwgcC5tYWtlLnV0aWxpdHkuZ2VuZXJhdGUpCmVsc2VpZiBwcmoua2luZCA9PSBwLk1BS0VGSUxFIHRoZW4KcC5nZW5lcmF0ZShwcmosIG1ha2VmaWxlLCBwLm1ha2UubWFrZWZpbGUuZ2VuZXJhdGUpCmVsc2UKaWYgcHJvamVjdC5pc2RvdG5ldChwcmopIHRoZW4KcC5nZW5lcmF0ZShwcmosIG1ha2VmaWxlLCBwLm1ha2UuY3MuZ2VuZXJhdGUpCmVsc2VpZiBwcm9qZWN0LmlzYyhwcmopIG9yIHByb2plY3QuaXNjcHAocHJqKSB0aGVuCnAuZ2VuZXJhdGUocHJqLCBtYWtlZmlsZSwgcC5tYWtlLmNwcC5nZW5lcmF0ZSkKZW5kCmVuZAplbmQsCm9uQ2xlYW5Xb3Jrc3BhY2UgPSBmdW5jdGlvbih3a3MpCnAuY2xlYW4uZmlsZSh3a3MsIHAubWFrZS5nZXRtYWtlZmlsZW5hbWUod2tzLCBmYWxzZSkpCmVuZCwKb25DbGVhblByb2plY3QgPSBmdW5jdGlvbihwcmopCnAuY2xlYW4uZmlsZShwcmosIHAubWFrZS5nZXRtYWtlZmlsZW5hbWUocHJqLCB0cnVlKSkKZW5kCn0KcmV0dXJuIGZ1bmN0aW9uKGNmZykKcmV0dXJuIChfQUNUSU9OID09ICJnbWFrZSIpCmVuZApoqFMAbKhTAHCoUwB0qFMAeKhTAHyoUwCAqFMAbG9jYWwgcCA9IHByZW1ha2UKcC5ncm91cCA9IHAuYXBpLmNvbnRhaW5lcigiZ3JvdXAiLCBwLndvcmtzcGFjZSkKbG9jYWwgZ3JvdXAgPSBwLmdyb3VwCmdyb3VwLnBsYWNlaG9sZGVyID0gdHJ1ZQpmdW5jdGlvbiBncm91cC5uZXcobmFtZSkKcmV0dXJuIHAuY29udGFpbmVyLm5ldyhncm91cCwgbmFtZSkKZW5kCgAA//////////8QG0YAUBtGAHAbRgAIAAAAEAAAAGxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIGFuZHJvaWQgPSBwLm1vZHVsZXMuYW5kcm9pZApsb2NhbCB2c2FuZHJvaWQgPSBwLm1vZHVsZXMudnNhbmRyb2lkCmxvY2FsIHNsbjIwMDUgPSBwLnZzdHVkaW8uc2xuMjAwNQpwcmVtYWtlLm92ZXJyaWRlKHNsbjIwMDUuZWxlbWVudHMsICJwcm9qZWN0Q29uZmlndXJhdGlvblBsYXRmb3JtcyIsIGZ1bmN0aW9uKG9sZGZuLCBjZmcsIGNvbnRleHQpCmxvY2FsIGVsZW1lbnRzID0gb2xkZm4oY2ZnLCBjb250ZXh0KQppZiBjZmcuc3lzdGVtID09IHByZW1ha2UuQU5EUk9JRCBhbmQgX0FDVElPTiA+PSAidnMyMDE1IiB0aGVuCmVsZW1lbnRzID0gdGFibGUuam9pbihlbGVtZW50cywgewphbmRyb2lkLmRlcGxveVByb2plY3QKfSkKZW5kCnJldHVybiBlbGVtZW50cwplbmQpCmZ1bmN0aW9uIGFuZHJvaWQuZGVwbG95UHJvamVjdChjZmcsIGNvbnRleHQpCmlmIGNvbnRleHQucHJqQ2ZnLmtpbmQgPT0gcC5QQUNLQUdJTkcgYW5kIF9BQ1RJT04gPj0gInZzMjAxNSIgdGhlbgpwLncoJ3slc30uJXMuRGVwbG95LjAgPSAlc3wlcycsIGNvbnRleHQucHJqLnV1aWQsIGNvbnRleHQuZGVzY3JpcHRvciwgY29udGV4dC5wbGF0Zm9ybSwgY29udGV4dC5hcmNoaXRlY3R1cmUpCmVuZAplbmQKAAAAAAAfAAAAOwAAAFoAAAB4AAAAlwAAALUAAADUAAAA8wAAABEBAAAwAQAATgEAADIuNS4yOS4xNwAAAGxvY2FsIHNob3J0aGVscCAgICAgPSAiVHlwZSAncHJlbWFrZTUgLS1oZWxwJyBmb3IgaGVscCIKbG9jYWwgdmVyc2lvbmhlbHAgICA9ICJwcmVtYWtlNSAoUHJlbWFrZSBCdWlsZCBTY3JpcHQgR2VuZXJhdG9yKSAlcyIKbG9jYWwgc3RhcnRUaW1lICAgICA9IG9zLmNsb2NrKCkKX1BSRU1BS0VfU1RBUlRUSU1FID0gc3RhcnRUaW1lCmxvY2FsIG1vZHVsZXMgPSBkb2ZpbGUoIl9tb2R1bGVzLmx1YSIpCmxvY2FsIG1hbmlmZXN0ID0gZG9maWxlKCJfbWFuaWZlc3QubHVhIikKZm9yIGkgPSAxLCAjbWFuaWZlc3QgZG8KZG9maWxlKG1hbmlmZXN0W2ldKQplbmQKbG9jYWwgcCA9IHByZW1ha2UKcC5tYWluID0ge30KbG9jYWwgbSA9IHAubWFpbgptLl9wcmVsb2FkZWQgPSB7fQpmdW5jdGlvbiBtLmluc3RhbGxNb2R1bGVMb2FkZXIoKQppZiBub3Qgb3MuaXNob3N0KCd3aW5kb3dzJykgdGhlbgpsb2NhbCBwcmVtYWtlRGlyID0gcGF0aC5nZXRkaXJlY3RvcnkoX1BSRU1BS0VfQ09NTUFORCkKcGFja2FnZS5jcGF0aCA9IHBhY2thZ2UuY3BhdGggLi4gJzsnIC4uIHByZW1ha2VEaXIgLi4gJy8/LnNvJwplbmQKdGFibGUuaW5zZXJ0KHBhY2thZ2Uuc2VhcmNoZXJzLCAyLCBtLm1vZHVsZUxvYWRlcikKZW5kCmZ1bmN0aW9uIG0ubW9kdWxlTG9hZGVyKG5hbWUpCmxvY2FsIGRpciA9IHBhdGguZ2V0ZGlyZWN0b3J5KG5hbWUpCmxvY2FsIGJhc2UgPSBwYXRoLmdldG5hbWUobmFtZSkKaWYgZGlyIH49ICIuIiB0aGVuCmRpciA9IGRpciAuLiAiLyIgLi4gYmFzZQplbHNlCmRpciA9IGJhc2UKZW5kCmxvY2FsIGZ1bGwgPSBkaXIgLi4gIi8iIC4uIGJhc2UgLi4gIi5sdWEiCmxvY2FsIHBhdGhzID0gewoiLm1vZHVsZXMvIiAuLiBmdWxsLAoibW9kdWxlcy8iIC4uIGZ1bGwsCmZ1bGwsCm5hbWUgLi4gIi5sdWEiCn0KZm9yIF8sIHAgaW4gaXBhaXJzKHBhdGhzKSBkbwpsb2NhbCBmaWxlID0gb3MubG9jYXRlKHApCmlmIGZpbGUgdGhlbgpsb2NhbCBjaHVuaywgZXJyID0gbG9hZGZpbGUoZmlsZSkKaWYgY2h1bmsgdGhlbgpyZXR1cm4gY2h1bmsKZW5kCmlmIGVyciB0aGVuCnJldHVybiAiXG5cdGxvYWQgZXJyb3IgIiAuLiBlcnIKZW5kCmVuZAplbmQKZm9yIF8sIHAgaW4gaXBhaXJzKHBhdGhzKSBkbwpsb2NhbCBjaHVuaywgZXJyID0gbG9hZGZpbGUoIiQvIiAuLiBwKQppZiBjaHVuayB0aGVuCnJldHVybiBjaHVuawplbmQKZW5kCmVuZApmdW5jdGlvbiBtLnByZXBhcmVFbnZpcm9ubWVudCgpCm1hdGgucmFuZG9tc2VlZChvcy50aW1lKCkpCl9QUkVNQUtFX0RJUiA9IHBhdGguZ2V0ZGlyZWN0b3J5KF9QUkVNQUtFX0NPTU1BTkQpCnAucGF0aCA9IHAucGF0aCAuLiAiOyIgLi4gX1BSRU1BS0VfRElSIC4uICI7IiAuLiBfTUFJTl9TQ1JJUFRfRElSCmVuZApmdW5jdGlvbiBtLnByZWxvYWRNb2R1bGVzKCkKZm9yIGkgPSAxLCAjbW9kdWxlcyBkbwpsb2NhbCBuYW1lID0gbW9kdWxlc1tpXQpsb2NhbCBwcmVsb2FkZXIgPSBuYW1lIC4uICIvX3ByZWxvYWQubHVhIgpwcmVsb2FkZXIgPSBvcy5sb2NhdGUoIm1vZHVsZXMvIiAuLiBwcmVsb2FkZXIpIG9yIG9zLmxvY2F0ZShwcmVsb2FkZXIpCmlmIHByZWxvYWRlciB0aGVuCm0uX3ByZWxvYWRlZFtuYW1lXSA9IGluY2x1ZGUocHJlbG9hZGVyKQppZiBub3QgbS5fcHJlbG9hZGVkW25hbWVdIHRoZW4KcC53YXJuKCJtb2R1bGUgJyVzJyBzaG91bGQgcmV0dXJuIGZ1bmN0aW9uIGZyb20gX3ByZWxvYWQubHVhIiwgbmFtZSkKZW5kCmVsc2UKcmVxdWlyZShuYW1lKQplbmQKZW5kCmVuZApmdW5jdGlvbiBtLnJ1blN5c3RlbVNjcmlwdCgpCmRvZmlsZW9wdChfT1BUSU9OU1sic3lzdGVtc2NyaXB0Il0gb3IgeyAicHJlbWFrZTUtc3lzdGVtLmx1YSIsICJwcmVtYWtlLXN5c3RlbS5sdWEiIH0pCmZpbHRlciB7fQplbmQKZnVuY3Rpb24gbS5sb2NhdGVVc2VyU2NyaXB0KCkKbG9jYWwgZGVmYXVsdHMgPSB7ICJwcmVtYWtlNS5sdWEiLCAicHJlbWFrZTQubHVhIiB9CmZvciBpID0gMSwgI2RlZmF1bHRzIGRvCmlmIG9zLmlzZmlsZShkZWZhdWx0c1tpXSkgdGhlbgpfTUFJTl9TQ1JJUFQgPSBkZWZhdWx0c1tpXQpicmVhawplbmQKZW5kCmlmIG5vdCBfTUFJTl9TQ1JJUFQgdGhlbgpfTUFJTl9TQ1JJUFQgPSBkZWZhdWx0c1sxXQplbmQKaWYgX09QVElPTlMuZmlsZSB0aGVuCl9NQUlOX1NDUklQVCA9IF9PUFRJT05TLmZpbGUKZW5kCl9NQUlOX1NDUklQVCA9IHBhdGguZ2V0YWJzb2x1dGUoX01BSU5fU0NSSVBUKQpfTUFJTl9TQ1JJUFRfRElSID0gcGF0aC5nZXRkaXJlY3RvcnkoX01BSU5fU0NSSVBUKQplbmQKZnVuY3Rpb24gbS5wcmVwYXJlQWN0aW9uKCkKaWYgX0FDVElPTiBhbmQgX0FDVElPTjplbmRzd2l0aCgibmciKSB0aGVuCnAud2Fybk9uY2UoX0FDVElPTiwgIiclcycgaGFzIGJlZW4gZGVwcmVjYXRlZDsgdXNlICclcycgaW5zdGVhZCIsIF9BQ1RJT04sIF9BQ1RJT046c3ViKDEsIC0zKSkKZW5kCnAuYWN0aW9uLnNldChfQUNUSU9OKQpsb2NhbCBhY3Rpb24gPSBwLmFjdGlvbi5jdXJyZW50KCkKaWYgYWN0aW9uIHRoZW4KcC5hY3Rpb24uaW5pdGlhbGl6ZShhY3Rpb24udHJpZ2dlcikKZW5kCmVuZApmdW5jdGlvbiBtLnJ1blVzZXJTY3JpcHQoKQppZiBvcy5pc2ZpbGUoX01BSU5fU0NSSVBUKSB0aGVuCmRvZmlsZShfTUFJTl9TQ1JJUFQpCmVuZAplbmQKZnVuY3Rpb24gbS5jaGVja0ludGVyYWN0aXZlKCkKaWYgX09QVElPTlMuaW50ZXJhY3RpdmUgdGhlbgpkZWJ1Zy5wcm9tcHQoKQplbmQKZW5kCmZ1bmN0aW9uIG0ucHJvY2Vzc0NvbW1hbmRMaW5lKCkKaWYgKF9PUFRJT05TWyJ2ZXJzaW9uIl0pIHRoZW4KcHJpbnRmKHZlcnNpb25oZWxwLCBfUFJFTUFLRV9WRVJTSU9OKQpvcy5leGl0KDApCmVuZAppZiAoX09QVElPTlNbImhlbHAiXSkgdGhlbgpwLnNob3doZWxwKCkKb3MuZXhpdCgxKQplbmQKb2ssIGVyciA9IHAub3B0aW9uLnZhbGlkYXRlKF9PUFRJT05TKQppZiBub3Qgb2sgdGhlbgpwcmludCgiRXJyb3I6ICIgLi4gZXJyKQpvcy5leGl0KDEpCmVuZAppZiBub3QgX09QVElPTlMuaW50ZXJhY3RpdmUgdGhlbgppZiBub3QgX0FDVElPTiB0aGVuCnByaW50KHNob3J0aGVscCkKb3MuZXhpdCgxKQplbmQKbG9jYWwgYWN0aW9uID0gcC5hY3Rpb24uY3VycmVudCgpCmlmIG5vdCBhY3Rpb24gdGhlbgpwcmludCgiRXJyb3I6IG5vIHN1Y2ggYWN0aW9uICciIC4uIF9BQ1RJT04gLi4gIiciKQpvcy5leGl0KDEpCmVuZAppZiBwLmFjdGlvbi5pc0NvbmZpZ3VyYWJsZSgpIGFuZCBub3Qgb3MuaXNmaWxlKF9NQUlOX1NDUklQVCkgdGhlbgpwcmludChzdHJpbmcuZm9ybWF0KCJObyBQcmVtYWtlIHNjcmlwdCAoJXMpIGZvdW5kISIsIHBhdGguZ2V0bmFtZShfTUFJTl9TQ1JJUFQpKSkKb3MuZXhpdCgxKQplbmQKZW5kCmVuZApmdW5jdGlvbiBtLnRyeUhvb2tEZWJ1Z2dlcigpCmlmIChfT1BUSU9OU1siZGVidWdnZXIiXSkgdGhlbgpwcmludCgiTG9hZGluZyBsdWFzb2NrZXQuLi4iKQpyZXF1aXJlKCdsdWFzb2NrZXQnKQpwcmludCgiU3RhcnRpbmcgZGVidWdnZXIuLi4iKQpsb2NhbCBtb2JkZWJ1ZyA9IHJlcXVpcmUoJ21vYmRlYnVnJykKbW9iZGVidWcuc3RhcnQoKQplbmQKZW5kCmZ1bmN0aW9uIG0ucHJlQmFrZSgpCmlmIHAuYWN0aW9uLmlzQ29uZmlndXJhYmxlKCkgdGhlbgpwcmludCgiQnVpbGRpbmcgY29uZmlndXJhdGlvbnMuLi4iKQplbmQKZW5kCmZ1bmN0aW9uIG0uYmFrZSgpCmlmIHAuYWN0aW9uLmlzQ29uZmlndXJhYmxlKCkgdGhlbgpwLm92ZW4uYmFrZSgpCmVuZAplbmQKZnVuY3Rpb24gbS5wb3N0QmFrZSgpCmxvY2FsIGZ1bmN0aW9uIHNob3VsZExvYWQoZnVuYykKZm9yIHdrcyBpbiBwLmdsb2JhbC5lYWNoV29ya3NwYWNlKCkgZG8KZm9yIHByaiBpbiBwLndvcmtzcGFjZS5lYWNocHJvamVjdCh3a3MpIGRvCmZvciBjZmcgaW4gcC5wcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwppZiBmdW5jKGNmZykgdGhlbgpyZXR1cm4gdHJ1ZQplbmQKZW5kCmVuZAplbmQKZW5kCmZvciBtb2R1bGUsIGZ1bmMgaW4gcGFpcnMobS5fcHJlbG9hZGVkKSBkbwppZiBub3QgcGFja2FnZS5sb2FkZWRbbW9kdWxlXSBhbmQgc2hvdWxkTG9hZChmdW5jKSB0aGVuCnJlcXVpcmUobW9kdWxlKQplbmQKZW5kCmVuZApmdW5jdGlvbiBtLnZhbGlkYXRlKCkKaWYgcC5hY3Rpb24uaXNDb25maWd1cmFibGUoKSB0aGVuCnAuY29udGFpbmVyLnZhbGlkYXRlKHAuYXBpLnJvb3RDb250YWluZXIoKSkKZW5kCmVuZApmdW5jdGlvbiBtLnByZUFjdGlvbigpCmxvY2FsIGFjdGlvbiA9IHAuYWN0aW9uLmN1cnJlbnQoKQpwcmludGYoIlJ1bm5pbmcgYWN0aW9uICclcycuLi4iLCBhY3Rpb24udHJpZ2dlcikKZW5kCmZ1bmN0aW9uIG0uY2FsbEFjdGlvbigpCmxvY2FsIGFjdGlvbiA9IHAuYWN0aW9uLmN1cnJlbnQoKQpwLmFjdGlvbi5jYWxsKGFjdGlvbi50cmlnZ2VyKQplbmQKZnVuY3Rpb24gbS5wb3N0QWN0aW9uKCkKaWYgcC5hY3Rpb24uaXNDb25maWd1cmFibGUoKSB0aGVuCmxvY2FsIGR1cmF0aW9uID0gbWF0aC5mbG9vcigob3MuY2xvY2soKSAtIHN0YXJ0VGltZSkgKiAxMDAwKTsKcHJpbnRmKCJEb25lICglZG1zKS4iLCBkdXJhdGlvbikKZW5kCmVuZAptLmVsZW1lbnRzID0gewptLnRyeUhvb2tEZWJ1Z2dlciwKbS5pbnN0YWxsTW9kdWxlTG9hZGVyLAptLmxvY2F0ZVVzZXJTY3JpcHQsCm0ucHJlcGFyZUVudmlyb25tZW50LAptLnByZWxvYWRNb2R1bGVzLAptLnJ1blN5c3RlbVNjcmlwdCwKbS5wcmVwYXJlQWN0aW9uLAptLnJ1blVzZXJTY3JpcHQsCm0uY2hlY2tJbnRlcmFjdGl2ZSwKbS5wcm9jZXNzQ29tbWFuZExpbmUsCm0ucHJlQmFrZSwKbS5iYWtlLAptLnBvc3RCYWtlLAptLnZhbGlkYXRlLAptLnByZUFjdGlvbiwKbS5jYWxsQWN0aW9uLAptLnBvc3RBY3Rpb24sCn0KZnVuY3Rpb24gX3ByZW1ha2VfbWFpbigpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMpCnJldHVybiAwCmVuZApsb2NhbCBwID0gcHJlbWFrZQpsb2NhbCBnbWFrZTIgPSBwLm1vZHVsZXMuZ21ha2UyCmdtYWtlMi51dGlsaXR5ICAgPSB7fQpsb2NhbCB1dGlsaXR5ICAgID0gZ21ha2UyLnV0aWxpdHkKbG9jYWwgcHJvamVjdCAgICA9IHAucHJvamVjdApsb2NhbCBjb25maWcgICAgID0gcC5jb25maWcKbG9jYWwgZmlsZWNvbmZpZyA9IHAuZmlsZWNvbmZpZwp1dGlsaXR5LmVsZW1lbnRzID0ge30KdXRpbGl0eS5lbGVtZW50cy5tYWtlZmlsZSA9IGZ1bmN0aW9uKHByaikKcmV0dXJuIHsKZ21ha2UyLmhlYWRlciwKZ21ha2UyLnBob255UnVsZXMsCmdtYWtlMi5zaGVsbFR5cGUsCnV0aWxpdHkuaW5pdGlhbGl6ZSwKdXRpbGl0eS5jcmVhdGVGaWxlVGFibGUsCnV0aWxpdHkub3V0cHV0Q29uZmlndXJhdGlvblNlY3Rpb24sCnV0aWxpdHkub3V0cHV0RmlsZXNTZWN0aW9uLAp1dGlsaXR5Lm91dHB1dFJ1bGVzU2VjdGlvbiwKdXRpbGl0eS5vdXRwdXRGaWxlUnVsZVNlY3Rpb24sCn0KZW5kCmZ1bmN0aW9uIHV0aWxpdHkuZ2VuZXJhdGUocHJqKQpwLmVvbCgiXG4iKQpwLmNhbGxBcnJheSh1dGlsaXR5LmVsZW1lbnRzLm1ha2VmaWxlLCBwcmopCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KY2ZnLl9nbWFrZSA9IG5pbAplbmQKcHJqLl9nbWFrZSA9IG5pbAplbmQKZnVuY3Rpb24gdXRpbGl0eS5pbml0aWFsaXplKHByaikKcHJqLl9nbWFrZSA9IHByai5fZ21ha2Ugb3Ige30KcHJqLl9nbWFrZS5ydWxlcyA9IHByai5ydWxlcwpwcmouX2dtYWtlLmZpbGVzZXRzID0geyB9CmVuZApmdW5jdGlvbiB1dGlsaXR5LmNyZWF0ZUZpbGVUYWJsZShwcmopCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KY2ZnLl9nbWFrZSA9IGNmZy5fZ21ha2Ugb3Ige30KY2ZnLl9nbWFrZS5maWxlc2V0cyA9IHt9CmNmZy5fZ21ha2UuZmlsZVJ1bGVzID0ge30KbG9jYWwgZmlsZXMgPSB0YWJsZS5zaGFsbG93Y29weShwcmouXy5maWxlcykKdGFibGUuZm9yZWFjaGkoZmlsZXMsIGZ1bmN0aW9uKG5vZGUpCnV0aWxpdHkuYWRkRmlsZShjZmcsIG5vZGUsIHByaikKZW5kKQpmb3IgXywgZiBpbiBwYWlycyhjZmcuX2dtYWtlLmZpbGVzZXRzKSBkbwp0YWJsZS5zb3J0KGYpCmVuZApjZmcuX2dtYWtlLmtpbmRzID0gdGFibGUua2V5cyhjZmcuX2dtYWtlLmZpbGVzZXRzKQp0YWJsZS5zb3J0KGNmZy5fZ21ha2Uua2luZHMpCnByai5fZ21ha2Uua2luZHMgPSB0YWJsZS5qb2luKHByai5fZ21ha2Uua2luZHMgb3Ige30sIGNmZy5fZ21ha2Uua2luZHMpCmVuZApwcmouX2dtYWtlLmtpbmRzID0gdGFibGUudW5pcXVlKHByai5fZ21ha2Uua2luZHMpCnRhYmxlLnNvcnQocHJqLl9nbWFrZS5raW5kcykKZW5kCmZ1bmN0aW9uIHV0aWxpdHkuYWRkRmlsZShjZmcsIG5vZGUsIHByaikKbG9jYWwgZmlsZWNmZyA9IGZpbGVjb25maWcuZ2V0Y29uZmlnKG5vZGUsIGNmZykKaWYgbm90IGZpbGVjZmcgb3IgZmlsZWNmZy5mbGFncy5FeGNsdWRlRnJvbUJ1aWxkIHRoZW4KcmV0dXJuCmVuZAppZiBub2RlLmdlbmVyYXRlZCB0aGVuCnJldHVybgplbmQKaWYgZmlsZWNvbmZpZy5oYXNDdXN0b21CdWlsZFJ1bGUoZmlsZWNmZykgdGhlbgpsb2NhbCBlbnYgPSB0YWJsZS5zaGFsbG93Y29weShmaWxlY2ZnLmVudmlyb24pCmVudi5QYXRoVmFycyA9IHsKWyJmaWxlLmJhc2VuYW1lIl0gPSB7IGFic29sdXRlID0gZmFsc2UsIHRva2VuID0gbm9kZS5iYXNlbmFtZSB9LApbImZpbGUuYWJzcGF0aCJdICA9IHsgYWJzb2x1dGUgPSB0cnVlLCAgdG9rZW4gPSBub2RlLmFic3BhdGggfSwKWyJmaWxlLnJlbHBhdGgiXSAgPSB7IGFic29sdXRlID0gZmFsc2UsIHRva2VuID0gbm9kZS5yZWxwYXRoIH0sClsiZmlsZS5uYW1lIl0gICAgID0geyBhYnNvbHV0ZSA9IGZhbHNlLCB0b2tlbiA9IG5vZGUubmFtZSB9LApbImZpbGUucGF0aCJdICAgICA9IHsgYWJzb2x1dGUgPSB0cnVlLCAgdG9rZW4gPSBub2RlLnBhdGggfSwKfQpsb2NhbCBzaGFkb3dDb250ZXh0ID0gcC5jb250ZXh0LmV4dGVudChmaWxlY2ZnLCBlbnYpCmxvY2FsIGJ1aWxkb3V0cHV0cyA9IHAucHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgc2hhZG93Q29udGV4dC5idWlsZG91dHB1dHMpCmlmIGJ1aWxkb3V0cHV0cyBhbmQgI2J1aWxkb3V0cHV0cyA+IDAgdGhlbgpsb2NhbCBmaWxlID0gewpidWlsZG91dHB1dHMgID0gYnVpbGRvdXRwdXRzLApzb3VyY2UgICAgICAgID0gbm9kZS5yZWxwYXRoLApidWlsZG1lc3NhZ2UgID0gc2hhZG93Q29udGV4dC5idWlsZG1lc3NhZ2UsCmJ1aWxkY29tbWFuZHMgPSBzaGFkb3dDb250ZXh0LmJ1aWxkY29tbWFuZHMsCmJ1aWxkaW5wdXRzICAgPSBwLnByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIHNoYWRvd0NvbnRleHQuYnVpbGRpbnB1dHMpCn0KdGFibGUuaW5zZXJ0KGNmZy5fZ21ha2UuZmlsZVJ1bGVzLCBmaWxlKQpmb3IgXywgb3V0cHV0IGluIGlwYWlycyhidWlsZG91dHB1dHMpIGRvCnV0aWxpdHkuYWRkR2VuZXJhdGVkRmlsZShjZmcsIG5vZGUsIG91dHB1dCkKZW5kCmVuZAplbHNlCnV0aWxpdHkuYWRkUnVsZUZpbGUoY2ZnLCBub2RlKQplbmQKZW5kCmZ1bmN0aW9uIHV0aWxpdHkuYWRkR2VuZXJhdGVkRmlsZShjZmcsIHNvdXJjZSwgZmlsZW5hbWUpCmNmZy5wcm9qZWN0Lmhhc0dlbmVyYXRlZEZpbGVzID0gdHJ1ZQpsb2NhbCBmaWxlcyA9IGNmZy5wcm9qZWN0Ll8uZmlsZXMKbG9jYWwgbm9kZSA9IGZpbGVzW2ZpbGVuYW1lXQppZiBub3Qgbm9kZSB0aGVuCm5vZGUgPSBmaWxlY29uZmlnLm5ldyhmaWxlbmFtZSwgY2ZnLnByb2plY3QpCmZpbGVzW2ZpbGVuYW1lXSA9IG5vZGUKdGFibGUuaW5zZXJ0KGZpbGVzLCBub2RlKQplbmQKbm9kZS5kZXBlbmRzT24gPSBzb3VyY2UKbm9kZS5nZW5lcmF0ZWQgPSB0cnVlCmlmIG5vdCBmaWxlY29uZmlnLmdldGNvbmZpZyhub2RlLCBjZmcpIHRoZW4KZmlsZWNvbmZpZy5hZGRjb25maWcobm9kZSwgY2ZnKQplbmQKbG9jYWwgZmlsZXNldHMgPSBjZmcucHJvamVjdC5fZ21ha2UuZmlsZXNldHMKbG9jYWwga2luZCA9ICJDVVNUT00iCmxvY2FsIGZpbGVzZXQgPSBjZmcuX2dtYWtlLmZpbGVzZXRzW2tpbmRdIG9yIHt9CnRhYmxlLmluc2VydChmaWxlc2V0LCBmaWxlbmFtZSkKY2ZnLl9nbWFrZS5maWxlc2V0c1traW5kXSA9IGZpbGVzZXQKdXRpbGl0eS5hZGRSdWxlRmlsZShjZmcsIG5vZGUpCmVuZApmdW5jdGlvbiB1dGlsaXR5LmFkZFJ1bGVGaWxlKGNmZywgbm9kZSkKbG9jYWwgcnVsZXMgPSBjZmcucHJvamVjdC5fZ21ha2UucnVsZXMKbG9jYWwgcnVsZSA9IHJ1bGVzW3BhdGguZ2V0ZXh0ZW5zaW9uKG5vZGUuYWJzcGF0aCk6bG93ZXIoKV0KaWYgcnVsZSB0aGVuCmxvY2FsIGZpbGVjZmcgPSBmaWxlY29uZmlnLmdldGNvbmZpZyhub2RlLCBjZmcpCmxvY2FsIGVudmlyb24gPSB0YWJsZS5zaGFsbG93Y29weShmaWxlY2ZnLmVudmlyb24pCmlmIHJ1bGUucHJvcGVydHlkZWZpbml0aW9uIHRoZW4KZ21ha2UyLnByZXBhcmVFbnZpcm9ubWVudChydWxlLCBlbnZpcm9uLCBjZmcpCmdtYWtlMi5wcmVwYXJlRW52aXJvbm1lbnQocnVsZSwgZW52aXJvbiwgZmlsZWNmZykKZW5kCmxvY2FsIHNoYWRvd0NvbnRleHQgPSBwLmNvbnRleHQuZXh0ZW50KHJ1bGUsIGVudmlyb24pCmxvY2FsIGJ1aWxkb3V0cHV0cyAgPSBzaGFkb3dDb250ZXh0LmJ1aWxkb3V0cHV0cwpsb2NhbCBidWlsZG1lc3NhZ2UgID0gc2hhZG93Q29udGV4dC5idWlsZG1lc3NhZ2UKbG9jYWwgYnVpbGRjb21tYW5kcyA9IHNoYWRvd0NvbnRleHQuYnVpbGRjb21tYW5kcwpsb2NhbCBidWlsZGlucHV0cyAgID0gc2hhZG93Q29udGV4dC5idWlsZGlucHV0cwpidWlsZG91dHB1dHMgPSBwLnByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGJ1aWxkb3V0cHV0cykKaWYgYnVpbGRvdXRwdXRzIGFuZCAjYnVpbGRvdXRwdXRzID4gMCB0aGVuCmxvY2FsIGZpbGUgPSB7CmJ1aWxkb3V0cHV0cyAgPSBidWlsZG91dHB1dHMsCnNvdXJjZSAgICAgICAgPSBub2RlLnJlbHBhdGgsCmJ1aWxkbWVzc2FnZSAgPSBidWlsZG1lc3NhZ2UsCmJ1aWxkY29tbWFuZHMgPSBidWlsZGNvbW1hbmRzLApidWlsZGlucHV0cyAgID0gYnVpbGRpbnB1dHMKfQp0YWJsZS5pbnNlcnQoY2ZnLl9nbWFrZS5maWxlUnVsZXMsIGZpbGUpCmZvciBfLCBvdXRwdXQgaW4gaXBhaXJzKGJ1aWxkb3V0cHV0cykgZG8KdXRpbGl0eS5hZGRHZW5lcmF0ZWRGaWxlKGNmZywgbm9kZSwgb3V0cHV0KQplbmQKZW5kCmVuZAplbmQKdXRpbGl0eS5lbGVtZW50cy5jb25maWd1cmF0aW9uID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4gewp1dGlsaXR5LmJpbmRpcnMsCnV0aWxpdHkuZXhlcGF0aHMsCmdtYWtlMi5zZXR0aW5ncywKZ21ha2UyLnByZUJ1aWxkQ21kcywKZ21ha2UyLnByZUxpbmtDbWRzLApnbWFrZTIucG9zdEJ1aWxkQ21kcywKfQplbmQKZnVuY3Rpb24gdXRpbGl0eS5vdXRwdXRDb25maWd1cmF0aW9uU2VjdGlvbihwcmopCl9wKCcjIENvbmZpZ3VyYXRpb25zJykKX3AoJyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjJykKX3AoJycpCmdtYWtlMi5vdXRwdXRTZWN0aW9uKHByaiwgdXRpbGl0eS5lbGVtZW50cy5jb25maWd1cmF0aW9uKQplbmQKZnVuY3Rpb24gdXRpbGl0eS5iaW5kaXJzKGNmZywgdG9vbHNldCkKbG9jYWwgZGlycyA9IHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGNmZy5iaW5kaXJzKQppZiAjZGlycyA+IDAgdGhlbgpwLm91dGxuKCdFWEVDVVRBQkxFX1BBVEhTID0gIicgLi4gdGFibGUuY29uY2F0KGRpcnMsICI6IikgLi4gJyInKQplbmQKZW5kCmZ1bmN0aW9uIHV0aWxpdHkuZXhlcGF0aHMoY2ZnLCB0b29sc2V0KQpsb2NhbCBkaXJzID0gcHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgY2ZnLmJpbmRpcnMpCmlmICNkaXJzID4gMCB0aGVuCnAub3V0bG4oJ0VYRV9QQVRIUyA9IFBBVEg9JChFWEVDVVRBQkxFX1BBVEhTKTokJFBBVEg7JykKZW5kCmVuZAp1dGlsaXR5LmVsZW1lbnRzLmZpbGVzZXRzID0gZnVuY3Rpb24oY2ZnKQpsb2NhbCByZXN1bHQgPSB7fQpmb3IgXywga2luZCBpbiBpcGFpcnMoY2ZnLl9nbWFrZS5raW5kcykgZG8KZm9yIF8sIGYgaW4gaXBhaXJzKGNmZy5fZ21ha2UuZmlsZXNldHNba2luZF0pIGRvCnRhYmxlLmluc2VydChyZXN1bHQsIGZ1bmN0aW9uKGNmZywgdG9vbHNldCkKdXRpbGl0eS5vdXRwdXRGaWxlc2V0KGNmZywga2luZCwgZikKZW5kKQplbmQKZW5kCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIHV0aWxpdHkub3V0cHV0RmlsZXNTZWN0aW9uKHByaikKX3AoJyMgRmlsZSBzZXRzJykKX3AoJyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjJykKX3AoJycpCmZvciBfLCBraW5kIGluIGlwYWlycyhwcmouX2dtYWtlLmtpbmRzKSBkbwpfeCgnJXMgOj0nLCBraW5kKQplbmQKX3goJycpCmdtYWtlMi5vdXRwdXRTZWN0aW9uKHByaiwgdXRpbGl0eS5lbGVtZW50cy5maWxlc2V0cykKZW5kCmZ1bmN0aW9uIHV0aWxpdHkub3V0cHV0RmlsZXNldChjZmcsIGtpbmQsIGZpbGUpCl94KCclcyArPSAlcycsIGtpbmQsIGZpbGUpCmVuZAp1dGlsaXR5LmVsZW1lbnRzLnJ1bGVzID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4gewp1dGlsaXR5LmFsbFJ1bGVzLAp1dGlsaXR5LnRhcmdldFJ1bGVzLApnbWFrZTIudGFyZ2V0RGlyUnVsZXMsCnV0aWxpdHkuY2xlYW5SdWxlcywKfQplbmQKZnVuY3Rpb24gdXRpbGl0eS5vdXRwdXRSdWxlc1NlY3Rpb24ocHJqKQpfcCgnIyBSdWxlcycpCl9wKCcjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIycpCl9wKCcnKQpnbWFrZTIub3V0cHV0U2VjdGlvbihwcmosIHV0aWxpdHkuZWxlbWVudHMucnVsZXMpCmVuZApmdW5jdGlvbiB1dGlsaXR5LmFsbFJ1bGVzKGNmZywgdG9vbHNldCkKbG9jYWwgYWxsVGFyZ2V0cyA9ICdhbGw6ICQoVEFSR0VURElSKSAkKFRBUkdFVCknCmZvciBfLCBraW5kIGluIGlwYWlycyhjZmcuX2dtYWtlLmtpbmRzKSBkbwphbGxUYXJnZXRzID0gYWxsVGFyZ2V0cyAuLiAnICQoJyAuLiBraW5kIC4uICcpJwplbmQKX3AoYWxsVGFyZ2V0cykKX3AoJ1x0QDonKQpfcCgnJykKZW5kCmZ1bmN0aW9uIHV0aWxpdHkudGFyZ2V0UnVsZXMoY2ZnLCB0b29sc2V0KQpsb2NhbCB0YXJnZXRzID0gJycKZm9yIF8sIGtpbmQgaW4gaXBhaXJzKGNmZy5fZ21ha2Uua2luZHMpIGRvCnRhcmdldHMgPSB0YXJnZXRzIC4uICckKCcgLi4ga2luZCAuLiAnKSAnCmVuZApfcCgnJChUQVJHRVQpOiAlcycsIHRhcmdldHMpCl9wKCdcdCQoUFJFQlVJTERDTURTKScpCl9wKCdcdCQoUFJFTElOS0NNRFMpJykKX3AoJ1x0JChQT1NUQlVJTERDTURTKScpCl9wKCcnKQplbmQKZnVuY3Rpb24gdXRpbGl0eS5jbGVhblJ1bGVzKGNmZywgdG9vbHNldCkKX3AoJ2NsZWFuOicpCl9wKCdcdEBlY2hvIENsZWFuaW5nICVzJywgY2ZnLnByb2plY3QubmFtZSkKX3AoJycpCmVuZAp1dGlsaXR5LmVsZW1lbnRzLmZpbGVSdWxlcyA9IGZ1bmN0aW9uKGNmZykKbG9jYWwgZnVuY3MgPSB7fQpmb3IgXywgZmlsZVJ1bGUgaW4gaXBhaXJzKGNmZy5fZ21ha2UuZmlsZVJ1bGVzKSBkbwp0YWJsZS5pbnNlcnQoZnVuY3MsIGZ1bmN0aW9uKGNmZywgdG9vbHNldCkKdXRpbGl0eS5vdXRwdXRGaWxlUnVsZXMoY2ZnLCBmaWxlUnVsZSkKZW5kKQplbmQKcmV0dXJuIGZ1bmNzCmVuZApmdW5jdGlvbiB1dGlsaXR5Lm91dHB1dEZpbGVSdWxlU2VjdGlvbihwcmopCl9wKCcjIEZpbGUgUnVsZXMnKQpfcCgnIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMnKQpfcCgnJykKZ21ha2UyLm91dHB1dFNlY3Rpb24ocHJqLCB1dGlsaXR5LmVsZW1lbnRzLmZpbGVSdWxlcykKZW5kCmZ1bmN0aW9uIHV0aWxpdHkub3V0cHV0RmlsZVJ1bGVzKGNmZywgZmlsZSkKbG9jYWwgb3V0cHV0cyA9IHRhYmxlLmNvbmNhdChmaWxlLmJ1aWxkb3V0cHV0cywgJyAnKQpsb2NhbCBkZXBlbmRlbmNpZXMgPSBwLmVzYyhmaWxlLnNvdXJjZSkKaWYgZmlsZS5idWlsZGlucHV0cyBhbmQgI2ZpbGUuYnVpbGRpbnB1dHMgPiAwIHRoZW4KZGVwZW5kZW5jaWVzID0gZGVwZW5kZW5jaWVzIC4uICIgIiAuLiB0YWJsZS5jb25jYXQocC5lc2MoZmlsZS5idWlsZGlucHV0cyksICIgIikKZW5kCl9wKCclczogJXMnLCBvdXRwdXRzLCBkZXBlbmRlbmNpZXMpCmlmIGZpbGUuYnVpbGRtZXNzYWdlIHRoZW4KX3AoJ1x0QGVjaG8gJXMnLCBmaWxlLmJ1aWxkbWVzc2FnZSkKZW5kCmlmIGZpbGUuYnVpbGRjb21tYW5kcyB0aGVuCmxvY2FsIGNtZHMgPSBvcy50cmFuc2xhdGVDb21tYW5kc0FuZFBhdGhzKGZpbGUuYnVpbGRjb21tYW5kcywgY2ZnLnByb2plY3QuYmFzZWRpciwgY2ZnLnByb2plY3QubG9jYXRpb24pCmZvciBfLCBjbWQgaW4gaXBhaXJzKGNtZHMpIGRvCmlmIGNmZy5iaW5kaXJzIGFuZCAjY2ZnLmJpbmRpcnMgPiAwIHRoZW4KX3AoJ1x0JChTSUxFTlQpICQoRVhFX1BBVEhTKSAlcycsIGNtZCkKZWxzZQpfcCgnXHQkKFNJTEVOVCkgJXMnLCBjbWQpCmVuZAplbmQKZW5kCmVuZAoAyKhTAMyoUwDQqFMA1KhTANioUwDcqFMA4KhTAOSoUwDoqFMA7KhTAPCoUwD0qFMAAAAAAGxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKbG9jYWwgdHJlZSA9IHAudHJlZQpsb2NhbCBtID0gcC52c3R1ZGlvLnZjMjAxMApmdW5jdGlvbiBtLmdlbmVyYXRlRmlsdGVycyhwcmopCm0ueG1sRGVjbGFyYXRpb24oKQptLmZpbHRlcnNQcm9qZWN0KCkKbS51bmlxdWVJZGVudGlmaWVycyhwcmopCm0uZmlsdGVyR3JvdXBzKHByaikKcC5vdXQoJzwvUHJvamVjdD4nKQplbmQKZnVuY3Rpb24gbS5maWx0ZXJzUHJvamVjdCgpCmxvY2FsIGFjdGlvbiA9IHAuYWN0aW9uLmN1cnJlbnQoKQpwLnB1c2goJzxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iJXMiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPicsCmFjdGlvbi52c3R1ZGlvLmZpbHRlclRvb2xzVmVyc2lvbiBvciBhY3Rpb24udnN0dWRpby50b29sc1ZlcnNpb24pCmVuZApmdW5jdGlvbiBtLmZpbHRlckdyb3VwcyhwcmopCmxvY2FsIGdyb3VwcyA9IG0uY2F0ZWdvcml6ZVNvdXJjZXMocHJqKQpmb3IgXywgZ3JvdXAgaW4gaXBhaXJzKGdyb3VwcykgZG8KZ3JvdXAuY2F0ZWdvcnkuZW1pdEZpbHRlcihwcmosIGdyb3VwKQplbmQKZW5kCmZ1bmN0aW9uIG0udW5pcXVlSWRlbnRpZmllcnMocHJqKQpsb2NhbCB0ciA9IHByb2plY3QuZ2V0c291cmNldHJlZShwcmopCmxvY2FsIGNvbnRlbnRzID0gcC5jYXB0dXJlKGZ1bmN0aW9uKCkKcC5wdXNoKCkKdHJlZS50cmF2ZXJzZSh0ciwgewpvbmJyYW5jaCA9IGZ1bmN0aW9uKG5vZGUsIGRlcHRoKQpwLnB1c2goJzxGaWx0ZXIgSW5jbHVkZT0iJXMiPicsIHBhdGgudHJhbnNsYXRlKG5vZGUucGF0aCwgJ1xcJykpCnAudygnPFVuaXF1ZUlkZW50aWZpZXI+eyVzfTwvVW5pcXVlSWRlbnRpZmllcj4nLCBvcy51dWlkKG5vZGUucGF0aCkpCnAucG9wKCc8L0ZpbHRlcj4nKQplbmQKfSwgZmFsc2UpCnAucG9wKCkKZW5kKQppZiAjY29udGVudHMgPiAwIHRoZW4KcC5wdXNoKCc8SXRlbUdyb3VwPicpCnAub3V0bG4oY29udGVudHMpCnAucG9wKCc8L0l0ZW1Hcm91cD4nKQplbmQKZW5kCmZ1bmN0aW9uIG0uZmlsdGVyR3JvdXAocHJqLCBncm91cCwgdGFnKQpsb2NhbCBmaWxlcyA9IGdyb3VwLmZpbGVzCmlmIGZpbGVzIGFuZCAjZmlsZXMgPiAwIHRoZW4KcC5wdXNoKCc8SXRlbUdyb3VwPicpCmZvciBfLCBmaWxlIGluIGlwYWlycyhmaWxlcykgZG8KaWYgZmlsZS5wYXJlbnQucGF0aCB0aGVuCnAucHVzaCgnPCVzIEluY2x1ZGU9XCIlc1wiPicsIHRhZywgcGF0aC50cmFuc2xhdGUoZmlsZS5yZWxwYXRoKSkKcC53KCc8RmlsdGVyPiVzPC9GaWx0ZXI+JywgcGF0aC50cmFuc2xhdGUoZmlsZS5wYXJlbnQucGF0aCwgJ1xcJykpCnAucG9wKCc8LyVzPicsIHRhZykKZWxzZQpwLncoJzwlcyBJbmNsdWRlPVwiJXNcIiAvPicsIHRhZywgcGF0aC50cmFuc2xhdGUoZmlsZS5yZWxwYXRoKSkKZW5kCmVuZApwLnBvcCgnPC9JdGVtR3JvdXA+JykKZW5kCmVuZAoAAGxvY2FsIHAgPSBwcmVtYWtlCnAuZGV0b2tlbiA9IHt9CmxvY2FsIGRldG9rZW4gPSBwLmRldG9rZW4KZnVuY3Rpb24gZGV0b2tlbi5leHBhbmQodmFsdWUsIGVudmlyb24sIGZpZWxkLCBiYXNlZGlyKQpmdW5jdGlvbiBleHBhbmR0b2tlbih0b2tlbiwgZSwgZikKbG9jYWwgdmFyTWFwID0ge30KaWYgZi5wYXRoVmFycyBvciBlLm92ZXJyaWRlUGF0aFZhcnMgdGhlbgpsb2NhbCBhY3Rpb24gPSBwLmFjdGlvbi5jdXJyZW50KCkKaWYgYWN0aW9uIHRoZW4KdmFyTWFwID0gYWN0aW9uLnBhdGhWYXJzIG9yIHt9CmVuZAplbmQKbG9jYWwgZW52TWFwID0gZS5wYXRoVmFycyBvciB7fQpzZXRtZXRhdGFibGUoZSwge19faW5kZXggPSBfR30pCmxvY2FsIGlzQWJzID0gZmFsc2UKbG9jYWwgZXJyCmxvY2FsIHJlc3VsdApsb2NhbCBzdWNjZXNzCmxvY2FsIGRvbnRNYWtlUmVsYXRpdmUgPSB0b2tlbjpzdGFydHN3aXRoKCchJykKaWYgZG9udE1ha2VSZWxhdGl2ZSB0aGVuCnRva2VuID0gdG9rZW46c3ViKDIsIC0xKQplbmQKbG9jYWwgbWFwcGVkID0gZW52TWFwW3Rva2VuXSBvciB2YXJNYXBbdG9rZW5dCmlmIG1hcHBlZCB0aGVuCmVyciAgICA9IG5pbApyZXN1bHQgPSBtYXBwZWQKaWYgdHlwZShyZXN1bHQpID09ICJmdW5jdGlvbiIgdGhlbgpzdWNjZXNzLCByZXN1bHQgPSBwY2FsbChyZXN1bHQsIGUpCmlmIG5vdCBzdWNjZXNzIHRoZW4KcmV0dXJuIG5pbCwgcmVzdWx0CmVuZAplbmQKaWYgKHR5cGUocmVzdWx0KSA9PSAidGFibGUiKSB0aGVuCmlzQWJzICA9IHJlc3VsdC5hYnNvbHV0ZQpyZXN1bHQgPSByZXN1bHQudG9rZW4KZWxzZQppc0FicyA9IHBhdGguaXNhYnNvbHV0ZShyZXN1bHQpCmVuZAplbHNlCmxvY2FsIGZ1bmMKZnVuYywgZXJyID0gbG9hZCgicmV0dXJuICIgLi4gdG9rZW4sIG5pbCwgJ3QnLCBlKQppZiBub3QgZnVuYyB0aGVuCnJldHVybiBuaWwsICJsb2FkIGVycm9yOiAiIC4uIGVycgplbmQKc3VjY2VzcywgcmVzdWx0ID0gcGNhbGwoZnVuYykKaWYgbm90IHN1Y2Nlc3MgdGhlbgplcnIgICAgPSByZXN1bHQKcmVzdWx0ID0gbmlsCmVsc2UKZXJyICAgID0gbmlsCnJlc3VsdCA9IHJlc3VsdCBvciAiIgplbmQKaWYgcmVzdWx0IH49IG5pbCB0aGVuCnJlc3VsdCA9IHRvc3RyaW5nKHJlc3VsdCkKaWYgcGF0aC5oYXNkZWZlcnJlZGpvaW4ocmVzdWx0KSB0aGVuCnJlc3VsdCA9IHBhdGgucmVzb2x2ZWRlZmVycmVkam9pbihyZXN1bHQpCmVuZAppc0FicyA9IHBhdGguaXNhYnNvbHV0ZShyZXN1bHQpCmlmIGlzQWJzIGFuZCBub3QgZi5wYXRocyBhbmQgYmFzZWRpciBhbmQgbm90IGRvbnRNYWtlUmVsYXRpdmUgdGhlbgpyZXN1bHQgPSBwYXRoLmdldHJlbGF0aXZlKGJhc2VkaXIsIHJlc3VsdCkKZW5kCmVuZAplbmQKaWYgcmVzdWx0IH49IG5pbCBhbmQgaXNBYnMgYW5kIGYucGF0aHMgdGhlbgpyZXN1bHQgPSAiXDAiIC4uIHJlc3VsdAplbmQKcmV0dXJuIHJlc3VsdCwgZXJyCmVuZApmdW5jdGlvbiBleHBhbmR2YWx1ZSh2YWx1ZSwgZSwgZikKaWYgdHlwZSh2YWx1ZSkgfj0gInN0cmluZyIgdGhlbgpyZXR1cm4gdmFsdWUKZW5kCmxvY2FsIGNvdW50CnJlcGVhdAp2YWx1ZSwgY291bnQgPSB2YWx1ZTpnc3ViKCIlJXsoLi0pfSIsIGZ1bmN0aW9uKHRva2VuKQpsb2NhbCByZXN1bHQsIGVyciA9IGV4cGFuZHRva2VuKHRva2VuOmdzdWIoIlxcIiwgIlxcXFwiKSwgZSwgZikKaWYgZXJyIHRoZW4KZXJyb3IoZXJyIC4uICIgaW4gdG9rZW46ICIgLi4gdG9rZW4sIDApCmVuZAppZiBub3QgcmVzdWx0IHRoZW4KZXJyb3IoIlRva2VuIHJldHVybmVkIG5pbCwgaXQgbWF5IG5vdCBleGlzdDogIiAuLiB0b2tlbiwgMCkKZW5kCnJldHVybiByZXN1bHQKZW5kKQp1bnRpbCBjb3VudCA9PSAwCmlmIGYucGF0aHMgdGhlbgpsb2NhbCBpLCBqCnJlcGVhdAppLCBqID0gdmFsdWU6ZmluZCgiXDAiKQppZiBpIHRoZW4KdmFsdWUgPSB2YWx1ZTpzdWIoaSArIDEpCmVuZAp1bnRpbCBub3QgaQplbmQKcmV0dXJuIHZhbHVlCmVuZApsb2NhbCBleHBhbmRfY2FjaGUgPSB7fQpmdW5jdGlvbiByZWN1cnNlKHZhbHVlLCBlLCBmKQppZiB0eXBlKHZhbHVlKSA9PSAidGFibGUiIHRoZW4KbG9jYWwgcmVzX3RhYmxlID0ge30KZm9yIGssIHYgaW4gcGFpcnModmFsdWUpIGRvCmlmIHRvbnVtYmVyKGspIH49IG5pbCB0aGVuCnJlc190YWJsZVtrXSA9IHJlY3Vyc2UodiwgZSwgZikKZWxzZQpsb2NhbCBuayA9IHJlY3Vyc2UoaywgZSwgZikKcmVzX3RhYmxlW25rXSA9IHJlY3Vyc2UodiwgZSwgZikKZW5kCmVuZApyZXR1cm4gcmVzX3RhYmxlCmVsc2UKbG9jYWwgcmVzID0gZXhwYW5kX2NhY2hlW3ZhbHVlXQppZiByZXMgPT0gbmlsIHRoZW4KaWYgdHlwZSh2YWx1ZSkgPT0gInN0cmluZyIgYW5kIHBhdGguaGFzZGVmZXJyZWRqb2luKHZhbHVlKSB0aGVuCnZhbHVlID0gcGF0aC5yZXNvbHZlZGVmZXJyZWRqb2luKHZhbHVlKQplbmQKcmVzID0gZXhwYW5kdmFsdWUodmFsdWUsIGUsIGYpCmV4cGFuZF9jYWNoZVt2YWx1ZV0gPSByZXMKZW5kCnJldHVybiByZXMKZW5kCmVuZApyZXR1cm4gcmVjdXJzZSh2YWx1ZSwgZW52aXJvbiwgZmllbGQgb3Ige30pCmVuZAoAAAAAbG9jYWwgcCA9IHByZW1ha2UKcC5tb2R1bGVzLnNlbGZfdGVzdCA9IHt9CmxvY2FsIG0gPSBwLm1vZHVsZXMuc2VsZl90ZXN0Cm0uX1ZFUlNJT04gPSBwLl9WRVJTSU9OCm5ld2FjdGlvbiB7CnRyaWdnZXIgPSAic2VsZi10ZXN0IiwKc2hvcnRuYW1lICA9ICJUZXN0IFByZW1ha2UiLApkZXNjcmlwdGlvbiA9ICJSdW4gUHJlbWFrZSdzIG93biBsb2NhbCB1bml0IHRlc3Qgc3VpdGVzIiwKZXhlY3V0ZSA9IGZ1bmN0aW9uKCkKbS5leGVjdXRlU2VsZlRlc3QoKQplbmQKfQpuZXdvcHRpb24gewp0cmlnZ2VyID0gInRlc3Qtb25seSIsCnZhbHVlID0gInN1aXRlWy50ZXN0XSIsCmRlc2NyaXB0aW9uID0gIkZvciBzZWxmLXRlc3QgYWN0aW9uOyBydW4gc3BlY2lmaWMgc3VpdGUgb3IgdGVzdCIKfQpmdW5jdGlvbiBtLmV4ZWN1dGVTZWxmVGVzdCgpCm0uZGV0ZWN0RHVwbGljYXRlVGVzdHMgPSB0cnVlCm0ubG9hZFRlc3RzRnJvbU1hbmlmZXN0cygpCm0uZGV0ZWN0RHVwbGljYXRlVGVzdHMgPSBmYWxzZQpsb2NhbCB0ZXN0LCBlcnIgPSBtLmdldFRlc3RXaXRoSWRlbnRpZmllcihfT1BUSU9OU1sidGVzdC1vbmx5Il0pCmlmIGVyciB0aGVuCmVycm9yKGVyciwgMCkKZW5kCmxvY2FsIHBhc3NlZCwgZmFpbGVkID0gbS5ydW5UZXN0KHRlc3QpCmlmIGZhaWxlZCA+IDAgdGhlbgpwcmludGYoIlxuICVkIEZBSUxFRCBURVNUJXMiLCBmYWlsZWQsIGlpZihmYWlsZWQgPiAxLCAiUyIsICIiKSkKb3MuZXhpdCg1KQplbmQKZW5kCmZ1bmN0aW9uIG0ubG9hZFRlc3RzRnJvbU1hbmlmZXN0cygpCmxvY2FsIG1hc2sgPSBwYXRoLmpvaW4oX01BSU5fU0NSSVBUX0RJUiwgIioqL3Rlc3RzL190ZXN0cy5sdWEiKQpsb2NhbCBtYW5pZmVzdHMgPSBvcy5tYXRjaGZpbGVzKG1hc2spCmxvY2FsIHRvcCA9IHBhdGguam9pbihfTUFJTl9TQ1JJUFRfRElSLCAidGVzdHMvX3Rlc3RzLmx1YSIpCmlmIG9zLmlzZmlsZSh0b3ApIHRoZW4KdGFibGUuaW5zZXJ0KG1hbmlmZXN0cywgMSwgdG9wKQplbmQKZm9yIGkgPSAxLCAjbWFuaWZlc3RzIGRvCmxvY2FsIG1hbmlmZXN0ID0gbWFuaWZlc3RzW2ldCl9URVNUU19ESVIgPSBwYXRoLmdldGRpcmVjdG9yeShtYW5pZmVzdCkKbG9jYWwgZmlsZXMgPSBkb2ZpbGUobWFuaWZlc3QpCmZvciBpID0gMSwgI2ZpbGVzIGRvCmxvY2FsIGZpbGVuYW1lID0gcGF0aC5qb2luKF9URVNUU19ESVIsIGZpbGVzW2ldKQpkb2ZpbGUoZmlsZW5hbWUpCmVuZAplbmQKZW5kCmRvZmlsZSgidGVzdF9hc3NlcnRpb25zLmx1YSIpCmRvZmlsZSgidGVzdF9kZWNsYXJlLmx1YSIpCmRvZmlsZSgidGVzdF9oZWxwZXJzLmx1YSIpCmRvZmlsZSgidGVzdF9ydW5uZXIubHVhIikKcmV0dXJuIG0KAAAAAABsb2NhbCBwID0gcHJlbWFrZQpwLmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAieGNvZGVidWlsZHNldHRpbmdzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJrZXktYXJyYXkiLAp9CnAuYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJ4Y29kZWJ1aWxkcmVzb3VyY2VzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0IiwKfQpwLmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAieGNvZGVjb2Rlc2lnbmluZ2lkZW50aXR5IiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAp9CnAuYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJ4Y29kZXN5c3RlbWNhcGFiaWxpdGllcyIsCnNjb3BlID0gInByb2plY3QiLApraW5kID0gImtleS1ib29sZWFuIiwKfQpwLmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiaW9zZmFtaWx5IiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAphbGxvd2VkID0gewoiaVBob25lL2lQb2QgdG91Y2giLAoiaVBhZCIsCiJVbml2ZXJzYWwiLAp9Cn0KbmV3YWN0aW9uIHsKdHJpZ2dlciAgICAgPSAieGNvZGU0IiwKc2hvcnRuYW1lICAgPSAiQXBwbGUgWGNvZGUgNCIsCmRlc2NyaXB0aW9uID0gIkdlbmVyYXRlIEFwcGxlIFhjb2RlIDQgcHJvamVjdCBmaWxlcyIsCnRvb2xzZXQgID0gImNsYW5nIiwKdmFsaWRfa2luZHMgICAgID0geyAiQ29uc29sZUFwcCIsICJXaW5kb3dlZEFwcCIsICJTaGFyZWRMaWIiLCAiU3RhdGljTGliIiwgIk1ha2VmaWxlIiwgIlV0aWxpdHkiLCAiTm9uZSIgfSwKdmFsaWRfbGFuZ3VhZ2VzID0geyAiQyIsICJDKysiIH0sCnZhbGlkX3Rvb2xzICAgICA9IHsKY2MgPSB7ICJnY2MiLCAiY2xhbmciIH0sCn0sCm9uV29ya3NwYWNlID0gZnVuY3Rpb24od2tzKQpwLmdlbmVyYXRlKHdrcywgIi54Y3dvcmtzcGFjZS9jb250ZW50cy54Y3dvcmtzcGFjZWRhdGEiLCBwLm1vZHVsZXMueGNvZGUuZ2VuZXJhdGVXb3Jrc3BhY2UpCmVuZCwKb25Qcm9qZWN0ID0gZnVuY3Rpb24ocHJqKQpwLmdlbmVyYXRlKHByaiwgIi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIiwgcC5tb2R1bGVzLnhjb2RlLmdlbmVyYXRlUHJvamVjdCkKZW5kLAp9CnJldHVybiBmdW5jdGlvbihjZmcpCnJldHVybiAoX0FDVElPTiA9PSAieGNvZGU0IikKZW5kCgAAADEuMi44AAAAAAAAAGpzb24gPSB7fQpsb2NhbCBpbXBsZW1lbnRhdGlvbiA9IGRvZmlsZSgnanNvbi5sdWEnKQpsb2NhbCBlcnIKanNvbi5pbXBsZW1lbnRhdGlvbiA9IGltcGxlbWVudGF0aW9uCmZ1bmN0aW9uIGltcGxlbWVudGF0aW9uLmFzc2VydChjb25kaXRpb24sIG1lc3NhZ2UpCmlmIG5vdCBjb25kaXRpb24gdGhlbgplcnIgPSBtZXNzYWdlCmVuZAphc3NlcnQoY29uZGl0aW9uLCBtZXNzYWdlKQplbmQKZnVuY3Rpb24ganNvbi5lbmNvZGUodmFsdWUpCmVyciA9IG5pbApsb2NhbCBzdWNjZXNzLCByZXN1bHQgPSBwY2FsbChpbXBsZW1lbnRhdGlvbi5lbmNvZGUsIGltcGxlbWVudGF0aW9uLCB2YWx1ZSkKaWYgbm90IHN1Y2Nlc3MgdGhlbgpyZXR1cm4gbmlsLCBlcnIKZW5kCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIGpzb24uZW5jb2RlX3ByZXR0eSh2YWx1ZSkKZXJyID0gbmlsCmxvY2FsIHN1Y2Nlc3MsIHJlc3VsdCA9IHBjYWxsKGltcGxlbWVudGF0aW9uLmVuY29kZV9wcmV0dHksIGltcGxlbWVudGF0aW9uLCB2YWx1ZSkKaWYgbm90IHN1Y2Nlc3MgdGhlbgpyZXR1cm4gbmlsLCBlcnIKZW5kCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIGpzb24uZGVjb2RlKHZhbHVlKQplcnIgPSBuaWwKbG9jYWwgc3VjY2VzcywgcmVzdWx0ID0gcGNhbGwoaW1wbGVtZW50YXRpb24uZGVjb2RlLCBpbXBsZW1lbnRhdGlvbiwgdmFsdWUpCmlmIG5vdCBzdWNjZXNzIHRoZW4KcmV0dXJuIG5pbCwgZXJyCmVuZApyZXR1cm4gcmVzdWx0CmVuZAoAcHJlbWFrZSA9IHByZW1ha2Ugb3Ige30KcHJlbWFrZS5fVkVSU0lPTiA9IF9QUkVNQUtFX1ZFUlNJT04KcGFja2FnZS5sb2FkZWRbInByZW1ha2UiXSA9IHByZW1ha2UKcHJlbWFrZS5tb2R1bGVzID0ge30KcHJlbWFrZS5leHRlbnNpb25zID0gcHJlbWFrZS5tb2R1bGVzCmxvY2FsIHNlbXZlciA9IGRvZmlsZSgnc2VtdmVyLmx1YScpCmxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIF93YXJuaW5ncyA9IHt9CmxvY2FsIF9hbGlhc2VzID0ge30KcHJlbWFrZS5DICAgICAgICAgICA9ICJDIgpwcmVtYWtlLkM3ICAgICAgICAgID0gImM3IgpwcmVtYWtlLkNMQU5HICAgICAgID0gImNsYW5nIgpwcmVtYWtlLkNPTlNPTEVBUFAgID0gIkNvbnNvbGVBcHAiCnByZW1ha2UuQ1BQICAgICAgICAgPSAiQysrIgpwcmVtYWtlLkNTSEFSUCAgICAgID0gIkMjIgpwcmVtYWtlLkdDQyAgICAgICAgID0gImdjYyIKcHJlbWFrZS5IQUlLVSAgICAgICA9ICJoYWlrdSIKcHJlbWFrZS5BTkRST0lEICAgICA9ICJhbmRyb2lkIgpwcmVtYWtlLklPUyAgICAgICAgID0gImlvcyIKcHJlbWFrZS5MSU5VWCAgICAgICA9ICJsaW51eCIKcHJlbWFrZS5NQUNPU1ggICAgICA9ICJtYWNvc3giCnByZW1ha2UuTUFLRUZJTEUgICAgPSAiTWFrZWZpbGUiCnByZW1ha2UuTUJDUyAgICAgICAgPSAiTUJDUyIKcHJlbWFrZS5OT05FICAgICAgICA9ICJOb25lIgpwcmVtYWtlLkRFRkFVTFQgICAgID0gIkRlZmF1bHQiCnByZW1ha2UuT04gICAgICAgICAgPSAiT24iCnByZW1ha2UuT0ZGICAgICAgICAgPSAiT2ZmIgpwcmVtYWtlLlBPU0lYICAgICAgID0gInBvc2l4IgpwcmVtYWtlLlBTMyAgICAgICAgID0gInBzMyIKcHJlbWFrZS5TSEFSRURMSUIgICA9ICJTaGFyZWRMaWIiCnByZW1ha2UuU1RBVElDTElCICAgPSAiU3RhdGljTGliIgpwcmVtYWtlLlVOSUNPREUgICAgID0gIlVuaWNvZGUiCnByZW1ha2UuVU5JVkVSU0FMICAgPSAidW5pdmVyc2FsIgpwcmVtYWtlLlVUSUxJVFkgICAgID0gIlV0aWxpdHkiCnByZW1ha2UuUEFDS0FHSU5HICAgPSAiUGFja2FnaW5nIgpwcmVtYWtlLldJTkRPV0VEQVBQID0gIldpbmRvd2VkQXBwIgpwcmVtYWtlLldJTkRPV1MgICAgID0gIndpbmRvd3MiCnByZW1ha2UuWDg2ICAgICAgICAgPSAieDg2IgpwcmVtYWtlLlg4Nl82NCAgICAgID0gIng4Nl82NCIKcHJlbWFrZS5BUk0gICAgICAgICA9ICJBUk0iCnByZW1ha2UuQVJNNjQgICAgICAgPSAiQVJNNjQiCmZ1bmN0aW9uIHAuYWxpYXMoc2NvcGUsIGNhbm9uaWNhbCwgYWxpYXMpCnNjb3BlLCBjYW5vbmljYWwgPSBwLnJlc29sdmVBbGlhcyhzY29wZSwgY2Fub25pY2FsKQppZiBub3Qgc2NvcGVbY2Fub25pY2FsXSB0aGVuCmVycm9yKCJ1bmFibGUgdG8gYWxpYXMgJyIgLi4gY2Fub25pY2FsIC4uICInOyBubyBzdWNoIGZ1bmN0aW9uIiwgMikKZW5kCl9hbGlhc2VzW3Njb3BlXSA9IF9hbGlhc2VzW3Njb3BlXSBvciB7fQpfYWxpYXNlc1tzY29wZV1bYWxpYXNdID0gY2Fub25pY2FsCnNjb3BlW2FsaWFzXSA9IGZ1bmN0aW9uKC4uLikKcmV0dXJuIHNjb3BlW2Nhbm9uaWNhbF0oLi4uKQplbmQKZW5kCmZ1bmN0aW9uIHByZW1ha2UuY2FsbEFycmF5KGZ1bmNzLCAuLi4pCmlmIHR5cGUoZnVuY3MpID09ICJmdW5jdGlvbiIgdGhlbgpmdW5jcyA9IGZ1bmNzKC4uLikKZW5kCmlmIGZ1bmNzIHRoZW4KZm9yIGkgPSAxLCAjZnVuY3MgZG8KZnVuY3NbaV0oLi4uKQplbmQKZW5kCmVuZApmdW5jdGlvbiBwcmVtYWtlLmNhbGxhcnJheShuYW1lc3BhY2UsIGFycmF5LCAuLi4pCmxvY2FsIG4gPSAjYXJyYXkKZm9yIGkgPSAxLCBuIGRvCmxvY2FsIGZuID0gbmFtZXNwYWNlW2FycmF5W2ldXQppZiBub3QgZm4gdGhlbgplcnJvcihzdHJpbmcuZm9ybWF0KCJVbmFibGUgdG8gZmluZCBmdW5jdGlvbiAnJXMnIiwgYXJyYXlbaV0pKQplbmQKZm4oLi4uKQplbmQKZW5kCmZ1bmN0aW9uIHAuY2hlY2tWZXJzaW9uKHZlcnNpb24sIGNoZWNrcykKaWYgbm90IHZlcnNpb24gdGhlbgpyZXR1cm4gZmFsc2UKZW5kCmlmIG5vdCBwcmVtYWtlLmlzU2VtVmVyKHZlcnNpb24pIHRoZW4KcC53YXJuKCInIiAuLiB2ZXJzaW9uIC4uICInIGlzIG5vdCBzZW12ZXIgY29tcGF0aWJsZSwgYW5kIGNhbm5vdCBiZSBjb21wYXJlZCBhZ2FpbnN0ICciIC4uIGNoZWNrcyAuLiAiJy4iKTsKcmV0dXJuIHRydWUKZW5kCmxvY2FsIGZ1bmN0aW9uIGVxKGEsIGIpIHJldHVybiBhID09IGIgZW5kCmxvY2FsIGZ1bmN0aW9uIGxlKGEsIGIpIHJldHVybiBhIDw9IGIgZW5kCmxvY2FsIGZ1bmN0aW9uIGx0KGEsIGIpIHJldHVybiBhIDwgYiAgZW5kCmxvY2FsIGZ1bmN0aW9uIGdlKGEsIGIpIHJldHVybiBhID49IGIgZW5kCmxvY2FsIGZ1bmN0aW9uIGd0KGEsIGIpIHJldHVybiBhID4gYiAgZW5kCmxvY2FsIGZ1bmN0aW9uIGNvbXBhdChhLCBiKSByZXR1cm4gYSBeIGIgIGVuZAp2ZXJzaW9uID0gc2VtdmVyKHZlcnNpb24pCmNoZWNrcyA9IHN0cmluZy5leHBsb2RlKGNoZWNrcywgIiAiLCB0cnVlKQpmb3IgaSA9IDEsICNjaGVja3MgZG8KbG9jYWwgY2hlY2sgPSBjaGVja3NbaV0KbG9jYWwgZnVuYwppZiBjaGVjazpzdGFydHN3aXRoKCI+PSIpIHRoZW4KZnVuYyA9IGdlCmNoZWNrID0gY2hlY2s6c3ViKDMpCmVsc2VpZiBjaGVjazpzdGFydHN3aXRoKCI+IikgdGhlbgpmdW5jID0gZ3QKY2hlY2sgPSBjaGVjazpzdWIoMikKZWxzZWlmIGNoZWNrOnN0YXJ0c3dpdGgoIjw9IikgdGhlbgpmdW5jID0gbGUKY2hlY2sgPSBjaGVjazpzdWIoMykKZWxzZWlmIGNoZWNrOnN0YXJ0c3dpdGgoIjwiKSB0aGVuCmZ1bmMgPSBsdApjaGVjayA9IGNoZWNrOnN1YigyKQplbHNlaWYgY2hlY2s6c3RhcnRzd2l0aCgiPSIpIHRoZW4KZnVuYyA9IGVxCmNoZWNrID0gY2hlY2s6c3ViKDIpCmVsc2VpZiBjaGVjazpzdGFydHN3aXRoKCJeIikgdGhlbgpmdW5jID0gY29tcGF0CmNoZWNrID0gY2hlY2s6c3ViKDIpCmVsc2UKZnVuYyA9IGdlCmVuZApjaGVjayA9IHNlbXZlcihjaGVjaykKaWYgbm90IGZ1bmModmVyc2lvbiwgY2hlY2spIHRoZW4KcmV0dXJuIGZhbHNlCmVuZAplbmQKcmV0dXJuIHRydWUKZW5kCmZ1bmN0aW9uIHByZW1ha2UuY2xlYXJXYXJuaW5ncygpCl93YXJuaW5ncyA9IHt9CmVuZApmdW5jdGlvbiBwcmVtYWtlLmVycm9yKG1lc3NhZ2UsIC4uLikKZXJyb3Ioc3RyaW5nLmZvcm1hdCgiKiogRXJyb3I6ICIgLi4gbWVzc2FnZSwgLi4uKSwgMCkKZW5kCmZ1bmN0aW9uIHByZW1ha2UuZmluZFByb2plY3RTY3JpcHQoZm5hbWUpCnJldHVybiBvcy5sb2NhdGUoZm5hbWUsIGZuYW1lIC4uICIubHVhIiwgcGF0aC5qb2luKGZuYW1lLCAicHJlbWFrZTUubHVhIiksIHBhdGguam9pbihmbmFtZSwgInByZW1ha2U0Lmx1YSIpKQplbmQKZnVuY3Rpb24gaWlmKGNvbmRpdGlvbiwgdHJ1ZVZhbHVlLCBmYWxzZVZhbHVlKQppZiBjb25kaXRpb24gdGhlbgpyZXR1cm4gdHJ1ZVZhbHVlCmVsc2UKcmV0dXJuIGZhbHNlVmFsdWUKZW5kCmVuZApmdW5jdGlvbiBwcmVtYWtlLm92ZXJyaWRlKHNjb3BlLCBuYW1lLCByZXBsKQpzY29wZSwgbmFtZSA9IHAucmVzb2x2ZUFsaWFzKHNjb3BlLCBuYW1lKQpsb2NhbCBvcmlnaW5hbCA9IHNjb3BlW25hbWVdCmlmIG5vdCBvcmlnaW5hbCB0aGVuCmVycm9yKCJ1bmFibGUgdG8gb3ZlcnJpZGUgJyIgLi4gbmFtZSAuLiAiJzsgbm8gc3VjaCBmdW5jdGlvbiIsIDIpCmVuZApzY29wZVtuYW1lXSA9IGZ1bmN0aW9uKC4uLikKcmV0dXJuIHJlcGwob3JpZ2luYWwsIC4uLikKZW5kCmlmIHNjb3BlID09IHByZW1ha2UubWFpbiB0aGVuCnRhYmxlLnJlcGxhY2UocHJlbWFrZS5tYWluLmVsZW1lbnRzLCBvcmlnaW5hbCwgc2NvcGVbbmFtZV0pCmVuZAplbmQKZnVuY3Rpb24gcC5yZXNvbHZlQWxpYXMoc2NvcGUsIG5hbWUpCmxvY2FsIGFsaWFzZXMgPSBfYWxpYXNlc1tzY29wZV0KaWYgYWxpYXNlcyB0aGVuCndoaWxlIGFsaWFzZXNbbmFtZV0gZG8KbmFtZSA9IGFsaWFzZXNbbmFtZV0KZW5kCmVuZApyZXR1cm4gc2NvcGUsIG5hbWUKZW5kCmZ1bmN0aW9uIHByZW1ha2Uud2FybihtZXNzYWdlLCAuLi4pCm1lc3NhZ2UgPSBzdHJpbmcuZm9ybWF0KG1lc3NhZ2UsIC4uLikKaWYgX09QVElPTlMuZmF0YWwgdGhlbgplcnJvcihtZXNzYWdlKQplbHNlCnRlcm0ucHVzaENvbG9yKHRlcm0ud2FybmluZ0NvbG9yKQppby5zdGRlcnI6d3JpdGUoc3RyaW5nLmZvcm1hdCgiKiogV2FybmluZzogIiAuLiBtZXNzYWdlIC4uICJcbiIsIC4uLikpCnRlcm0ucG9wQ29sb3IoKTsKZW5kCmVuZApmdW5jdGlvbiBwcmVtYWtlLndhcm5PbmNlKGtleSwgbWVzc2FnZSwgLi4uKQppZiBub3QgX3dhcm5pbmdzW2tleV0gdGhlbgpfd2FybmluZ3Nba2V5XSA9IHRydWUKcHJlbWFrZS53YXJuKG1lc3NhZ2UsIC4uLikKZW5kCmVuZApmdW5jdGlvbiBwcmVtYWtlLmluZm8obWVzc2FnZSwgLi4uKQptZXNzYWdlID0gc3RyaW5nLmZvcm1hdChtZXNzYWdlLCAuLi4pCnRlcm0ucHVzaENvbG9yKHRlcm0uaW5mb0NvbG9yKQppby5zdGRvdXQ6d3JpdGUoc3RyaW5nLmZvcm1hdCgiKiogSW5mbzogIiAuLiBtZXNzYWdlIC4uICJcbiIsIC4uLikpCnRlcm0ucG9wQ29sb3IoKTsKZW5kCmZ1bmN0aW9uIHByaW50Zihtc2csIC4uLikKcHJpbnQoc3RyaW5nLmZvcm1hdChtc2csIC4uLikpCmVuZApmdW5jdGlvbiB2ZXJib3NlZihtc2csIC4uLikKaWYgX09QVElPTlMudmVyYm9zZSB0aGVuCnByaW50KHN0cmluZy5mb3JtYXQobXNnLCAuLi4pKQplbmQKZW5kCmZ1bmN0aW9uIGZpbGVsaW5laW5mbyhsZXZlbCkKbG9jYWwgaW5mbyA9IGRlYnVnLmdldGluZm8obGV2ZWwrMSwgIlNsIikKaWYgaW5mbyA9PSBuaWwgdGhlbgpyZXR1cm4gbmlsCmVuZAppZiBpbmZvLndoYXQgPT0gIkMiIHRoZW4KcmV0dXJuICJDIGZ1bmN0aW9uIgplbHNlCmxvY2FsIHNlcCA9IGlpZihvcy5pc2hvc3QoJ3dpbmRvd3MnKSwgJ1xcJywgJy8nKQpyZXR1cm4gc3RyaW5nLmZvcm1hdCgiJXMoJWQpIiwgcGF0aC50cmFuc2xhdGUoaW5mby5zaG9ydF9zcmMsIHNlcCksIGluZm8uY3VycmVudGxpbmUpCmVuZAplbmQKZnVuY3Rpb24gcHJlbWFrZS5pc1NlbVZlcih2ZXJzaW9uKQpsb2NhbCBzTWFqb3IsIHNNaW5vciwgc1BhdGNoLCBzUHJlcmVsZWFzZUFuZEJ1aWxkID0gdmVyc2lvbjptYXRjaCgiXiglZCspJS4/KCVkKiklLj8oJWQqKSguLSkkIikKcmV0dXJuICh0eXBlKHNNYWpvcikgPT0gJ3N0cmluZycpCmVuZAoAbG9jYWwgcCAgICAgICA9IHByZW1ha2UKbG9jYWwgcHJvamVjdCA9IHAucHJvamVjdApwLm1vZHVsZXMuZ21ha2UyID0ge30KcC5tb2R1bGVzLmdtYWtlMi5fVkVSU0lPTiA9IHAuX1ZFUlNJT04KbG9jYWwgZ21ha2UyID0gcC5tb2R1bGVzLmdtYWtlMgpmdW5jdGlvbiBnbWFrZTIuZGVmYXVsdGNvbmZpZyh0YXJnZXQpCmxvY2FsIGVhY2hjb25maWcgPSBpaWYodGFyZ2V0LnByb2plY3QsIHByb2plY3QuZWFjaGNvbmZpZywgcC53b3Jrc3BhY2UuZWFjaGNvbmZpZykKbG9jYWwgZGVmYXVsdGNvbmZpZyA9IG5pbAppZiB0YXJnZXQuZGVmYXVsdHBsYXRmb3JtIHRoZW4KZm9yIGNmZyBpbiBlYWNoY29uZmlnKHRhcmdldCkgZG8KaWYgY2ZnLnBsYXRmb3JtID09IHRhcmdldC5kZWZhdWx0cGxhdGZvcm0gdGhlbgpkZWZhdWx0Y29uZmlnID0gY2ZnCmJyZWFrCmVuZAplbmQKZW5kCmlmIG5vdCBkZWZhdWx0Y29uZmlnIHRoZW4KbG9jYWwgaXRlciA9IGVhY2hjb25maWcodGFyZ2V0KQpkZWZhdWx0Y29uZmlnID0gaXRlcigpCmVuZAppZiBkZWZhdWx0Y29uZmlnIHRoZW4KX3AoJ2lmbmRlZiBjb25maWcnKQpfeCgnICBjb25maWc9JXMnLCBkZWZhdWx0Y29uZmlnLnNob3J0bmFtZSkKX3AoJ2VuZGlmJykKX3AoJycpCmVuZAplbmQKZnVuY3Rpb24gZ21ha2UyLmVzYyh2YWx1ZSkKcmVzdWx0ID0gdmFsdWU6Z3N1YigiXFwiLCAiXFxcXCIpCnJlc3VsdCA9IHJlc3VsdDpnc3ViKCJcIiIsICJcXFwiIikKcmVzdWx0ID0gcmVzdWx0OmdzdWIoIiAiLCAiXFwgIikKcmVzdWx0ID0gcmVzdWx0OmdzdWIoIiUoIiwgIlxcKCIpCnJlc3VsdCA9IHJlc3VsdDpnc3ViKCIlKSIsICJcXCkiKQpyZXN1bHQgPSByZXN1bHQ6Z3N1YigiJFxcJSgoLi0pXFwlKSIsICIkKCUxKSIpCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIGdtYWtlMi5nZXRtYWtlZmlsZW5hbWUodGhpcywgc2VhcmNocHJqcykKbG9jYWwgY291bnQgPSAwCmZvciB3a3MgaW4gcC5nbG9iYWwuZWFjaFdvcmtzcGFjZSgpIGRvCmlmIHdrcy5sb2NhdGlvbiA9PSB0aGlzLmxvY2F0aW9uIHRoZW4KY291bnQgPSBjb3VudCArIDEKZW5kCmlmIHNlYXJjaHByanMgdGhlbgpmb3IgXywgcHJqIGluIGlwYWlycyh3a3MucHJvamVjdHMpIGRvCmlmIHByai5sb2NhdGlvbiA9PSB0aGlzLmxvY2F0aW9uIHRoZW4KY291bnQgPSBjb3VudCArIDEKZW5kCmVuZAplbmQKZW5kCmlmIGNvdW50ID09IDEgdGhlbgpyZXR1cm4gIk1ha2VmaWxlIgplbHNlCnJldHVybiAiLm1ha2UiCmVuZAplbmQKZnVuY3Rpb24gZ21ha2UyLmhlYWRlcih0YXJnZXQpCmxvY2FsIGtpbmQgPSBpaWYodGFyZ2V0LnByb2plY3QsICJwcm9qZWN0IiwgIndvcmtzcGFjZSIpCl9wKCcjICVzICVzIG1ha2VmaWxlIGF1dG9nZW5lcmF0ZWQgYnkgUHJlbWFrZScsIHAuYWN0aW9uLmN1cnJlbnQoKS5zaG9ydG5hbWUsIGtpbmQpCl9wKCcnKQpnbWFrZTIuZGVmYXVsdGNvbmZpZyh0YXJnZXQpCl9wKCdpZm5kZWYgdmVyYm9zZScpCl9wKCcgIFNJTEVOVCA9IEAnKQpfcCgnZW5kaWYnKQpfcCgnJykKZW5kCmZ1bmN0aW9uIGdtYWtlMi5ta2RpcihkaXJuYW1lKQpfcCgnaWZlcSAocG9zaXgsJChTSEVMTFRZUEUpKScpCl9wKCdcdCQoU0lMRU5UKSBta2RpciAtcCAlcycsIGRpcm5hbWUpCl9wKCdlbHNlJykKX3AoJ1x0JChTSUxFTlQpIG1rZGlyICQoc3Vic3QgLyxcXFxcLCVzKScsIGRpcm5hbWUpCl9wKCdlbmRpZicpCmVuZApmdW5jdGlvbiBnbWFrZTIubWtkaXJSdWxlcyhkaXJuYW1lKQpfcCgnJXM6JywgZGlybmFtZSkKX3AoJ1x0QGVjaG8gQ3JlYXRpbmcgJXMnLCBkaXJuYW1lKQpnbWFrZTIubWtkaXIoZGlybmFtZSkKX3AoJycpCmVuZApmdW5jdGlvbiBnbWFrZTIubGlzdCh2YWx1ZSwgcXVvdGVkKQpxdW90ZWQgPSBmYWxzZQppZiAjdmFsdWUgPiAwIHRoZW4KaWYgcXVvdGVkIHRoZW4KbG9jYWwgcmVzdWx0ID0gIiIKZm9yIF8sIHYgaW4gaXBhaXJzICh2YWx1ZSkgZG8KaWYgI3Jlc3VsdCB0aGVuCnJlc3VsdCA9IHJlc3VsdCAuLiAiICIKZW5kCnJlc3VsdCA9IHJlc3VsdCAuLiBwLnF1b3RlZCh2KQplbmQKcmV0dXJuIHJlc3VsdAplbHNlCnJldHVybiAiICIgLi4gdGFibGUuY29uY2F0KHZhbHVlLCAiICIpCmVuZAplbHNlCnJldHVybiAiIgplbmQKZW5kCmZ1bmN0aW9uIGdtYWtlMi50b3Zhcih2YWx1ZSkKdmFsdWUgPSB2YWx1ZTpnc3ViKCJbIC1dIiwgIl8iKQp2YWx1ZSA9IHZhbHVlOmdzdWIoIlsoKV0iLCAiIikKcmV0dXJuIHZhbHVlCmVuZApmdW5jdGlvbiBnbWFrZTIucGF0aChjZmcsIHZhbHVlKQpjZmcgPSBjZmcucHJvamVjdCBvciBjZmcKbG9jYWwgZGlycyA9IHBhdGgudHJhbnNsYXRlKHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLCB2YWx1ZSkpCmlmIHR5cGUoZGlycykgPT0gJ3RhYmxlJyB0aGVuCmRpcnMgPSB0YWJsZS5maWx0ZXJlbXB0eShkaXJzKQplbmQKcmV0dXJuIGRpcnMKZW5kCmZ1bmN0aW9uIGdtYWtlMi5nZXRUb29sU2V0KGNmZykKbG9jYWwgZGVmYXVsdCA9IGlpZihjZmcuc3lzdGVtID09IHAuTUFDT1NYLCAiY2xhbmciLCAiZ2NjIikKbG9jYWwgdG9vbHNldCA9IHAudG9vbHNbX09QVElPTlMuY2Mgb3IgY2ZnLnRvb2xzZXQgb3IgZGVmYXVsdF0KaWYgbm90IHRvb2xzZXQgdGhlbgplcnJvcigiSW52YWxpZCB0b29sc2V0ICciIC4uIGNmZy50b29sc2V0IC4uICInIikKZW5kCnJldHVybiB0b29sc2V0CmVuZApmdW5jdGlvbiBnbWFrZTIub3V0cHV0U2VjdGlvbihwcmosIGNhbGxiYWNrKQpsb2NhbCByb290ID0ge30KZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpsb2NhbCB0b29sc2V0ID0gZ21ha2UyLmdldFRvb2xTZXQoY2ZnKQpsb2NhbCBzZXR0aW5ncyA9IHt9CmxvY2FsIGZ1bmNzID0gY2FsbGJhY2soY2ZnKQpmb3IgaSA9IDEsICNmdW5jcyBkbwpsb2NhbCBjID0gcC5jYXB0dXJlKGZ1bmN0aW9uICgpCmZ1bmNzW2ldKGNmZywgdG9vbHNldCkKZW5kKQppZiAjYyA+IDAgdGhlbgp0YWJsZS5pbnNlcnQoc2V0dGluZ3MsIGMpCmVuZAplbmQKaWYgbm90IHJvb3Quc2V0dGluZ3MgdGhlbgpyb290LnNldHRpbmdzID0gdGFibGUuYXJyYXljb3B5KHNldHRpbmdzKQplbHNlCnJvb3Quc2V0dGluZ3MgPSB0YWJsZS5pbnRlcnNlY3Qocm9vdC5zZXR0aW5ncywgc2V0dGluZ3MpCmVuZApyb290W2NmZ10gPSBzZXR0aW5ncwplbmQKaWYgI3Jvb3Quc2V0dGluZ3MgPiAwIHRoZW4KZm9yIF8sIHYgaW4gaXBhaXJzKHJvb3Quc2V0dGluZ3MpIGRvCnAub3V0bG4odikKZW5kCnAub3V0bG4oJycpCmVuZApsb2NhbCBmaXJzdCA9IHRydWUKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpsb2NhbCBzZXR0aW5ncyA9IHRhYmxlLmRpZmZlcmVuY2Uocm9vdFtjZmddLCByb290LnNldHRpbmdzKQppZiAjc2V0dGluZ3MgPiAwIHRoZW4KaWYgZmlyc3QgdGhlbgpfeCgnaWZlcSAoJChjb25maWcpLCVzKScsIGNmZy5zaG9ydG5hbWUpCmZpcnN0ID0gZmFsc2UKZWxzZQpfeCgnZWxzZSBpZmVxICgkKGNvbmZpZyksJXMpJywgY2ZnLnNob3J0bmFtZSkKZW5kCmZvciBrLCB2IGluIGlwYWlycyhzZXR0aW5ncykgZG8KcC5vdXRsbih2KQplbmQKX3AoJycpCmVuZAplbmQKaWYgbm90IGZpcnN0IHRoZW4KcC5vdXRsbignZWxzZScpCnAub3V0bG4oJyAgJChlcnJvciAiaW52YWxpZCBjb25maWd1cmF0aW9uICQoY29uZmlnKSIpJykKcC5vdXRsbignZW5kaWYnKQpwLm91dGxuKCcnKQplbmQKZW5kCmZ1bmN0aW9uIGdtYWtlMi5leHBhbmRSdWxlU3RyaW5nKHJ1bGUsIHByb3AsIHZhbHVlKQppZiB0eXBlKHZhbHVlKSA9PSAidGFibGUiIHRoZW4KaWYgI3ZhbHVlID4gMCB0aGVuCmlmIHByb3Auc3dpdGNoIHRoZW4KcmV0dXJuIHByb3Auc3dpdGNoIC4uIHRhYmxlLmNvbmNhdCh2YWx1ZSwgIiAiIC4uIHByb3Auc3dpdGNoKQplbHNlCnByb3Auc2VwYXJhdG9yID0gcHJvcC5zZXBhcmF0b3Igb3IgIiAiCnJldHVybiB0YWJsZS5jb25jYXQodmFsdWUsIHByb3Auc2VwYXJhdG9yKQplbmQKZWxzZQpyZXR1cm4gbmlsCmVuZAplbmQKaWYgcHJvcC5zd2l0Y2ggYW5kIHR5cGUodmFsdWUpID09ICJib29sZWFuIiB0aGVuCmlmIHZhbHVlIHRoZW4KcmV0dXJuIHByb3Auc3dpdGNoCmVsc2UKcmV0dXJuIG5pbAplbmQKZW5kCmxvY2FsIHN3aXRjaCA9IHByb3Auc3dpdGNoIG9yICIiCmlmIHByb3AudmFsdWVzIHRoZW4KdmFsdWUgPSB0YWJsZS5maW5kS2V5QnlWYWx1ZShwcm9wLnZhbHVlcywgdmFsdWUpCmlmIHZhbHVlID09IG5pbCB0aGVuCnZhbHVlID0gIiIKZW5kCmVuZAp2YWx1ZSA9IHRvc3RyaW5nKHZhbHVlKQppZiAjdmFsdWUgPiAwIHRoZW4KcmV0dXJuIHN3aXRjaCAuLiB2YWx1ZQplbHNlCnJldHVybiBuaWwKZW5kCmVuZApmdW5jdGlvbiBnbWFrZTIucHJlcGFyZUVudmlyb25tZW50KHJ1bGUsIGVudmlyb24sIGNmZykKZm9yIF8sIHByb3AgaW4gaXBhaXJzKHJ1bGUucHJvcGVydHlkZWZpbml0aW9uKSBkbwpsb2NhbCBmbGQgPSBwLnJ1bGUuZ2V0UHJvcGVydHlGaWVsZChydWxlLCBwcm9wKQpsb2NhbCB2YWx1ZSA9IGNmZ1tmbGQubmFtZV0KaWYgdmFsdWUgfj0gbmlsIHRoZW4KaWYgZmxkLmtpbmQgPT0gInBhdGgiIHRoZW4KdmFsdWUgPSBnbWFrZTIucGF0aChjZmcsIHZhbHVlKQplbHNlaWYgZmxkLmtpbmQgPT0gImxpc3Q6cGF0aCIgdGhlbgp2YWx1ZSA9IGdtYWtlMi5wYXRoKGNmZywgdmFsdWUpCmVuZAp2YWx1ZSA9IGdtYWtlMi5leHBhbmRSdWxlU3RyaW5nKHJ1bGUsIHByb3AsIHZhbHVlKQppZiB2YWx1ZSB+PSBuaWwgYW5kICN2YWx1ZSA+IDAgdGhlbgplbnZpcm9uW3Byb3AubmFtZV0gPSBwLmVzYyh2YWx1ZSkKZW5kCmVuZAplbmQKZW5kCmZ1bmN0aW9uIGdtYWtlMi5waG9ueVJ1bGVzKHByaikKX3AoJy5QSE9OWTogY2xlYW4gcHJlYnVpbGQnKQpfcCgnJykKZW5kCmZ1bmN0aW9uIGdtYWtlMi5zaGVsbFR5cGUoKQpfcCgnU0hFTExUWVBFIDo9IHBvc2l4JykKX3AoJ2lmZXEgKC5leGUsJChmaW5kc3RyaW5nIC5leGUsJChDb21TcGVjKSkpJykKX3AoJ1x0U0hFTExUWVBFIDo9IG1zZG9zJykKX3AoJ2VuZGlmJykKX3AoJycpCmVuZApmdW5jdGlvbiBnbWFrZTIudGFyZ2V0KGNmZywgdG9vbHNldCkKcC5vdXRsbignVEFSR0VURElSID0gJyAuLiBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBjZmcuYnVpbGR0YXJnZXQuZGlyZWN0b3J5KSkKcC5vdXRsbignVEFSR0VUID0gJChUQVJHRVRESVIpLycgLi4gY2ZnLmJ1aWxkdGFyZ2V0Lm5hbWUpCmVuZApmdW5jdGlvbiBnbWFrZTIub2JqZGlyKGNmZywgdG9vbHNldCkKcC5vdXRsbignT0JKRElSID0gJyAuLiBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBjZmcub2JqZGlyKSkKZW5kCmZ1bmN0aW9uIGdtYWtlMi5zZXR0aW5ncyhjZmcsIHRvb2xzZXQpCmlmICNjZmcubWFrZXNldHRpbmdzID4gMCB0aGVuCmZvciBfLCB2YWx1ZSBpbiBpcGFpcnMoY2ZnLm1ha2VzZXR0aW5ncykgZG8KcC5vdXRsbih2YWx1ZSkKZW5kCmVuZApsb2NhbCB2YWx1ZSA9IHRvb2xzZXQuZ2V0bWFrZXNldHRpbmdzKGNmZykKaWYgdmFsdWUgdGhlbgpwLm91dGxuKHZhbHVlKQplbmQKZW5kCmZ1bmN0aW9uIGdtYWtlMi5idWlsZENtZHMoY2ZnLCBldmVudCkKX3AoJ2RlZmluZSAlc0NNRFMnLCBldmVudDp1cHBlcigpKQpsb2NhbCBzdGVwcyA9IGNmZ1tldmVudCAuLiAiY29tbWFuZHMiXQpsb2NhbCBtc2cgPSBjZmdbZXZlbnQgLi4gIm1lc3NhZ2UiXQppZiAjc3RlcHMgPiAwIHRoZW4Kc3RlcHMgPSBvcy50cmFuc2xhdGVDb21tYW5kc0FuZFBhdGhzKHN0ZXBzLCBjZmcucHJvamVjdC5iYXNlZGlyLCBjZmcucHJvamVjdC5sb2NhdGlvbikKbXNnID0gbXNnIG9yIHN0cmluZy5mb3JtYXQoIlJ1bm5pbmcgJXMgY29tbWFuZHMiLCBldmVudCkKX3AoJ1x0QGVjaG8gJXMnLCBtc2cpCl9wKCdcdCVzJywgdGFibGUuaW1wbG9kZShzdGVwcywgIiIsICIiLCAiXG5cdCIpKQplbmQKX3AoJ2VuZGVmJykKZW5kCmZ1bmN0aW9uIGdtYWtlMi5wcmVCdWlsZENtZHMoY2ZnLCB0b29sc2V0KQpnbWFrZTIuYnVpbGRDbWRzKGNmZywgInByZWJ1aWxkIikKZW5kCmZ1bmN0aW9uIGdtYWtlMi5wcmVMaW5rQ21kcyhjZmcsIHRvb2xzZXQpCmdtYWtlMi5idWlsZENtZHMoY2ZnLCAicHJlbGluayIpCmVuZApmdW5jdGlvbiBnbWFrZTIucG9zdEJ1aWxkQ21kcyhjZmcsIHRvb2xzZXQpCmdtYWtlMi5idWlsZENtZHMoY2ZnLCAicG9zdGJ1aWxkIikKZW5kCmZ1bmN0aW9uIGdtYWtlMi50YXJnZXREaXJSdWxlcyhjZmcsIHRvb2xzZXQpCmdtYWtlMi5ta2RpclJ1bGVzKCIkKFRBUkdFVERJUikiKQplbmQKZnVuY3Rpb24gZ21ha2UyLm9iakRpclJ1bGVzKGNmZywgdG9vbHNldCkKZ21ha2UyLm1rZGlyUnVsZXMoIiQoT0JKRElSKSIpCmVuZApmdW5jdGlvbiBnbWFrZTIucHJlQnVpbGRSdWxlcyhjZmcsIHRvb2xzZXQpCl9wKCdwcmVidWlsZDogfCAkKE9CSkRJUiknKQpfcCgnXHQkKFBSRUJVSUxEQ01EUyknKQpfcCgnJykKZW5kCmluY2x1ZGUoImdtYWtlMl9jcHAubHVhIikKaW5jbHVkZSgiZ21ha2UyX2NzaGFycC5sdWEiKQppbmNsdWRlKCJnbWFrZTJfbWFrZWZpbGUubHVhIikKaW5jbHVkZSgiZ21ha2UyX3V0aWxpdHkubHVhIikKaW5jbHVkZSgiZ21ha2UyX3dvcmtzcGFjZS5sdWEiKQpyZXR1cm4gZ21ha2UyCgAAbG9jYWwgcCA9IHByZW1ha2UKcC52c3R1ZGlvLnZjMjAxMCA9IHt9CmxvY2FsIHZzdHVkaW8gPSBwLnZzdHVkaW8KbG9jYWwgcHJvamVjdCA9IHAucHJvamVjdApsb2NhbCBjb25maWcgPSBwLmNvbmZpZwpsb2NhbCBmaWxlY29uZmlnID0gcC5maWxlY29uZmlnCmxvY2FsIHRyZWUgPSBwLnRyZWUKbG9jYWwgbSA9IHAudnN0dWRpby52YzIwMTAKbS5lbGVtZW50cyA9IHt9Cm0uY29uZGl0aW9uYWxFbGVtZW50cyA9IHt9Cm0uZWxlbWVudHMucHJvamVjdCA9IGZ1bmN0aW9uKHByaikKcmV0dXJuIHsKbS54bWxEZWNsYXJhdGlvbiwKbS5wcm9qZWN0LAptLnByb2plY3RDb25maWd1cmF0aW9ucywKbS5nbG9iYWxzLAptLmltcG9ydERlZmF1bHRQcm9wcywKbS5jb25maWd1cmF0aW9uUHJvcGVydGllc0dyb3VwLAptLmltcG9ydExhbmd1YWdlU2V0dGluZ3MsCm0uaW1wb3J0RXh0ZW5zaW9uU2V0dGluZ3MsCm0ucHJvcGVydHlTaGVldEdyb3VwLAptLnVzZXJNYWNyb3MsCm0ub3V0cHV0UHJvcGVydGllc0dyb3VwLAptLml0ZW1EZWZpbml0aW9uR3JvdXBzLAptLmFzc2VtYmx5UmVmZXJlbmNlcywKbS5maWxlcywKbS5wcm9qZWN0UmVmZXJlbmNlcywKbS5pbXBvcnRMYW5ndWFnZVRhcmdldHMsCm0uaW1wb3J0RXh0ZW5zaW9uVGFyZ2V0cywKbS5lbnN1cmVOdUdldFBhY2thZ2VCdWlsZEltcG9ydHMsCn0KZW5kCmZ1bmN0aW9uIG0uZ2VuZXJhdGUocHJqKQpwLnV0ZjgoKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLnByb2plY3QsIHByaikKcC5vdXQoJzwvUHJvamVjdD4nKQplbmQKZnVuY3Rpb24gbS5wcm9qZWN0KHByaikKbG9jYWwgYWN0aW9uID0gcC5hY3Rpb24uY3VycmVudCgpCmlmIF9BQ1RJT04gPj0gInZzMjAxOSIgdGhlbgpwLnB1c2goJzxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+JykKZWxzZQpwLnB1c2goJzxQcm9qZWN0IERlZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSIlcyIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+JywKICAgYWN0aW9uLnZzdHVkaW8udG9vbHNWZXJzaW9uKQplbmQKZW5kCmZ1bmN0aW9uIG0ucHJvamVjdENvbmZpZ3VyYXRpb25zKHByaikKbG9jYWwgcGxhdGZvcm1zID0ge30KZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpsb2NhbCBhcmNoID0gdnN0dWRpby5hcmNoRnJvbUNvbmZpZyhjZmcsIHRydWUpCmlmIG5vdCB0YWJsZS5jb250YWlucyhwbGF0Zm9ybXMsIGFyY2gpIHRoZW4KdGFibGUuaW5zZXJ0KHBsYXRmb3JtcywgYXJjaCkKZW5kCmVuZApsb2NhbCBjb25maWdzID0ge30KcC5wdXNoKCc8SXRlbUdyb3VwIExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPicpCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KZm9yIF8sIGFyY2ggaW4gaXBhaXJzKHBsYXRmb3JtcykgZG8KbG9jYWwgcHJqY2ZnID0gdnN0dWRpby5wcm9qZWN0Q29uZmlnKGNmZywgYXJjaCkKaWYgbm90IGNvbmZpZ3NbcHJqY2ZnXSB0aGVuCmNvbmZpZ3NbcHJqY2ZnXSA9IHByamNmZwpwLnB1c2goJzxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNsdWRlPSIlcyI+JywgdnN0dWRpby5wcm9qZWN0Q29uZmlnKGNmZywgYXJjaCkpCnAueCgnPENvbmZpZ3VyYXRpb24+JXM8L0NvbmZpZ3VyYXRpb24+JywgdnN0dWRpby5wcm9qZWN0UGxhdGZvcm0oY2ZnKSkKcC53KCc8UGxhdGZvcm0+JXM8L1BsYXRmb3JtPicsIGFyY2gpCnAucG9wKCc8L1Byb2plY3RDb25maWd1cmF0aW9uPicpCmVuZAplbmQKZW5kCnAucG9wKCc8L0l0ZW1Hcm91cD4nKQplbmQKZnVuY3Rpb24gbS50YXJnZXRGcmFtZXdvcmsocHJqKQpsb2NhbCBhY3Rpb24gPSBwLmFjdGlvbi5jdXJyZW50KCkKbG9jYWwgdG9vbHMgPSBzdHJpbmcuZm9ybWF0KCcgVG9vbHNWZXJzaW9uPSIlcyInLCBhY3Rpb24udnN0dWRpby50b29sc1ZlcnNpb24pCmxvY2FsIGZyYW1ld29yayA9IHByai5kb3RuZXRmcmFtZXdvcmsgb3IgYWN0aW9uLnZzdHVkaW8udGFyZ2V0RnJhbWV3b3JrIG9yICI0LjAiCnAudygnPFRhcmdldEZyYW1ld29ya1ZlcnNpb24+diVzPC9UYXJnZXRGcmFtZXdvcmtWZXJzaW9uPicsIGZyYW1ld29yaykKZW5kCm0uZWxlbWVudHMuZ2xvYmFscyA9IGZ1bmN0aW9uKHByaikKcmV0dXJuIHsKbS5wcm9qZWN0R3VpZCwKbS5pZ25vcmVXYXJuRHVwbGljYXRlRmlsZW5hbWUsCm0ua2V5d29yZCwKbS5wcm9qZWN0TmFtZSwKbS5wcmVmZXJyZWRUb29sQXJjaGl0ZWN0dXJlLAptLnRhcmdldFBsYXRmb3JtVmVyc2lvbkdsb2JhbCwKfQplbmQKbS5lbGVtZW50cy5nbG9iYWxzQ29uZGl0aW9uID0gZnVuY3Rpb24ocHJqLCBjZmcpCnJldHVybiB7Cm0udGFyZ2V0UGxhdGZvcm1WZXJzaW9uQ29uZGl0aW9uLAp9CmVuZApmdW5jdGlvbiBtLmdsb2JhbHMocHJqKQptLnByb3BlcnR5R3JvdXAobmlsLCAiR2xvYmFscyIpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMuZ2xvYmFscywgcHJqKQpwLnBvcCgnPC9Qcm9wZXJ0eUdyb3VwPicpCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbG9jYWwgY2FwdHVyZWQgPSBwLmNhcHR1cmUoZnVuY3Rpb24oKQpwLnB1c2goKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLmdsb2JhbHNDb25kaXRpb24sIHByaiwgY2ZnKQpwLnBvcCgpCmVuZCkKaWYgY2FwdHVyZWQgfj0gJycgdGhlbgptLnByb3BlcnR5R3JvdXAoY2ZnLCAiR2xvYmFscyIpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMuZ2xvYmFsc0NvbmRpdGlvbiwgcHJqLCBjZmcpCnAucG9wKCc8L1Byb3BlcnR5R3JvdXA+JykKZW5kCmVuZAplbmQKbS5lbGVtZW50cy5jb25maWd1cmF0aW9uUHJvcGVydGllcyA9IGZ1bmN0aW9uKGNmZykKaWYgY2ZnLmtpbmQgPT0gcC5VVElMSVRZIHRoZW4KcmV0dXJuIHsKbS5jb25maWd1cmF0aW9uVHlwZSwKbS5wbGF0Zm9ybVRvb2xzZXQsCn0KZWxzZQpyZXR1cm4gewptLmNvbmZpZ3VyYXRpb25UeXBlLAptLnVzZURlYnVnTGlicmFyaWVzLAptLnVzZU9mTWZjLAptLnVzZU9mQXRsLAptLmNsclN1cHBvcnQsCm0uY2hhcmFjdGVyU2V0LAptLnBsYXRmb3JtVG9vbHNldCwKbS53aG9sZVByb2dyYW1PcHRpbWl6YXRpb24sCm0ubm1ha2VPdXREaXJzLAptLndpbmRvd3NTREtEZXNrdG9wQVJNU3VwcG9ydCwKfQplbmQKZW5kCmZ1bmN0aW9uIG0uY29uZmlndXJhdGlvblByb3BlcnRpZXMoY2ZnKQptLnByb3BlcnR5R3JvdXAoY2ZnLCAiQ29uZmlndXJhdGlvbiIpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMuY29uZmlndXJhdGlvblByb3BlcnRpZXMsIGNmZykKcC5wb3AoJzwvUHJvcGVydHlHcm91cD4nKQplbmQKZnVuY3Rpb24gbS5jb25maWd1cmF0aW9uUHJvcGVydGllc0dyb3VwKHByaikKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwptLmNvbmZpZ3VyYXRpb25Qcm9wZXJ0aWVzKGNmZykKZW5kCmVuZAptLmVsZW1lbnRzLm91dHB1dFByb3BlcnRpZXMgPSBmdW5jdGlvbihjZmcpCmlmIGNmZy5raW5kID09IHAuVVRJTElUWSB0aGVuCnJldHVybiB7Cm0ub3V0RGlyLAptLmludERpciwKbS5leHRlbnNpb25zVG9EZWxldGVPbkNsZWFuLAptLmV4ZWN1dGFibGVQYXRoLAp9CmVsc2UKcmV0dXJuIHsKbS5saW5rSW5jcmVtZW50YWwsCm0uaWdub3JlSW1wb3J0TGlicmFyeSwKbS5vdXREaXIsCm0uaW50RGlyLAptLnRhcmdldE5hbWUsCm0udGFyZ2V0RXh0LAptLmluY2x1ZGVQYXRoLAptLmxpYnJhcnlQYXRoLAptLmdlbmVyYXRlTWFuaWZlc3QsCm0uZXh0ZW5zaW9uc1RvRGVsZXRlT25DbGVhbiwKbS5leGVjdXRhYmxlUGF0aCwKfQplbmQKZW5kCmZ1bmN0aW9uIG0ub3V0cHV0UHJvcGVydGllcyhjZmcpCmlmIG5vdCB2c3R1ZGlvLmlzTWFrZWZpbGUoY2ZnKSB0aGVuCm0ucHJvcGVydHlHcm91cChjZmcpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMub3V0cHV0UHJvcGVydGllcywgY2ZnKQpwLnBvcCgnPC9Qcm9wZXJ0eUdyb3VwPicpCmVuZAplbmQKbS5lbGVtZW50cy5ubWFrZVByb3BlcnRpZXMgPSBmdW5jdGlvbihjZmcpCnJldHVybiB7Cm0uZXhlY3V0YWJsZVBhdGgsCm0uaW5jbHVkZVBhdGgsCm0ubGlicmFyeVBhdGgsCm0ubm1ha2VPdXRwdXQsCm0ubm1ha2VCdWlsZENvbW1hbmRzLAptLm5tYWtlUmVidWlsZENvbW1hbmRzLAptLm5tYWtlQ2xlYW5Db21tYW5kcywKbS5ubWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zLAptLm5tYWtlSW5jbHVkZURpcnMKfQplbmQKZnVuY3Rpb24gbS5ubWFrZVByb3BlcnRpZXMoY2ZnKQppZiB2c3R1ZGlvLmlzTWFrZWZpbGUoY2ZnKSB0aGVuCm0ucHJvcGVydHlHcm91cChjZmcpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMubm1ha2VQcm9wZXJ0aWVzLCBjZmcpCnAucG9wKCc8L1Byb3BlcnR5R3JvdXA+JykKZW5kCmVuZApmdW5jdGlvbiBtLm91dHB1dFByb3BlcnRpZXNHcm91cChwcmopCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbS5vdXRwdXRQcm9wZXJ0aWVzKGNmZykKbS5ubWFrZVByb3BlcnRpZXMoY2ZnKQplbmQKZW5kCm0uZWxlbWVudHMuaXRlbURlZmluaXRpb25Hcm91cCA9IGZ1bmN0aW9uKGNmZykKaWYgY2ZnLmtpbmQgPT0gcC5VVElMSVRZIHRoZW4KcmV0dXJuIHsKbS5ydWxlVmFycywKbS5idWlsZEV2ZW50cywKbS5idWlsZExvZywKfQplbHNlCnJldHVybiB7Cm0uY2xDb21waWxlLAptLmZ4Q29tcGlsZSwKbS5yZXNvdXJjZUNvbXBpbGUsCm0ubGlua2VyLAptLm1hbmlmZXN0LAptLmJ1aWxkRXZlbnRzLAptLnJ1bGVWYXJzLAptLmJ1aWxkTG9nLAp9CmVuZAplbmQKZnVuY3Rpb24gbS5pdGVtRGVmaW5pdGlvbkdyb3VwKGNmZykKaWYgbm90IHZzdHVkaW8uaXNNYWtlZmlsZShjZmcpIHRoZW4KcC5wdXNoKCc8SXRlbURlZmluaXRpb25Hcm91cCAlcz4nLCBtLmNvbmRpdGlvbihjZmcpKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLml0ZW1EZWZpbml0aW9uR3JvdXAsIGNmZykKcC5wb3AoJzwvSXRlbURlZmluaXRpb25Hcm91cD4nKQplbHNlCmlmIGNmZyA9PSBwcm9qZWN0LmdldGZpcnN0Y29uZmlnKGNmZy5wcm9qZWN0KSB0aGVuCnAudygnPEl0ZW1EZWZpbml0aW9uR3JvdXA+JykKcC53KCc8L0l0ZW1EZWZpbml0aW9uR3JvdXA+JykKZW5kCmVuZAplbmQKZnVuY3Rpb24gbS5pdGVtRGVmaW5pdGlvbkdyb3VwcyhwcmopCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbS5pdGVtRGVmaW5pdGlvbkdyb3VwKGNmZykKZW5kCmVuZAptLmVsZW1lbnRzLmNsQ29tcGlsZSA9IGZ1bmN0aW9uKGNmZykKbG9jYWwgY2FsbHMgPSB7Cm0ucHJlY29tcGlsZWRIZWFkZXIsCm0ud2FybmluZ0xldmVsLAptLnRyZWF0V2FybmluZ0FzRXJyb3IsCm0uZGlzYWJsZVNwZWNpZmljV2FybmluZ3MsCm0udHJlYXRTcGVjaWZpY1dhcm5pbmdzQXNFcnJvcnMsCm0uYmFzaWNSdW50aW1lQ2hlY2tzLAptLmNsQ29tcGlsZVByZXByb2Nlc3NvckRlZmluaXRpb25zLAptLmNsQ29tcGlsZVVuZGVmaW5lUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMsCm0uY2xDb21waWxlQWRkaXRpb25hbEluY2x1ZGVEaXJlY3RvcmllcywKbS5jbENvbXBpbGVBZGRpdGlvbmFsVXNpbmdEaXJlY3RvcmllcywKbS5mb3JjZUluY2x1ZGVzLAptLmRlYnVnSW5mb3JtYXRpb25Gb3JtYXQsCm0ub3B0aW1pemF0aW9uLAptLmZ1bmN0aW9uTGV2ZWxMaW5raW5nLAptLmludHJpbnNpY0Z1bmN0aW9ucywKbS5taW5pbWFsUmVidWlsZCwKbS5vbWl0RnJhbWVQb2ludGVycywKbS5zdHJpbmdQb29saW5nLAptLnJ1bnRpbWVMaWJyYXJ5LAptLm9taXREZWZhdWx0TGliLAptLmV4Y2VwdGlvbkhhbmRsaW5nLAptLnJ1bnRpbWVUeXBlSW5mbywKbS5idWZmZXJTZWN1cml0eUNoZWNrLAptLnRyZWF0V0NoYXJfdEFzQnVpbHRJblR5cGUsCm0uZmxvYXRpbmdQb2ludE1vZGVsLAptLmZsb2F0aW5nUG9pbnRFeGNlcHRpb25zLAptLmlubGluZUZ1bmN0aW9uRXhwYW5zaW9uLAptLmVuYWJsZUVuaGFuY2VkSW5zdHJ1Y3Rpb25TZXQsCm0ubXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbiwKbS5hZGRpdGlvbmFsQ29tcGlsZU9wdGlvbnMsCm0uY29tcGlsZUFzLAptLmNhbGxpbmdDb252ZW50aW9uLAptLmxhbmd1YWdlU3RhbmRhcmQsCm0uc3RydWN0TWVtYmVyQWxpZ25tZW50LAp9CmlmIGNmZy5raW5kID09IHAuU1RBVElDTElCIHRoZW4KdGFibGUuaW5zZXJ0KGNhbGxzLCBtLnByb2dyYW1EYXRhYmFzZUZpbGVOYW1lKQplbmQKcmV0dXJuIGNhbGxzCmVuZApmdW5jdGlvbiBtLmNsQ29tcGlsZShjZmcpCnAucHVzaCgnPENsQ29tcGlsZT4nKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLmNsQ29tcGlsZSwgY2ZnKQpwLnBvcCgnPC9DbENvbXBpbGU+JykKZW5kCm0uZWxlbWVudHMuZnhDb21waWxlID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4gewptLmZ4Q29tcGlsZVByZXByb2Nlc3NvckRlZmluaXRpb24sCm0uZnhDb21waWxlU2hhZGVyVHlwZSwKbS5meENvbXBpbGVTaGFkZXJNb2RlbCwKbS5meENvbXBpbGVTaGFkZXJFbnRyeSwKbS5meENvbXBpbGVTaGFkZXJWYXJpYWJsZU5hbWUsCm0uZnhDb21waWxlU2hhZGVySGVhZGVyT3V0cHV0LAptLmZ4Q29tcGlsZVNoYWRlck9iamVjdE91dHB1dCwKbS5meENvbXBpbGVTaGFkZXJBc3NlbWJsZXIsCm0uZnhDb21waWxlU2hhZGVyQXNzZW1ibGVyT3V0cHV0LAptLmZ4Q29tcGlsZVNoYWRlckFkZGl0aW9uYWxPcHRpb25zLAp9CmVuZApmdW5jdGlvbiBtLmZ4Q29tcGlsZShjZmcpCmlmIHAuY29uZmlnLmhhc0ZpbGUoY2ZnLCBwYXRoLmlzaGxzbGZpbGUpIHRoZW4KbG9jYWwgY29udGVudHMgPSBwLmNhcHR1cmUoZnVuY3Rpb24gKCkKcC5wdXNoKCkKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5meENvbXBpbGUsIGNmZykKcC5wb3AoKQplbmQpCmlmICNjb250ZW50cyA+IDAgdGhlbgpwLnB1c2goJzxGeENvbXBpbGU+JykKcC5vdXRsbihjb250ZW50cykKcC5wb3AoJzwvRnhDb21waWxlPicpCmVuZAplbmQKZW5kCm0uZWxlbWVudHMucmVzb3VyY2VDb21waWxlID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4gewptLnJlc291cmNlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMsCm0ucmVzb3VyY2VBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzLAptLmN1bHR1cmUsCn0KZW5kCmZ1bmN0aW9uIG0ucmVzb3VyY2VDb21waWxlKGNmZykKaWYgcC5jb25maWcuaGFzRmlsZShjZmcsIHBhdGguaXNyZXNvdXJjZWZpbGUpIHRoZW4KbG9jYWwgY29udGVudHMgPSBwLmNhcHR1cmUoZnVuY3Rpb24gKCkKcC5wdXNoKCkKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5yZXNvdXJjZUNvbXBpbGUsIGNmZykKcC5wb3AoKQplbmQpCmlmICNjb250ZW50cyA+IDAgdGhlbgpwLnB1c2goJzxSZXNvdXJjZUNvbXBpbGU+JykKcC5vdXRsbihjb250ZW50cykKcC5wb3AoJzwvUmVzb3VyY2VDb21waWxlPicpCmVuZAplbmQKZW5kCm0uZWxlbWVudHMubGlua2VyID0gZnVuY3Rpb24oY2ZnLCBleHBsaWNpdCkKcmV0dXJuIHsKbS5saW5rLAptLmxpYiwKbS5saW5rTGlicmFyeURlcGVuZGVuY2llcywKfQplbmQKZnVuY3Rpb24gbS5saW5rZXIoY2ZnKQpsb2NhbCBleHBsaWNpdCA9IHZzdHVkaW8ubmVlZHNFeHBsaWNpdExpbmsoY2ZnKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLmxpbmtlciwgY2ZnLCBleHBsaWNpdCkKZW5kCm0uZWxlbWVudHMubGluayA9IGZ1bmN0aW9uKGNmZywgZXhwbGljaXQpCmlmIGNmZy5raW5kID09IHAuU1RBVElDTElCIHRoZW4KcmV0dXJuIHsKbS5zdWJTeXN0ZW0sCm0uZnVsbFByb2dyYW1EYXRhYmFzZUZpbGUsCm0uZ2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uLAptLm9wdGltaXplUmVmZXJlbmNlcywKfQplbHNlCnJldHVybiB7Cm0uc3ViU3lzdGVtLAptLmZ1bGxQcm9ncmFtRGF0YWJhc2VGaWxlLAptLmdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbiwKbS5vcHRpbWl6ZVJlZmVyZW5jZXMsCm0uYWRkaXRpb25hbERlcGVuZGVuY2llcywKbS5hZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzLAptLmltcG9ydExpYnJhcnksCm0uZW50cnlQb2ludFN5bWJvbCwKbS5nZW5lcmF0ZU1hcEZpbGUsCm0ubW9kdWxlRGVmaW5pdGlvbkZpbGUsCm0udHJlYXRMaW5rZXJXYXJuaW5nQXNFcnJvcnMsCm0uaWdub3JlRGVmYXVsdExpYnJhcmllcywKbS5sYXJnZUFkZHJlc3NBd2FyZSwKbS50YXJnZXRNYWNoaW5lLAptLmFkZGl0aW9uYWxMaW5rT3B0aW9ucywKbS5wcm9ncmFtRGF0YWJhc2VGaWxlLAp9CmVuZAplbmQKZnVuY3Rpb24gbS5saW5rKGNmZywgZXhwbGljaXQpCmxvY2FsIGNvbnRlbnRzID0gcC5jYXB0dXJlKGZ1bmN0aW9uICgpCnAucHVzaCgpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMubGluaywgY2ZnLCBleHBsaWNpdCkKcC5wb3AoKQplbmQpCmlmICNjb250ZW50cyA+IDAgdGhlbgpwLnB1c2goJzxMaW5rPicpCnAub3V0bG4oY29udGVudHMpCnAucG9wKCc8L0xpbms+JykKZW5kCmVuZAptLmVsZW1lbnRzLmxpYiA9IGZ1bmN0aW9uKGNmZywgZXhwbGljaXQpCmlmIGNmZy5raW5kID09IHAuU1RBVElDTElCIHRoZW4KcmV0dXJuIHsKbS5hZGRpdGlvbmFsRGVwZW5kZW5jaWVzLAptLmFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMsCm0udHJlYXRMaW5rZXJXYXJuaW5nQXNFcnJvcnMsCm0udGFyZ2V0TWFjaGluZSwKbS5hZGRpdGlvbmFsTGlua09wdGlvbnMsCn0KZWxzZQpyZXR1cm4ge30KZW5kCmVuZApmdW5jdGlvbiBtLmxpYihjZmcsIGV4cGxpY2l0KQpsb2NhbCBjb250ZW50cyA9IHAuY2FwdHVyZShmdW5jdGlvbiAoKQpwLnB1c2goKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLmxpYiwgY2ZnLCBleHBsaWNpdCkKcC5wb3AoKQplbmQpCmlmICNjb250ZW50cyA+IDAgdGhlbgpwLnB1c2goJzxMaWI+JykKcC5vdXRsbihjb250ZW50cykKcC5wb3AoJzwvTGliPicpCmVuZAplbmQKbS5lbGVtZW50cy5tYW5pZmVzdCA9IGZ1bmN0aW9uKGNmZykKcmV0dXJuIHsKbS5lbmFibGVEcGlBd2FyZW5lc3MsCm0uYWRkaXRpb25hbE1hbmlmZXN0RmlsZXMsCn0KZW5kCmZ1bmN0aW9uIG0ubWFuaWZlc3QoY2ZnKQppZiBjZmcua2luZCB+PSBwLlNUQVRJQ0xJQiB0aGVuCmxvY2FsIGNvbnRlbnRzID0gcC5jYXB0dXJlKGZ1bmN0aW9uICgpCnAucHVzaCgpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMubWFuaWZlc3QsIGNmZykKcC5wb3AoKQplbmQpCmlmICNjb250ZW50cyA+IDAgdGhlbgpwLnB1c2goJzxNYW5pZmVzdD4nKQpwLm91dGxuKGNvbnRlbnRzKQpwLnBvcCgnPC9NYW5pZmVzdD4nKQplbmQKZW5kCmVuZApmdW5jdGlvbiBtLmJ1aWxkRXZlbnRzKGNmZykKbG9jYWwgd3JpdGUgPSBmdW5jdGlvbiAoZXZlbnQpCmxvY2FsIG5hbWUgPSBldmVudCAuLiAiRXZlbnQiCmxvY2FsIGZpZWxkID0gZXZlbnQ6bG93ZXIoKQpsb2NhbCBzdGVwcyA9IGNmZ1tmaWVsZCAuLiAiY29tbWFuZHMiXQpsb2NhbCBtc2cgPSBjZmdbZmllbGQgLi4gIm1lc3NhZ2UiXQppZiAjc3RlcHMgPiAwIHRoZW4Kc3RlcHMgPSBvcy50cmFuc2xhdGVDb21tYW5kc0FuZFBhdGhzKHN0ZXBzLCBjZmcucHJvamVjdC5iYXNlZGlyLCBjZmcucHJvamVjdC5sb2NhdGlvbikKcC5wdXNoKCc8JXM+JywgbmFtZSkKcC54KCc8Q29tbWFuZD4lczwvQ29tbWFuZD4nLCB0YWJsZS5pbXBsb2RlKHN0ZXBzLCAiIiwgIiIsICJcclxuIikpCmlmIG1zZyB0aGVuCnAueCgnPE1lc3NhZ2U+JXM8L01lc3NhZ2U+JywgbXNnKQplbmQKcC5wb3AoJzwvJXM+JywgbmFtZSkKZW5kCmVuZAp3cml0ZSgiUHJlQnVpbGQiKQp3cml0ZSgiUHJlTGluayIpCndyaXRlKCJQb3N0QnVpbGQiKQplbmQKZnVuY3Rpb24gbS5nZXRSdWxlUHJvcGVydHlTdHJpbmcocnVsZSwgcHJvcCwgdmFsdWUsIGtpbmQpCmlmIGtpbmQgPT0gImxpc3Q6cGF0aCIgdGhlbgpyZXR1cm4gdGFibGUuY29uY2F0KHZzdHVkaW8ucGF0aChjZmcsIHZhbHVlKSwgJzsnKQplbmQKaWYga2luZCA9PSAicGF0aCIgdGhlbgpyZXR1cm4gdnN0dWRpby5wYXRoKGNmZywgdmFsdWUpCmVuZAppZiB0eXBlKHZhbHVlKSA9PSAidGFibGUiIHRoZW4KcmV0dXJuIHRhYmxlLmNvbmNhdCh2YWx1ZSwgIjsiKQplbmQKaWYgcHJvcC52YWx1ZXMgdGhlbgp2YWx1ZSA9IHRhYmxlLmZpbmRLZXlCeVZhbHVlKHByb3AudmFsdWVzLCB2YWx1ZSkKZW5kCnJldHVybiB0b3N0cmluZyh2YWx1ZSkKZW5kCmZ1bmN0aW9uIG0ucnVsZVZhcnMoY2ZnKQpmb3IgaSA9IDEsICNjZmcucnVsZXMgZG8KbG9jYWwgcnVsZSA9IHAuZ2xvYmFsLmdldFJ1bGUoY2ZnLnJ1bGVzW2ldKQpsb2NhbCBjb250ZW50cyA9IHAuY2FwdHVyZShmdW5jdGlvbiAoKQpwLnB1c2goKQpmb3IgcHJvcCBpbiBwLnJ1bGUuZWFjaFByb3BlcnR5KHJ1bGUpIGRvCmxvY2FsIGZsZCA9IHAucnVsZS5nZXRQcm9wZXJ0eUZpZWxkKHJ1bGUsIHByb3ApCmxvY2FsIHZhbHVlID0gY2ZnW2ZsZC5uYW1lXQppZiB2YWx1ZSB+PSBuaWwgdGhlbgp2YWx1ZSA9IG0uZ2V0UnVsZVByb3BlcnR5U3RyaW5nKHJ1bGUsIHByb3AsIHZhbHVlLCBmbGQua2luZCkKaWYgdmFsdWUgfj0gbmlsIGFuZCAjdmFsdWUgPiAwIHRoZW4KbS5lbGVtZW50KHByb3AubmFtZSwgbmlsLCAnJXMnLCB2YWx1ZSkKZW5kCmVuZAplbmQKcC5wb3AoKQplbmQpCmlmICNjb250ZW50cyA+IDAgdGhlbgpwLnB1c2goJzwlcz4nLCBydWxlLm5hbWUpCnAub3V0bG4oY29udGVudHMpCnAucG9wKCc8LyVzPicsIHJ1bGUubmFtZSkKZW5kCmVuZAplbmQKZnVuY3Rpb24gbS5hc3NlbWJseVJlZmVyZW5jZXMocHJqKQpsb2NhbCBjZmcgPSBwcm9qZWN0LmdldGZpcnN0Y29uZmlnKHByaikKbG9jYWwgcmVmcyA9IGNvbmZpZy5nZXRsaW5rcyhjZmcsICJzeXN0ZW0iLCAiZnVsbHBhdGgiLCAibWFuYWdlZCIpCmlmICNyZWZzID4gMCB0aGVuCnAucHVzaCgnPEl0ZW1Hcm91cD4nKQpmb3IgaSA9IDEsICNyZWZzIGRvCmxvY2FsIHZhbHVlID0gcmVmc1tpXQppZiB2YWx1ZTpmaW5kKCcvJywgMSwgdHJ1ZSkgdGhlbgpwLnB1c2goJzxSZWZlcmVuY2UgSW5jbHVkZT0iJXMiPicsIHBhdGguZ2V0YmFzZW5hbWUodmFsdWUpKQpwLngoJzxIaW50UGF0aD4lczwvSGludFBhdGg+JywgcGF0aC50cmFuc2xhdGUodmFsdWUpKQpwLnBvcCgnPC9SZWZlcmVuY2U+JykKZWxzZQpwLngoJzxSZWZlcmVuY2UgSW5jbHVkZT0iJXMiIC8+JywgcGF0aC5nZXRiYXNlbmFtZSh2YWx1ZSkpCmVuZAplbmQKcC5wb3AoJzwvSXRlbUdyb3VwPicpCmVuZAplbmQKZnVuY3Rpb24gbS5nZW5lcmF0ZWRGaWxlKGNmZywgZmlsZSkKaWYgZmlsZS5nZW5lcmF0ZWQgdGhlbgpsb2NhbCBwYXRoID0gcGF0aC50cmFuc2xhdGUoZmlsZS5kZXBlbmRzT24ucmVscGF0aCkKbS5lbGVtZW50KCJBdXRvR2VuIiwgbmlsLCAndHJ1ZScpCm0uZWxlbWVudCgiRGVwZW5kZW50VXBvbiIsIG5pbCwgcGF0aCkKZW5kCmVuZApmdW5jdGlvbiBtLmZpbGVzKHByaikKbG9jYWwgZ3JvdXBzID0gbS5jYXRlZ29yaXplU291cmNlcyhwcmopCmZvciBfLCBncm91cCBpbiBpcGFpcnMoZ3JvdXBzKSBkbwpncm91cC5jYXRlZ29yeS5lbWl0RmlsZXMocHJqLCBncm91cCkKZW5kCmVuZAptLmNhdGVnb3JpZXMgPSB7fQptLmNhdGVnb3JpZXMuQ2xJbmNsdWRlID0gewpuYW1lICAgICAgID0gIkNsSW5jbHVkZSIsCmV4dGVuc2lvbnMgPSB7ICIuaCIsICIuaGgiLCAiLmhwcCIsICIuaHh4IiwgIi5pbmwiIH0sCnByaW9yaXR5ICAgPSAxLAplbWl0RmlsZXMgPSBmdW5jdGlvbihwcmosIGdyb3VwKQptLmVtaXRGaWxlcyhwcmosIGdyb3VwLCAiQ2xJbmNsdWRlIiwge20uZ2VuZXJhdGVkRmlsZX0pCmVuZCwKZW1pdEZpbHRlciA9IGZ1bmN0aW9uKHByaiwgZ3JvdXApCm0uZmlsdGVyR3JvdXAocHJqLCBncm91cCwgIkNsSW5jbHVkZSIpCmVuZAp9Cm0uY2F0ZWdvcmllcy5DbENvbXBpbGUgPSB7Cm5hbWUgICAgICAgPSAiQ2xDb21waWxlIiwKZXh0ZW5zaW9ucyA9IHsgIi5jYyIsICIuY3BwIiwgIi5jeHgiLCAiLmMiLCAiLnMiLCAiLm0iLCAiLm1tIiB9LApwcmlvcml0eSAgID0gMiwKZW1pdEZpbGVzID0gZnVuY3Rpb24ocHJqLCBncm91cCkKbG9jYWwgZmlsZUNmZ0Z1bmMgPSBmdW5jdGlvbihmY2ZnLCBjb25kaXRpb24pCmlmIGZjZmcgdGhlbgpyZXR1cm4gewptLmV4Y2x1ZGVkRnJvbUJ1aWxkLAptLm9iamVjdEZpbGVOYW1lLAptLmNsQ29tcGlsZVByZXByb2Nlc3NvckRlZmluaXRpb25zLAptLmNsQ29tcGlsZVVuZGVmaW5lUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMsCm0ub3B0aW1pemF0aW9uLAptLmZvcmNlSW5jbHVkZXMsCm0ucHJlY29tcGlsZWRIZWFkZXIsCm0uZW5hYmxlRW5oYW5jZWRJbnN0cnVjdGlvblNldCwKbS5hZGRpdGlvbmFsQ29tcGlsZU9wdGlvbnMsCm0uZGlzYWJsZVNwZWNpZmljV2FybmluZ3MsCm0udHJlYXRTcGVjaWZpY1dhcm5pbmdzQXNFcnJvcnMsCm0uYmFzaWNSdW50aW1lQ2hlY2tzLAptLmV4Y2VwdGlvbkhhbmRsaW5nLAptLmNvbXBpbGVBc01hbmFnZWQsCm0uY29tcGlsZUFzLAptLnJ1bnRpbWVUeXBlSW5mbywKbS53YXJuaW5nTGV2ZWxGaWxlLAp9CmVsc2UKcmV0dXJuIHsKbS5leGNsdWRlZEZyb21CdWlsZAp9CmVuZAplbmQKbS5lbWl0RmlsZXMocHJqLCBncm91cCwgIkNsQ29tcGlsZSIsIHttLmdlbmVyYXRlZEZpbGV9LCBmaWxlQ2ZnRnVuYykKZW5kLAplbWl0RmlsdGVyID0gZnVuY3Rpb24ocHJqLCBncm91cCkKbS5maWx0ZXJHcm91cChwcmosIGdyb3VwLCAiQ2xDb21waWxlIikKZW5kCn0KbS5jYXRlZ29yaWVzLkZ4Q29tcGlsZSA9IHsKbmFtZSAgID0gIkZ4Q29tcGlsZSIsCmV4dGVuc2lvbnMgPSB7ICIuaGxzbCIgfSwKcHJpb3JpdHkgICA9IDQsCmVtaXRGaWxlcyA9IGZ1bmN0aW9uKHByaiwgZ3JvdXApCmxvY2FsIGZpbGVDZmdGdW5jID0gZnVuY3Rpb24oZmNmZywgY29uZGl0aW9uKQppZiBmY2ZnIHRoZW4KcmV0dXJuIHsKbS5leGNsdWRlZEZyb21CdWlsZCwKbS5meENvbXBpbGVQcmVwcm9jZXNzb3JEZWZpbml0aW9uLAptLmZ4Q29tcGlsZVNoYWRlclR5cGUsCm0uZnhDb21waWxlU2hhZGVyTW9kZWwsCm0uZnhDb21waWxlU2hhZGVyRW50cnksCm0uZnhDb21waWxlU2hhZGVyVmFyaWFibGVOYW1lLAptLmZ4Q29tcGlsZVNoYWRlckhlYWRlck91dHB1dCwKbS5meENvbXBpbGVTaGFkZXJPYmplY3RPdXRwdXQsCm0uZnhDb21waWxlU2hhZGVyQXNzZW1ibGVyLAptLmZ4Q29tcGlsZVNoYWRlckFzc2VtYmxlck91dHB1dCwKbS5meENvbXBpbGVTaGFkZXJBZGRpdGlvbmFsT3B0aW9ucywKfQplbHNlCnJldHVybiB7Cm0uZXhjbHVkZWRGcm9tQnVpbGQKfQplbmQKZW5kCm0uZW1pdEZpbGVzKHByaiwgZ3JvdXAsICJGeENvbXBpbGUiLCBuaWwsIGZpbGVDZmdGdW5jKQplbmQsCmVtaXRGaWx0ZXIgPSBmdW5jdGlvbihwcmosIGdyb3VwKQptLmZpbHRlckdyb3VwKHByaiwgZ3JvdXAsICJGeENvbXBpbGUiKQplbmQKfQptLmNhdGVnb3JpZXMuTm9uZSA9IHsKbmFtZSA9ICJOb25lIiwKcHJpb3JpdHkgPSA1LAplbWl0RmlsZXMgPSBmdW5jdGlvbihwcmosIGdyb3VwKQptLmVtaXRGaWxlcyhwcmosIGdyb3VwLCAiTm9uZSIsIHttLmdlbmVyYXRlZEZpbGV9KQplbmQsCmVtaXRGaWx0ZXIgPSBmdW5jdGlvbihwcmosIGdyb3VwKQptLmZpbHRlckdyb3VwKHByaiwgZ3JvdXAsICJOb25lIikKZW5kCn0KbS5jYXRlZ29yaWVzLlJlc291cmNlQ29tcGlsZSA9IHsKbmFtZSAgICAgICA9ICJSZXNvdXJjZUNvbXBpbGUiLApleHRlbnNpb25zID0gIi5yYyIsCnByaW9yaXR5ICAgPSA2LAplbWl0RmlsZXMgPSBmdW5jdGlvbihwcmosIGdyb3VwKQpsb2NhbCBmaWxlQ2ZnRnVuYyA9IHsKbS5leGNsdWRlZEZyb21CdWlsZAp9Cm0uZW1pdEZpbGVzKHByaiwgZ3JvdXAsICJSZXNvdXJjZUNvbXBpbGUiLCBuaWwsIGZpbGVDZmdGdW5jLCBmdW5jdGlvbihjZmcpCnJldHVybiBjZmcuc3lzdGVtID09IHAuV0lORE9XUwplbmQpCmVuZCwKZW1pdEZpbHRlciA9IGZ1bmN0aW9uKHByaiwgZ3JvdXApCm0uZmlsdGVyR3JvdXAocHJqLCBncm91cCwgIlJlc291cmNlQ29tcGlsZSIpCmVuZAp9Cm0uY2F0ZWdvcmllcy5DdXN0b21CdWlsZCA9IHsKbmFtZSA9ICJDdXN0b21CdWlsZCIsCnByaW9yaXR5ID0gNywKZW1pdEZpbGVzID0gZnVuY3Rpb24ocHJqLCBncm91cCkKbG9jYWwgZmlsZUZ1bmMgPSB7Cm0uZmlsZVR5cGUKfQpsb2NhbCBmaWxlQ2ZnRnVuYyA9IHsKbS5leGNsdWRlZEZyb21CdWlsZCwKbS5idWlsZENvbW1hbmRzLAptLmJ1aWxkT3V0cHV0cywKbS5saW5rT2JqZWN0cywKbS5idWlsZE1lc3NhZ2UsCm0uYnVpbGRBZGRpdGlvbmFsSW5wdXRzCn0KbS5lbWl0RmlsZXMocHJqLCBncm91cCwgIkN1c3RvbUJ1aWxkIiwgZmlsZUZ1bmMsIGZpbGVDZmdGdW5jLCBmdW5jdGlvbiAoY2ZnLCBmY2ZnKQpyZXR1cm4gZmlsZWNvbmZpZy5oYXNDdXN0b21CdWlsZFJ1bGUoZmNmZykKZW5kKQplbmQsCmVtaXRGaWx0ZXIgPSBmdW5jdGlvbihwcmosIGdyb3VwKQptLmZpbHRlckdyb3VwKHByaiwgZ3JvdXAsICJDdXN0b21CdWlsZCIpCmVuZAp9Cm0uY2F0ZWdvcmllcy5NaWRsID0gewpuYW1lICAgICAgID0gIk1pZGwiLApleHRlbnNpb25zID0gIi5pZGwiLApwcmlvcml0eSAgID0gOCwKZW1pdEZpbGVzID0gZnVuY3Rpb24ocHJqLCBncm91cCkKbG9jYWwgZmlsZUNmZ0Z1bmMgPSB7Cm0uZXhjbHVkZWRGcm9tQnVpbGQKfQptLmVtaXRGaWxlcyhwcmosIGdyb3VwLCAiTWlkbCIsIG5pbCwgZmlsZUNmZ0Z1bmMsIGZ1bmN0aW9uKGNmZykKcmV0dXJuIGNmZy5zeXN0ZW0gPT0gcC5XSU5ET1dTCmVuZCkKZW5kLAplbWl0RmlsdGVyID0gZnVuY3Rpb24ocHJqLCBncm91cCkKbS5maWx0ZXJHcm91cChwcmosIGdyb3VwLCAiTWlkbCIpCmVuZAp9Cm0uY2F0ZWdvcmllcy5NYXNtID0gewpuYW1lICAgICAgID0gIk1hc20iLApleHRlbnNpb25zID0gIi5hc20iLApwcmlvcml0eSAgID0gOSwKZW1pdEZpbGVzID0gZnVuY3Rpb24ocHJqLCBncm91cCkKbG9jYWwgZmlsZUNmZ0Z1bmMgPSBmdW5jdGlvbihmY2ZnLCBjb25kaXRpb24pCmlmIGZjZmcgdGhlbgpyZXR1cm4gewptLk1hc21QcmVwcm9jZXNzb3JEZWZpbml0aW9ucywKbS5leGNsdWRlZEZyb21CdWlsZCwKbS5leGNlcHRpb25IYW5kbGluZ1NFSCwKfQplbHNlCnJldHVybiB7Cm0uZXhjbHVkZWRGcm9tQnVpbGQKfQplbmQKZW5kCm0uZW1pdEZpbGVzKHByaiwgZ3JvdXAsICJNYXNtIiwgbmlsLCBmaWxlQ2ZnRnVuYykKZW5kLAplbWl0RmlsdGVyID0gZnVuY3Rpb24ocHJqLCBncm91cCkKbS5maWx0ZXJHcm91cChwcmosIGdyb3VwLCAiTWFzbSIpCmVuZCwKZW1pdEV4dGVuc2lvblNldHRpbmdzID0gZnVuY3Rpb24ocHJqLCBncm91cCkKcC53KCc8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcXEJ1aWxkQ3VzdG9taXphdGlvbnNcXG1hc20ucHJvcHMiIC8+JykKZW5kLAplbWl0RXh0ZW5zaW9uVGFyZ2V0cyA9IGZ1bmN0aW9uKHByaiwgZ3JvdXApCnAudygnPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXFxCdWlsZEN1c3RvbWl6YXRpb25zXFxtYXNtLnRhcmdldHMiIC8+JykKZW5kCn0KbS5jYXRlZ29yaWVzLkltYWdlID0gewpuYW1lICAgICAgID0gIkltYWdlIiwKZXh0ZW5zaW9ucyA9IHsgIi5naWYiLCAiLmpwZyIsICIuanBlIiwgIi5wbmciLCAiLmJtcCIsICIuZGliIiwgIioudGlmIiwgIioud21mIiwgIioucmFzIiwgIiouZXBzIiwgIioucGN4IiwgIioucGNkIiwgIioudGdhIiwgIiouZGRzIiB9LApwcmlvcml0eSAgID0gMTAsCmVtaXRGaWxlcyA9IGZ1bmN0aW9uKHByaiwgZ3JvdXApCmxvY2FsIGZpbGVDZmdGdW5jID0gZnVuY3Rpb24oZmNmZywgY29uZGl0aW9uKQpyZXR1cm4gewptLmV4Y2x1ZGVkRnJvbUJ1aWxkCn0KZW5kCm0uZW1pdEZpbGVzKHByaiwgZ3JvdXAsICJJbWFnZSIsIG5pbCwgZmlsZUNmZ0Z1bmMpCmVuZCwKZW1pdEZpbHRlciA9IGZ1bmN0aW9uKHByaiwgZ3JvdXApCm0uZmlsdGVyR3JvdXAocHJqLCBncm91cCwgIkltYWdlIikKZW5kCn0KbS5jYXRlZ29yaWVzLk5hdHZpcyA9IHsKbmFtZSAgICAgICA9ICJOYXR2aXMiLApleHRlbnNpb25zID0geyAiLm5hdHZpcyIgfSwKcHJpb3JpdHkgICA9IDExLAplbWl0RmlsZXMgPSBmdW5jdGlvbihwcmosIGdyb3VwKQptLmVtaXRGaWxlcyhwcmosIGdyb3VwLCAiTmF0dmlzIiwge20uZ2VuZXJhdGVkRmlsZX0pCmVuZCwKZW1pdEZpbHRlciA9IGZ1bmN0aW9uKHByaiwgZ3JvdXApCm0uZmlsdGVyR3JvdXAocHJqLCBncm91cCwgIk5hdHZpcyIpCmVuZAp9CmZ1bmN0aW9uIG0uY2F0ZWdvcml6ZVNvdXJjZXMocHJqKQppZiBwcmouX3ZjMjAxMF9zb3VyY2VzIHRoZW4KcmV0dXJuIHByai5fdmMyMDEwX3NvdXJjZXMKZW5kCmxvY2FsIHJlc3VsdCA9IHt9CmxvY2FsIGdyb3VwcyA9IHt9CnByai5fdmMyMDEwX3NvdXJjZXMgPSByZXN1bHQKbG9jYWwgdHIgPSBwcm9qZWN0LmdldHNvdXJjZXRyZWUocHJqKQp0cmVlLnRyYXZlcnNlKHRyLCB7Cm9ubGVhZiA9IGZ1bmN0aW9uKG5vZGUpCmxvY2FsIGNhdCA9IG0uY2F0ZWdvcml6ZUZpbGUocHJqLCBub2RlKQpncm91cHNbY2F0Lm5hbWVdID0gZ3JvdXBzW2NhdC5uYW1lXSBvciB7CmNhdGVnb3J5ID0gY2F0LApmaWxlcyA9IHt9Cn0KdGFibGUuaW5zZXJ0KGdyb3Vwc1tjYXQubmFtZV0uZmlsZXMsIG5vZGUpCmVuZAp9KQpmb3IgbmFtZSwgZ3JvdXAgaW4gcGFpcnMoZ3JvdXBzKSBkbwp0YWJsZS5zb3J0KGdyb3VwLmZpbGVzLCBmdW5jdGlvbiAoYSwgYikKcmV0dXJuIGEucmVscGF0aCA8IGIucmVscGF0aAplbmQpCnRhYmxlLmluc2VydChyZXN1bHQsIGdyb3VwKQplbmQKdGFibGUuc29ydChyZXN1bHQsIGZ1bmN0aW9uIChhLCBiKQppZiAoYS5jYXRlZ29yeS5wcmlvcml0eSA9PSBiLmNhdGVnb3J5LnByaW9yaXR5KSB0aGVuCnJldHVybiBhLmNhdGVnb3J5Lm5hbWUgPCBiLmNhdGVnb3J5Lm5hbWUKZW5kCnJldHVybiBhLmNhdGVnb3J5LnByaW9yaXR5IDwgYi5jYXRlZ29yeS5wcmlvcml0eQplbmQpCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIG0uY2F0ZWdvcml6ZUZpbGUocHJqLCBmaWxlKQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmxvY2FsIGZjZmcgPSBmaWxlY29uZmlnLmdldGNvbmZpZyhmaWxlLCBjZmcpCmlmIGZjZmcgdGhlbgppZiBmaWxlY29uZmlnLmhhc0N1c3RvbUJ1aWxkUnVsZShmY2ZnKSB0aGVuCnJldHVybiBtLmNhdGVnb3JpZXMuQ3VzdG9tQnVpbGQKZW5kCmlmIGZjZmcuYnVpbGRhY3Rpb24gdGhlbgpyZXR1cm4gbS5jYXRlZ29yaWVzW2ZjZmcuYnVpbGRhY3Rpb25dIG9yIG0uY2F0ZWdvcmllcy5Ob25lCmVuZAplbmQKZW5kCmxvY2FsIHJ1bGUgPSBwLmdsb2JhbC5nZXRSdWxlRm9yRmlsZShmaWxlLm5hbWUsIHByai5ydWxlcykKaWYgcnVsZSB0aGVuCnJldHVybiB7Cm5hbWUgICAgICA9IHJ1bGUubmFtZSwKcHJpb3JpdHkgID0gMTAwLApydWxlICAgICAgPSBydWxlLAplbWl0RmlsZXMgPSBmdW5jdGlvbihwcmosIGdyb3VwKQptLmVtaXRSdWxlRmlsZXMocHJqLCBncm91cCkKZW5kLAplbWl0RmlsdGVyID0gZnVuY3Rpb24ocHJqLCBncm91cCkKbS5maWx0ZXJHcm91cChwcmosIGdyb3VwLCBncm91cC5jYXRlZ29yeS5uYW1lKQplbmQKfQplbmQKZm9yIF8sIGNhdCBpbiBwYWlycyhtLmNhdGVnb3JpZXMpIGRvCmlmIGNhdC5leHRlbnNpb25zIGFuZCBwYXRoLmhhc2V4dGVuc2lvbihmaWxlLm5hbWUsIGNhdC5leHRlbnNpb25zKSB0aGVuCnJldHVybiBjYXQKZW5kCmVuZApyZXR1cm4gbS5jYXRlZ29yaWVzLk5vbmUKZW5kCmZ1bmN0aW9uIG0uY29uZmlnUGFpcihjZmcpCnJldHVybiB2c3R1ZGlvLnByb2plY3RQbGF0Zm9ybShjZmcpIC4uICJ8IiAuLiB2c3R1ZGlvLmFyY2hGcm9tQ29uZmlnKGNmZywgdHJ1ZSkKZW5kCmZ1bmN0aW9uIG0uZ2V0VG90YWxDZmdDb3VudChwcmopCmlmIHByai5fdG90YWxDZmdDb3VudCB0aGVuCnJldHVybiBwcmouX3RvdGFsQ2ZnQ291bnQKZWxzZQpsb2NhbCByZXN1bHQgPSAwCmZvciBfIGluIHAucHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KcmVzdWx0ID0gcmVzdWx0ICsgMQplbmQKcHJqLl90b3RhbENmZ0NvdW50ID0gcmVzdWx0CnJldHVybiByZXN1bHQKZW5kCmVuZApmdW5jdGlvbiBtLmluZGV4Q29uZGl0aW9uYWxFbGVtZW50cygpCmxvY2FsIG5hbWVNYXAsIG5hbWVMaXN0LCBzZXR0aW5nTGlzdApuYW1lTWFwID0ge30KbmFtZUxpc3QgPSB7fSAtLSB0byBwcmVzZXJ2ZSBvcmRlcmluZwpzZXR0aW5nTGlzdCA9IHt9IC0tIHRvIHByZXNlcnZlIG9yZGVyaW5nCmZvciBfLCBlbGVtZW50IGluIGlwYWlycyhtLmNvbmRpdGlvbmFsRWxlbWVudHMpIGRvCmxvY2FsIHNldHRpbmdNYXAgPSBuYW1lTWFwW2VsZW1lbnQubmFtZV0KaWYgbm90IHNldHRpbmdNYXAgdGhlbgpzZXR0aW5nTWFwID0ge30KbmFtZU1hcFtlbGVtZW50Lm5hbWVdID0gc2V0dGluZ01hcAppZiBub3QgdGFibGUuY29udGFpbnMobmFtZUxpc3QsIGVsZW1lbnQubmFtZSkgdGhlbgp0YWJsZS5pbnNlcnQobmFtZUxpc3QsIGVsZW1lbnQubmFtZSkKZW5kCmVuZApsb2NhbCBlbGVtZW50U2V0ID0gc2V0dGluZ01hcFtlbGVtZW50LnNldHRpbmddCmlmIGVsZW1lbnRTZXQgdGhlbgp0YWJsZS5pbnNlcnQoZWxlbWVudFNldCwgZWxlbWVudCkKZWxzZQplbGVtZW50U2V0ID0ge2VsZW1lbnR9CnNldHRpbmdNYXBbZWxlbWVudC5zZXR0aW5nXSA9IGVsZW1lbnRTZXQKaWYgbm90IHRhYmxlLmNvbnRhaW5zKHNldHRpbmdMaXN0LCBlbGVtZW50LnNldHRpbmcpIHRoZW4KdGFibGUuaW5zZXJ0KHNldHRpbmdMaXN0LCBlbGVtZW50LnNldHRpbmcpCmVuZAplbmQKZW5kCnJldHVybiBuYW1lTWFwLCBuYW1lTGlzdCwgc2V0dGluZ0xpc3QKZW5kCmZ1bmN0aW9uIG0uZW1pdENvbmRpdGlvbmFsRWxlbWVudHMocHJqKQpsb2NhbCBrZXlDb3VudCA9IGZ1bmN0aW9uKHRibCkKbG9jYWwgY291bnQgPSAwCmZvciBfIGluIHBhaXJzKHRibCkgZG8gY291bnQgPSBjb3VudCArIDEgZW5kCnJldHVybiBjb3VudAplbmQKbG9jYWwgbmFtZU1hcCwgbmFtZUxpc3QsIHNldHRpbmdMaXN0Cm5hbWVNYXAsIG5hbWVMaXN0LCBzZXR0aW5nTGlzdCA9IG0uaW5kZXhDb25kaXRpb25hbEVsZW1lbnRzKCkKbG9jYWwgdG90YWxDZmdDb3VudCA9IG0uZ2V0VG90YWxDZmdDb3VudChwcmopCmZvciBfLCBuYW1lIGluIGlwYWlycyhuYW1lTGlzdCkgZG8KbG9jYWwgc2V0dGluZ01hcCA9IG5hbWVNYXBbbmFtZV0KbG9jYWwgZG9uZSA9IGZhbHNlCmlmIGtleUNvdW50KHNldHRpbmdNYXApPT0xIHRoZW4KZm9yIF8sIHNldHRpbmcgaW4gaXBhaXJzKHNldHRpbmdMaXN0KSBkbwpsb2NhbCBlbGVtZW50cyA9IHNldHRpbmdNYXBbc2V0dGluZ10KaWYgZWxlbWVudHN+PW5pbCBhbmQgI2VsZW1lbnRzPT10b3RhbENmZ0NvdW50IHRoZW4KbG9jYWwgZWxlbWVudCA9IGVsZW1lbnRzWzFdCmxvY2FsIGZvcm1hdCA9IHN0cmluZy5mb3JtYXQoJzwlcz4lczwvJXM+JywgbmFtZSwgZWxlbWVudC52YWx1ZSwgbmFtZSkKcC53KGZvcm1hdCwgdGFibGUudW5wYWNrKGVsZW1lbnQuYXJncykpCmRvbmUgPSB0cnVlCmVuZAplbmQKZW5kCmlmIG5vdCBkb25lIHRoZW4KZm9yIF8sIHNldHRpbmcgaW4gaXBhaXJzKHNldHRpbmdMaXN0KSBkbwpsb2NhbCBlbGVtZW50cyA9IHNldHRpbmdNYXBbc2V0dGluZ10KaWYgZWxlbWVudHMgdGhlbgpmb3IgXywgZWxlbWVudCBpbiBpcGFpcnMoZWxlbWVudHMpIGRvCmxvY2FsIGZvcm1hdCA9IHN0cmluZy5mb3JtYXQoJzwlcyAlcz4lczwvJXM+JywgbmFtZSwgbS5jb25kaXRpb25Gcm9tQ29uZmlnVGV4dChlbGVtZW50LmNvbmRpdGlvbiksIGVsZW1lbnQudmFsdWUsIG5hbWUpCnAudyhmb3JtYXQsIHRhYmxlLnVucGFjayhlbGVtZW50LmFyZ3MpKQplbmQKZW5kCmVuZAplbmQKZW5kCmVuZApmdW5jdGlvbiBtLmVtaXRGaWxlcyhwcmosIGdyb3VwLCB0YWcsIGZpbGVGdW5jLCBmaWxlQ2ZnRnVuYywgY2hlY2tGdW5jKQpsb2NhbCBmaWxlcyA9IGdyb3VwLmZpbGVzCmlmIGZpbGVzIGFuZCAjZmlsZXMgPiAwIHRoZW4KcC5wdXNoKCc8SXRlbUdyb3VwPicpCmZvciBfLCBmaWxlIGluIGlwYWlycyhmaWxlcykgZG8KbG9jYWwgY29udGVudHMgPSBwLmNhcHR1cmUoZnVuY3Rpb24gKCkKcC5wdXNoKCkKcC5jYWxsQXJyYXkoZmlsZUZ1bmMsIGNmZywgZmlsZSkKbS5jb25kaXRpb25hbEVsZW1lbnRzID0ge30KZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpsb2NhbCBmY2ZnID0gZmlsZWNvbmZpZy5nZXRjb25maWcoZmlsZSwgY2ZnKQppZiBub3QgY2hlY2tGdW5jIG9yIGNoZWNrRnVuYyhjZmcsIGZjZmcpIHRoZW4KcC5jYWxsQXJyYXkoZmlsZUNmZ0Z1bmMsIGZjZmcsIG0uY29uZmlnUGFpcihjZmcpKQplbmQKZW5kCmlmICNtLmNvbmRpdGlvbmFsRWxlbWVudHMgPiAwIHRoZW4KbS5lbWl0Q29uZGl0aW9uYWxFbGVtZW50cyhwcmopCmVuZApwLnBvcCgpCmVuZCkKbG9jYWwgcmVsID0gcGF0aC50cmFuc2xhdGUoZmlsZS5yZWxwYXRoKQppZiAjY29udGVudHMgPiAwIHRoZW4KcC5wdXNoKCc8JXMgSW5jbHVkZT0iJXMiPicsIHRhZywgcmVsKQpwLm91dGxuKGNvbnRlbnRzKQpwLnBvcCgnPC8lcz4nLCB0YWcpCmVsc2UKcC54KCc8JXMgSW5jbHVkZT0iJXMiIC8+JywgdGFnLCByZWwpCmVuZAplbmQKcC5wb3AoJzwvSXRlbUdyb3VwPicpCmVuZAplbmQKZnVuY3Rpb24gbS5lbWl0UnVsZUZpbGVzKHByaiwgZ3JvdXApCmxvY2FsIGZpbGVzID0gZ3JvdXAuZmlsZXMKbG9jYWwgcnVsZSA9IGdyb3VwLmNhdGVnb3J5LnJ1bGUKaWYgZmlsZXMgYW5kICNmaWxlcyA+IDAgdGhlbgpwLnB1c2goJzxJdGVtR3JvdXA+JykKZm9yIF8sIGZpbGUgaW4gaXBhaXJzKGZpbGVzKSBkbwpsb2NhbCBjb250ZW50cyA9IHAuY2FwdHVyZShmdW5jdGlvbigpCnAucHVzaCgpCmZvciBwcm9wIGluIHAucnVsZS5lYWNoUHJvcGVydHkocnVsZSkgZG8KbG9jYWwgZmxkID0gcC5ydWxlLmdldFByb3BlcnR5RmllbGQocnVsZSwgcHJvcCkKbS5jb25kaXRpb25hbEVsZW1lbnRzID0ge30KZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpsb2NhbCBmY2ZnID0gZmlsZWNvbmZpZy5nZXRjb25maWcoZmlsZSwgY2ZnKQppZiBmY2ZnIGFuZCBmY2ZnW2ZsZC5uYW1lXSB0aGVuCmxvY2FsIHZhbHVlID0gbS5nZXRSdWxlUHJvcGVydHlTdHJpbmcocnVsZSwgcHJvcCwgZmNmZ1tmbGQubmFtZV0pCmlmIHZhbHVlIGFuZCAjdmFsdWUgPiAwIHRoZW4KbS5lbGVtZW50KHByb3AubmFtZSwgbS5jb25maWdQYWlyKGNmZyksICclcycsIHZhbHVlKQplbmQKZW5kCmVuZAppZiAjbS5jb25kaXRpb25hbEVsZW1lbnRzID4gMCB0aGVuCm0uZW1pdENvbmRpdGlvbmFsRWxlbWVudHMocHJqKQplbmQKZW5kCnAucG9wKCkKZW5kKQppZiAjY29udGVudHMgPiAwIHRoZW4KcC5wdXNoKCc8JXMgSW5jbHVkZT1cIiVzXCI+JywgcnVsZS5uYW1lLCBwYXRoLnRyYW5zbGF0ZShmaWxlLnJlbHBhdGgpKQpwLm91dGxuKGNvbnRlbnRzKQpwLnBvcCgnPC8lcz4nLCBydWxlLm5hbWUpCmVsc2UKcC54KCc8JXMgSW5jbHVkZT1cIiVzXCIgLz4nLCBydWxlLm5hbWUsIHBhdGgudHJhbnNsYXRlKGZpbGUucmVscGF0aCkpCmVuZAplbmQKcC5wb3AoJzwvSXRlbUdyb3VwPicpCmVuZAplbmQKZnVuY3Rpb24gbS5pc0Nsck1peGVkKHByaikKbG9jYWwgaXNNaXhlZCA9IGZhbHNlCmlmIG5vdCBwcmouY2xyIG9yIHByai5jbHIgPT0gcC5PRkYgdGhlbgppZiBwcmouX2lzQ2xyTWl4ZWQgfj0gbmlsIHRoZW4KaXNNaXhlZCA9IHByai5faXNDbHJNaXhlZAplbHNlCnRhYmxlLmZvcmVhY2hpKHByai5fLmZpbGVzLCBmdW5jdGlvbihmaWxlKQpmb3IgY2ZnIGluIHAucHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbG9jYWwgZmNmZyA9IHAuZmlsZWNvbmZpZy5nZXRjb25maWcoZmlsZSwgY2ZnKQppZiBmY2ZnIGFuZCBmY2ZnLmNsciBhbmQgZmNmZy5jbHIgfj0gcC5PRkYgdGhlbgppc01peGVkID0gdHJ1ZQplbmQKZW5kCmVuZCkKcHJqLl9pc0Nsck1peGVkID0gaXNNaXhlZCAtLSBjYWNoZSB0aGUgcmVzdWx0cwplbmQKZW5kCnJldHVybiBpc01peGVkCmVuZAptLmVsZW1lbnRzLnByb2plY3RSZWZlcmVuY2VzID0gZnVuY3Rpb24ocHJqLCByZWYpCmlmIHByai5jbHIgfj0gcC5PRkYgb3IgKG0uaXNDbHJNaXhlZChwcmopIGFuZCByZWYgYW5kIHJlZi5raW5kIH49cC5TVEFUSUNMSUIpIHRoZW4KcmV0dXJuIHsKbS5yZWZlcmVuY2VQcm9qZWN0LAptLnJlZmVyZW5jZVByaXZhdGUsCm0ucmVmZXJlbmNlT3V0cHV0QXNzZW1ibHksCm0ucmVmZXJlbmNlQ29weUxvY2FsU2F0ZWxsaXRlQXNzZW1ibGllcywKbS5yZWZlcmVuY2VMaW5rTGlicmFyeURlcGVuZGVuY2llcywKbS5yZWZlcmVuY2VVc2VMaWJyYXJ5RGVwZW5kZW5jZXMsCn0KZWxzZQpyZXR1cm4gewptLnJlZmVyZW5jZVByb2plY3QsCn0KZW5kCmVuZApmdW5jdGlvbiBtLnByb2plY3RSZWZlcmVuY2VzKHByaikKbG9jYWwgcmVmcyA9IHByb2plY3QuZ2V0ZGVwZW5kZW5jaWVzKHByaiwgJ2xpbmtPbmx5JykKaWYgI3JlZnMgPiAwIHRoZW4KcC5wdXNoKCc8SXRlbUdyb3VwPicpCmZvciBfLCByZWYgaW4gaXBhaXJzKHJlZnMpIGRvCmxvY2FsIHJlbHBhdGggPSB2c3R1ZGlvLnBhdGgocHJqLCB2c3R1ZGlvLnByb2plY3RmaWxlKHJlZikpCnAucHVzaCgnPFByb2plY3RSZWZlcmVuY2UgSW5jbHVkZT1cIiVzXCI+JywgcmVscGF0aCkKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5wcm9qZWN0UmVmZXJlbmNlcywgcHJqLCByZWYpCnAucG9wKCc8L1Byb2plY3RSZWZlcmVuY2U+JykKZW5kCnAucG9wKCc8L0l0ZW1Hcm91cD4nKQplbmQKZW5kCmZ1bmN0aW9uIG0uYWRkaXRpb25hbERlcGVuZGVuY2llcyhjZmcsIGV4cGxpY2l0KQpsb2NhbCBsaW5rcwpsb2NhbCB0b29sc2V0ID0gY29uZmlnLnRvb2xzZXQoY2ZnKQppZiB0b29sc2V0IHRoZW4KbGlua3MgPSB0b29sc2V0LmdldGxpbmtzKGNmZywgbm90IGV4cGxpY2l0KQplbHNlCmxpbmtzID0gdnN0dWRpby5nZXRMaW5rcyhjZmcsIGV4cGxpY2l0KQplbmQKaWYgI2xpbmtzID4gMCB0aGVuCmxpbmtzID0gcGF0aC50cmFuc2xhdGUodGFibGUuY29uY2F0KGxpbmtzLCAiOyIpKQptLmVsZW1lbnQoIkFkZGl0aW9uYWxEZXBlbmRlbmNpZXMiLCBuaWwsICIlczslJShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKSIsIGxpbmtzKQplbmQKZW5kCmZ1bmN0aW9uIG0uYWRkaXRpb25hbEluY2x1ZGVEaXJlY3RvcmllcyhjZmcsIGluY2x1ZGVkaXJzKQppZiAjaW5jbHVkZWRpcnMgPiAwIHRoZW4KbG9jYWwgZGlycyA9IHZzdHVkaW8ucGF0aChjZmcsIGluY2x1ZGVkaXJzKQppZiAjZGlycyA+IDAgdGhlbgptLmVsZW1lbnQoIkFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMiLCBuaWwsICIlczslJShBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKSIsIHRhYmxlLmNvbmNhdChkaXJzLCAiOyIpKQplbmQKZW5kCmVuZApmdW5jdGlvbiBtLmFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMoY2ZnKQppZiAjY2ZnLmxpYmRpcnMgPiAwIHRoZW4KbG9jYWwgZGlycyA9IHRhYmxlLmNvbmNhdCh2c3R1ZGlvLnBhdGgoY2ZnLCBjZmcubGliZGlycyksICI7IikKbS5lbGVtZW50KCJBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzIiwgbmlsLCAiJXM7JSUoQWRkaXRpb25hbExpYnJhcnlEaXJlY3RvcmllcykiLCBkaXJzKQplbmQKZW5kCmZ1bmN0aW9uIG0uYWRkaXRpb25hbE1hbmlmZXN0RmlsZXMoY2ZnKQpsb2NhbCBtYW5pZmVzdHMgPSB7fQpmb3IgXywgZm5hbWUgaW4gaXBhaXJzKGNmZy5maWxlcykgZG8KaWYgcGF0aC5nZXRleHRlbnNpb24oZm5hbWUpID09ICIubWFuaWZlc3QiIHRoZW4KdGFibGUuaW5zZXJ0KG1hbmlmZXN0cywgcHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgZm5hbWUpKQplbmQKZW5kCmlmICNtYW5pZmVzdHMgPiAwIHRoZW4KbS5lbGVtZW50KCJBZGRpdGlvbmFsTWFuaWZlc3RGaWxlcyIsIG5pbCwgIiVzOyUlKEFkZGl0aW9uYWxNYW5pZmVzdEZpbGVzKSIsIHRhYmxlLmNvbmNhdChtYW5pZmVzdHMsICI7IikpCmVuZAplbmQKZnVuY3Rpb24gbS5hZGRpdGlvbmFsVXNpbmdEaXJlY3RvcmllcyhjZmcpCmlmICNjZmcudXNpbmdkaXJzID4gMCB0aGVuCmxvY2FsIGRpcnMgPSB2c3R1ZGlvLnBhdGgoY2ZnLCBjZmcudXNpbmdkaXJzKQppZiAjZGlycyA+IDAgdGhlbgptLmVsZW1lbnQoIkFkZGl0aW9uYWxVc2luZ0RpcmVjdG9yaWVzIiwgbmlsLCAiJXM7JSUoQWRkaXRpb25hbFVzaW5nRGlyZWN0b3JpZXMpIiwgdGFibGUuY29uY2F0KGRpcnMsICI7IikpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0ubGFyZ2VBZGRyZXNzQXdhcmUoY2ZnKQppZiAoY2ZnLmxhcmdlYWRkcmVzc2F3YXJlID09IHRydWUpIHRoZW4KbS5lbGVtZW50KCJMYXJnZUFkZHJlc3NBd2FyZSIsIG5pbCwgJ3RydWUnKQplbmQKZW5kCmZ1bmN0aW9uIG0ubGFuZ3VhZ2VTdGFuZGFyZChjZmcpCmlmIF9BQ1RJT04gPj0gInZzMjAxNyIgdGhlbgppZiAoY2ZnLmNwcGRpYWxlY3QgPT0gIkMrKzE0IikgdGhlbgptLmVsZW1lbnQoIkxhbmd1YWdlU3RhbmRhcmQiLCBuaWwsICdzdGRjcHAxNCcpCmVsc2VpZiAoY2ZnLmNwcGRpYWxlY3QgPT0gIkMrKzE3IikgdGhlbgptLmVsZW1lbnQoIkxhbmd1YWdlU3RhbmRhcmQiLCBuaWwsICdzdGRjcHAxNycpCmVsc2VpZiAoY2ZnLmNwcGRpYWxlY3QgPT0gIkMrK2xhdGVzdCIpIHRoZW4KbS5lbGVtZW50KCJMYW5ndWFnZVN0YW5kYXJkIiwgbmlsLCAnc3RkY3BwbGF0ZXN0JykKZW5kCmVuZAplbmQKZnVuY3Rpb24gbS5zdHJ1Y3RNZW1iZXJBbGlnbm1lbnQoY2ZnKQpsb2NhbCBtYXAgPSB7ClsxXSA9ICIxQnl0ZSIsClsyXSA9ICIyQnl0ZXMiLApbNF0gPSAiNEJ5dGVzIiwKWzhdID0gIjhCeXRlcyIsClsxNl0gPSAiMTZCeXRlcyIKfQpsb2NhbCB2YWx1ZSA9IG1hcFtjZmcuc3RydWN0bWVtYmVyYWxpZ25dCmlmIHZhbHVlIHRoZW4KbS5lbGVtZW50KCJTdHJ1Y3RNZW1iZXJBbGlnbm1lbnQiLCBuaWwsIHZhbHVlKQplbmQKZW5kCmZ1bmN0aW9uIG0uYWRkaXRpb25hbENvbXBpbGVPcHRpb25zKGNmZywgY29uZGl0aW9uKQpsb2NhbCBvcHRzID0gY2ZnLmJ1aWxkb3B0aW9ucwppZiBfQUNUSU9OID09ICJ2czIwMTUiIHRoZW4KaWYgKGNmZy5jcHBkaWFsZWN0ID09ICJDKysxNCIpIHRoZW4KdGFibGUuaW5zZXJ0KG9wdHMsICIvc3RkOmMrKzE0IikKZWxzZWlmIChjZmcuY3BwZGlhbGVjdCA9PSAiQysrMTciKSB0aGVuCnRhYmxlLmluc2VydChvcHRzLCAiL3N0ZDpjKytsYXRlc3QiKQplbHNlaWYgKGNmZy5jcHBkaWFsZWN0ID09ICJDKytsYXRlc3QiKSB0aGVuCnRhYmxlLmluc2VydChvcHRzLCAiL3N0ZDpjKytsYXRlc3QiKQplbmQKZW5kCmlmIGNmZy50b29sc2V0IGFuZCBjZmcudG9vbHNldDpzdGFydHN3aXRoKCJtc2MiKSB0aGVuCmxvY2FsIHZhbHVlID0gaWlmKGNmZy51bnNpZ25lZGNoYXIsICJPbiIsICJPZmYiKQp0YWJsZS5pbnNlcnQob3B0cywgcC50b29scy5tc2Muc2hhcmVkLnVuc2lnbmVkY2hhclt2YWx1ZV0pCmVuZAppZiAjb3B0cyA+IDAgdGhlbgpvcHRzID0gdGFibGUuY29uY2F0KG9wdHMsICIgIikKbS5lbGVtZW50KCJBZGRpdGlvbmFsT3B0aW9ucyIsIGNvbmRpdGlvbiwgJyVzICUlKEFkZGl0aW9uYWxPcHRpb25zKScsIG9wdHMpCmVuZAplbmQKZnVuY3Rpb24gbS5hZGRpdGlvbmFsTGlua09wdGlvbnMoY2ZnKQppZiAjY2ZnLmxpbmtvcHRpb25zID4gMCB0aGVuCmxvY2FsIG9wdHMgPSB0YWJsZS5jb25jYXQoY2ZnLmxpbmtvcHRpb25zLCAiICIpCm0uZWxlbWVudCgiQWRkaXRpb25hbE9wdGlvbnMiLCBuaWwsICIlcyAlJShBZGRpdGlvbmFsT3B0aW9ucykiLCBvcHRzKQplbmQKZW5kCmZ1bmN0aW9uIG0uY29tcGlsZUFzTWFuYWdlZChmY2ZnLCBjb25kaXRpb24pCmlmIGZjZmcuY2xyIGFuZCBmY2ZnIH49IHAuT0ZGIHRoZW4KbS5lbGVtZW50KCJDb21waWxlQXNNYW5hZ2VkIiwgY29uZGl0aW9uLCAidHJ1ZSIpCmVuZAplbmQKZnVuY3Rpb24gbS5iYXNpY1J1bnRpbWVDaGVja3MoY2ZnLCBjb25kaXRpb24pCmxvY2FsIHByamNmZywgZmlsZWNmZyA9IHAuY29uZmlnLm5vcm1hbGl6ZShjZmcpCmxvY2FsIHJ1bnRpbWUgPSBjb25maWcuZ2V0cnVudGltZShwcmpjZmcpIG9yIGlpZihjb25maWcuaXNEZWJ1Z0J1aWxkKGNmZyksICJEZWJ1ZyIsICJSZWxlYXNlIikKaWYgZmlsZWNmZyB0aGVuCmlmIGZpbGVjZmcuZmxhZ3MuTm9SdW50aW1lQ2hlY2tzIG9yIChjb25maWcuaXNPcHRpbWl6ZWRCdWlsZChmaWxlY2ZnKSBhbmQgcnVudGltZTplbmRzd2l0aCgiRGVidWciKSkgdGhlbgptLmVsZW1lbnQoIkJhc2ljUnVudGltZUNoZWNrcyIsIGNvbmRpdGlvbiwgIkRlZmF1bHQiKQplbmQKZWxzZQppZiBwcmpjZmcuZmxhZ3MuTm9SdW50aW1lQ2hlY2tzIG9yIChjb25maWcuaXNPcHRpbWl6ZWRCdWlsZChwcmpjZmcpIGFuZCBydW50aW1lOmVuZHN3aXRoKCJEZWJ1ZyIpKSB0aGVuCm0uZWxlbWVudCgiQmFzaWNSdW50aW1lQ2hlY2tzIiwgbmlsLCAiRGVmYXVsdCIpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0uYnVpbGRBZGRpdGlvbmFsSW5wdXRzKGZjZmcsIGNvbmRpdGlvbikKaWYgZmNmZy5idWlsZGlucHV0cyBhbmQgI2ZjZmcuYnVpbGRpbnB1dHMgPiAwIHRoZW4KbG9jYWwgaW5wdXRzID0gcHJvamVjdC5nZXRyZWxhdGl2ZShmY2ZnLnByb2plY3QsIGZjZmcuYnVpbGRpbnB1dHMpCm0uZWxlbWVudCgiQWRkaXRpb25hbElucHV0cyIsIGNvbmRpdGlvbiwgJyVzJywgdGFibGUuY29uY2F0KGlucHV0cywgIjsiKSkKZW5kCmVuZApmdW5jdGlvbiBtLmJ1aWxkQ29tbWFuZHMoZmNmZywgY29uZGl0aW9uKQpsb2NhbCBjb21tYW5kcyA9IG9zLnRyYW5zbGF0ZUNvbW1hbmRzQW5kUGF0aHMoZmNmZy5idWlsZGNvbW1hbmRzLCBmY2ZnLnByb2plY3QuYmFzZWRpciwgZmNmZy5wcm9qZWN0LmxvY2F0aW9uKQpjb21tYW5kcyA9IHRhYmxlLmNvbmNhdChjb21tYW5kcywnXHJcbicpCm0uZWxlbWVudCgiQ29tbWFuZCIsIGNvbmRpdGlvbiwgJyVzJywgY29tbWFuZHMpCmVuZApmdW5jdGlvbiBtLmJ1aWxkTG9nKGNmZykKaWYgY2ZnLmJ1aWxkbG9nIGFuZCAjY2ZnLmJ1aWxkbG9nID4gMCB0aGVuCnAucHVzaCgnPEJ1aWxkTG9nPicpCm0uZWxlbWVudCgiUGF0aCIsIG5pbCwgIiVzIiwgdnN0dWRpby5wYXRoKGNmZywgY2ZnLmJ1aWxkbG9nKSkKcC5wb3AoJzwvQnVpbGRMb2c+JykKZW5kCmVuZApmdW5jdGlvbiBtLmJ1aWxkTWVzc2FnZShmY2ZnLCBjb25kaXRpb24pCmlmIGZjZmcuYnVpbGRtZXNzYWdlIHRoZW4KbS5lbGVtZW50KCJNZXNzYWdlIiwgY29uZGl0aW9uLCAnJXMnLCBmY2ZnLmJ1aWxkbWVzc2FnZSkKZW5kCmVuZApmdW5jdGlvbiBtLmJ1aWxkT3V0cHV0cyhmY2ZnLCBjb25kaXRpb24pCmxvY2FsIG91dHB1dHMgPSBwcm9qZWN0LmdldHJlbGF0aXZlKGZjZmcucHJvamVjdCwgZmNmZy5idWlsZG91dHB1dHMpCm0uZWxlbWVudCgiT3V0cHV0cyIsIGNvbmRpdGlvbiwgJyVzJywgdGFibGUuY29uY2F0KG91dHB1dHMsICI7IikpCmVuZApmdW5jdGlvbiBtLmxpbmtPYmplY3RzKGZjZmcsIGNvbmRpdGlvbikKaWYgZmNmZy5saW5rYnVpbGRvdXRwdXRzIH49IG5pbCB0aGVuCm0uZWxlbWVudCgiTGlua09iamVjdHMiLCBjb25kaXRpb24sIHRvc3RyaW5nKGZjZmcubGlua2J1aWxkb3V0cHV0cykpCmVuZAplbmQKZnVuY3Rpb24gbS5jaGFyYWN0ZXJTZXQoY2ZnKQppZiBub3QgdnN0dWRpby5pc01ha2VmaWxlKGNmZykgdGhlbgpsb2NhbCBjaGFyYWN0ZXJzZXRzID0gewpBU0NJSSA9ICJOb3RTZXQiLApNQkNTID0gIk11bHRpQnl0ZSIsClVuaWNvZGUgPSAiVW5pY29kZSIsCkRlZmF1bHQgPSAiVW5pY29kZSIKfQptLmVsZW1lbnQoIkNoYXJhY3RlclNldCIsIG5pbCwgY2hhcmFjdGVyc2V0c1tjZmcuY2hhcmFjdGVyc2V0XSkKZW5kCmVuZApmdW5jdGlvbiBtLndob2xlUHJvZ3JhbU9wdGltaXphdGlvbihjZmcpCmlmIGNmZy5mbGFncy5MaW5rVGltZU9wdGltaXphdGlvbiB0aGVuCm0uZWxlbWVudCgiV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uIiwgbmlsLCAidHJ1ZSIpCmVuZAplbmQKZnVuY3Rpb24gbS5jbENvbXBpbGVBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKGNmZykKbS5hZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzKGNmZywgY2ZnLmluY2x1ZGVkaXJzKQplbmQKZnVuY3Rpb24gbS5jbENvbXBpbGVBZGRpdGlvbmFsVXNpbmdEaXJlY3RvcmllcyhjZmcpCm0uYWRkaXRpb25hbFVzaW5nRGlyZWN0b3JpZXMoY2ZnLCBjZmcudXNpbmdkaXJzKQplbmQKZnVuY3Rpb24gbS5jbENvbXBpbGVQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyhjZmcsIGNvbmRpdGlvbikKbG9jYWwgZGVmaW5lcyA9IGNmZy5kZWZpbmVzCmlmIGNmZy5leGNlcHRpb25oYW5kbGluZyA9PSBwLk9GRiB0aGVuCmRlZmluZXMgPSB0YWJsZS5qb2luKGRlZmluZXMsICJfSEFTX0VYQ0VQVElPTlM9MCIpCmVuZAptLnByZXByb2Nlc3NvckRlZmluaXRpb25zKGNmZywgZGVmaW5lcywgZmFsc2UsIGNvbmRpdGlvbikKZW5kCmZ1bmN0aW9uIG0uY2xDb21waWxlVW5kZWZpbmVQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyhjZmcsIGNvbmRpdGlvbikKbS51bmRlZmluZVByZXByb2Nlc3NvckRlZmluaXRpb25zKGNmZywgY2ZnLnVuZGVmaW5lcywgZmFsc2UsIGNvbmRpdGlvbikKZW5kCmZ1bmN0aW9uIG0uY2xyU3VwcG9ydChjZmcpCmxvY2FsIHZhbHVlCmlmIGNmZy5jbHIgPT0gIk9uIiBvciBjZmcuY2xyID09ICJVbnNhZmUiIHRoZW4KdmFsdWUgPSAidHJ1ZSIKZWxzZWlmIGNmZy5jbHIgfj0gcC5PRkYgdGhlbgp2YWx1ZSA9IGNmZy5jbHIKZW5kCmlmIHZhbHVlIHRoZW4KbS5lbGVtZW50KCJDTFJTdXBwb3J0IiwgbmlsLCB2YWx1ZSkKZW5kCmVuZApmdW5jdGlvbiBtLmNvbXBpbGVBcyhjZmcsIGNvbmRpdGlvbikKaWYgcC5sYW5ndWFnZXMuaXNjKGNmZy5jb21waWxlYXMpIHRoZW4KbS5lbGVtZW50KCJDb21waWxlQXMiLCBjb25kaXRpb24sICJDb21waWxlQXNDIikKZWxzZWlmIHAubGFuZ3VhZ2VzLmlzY3BwKGNmZy5jb21waWxlYXMpIHRoZW4KbS5lbGVtZW50KCJDb21waWxlQXMiLCBjb25kaXRpb24sICJDb21waWxlQXNDcHAiKQplbmQKZW5kCmZ1bmN0aW9uIG0uY29uZmlndXJhdGlvblR5cGUoY2ZnKQpsb2NhbCB0eXBlcyA9IHsKU2hhcmVkTGliID0gIkR5bmFtaWNMaWJyYXJ5IiwKU3RhdGljTGliID0gIlN0YXRpY0xpYnJhcnkiLApDb25zb2xlQXBwID0gIkFwcGxpY2F0aW9uIiwKV2luZG93ZWRBcHAgPSAiQXBwbGljYXRpb24iLApNYWtlZmlsZSA9ICJNYWtlZmlsZSIsCk5vbmUgPSAiTWFrZWZpbGUiLApVdGlsaXR5ID0gIlV0aWxpdHkiLAp9Cm0uZWxlbWVudCgiQ29uZmlndXJhdGlvblR5cGUiLCBuaWwsIHR5cGVzW2NmZy5raW5kXSkKZW5kCmZ1bmN0aW9uIG0uY3VsdHVyZShjZmcpCmxvY2FsIHZhbHVlID0gdnN0dWRpby5jdWx0dXJlRm9yTG9jYWxlKGNmZy5sb2NhbGUpCmlmIHZhbHVlIHRoZW4KbS5lbGVtZW50KCJDdWx0dXJlIiwgbmlsLCAiMHglMDR4IiwgdG9zdHJpbmcodmFsdWUpKQplbmQKZW5kCmZ1bmN0aW9uIG0uZGVidWdJbmZvcm1hdGlvbkZvcm1hdChjZmcpCmxvY2FsIHZhbHVlCmxvY2FsIHRvb2wsIHRvb2xWZXJzaW9uID0gcC5jb25maWcudG9vbHNldChjZmcpCmlmIChjZmcuc3ltYm9scyA9PSBwLk9OKSBvciAoY2ZnLnN5bWJvbHMgPT0gIkZhc3RMaW5rIikgb3IgKGNmZy5zeW1ib2xzID09ICJGdWxsIikgdGhlbgppZiBjZmcuZGVidWdmb3JtYXQgPT0gImM3IiB0aGVuCnZhbHVlID0gIk9sZFN0eWxlIgplbHNlaWYgKGNmZy5hcmNoaXRlY3R1cmUgPT0gIng4Nl82NCIgYW5kIF9BQ1RJT04gPCAidnMyMDE1Iikgb3IKICAgY2ZnLmNsciB+PSBwLk9GRiBvcgogICBjb25maWcuaXNPcHRpbWl6ZWRCdWlsZChjZmcpIG9yCiAgIGNmZy5lZGl0YW5kY29udGludWUgPT0gcC5PRkYgb3IKICAgKHRvb2xWZXJzaW9uIGFuZCB0b29sVmVyc2lvbjpzdGFydHN3aXRoKCJMTFZNLXZzIikpCnRoZW4KdmFsdWUgPSAiUHJvZ3JhbURhdGFiYXNlIgplbHNlCnZhbHVlID0gIkVkaXRBbmRDb250aW51ZSIKZW5kCm0uZWxlbWVudCgiRGVidWdJbmZvcm1hdGlvbkZvcm1hdCIsIG5pbCwgdmFsdWUpCmVsc2VpZiBjZmcuc3ltYm9scyA9PSBwLk9GRiB0aGVuCmlmIF9BQ1RJT04gPCAidnMyMDE1IiB0aGVuCnZhbHVlID0gIiIKZWxzZQp2YWx1ZSA9ICJOb25lIgplbmQKbS5lbGVtZW50KCJEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0IiwgbmlsLCB2YWx1ZSkKZW5kCmVuZApmdW5jdGlvbiBtLmVuYWJsZURwaUF3YXJlbmVzcyhjZmcpCmxvY2FsIGF3YXJlbmVzcyA9IHsKTm9uZSA9ICJmYWxzZSIsCkhpZ2ggPSAidHJ1ZSIsCkhpZ2hQZXJNb25pdG9yID0gIlBlck1vbml0b3JIaWdoRFBJQXdhcmUiLAp9CmxvY2FsIHZhbHVlID0gYXdhcmVuZXNzW2NmZy5kcGlhd2FyZW5lc3NdCmlmIHZhbHVlIHRoZW4KbS5lbGVtZW50KCJFbmFibGVEcGlBd2FyZW5lc3MiLCBuaWwsIHZhbHVlKQplbmQKZW5kCmZ1bmN0aW9uIG0uZW5hYmxlRW5oYW5jZWRJbnN0cnVjdGlvblNldChjZmcsIGNvbmRpdGlvbikKbG9jYWwgdgpsb2NhbCB4ID0gY2ZnLnZlY3RvcmV4dGVuc2lvbnMKaWYgeCA9PSAiQVZYIiBhbmQgX0FDVElPTiA+ICJ2czIwMTAiIHRoZW4KdiA9ICJBZHZhbmNlZFZlY3RvckV4dGVuc2lvbnMiCmVsc2VpZiB4ID09ICJBVlgyIiBhbmQgX0FDVElPTiA+ICJ2czIwMTIiIHRoZW4KdiA9ICJBZHZhbmNlZFZlY3RvckV4dGVuc2lvbnMyIgplbHNlaWYgY2ZnLmFyY2hpdGVjdHVyZSB+PSAieDg2XzY0IiB0aGVuCmlmIHggPT0gIlNTRTIiIG9yIHggPT0gIlNTRTMiIG9yIHggPT0gIlNTU0UzIiBvciB4ID09ICJTU0U0LjEiIHRoZW4KdiA9ICJTdHJlYW1pbmdTSU1ERXh0ZW5zaW9uczIiCmVsc2VpZiB4ID09ICJTU0UiIHRoZW4KdiA9ICJTdHJlYW1pbmdTSU1ERXh0ZW5zaW9ucyIKZWxzZWlmIHggPT0gIklBMzIiIGFuZCBfQUNUSU9OID4gInZzMjAxMCIgdGhlbgp2ID0gIk5vRXh0ZW5zaW9ucyIKZW5kCmVuZAppZiB2IHRoZW4KbS5lbGVtZW50KCdFbmFibGVFbmhhbmNlZEluc3RydWN0aW9uU2V0JywgY29uZGl0aW9uLCB2KQplbmQKZW5kCmZ1bmN0aW9uIG0uZW50cnlQb2ludFN5bWJvbChjZmcpCmlmIGNmZy5lbnRyeXBvaW50IHRoZW4KbS5lbGVtZW50KCJFbnRyeVBvaW50U3ltYm9sIiwgbmlsLCBjZmcuZW50cnlwb2ludCkKZW5kCmVuZApmdW5jdGlvbiBtLmV4Y2VwdGlvbkhhbmRsaW5nKGNmZywgY29uZGl0aW9uKQppZiBjZmcuZXhjZXB0aW9uaGFuZGxpbmcgPT0gcC5PRkYgdGhlbgptLmVsZW1lbnQoIkV4Y2VwdGlvbkhhbmRsaW5nIiwgY29uZGl0aW9uLCAiZmFsc2UiKQplbHNlaWYgY2ZnLmV4Y2VwdGlvbmhhbmRsaW5nID09ICJTRUgiIHRoZW4KbS5lbGVtZW50KCJFeGNlcHRpb25IYW5kbGluZyIsIGNvbmRpdGlvbiwgIkFzeW5jIikKZWxzZWlmIGNmZy5leGNlcHRpb25oYW5kbGluZyA9PSAiT24iIHRoZW4KbS5lbGVtZW50KCJFeGNlcHRpb25IYW5kbGluZyIsIGNvbmRpdGlvbiwgIlN5bmMiKQplbHNlaWYgY2ZnLmV4Y2VwdGlvbmhhbmRsaW5nID09ICJDVGhyb3ciIHRoZW4KbS5lbGVtZW50KCJFeGNlcHRpb25IYW5kbGluZyIsIGNvbmRpdGlvbiwgIlN5bmNDVGhyb3ciKQplbmQKZW5kCmZ1bmN0aW9uIG0uZXhjbHVkZWRGcm9tQnVpbGQoZmlsZWNmZywgY29uZGl0aW9uKQppZiBub3QgZmlsZWNmZyBvciBmaWxlY2ZnLmZsYWdzLkV4Y2x1ZGVGcm9tQnVpbGQgdGhlbgptLmVsZW1lbnQoIkV4Y2x1ZGVkRnJvbUJ1aWxkIiwgY29uZGl0aW9uLCAidHJ1ZSIpCmVuZAplbmQKZnVuY3Rpb24gbS5leGNlcHRpb25IYW5kbGluZ1NFSChmaWxlY2ZnLCBjb25kaXRpb24pCmlmIG5vdCBmaWxlY2ZnIG9yIGZpbGVjZmcuZXhjZXB0aW9uaGFuZGxpbmcgPT0gIlNFSCIgdGhlbgptLmVsZW1lbnQoIlVzZVNhZmVFeGNlcHRpb25IYW5kbGVycyIsIGNvbmRpdGlvbiwgInRydWUiKQplbmQKZW5kCmZ1bmN0aW9uIG0uZXh0ZW5zaW9uc1RvRGVsZXRlT25DbGVhbihjZmcpCmlmICNjZmcuY2xlYW5leHRlbnNpb25zID4gMCB0aGVuCmxvY2FsIHZhbHVlID0gdGFibGUuaW1wbG9kZShjZmcuY2xlYW5leHRlbnNpb25zLCAiKiIsICI7IiwgIiIpCm0uZWxlbWVudCgiRXh0ZW5zaW9uc1RvRGVsZXRlT25DbGVhbiIsIG5pbCwgdmFsdWUgLi4gIiQoRXh0ZW5zaW9uc1RvRGVsZXRlT25DbGVhbikiKQplbmQKZW5kCmZ1bmN0aW9uIG0uZmlsZVR5cGUoY2ZnLCBmaWxlKQptLmVsZW1lbnQoIkZpbGVUeXBlIiwgbmlsLCAiRG9jdW1lbnQiKQplbmQKZnVuY3Rpb24gbS5mbG9hdGluZ1BvaW50TW9kZWwoY2ZnKQppZiBjZmcuZmxvYXRpbmdwb2ludCBhbmQgY2ZnLmZsb2F0aW5ncG9pbnQgfj0gIkRlZmF1bHQiIHRoZW4KbS5lbGVtZW50KCJGbG9hdGluZ1BvaW50TW9kZWwiLCBuaWwsIGNmZy5mbG9hdGluZ3BvaW50KQplbmQKZW5kCmZ1bmN0aW9uIG0uZmxvYXRpbmdQb2ludEV4Y2VwdGlvbnMoY2ZnKQppZiBjZmcuZmxvYXRpbmdwb2ludGV4Y2VwdGlvbnMgfj0gbmlsIHRoZW4KaWYgY2ZnLmZsb2F0aW5ncG9pbnRleGNlcHRpb25zIHRoZW4KbS5lbGVtZW50KCJGbG9hdGluZ1BvaW50RXhjZXB0aW9ucyIsIG5pbCwgInRydWUiKQplbHNlCm0uZWxlbWVudCgiRmxvYXRpbmdQb2ludEV4Y2VwdGlvbnMiLCBuaWwsICJmYWxzZSIpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0uaW5saW5lRnVuY3Rpb25FeHBhbnNpb24oY2ZnKQppZiBjZmcuaW5saW5pbmcgdGhlbgpsb2NhbCB0eXBlcyA9IHsKRGVmYXVsdCA9ICJEZWZhdWx0IiwKRGlzYWJsZWQgPSAiRGlzYWJsZWQiLApFeHBsaWNpdCA9ICJPbmx5RXhwbGljaXRJbmxpbmUiLApBdXRvID0gIkFueVN1aXRhYmxlIiwKfQptLmVsZW1lbnQoIklubGluZUZ1bmN0aW9uRXhwYW5zaW9uIiwgbmlsLCB0eXBlc1tjZmcuaW5saW5pbmddKQplbmQKZW5kCmZ1bmN0aW9uIG0uZm9yY2VJbmNsdWRlcyhjZmcsIGNvbmRpdGlvbikKaWYgI2NmZy5mb3JjZWluY2x1ZGVzID4gMCB0aGVuCmxvY2FsIGluY2x1ZGVzID0gdnN0dWRpby5wYXRoKGNmZywgY2ZnLmZvcmNlaW5jbHVkZXMpCmlmICNpbmNsdWRlcyA+IDAgdGhlbgptLmVsZW1lbnQoIkZvcmNlZEluY2x1ZGVGaWxlcyIsIGNvbmRpdGlvbiwgdGFibGUuY29uY2F0KGluY2x1ZGVzLCAnOycpKQplbmQKZW5kCmlmICNjZmcuZm9yY2V1c2luZ3MgPiAwIHRoZW4KbG9jYWwgdXNpbmdzID0gdnN0dWRpby5wYXRoKGNmZywgY2ZnLmZvcmNldXNpbmdzKQppZiAjdXNpbmdzID4gMCB0aGVuCm0uZWxlbWVudCgiRm9yY2VkVXNpbmdGaWxlcyIsIGNvbmRpdGlvbiwgdGFibGUuY29uY2F0KHVzaW5ncywgJzsnKSkKZW5kCmVuZAplbmQKZnVuY3Rpb24gbS5mdWxsUHJvZ3JhbURhdGFiYXNlRmlsZShjZmcpCmlmIF9BQ1RJT04gPj0gInZzMjAxNSIgYW5kIGNmZy5zeW1ib2xzID09ICJGYXN0TGluayIgdGhlbgptLmVsZW1lbnQoIkZ1bGxQcm9ncmFtRGF0YWJhc2VGaWxlIiwgbmlsLCAidHJ1ZSIpCmVuZAplbmQKZnVuY3Rpb24gbS5mdW5jdGlvbkxldmVsTGlua2luZyhjZmcpCmlmIGNmZy5mdW5jdGlvbmxldmVsbGlua2luZyB+PSBuaWwgdGhlbgppZiBjZmcuZnVuY3Rpb25sZXZlbGxpbmtpbmcgdGhlbgptLmVsZW1lbnQoIkZ1bmN0aW9uTGV2ZWxMaW5raW5nIiwgbmlsLCAidHJ1ZSIpCmVsc2UKbS5lbGVtZW50KCJGdW5jdGlvbkxldmVsTGlua2luZyIsIG5pbCwgImZhbHNlIikKZW5kCmVsc2VpZiBjb25maWcuaXNPcHRpbWl6ZWRCdWlsZChjZmcpIHRoZW4KbS5lbGVtZW50KCJGdW5jdGlvbkxldmVsTGlua2luZyIsIG5pbCwgInRydWUiKQplbmQKZW5kCmZ1bmN0aW9uIG0uZ2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uKGNmZykKbG9jYWwgbG9va3VwID0ge30KaWYgX0FDVElPTiA+PSAidnMyMDE3IiB0aGVuCmxvb2t1cFtwLk9OXSAgICAgICA9ICJ0cnVlIgpsb29rdXBbcC5PRkZdICAgICAgPSAiZmFsc2UiCmxvb2t1cFsiRmFzdExpbmsiXSA9ICJEZWJ1Z0Zhc3RMaW5rIgpsb29rdXBbIkZ1bGwiXSAgICAgPSAiRGVidWdGdWxsIgplbHNlaWYgX0FDVElPTiA9PSAidnMyMDE1IiB0aGVuCmxvb2t1cFtwLk9OXSAgICAgICA9ICJ0cnVlIgpsb29rdXBbcC5PRkZdICAgICAgPSAiZmFsc2UiCmxvb2t1cFsiRmFzdExpbmsiXSA9ICJEZWJ1Z0Zhc3RMaW5rIgpsb29rdXBbIkZ1bGwiXSAgICAgPSAidHJ1ZSIKZWxzZQpsb29rdXBbcC5PTl0gICAgICAgPSAidHJ1ZSIKbG9va3VwW3AuT0ZGXSAgICAgID0gImZhbHNlIgpsb29rdXBbIkZhc3RMaW5rIl0gPSAidHJ1ZSIKbG9va3VwWyJGdWxsIl0gICAgID0gInRydWUiCmVuZApsb2NhbCB2YWx1ZSA9IGxvb2t1cFtjZmcuc3ltYm9sc10KaWYgdmFsdWUgdGhlbgptLmVsZW1lbnQoIkdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbiIsIG5pbCwgdmFsdWUpCmVuZAplbmQKZnVuY3Rpb24gbS5nZW5lcmF0ZU1hbmlmZXN0KGNmZykKaWYgY2ZnLmZsYWdzLk5vTWFuaWZlc3QgdGhlbgptLmVsZW1lbnQoIkdlbmVyYXRlTWFuaWZlc3QiLCBuaWwsICJmYWxzZSIpCmVuZAplbmQKZnVuY3Rpb24gbS5nZW5lcmF0ZU1hcEZpbGUoY2ZnKQppZiBjZmcuZmxhZ3MuTWFwcyB0aGVuCm0uZWxlbWVudCgiR2VuZXJhdGVNYXBGaWxlIiwgbmlsLCAidHJ1ZSIpCmVuZAplbmQKZnVuY3Rpb24gbS5pZ25vcmVEZWZhdWx0TGlicmFyaWVzKGNmZykKaWYgI2NmZy5pZ25vcmVkZWZhdWx0bGlicmFyaWVzID4gMCB0aGVuCmxvY2FsIGlnbm9yZWQgPSBjZmcuaWdub3JlZGVmYXVsdGxpYnJhcmllcwpmb3IgaSA9IDEsICNpZ25vcmVkIGRvCmlmIG5vdCBwLnRvb2xzLm1zYy5nZXRMaWJyYXJ5RXh0ZW5zaW9ucygpW2lnbm9yZWRbaV06bWF0Y2goIlteLl0rJCIpXSB0aGVuCmlnbm9yZWRbaV0gPSBwYXRoLmFwcGVuZGV4dGVuc2lvbihpZ25vcmVkW2ldLCAiLmxpYiIpCmVuZAplbmQKbS5lbGVtZW50KCJJZ25vcmVTcGVjaWZpY0RlZmF1bHRMaWJyYXJpZXMiLCBjb25kaXRpb24sIHRhYmxlLmNvbmNhdChpZ25vcmVkLCAnOycpKQplbmQKZW5kCmZ1bmN0aW9uIG0uaWdub3JlV2FybkR1cGxpY2F0ZUZpbGVuYW1lKHByaikKaWYgX0FDVElPTiA+ICJ2czIwMTIiIHRoZW4KbS5lbGVtZW50KCJJZ25vcmVXYXJuQ29tcGlsZUR1cGxpY2F0ZWRGaWxlbmFtZSIsIG5pbCwgInRydWUiKQplbmQKZW5kCmZ1bmN0aW9uIG0uaWdub3JlSW1wb3J0TGlicmFyeShjZmcpCmlmIGNmZy5raW5kID09IHAuU0hBUkVETElCIGFuZCBjZmcuZmxhZ3MuTm9JbXBvcnRMaWIgdGhlbgptLmVsZW1lbnQoIklnbm9yZUltcG9ydExpYnJhcnkiLCBuaWwsICJ0cnVlIikKZW5kCmVuZApmdW5jdGlvbiBtLmltcG9ydExhbmd1YWdlVGFyZ2V0cyhwcmopCnAudygnPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXFxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+JykKZW5kCm0uZWxlbWVudHMuaW1wb3J0RXh0ZW5zaW9uVGFyZ2V0cyA9IGZ1bmN0aW9uKHByaikKcmV0dXJuIHsKbS5pbXBvcnRHcm91cFRhcmdldHMsCm0uaW1wb3J0UnVsZVRhcmdldHMsCm0uaW1wb3J0TnVHZXRUYXJnZXRzLAptLmltcG9ydEJ1aWxkQ3VzdG9taXphdGlvbnNUYXJnZXRzCn0KZW5kCmZ1bmN0aW9uIG0uaW1wb3J0RXh0ZW5zaW9uVGFyZ2V0cyhwcmopCnAucHVzaCgnPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4nKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLmltcG9ydEV4dGVuc2lvblRhcmdldHMsIHByaikKcC5wb3AoJzwvSW1wb3J0R3JvdXA+JykKZW5kCmZ1bmN0aW9uIG0uaW1wb3J0R3JvdXBUYXJnZXRzKHByaikKbG9jYWwgZ3JvdXBzID0gbS5jYXRlZ29yaXplU291cmNlcyhwcmopCmZvciBfLCBncm91cCBpbiBpcGFpcnMoZ3JvdXBzKSBkbwppZiBncm91cC5jYXRlZ29yeS5lbWl0RXh0ZW5zaW9uVGFyZ2V0cyB0aGVuCmdyb3VwLmNhdGVnb3J5LmVtaXRFeHRlbnNpb25UYXJnZXRzKHByaiwgZ3JvdXApCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0uaW1wb3J0UnVsZVRhcmdldHMocHJqKQpmb3IgaSA9IDEsICNwcmoucnVsZXMgZG8KbG9jYWwgcnVsZSA9IHAuZ2xvYmFsLmdldFJ1bGUocHJqLnJ1bGVzW2ldKQpsb2NhbCBsb2MgPSB2c3R1ZGlvLnBhdGgocHJqLCBwLmZpbGVuYW1lKHJ1bGUsICIudGFyZ2V0cyIpKQpwLngoJzxJbXBvcnQgUHJvamVjdD0iJXMiIC8+JywgbG9jKQplbmQKZW5kCmxvY2FsIGZ1bmN0aW9uIG51R2V0VGFyZ2V0c0ZpbGUocHJqLCBwYWNrYWdlKQpsb2NhbCBwYWNrYWdlQVBJSW5mbyA9IHZzdHVkaW8ubnVnZXQyMDEwLnBhY2thZ2VBUElJbmZvKHByaiwgcGFja2FnZSkKcmV0dXJuIHAudnN0dWRpby5wYXRoKHByaiwgcC5maWxlbmFtZShwcmoud29ya3NwYWNlLCBzdHJpbmcuZm9ybWF0KCJwYWNrYWdlc1xcJXMuJXNcXGJ1aWxkXFxuYXRpdmVcXCVzLnRhcmdldHMiLCB2c3R1ZGlvLm51Z2V0MjAxMC5wYWNrYWdlSWQocGFja2FnZSksIHBhY2thZ2VBUElJbmZvLnZlcmJhdGltVmVyc2lvbiBvciBwYWNrYWdlQVBJSW5mby52ZXJzaW9uLCB2c3R1ZGlvLm51Z2V0MjAxMC5wYWNrYWdlSWQocGFja2FnZSkpKSkKZW5kCmZ1bmN0aW9uIG0uaW1wb3J0TnVHZXRUYXJnZXRzKHByaikKaWYgbm90IHZzdHVkaW8ubnVnZXQyMDEwLnN1cHBvcnRzUGFja2FnZVJlZmVyZW5jZXMocHJqKSB0aGVuCmZvciBpID0gMSwgI3Byai5udWdldCBkbwpsb2NhbCB0YXJnZXRzRmlsZSA9IG51R2V0VGFyZ2V0c0ZpbGUocHJqLCBwcmoubnVnZXRbaV0pCnAueCgnPEltcG9ydCBQcm9qZWN0PSIlcyIgQ29uZGl0aW9uPSJFeGlzdHMoXCclc1wnKSIgLz4nLCB0YXJnZXRzRmlsZSwgdGFyZ2V0c0ZpbGUpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0uaW1wb3J0QnVpbGRDdXN0b21pemF0aW9uc1RhcmdldHMocHJqKQpmb3IgaSwgYnVpbGQgaW4gaXBhaXJzKHByai5idWlsZGN1c3RvbWl6YXRpb25zKSBkbwpwLncoJzxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxcJXMudGFyZ2V0cyIgLz4nLCBwYXRoLnRyYW5zbGF0ZShidWlsZCkpCmVuZAplbmQKZnVuY3Rpb24gbS5lbnN1cmVOdUdldFBhY2thZ2VCdWlsZEltcG9ydHMocHJqKQppZiAjcHJqLm51Z2V0ID4gMCB0aGVuCnAucHVzaCgnPFRhcmdldCBOYW1lPSJFbnN1cmVOdUdldFBhY2thZ2VCdWlsZEltcG9ydHMiIEJlZm9yZVRhcmdldHM9IlByZXBhcmVGb3JCdWlsZCI+JykKcC5wdXNoKCc8UHJvcGVydHlHcm91cD4nKQpwLngoJzxFcnJvclRleHQ+VGhpcyBwcm9qZWN0IHJlZmVyZW5jZXMgTnVHZXQgcGFja2FnZShzKSB0aGF0IGFyZSBtaXNzaW5nIG9uIHRoaXMgY29tcHV0ZXIuIFVzZSBOdUdldCBQYWNrYWdlIFJlc3RvcmUgdG8gZG93bmxvYWQgdGhlbS4gIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgaHR0cDovL2dvLm1pY3Jvc29mdC5jb20vZndsaW5rLz9MaW5rSUQ9MzIyMTA1LiBUaGUgbWlzc2luZyBmaWxlIGlzIHswfS48L0Vycm9yVGV4dD4nKQpwLnBvcCgnPC9Qcm9wZXJ0eUdyb3VwPicpCmZvciBpID0gMSwgI3Byai5udWdldCBkbwpsb2NhbCB0YXJnZXRzRmlsZSA9IG51R2V0VGFyZ2V0c0ZpbGUocHJqLCBwcmoubnVnZXRbaV0pCnAueCgnPEVycm9yIENvbmRpdGlvbj0iIUV4aXN0cyhcJyVzXCcpIiBUZXh0PSIkKFtTeXN0ZW0uU3RyaW5nXTo6Rm9ybWF0KFwnJChFcnJvclRleHQpXCcsIFwnJXNcJykpIiAvPicsIHRhcmdldHNGaWxlLCB0YXJnZXRzRmlsZSkKZW5kCnAucG9wKCc8L1RhcmdldD4nKQplbmQKZW5kCmZ1bmN0aW9uIG0uaW1wb3J0RGVmYXVsdFByb3BzKHByaikKcC53KCc8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4nKQplbmQKZnVuY3Rpb24gbS5pbXBvcnRMYW5ndWFnZVNldHRpbmdzKHByaikKcC53KCc8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcXE1pY3Jvc29mdC5DcHAucHJvcHMiIC8+JykKZW5kCm0uZWxlbWVudHMuaW1wb3J0RXh0ZW5zaW9uU2V0dGluZ3MgPSBmdW5jdGlvbihwcmopCnJldHVybiB7Cm0uaW1wb3J0R3JvdXBTZXR0aW5ncywKbS5pbXBvcnRSdWxlU2V0dGluZ3MsCm0uaW1wb3J0QnVpbGRDdXN0b21pemF0aW9uc1Byb3BzCn0KZW5kCmZ1bmN0aW9uIG0uaW1wb3J0RXh0ZW5zaW9uU2V0dGluZ3MocHJqKQpwLnB1c2goJzxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uU2V0dGluZ3MiPicpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMuaW1wb3J0RXh0ZW5zaW9uU2V0dGluZ3MsIHByaikKcC5wb3AoJzwvSW1wb3J0R3JvdXA+JykKZW5kCmZ1bmN0aW9uIG0uaW1wb3J0R3JvdXBTZXR0aW5ncyhwcmopCmxvY2FsIGdyb3VwcyA9IG0uY2F0ZWdvcml6ZVNvdXJjZXMocHJqKQpmb3IgXywgZ3JvdXAgaW4gaXBhaXJzKGdyb3VwcykgZG8KaWYgZ3JvdXAuY2F0ZWdvcnkuZW1pdEV4dGVuc2lvblNldHRpbmdzIHRoZW4KZ3JvdXAuY2F0ZWdvcnkuZW1pdEV4dGVuc2lvblNldHRpbmdzKHByaiwgZ3JvdXApCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0uaW1wb3J0UnVsZVNldHRpbmdzKHByaikKZm9yIGkgPSAxLCAjcHJqLnJ1bGVzIGRvCmxvY2FsIHJ1bGUgPSBwLmdsb2JhbC5nZXRSdWxlKHByai5ydWxlc1tpXSkKbG9jYWwgbG9jID0gdnN0dWRpby5wYXRoKHByaiwgcC5maWxlbmFtZShydWxlLCAiLnByb3BzIikpCnAueCgnPEltcG9ydCBQcm9qZWN0PSIlcyIgLz4nLCBsb2MpCmVuZAplbmQKZnVuY3Rpb24gbS5pbXBvcnRCdWlsZEN1c3RvbWl6YXRpb25zUHJvcHMocHJqKQpmb3IgaSwgYnVpbGQgaW4gaXBhaXJzKHByai5idWlsZGN1c3RvbWl6YXRpb25zKSBkbwpwLncoJzxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxcJXMucHJvcHMiIC8+JywgcGF0aC50cmFuc2xhdGUoYnVpbGQpKQplbmQKZW5kCmZ1bmN0aW9uIG0uaW1wb3J0TGlicmFyeShjZmcpCmlmIGNmZy5raW5kID09IHAuU0hBUkVETElCIHRoZW4KbS5lbGVtZW50KCJJbXBvcnRMaWJyYXJ5IiwgbmlsLCAiJXMiLCBwYXRoLnRyYW5zbGF0ZShjZmcubGlua3RhcmdldC5yZWxwYXRoKSkKZW5kCmVuZApmdW5jdGlvbiBtLmluY2x1ZGVQYXRoKGNmZykKbG9jYWwgZGlycyA9IHZzdHVkaW8ucGF0aChjZmcsIGNmZy5zeXNpbmNsdWRlZGlycykKaWYgI2RpcnMgPiAwIHRoZW4KbS5lbGVtZW50KCJJbmNsdWRlUGF0aCIsIG5pbCwgIiVzOyQoSW5jbHVkZVBhdGgpIiwgdGFibGUuY29uY2F0KGRpcnMsICI7IikpCmVuZAplbmQKZnVuY3Rpb24gbS5pbnREaXIoY2ZnKQpsb2NhbCBvYmpkaXIgPSB2c3R1ZGlvLnBhdGgoY2ZnLCBjZmcub2JqZGlyKQptLmVsZW1lbnQoIkludERpciIsIG5pbCwgIiVzXFwiLCBvYmpkaXIpCmVuZApmdW5jdGlvbiBtLmludHJpbnNpY0Z1bmN0aW9ucyhjZmcpCmlmIGNmZy5pbnRyaW5zaWNzIH49IG5pbCB0aGVuCmlmIGNmZy5pbnRyaW5zaWNzIHRoZW4KbS5lbGVtZW50KCJJbnRyaW5zaWNGdW5jdGlvbnMiLCBuaWwsICJ0cnVlIikKZWxzZQptLmVsZW1lbnQoIkludHJpbnNpY0Z1bmN0aW9ucyIsIG5pbCwgImZhbHNlIikKZW5kCmVsc2VpZiBjb25maWcuaXNPcHRpbWl6ZWRCdWlsZChjZmcpIHRoZW4KbS5lbGVtZW50KCJJbnRyaW5zaWNGdW5jdGlvbnMiLCBuaWwsICJ0cnVlIikKZW5kCmVuZApmdW5jdGlvbiBtLmtleXdvcmQocHJqKQpsb2NhbCBpc1dpbiwgaXNNYW5hZ2VkLCBpc01ha2VmaWxlCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KaWYgY2ZnLnN5c3RlbSA9PSBwLldJTkRPV1MgdGhlbgppc1dpbiA9IHRydWUKZW5kCmlmIGNmZy5jbHIgfj0gcC5PRkYgdGhlbgppc01hbmFnZWQgPSB0cnVlCmVuZAppZiB2c3R1ZGlvLmlzTWFrZWZpbGUoY2ZnKSB0aGVuCmlzTWFrZWZpbGUgPSB0cnVlCmVuZAplbmQKaWYgaXNXaW4gdGhlbgppZiBpc01ha2VmaWxlIHRoZW4KbS5lbGVtZW50KCJLZXl3b3JkIiwgbmlsLCAiTWFrZUZpbGVQcm9qIikKZWxzZQppZiBpc01hbmFnZWQgb3IgbS5pc0Nsck1peGVkKHByaikgdGhlbgptLnRhcmdldEZyYW1ld29yayhwcmopCmVuZAppZiBpc01hbmFnZWQgdGhlbgptLmVsZW1lbnQoIktleXdvcmQiLCBuaWwsICJNYW5hZ2VkQ1Byb2oiKQplbHNlCm0uZWxlbWVudCgiS2V5d29yZCIsIG5pbCwgIldpbjMyUHJvaiIpCmVuZAptLmVsZW1lbnQoIlJvb3ROYW1lc3BhY2UiLCBuaWwsICIlcyIsIHByai5uYW1lKQplbmQKZW5kCmVuZApmdW5jdGlvbiBtLmxpYnJhcnlQYXRoKGNmZykKbG9jYWwgZGlycyA9IHZzdHVkaW8ucGF0aChjZmcsIGNmZy5zeXNsaWJkaXJzKQppZiAjZGlycyA+IDAgdGhlbgptLmVsZW1lbnQoIkxpYnJhcnlQYXRoIiwgbmlsLCAiJXM7JChMaWJyYXJ5UGF0aCkiLCB0YWJsZS5jb25jYXQoZGlycywgIjsiKSkKZW5kCmVuZApmdW5jdGlvbiBtLmxpbmtJbmNyZW1lbnRhbChjZmcpCmlmIGNmZy5raW5kIH49IHAuU1RBVElDTElCIHRoZW4KbS5lbGVtZW50KCJMaW5rSW5jcmVtZW50YWwiLCBuaWwsICIlcyIsIHRvc3RyaW5nKGNvbmZpZy5jYW5MaW5rSW5jcmVtZW50YWwoY2ZnKSkpCmVuZAplbmQKZnVuY3Rpb24gbS5saW5rTGlicmFyeURlcGVuZGVuY2llcyhjZmcsIGV4cGxpY2l0KQppZiBleHBsaWNpdCB0aGVuCnAucHVzaCgnPFByb2plY3RSZWZlcmVuY2U+JykKbS5lbGVtZW50KCJMaW5rTGlicmFyeURlcGVuZGVuY2llcyIsIG5pbCwgImZhbHNlIikKcC5wb3AoJzwvUHJvamVjdFJlZmVyZW5jZT4nKQplbmQKZW5kCmZ1bmN0aW9uIG0uTWFzbVByZXByb2Nlc3NvckRlZmluaXRpb25zKGNmZywgY29uZGl0aW9uKQppZiBjZmcuZGVmaW5lcyB0aGVuCm0ucHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMoY2ZnLCBjZmcuZGVmaW5lcywgZmFsc2UsIGNvbmRpdGlvbikKZW5kCmVuZApmdW5jdGlvbiBtLm1pbmltYWxSZWJ1aWxkKGNmZykKaWYgY29uZmlnLmlzT3B0aW1pemVkQnVpbGQoY2ZnKSBvcgogICBjZmcuZmxhZ3MuTm9NaW5pbWFsUmVidWlsZCBvcgogICBjZmcuZmxhZ3MuTXVsdGlQcm9jZXNzb3JDb21waWxlIG9yCiAgIGNmZy5kZWJ1Z2Zvcm1hdCA9PSBwLkM3CnRoZW4KbS5lbGVtZW50KCJNaW5pbWFsUmVidWlsZCIsIG5pbCwgImZhbHNlIikKZW5kCmVuZApmdW5jdGlvbiBtLm1vZHVsZURlZmluaXRpb25GaWxlKGNmZykKbG9jYWwgZGYgPSBjb25maWcuZmluZGZpbGUoY2ZnLCAiLmRlZiIpCmlmIGRmIHRoZW4KbS5lbGVtZW50KCJNb2R1bGVEZWZpbml0aW9uRmlsZSIsIG5pbCwgIiVzIiwgZGYpCmVuZAplbmQKZnVuY3Rpb24gbS5tdWx0aVByb2Nlc3NvckNvbXBpbGF0aW9uKGNmZykKaWYgY2ZnLmZsYWdzLk11bHRpUHJvY2Vzc29yQ29tcGlsZSB0aGVuCm0uZWxlbWVudCgiTXVsdGlQcm9jZXNzb3JDb21waWxhdGlvbiIsIG5pbCwgInRydWUiKQplbmQKZW5kCmZ1bmN0aW9uIG0ubm1ha2VCdWlsZENvbW1hbmRzKGNmZykKbS5ubWFrZUNvbW1hbmRMaW5lKGNmZywgY2ZnLmJ1aWxkY29tbWFuZHMsICJCdWlsZCIpCmVuZApmdW5jdGlvbiBtLm5tYWtlQ2xlYW5Db21tYW5kcyhjZmcpCm0ubm1ha2VDb21tYW5kTGluZShjZmcsIGNmZy5jbGVhbmNvbW1hbmRzLCAiQ2xlYW4iKQplbmQKZnVuY3Rpb24gbS5ubWFrZUNvbW1hbmRMaW5lKGNmZywgY29tbWFuZHMsIHBoYXNlKQppZiAjY29tbWFuZHMgPiAwIHRoZW4KY29tbWFuZHMgPSBvcy50cmFuc2xhdGVDb21tYW5kc0FuZFBhdGhzKGNvbW1hbmRzLCBjZmcucHJvamVjdC5iYXNlZGlyLCBjZmcucHJvamVjdC5sb2NhdGlvbikKY29tbWFuZHMgPSB0YWJsZS5jb25jYXQocC5lc2MoY29tbWFuZHMpLCBwLmVvbCgpKQpwLncoJzxOTWFrZSVzQ29tbWFuZExpbmU+JXM8L05NYWtlJXNDb21tYW5kTGluZT4nLCBwaGFzZSwgY29tbWFuZHMsIHBoYXNlKQplbmQKZW5kCmZ1bmN0aW9uIG0ubm1ha2VJbmNsdWRlRGlycyhjZmcpCmlmIGNmZy5raW5kIH49IHAuTk9ORSBhbmQgI2NmZy5pbmNsdWRlZGlycyA+IDAgdGhlbgpsb2NhbCBkaXJzID0gdnN0dWRpby5wYXRoKGNmZywgY2ZnLmluY2x1ZGVkaXJzKQppZiAjZGlycyA+IDAgdGhlbgptLmVsZW1lbnQoIk5NYWtlSW5jbHVkZVNlYXJjaFBhdGgiLCBuaWwsICIlcyIsIHRhYmxlLmNvbmNhdChkaXJzLCAiOyIpKQplbmQKZW5kCmVuZApmdW5jdGlvbiBtLm5tYWtlT3V0RGlycyhjZmcpCmlmIHZzdHVkaW8uaXNNYWtlZmlsZShjZmcpIHRoZW4KbS5vdXREaXIoY2ZnKQptLmludERpcihjZmcpCmVuZAplbmQKZnVuY3Rpb24gbS53aW5kb3dzU0RLRGVza3RvcEFSTVN1cHBvcnQoY2ZnKQppZiBjZmcuc3lzdGVtID09IHAuV0lORE9XUyB0aGVuCmlmIGNmZy5hcmNoaXRlY3R1cmUgPT0gcC5BUk0gdGhlbgpwLncoJzxXaW5kb3dzU0RLRGVza3RvcEFSTVN1cHBvcnQ+dHJ1ZTwvV2luZG93c1NES0Rlc2t0b3BBUk1TdXBwb3J0PicpCmVuZAppZiBjZmcuYXJjaGl0ZWN0dXJlID09IHAuQVJNNjQgdGhlbgpwLncoJzxXaW5kb3dzU0RLRGVza3RvcEFSTTY0U3VwcG9ydD50cnVlPC9XaW5kb3dzU0RLRGVza3RvcEFSTTY0U3VwcG9ydD4nKQplbmQKZW5kCmVuZApmdW5jdGlvbiBtLm5tYWtlT3V0cHV0KGNmZykKbS5lbGVtZW50KCJOTWFrZU91dHB1dCIsIG5pbCwgIiQoT3V0RGlyKSVzIiwgY2ZnLmJ1aWxkdGFyZ2V0Lm5hbWUpCmVuZApmdW5jdGlvbiBtLm5tYWtlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMoY2ZnKQppZiBjZmcua2luZCB+PSBwLk5PTkUgYW5kICNjZmcuZGVmaW5lcyA+IDAgdGhlbgpsb2NhbCBkZWZpbmVzID0gdGFibGUuY29uY2F0KGNmZy5kZWZpbmVzLCAiOyIpCmRlZmluZXMgPSBkZWZpbmVzIC4uICI7JChOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zKSIKbS5lbGVtZW50KCdOTWFrZVByZXByb2Nlc3NvckRlZmluaXRpb25zJywgbmlsLCBkZWZpbmVzKQplbmQKZW5kCmZ1bmN0aW9uIG0ubm1ha2VSZWJ1aWxkQ29tbWFuZHMoY2ZnKQptLm5tYWtlQ29tbWFuZExpbmUoY2ZnLCBjZmcucmVidWlsZGNvbW1hbmRzLCAiUmVCdWlsZCIpCmVuZApmdW5jdGlvbiBtLm9iamVjdEZpbGVOYW1lKGZjZmcpCmlmIGZjZmcub2JqbmFtZSB+PSBmY2ZnLmJhc2VuYW1lIHRoZW4KbS5lbGVtZW50KCJPYmplY3RGaWxlTmFtZSIsIG0uY29uZmlnUGFpcihmY2ZnLmNvbmZpZyksICIkKEludERpcilcXCVzLm9iaiIsIGZjZmcub2JqbmFtZSkKZW5kCmVuZApmdW5jdGlvbiBtLm9taXREZWZhdWx0TGliKGNmZykKaWYgY2ZnLmZsYWdzLk9taXREZWZhdWx0TGlicmFyeSB0aGVuCm0uZWxlbWVudCgiT21pdERlZmF1bHRMaWJOYW1lIiwgbmlsLCAidHJ1ZSIpCmVuZAplbmQKZnVuY3Rpb24gbS5vbWl0RnJhbWVQb2ludGVycyhjZmcpCmxvY2FsIG1hcCA9IHsgT2ZmID0gImZhbHNlIiwgT24gPSAidHJ1ZSIgfQpsb2NhbCB2YWx1ZSA9IG1hcFtjZmcub21pdGZyYW1lcG9pbnRlcl0KaWYgdmFsdWUgdGhlbgptLmVsZW1lbnQoIk9taXRGcmFtZVBvaW50ZXJzIiwgbmlsLCB2YWx1ZSkKZW5kCmVuZApmdW5jdGlvbiBtLm9wdGltaXplUmVmZXJlbmNlcyhjZmcpCmlmIGNvbmZpZy5pc09wdGltaXplZEJ1aWxkKGNmZykgdGhlbgptLmVsZW1lbnQoIkVuYWJsZUNPTURBVEZvbGRpbmciLCBuaWwsICJ0cnVlIikKbS5lbGVtZW50KCJPcHRpbWl6ZVJlZmVyZW5jZXMiLCBuaWwsICJ0cnVlIikKZW5kCmVuZApmdW5jdGlvbiBtLm9wdGltaXphdGlvbihjZmcsIGNvbmRpdGlvbikKbG9jYWwgbWFwID0geyBPZmY9IkRpc2FibGVkIiwgT249IkZ1bGwiLCBEZWJ1Zz0iRGlzYWJsZWQiLCBGdWxsPSJGdWxsIiwgU2l6ZT0iTWluU3BhY2UiLCBTcGVlZD0iTWF4U3BlZWQiIH0KbG9jYWwgdmFsdWUgPSBtYXBbY2ZnLm9wdGltaXplXQppZiB2YWx1ZSBvciBub3QgY29uZGl0aW9uIHRoZW4KbS5lbGVtZW50KCdPcHRpbWl6YXRpb24nLCBjb25kaXRpb24sIHZhbHVlIG9yICJEaXNhYmxlZCIpCmVuZAplbmQKZnVuY3Rpb24gbS5vdXREaXIoY2ZnKQpsb2NhbCBvdXRkaXIgPSB2c3R1ZGlvLnBhdGgoY2ZnLCBjZmcuYnVpbGR0YXJnZXQuZGlyZWN0b3J5KQptLmVsZW1lbnQoIk91dERpciIsIG5pbCwgIiVzXFwiLCBvdXRkaXIpCmVuZApmdW5jdGlvbiBtLmV4ZWN1dGFibGVQYXRoKGNmZykKbG9jYWwgZGlycyA9IHZzdHVkaW8ucGF0aChjZmcsIGNmZy5iaW5kaXJzKQppZiAjZGlycyA+IDAgdGhlbgpkaXJzID0gdGFibGUudHJhbnNsYXRlKGRpcnMsIGZ1bmN0aW9uKGRpcikKaWYgcGF0aC5pc2Fic29sdXRlKGRpcikgdGhlbgpyZXR1cm4gZGlyCmVuZApyZXR1cm4gIiQoUHJvamVjdERpcikiIC4uIGRpcgplbmQpCm0uZWxlbWVudCgiRXhlY3V0YWJsZVBhdGgiLCBuaWwsICIlczskKEV4ZWN1dGFibGVQYXRoKSIsIHRhYmxlLmNvbmNhdChkaXJzLCAiOyIpKQplbmQKZW5kCmZ1bmN0aW9uIG0ucGxhdGZvcm1Ub29sc2V0KGNmZykKbG9jYWwgdG9vbCwgdmVyc2lvbiA9IHAuY29uZmlnLnRvb2xzZXQoY2ZnKQppZiBub3QgdmVyc2lvbiB0aGVuCmxvY2FsIHZhbHVlID0gcC5hY3Rpb24uY3VycmVudCgpLnRvb2xzZXQKdG9vbCwgdmVyc2lvbiA9IHAudG9vbHMuY2Fub25pY2FsKHZhbHVlKQplbmQKaWYgdmVyc2lvbiB0aGVuCmlmIGNmZy5raW5kID09IHAuTk9ORSBvciBjZmcua2luZCA9PSBwLk1BS0VGSUxFIHRoZW4KaWYgcC5jb25maWcuaGFzRmlsZShjZmcsIHBhdGguaXNjcHBmaWxlKSBvciBfQUNUSU9OID49ICJ2czIwMTUiIHRoZW4KbS5lbGVtZW50KCJQbGF0Zm9ybVRvb2xzZXQiLCBuaWwsIHZlcnNpb24pCmVuZAplbHNlCm0uZWxlbWVudCgiUGxhdGZvcm1Ub29sc2V0IiwgbmlsLCB2ZXJzaW9uKQplbmQKZW5kCmVuZApmdW5jdGlvbiBtLnByZWNvbXBpbGVkSGVhZGVyRmlsZShmaWxlTmFtZSwgY2ZnKQptLmVsZW1lbnQoIlByZWNvbXBpbGVkSGVhZGVyRmlsZSIsIG5pbCwgIiVzIiwgZmlsZU5hbWUpCmVuZApmdW5jdGlvbiBtLnByZWNvbXBpbGVkSGVhZGVyKGNmZywgY29uZGl0aW9uKQpsb2NhbCBwcmpjZmcsIGZpbGVjZmcgPSBwLmNvbmZpZy5ub3JtYWxpemUoY2ZnKQppZiBmaWxlY2ZnIHRoZW4KaWYgcHJqY2ZnLnBjaHNvdXJjZSA9PSBmaWxlY2ZnLmFic3BhdGggYW5kIG5vdCBwcmpjZmcuZmxhZ3MuTm9QQ0ggdGhlbgptLmVsZW1lbnQoJ1ByZWNvbXBpbGVkSGVhZGVyJywgY29uZGl0aW9uLCAnQ3JlYXRlJykKZWxzZWlmIGZpbGVjZmcuZmxhZ3MuTm9QQ0ggdGhlbgptLmVsZW1lbnQoJ1ByZWNvbXBpbGVkSGVhZGVyJywgY29uZGl0aW9uLCAnTm90VXNpbmcnKQplbmQKZWxzZQppZiBub3QgcHJqY2ZnLmZsYWdzLk5vUENIIGFuZCBwcmpjZmcucGNoaGVhZGVyIHRoZW4KbS5lbGVtZW50KCJQcmVjb21waWxlZEhlYWRlciIsIG5pbCwgIlVzZSIpCm0ucHJlY29tcGlsZWRIZWFkZXJGaWxlKHByamNmZy5wY2hoZWFkZXIsIHByamNmZykKZWxzZQptLmVsZW1lbnQoIlByZWNvbXBpbGVkSGVhZGVyIiwgbmlsLCAiTm90VXNpbmciKQplbmQKZW5kCmVuZApmdW5jdGlvbiBtLnByZXByb2Nlc3NvckRlZmluaXRpb25zKGNmZywgZGVmaW5lcywgZXNjYXBlUXVvdGVzLCBjb25kaXRpb24pCmlmICNkZWZpbmVzID4gMCB0aGVuCmRlZmluZXMgPSB0YWJsZS5jb25jYXQoZGVmaW5lcywgIjsiKQppZiBlc2NhcGVRdW90ZXMgdGhlbgpkZWZpbmVzID0gZGVmaW5lczpnc3ViKCciJywgJ1xcIicpCmVuZApkZWZpbmVzID0gZGVmaW5lcyAuLiAiOyUlKFByZXByb2Nlc3NvckRlZmluaXRpb25zKSIKbS5lbGVtZW50KCdQcmVwcm9jZXNzb3JEZWZpbml0aW9ucycsIGNvbmRpdGlvbiwgZGVmaW5lcykKZW5kCmVuZApmdW5jdGlvbiBtLnVuZGVmaW5lUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMoY2ZnLCB1bmRlZmluZXMsIGVzY2FwZVF1b3RlcywgY29uZGl0aW9uKQppZiAjdW5kZWZpbmVzID4gMCB0aGVuCnVuZGVmaW5lcyA9IHRhYmxlLmNvbmNhdCh1bmRlZmluZXMsICI7IikKaWYgZXNjYXBlUXVvdGVzIHRoZW4KdW5kZWZpbmVzID0gdW5kZWZpbmVzOmdzdWIoJyInLCAnXFwiJykKZW5kCnVuZGVmaW5lcyA9IHVuZGVmaW5lcyAuLiAiOyUlKFVuZGVmaW5lUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpIgptLmVsZW1lbnQoJ1VuZGVmaW5lUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMnLCBjb25kaXRpb24sIHVuZGVmaW5lcykKZW5kCmVuZApsb2NhbCBmdW5jdGlvbiBnZXRTeW1ib2xzUGF0aFJlbGF0aXZlKGNmZykKaWYgY2ZnLnN5bWJvbHNwYXRoIGFuZCBjZmcuc3ltYm9scyB+PSBwLk9GRiBhbmQgY2ZnLmRlYnVnZm9ybWF0IH49ICJjNyIgdGhlbgpyZXR1cm4gcC5wcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBjZmcuc3ltYm9sc3BhdGgpCmVsc2UKcmV0dXJuIG5pbAplbmQKZW5kCmZ1bmN0aW9uIG0ucHJvZ3JhbURhdGFiYXNlRmlsZShjZmcpCmxvY2FsIHZhbHVlID0gZ2V0U3ltYm9sc1BhdGhSZWxhdGl2ZShjZmcpCmlmIHZhbHVlIHRoZW4KbS5lbGVtZW50KCJQcm9ncmFtRGF0YWJhc2VGaWxlIiwgbmlsLCB2YWx1ZSkKZW5kCmVuZApmdW5jdGlvbiBtLnByb2dyYW1EYXRhYmFzZUZpbGVOYW1lKGNmZykKbG9jYWwgdmFsdWUgPSBnZXRTeW1ib2xzUGF0aFJlbGF0aXZlKGNmZykKaWYgdmFsdWUgdGhlbgptLmVsZW1lbnQoIlByb2dyYW1EYXRhQmFzZUZpbGVOYW1lIiwgbmlsLCB2YWx1ZSkKZW5kCmVuZApmdW5jdGlvbiBtLnByb2plY3RHdWlkKHByaikKbS5lbGVtZW50KCJQcm9qZWN0R3VpZCIsIG5pbCwgInslc30iLCBwcmoudXVpZCkKZW5kCmZ1bmN0aW9uIG0ucHJvamVjdE5hbWUocHJqKQppZiBwcmoubmFtZSB+PSBwcmouZmlsZW5hbWUgdGhlbgptLmVsZW1lbnQoIlByb2plY3ROYW1lIiwgbmlsLCAiJXMiLCBwcmoubmFtZSkKZW5kCmVuZApmdW5jdGlvbiBtLnByb3BlcnR5R3JvdXAoY2ZnLCBsYWJlbCkKbG9jYWwgY29uZAppZiBjZmcgdGhlbgpjb25kID0gc3RyaW5nLmZvcm1hdCgnICVzJywgbS5jb25kaXRpb24oY2ZnKSkKZW5kCmlmIGxhYmVsIHRoZW4KbGFiZWwgPSBzdHJpbmcuZm9ybWF0KCcgTGFiZWw9IiVzIicsIGxhYmVsKQplbmQKcC5wdXNoKCc8UHJvcGVydHlHcm91cCVzJXM+JywgY29uZCBvciAiIiwgbGFiZWwgb3IgIiIpCmVuZApmdW5jdGlvbiBtLnByb3BlcnR5U2hlZXRzKGNmZykKcC5wdXNoKCc8SW1wb3J0R3JvdXAgTGFiZWw9IlByb3BlcnR5U2hlZXRzIiAlcz4nLCBtLmNvbmRpdGlvbihjZmcpKQpwLncoJzxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoXCckKFVzZXJSb290RGlyKVxcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzXCcpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+JykKcC5wb3AoJzwvSW1wb3J0R3JvdXA+JykKZW5kCmZ1bmN0aW9uIG0ucHJvcGVydHlTaGVldEdyb3VwKHByaikKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwptLnByb3BlcnR5U2hlZXRzKGNmZykKZW5kCmVuZApmdW5jdGlvbiBtLnJlZmVyZW5jZUNvcHlMb2NhbFNhdGVsbGl0ZUFzc2VtYmxpZXMocHJqLCByZWYpCm0uZWxlbWVudCgiQ29weUxvY2FsU2F0ZWxsaXRlQXNzZW1ibGllcyIsIG5pbCwgImZhbHNlIikKZW5kCmZ1bmN0aW9uIG0ucmVmZXJlbmNlTGlua0xpYnJhcnlEZXBlbmRlbmNpZXMocHJqLCByZWYpCm0uZWxlbWVudCgiTGlua0xpYnJhcnlEZXBlbmRlbmNpZXMiLCBuaWwsICJ0cnVlIikKZW5kCmZ1bmN0aW9uIG0ucmVmZXJlbmNlT3V0cHV0QXNzZW1ibHkocHJqLCByZWYpCm0uZWxlbWVudCgiUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHkiLCBuaWwsICJ0cnVlIikKZW5kCmZ1bmN0aW9uIG0ucmVmZXJlbmNlUHJpdmF0ZShwcmosIHJlZikKbS5lbGVtZW50KCJQcml2YXRlIiwgbmlsLCAidHJ1ZSIpCmVuZApmdW5jdGlvbiBtLnJlZmVyZW5jZVByb2plY3QocHJqLCByZWYpCm0uZWxlbWVudCgiUHJvamVjdCIsIG5pbCwgInslc30iLCByZWYudXVpZCkKZW5kCmZ1bmN0aW9uIG0ucmVmZXJlbmNlVXNlTGlicmFyeURlcGVuZGVuY2VzKHByaiwgcmVmKQptLmVsZW1lbnQoIlVzZUxpYnJhcnlEZXBlbmRlbmN5SW5wdXRzIiwgbmlsLCAiZmFsc2UiKQplbmQKZnVuY3Rpb24gbS5yZXNvdXJjZUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMoY2ZnKQptLmFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXMoY2ZnLCB0YWJsZS5qb2luKGNmZy5pbmNsdWRlZGlycywgY2ZnLnJlc2luY2x1ZGVkaXJzKSkKZW5kCmZ1bmN0aW9uIG0ucmVzb3VyY2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyhjZmcpCmxvY2FsIGRlZmluZXMgPSB0YWJsZS5qb2luKGNmZy5kZWZpbmVzLCBjZmcucmVzZGVmaW5lcykKaWYgY2ZnLmV4Y2VwdGlvbmhhbmRsaW5nID09IHAuT0ZGIHRoZW4KdGFibGUuaW5zZXJ0KGRlZmluZXMsICJfSEFTX0VYQ0VQVElPTlM9MCIpCmVuZAptLnByZXByb2Nlc3NvckRlZmluaXRpb25zKGNmZywgZGVmaW5lcywgdHJ1ZSkKZW5kCmZ1bmN0aW9uIG0ucnVudGltZUxpYnJhcnkoY2ZnKQpsb2NhbCBydW50aW1lcyA9IHsKU3RhdGljRGVidWcgICA9ICJNdWx0aVRocmVhZGVkRGVidWciLApTdGF0aWNSZWxlYXNlID0gIk11bHRpVGhyZWFkZWQiLApTaGFyZWREZWJ1ZyA9ICJNdWx0aVRocmVhZGVkRGVidWdETEwiLApTaGFyZWRSZWxlYXNlID0gIk11bHRpVGhyZWFkZWRETEwiCn0KbG9jYWwgcnVudGltZSA9IGNvbmZpZy5nZXRydW50aW1lKGNmZykKaWYgcnVudGltZSB0aGVuCm0uZWxlbWVudCgiUnVudGltZUxpYnJhcnkiLCBuaWwsIHJ1bnRpbWVzW3J1bnRpbWVdKQplbmQKZW5kCmZ1bmN0aW9uIG0uY2FsbGluZ0NvbnZlbnRpb24oY2ZnKQppZiBjZmcuY2FsbGluZ2NvbnZlbnRpb24gdGhlbgptLmVsZW1lbnQoIkNhbGxpbmdDb252ZW50aW9uIiwgbmlsLCBjZmcuY2FsbGluZ2NvbnZlbnRpb24pCmVuZAplbmQKZnVuY3Rpb24gbS5ydW50aW1lVHlwZUluZm8oY2ZnLCBjb25kaXRpb24pCmlmIGNmZy5ydHRpID09IHAuT0ZGIGFuZCAoKG5vdCBjZmcuY2xyKSBvciBjZmcuY2xyID09IHAuT0ZGKSB0aGVuCm0uZWxlbWVudCgiUnVudGltZVR5cGVJbmZvIiwgY29uZGl0aW9uLCAiZmFsc2UiKQplbHNlaWYgY2ZnLnJ0dGkgPT0gcC5PTiB0aGVuCm0uZWxlbWVudCgiUnVudGltZVR5cGVJbmZvIiwgY29uZGl0aW9uLCAidHJ1ZSIpCmVuZAplbmQKZnVuY3Rpb24gbS5idWZmZXJTZWN1cml0eUNoZWNrKGNmZykKbG9jYWwgdG9vbCwgdG9vbFZlcnNpb24gPSBwLmNvbmZpZy50b29sc2V0KGNmZykKaWYgY2ZnLmZsYWdzLk5vQnVmZmVyU2VjdXJpdHlDaGVjayBvciAodG9vbFZlcnNpb24gYW5kIHRvb2xWZXJzaW9uOnN0YXJ0c3dpdGgoIkxMVk0tdnMiKSkgdGhlbgptLmVsZW1lbnQoIkJ1ZmZlclNlY3VyaXR5Q2hlY2siLCBuaWwsICJmYWxzZSIpCmVuZAplbmQKZnVuY3Rpb24gbS5zdHJpbmdQb29saW5nKGNmZykKaWYgY2ZnLnN0cmluZ3Bvb2xpbmcgfj0gbmlsIHRoZW4KaWYgY2ZnLnN0cmluZ3Bvb2xpbmcgdGhlbgptLmVsZW1lbnQoIlN0cmluZ1Bvb2xpbmciLCBuaWwsICJ0cnVlIikKZWxzZQptLmVsZW1lbnQoIlN0cmluZ1Bvb2xpbmciLCBuaWwsICJmYWxzZSIpCmVuZAplbHNlaWYgY29uZmlnLmlzT3B0aW1pemVkQnVpbGQoY2ZnKSB0aGVuCm0uZWxlbWVudCgiU3RyaW5nUG9vbGluZyIsIG5pbCwgInRydWUiKQplbmQKZW5kCmZ1bmN0aW9uIG0uc3ViU3lzdGVtKGNmZykKbG9jYWwgc3Vic3lzdGVtID0gaWlmKGNmZy5raW5kID09IHAuQ09OU09MRUFQUCwgIkNvbnNvbGUiLCAiV2luZG93cyIpCm0uZWxlbWVudCgiU3ViU3lzdGVtIiwgbmlsLCBzdWJzeXN0ZW0pCmVuZApmdW5jdGlvbiBtLnRhcmdldEV4dChjZmcpCmxvY2FsIGV4dCA9IGNmZy5idWlsZHRhcmdldC5leHRlbnNpb24KaWYgZXh0IH49ICIiIHRoZW4KbS5lbGVtZW50KCJUYXJnZXRFeHQiLCBuaWwsICIlcyIsIGV4dCkKZWxzZQpwLncoJzxUYXJnZXRFeHQ+JykKcC53KCc8L1RhcmdldEV4dD4nKQplbmQKZW5kCmZ1bmN0aW9uIG0udGFyZ2V0TWFjaGluZShjZmcpCmxvY2FsIHRhcmdldG1hY2hpbmUgPSB7Cng4NiA9ICJNYWNoaW5lWDg2IiwKeDg2XzY0ID0gIk1hY2hpbmVYNjQiLAp9CmlmIGNmZy5raW5kID09IHAuU1RBVElDTElCIGFuZCBjb25maWcuaGFzRmlsZShjZmcsIHBhdGguaXNyZXNvdXJjZWZpbGUpIHRoZW4KbG9jYWwgdmFsdWUgPSB0YXJnZXRtYWNoaW5lW2NmZy5hcmNoaXRlY3R1cmVdCmlmIHZhbHVlIH49IG5pbCB0aGVuCm0uZWxlbWVudCgiVGFyZ2V0TWFjaGluZSIsIG5pbCwgJyVzJywgdmFsdWUpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0udGFyZ2V0TmFtZShjZmcpCm0uZWxlbWVudCgiVGFyZ2V0TmFtZSIsIG5pbCwgIiVzJXMiLCBjZmcuYnVpbGR0YXJnZXQucHJlZml4LCBjZmcuYnVpbGR0YXJnZXQuYmFzZW5hbWUpCmVuZApmdW5jdGlvbiBtLnRhcmdldFBsYXRmb3JtVmVyc2lvbihjZmdPclByaikKaWYgX0FDVElPTiA+PSAidnMyMDE1IiB0aGVuCmxvY2FsIG1pbiA9IHByb2plY3Quc3lzdGVtdmVyc2lvbihjZmdPclByaikKaWYgbWluID09ICJsYXRlc3QiIHRoZW4KaWYgX0FDVElPTiA+PSAidnMyMDE5IiB0aGVuCm1pbiA9ICIxMC4wIgplbHNlCm1pbiA9IGlpZihfQUNUSU9OID09ICJ2czIwMTciLCBtLmxhdGVzdFNESzEwVmVyc2lvbigpLCBuaWwpCmVuZAplbmQKcmV0dXJuIG1pbgplbmQKZW5kCmZ1bmN0aW9uIG0udGFyZ2V0UGxhdGZvcm1WZXJzaW9uR2xvYmFsKHByaikKbG9jYWwgbWluID0gbS50YXJnZXRQbGF0Zm9ybVZlcnNpb24ocHJqKQppZiBtaW4gfj0gbmlsIHRoZW4KbS5lbGVtZW50KCJXaW5kb3dzVGFyZ2V0UGxhdGZvcm1WZXJzaW9uIiwgbmlsLCBtaW4pCmVuZAplbmQKZnVuY3Rpb24gbS50YXJnZXRQbGF0Zm9ybVZlcnNpb25Db25kaXRpb24ocHJqLCBjZmcpCmxvY2FsIGNmZ1BsYXRmb3JtVmVyc2lvbiA9IG0udGFyZ2V0UGxhdGZvcm1WZXJzaW9uKGNmZykKbG9jYWwgcHJqUGxhdGZvcm1WZXJzaW9uID0gbS50YXJnZXRQbGF0Zm9ybVZlcnNpb24ocHJqKQppZiBjZmdQbGF0Zm9ybVZlcnNpb24gfj0gbmlsIGFuZCBjZmdQbGF0Zm9ybVZlcnNpb24gfj0gcHJqUGxhdGZvcm1WZXJzaW9uIHRoZW4KICAgIG0uZWxlbWVudCgiV2luZG93c1RhcmdldFBsYXRmb3JtVmVyc2lvbiIsIG5pbCwgY2ZnUGxhdGZvcm1WZXJzaW9uKQplbmQKZW5kCmZ1bmN0aW9uIG0ucHJlZmVycmVkVG9vbEFyY2hpdGVjdHVyZShwcmopCmlmIF9BQ1RJT04gPj0gInZzMjAxMyIgdGhlbgppZiBwcmoucHJlZmVycmVkdG9vbGFyY2hpdGVjdHVyZSA9PSBwLlg4Nl82NCB0aGVuCm0uZWxlbWVudCgiUHJlZmVycmVkVG9vbEFyY2hpdGVjdHVyZSIsIG5pbCwgJ3g2NCcpCmVsc2VpZiBwcmoucHJlZmVycmVkdG9vbGFyY2hpdGVjdHVyZSA9PSBwLlg4NiB0aGVuCm0uZWxlbWVudCgiUHJlZmVycmVkVG9vbEFyY2hpdGVjdHVyZSIsIG5pbCwgJ3g4NicpCmVuZAplbHNlCmlmIHByai5wcmVmZXJyZWR0b29sYXJjaGl0ZWN0dXJlID09IHAuWDg2XzY0IHRoZW4KbS5lbGVtZW50KCJVc2VOYXRpdmVFbnZpcm9ubWVudCIsIG5pbCwgJ3RydWUnKQplbmQKZW5kCmVuZApmdW5jdGlvbiBtLnRyZWF0TGlua2VyV2FybmluZ0FzRXJyb3JzKGNmZykKaWYgY2ZnLmZsYWdzLkZhdGFsTGlua1dhcm5pbmdzIHRoZW4KbG9jYWwgZWwgPSBpaWYoY2ZnLmtpbmQgPT0gcC5TVEFUSUNMSUIsICJMaWIiLCAiTGlua2VyIikKbS5lbGVtZW50KCJUcmVhdCIgLi4gZWwgLi4gIldhcm5pbmdBc0Vycm9ycyIsIG5pbCwgInRydWUiKQplbmQKZW5kCmZ1bmN0aW9uIG0udHJlYXRXQ2hhcl90QXNCdWlsdEluVHlwZShjZmcpCmxvY2FsIG1hcCA9IHsgT24gPSAidHJ1ZSIsIE9mZiA9ICJmYWxzZSIgfQpsb2NhbCB2YWx1ZSA9IG1hcFtjZmcubmF0aXZld2NoYXJdCmlmIHZhbHVlIHRoZW4KbS5lbGVtZW50KCJUcmVhdFdDaGFyX3RBc0J1aWx0SW5UeXBlIiwgbmlsLCB2YWx1ZSkKZW5kCmVuZApmdW5jdGlvbiBtLnRyZWF0V2FybmluZ0FzRXJyb3IoY2ZnKQppZiBjZmcuZmxhZ3MuRmF0YWxDb21waWxlV2FybmluZ3MgYW5kIGNmZy53YXJuaW5ncyB+PSBwLk9GRiB0aGVuCm0uZWxlbWVudCgiVHJlYXRXYXJuaW5nQXNFcnJvciIsIG5pbCwgInRydWUiKQplbmQKZW5kCmZ1bmN0aW9uIG0uZGlzYWJsZVNwZWNpZmljV2FybmluZ3MoY2ZnLCBjb25kaXRpb24pCmlmICNjZmcuZGlzYWJsZXdhcm5pbmdzID4gMCB0aGVuCmxvY2FsIHdhcm5pbmdzID0gdGFibGUuY29uY2F0KGNmZy5kaXNhYmxld2FybmluZ3MsICI7IikKd2FybmluZ3MgPSB3YXJuaW5ncyAuLiAiOyUlKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKSIKbS5lbGVtZW50KCdEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncycsIGNvbmRpdGlvbiwgd2FybmluZ3MpCmVuZAplbmQKZnVuY3Rpb24gbS50cmVhdFNwZWNpZmljV2FybmluZ3NBc0Vycm9ycyhjZmcsIGNvbmRpdGlvbikKaWYgI2NmZy5mYXRhbHdhcm5pbmdzID4gMCB0aGVuCmxvY2FsIGZhdGFsID0gdGFibGUuY29uY2F0KGNmZy5mYXRhbHdhcm5pbmdzLCAiOyIpCmZhdGFsID0gZmF0YWwgLi4gIjslJShUcmVhdFNwZWNpZmljV2FybmluZ3NBc0Vycm9ycykiCm0uZWxlbWVudCgnVHJlYXRTcGVjaWZpY1dhcm5pbmdzQXNFcnJvcnMnLCBjb25kaXRpb24sIGZhdGFsKQplbmQKZW5kCmZ1bmN0aW9uIG0udXNlRGVidWdMaWJyYXJpZXMoY2ZnKQpsb2NhbCBydW50aW1lID0gY29uZmlnLmdldHJ1bnRpbWUoY2ZnKSBvciBpaWYoY29uZmlnLmlzRGVidWdCdWlsZChjZmcpLCAiRGVidWciLCAiUmVsZWFzZSIpCm0uZWxlbWVudCgiVXNlRGVidWdMaWJyYXJpZXMiLCBuaWwsIHRvc3RyaW5nKHJ1bnRpbWU6ZW5kc3dpdGgoIkRlYnVnIikpKQplbmQKZnVuY3Rpb24gbS51c2VPZk1mYyhjZmcpCmlmIGNmZy5mbGFncy5NRkMgdGhlbgptLmVsZW1lbnQoIlVzZU9mTWZjIiwgbmlsLCBpaWYoY2ZnLnN0YXRpY3J1bnRpbWUgPT0gIk9uIiwgIlN0YXRpYyIsICJEeW5hbWljIikpCmVuZAplbmQKZnVuY3Rpb24gbS51c2VPZkF0bChjZmcpCmlmIGNmZy5hdGwgdGhlbgptLmVsZW1lbnQoIlVzZU9mQVRMIiwgbmlsLCBjZmcuYXRsKQplbmQKZW5kCmZ1bmN0aW9uIG0udXNlck1hY3JvcyhjZmcpCnAudygnPFByb3BlcnR5R3JvdXAgTGFiZWw9IlVzZXJNYWNyb3MiIC8+JykKZW5kCmZ1bmN0aW9uIG0ud2FybmluZ0xldmVsKGNmZykKbG9jYWwgbWFwID0geyBPZmYgPSAiVHVybk9mZkFsbFdhcm5pbmdzIiwgRXh0cmEgPSAiTGV2ZWw0IiB9Cm0uZWxlbWVudCgiV2FybmluZ0xldmVsIiwgbmlsLCBtYXBbY2ZnLndhcm5pbmdzXSBvciAiTGV2ZWwzIikKZW5kCmZ1bmN0aW9uIG0ud2FybmluZ0xldmVsRmlsZShjZmcsIGNvbmRpdGlvbikKbG9jYWwgbWFwID0geyBPZmYgPSAiVHVybk9mZkFsbFdhcm5pbmdzIiwgRXh0cmEgPSAiTGV2ZWw0IiB9CmlmIGNmZy53YXJuaW5ncyB0aGVuCm0uZWxlbWVudCgiV2FybmluZ0xldmVsIiwgY29uZGl0aW9uLCBtYXBbY2ZnLndhcm5pbmdzXSBvciAiTGV2ZWwzIikKZW5kCmVuZApmdW5jdGlvbiBtLnhtbERlY2xhcmF0aW9uKCkKcC54bWxVdGY4KCkKZW5kCmZ1bmN0aW9uIG0uZnhDb21waWxlUHJlcHJvY2Vzc29yRGVmaW5pdGlvbihjZmcsIGNvbmRpdGlvbikKaWYgY2ZnLnNoYWRlcmRlZmluZXMgYW5kICNjZmcuc2hhZGVyZGVmaW5lcyA+IDAgdGhlbgpsb2NhbCBzaGFkZXJkZWZpbmVzID0gdGFibGUuY29uY2F0KGNmZy5zaGFkZXJkZWZpbmVzLCAiOyIpCnNoYWRlcmRlZmluZXMgPSBzaGFkZXJkZWZpbmVzIC4uICI7JSUoUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMpIgptLmVsZW1lbnQoJ1ByZXByb2Nlc3NvckRlZmluaXRpb25zJywgY29uZGl0aW9uLCBzaGFkZXJkZWZpbmVzKQplbmQKZW5kCmZ1bmN0aW9uIG0uZnhDb21waWxlU2hhZGVyVHlwZShjZmcsIGNvbmRpdGlvbikKaWYgY2ZnLnNoYWRlcnR5cGUgdGhlbgptLmVsZW1lbnQoIlNoYWRlclR5cGUiLCBjb25kaXRpb24sIGNmZy5zaGFkZXJ0eXBlKQplbmQKZW5kCmZ1bmN0aW9uIG0uZnhDb21waWxlU2hhZGVyTW9kZWwoY2ZnLCBjb25kaXRpb24pCmlmIGNmZy5zaGFkZXJtb2RlbCB0aGVuCm0uZWxlbWVudCgiU2hhZGVyTW9kZWwiLCBjb25kaXRpb24sIGNmZy5zaGFkZXJtb2RlbCkKZW5kCmVuZApmdW5jdGlvbiBtLmZ4Q29tcGlsZVNoYWRlckVudHJ5KGNmZywgY29uZGl0aW9uKQppZiBjZmcuc2hhZGVyZW50cnkgdGhlbgptLmVsZW1lbnQoIkVudHJ5UG9pbnROYW1lIiwgY29uZGl0aW9uLCBjZmcuc2hhZGVyZW50cnkpCmVuZAplbmQKZnVuY3Rpb24gbS5meENvbXBpbGVTaGFkZXJWYXJpYWJsZU5hbWUoY2ZnLCBjb25kaXRpb24pCmlmIGNmZy5zaGFkZXJ2YXJpYWJsZW5hbWUgdGhlbgptLmVsZW1lbnQoIlZhcmlhYmxlTmFtZSIsIGNvbmRpdGlvbiwgY2ZnLnNoYWRlcnZhcmlhYmxlbmFtZSkKZW5kCmVuZApmdW5jdGlvbiBtLmZ4Q29tcGlsZVNoYWRlckhlYWRlck91dHB1dChjZmcsIGNvbmRpdGlvbikKaWYgY2ZnLnNoYWRlcmhlYWRlcmZpbGVvdXRwdXQgdGhlbgptLmVsZW1lbnQoIkhlYWRlckZpbGVPdXRwdXQiLCBjb25kaXRpb24sIGNmZy5zaGFkZXJoZWFkZXJmaWxlb3V0cHV0KQplbmQKZW5kCmZ1bmN0aW9uIG0uZnhDb21waWxlU2hhZGVyT2JqZWN0T3V0cHV0KGNmZywgY29uZGl0aW9uKQppZiBjZmcuc2hhZGVyb2JqZWN0ZmlsZW91dHB1dCB0aGVuCm0uZWxlbWVudCgiT2JqZWN0RmlsZU91dHB1dCIsIGNvbmRpdGlvbiwgY2ZnLnNoYWRlcm9iamVjdGZpbGVvdXRwdXQpCmVuZAplbmQKZnVuY3Rpb24gbS5meENvbXBpbGVTaGFkZXJBc3NlbWJsZXIoY2ZnLCBjb25kaXRpb24pCmlmIGNmZy5zaGFkZXJhc3NlbWJsZXIgdGhlbgptLmVsZW1lbnQoIkFzc2VtYmxlck91dHB1dCIsIGNvbmRpdGlvbiwgY2ZnLnNoYWRlcmFzc2VtYmxlcikKZW5kCmVuZApmdW5jdGlvbiBtLmZ4Q29tcGlsZVNoYWRlckFzc2VtYmxlck91dHB1dChjZmcsIGNvbmRpdGlvbikKaWYgY2ZnLnNoYWRlcmFzc2VtYmxlcm91dHB1dCB0aGVuCm0uZWxlbWVudCgiQXNzZW1ibGVyT3V0cHV0RmlsZSIsIGNvbmRpdGlvbiwgY2ZnLnNoYWRlcmFzc2VtYmxlcm91dHB1dCkKZW5kCmVuZApmdW5jdGlvbiBtLmZ4Q29tcGlsZVNoYWRlckFkZGl0aW9uYWxPcHRpb25zKGNmZywgY29uZGl0aW9uKQpsb2NhbCBvcHRzID0gY2ZnLnNoYWRlcm9wdGlvbnMKaWYgI29wdHMgPiAwIHRoZW4Kb3B0cyA9IHRhYmxlLmNvbmNhdChvcHRzLCAiICIpCm0uZWxlbWVudCgiQWRkaXRpb25hbE9wdGlvbnMiLCBjb25kaXRpb24sICclcyAlJShBZGRpdGlvbmFsT3B0aW9ucyknLCBvcHRzKQplbmQKZW5kCmZ1bmN0aW9uIG0uY29uZGl0aW9uRnJvbUNvbmZpZ1RleHQoY2ZnVGV4dCkKcmV0dXJuIHN0cmluZy5mb3JtYXQoJ0NvbmRpdGlvbj0iXCckKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pXCc9PVwnJXNcJyInLCBwLmVzYyhjZmdUZXh0KSkKZW5kCmZ1bmN0aW9uIG0uY29uZGl0aW9uKGNmZykKcmV0dXJuIG0uY29uZGl0aW9uRnJvbUNvbmZpZ1RleHQodnN0dWRpby5wcm9qZWN0Q29uZmlnKGNmZykpCmVuZApmdW5jdGlvbiBtLmxhdGVzdFNESzEwVmVyc2lvbigpCmxvY2FsIGFyY2ggPSBpaWYob3MuaXM2NGJpdCgpLCAiXFxXT1c2NDMyTm9kZVxcIiwgIlxcIikKbG9jYWwgdmVyc2lvbiA9IG9zLmdldFdpbmRvd3NSZWdpc3RyeSgiSEtMTTpTT0ZUV0FSRSIgLi4gYXJjaCAuLiJNaWNyb3NvZnRcXE1pY3Jvc29mdCBTREtzXFxXaW5kb3dzXFx2MTAuMFxcUHJvZHVjdFZlcnNpb24iKQppZiB2ZXJzaW9uIH49IG5pbCB0aGVuCnJldHVybiB2ZXJzaW9uIC4uICIuMCIKZWxzZQpyZXR1cm4gbmlsCmVuZAplbmQKZnVuY3Rpb24gbS5lbGVtZW50KG5hbWUsIGNvbmRpdGlvbiwgdmFsdWUsIC4uLikKbG9jYWwgYXJnID0gey4uLn0KaWYgc2VsZWN0KCcjJywuLi4pID09IDAgdGhlbgp2YWx1ZSA9IHAuZXNjKHZhbHVlKQplbHNlCmZvciBpID0gMSwgI2FyZyBkbwphcmdbaV0gPSBwLmVzYyhhcmdbaV0pCmVuZAplbmQKaWYgY29uZGl0aW9uIHRoZW4KbG9jYWwgZWxlbWVudCA9IHt9CmVsZW1lbnQubmFtZSA9IG5hbWUKZWxlbWVudC5jb25kaXRpb24gPSBjb25kaXRpb24KZWxlbWVudC52YWx1ZSA9IHZhbHVlCmVsZW1lbnQuYXJncyA9IGFyZwppZiAuLi4gdGhlbgppZiB2YWx1ZSA9PSAnJXMnIHRoZW4KZWxlbWVudC5zZXR0aW5nID0gdGFibGUuY29uY2F0KGFyZykKZWxzZQplbGVtZW50LnNldHRpbmcgPSB2YWx1ZSAuLiB0YWJsZS5jb25jYXQoYXJnKQplbmQKZWxzZQplbGVtZW50LnNldHRpbmcgPSBlbGVtZW50LnZhbHVlCmVuZAp0YWJsZS5pbnNlcnQobS5jb25kaXRpb25hbEVsZW1lbnRzLCBlbGVtZW50KQplbHNlCmxvY2FsIGZvcm1hdCA9IHN0cmluZy5mb3JtYXQoJzwlcz4lczwvJXM+JywgbmFtZSwgdmFsdWUsIG5hbWUpCnAudyhmb3JtYXQsIHRhYmxlLnVucGFjayhhcmcpKQplbmQKZW5kCgAAAAAAbG9jYWwgcCA9IHByZW1ha2UKbG9jYWwgcHJvamVjdCA9IHAucHJvamVjdApwLm1vZHVsZXMudnN0dWRpbyA9IHAubW9kdWxlcy52c3R1ZGlvIG9yIHt9CnAubW9kdWxlcy52c3R1ZGlvLl9WRVJTSU9OID0gcC5fVkVSU0lPTgpwLnZzdHVkaW8gPSBwLm1vZHVsZXMudnN0dWRpbwppbmNsdWRlKCJ2czIwMDUubHVhIikKaW5jbHVkZSgidnMyMDA4Lmx1YSIpCmluY2x1ZGUoInZzMjAxMC5sdWEiKQppbmNsdWRlKCJ2czIwMTIubHVhIikKaW5jbHVkZSgidnMyMDEzLmx1YSIpCmluY2x1ZGUoInZzMjAxNS5sdWEiKQppbmNsdWRlKCJ2czIwMTcubHVhIikKaW5jbHVkZSgidnMyMDE5Lmx1YSIpCnAuYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJzaGFkZXJvcHRpb25zIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OnN0cmluZyIsCnRva2VucyA9IHRydWUsCnBhdGhWYXJzID0gdHJ1ZSwKfQpwLmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAic2hhZGVyZGVmaW5lcyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDpzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CnAuYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJzaGFkZXJ0eXBlIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAphbGxvd2VkID0gewoiRWZmZWN0IiwKIlZlcnRleCIsCiJQaXhlbCIsCiJHZW9tZXRyeSIsCiJIdWxsIiwKIkRvbWFpbiIsCiJDb21wdXRlIiwKIlRleHR1cmUiLAoiUm9vdFNpZ25hdHVyZSIsCn0KfQpwLmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAic2hhZGVybW9kZWwiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiIyLjAiLAoiMy4wIiwKIjQuMF9sZXZlbF85XzEiLAoiNC4wX2xldmVsXzlfMyIsCiI0LjAiLAoiNC4xIiwKIjUuMCIsCiJyb290c2lnXzEuMCIsCiJyb290c2lnXzEuMSIsCiI2LjAiLAoiNi4xIiwKIjYuMiIsCiI2LjMiCn0KfQpwLmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAic2hhZGVyZW50cnkiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCnRva2VucyA9IHRydWUsCn0KcC5hcGkucmVnaXN0ZXIgewpuYW1lID0gInNoYWRlcnZhcmlhYmxlbmFtZSIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQpwLmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAic2hhZGVyaGVhZGVyZmlsZW91dHB1dCIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQpwLmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAic2hhZGVyb2JqZWN0ZmlsZW91dHB1dCIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQpwLmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAic2hhZGVyYXNzZW1ibGVyIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAphbGxvd2VkID0gewoiTm9MaXN0aW5nIiwKIkFzc2VtYmx5Q29kZSIsCiJBc3NlbWJseUNvZGVBbmRIZXgiLAp9Cn0KcC5hcGkucmVnaXN0ZXIgewpuYW1lID0gInNoYWRlcmFzc2VtYmxlcm91dHB1dCIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQpwLmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZGVidWdnZXJmbGF2b3IiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJMb2NhbCIsCiJSZW1vdGUiLAoiV2ViQnJvd3NlciIsCiJXZWJTZXJ2aWNlIgp9Cn0KcmV0dXJuIGZ1bmN0aW9uKGNmZykKcmV0dXJuCl9BQ1RJT04gPT0gInZzMjAwNSIgb3IKX0FDVElPTiA9PSAidnMyMDA4IiBvcgpfQUNUSU9OID09ICJ2czIwMTAiIG9yCl9BQ1RJT04gPT0gInZzMjAxMiIgb3IKX0FDVElPTiA9PSAidnMyMDEzIiBvcgpfQUNUSU9OID09ICJ2czIwMTUiIG9yCl9BQ1RJT04gPT0gInZzMjAxNyIgb3IKX0FDVElPTiA9PSAidnMyMDE5IiBvcgpmYWxzZTsKZW5kCgBsb2NhbCBwID0gcHJlbWFrZQpwLm1ha2UuY3MgPSB7fQpsb2NhbCBtYWtlID0gcC5tYWtlCmxvY2FsIGNzID0gcC5tYWtlLmNzCmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKbG9jYWwgY29uZmlnID0gcC5jb25maWcKbG9jYWwgZmlsZWNvbmZpZyA9IHAuZmlsZWNvbmZpZwpjcy5lbGVtZW50cyA9IHt9CmNzLmVsZW1lbnRzLm1ha2VmaWxlID0gZnVuY3Rpb24ocHJqKQpyZXR1cm4gewptYWtlLmhlYWRlciwKbWFrZS5waG9ueVJ1bGVzLAptYWtlLmNzQ29uZmlncywKbWFrZS5jc1Byb2plY3RDb25maWcsCm1ha2UuY3NTb3VyY2VzLAptYWtlLmNzRW1iZWRGaWxlcywKbWFrZS5jc0NvcHlGaWxlcywKbWFrZS5jc1Jlc3BvbnNlRmlsZSwKbWFrZS5zaGVsbFR5cGUsCm1ha2UuY3NBbGxSdWxlcywKbWFrZS5jc1RhcmdldFJ1bGVzLAptYWtlLnRhcmdldERpclJ1bGVzLAptYWtlLmNzUmVzcG9uc2VSdWxlcywKbWFrZS5vYmpEaXJSdWxlcywKbWFrZS5jc0NsZWFuUnVsZXMsCm1ha2UucHJlQnVpbGRSdWxlcywKbWFrZS5wcmVMaW5rUnVsZXMsCm1ha2UuY3NGaWxlUnVsZXMsCn0KZW5kCmZ1bmN0aW9uIG1ha2UuY3MuZ2VuZXJhdGUocHJqKQpwLmVvbCgiXG4iKQpsb2NhbCB0b29sc2V0ID0gcC50b29scy5kb3RuZXQKcC5jYWxsQXJyYXkoY3MuZWxlbWVudHMubWFrZWZpbGUsIHByaiwgdG9vbHNldCkKZW5kCmNzLmVsZW1lbnRzLmNvbmZpZ3VyYXRpb24gPSBmdW5jdGlvbihjZmcpCnJldHVybiB7Cm1ha2UuY3NUb29scywKbWFrZS50YXJnZXQsCm1ha2Uub2JqZGlyLAptYWtlLmNzRmxhZ3MsCm1ha2UuY3NMaW5rQ21kLAptYWtlLnByZUJ1aWxkQ21kcywKbWFrZS5wcmVMaW5rQ21kcywKbWFrZS5wb3N0QnVpbGRDbWRzLAptYWtlLnNldHRpbmdzLAp9CmVuZApmdW5jdGlvbiBtYWtlLmNzQ29uZmlncyhwcmosIHRvb2xzZXQpCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KX3goJ2lmZXEgKCQoY29uZmlnKSwlcyknLCBjZmcuc2hvcnRuYW1lKQpwLmNhbGxBcnJheShjcy5lbGVtZW50cy5jb25maWd1cmF0aW9uLCBjZmcsIHRvb2xzZXQpCl9wKCdlbmRpZicpCl9wKCcnKQplbmQKZW5kCmZ1bmN0aW9uIGNzLmdldHJlc291cmNlZmlsZW5hbWUoY2ZnLCBmbmFtZSkKaWYgcGF0aC5nZXRleHRlbnNpb24oZm5hbWUpID09ICIucmVzeCIgdGhlbgpsb2NhbCBuYW1lID0gY2ZnLmJ1aWxkdGFyZ2V0LmJhc2VuYW1lIC4uICIuIgpsb2NhbCBkaXIgPSBwYXRoLmdldGRpcmVjdG9yeShmbmFtZSkKaWYgZGlyIH49ICIuIiB0aGVuCm5hbWUgPSBuYW1lIC4uIHBhdGgudHJhbnNsYXRlKGRpciwgIi4iKSAuLiAiLiIKZW5kCnJldHVybiAiJChPQkpESVIpLyIgLi4gcC5lc2MobmFtZSAuLiBwYXRoLmdldGJhc2VuYW1lKGZuYW1lKSkgLi4gIi5yZXNvdXJjZXMiCmVsc2UKcmV0dXJuIGZuYW1lCmVuZAplbmQKZnVuY3Rpb24gY3MubGlzdHNvdXJjZXMocHJqLCBzZWxlY3RvcikKbG9jYWwgdHIgPSBwcm9qZWN0LmdldHNvdXJjZXRyZWUocHJqKQpwLnRyZWUudHJhdmVyc2UodHIsIHsKb25sZWFmID0gZnVuY3Rpb24obm9kZSwgZGVwdGgpCmxvY2FsIHZhbHVlID0gc2VsZWN0b3Iobm9kZSkKaWYgdmFsdWUgdGhlbgpfeCgnXHQlcyBcXCcsIHZhbHVlKQplbmQKZW5kCn0pCmVuZApmdW5jdGlvbiBtYWtlLmNzQWxsUnVsZXMocHJqLCB0b29sc2V0KQpfcCgnYWxsOiAkKFRBUkdFVERJUikgJChPQkpESVIpIHByZWJ1aWxkICQoRU1CRURGSUxFUykgJChDT1BZRklMRVMpIHByZWxpbmsgJChUQVJHRVQpJykKX3AoJycpCmVuZApmdW5jdGlvbiBtYWtlLmNzQ2xlYW5SdWxlcyhwcmosIHRvb2xzZXQpCmVuZApmdW5jdGlvbiBtYWtlLmNzQ29weUZpbGVzKHByaiwgdG9vbHNldCkKZW5kCmZ1bmN0aW9uIG1ha2UuY3MuZ2V0cmVzcG9uc2VmaWxlbmFtZShwcmopCnJldHVybiAnJChPQkpESVIpLycgLi4gcHJqLmZpbGVuYW1lIC4uICcucnNwJwplbmQKZnVuY3Rpb24gbWFrZS5jc1Jlc3BvbnNlRmlsZShwcmosIHRvb2xzZXQpCl94KCdSRVNQT05TRSArPSAnIC4uIG1ha2UuY3MuZ2V0cmVzcG9uc2VmaWxlbmFtZShwcmopKQplbmQKZnVuY3Rpb24gbWFrZS5jc1Jlc3BvbnNlUnVsZXMocHJqKQpsb2NhbCB0b29sc2V0ID0gcC50b29scy5kb3RuZXQKbG9jYWwgZXh0ID0gbWFrZS5nZXRtYWtlZmlsZW5hbWUocHJqLCB0cnVlKQpsb2NhbCBtYWtlZmlsZSA9IHBhdGguZ2V0bmFtZShwLmZpbGVuYW1lKHByaiwgZXh0KSkKbG9jYWwgcmVzcG9uc2UgPSBtYWtlLmNzLmdldHJlc3BvbnNlZmlsZW5hbWUocHJqKQpfcCgnJChSRVNQT05TRSk6ICVzJywgbWFrZWZpbGUpCl9wKCdcdEBlY2hvIEdlbmVyYXRpbmcgcmVzcG9uc2UgZmlsZScsIHByai5uYW1lKQpfcCgnaWZlcSAocG9zaXgsJChTSEVMTFRZUEUpKScpCl94KCdcdCQoU0lMRU5UKSBybSAtZiAkKFJFU1BPTlNFKScpCl9wKCdlbHNlJykKX3goJ1x0JChTSUxFTlQpIGlmIGV4aXN0ICQoUkVTUE9OU0UpIGRlbCAlcycsIHBhdGgudHJhbnNsYXRlKHJlc3BvbnNlLCAnXFwnKSkKX3AoJ2VuZGlmJykKbG9jYWwgc2VwID0gb3MuaXN0YXJnZXQoIndpbmRvd3MiKSBhbmQgIlxcIiBvciAiLyIKbG9jYWwgdHIgPSBwcm9qZWN0LmdldHNvdXJjZXRyZWUocHJqKQpwLnRyZWUudHJhdmVyc2UodHIsIHsKb25sZWFmID0gZnVuY3Rpb24obm9kZSwgZGVwdGgpCmlmIHRvb2xzZXQuZmlsZWluZm8obm9kZSkuYWN0aW9uID09ICJDb21waWxlIiB0aGVuCl94KCdcdEBlY2hvICVzID4+ICQoUkVTUE9OU0UpJywgcGF0aC50cmFuc2xhdGUobm9kZS5yZWxwYXRoLCBzZXApKQplbmQKZW5kCn0pCl9wKCcnKQplbmQKZnVuY3Rpb24gbWFrZS5jc0VtYmVkRmlsZXMocHJqLCB0b29sc2V0KQpsb2NhbCBjZmcgPSBwcm9qZWN0LmdldGZpcnN0Y29uZmlnKHByaikKX3AoJ0VNQkVERklMRVMgKz0gXFwnKQpjcy5saXN0c291cmNlcyhwcmosIGZ1bmN0aW9uKG5vZGUpCmxvY2FsIGZjZmcgPSBmaWxlY29uZmlnLmdldGNvbmZpZyhub2RlLCBjZmcpCmxvY2FsIGluZm8gPSB0b29sc2V0LmZpbGVpbmZvKGZjZmcpCmlmIGluZm8uYWN0aW9uID09ICJFbWJlZGRlZFJlc291cmNlIiB0aGVuCnJldHVybiBjcy5nZXRyZXNvdXJjZWZpbGVuYW1lKGNmZywgbm9kZS5yZWxwYXRoKQplbmQKZW5kKQpfcCgnJykKZW5kCmZ1bmN0aW9uIG1ha2UuY3NGaWxlUnVsZXMocHJqLCB0b29sc2V0KQplbmQKZnVuY3Rpb24gbWFrZS5jc0ZsYWdzKGNmZywgdG9vbHNldCkKX3AoJyAgRkxBR1MgPSVzJywgbWFrZS5saXN0KHRvb2xzZXQuZ2V0ZmxhZ3MoY2ZnKSkpCmVuZApmdW5jdGlvbiBtYWtlLmNzTGlua0NtZChjZmcsIHRvb2xzZXQpCmxvY2FsIGRlcHMgPSBwLmVzYyhjb25maWcuZ2V0bGlua3MoY2ZnLCAiZGVwZW5kZW5jaWVzIiwgImZ1bGxwYXRoIikpCl9wKCcgIERFUEVORFMgPSVzJywgbWFrZS5saXN0KGRlcHMpKQpfcCgnICBSRUZFUkVOQ0VTID0gJXMnLCB0YWJsZS5pbXBsb2RlKGRlcHMsICIvcjoiLCAiIiwgIiAiKSkKZW5kCmZ1bmN0aW9uIG1ha2UuY3NQcm9qZWN0Q29uZmlnKHByaiwgdG9vbHNldCkKbG9jYWwgY2ZnID0gcHJvamVjdC5nZXRmaXJzdGNvbmZpZyhwcmopCmxvY2FsIGtpbmRmbGFnID0gIi90OiIgLi4gdG9vbHNldC5nZXRraW5kKGNmZyk6bG93ZXIoKQpsb2NhbCBsaWJkaXJzID0gdGFibGUuaW1wbG9kZShwLmVzYyhjZmcubGliZGlycyksICIvbGliOiIsICIiLCAiICIpCl9wKCdGTEFHUyArPSAlcycsIHRhYmxlLmNvbmNhdCh0YWJsZS5qb2luKGtpbmRmbGFnLCBsaWJkaXJzKSwgIiAiKSkKbG9jYWwgcmVmcyA9IHAuZXNjKGNvbmZpZy5nZXRsaW5rcyhjZmcsICJzeXN0ZW0iLCAiZnVsbHBhdGgiKSkKX3AoJ1JFRkVSRU5DRVMgKz0gJXMnLCB0YWJsZS5pbXBsb2RlKHJlZnMsICIvcjoiLCAiIiwgIiAiKSkKX3AoJycpCmVuZApmdW5jdGlvbiBtYWtlLmNzU291cmNlcyhwcmosIHRvb2xzZXQpCmxvY2FsIGNmZyA9IHByb2plY3QuZ2V0Zmlyc3Rjb25maWcocHJqKQpfcCgnU09VUkNFUyArPSBcXCcpCmNzLmxpc3Rzb3VyY2VzKHByaiwgZnVuY3Rpb24obm9kZSkKbG9jYWwgZmNmZyA9IGZpbGVjb25maWcuZ2V0Y29uZmlnKG5vZGUsIGNmZykKbG9jYWwgaW5mbyA9IHRvb2xzZXQuZmlsZWluZm8oZmNmZykKaWYgaW5mby5hY3Rpb24gPT0gIkNvbXBpbGUiIHRoZW4KcmV0dXJuIG5vZGUucmVscGF0aAplbmQKZW5kKQpfcCgnJykKZW5kCmZ1bmN0aW9uIG1ha2UuY3NUYXJnZXRSdWxlcyhwcmosIHRvb2xzZXQpCl9wKCckKFRBUkdFVCk6ICQoU09VUkNFUykgJChFTUJFREZJTEVTKSAkKERFUEVORFMpICQoUkVTUE9OU0UpJykKX3AoJ1x0JChTSUxFTlQpICQoQ1NDKSAvbm9sb2dvIC9vdXQ6JEAgJChGTEFHUykgJChSRUZFUkVOQ0VTKSBAJChSRVNQT05TRSkgJChwYXRzdWJzdCAlJSwvcmVzb3VyY2U6JSUsJChFTUJFREZJTEVTKSknKQpfcCgnXHQkKFBPU1RCVUlMRENNRFMpJykKX3AoJycpCmVuZApmdW5jdGlvbiBtYWtlLmNzVG9vbHMoY2ZnLCB0b29sc2V0KQpfcCgnICBDU0MgPSAlcycsIHRvb2xzZXQuZ2V0dG9vbG5hbWUoY2ZnLCAiY3NjIikpCl9wKCcgIFJFU0dFTiA9ICVzJywgdG9vbHNldC5nZXR0b29sbmFtZShjZmcsICJyZXNnZW4iKSkKZW5kCgAAABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAEwATABMAEwAUABQAFAAUABUAFQAVABUAEABIAE4AAAAAAAAAbG9jYWwgcCA9IHByZW1ha2UKcC5tb2R1bGVzLmQgPSB7fQpsb2NhbCBtID0gcC5tb2R1bGVzLmQKbS5fVkVSU0lPTiA9IHAuX1ZFUlNJT04KbS5lbGVtZW50cyA9IHt9CmxvY2FsIGFwaSA9IHAuYXBpCmZ1bmN0aW9uIHAucHJvamVjdC5pc2QocHJqKQpyZXR1cm4gcHJqLmxhbmd1YWdlID09IHAuRAplbmQKZnVuY3Rpb24gcGF0aC5pc2RmaWxlKGZuYW1lKQpyZXR1cm4gcGF0aC5oYXNleHRlbnNpb24oZm5hbWUsIHsgIi5kIiB9KQplbmQKZnVuY3Rpb24gcGF0aC5pc2RoZWFkZXIoZm5hbWUpCnJldHVybiBwYXRoLmhhc2V4dGVuc2lvbihmbmFtZSwgeyAiLmRpIiB9KQplbmQKaW5jbHVkZSggInRvb2xzL2RtZC5sdWEiICkKaW5jbHVkZSggInRvb2xzL2dkYy5sdWEiICkKaW5jbHVkZSggInRvb2xzL2xkYy5sdWEiICkKaW5jbHVkZSggImFjdGlvbnMvZ21ha2UubHVhIiApCmluY2x1ZGUoICJhY3Rpb25zL3ZjeHByb2oubHVhIiApCmluY2x1ZGUoICJhY3Rpb25zL3Zpc3VhbGQubHVhIiApCnJldHVybiBtCgAAAAAAAGxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIGdtYWtlMiA9IHAubW9kdWxlcy5nbWFrZTIKZ21ha2UyLmNwcCAgICAgICA9IHt9CmxvY2FsIGNwcCAgICAgICAgPSBnbWFrZTIuY3BwCmxvY2FsIHByb2plY3QgICAgPSBwLnByb2plY3QKbG9jYWwgY29uZmlnICAgICA9IHAuY29uZmlnCmxvY2FsIGZpbGVjb25maWcgPSBwLmZpbGVjb25maWcKY3BwLmVsZW1lbnRzID0ge30KY3BwLmVsZW1lbnRzLm1ha2VmaWxlID0gZnVuY3Rpb24ocHJqKQpyZXR1cm4gewpnbWFrZTIuaGVhZGVyLApnbWFrZTIucGhvbnlSdWxlcywKZ21ha2UyLnNoZWxsVHlwZSwKY3BwLmNyZWF0ZVJ1bGVUYWJsZSwKY3BwLm91dHB1dENvbmZpZ3VyYXRpb25TZWN0aW9uLApjcHAub3V0cHV0UGVyRmlsZUNvbmZpZ3VyYXRpb25TZWN0aW9uLApjcHAuY3JlYXRlRmlsZVRhYmxlLApjcHAub3V0cHV0RmlsZXNTZWN0aW9uLApjcHAub3V0cHV0UnVsZXNTZWN0aW9uLApjcHAub3V0cHV0RmlsZVJ1bGVTZWN0aW9uLApjcHAuZGVwZW5kZW5jaWVzLAp9CmVuZApmdW5jdGlvbiBjcHAuZ2VuZXJhdGUocHJqKQpwLmVvbCgiXG4iKQpwLmNhbGxBcnJheShjcHAuZWxlbWVudHMubWFrZWZpbGUsIHByaikKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpjZmcuX2dtYWtlID0gbmlsCmVuZApwcmouX2dtYWtlID0gbmlsCmVuZApmdW5jdGlvbiBjcHAuaW5pdGlhbGl6ZSgpCnJ1bGUgJ2NwcCcKZmlsZUV4dGVuc2lvbiB7ICIuY2MiLCAiLmNwcCIsICIuY3h4IiwgIi5tbSIgfQpidWlsZG91dHB1dHMgIHsgIiQoT0JKRElSKS8le2ZpbGUub2JqbmFtZX0ubyIgfQpidWlsZG1lc3NhZ2UgICckKG5vdGRpciAkPCknCmJ1aWxkY29tbWFuZHMgeyckKENYWCkgJXtwcmVtYWtlLm1vZHVsZXMuZ21ha2UyLmNwcC5maWxlRmxhZ3MoY2ZnLCBmaWxlKX0gJChGT1JDRV9JTkNMVURFKSAtbyAiJEAiIC1NRiAiJChAOiUubz0lLmQpIiAtYyAiJDwiJ30KcnVsZSAnY2MnCmZpbGVFeHRlbnNpb24geyIuYyIsICIucyIsICIubSJ9CmJ1aWxkb3V0cHV0cyAgeyAiJChPQkpESVIpLyV7ZmlsZS5vYmpuYW1lfS5vIiB9CmJ1aWxkbWVzc2FnZSAgJyQobm90ZGlyICQ8KScKYnVpbGRjb21tYW5kcyB7JyQoQ0MpICV7cHJlbWFrZS5tb2R1bGVzLmdtYWtlMi5jcHAuZmlsZUZsYWdzKGNmZywgZmlsZSl9ICQoRk9SQ0VfSU5DTFVERSkgLW8gIiRAIiAtTUYgIiQoQDolLm89JS5kKSIgLWMgIiQ8Iid9CnJ1bGUgJ3Jlc291cmNlJwpmaWxlRXh0ZW5zaW9uICIucmMiCmJ1aWxkb3V0cHV0cyAgeyAiJChPQkpESVIpLyV7ZmlsZS5vYmpuYW1lfS5yZXMiIH0KYnVpbGRtZXNzYWdlICAnJChub3RkaXIgJDwpJwpidWlsZGNvbW1hbmRzIHsnJChSRVNDT01QKSAkPCAtTyBjb2ZmIC1vICIkQCIgJChBTExfUkVTRkxBR1MpJ30KZ2xvYmFsKG5pbCkKZW5kCmZ1bmN0aW9uIGNwcC5jcmVhdGVSdWxlVGFibGUocHJqKQpsb2NhbCBydWxlcyA9IHt9CmxvY2FsIGZ1bmN0aW9uIGFkZFJ1bGUoZXh0ZW5zaW9uLCBydWxlKQppZiB0eXBlKGV4dGVuc2lvbikgPT0gJ3RhYmxlJyB0aGVuCmZvciBfLCB2YWx1ZSBpbiBpcGFpcnMoZXh0ZW5zaW9uKSBkbwphZGRSdWxlKHZhbHVlLCBydWxlKQplbmQKZWxzZQpydWxlc1tleHRlbnNpb25dID0gcnVsZQplbmQKZW5kCmxvY2FsIHVzZWRSdWxlcyA9IHRhYmxlLmpvaW4oeydjcHAnLCAnY2MnLCAncmVzb3VyY2UnfSwgcHJqLnJ1bGVzKQpmb3IgXywgbmFtZSBpbiBpcGFpcnModXNlZFJ1bGVzKSBkbwpsb2NhbCBydWxlID0gcC5nbG9iYWwuZ2V0UnVsZShuYW1lKQphZGRSdWxlKHJ1bGUuZmlsZUV4dGVuc2lvbiwgcnVsZSkKZW5kCmxvY2FsIGZpbGVzZXRzID0gewpbJy5vJ10gICA9ICdPQkpFQ1RTJywKWycub2JqJ10gPSAnT0JKRUNUUycsClsnLmNjJ10gID0gJ1NPVVJDRVMnLApbJy5jcHAnXSA9ICdTT1VSQ0VTJywKWycuY3h4J10gPSAnU09VUkNFUycsClsnLm1tJ10gID0gJ1NPVVJDRVMnLApbJy5jJ10gICA9ICdTT1VSQ0VTJywKWycucyddICAgPSAnU09VUkNFUycsClsnLm0nXSAgID0gJ1NPVVJDRVMnLApbJy5yYyddICA9ICdSRVNPVVJDRVMnLAp9CnByai5fZ21ha2UgPSBwcmouX2dtYWtlIG9yIHt9CnByai5fZ21ha2UucnVsZXMgPSBydWxlcwpwcmouX2dtYWtlLmZpbGVzZXRzID0gZmlsZXNldHMKZW5kCmZ1bmN0aW9uIGNwcC5jcmVhdGVGaWxlVGFibGUocHJqKQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmNmZy5fZ21ha2UgPSBjZmcuX2dtYWtlIG9yIHt9CmNmZy5fZ21ha2UuZmlsZXNldHMgPSB7fQpjZmcuX2dtYWtlLmZpbGVSdWxlcyA9IHt9CmxvY2FsIGZpbGVzID0gdGFibGUuc2hhbGxvd2NvcHkocHJqLl8uZmlsZXMpCnRhYmxlLmZvcmVhY2hpKGZpbGVzLCBmdW5jdGlvbihub2RlKQpjcHAuYWRkRmlsZShjZmcsIG5vZGUpCmVuZCkKZm9yIF8sIGYgaW4gcGFpcnMoY2ZnLl9nbWFrZS5maWxlc2V0cykgZG8KdGFibGUuc29ydChmKQplbmQKY2ZnLl9nbWFrZS5raW5kcyA9IHRhYmxlLmtleXMoY2ZnLl9nbWFrZS5maWxlc2V0cykKdGFibGUuc29ydChjZmcuX2dtYWtlLmtpbmRzKQpwcmouX2dtYWtlLmtpbmRzID0gdGFibGUuam9pbihwcmouX2dtYWtlLmtpbmRzIG9yIHt9LCBjZmcuX2dtYWtlLmtpbmRzKQplbmQKaWYgcHJqLmhhc0dlbmVyYXRlZEZpbGVzIGFuZCBwLnByb2plY3QuaXNjcHAocHJqKSB0aGVuCnAub3Zlbi5hc3NpZ25PYmplY3RTZXF1ZW5jZXMocHJqKQplbmQKcHJqLl9nbWFrZS5raW5kcyA9IHRhYmxlLnVuaXF1ZShwcmouX2dtYWtlLmtpbmRzKQp0YWJsZS5zb3J0KHByai5fZ21ha2Uua2luZHMpCmVuZApmdW5jdGlvbiBjcHAuYWRkRmlsZShjZmcsIG5vZGUpCmxvY2FsIGZpbGVjZmcgPSBmaWxlY29uZmlnLmdldGNvbmZpZyhub2RlLCBjZmcpCmlmIG5vdCBmaWxlY2ZnIG9yIGZpbGVjZmcuZmxhZ3MuRXhjbHVkZUZyb21CdWlsZCB0aGVuCnJldHVybgplbmQKaWYgbm9kZS5nZW5lcmF0ZWQgdGhlbgpyZXR1cm4KZW5kCmlmIGZpbGVjb25maWcuaGFzQ3VzdG9tQnVpbGRSdWxlKGZpbGVjZmcpIHRoZW4KbG9jYWwgZW52ID0gdGFibGUuc2hhbGxvd2NvcHkoZmlsZWNmZy5lbnZpcm9uKQplbnYuUGF0aFZhcnMgPSB7ClsiZmlsZS5iYXNlbmFtZSJdICAgICA9IHsgYWJzb2x1dGUgPSBmYWxzZSwgdG9rZW4gPSBub2RlLmJhc2VuYW1lIH0sClsiZmlsZS5hYnNwYXRoIl0gICAgICA9IHsgYWJzb2x1dGUgPSB0cnVlLCAgdG9rZW4gPSBub2RlLmFic3BhdGggfSwKWyJmaWxlLnJlbHBhdGgiXSAgICAgID0geyBhYnNvbHV0ZSA9IGZhbHNlLCB0b2tlbiA9IG5vZGUucmVscGF0aCB9LApbImZpbGUubmFtZSJdICAgICAgICAgPSB7IGFic29sdXRlID0gZmFsc2UsIHRva2VuID0gbm9kZS5uYW1lIH0sClsiZmlsZS5vYmpuYW1lIl0gICAgICA9IHsgYWJzb2x1dGUgPSBmYWxzZSwgdG9rZW4gPSBub2RlLm9iam5hbWUgfSwKWyJmaWxlLnBhdGgiXSAgICAgICAgID0geyBhYnNvbHV0ZSA9IHRydWUsICB0b2tlbiA9IG5vZGUucGF0aCB9LApbImZpbGUuZGlyZWN0b3J5Il0gICAgPSB7IGFic29sdXRlID0gdHJ1ZSwgIHRva2VuID0gcGF0aC5nZXRkaXJlY3Rvcnkobm9kZS5hYnNwYXRoKSB9LApbImZpbGUucmVsZGlyZWN0b3J5Il0gPSB7IGFic29sdXRlID0gZmFsc2UsIHRva2VuID0gcGF0aC5nZXRkaXJlY3Rvcnkobm9kZS5yZWxwYXRoKSB9LAp9CmxvY2FsIHNoYWRvd0NvbnRleHQgPSBwLmNvbnRleHQuZXh0ZW50KGZpbGVjZmcsIGVudikKbG9jYWwgYnVpbGRvdXRwdXRzID0gcC5wcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBzaGFkb3dDb250ZXh0LmJ1aWxkb3V0cHV0cykKaWYgYnVpbGRvdXRwdXRzIGFuZCAjYnVpbGRvdXRwdXRzID4gMCB0aGVuCmxvY2FsIGZpbGUgPSB7CmJ1aWxkb3V0cHV0cyAgPSBidWlsZG91dHB1dHMsCnNvdXJjZSAgICAgICAgPSBub2RlLnJlbHBhdGgsCmJ1aWxkbWVzc2FnZSAgPSBzaGFkb3dDb250ZXh0LmJ1aWxkbWVzc2FnZSwKYnVpbGRjb21tYW5kcyA9IHNoYWRvd0NvbnRleHQuYnVpbGRjb21tYW5kcywKYnVpbGRpbnB1dHMgICA9IHAucHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgc2hhZG93Q29udGV4dC5idWlsZGlucHV0cykKfQp0YWJsZS5pbnNlcnQoY2ZnLl9nbWFrZS5maWxlUnVsZXMsIGZpbGUpCmZvciBfLCBvdXRwdXQgaW4gaXBhaXJzKGJ1aWxkb3V0cHV0cykgZG8KY3BwLmFkZEdlbmVyYXRlZEZpbGUoY2ZnLCBub2RlLCBvdXRwdXQpCmVuZAplbmQKZWxzZQpjcHAuYWRkUnVsZUZpbGUoY2ZnLCBub2RlKQplbmQKZW5kCmZ1bmN0aW9uIGNwcC5kZXRlcm1pbmVGaWxldHlwZShjZmcsIG5vZGUpCmxvY2FsIGZpbGVjZmcgPSBmaWxlY29uZmlnLmdldGNvbmZpZyhub2RlLCBjZmcpCmxvY2FsIGZpbGVleHQgPSBwYXRoLmdldGV4dGVuc2lvbihub2RlLmFic3BhdGgpOmxvd2VyKCkKaWYgZmlsZWNmZyBhbmQgZmlsZWNmZy5jb21waWxlYXMgdGhlbgppZiBwLmxhbmd1YWdlcy5pc2MoZmlsZWNmZy5jb21waWxlYXMpIHRoZW4KZmlsZWV4dCA9ICIuYyIKZWxzZWlmIHAubGFuZ3VhZ2VzLmlzY3BwKGZpbGVjZmcuY29tcGlsZWFzKSB0aGVuCmZpbGVleHQgPSAiLmNwcCIKZW5kCmVuZApyZXR1cm4gZmlsZWV4dDsKZW5kCmZ1bmN0aW9uIGNwcC5hZGRHZW5lcmF0ZWRGaWxlKGNmZywgc291cmNlLCBmaWxlbmFtZSkKY2ZnLnByb2plY3QuaGFzR2VuZXJhdGVkRmlsZXMgPSB0cnVlCmxvY2FsIGZpbGVzID0gY2ZnLnByb2plY3QuXy5maWxlcwpsb2NhbCBub2RlID0gZmlsZXNbZmlsZW5hbWVdCmlmIG5vdCBub2RlIHRoZW4Kbm9kZSA9IGZpbGVjb25maWcubmV3KGZpbGVuYW1lLCBjZmcucHJvamVjdCkKZmlsZXNbZmlsZW5hbWVdID0gbm9kZQp0YWJsZS5pbnNlcnQoZmlsZXMsIG5vZGUpCmVuZApub2RlLmRlcGVuZHNPbiA9IHNvdXJjZQpub2RlLmdlbmVyYXRlZCA9IHRydWUKaWYgbm90IGZpbGVjb25maWcuZ2V0Y29uZmlnKG5vZGUsIGNmZykgdGhlbgpmaWxlY29uZmlnLmFkZGNvbmZpZyhub2RlLCBjZmcpCmVuZApsb2NhbCBmaWxlZXh0ID0gY3BwLmRldGVybWluZUZpbGV0eXBlKGNmZywgbm9kZSkKbG9jYWwgZmlsZXNldHMgPSBjZmcucHJvamVjdC5fZ21ha2UuZmlsZXNldHMKbG9jYWwga2luZCAgICAgPSBmaWxlc2V0c1tmaWxlZXh0XSBvciAiQ1VTVE9NIgppZiBwYXRoLmlzb2JqZWN0ZmlsZShmaWxlbmFtZSkgYW5kIHNvdXJjZS5saW5rYnVpbGRvdXRwdXRzID09IGZhbHNlIHRoZW4Ka2luZCA9ICJDVVNUT00iCmVuZApsb2NhbCBmaWxlc2V0ID0gY2ZnLl9nbWFrZS5maWxlc2V0c1traW5kXSBvciB7fQp0YWJsZS5pbnNlcnQoZmlsZXNldCwgZmlsZW5hbWUpCmNmZy5fZ21ha2UuZmlsZXNldHNba2luZF0gPSBmaWxlc2V0CmNwcC5hZGRSdWxlRmlsZShjZmcsIG5vZGUpCmVuZApmdW5jdGlvbiBjcHAuYWRkUnVsZUZpbGUoY2ZnLCBub2RlKQpsb2NhbCBydWxlcyA9IGNmZy5wcm9qZWN0Ll9nbWFrZS5ydWxlcwpsb2NhbCBmaWxlZXh0ID0gY3BwLmRldGVybWluZUZpbGV0eXBlKGNmZywgbm9kZSkKbG9jYWwgcnVsZSA9IHJ1bGVzW2ZpbGVleHRdCmlmIHJ1bGUgdGhlbgpsb2NhbCBmaWxlY2ZnID0gZmlsZWNvbmZpZy5nZXRjb25maWcobm9kZSwgY2ZnKQpsb2NhbCBlbnZpcm9uID0gdGFibGUuc2hhbGxvd2NvcHkoZmlsZWNmZy5lbnZpcm9uKQppZiBydWxlLnByb3BlcnR5ZGVmaW5pdGlvbiB0aGVuCmdtYWtlMi5wcmVwYXJlRW52aXJvbm1lbnQocnVsZSwgZW52aXJvbiwgY2ZnKQpnbWFrZTIucHJlcGFyZUVudmlyb25tZW50KHJ1bGUsIGVudmlyb24sIGZpbGVjZmcpCmVuZApsb2NhbCBzaGFkb3dDb250ZXh0ID0gcC5jb250ZXh0LmV4dGVudChydWxlLCBlbnZpcm9uKQpsb2NhbCBidWlsZG91dHB1dHMgID0gc2hhZG93Q29udGV4dC5idWlsZG91dHB1dHMKbG9jYWwgYnVpbGRtZXNzYWdlICA9IHNoYWRvd0NvbnRleHQuYnVpbGRtZXNzYWdlCmxvY2FsIGJ1aWxkY29tbWFuZHMgPSBzaGFkb3dDb250ZXh0LmJ1aWxkY29tbWFuZHMKbG9jYWwgYnVpbGRpbnB1dHMgICA9IHNoYWRvd0NvbnRleHQuYnVpbGRpbnB1dHMKYnVpbGRvdXRwdXRzID0gcC5wcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBidWlsZG91dHB1dHMpCmlmIGJ1aWxkb3V0cHV0cyBhbmQgI2J1aWxkb3V0cHV0cyA+IDAgdGhlbgpsb2NhbCBmaWxlID0gewpidWlsZG91dHB1dHMgID0gYnVpbGRvdXRwdXRzLApzb3VyY2UgICAgICAgID0gbm9kZS5yZWxwYXRoLApidWlsZG1lc3NhZ2UgID0gYnVpbGRtZXNzYWdlLApidWlsZGNvbW1hbmRzID0gYnVpbGRjb21tYW5kcywKYnVpbGRpbnB1dHMgICA9IGJ1aWxkaW5wdXRzCn0KdGFibGUuaW5zZXJ0KGNmZy5fZ21ha2UuZmlsZVJ1bGVzLCBmaWxlKQpmb3IgXywgb3V0cHV0IGluIGlwYWlycyhidWlsZG91dHB1dHMpIGRvCmNwcC5hZGRHZW5lcmF0ZWRGaWxlKGNmZywgbm9kZSwgb3V0cHV0KQplbmQKZW5kCmVuZAplbmQKY3BwLmVsZW1lbnRzLmNvbmZpZ3VyYXRpb24gPSBmdW5jdGlvbihjZmcpCnJldHVybiB7CmNwcC50b29scywKZ21ha2UyLnRhcmdldCwKZ21ha2UyLm9iamRpciwKY3BwLnBjaCwKY3BwLmRlZmluZXMsCmNwcC5pbmNsdWRlcywKY3BwLmZvcmNlSW5jbHVkZSwKY3BwLmNwcEZsYWdzLApjcHAuY0ZsYWdzLApjcHAuY3h4RmxhZ3MsCmNwcC5yZXNGbGFncywKY3BwLmxpYnMsCmNwcC5sZERlcHMsCmNwcC5sZEZsYWdzLApjcHAubGlua0NtZCwKY3BwLmJpbmRpcnMsCmNwcC5leGVwYXRocywKZ21ha2UyLnNldHRpbmdzLApnbWFrZTIucHJlQnVpbGRDbWRzLApnbWFrZTIucHJlTGlua0NtZHMsCmdtYWtlMi5wb3N0QnVpbGRDbWRzLAp9CmVuZApmdW5jdGlvbiBjcHAub3V0cHV0Q29uZmlndXJhdGlvblNlY3Rpb24ocHJqKQpfcCgnIyBDb25maWd1cmF0aW9ucycpCl9wKCcjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIycpCl9wKCcnKQpnbWFrZTIub3V0cHV0U2VjdGlvbihwcmosIGNwcC5lbGVtZW50cy5jb25maWd1cmF0aW9uKQplbmQKZnVuY3Rpb24gY3BwLnRvb2xzKGNmZywgdG9vbHNldCkKbG9jYWwgdG9vbCA9IHRvb2xzZXQuZ2V0dG9vbG5hbWUoY2ZnLCAiY2MiKQppZiB0b29sIHRoZW4KX3AoJ2lmZXEgKCQob3JpZ2luIENDKSwgZGVmYXVsdCknKQpfcCgnICBDQyA9ICVzJywgdG9vbCkKX3AoJ2VuZGlmJyApCmVuZAp0b29sID0gdG9vbHNldC5nZXR0b29sbmFtZShjZmcsICJjeHgiKQppZiB0b29sIHRoZW4KX3AoJ2lmZXEgKCQob3JpZ2luIENYWCksIGRlZmF1bHQpJykKX3AoJyAgQ1hYID0gJXMnLCB0b29sKQpfcCgnZW5kaWYnICkKZW5kCnRvb2wgPSB0b29sc2V0LmdldHRvb2xuYW1lKGNmZywgImFyIikKaWYgdG9vbCB0aGVuCl9wKCdpZmVxICgkKG9yaWdpbiBBUiksIGRlZmF1bHQpJykKX3AoJyAgQVIgPSAlcycsIHRvb2wpCl9wKCdlbmRpZicgKQplbmQKdG9vbCA9IHRvb2xzZXQuZ2V0dG9vbG5hbWUoY2ZnLCAicmMiKQppZiB0b29sIHRoZW4KX3AoJ1JFU0NPTVAgPSAlcycsIHRvb2wpCmVuZAplbmQKZnVuY3Rpb24gY3BwLnBjaChjZmcsIHRvb2xzZXQpCmlmIG5vdCBjZmcucGNoaGVhZGVyIG9yIGNmZy5mbGFncy5Ob1BDSCB0aGVuCnJldHVybgplbmQKbG9jYWwgcGNoID0gY2ZnLnBjaGhlYWRlcgpsb2NhbCBmb3VuZCA9IGZhbHNlCmxvY2FsIHRlc3RuYW1lID0gcGF0aC5qb2luKGNmZy5wcm9qZWN0LmJhc2VkaXIsIHBjaCkKaWYgb3MuaXNmaWxlKHRlc3RuYW1lKSB0aGVuCnBjaCA9IHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIHRlc3RuYW1lKQpmb3VuZCA9IHRydWUKZWxzZQpmb3IgXywgaW5jZGlyIGluIGlwYWlycyhjZmcuaW5jbHVkZWRpcnMpIGRvCnRlc3RuYW1lID0gcGF0aC5qb2luKGluY2RpciwgcGNoKQppZiBvcy5pc2ZpbGUodGVzdG5hbWUpIHRoZW4KcGNoID0gcHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgdGVzdG5hbWUpCmZvdW5kID0gdHJ1ZQpicmVhawplbmQKZW5kCmVuZAppZiBub3QgZm91bmQgdGhlbgpwY2ggPSBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBwYXRoLmdldGFic29sdXRlKHBjaCkpCmVuZApwLm91dGxuKCdQQ0ggPSAnIC4uIHBjaCkKcC5vdXRsbignUENIX1BMQUNFSE9MREVSID0gJChPQkpESVIpLyQobm90ZGlyICQoUENIKSknKQpwLm91dGxuKCdHQ0ggPSAkKFBDSF9QTEFDRUhPTERFUikuZ2NoJykKZW5kCmZ1bmN0aW9uIGNwcC5kZWZpbmVzKGNmZywgdG9vbHNldCkKcC5vdXRsbignREVGSU5FUyArPScgLi4gZ21ha2UyLmxpc3QodGFibGUuam9pbih0b29sc2V0LmdldGRlZmluZXMoY2ZnLmRlZmluZXMsIGNmZyksIHRvb2xzZXQuZ2V0dW5kZWZpbmVzKGNmZy51bmRlZmluZXMpKSkpCmVuZApmdW5jdGlvbiBjcHAuaW5jbHVkZXMoY2ZnLCB0b29sc2V0KQpsb2NhbCBpbmNsdWRlcyA9IHRvb2xzZXQuZ2V0aW5jbHVkZWRpcnMoY2ZnLCBjZmcuaW5jbHVkZWRpcnMsIGNmZy5zeXNpbmNsdWRlZGlycykKcC5vdXRsbignSU5DTFVERVMgKz0nIC4uIGdtYWtlMi5saXN0KGluY2x1ZGVzKSkKZW5kCmZ1bmN0aW9uIGNwcC5mb3JjZUluY2x1ZGUoY2ZnLCB0b29sc2V0KQpsb2NhbCBpbmNsdWRlcyA9IHRvb2xzZXQuZ2V0Zm9yY2VpbmNsdWRlcyhjZmcpCnAub3V0bG4oJ0ZPUkNFX0lOQ0xVREUgKz0nIC4uIGdtYWtlMi5saXN0KGluY2x1ZGVzKSkKZW5kCmZ1bmN0aW9uIGNwcC5jcHBGbGFncyhjZmcsIHRvb2xzZXQpCmxvY2FsIGZsYWdzID0gZ21ha2UyLmxpc3QodG9vbHNldC5nZXRjcHBmbGFncyhjZmcpKQpwLm91dGxuKCdBTExfQ1BQRkxBR1MgKz0gJChDUFBGTEFHUyknIC4uIGZsYWdzIC4uICcgJChERUZJTkVTKSAkKElOQ0xVREVTKScpCmVuZApmdW5jdGlvbiBjcHAuY0ZsYWdzKGNmZywgdG9vbHNldCkKbG9jYWwgZmxhZ3MgPSBnbWFrZTIubGlzdCh0YWJsZS5qb2luKHRvb2xzZXQuZ2V0Y2ZsYWdzKGNmZyksIGNmZy5idWlsZG9wdGlvbnMpKQpwLm91dGxuKCdBTExfQ0ZMQUdTICs9ICQoQ0ZMQUdTKSAkKEFMTF9DUFBGTEFHUyknIC4uIGZsYWdzKQplbmQKZnVuY3Rpb24gY3BwLmN4eEZsYWdzKGNmZywgdG9vbHNldCkKbG9jYWwgZmxhZ3MgPSBnbWFrZTIubGlzdCh0YWJsZS5qb2luKHRvb2xzZXQuZ2V0Y3h4ZmxhZ3MoY2ZnKSwgY2ZnLmJ1aWxkb3B0aW9ucykpCnAub3V0bG4oJ0FMTF9DWFhGTEFHUyArPSAkKENYWEZMQUdTKSAkKEFMTF9DUFBGTEFHUyknIC4uIGZsYWdzKQplbmQKZnVuY3Rpb24gY3BwLnJlc0ZsYWdzKGNmZywgdG9vbHNldCkKbG9jYWwgcmVzZmxhZ3MgPSB0YWJsZS5qb2luKHRvb2xzZXQuZ2V0ZGVmaW5lcyhjZmcucmVzZGVmaW5lcyksIHRvb2xzZXQuZ2V0aW5jbHVkZWRpcnMoY2ZnLCBjZmcucmVzaW5jbHVkZWRpcnMpLCBjZmcucmVzb3B0aW9ucykKcC5vdXRsbignQUxMX1JFU0ZMQUdTICs9ICQoUkVTRkxBR1MpICQoREVGSU5FUykgJChJTkNMVURFUyknIC4uIGdtYWtlMi5saXN0KHJlc2ZsYWdzKSkKZW5kCmZ1bmN0aW9uIGNwcC5saWJzKGNmZywgdG9vbHNldCkKbG9jYWwgZmxhZ3MgPSB0b29sc2V0LmdldGxpbmtzKGNmZykKcC5vdXRsbignTElCUyArPScgLi4gZ21ha2UyLmxpc3QoZmxhZ3MsIHRydWUpKQplbmQKZnVuY3Rpb24gY3BwLmxkRGVwcyhjZmcsIHRvb2xzZXQpCmxvY2FsIGRlcHMgPSBjb25maWcuZ2V0bGlua3MoY2ZnLCAic2libGluZ3MiLCAiZnVsbHBhdGgiKQpwLm91dGxuKCdMRERFUFMgKz0nIC4uIGdtYWtlMi5saXN0KHAuZXNjKGRlcHMpKSkKZW5kCmZ1bmN0aW9uIGNwcC5sZEZsYWdzKGNmZywgdG9vbHNldCkKbG9jYWwgZmxhZ3MgPSB0YWJsZS5qb2luKHRvb2xzZXQuZ2V0TGlicmFyeURpcmVjdG9yaWVzKGNmZyksIHRvb2xzZXQuZ2V0cnVucGF0aGRpcnMoY2ZnLCBjZmcucnVucGF0aGRpcnMpLCB0b29sc2V0LmdldGxkZmxhZ3MoY2ZnKSwgY2ZnLmxpbmtvcHRpb25zKQpwLm91dGxuKCdBTExfTERGTEFHUyArPSAkKExERkxBR1MpJyAuLiBnbWFrZTIubGlzdChmbGFncykpCmVuZApmdW5jdGlvbiBjcHAubGlua0NtZChjZmcsIHRvb2xzZXQpCmlmIGNmZy5raW5kID09IHAuU1RBVElDTElCIHRoZW4KaWYgY2ZnLmFyY2hpdGVjdHVyZSA9PSBwLlVOSVZFUlNBTCB0aGVuCnAub3V0bG4oJ0xJTktDTUQgPSBsaWJ0b29sIC1vICIkQCIgJChPQkpFQ1RTKScpCmVsc2UKcC5vdXRsbignTElOS0NNRCA9ICQoQVIpIC1yY3MgIiRAIiAkKE9CSkVDVFMpJykKZW5kCmVsc2VpZiBjZmcua2luZCA9PSBwLlVUSUxJVFkgdGhlbgpwLm91dGxuKCdMSU5LQ01EID0nKQplbHNlCmxvY2FsIGNjID0gaWlmKHAubGFuZ3VhZ2VzLmlzYyhjZmcubGFuZ3VhZ2UpLCAiQ0MiLCAiQ1hYIikKcC5vdXRsbignTElOS0NNRCA9ICQoJyAuLiBjYyAuLiAnKSAtbyAiJEAiICQoT0JKRUNUUykgJChSRVNPVVJDRVMpICQoQUxMX0xERkxBR1MpICQoTElCUyknKQplbmQKZW5kCmZ1bmN0aW9uIGNwcC5iaW5kaXJzKGNmZywgdG9vbHNldCkKbG9jYWwgZGlycyA9IHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGNmZy5iaW5kaXJzKQppZiAjZGlycyA+IDAgdGhlbgpwLm91dGxuKCdFWEVDVVRBQkxFX1BBVEhTID0gIicgLi4gdGFibGUuY29uY2F0KGRpcnMsICI6IikgLi4gJyInKQplbmQKZW5kCmZ1bmN0aW9uIGNwcC5leGVwYXRocyhjZmcsIHRvb2xzZXQpCmxvY2FsIGRpcnMgPSBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBjZmcuYmluZGlycykKaWYgI2RpcnMgPiAwIHRoZW4KcC5vdXRsbignRVhFX1BBVEhTID0gZXhwb3J0IFBBVEg9JChFWEVDVVRBQkxFX1BBVEhTKTokJFBBVEg7JykKZW5kCmVuZApmdW5jdGlvbiBjcHAub3V0cHV0UGVyRmlsZUNvbmZpZ3VyYXRpb25TZWN0aW9uKHByaikKX3AoJyMgUGVyIEZpbGUgQ29uZmlndXJhdGlvbnMnKQpfcCgnIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMnKQpfcCgnJykKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwp0YWJsZS5mb3JlYWNoaShwcmouXy5maWxlcywgZnVuY3Rpb24obm9kZSkKbG9jYWwgZmNmZyA9IGZpbGVjb25maWcuZ2V0Y29uZmlnKG5vZGUsIGNmZykKaWYgZmNmZyB0aGVuCmNwcC5wZXJGaWxlRmxhZ3MoY2ZnLCBmY2ZnKQplbmQKZW5kKQplbmQKX3AoJycpCmVuZApmdW5jdGlvbiBjcHAubWFrZVZhck5hbWUocHJqLCB2YWx1ZSwgc2FsdFZhbHVlKQpwcmouX2dtYWtlID0gcHJqLl9nbWFrZSBvciB7fQpwcmouX2dtYWtlLnZhcmxpc3QgPSBwcmouX2dtYWtlLnZhcmxpc3Qgb3Ige30KcHJqLl9nbWFrZS52YXJsaXN0bGVuZ3RoID0gcHJqLl9nbWFrZS52YXJsaXN0bGVuZ3RoIG9yIDAKbG9jYWwgY2FjaGUgPSBwcmouX2dtYWtlLnZhcmxpc3QKbG9jYWwgbGVuZ3RoID0gcHJqLl9nbWFrZS52YXJsaXN0bGVuZ3RoCmxvY2FsIGtleSA9IHZhbHVlIC4uIHNhbHRWYWx1ZQppZiAoY2FjaGVba2V5XSB+PSBuaWwpIHRoZW4KcmV0dXJuIGNhY2hlW2tleV0sIGZhbHNlCmVuZApsb2NhbCB2YXIgPSBzdHJpbmcuZm9ybWF0KCJQRVJGSUxFX0ZMQUdTXyVkIiwgbGVuZ3RoKQpjYWNoZVtrZXldID0gdmFyCnByai5fZ21ha2UudmFybGlzdGxlbmd0aCA9IGxlbmd0aCArIDEKcmV0dXJuIHZhciwgdHJ1ZQplbmQKZnVuY3Rpb24gY3BwLnBlckZpbGVGbGFncyhjZmcsIGZjZmcpCmxvY2FsIHRvb2xzZXQgPSBnbWFrZTIuZ2V0VG9vbFNldChjZmcpCmxvY2FsIGlzQ0ZpbGUgPSBwYXRoLmlzY2ZpbGUoZmNmZy5uYW1lKQpsb2NhbCBnZXRmbGFncyA9IGlpZihpc0NGaWxlLCB0b29sc2V0LmdldGNmbGFncywgdG9vbHNldC5nZXRjeHhmbGFncykKbG9jYWwgdmFsdWUgPSBnbWFrZTIubGlzdCh0YWJsZS5qb2luKGdldGZsYWdzKGZjZmcpLCBmY2ZnLmJ1aWxkb3B0aW9ucykpCmlmIGZjZmcuZGVmaW5lcyBvciBmY2ZnLnVuZGVmaW5lcyB0aGVuCmxvY2FsIGRlZnMgPSB0YWJsZS5qb2luKHRvb2xzZXQuZ2V0ZGVmaW5lcyhmY2ZnLmRlZmluZXMsIGNmZyksIHRvb2xzZXQuZ2V0dW5kZWZpbmVzKGZjZmcudW5kZWZpbmVzKSkKaWYgI2RlZnMgPiAwIHRoZW4KdmFsdWUgPSB2YWx1ZSAuLiBnbWFrZTIubGlzdChkZWZzKQplbmQKZW5kCmlmIGZjZmcuaW5jbHVkZWRpcnMgb3IgZmNmZy5zeXNpbmNsdWRlZGlycyB0aGVuCmxvY2FsIGluY2x1ZGVzID0gdG9vbHNldC5nZXRpbmNsdWRlZGlycyhjZmcsIGZjZmcuaW5jbHVkZWRpcnMsIGZjZmcuc3lzaW5jbHVkZWRpcnMpCmlmICNpbmNsdWRlcyA+IDAgdGhlbgp2YWx1ZSA9IHZhbHVlIC4uICBnbWFrZTIubGlzdChpbmNsdWRlcykKZW5kCmVuZAppZiAjdmFsdWUgPiAwIHRoZW4KbG9jYWwgbmV3UGVyRmlsZUZsYWcgPSBmYWxzZQpmY2ZnLmZsYWdzVmFyaWFibGUsIG5ld1BlckZpbGVGbGFnID0gY3BwLm1ha2VWYXJOYW1lKGNmZy5wcm9qZWN0LCB2YWx1ZSwgaWlmKGlzQ0ZpbGUsICdfQycsICdfQ1BQJykpCmlmIG5ld1BlckZpbGVGbGFnIHRoZW4KaWYgaXNDRmlsZSB0aGVuCl9wKCclcyA9ICQoQUxMX0NGTEFHUyklcycsIGZjZmcuZmxhZ3NWYXJpYWJsZSwgdmFsdWUpCmVsc2UKX3AoJyVzID0gJChBTExfQ1hYRkxBR1MpJXMnLCBmY2ZnLmZsYWdzVmFyaWFibGUsIHZhbHVlKQplbmQKZW5kCmVuZAplbmQKZnVuY3Rpb24gY3BwLmZpbGVGbGFncyhjZmcsIGZpbGUpCmxvY2FsIGZjZmcgPSBmaWxlY29uZmlnLmdldGNvbmZpZyhmaWxlLCBjZmcpCmxvY2FsIGZsYWdzID0ge30KaWYgY2ZnLnBjaGhlYWRlciBhbmQgbm90IGNmZy5mbGFncy5Ob1BDSCBhbmQgKG5vdCBmY2ZnIG9yIG5vdCBmY2ZnLmZsYWdzLk5vUENIKSB0aGVuCnRhYmxlLmluc2VydChmbGFncywgIi1pbmNsdWRlICQoUENIX1BMQUNFSE9MREVSKSIpCmVuZAppZiBmY2ZnIGFuZCBmY2ZnLmZsYWdzVmFyaWFibGUgdGhlbgp0YWJsZS5pbnNlcnQoZmxhZ3MsIHN0cmluZy5mb3JtYXQoIiQoJXMpIiwgZmNmZy5mbGFnc1ZhcmlhYmxlKSkKZWxzZQpsb2NhbCBmaWxlRXh0ID0gY3BwLmRldGVybWluZUZpbGV0eXBlKGNmZywgZmlsZSkKaWYgcGF0aC5pc2NmaWxlKGZpbGVFeHQpIHRoZW4KdGFibGUuaW5zZXJ0KGZsYWdzLCAiJChBTExfQ0ZMQUdTKSIpCmVsc2VpZiBwYXRoLmlzY3BwZmlsZShmaWxlRXh0KSB0aGVuCnRhYmxlLmluc2VydChmbGFncywgIiQoQUxMX0NYWEZMQUdTKSIpCmVuZAplbmQKcmV0dXJuIHRhYmxlLmNvbmNhdChmbGFncywgJyAnKQplbmQKY3BwLmVsZW1lbnRzLmZpbGVzZXRzID0gZnVuY3Rpb24oY2ZnKQpsb2NhbCByZXN1bHQgPSB7fQpmb3IgXywga2luZCBpbiBpcGFpcnMoY2ZnLl9nbWFrZS5raW5kcykgZG8KZm9yIF8sIGYgaW4gaXBhaXJzKGNmZy5fZ21ha2UuZmlsZXNldHNba2luZF0pIGRvCnRhYmxlLmluc2VydChyZXN1bHQsIGZ1bmN0aW9uKGNmZywgdG9vbHNldCkKY3BwLm91dHB1dEZpbGVzZXQoY2ZnLCBraW5kLCBmKQplbmQpCmVuZAplbmQKcmV0dXJuIHJlc3VsdAplbmQKZnVuY3Rpb24gY3BwLm91dHB1dEZpbGVzU2VjdGlvbihwcmopCl9wKCcjIEZpbGUgc2V0cycpCl9wKCcjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIycpCl9wKCcnKQpmb3IgXywga2luZCBpbiBpcGFpcnMocHJqLl9nbWFrZS5raW5kcykgZG8KX3goJyVzIDo9Jywga2luZCkKZW5kCl94KCcnKQpnbWFrZTIub3V0cHV0U2VjdGlvbihwcmosIGNwcC5lbGVtZW50cy5maWxlc2V0cykKZW5kCmZ1bmN0aW9uIGNwcC5vdXRwdXRGaWxlc2V0KGNmZywga2luZCwgZmlsZSkKX3goJyVzICs9ICVzJywga2luZCwgZmlsZSkKZW5kCmNwcC5lbGVtZW50cy5ydWxlcyA9IGZ1bmN0aW9uKGNmZykKcmV0dXJuIHsKY3BwLmFsbFJ1bGVzLApjcHAudGFyZ2V0UnVsZXMsCmdtYWtlMi50YXJnZXREaXJSdWxlcywKZ21ha2UyLm9iakRpclJ1bGVzLApjcHAuY2xlYW5SdWxlcywKZ21ha2UyLnByZUJ1aWxkUnVsZXMsCmNwcC5jdXN0b21EZXBzLApjcHAucGNoUnVsZXMsCn0KZW5kCmZ1bmN0aW9uIGNwcC5vdXRwdXRSdWxlc1NlY3Rpb24ocHJqKQpfcCgnIyBSdWxlcycpCl9wKCcjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIycpCl9wKCcnKQpnbWFrZTIub3V0cHV0U2VjdGlvbihwcmosIGNwcC5lbGVtZW50cy5ydWxlcykKZW5kCmZ1bmN0aW9uIGNwcC5hbGxSdWxlcyhjZmcsIHRvb2xzZXQpCmlmIGNmZy5zeXN0ZW0gPT0gcC5NQUNPU1ggYW5kIGNmZy5raW5kID09IHAuV0lORE9XRURBUFAgdGhlbgpfcCgnYWxsOiAkKFRBUkdFVCkgJChkaXIgJChUQVJHRVRESVIpKVBrZ0luZm8gJChkaXIgJChUQVJHRVRESVIpKUluZm8ucGxpc3QnKQpfcCgnXHRAOicpCl9wKCcnKQpfcCgnJChkaXIgJChUQVJHRVRESVIpKVBrZ0luZm86JykKX3AoJyQoZGlyICQoVEFSR0VURElSKSlJbmZvLnBsaXN0OicpCmVsc2UKX3AoJ2FsbDogJChUQVJHRVQpJykKX3AoJ1x0QDonKQplbmQKX3AoJycpCmVuZApmdW5jdGlvbiBjcHAudGFyZ2V0UnVsZXMoY2ZnLCB0b29sc2V0KQpsb2NhbCB0YXJnZXRzID0gJycKZm9yIF8sIGtpbmQgaW4gaXBhaXJzKGNmZy5fZ21ha2Uua2luZHMpIGRvCmlmIGtpbmQgfj0gJ09CSkVDVFMnIGFuZCBraW5kIH49ICdSRVNPVVJDRVMnIHRoZW4KdGFyZ2V0cyA9IHRhcmdldHMgLi4gJyQoJyAuLiBraW5kIC4uICcpICcKZW5kCmVuZAp0YXJnZXRzID0gdGFyZ2V0cyAuLiAnJChPQkpFQ1RTKSAkKExEREVQUyknCmlmIGNmZy5fZ21ha2UuZmlsZXNldHNbJ1JFU09VUkNFUyddIHRoZW4KdGFyZ2V0cyA9IHRhcmdldHMgLi4gJyAkKFJFU09VUkNFUyknCmVuZApfcCgnJChUQVJHRVQpOiAlcyB8ICQoVEFSR0VURElSKScsIHRhcmdldHMpCl9wKCdcdCQoUFJFTElOS0NNRFMpJykKX3AoJ1x0QGVjaG8gTGlua2luZyAlcycsIGNmZy5wcm9qZWN0Lm5hbWUpCl9wKCdcdCQoU0lMRU5UKSAkKExJTktDTUQpJykKX3AoJ1x0JChQT1NUQlVJTERDTURTKScpCl9wKCcnKQplbmQKZnVuY3Rpb24gY3BwLmN1c3RvbURlcHMoY2ZnLCB0b29sc2V0KQpmb3IgXywga2luZCBpbiBpcGFpcnMoY2ZnLl9nbWFrZS5raW5kcykgZG8KaWYga2luZCA9PSAnQ1VTVE9NJyBvciBraW5kID09ICdTT1VSQ0VTJyB0aGVuCl9wKCckKCVzKTogfCBwcmVidWlsZCcsIGtpbmQpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIGNwcC5jbGVhblJ1bGVzKGNmZywgdG9vbHNldCkKX3AoJ2NsZWFuOicpCl9wKCdcdEBlY2hvIENsZWFuaW5nICVzJywgY2ZnLnByb2plY3QubmFtZSkKX3AoJ2lmZXEgKHBvc2l4LCQoU0hFTExUWVBFKSknKQpfcCgnXHQkKFNJTEVOVCkgcm0gLWYgICQoVEFSR0VUKScpCl9wKCdcdCQoU0lMRU5UKSBybSAtcmYgJChPQkpESVIpJykKX3AoJ2Vsc2UnKQpfcCgnXHQkKFNJTEVOVCkgaWYgZXhpc3QgJChzdWJzdCAvLFxcXFwsJChUQVJHRVQpKSBkZWwgJChzdWJzdCAvLFxcXFwsJChUQVJHRVQpKScpCl9wKCdcdCQoU0lMRU5UKSBpZiBleGlzdCAkKHN1YnN0IC8sXFxcXCwkKE9CSkRJUikpIHJtZGlyIC9zIC9xICQoc3Vic3QgLyxcXFxcLCQoT0JKRElSKSknKQpfcCgnZW5kaWYnKQpfcCgnJykKZW5kCmZ1bmN0aW9uIGNwcC5wY2hSdWxlcyhjZmcsIHRvb2xzZXQpCl9wKCdpZm5lcSAoLCQoUENIKSknKQpfcCgnJChPQkpFQ1RTKTogJChHQ0gpIHwgJChQQ0hfUExBQ0VIT0xERVIpJykKX3AoJyQoR0NIKTogJChQQ0gpIHwgcHJlYnVpbGQnKQpfcCgnXHRAZWNobyAkKG5vdGRpciAkPCknKQpsb2NhbCBjbWQgPSBpaWYocC5sYW5ndWFnZXMuaXNjKGNmZy5sYW5ndWFnZSksICIkKENDKSAteCBjLWhlYWRlciAkKEFMTF9DRkxBR1MpIiwgIiQoQ1hYKSAteCBjKystaGVhZGVyICQoQUxMX0NYWEZMQUdTKSIpCl9wKCdcdCQoU0lMRU5UKSAlcyAtbyAiJEAiIC1NRiAiJChAOiUlLmdjaD0lJS5kKSIgLWMgIiQ8IicsIGNtZCkKX3AoJyQoUENIX1BMQUNFSE9MREVSKTogJChHQ0gpIHwgJChPQkpESVIpJykKX3AoJ2lmZXEgKHBvc2l4LCQoU0hFTExUWVBFKSknKQpfcCgnXHQkKFNJTEVOVCkgdG91Y2ggIiRAIicpCl9wKCdlbHNlJykKX3AoJ1x0JChTSUxFTlQpIGVjaG8gJG51bGwgPj4gIiRAIicpCl9wKCdlbmRpZicpCl9wKCdlbHNlJykKX3AoJyQoT0JKRUNUUyk6IHwgcHJlYnVpbGQnKQpfcCgnZW5kaWYnKQpfcCgnJykKZW5kCmNwcC5lbGVtZW50cy5maWxlUnVsZXMgPSBmdW5jdGlvbihjZmcpCmxvY2FsIGZ1bmNzID0ge30KZm9yIF8sIGZpbGVSdWxlIGluIGlwYWlycyhjZmcuX2dtYWtlLmZpbGVSdWxlcykgZG8KdGFibGUuaW5zZXJ0KGZ1bmNzLCBmdW5jdGlvbihjZmcsIHRvb2xzZXQpCmNwcC5vdXRwdXRGaWxlUnVsZXMoY2ZnLCBmaWxlUnVsZSkKZW5kKQplbmQKcmV0dXJuIGZ1bmNzCmVuZApmdW5jdGlvbiBjcHAub3V0cHV0RmlsZVJ1bGVTZWN0aW9uKHByaikKX3AoJyMgRmlsZSBSdWxlcycpCl9wKCcjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIycpCl9wKCcnKQpnbWFrZTIub3V0cHV0U2VjdGlvbihwcmosIGNwcC5lbGVtZW50cy5maWxlUnVsZXMpCmVuZApmdW5jdGlvbiBjcHAub3V0cHV0RmlsZVJ1bGVzKGNmZywgZmlsZSkKbG9jYWwgZGVwZW5kZW5jaWVzID0gcC5lc2MoZmlsZS5zb3VyY2UpCmlmIGZpbGUuYnVpbGRpbnB1dHMgYW5kICNmaWxlLmJ1aWxkaW5wdXRzID4gMCB0aGVuCmRlcGVuZGVuY2llcyA9IGRlcGVuZGVuY2llcyAuLiAiICIgLi4gdGFibGUuY29uY2F0KHAuZXNjKGZpbGUuYnVpbGRpbnB1dHMpLCAiICIpCmVuZApfcCgnJXM6ICVzJywgZmlsZS5idWlsZG91dHB1dHNbMV0sIGRlcGVuZGVuY2llcykKaWYgZmlsZS5idWlsZG1lc3NhZ2UgdGhlbgpfcCgnXHRAZWNobyAlcycsIGZpbGUuYnVpbGRtZXNzYWdlKQplbmQKaWYgZmlsZS5idWlsZGNvbW1hbmRzIHRoZW4KbG9jYWwgY21kcyA9IG9zLnRyYW5zbGF0ZUNvbW1hbmRzQW5kUGF0aHMoZmlsZS5idWlsZGNvbW1hbmRzLCBjZmcucHJvamVjdC5iYXNlZGlyLCBjZmcucHJvamVjdC5sb2NhdGlvbikKZm9yIF8sIGNtZCBpbiBpcGFpcnMoY21kcykgZG8KaWYgY2ZnLmJpbmRpcnMgYW5kICNjZmcuYmluZGlycyA+IDAgdGhlbgpfcCgnXHQkKFNJTEVOVCkgJChFWEVfUEFUSFMpICVzJywgY21kKQplbHNlCl9wKCdcdCQoU0lMRU5UKSAlcycsIGNtZCkKZW5kCmVuZAplbmQKaWYgI2ZpbGUuYnVpbGRvdXRwdXRzID4gMSB0aGVuCl9wKCclczogJXMnLCB0YWJsZS5jb25jYXQoeyB0YWJsZS51bnBhY2soZmlsZS5idWlsZG91dHB1dHMsIDIpIH0sICcgJyksIGZpbGUuYnVpbGRvdXRwdXRzWzFdKQplbmQKZW5kCmZ1bmN0aW9uIGNwcC5kZXBlbmRlbmNpZXMocHJqKQpfcCgnLWluY2x1ZGUgJChPQkpFQ1RTOiUlLm89JSUuZCknKQpfcCgnaWZuZXEgKCwkKFBDSCkpJykKX3AoJyAgLWluY2x1ZGUgJChQQ0hfUExBQ0VIT0xERVIpLmQnKQpfcCgnZW5kaWYnKQplbmQKAAAAAwAEAAUABgAHAAgACQAKAAsADQAPABEAEwAXABsAHwAjACsAMwA7AEMAUwBjAHMAgwCjAMMA4wACAQAAAAAAAAAAAABsb2NhbCBwID0gcHJlbWFrZQpwLnZzdHVkaW8udnMyMDA1ID0ge30KbG9jYWwgdnMyMDA1ID0gcC52c3R1ZGlvLnZzMjAwNQpsb2NhbCB2c3R1ZGlvID0gcC52c3R1ZGlvCmZ1bmN0aW9uIHZzMjAwNS5nZW5lcmF0ZVNvbHV0aW9uKHdrcykKcC5pbmRlbnQoIlx0IikKcC5lb2woIlxyXG4iKQpwLmVzY2FwZXIodnMyMDA1LmVzYykKcC5nZW5lcmF0ZSh3a3MsICIuc2xuIiwgdnN0dWRpby5zbG4yMDA1LmdlbmVyYXRlKQplbmQKZnVuY3Rpb24gdnMyMDA1LmdlbmVyYXRlUHJvamVjdChwcmopCnAuaW5kZW50KCIgICIpCnAuZW9sKCJcclxuIikKcC5lc2NhcGVyKHZzMjAwNS5lc2MpCmlmIHAucHJvamVjdC5pc2NzaGFycChwcmopIHRoZW4KcC5nZW5lcmF0ZShwcmosICIuY3Nwcm9qIiwgdnN0dWRpby5jczIwMDUuZ2VuZXJhdGUpCmxvY2FsIHVzZXIgPSBwLmNhcHR1cmUoZnVuY3Rpb24oKSB2c3R1ZGlvLmNzMjAwNS5nZW5lcmF0ZVVzZXIocHJqKSBlbmQpCmlmICN1c2VyID4gMCB0aGVuCnAuZ2VuZXJhdGUocHJqLCAiLmNzcHJvai51c2VyIiwgZnVuY3Rpb24oKSBwLm91dGxuKHVzZXIpIGVuZCkKZW5kCmVsc2VpZiBwLnByb2plY3QuaXNmc2hhcnAocHJqKSB0aGVuCnAuZ2VuZXJhdGUocHJqLCAiLmZzcHJvaiIsIHZzdHVkaW8uZnMyMDA1LmdlbmVyYXRlKQpsb2NhbCB1c2VyID0gcC5jYXB0dXJlKGZ1bmN0aW9uKCkgdnN0dWRpby5mczIwMDUuZ2VuZXJhdGVVc2VyKHByaikgZW5kKQppZiAjdXNlciA+IDAgdGhlbgpwLmdlbmVyYXRlKHByaiwgIi5mc3Byb2oudXNlciIsIGZ1bmN0aW9uKCkgcC5vdXRsbih1c2VyKSBlbmQpCmVuZAplbHNlCnAuZ2VuZXJhdGUocHJqLCAiLnZjcHJvaiIsIHZzdHVkaW8udmMyMDB4LmdlbmVyYXRlKQpsb2NhbCB1c2VyID0gcC5jYXB0dXJlKGZ1bmN0aW9uKCkgdnN0dWRpby52YzIwMHguZ2VuZXJhdGVVc2VyKHByaikgZW5kKQppZiAjdXNlciA+IDAgdGhlbgpwLmdlbmVyYXRlKHByaiwgIi52Y3Byb2oudXNlciIsIGZ1bmN0aW9uKCkgcC5vdXRsbih1c2VyKSBlbmQpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIHZzMjAwNS5lc2ModmFsdWUpCnZhbHVlID0gc3RyaW5nLmdzdWIodmFsdWUsICcmJywgICImYW1wOyIpCnZhbHVlID0gdmFsdWU6Z3N1YignIicsICAiJnF1b3Q7IikKdmFsdWUgPSB2YWx1ZTpnc3ViKCInIiwgICImYXBvczsiKQp2YWx1ZSA9IHZhbHVlOmdzdWIoJzwnLCAgIiZsdDsiKQp2YWx1ZSA9IHZhbHVlOmdzdWIoJz4nLCAgIiZndDsiKQp2YWx1ZSA9IHZhbHVlOmdzdWIoJ1xyJywgIiYjeDBEOyIpCnZhbHVlID0gdmFsdWU6Z3N1YignXG4nLCAiJiN4MEE7IikKcmV0dXJuIHZhbHVlCmVuZApuZXdhY3Rpb24gewp0cmlnZ2VyICAgICA9ICJ2czIwMDUiLApzaG9ydG5hbWUgICA9ICJWaXN1YWwgU3R1ZGlvIDIwMDUiLApkZXNjcmlwdGlvbiA9ICJHZW5lcmF0ZSBWaXN1YWwgU3R1ZGlvIDIwMDUgcHJvamVjdCBmaWxlcyIsCnRhcmdldG9zID0gIndpbmRvd3MiLAp0b29sc2V0ICA9ICJtc2MtdjgwIiwKdmFsaWRfa2luZHMgICAgID0geyAiQ29uc29sZUFwcCIsICJXaW5kb3dlZEFwcCIsICJTdGF0aWNMaWIiLCAiU2hhcmVkTGliIiwgIk1ha2VmaWxlIiwgIk5vbmUiIH0sCnZhbGlkX2xhbmd1YWdlcyA9IHsgIkMiLCAiQysrIiwgIkMjIiwgIkYjIiB9LAp2YWxpZF90b29scyAgICAgPSB7CmNjICAgICA9IHsgIm1zYyIgICB9LApkb3RuZXQgPSB7ICJtc25ldCIgfSwKfSwKb25Xb3Jrc3BhY2UgPSB2c3R1ZGlvLnZzMjAwNS5nZW5lcmF0ZVNvbHV0aW9uLApvblByb2plY3QgICA9IHZzdHVkaW8udnMyMDA1LmdlbmVyYXRlUHJvamVjdCwKb25DbGVhbldvcmtzcGFjZSA9IHZzdHVkaW8uY2xlYW5Tb2x1dGlvbiwKb25DbGVhblByb2plY3QgICA9IHZzdHVkaW8uY2xlYW5Qcm9qZWN0LApvbkNsZWFuVGFyZ2V0ICAgID0gdnN0dWRpby5jbGVhblRhcmdldCwKdnN0dWRpbyA9IHsKY3Nwcm9qU2NoZW1hVmVyc2lvbiA9ICIyLjAiLApwcm9kdWN0VmVyc2lvbiAgICAgID0gIjguMC41MDcyNyIsCnNvbHV0aW9uVmVyc2lvbiAgICAgPSAiOSIsCnZlcnNpb25OYW1lICAgICAgICAgPSAiMjAwNSIsCn0KfQpsb2NhbCBwID0gcHJlbWFrZQpwLm1vZHVsZXMuY29kZWxpdGUgPSB7fQpwLm1vZHVsZXMuY29kZWxpdGUuX1ZFUlNJT04gPSBwLl9WRVJTSU9OCmxvY2FsIGNvZGVsaXRlID0gcC5tb2R1bGVzLmNvZGVsaXRlCmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKZnVuY3Rpb24gY29kZWxpdGUuY2ZnbmFtZShjZmcpCmxvY2FsIGNmZ25hbWUgPSBjZmcuYnVpbGRjZmcKaWYgY29kZWxpdGUud29ya3NwYWNlLm11bHRpcGxlUGxhdGZvcm1zIHRoZW4KY2ZnbmFtZSA9IHN0cmluZy5mb3JtYXQoIiVzfCVzIiwgY2ZnLnBsYXRmb3JtLCBjZmcuYnVpbGRjZmcpCmVuZApyZXR1cm4gY2ZnbmFtZQplbmQKZnVuY3Rpb24gY29kZWxpdGUuZXNjKHZhbHVlKQpsb2NhbCByZXN1bHQgPSB2YWx1ZTpnc3ViKCcmJywgJyZhbXA7JykKcmVzdWx0ID0gcmVzdWx0OmdzdWIoJzwnLCAnJmx0OycpCnJlc3VsdCA9IHJlc3VsdDpnc3ViKCc+JywgJyZndDsnKQpyZXR1cm4gcmVzdWx0CmVuZApmdW5jdGlvbiBjb2RlbGl0ZS5nZW5lcmF0ZVdvcmtzcGFjZSh3a3MpCnAuZW9sKCJcclxuIikKcC5pbmRlbnQoIiAgIikKcC5lc2NhcGVyKGNvZGVsaXRlLmVzYykKcC5nZW5lcmF0ZSh3a3MsICIud29ya3NwYWNlIiwgY29kZWxpdGUud29ya3NwYWNlLmdlbmVyYXRlKQplbmQKZnVuY3Rpb24gY29kZWxpdGUuZ2VuZXJhdGVQcm9qZWN0KHByaikKcC5lb2woIlxyXG4iKQpwLmluZGVudCgiICAiKQpwLmVzY2FwZXIoY29kZWxpdGUuZXNjKQppZiBwcm9qZWN0LmlzYyhwcmopIG9yIHByb2plY3QuaXNjcHAocHJqKSB0aGVuCnAuZ2VuZXJhdGUocHJqLCAiLnByb2plY3QiLCBjb2RlbGl0ZS5wcm9qZWN0LmdlbmVyYXRlKQplbmQKZW5kCmZ1bmN0aW9uIGNvZGVsaXRlLmNsZWFuV29ya3NwYWNlKHdrcykKcC5jbGVhbi5maWxlKHdrcywgd2tzLm5hbWUgLi4gIi53b3Jrc3BhY2UiKQpwLmNsZWFuLmZpbGUod2tzLCB3a3MubmFtZSAuLiAiX3dzcC5tayIpCnAuY2xlYW4uZmlsZSh3a3MsIHdrcy5uYW1lIC4uICIudGFncyIpCnAuY2xlYW4uZmlsZSh3a3MsICIuY2xhbmciKQplbmQKZnVuY3Rpb24gY29kZWxpdGUuY2xlYW5Qcm9qZWN0KHByaikKcC5jbGVhbi5maWxlKHByaiwgcHJqLm5hbWUgLi4gIi5wcm9qZWN0IikKcC5jbGVhbi5maWxlKHByaiwgcHJqLm5hbWUgLi4gIi5tayIpCnAuY2xlYW4uZmlsZShwcmosIHByai5uYW1lIC4uICIubGlzdCIpCnAuY2xlYW4uZmlsZShwcmosIHByai5uYW1lIC4uICIub3V0IikKZW5kCmZ1bmN0aW9uIGNvZGVsaXRlLmNsZWFuVGFyZ2V0KHByaikKZW5kCmluY2x1ZGUoImNvZGVsaXRlX3dvcmtzcGFjZS5sdWEiKQppbmNsdWRlKCJjb2RlbGl0ZV9wcm9qZWN0Lmx1YSIpCnJldHVybiBjb2RlbGl0ZQoAbG9jYWwgcCA9IHByZW1ha2UKbG9jYWwgYW5kcm9pZCA9IHAubW9kdWxlcy5hbmRyb2lkCmxvY2FsIHZzYW5kcm9pZCA9IHAubW9kdWxlcy52c2FuZHJvaWQKbG9jYWwgdmMyMDEwID0gcC52c3R1ZGlvLnZjMjAxMApsb2NhbCB2c3R1ZGlvID0gcC52c3R1ZGlvCmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKcHJlbWFrZS5vdmVycmlkZSh2c3R1ZGlvLnZzMjAxMCwgImdlbmVyYXRlUHJvamVjdCIsIGZ1bmN0aW9uKG9sZGZuLCBwcmopCmlmIHByai5raW5kID09IHAuUEFDS0FHSU5HIHRoZW4KcC5lb2woIlxyXG4iKQpwLmluZGVudCgiICAiKQpwLmVzY2FwZXIodnN0dWRpby52czIwMTAuZXNjKQppZiBwcm9qZWN0LmlzY3BwKHByaikgdGhlbgpwLmdlbmVyYXRlKHByaiwgIi5hbmRyb2lkcHJvaiIsIHZjMjAxMC5nZW5lcmF0ZSkKbG9jYWwgdXNlciA9IHAuY2FwdHVyZShmdW5jdGlvbigpIHZjMjAxMC5nZW5lcmF0ZVVzZXIocHJqKSBlbmQpCmlmICN1c2VyID4gMCB0aGVuCnAuZ2VuZXJhdGUocHJqLCAiLmFuZHJvaWRwcm9qLnVzZXIiLCBmdW5jdGlvbigpIHAub3V0bG4odXNlcikgZW5kKQplbmQKZW5kCmVsc2UKb2xkZm4ocHJqKQplbmQKZW5kKQpwcmVtYWtlLm92ZXJyaWRlKHZzdHVkaW8sICJwcm9qZWN0ZmlsZSIsIGZ1bmN0aW9uKG9sZGZuLCBwcmopCmlmIHByai5raW5kID09IHAuUEFDS0FHSU5HIHRoZW4KcmV0dXJuIHByZW1ha2UuZmlsZW5hbWUocHJqLCAiLmFuZHJvaWRwcm9qIikKZWxzZQpyZXR1cm4gb2xkZm4ocHJqKQplbmQKZW5kKQpwcmVtYWtlLm92ZXJyaWRlKHZzdHVkaW8sICJ0b29sIiwgZnVuY3Rpb24ob2xkZm4sIHByaikKaWYgcHJqLmtpbmQgPT0gcC5QQUNLQUdJTkcgdGhlbgpyZXR1cm4gIjM5RTI2MjZGLTM1NDUtNDk2MC1BNkU4LTI1OEFEODQ3NkNFNSIKZWxzZQpyZXR1cm4gb2xkZm4ocHJqKQplbmQKZW5kKQpwcmVtYWtlLm92ZXJyaWRlKHZjMjAxMC5lbGVtZW50cywgImdsb2JhbHMiLCBmdW5jdGlvbiAob2xkZm4sIGNmZykKbG9jYWwgZWxlbWVudHMgPSBvbGRmbihjZmcpCmlmIGNmZy5raW5kID09IHByZW1ha2UuUEFDS0FHSU5HIHRoZW4KbG9jYWwgcG9zID0gdGFibGUuaW5kZXhvZihlbGVtZW50cywgdmMyMDEwLmlnbm9yZVdhcm5EdXBsaWNhdGVGaWxlbmFtZSkKdGFibGUucmVtb3ZlKGVsZW1lbnRzLCBwb3MpCmVsZW1lbnRzID0gdGFibGUuam9pbihlbGVtZW50cywgewphbmRyb2lkLnByb2plY3RWZXJzaW9uCn0pCmVuZApyZXR1cm4gZWxlbWVudHMKZW5kKQpmdW5jdGlvbiBhbmRyb2lkLnByb2plY3RWZXJzaW9uKGNmZykKX3AoMiwgIjxSb290TmFtZXNwYWNlPiVzPC9Sb290TmFtZXNwYWNlPiIsIGNmZy5wcm9qZWN0Lm5hbWUpCl9wKDIsICI8TWluaW11bVZpc3VhbFN0dWRpb1ZlcnNpb24+MTQuMDwvTWluaW11bVZpc3VhbFN0dWRpb1ZlcnNpb24+IikKX3AoMiwgIjxQcm9qZWN0VmVyc2lvbj4xLjA8L1Byb2plY3RWZXJzaW9uPiIpCmVuZApwcmVtYWtlLm92ZXJyaWRlKHZjMjAxMC5lbGVtZW50cywgImNvbmZpZ3VyYXRpb25Qcm9wZXJ0aWVzIiwgZnVuY3Rpb24ob2xkZm4sIGNmZykKbG9jYWwgZWxlbWVudHMgPSBvbGRmbihjZmcpCmlmIGNmZy5raW5kID09IHAuUEFDS0FHSU5HIHRoZW4KZWxlbWVudHMgPSB7CmFuZHJvaWQuYW5kcm9pZEFQSUxldmVsLAp2YzIwMTAudXNlRGVidWdMaWJyYXJpZXMsCn0KZW5kCnJldHVybiBlbGVtZW50cwplbmQpCnByZW1ha2Uub3ZlcnJpZGUodmMyMDEwLmVsZW1lbnRzLCAiaXRlbURlZmluaXRpb25Hcm91cCIsIGZ1bmN0aW9uKG9sZGZuLCBjZmcpCmxvY2FsIGVsZW1lbnRzID0gb2xkZm4oY2ZnKQppZiBjZmcua2luZCA9PSBwLlBBQ0tBR0lORyB0aGVuCmVsZW1lbnRzID0gewphbmRyb2lkLmFudFBhY2thZ2UsCn0KZW5kCnJldHVybiBlbGVtZW50cwplbmQpCnByZW1ha2Uub3ZlcnJpZGUodmMyMDEwLCAiaW1wb3J0RGVmYXVsdFByb3BzIiwgZnVuY3Rpb24ob2xkZm4sIHByaikKaWYgcHJqLmtpbmQgPT0gcC5QQUNLQUdJTkcgdGhlbgpwLncoJzxJbXBvcnQgUHJvamVjdD0iJChBbmRyb2lkVGFyZ2V0c1BhdGgpXFxBbmRyb2lkLkRlZmF1bHQucHJvcHMiIC8+JykKZWxzZQpvbGRmbihwcmopCmVuZAplbmQpCnByZW1ha2Uub3ZlcnJpZGUodmMyMDEwLCAiaW1wb3J0TGFuZ3VhZ2VTZXR0aW5ncyIsIGZ1bmN0aW9uKG9sZGZuLCBwcmopCmlmIHByai5raW5kID09IHAuUEFDS0FHSU5HIHRoZW4KcC53KCc8SW1wb3J0IFByb2plY3Q9IiQoQW5kcm9pZFRhcmdldHNQYXRoKVxcQW5kcm9pZC5wcm9wcyIgLz4nKQplbHNlCm9sZGZuKHByaikKZW5kCmVuZCkKcHJlbWFrZS5vdmVycmlkZSh2YzIwMTAsICJwcm9wZXJ0eVNoZWV0cyIsIGZ1bmN0aW9uKG9sZGZuLCBjZmcpCmlmIGNmZy5raW5kIH49IHAuUEFDS0FHSU5HIHRoZW4Kb2xkZm4oY2ZnKQplbmQKZW5kKQpwcmVtYWtlLm92ZXJyaWRlKHZjMjAxMC5lbGVtZW50cywgIm91dHB1dFByb3BlcnRpZXMiLCBmdW5jdGlvbihvbGRmbiwgY2ZnKQppZiBjZmcua2luZCA9PSBwLlBBQ0tBR0lORyB0aGVuCnJldHVybiB7CmFuZHJvaWQub3V0RGlyLAp2YzIwMTAuaW50RGlyLAp2YzIwMTAudGFyZ2V0TmFtZSwKfQplbHNlCnJldHVybiBvbGRmbihjZmcpCmVuZAplbmQpCmZ1bmN0aW9uIGFuZHJvaWQub3V0RGlyKGNmZykKdmMyMDEwLmVsZW1lbnQoIk91dERpciIsIG5pbCwgIiVzXFwiLCBjZmcuYnVpbGR0YXJnZXQuZGlyZWN0b3J5KQplbmQKcHJlbWFrZS5vdmVycmlkZSh2YzIwMTAsICJpbXBvcnRMYW5ndWFnZVRhcmdldHMiLCBmdW5jdGlvbihvbGRmbiwgcHJqKQppZiBwcmoua2luZCA9PSBwLlBBQ0tBR0lORyB0aGVuCnAudygnPEltcG9ydCBQcm9qZWN0PSIkKEFuZHJvaWRUYXJnZXRzUGF0aClcXEFuZHJvaWQudGFyZ2V0cyIgLz4nKQplbHNlCm9sZGZuKHByaikKZW5kCmVuZCkKZnVuY3Rpb24gYW5kcm9pZC5saW5rKGNmZywgZmlsZSkKbG9jYWwgZm5hbWUgPSBwYXRoLnRyYW5zbGF0ZShmaWxlLnJlbHBhdGgsICcvJykKbG9jYWwgbGluaywgY291bnQgPSBmbmFtZTpnc3ViKCIlLiUuJS8iLCAiIikKbG9jYWwgZXh0ZXJuYWwgPSAoY291bnQgPiAwKSBvciBmbmFtZTpmaW5kKCc6JywgMSwgdHJ1ZSkgb3IgKGZpbGUudnBhdGggYW5kIGZpbGUudnBhdGggfj0gZmlsZS5yZWxwYXRoKQppZiBleHRlcm5hbCBhbmQgZmlsZS52cGF0aCB+PSBmaWxlLnJlbHBhdGggdGhlbgpsaW5rID0gZmlsZS52cGF0aAplbmQKaWYgZXh0ZXJuYWwgdGhlbgp2YzIwMTAuZWxlbWVudCgiTGluayIsIG5pbCwgcGF0aC50cmFuc2xhdGUobGluaykpCmVuZAplbmQKdmMyMDEwLmNhdGVnb3JpZXMuQW5kcm9pZE1hbmlmZXN0ID0gewpuYW1lID0gIkFuZHJvaWRNYW5pZmVzdCIsCnByaW9yaXR5ID0gOTksCmVtaXRGaWxlcyA9IGZ1bmN0aW9uKHByaiwgZ3JvdXApCnZjMjAxMC5lbWl0RmlsZXMocHJqLCBncm91cCwgIkFuZHJvaWRNYW5pZmVzdCIsIHt2YzIwMTAuZ2VuZXJhdGVkRmlsZSwgYW5kcm9pZC5saW5rLCBhbmRyb2lkLm1hbmlmZXN0U3ViVHlwZX0pCmVuZCwKZW1pdEZpbHRlciA9IGZ1bmN0aW9uKHByaiwgZ3JvdXApCnZjMjAxMC5maWx0ZXJHcm91cChwcmosIGdyb3VwLCAiQW5kcm9pZE1hbmlmZXN0IikKZW5kCn0KZnVuY3Rpb24gYW5kcm9pZC5tYW5pZmVzdFN1YlR5cGUoY2ZnLCBmaWxlKQp2YzIwMTAuZWxlbWVudCgiU3ViVHlwZSIsIG5pbCwgIkRlc2lnbmVyIikKZW5kCnZjMjAxMC5jYXRlZ29yaWVzLkFudEJ1aWxkWG1sID0gewpuYW1lID0gIkFudEJ1aWxkWG1sIiwKcHJpb3JpdHkgPSA5OSwKZW1pdEZpbGVzID0gZnVuY3Rpb24ocHJqLCBncm91cCkKdmMyMDEwLmVtaXRGaWxlcyhwcmosIGdyb3VwLCAiQW50QnVpbGRYbWwiLCB7dmMyMDEwLmdlbmVyYXRlZEZpbGUsIGFuZHJvaWQubGlua30pCmVuZCwKZW1pdEZpbHRlciA9IGZ1bmN0aW9uKHByaiwgZ3JvdXApCnZjMjAxMC5maWx0ZXJHcm91cChwcmosIGdyb3VwLCAiQW50QnVpbGRYbWwiKQplbmQKfQp2YzIwMTAuY2F0ZWdvcmllcy5BbnRQcm9qZWN0UHJvcGVydGllc0ZpbGUgPSB7Cm5hbWUgPSAiQW50UHJvamVjdFByb3BlcnRpZXNGaWxlIiwKcHJpb3JpdHkgPSA5OSwKZW1pdEZpbGVzID0gZnVuY3Rpb24ocHJqLCBncm91cCkKdmMyMDEwLmVtaXRGaWxlcyhwcmosIGdyb3VwLCAiQW50UHJvamVjdFByb3BlcnRpZXNGaWxlIiwge3ZjMjAxMC5nZW5lcmF0ZWRGaWxlLCBhbmRyb2lkLmxpbmt9KQplbmQsCmVtaXRGaWx0ZXIgPSBmdW5jdGlvbihwcmosIGdyb3VwKQp2YzIwMTAuZmlsdGVyR3JvdXAocHJqLCBncm91cCwgIkFudFByb2plY3RQcm9wZXJ0aWVzRmlsZSIpCmVuZAp9CnZjMjAxMC5jYXRlZ29yaWVzLkphdmFDb21waWxlID0gewpuYW1lID0gIkphdmFDb21waWxlIiwKcHJpb3JpdHkgPSA5OSwKZW1pdEZpbGVzID0gZnVuY3Rpb24ocHJqLCBncm91cCkKdmMyMDEwLmVtaXRGaWxlcyhwcmosIGdyb3VwLCAiSmF2YUNvbXBpbGUiLCB7dmMyMDEwLmdlbmVyYXRlZEZpbGUsIGFuZHJvaWQubGlua30pCmVuZCwKZW1pdEZpbHRlciA9IGZ1bmN0aW9uKHByaiwgZ3JvdXApCnZjMjAxMC5maWx0ZXJHcm91cChwcmosIGdyb3VwLCAiSmF2YUNvbXBpbGUiKQplbmQKfQp2YzIwMTAuY2F0ZWdvcmllcy5Db250ZW50ID0gewpuYW1lID0gIkNvbnRlbnQiLApwcmlvcml0eSA9IDk5LAplbWl0RmlsZXMgPSBmdW5jdGlvbihwcmosIGdyb3VwKQp2YzIwMTAuZW1pdEZpbGVzKHByaiwgZ3JvdXAsICJDb250ZW50Iiwge3ZjMjAxMC5nZW5lcmF0ZWRGaWxlLCBhbmRyb2lkLmxpbmt9KQplbmQsCmVtaXRGaWx0ZXIgPSBmdW5jdGlvbihwcmosIGdyb3VwKQp2YzIwMTAuZmlsdGVyR3JvdXAocHJqLCBncm91cCwgIkNvbnRlbnQiKQplbmQKfQpwcmVtYWtlLm92ZXJyaWRlKHZjMjAxMCwgImNhdGVnb3JpemVGaWxlIiwgZnVuY3Rpb24oYmFzZSwgcHJqLCBmaWxlKQppZiBwcmoua2luZCB+PSBwLlBBQ0tBR0lORyB0aGVuCnJldHVybiBiYXNlKHByaiwgZmlsZSkKZW5kCmxvY2FsIGZpbGVuYW1lID0gcGF0aC5nZXRuYW1lKGZpbGUubmFtZSk6bG93ZXIoKQpsb2NhbCBleHRlbnNpb24gPSBwYXRoLmdldGV4dGVuc2lvbihmaWxlbmFtZSkKaWYgZmlsZW5hbWUgPT0gImFuZHJvaWRtYW5pZmVzdC54bWwiIHRoZW4KcmV0dXJuIHZjMjAxMC5jYXRlZ29yaWVzLkFuZHJvaWRNYW5pZmVzdAplbHNlaWYgZmlsZW5hbWUgPT0gImJ1aWxkLnhtbCIgdGhlbgpyZXR1cm4gdmMyMDEwLmNhdGVnb3JpZXMuQW50QnVpbGRYbWwKZWxzZWlmIGZpbGVuYW1lID09ICJwcm9qZWN0LnByb3BlcnRpZXMiIHRoZW4KcmV0dXJuIHZjMjAxMC5jYXRlZ29yaWVzLkFudFByb2plY3RQcm9wZXJ0aWVzRmlsZQplbHNlaWYgZXh0ZW5zaW9uID09ICIuamF2YSIgdGhlbgpyZXR1cm4gdmMyMDEwLmNhdGVnb3JpZXMuSmF2YUNvbXBpbGUKZWxzZQpyZXR1cm4gdmMyMDEwLmNhdGVnb3JpZXMuQ29udGVudAplbmQKZW5kKQoAAAAAbG9jYWwgcCA9IHByZW1ha2UKbG9jYWwgdnN0dWRpbyA9IHAudnN0dWRpbwpuZXdhY3Rpb24gewp0cmlnZ2VyICAgICA9ICJ2czIwMTMiLApzaG9ydG5hbWUgICA9ICJWaXN1YWwgU3R1ZGlvIDIwMTMiLApkZXNjcmlwdGlvbiA9ICJHZW5lcmF0ZSBWaXN1YWwgU3R1ZGlvIDIwMTMgcHJvamVjdCBmaWxlcyIsCnRhcmdldG9zID0gIndpbmRvd3MiLAp0b29sc2V0ICA9ICJtc2MtdjEyMCIsCnZhbGlkX2tpbmRzICAgICA9IHsgIkNvbnNvbGVBcHAiLCAiV2luZG93ZWRBcHAiLCAiU3RhdGljTGliIiwgIlNoYXJlZExpYiIsICJNYWtlZmlsZSIsICJOb25lIiwgIlV0aWxpdHkiIH0sCnZhbGlkX2xhbmd1YWdlcyA9IHsgIkMiLCAiQysrIiwgIkMjIiwgIkYjIiB9LAp2YWxpZF90b29scyAgICAgPSB7CmNjICAgICA9IHsgIm1zYyIgICB9LApkb3RuZXQgPSB7ICJtc25ldCIgfSwKfSwKb25Xb3Jrc3BhY2UgPSBmdW5jdGlvbih3a3MpCnZzdHVkaW8udnMyMDA1LmdlbmVyYXRlU29sdXRpb24od2tzKQplbmQsCm9uUHJvamVjdCA9IGZ1bmN0aW9uKHByaikKdnN0dWRpby52czIwMTAuZ2VuZXJhdGVQcm9qZWN0KHByaikKZW5kLApvblJ1bGUgPSBmdW5jdGlvbihydWxlKQp2c3R1ZGlvLnZzMjAxMC5nZW5lcmF0ZVJ1bGUocnVsZSkKZW5kLApvbkNsZWFuV29ya3NwYWNlID0gZnVuY3Rpb24od2tzKQp2c3R1ZGlvLmNsZWFuU29sdXRpb24od2tzKQplbmQsCm9uQ2xlYW5Qcm9qZWN0ID0gZnVuY3Rpb24ocHJqKQp2c3R1ZGlvLmNsZWFuUHJvamVjdChwcmopCmVuZCwKb25DbGVhblRhcmdldCA9IGZ1bmN0aW9uKHByaikKdnN0dWRpby5jbGVhblRhcmdldChwcmopCmVuZCwKcGF0aFZhcnMgPSB2c3R1ZGlvLnZzMjAxMC5wYXRoVmFycywKdnN0dWRpbyA9IHsKc29sdXRpb25WZXJzaW9uID0gIjEyIiwKdmVyc2lvbk5hbWUgICAgID0gIjIwMTMiLAp0YXJnZXRGcmFtZXdvcmsgPSAiNC41IiwKdG9vbHNWZXJzaW9uICAgID0gIjEyLjAiLApmaWx0ZXJUb29sc1ZlcnNpb24gPSAiNC4wIiwKfQp9CgAAAChuaWwpAAAAAAAAAGxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIG0gPSBwLnZzdHVkaW8udmMyMDEwCm0uZWxlbWVudHMudXNlciA9IGZ1bmN0aW9uKGNmZykKcmV0dXJuIHsKbS5kZWJ1Z1NldHRpbmdzLAp9CmVuZApmdW5jdGlvbiBtLmdlbmVyYXRlVXNlcihwcmopCmxvY2FsIGNvbnRlbnRzID0ge30KbG9jYWwgc2l6ZSA9IDAKZm9yIGNmZyBpbiBwLnByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmNvbnRlbnRzW2NmZ10gPSBwLmNhcHR1cmUoZnVuY3Rpb24oKQpwLnB1c2goMikKcC5jYWxsQXJyYXkobS5lbGVtZW50cy51c2VyLCBjZmcpCnAucG9wKDIpCmVuZCkKc2l6ZSA9IHNpemUgKyAjY29udGVudHNbY2ZnXQplbmQKaWYgc2l6ZSA+IDAgdGhlbgptLnhtbERlY2xhcmF0aW9uKCkKbS51c2VyUHJvamVjdCgpCmZvciBjZmcgaW4gcC5wcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpwLnB1c2goJzxQcm9wZXJ0eUdyb3VwICVzPicsIG0uY29uZGl0aW9uKGNmZykpCmlmICNjb250ZW50c1tjZmddID4gMCB0aGVuCnAub3V0bG4oY29udGVudHNbY2ZnXSkKZW5kCnAucG9wKCc8L1Byb3BlcnR5R3JvdXA+JykKZW5kCnAucG9wKCc8L1Byb2plY3Q+JykKZW5kCmVuZApmdW5jdGlvbiBtLnVzZXJQcm9qZWN0KCkKbG9jYWwgYWN0aW9uID0gcC5hY3Rpb24uY3VycmVudCgpCnAucHVzaCgnPFByb2plY3QgVG9vbHNWZXJzaW9uPSIlcyIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+JywKYWN0aW9uLnZzdHVkaW8udXNlclRvb2xzVmVyc2lvbiBvciBhY3Rpb24udnN0dWRpby50b29sc1ZlcnNpb24pCmVuZAptLmVsZW1lbnRzLmRlYnVnU2V0dGluZ3MgPSBmdW5jdGlvbihjZmcpCnJldHVybiB7Cm0ubG9jYWxEZWJ1Z2dlckNvbW1hbmQsCm0ubG9jYWxEZWJ1Z2dlcldvcmtpbmdEaXJlY3RvcnksCm0uZGVidWdnZXJGbGF2b3IsCm0ubG9jYWxEZWJ1Z2dlckNvbW1hbmRBcmd1bWVudHMsCm0ubG9jYWxEZWJ1Z2dlckRlYnVnZ2VyVHlwZSwKbS5sb2NhbERlYnVnZ2VyRW52aXJvbm1lbnQsCm0ubG9jYWxEZWJ1Z2dlck1lcmdlRW52aXJvbm1lbnQsCn0KZW5kCmZ1bmN0aW9uIG0uZGVidWdTZXR0aW5ncyhjZmcpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMuZGVidWdTZXR0aW5ncywgY2ZnKQplbmQKZnVuY3Rpb24gbS5kZWJ1Z2dlckZsYXZvcihjZmcpCmxvY2FsIG1hcCA9IHsKTG9jYWwgPSAiV2luZG93c0xvY2FsRGVidWdnZXIiLApSZW1vdGUgPSAiV2luZG93c1JlbW90ZURlYnVnZ2VyIiwKV2ViQnJvd3NlciA9ICJXZWJCcm93c2VyRGVidWdnZXIiLApXZWJTZXJ2aWNlID0gIldlYlNlcnZpY2VEZWJ1Z2dlciIKfQpsb2NhbCB2YWx1ZSA9IG1hcFtjZmcuZGVidWdnZXJmbGF2b3JdCmlmIHZhbHVlIHRoZW4KcC53KCc8RGVidWdnZXJGbGF2b3I+JXM8L0RlYnVnZ2VyRmxhdm9yPicsIHZhbHVlKQplbHNlaWYgY2ZnLmRlYnVnZGlyIG9yIGNmZy5kZWJ1Z2NvbW1hbmQgdGhlbgpwLncoJzxEZWJ1Z2dlckZsYXZvcj5XaW5kb3dzTG9jYWxEZWJ1Z2dlcjwvRGVidWdnZXJGbGF2b3I+JykKZW5kCmVuZApmdW5jdGlvbiBtLmxvY2FsRGVidWdnZXJDb21tYW5kKGNmZykKaWYgY2ZnLmRlYnVnY29tbWFuZCB0aGVuCmxvY2FsIGRpciA9IHBhdGgudHJhbnNsYXRlKGNmZy5kZWJ1Z2NvbW1hbmQpCnAudygnPExvY2FsRGVidWdnZXJDb21tYW5kPiVzPC9Mb2NhbERlYnVnZ2VyQ29tbWFuZD4nLCBkaXIpCmVuZAplbmQKZnVuY3Rpb24gbS5sb2NhbERlYnVnZ2VyRGVidWdnZXJUeXBlKGNmZykKaWYgY2ZnLmRlYnVnZ2VydHlwZSB0aGVuCnAudygnPExvY2FsRGVidWdnZXJEZWJ1Z2dlclR5cGU+JXM8L0xvY2FsRGVidWdnZXJEZWJ1Z2dlclR5cGU+JywgY2ZnLmRlYnVnZ2VydHlwZSkKZW5kCmVuZApmdW5jdGlvbiBtLmxvY2FsRGVidWdnZXJDb21tYW5kQXJndW1lbnRzKGNmZykKaWYgI2NmZy5kZWJ1Z2FyZ3MgPiAwIHRoZW4KbG9jYWwgYXJncyA9IG9zLnRyYW5zbGF0ZUNvbW1hbmRzQW5kUGF0aHMoY2ZnLmRlYnVnYXJncywgY2ZnLnByb2plY3QuYmFzZWRpciwgY2ZnLnByb2plY3QubG9jYXRpb24pCnAueCgnPExvY2FsRGVidWdnZXJDb21tYW5kQXJndW1lbnRzPiVzPC9Mb2NhbERlYnVnZ2VyQ29tbWFuZEFyZ3VtZW50cz4nLCB0YWJsZS5jb25jYXQoYXJncywgIiAiKSkKZW5kCmVuZApmdW5jdGlvbiBtLmxvY2FsRGVidWdnZXJXb3JraW5nRGlyZWN0b3J5KGNmZykKaWYgY2ZnLmRlYnVnZGlyIHRoZW4KbG9jYWwgZGlyID0gcC52c3R1ZGlvLnBhdGgoY2ZnLCBjZmcuZGVidWdkaXIpCnAueCgnPExvY2FsRGVidWdnZXJXb3JraW5nRGlyZWN0b3J5PiVzPC9Mb2NhbERlYnVnZ2VyV29ya2luZ0RpcmVjdG9yeT4nLCBkaXIpCmVuZAplbmQKZnVuY3Rpb24gbS5sb2NhbERlYnVnZ2VyRW52aXJvbm1lbnQoY2ZnKQppZiAjY2ZnLmRlYnVnZW52cyA+IDAgdGhlbgpsb2NhbCBlbnZzID0gdGFibGUuY29uY2F0KGNmZy5kZWJ1Z2VudnMsICJcbiIpCmlmIGNmZy5mbGFncy5EZWJ1Z0VudnNJbmhlcml0IHRoZW4KZW52cyA9IGVudnMgLi4gIlxuJChMb2NhbERlYnVnZ2VyRW52aXJvbm1lbnQpIgplbmQKcC53KCc8TG9jYWxEZWJ1Z2dlckVudmlyb25tZW50PiVzPC9Mb2NhbERlYnVnZ2VyRW52aXJvbm1lbnQ+JywgZW52cykKaWYgY2ZnLmZsYWdzLkRlYnVnRW52c0RvbnRNZXJnZSB0aGVuCnAudygyLCc8TG9jYWxEZWJ1Z2dlck1lcmdlRW52aXJvbm1lbnQ+ZmFsc2U8L0xvY2FsRGVidWdnZXJNZXJnZUVudmlyb25tZW50PicpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0ubG9jYWxEZWJ1Z2dlck1lcmdlRW52aXJvbm1lbnQoY2ZnKQppZiAjY2ZnLmRlYnVnZW52cyA+IDAgYW5kIGNmZy5mbGFncy5EZWJ1Z0VudnNEb250TWVyZ2UgdGhlbgpwLncoMiwnPExvY2FsRGVidWdnZXJNZXJnZUVudmlyb25tZW50PmZhbHNlPC9Mb2NhbERlYnVnZ2VyTWVyZ2VFbnZpcm9ubWVudD4nKQplbmQKZW5kCgAAAAAAAGxvY2FsIHAgPSBwcmVtYWtlCnAub3B0aW9uID0ge30KbG9jYWwgbSA9IHAub3B0aW9uCmxvY2FsIF9PUFRJT05TX21ldGF0YWJsZSA9IHsKX19pbmRleCA9IGZ1bmN0aW9uKHRibCwga2V5KQppZiB0eXBlKGtleSkgPT0gInN0cmluZyIgdGhlbgprZXkgPSBrZXk6bG93ZXIoKQplbmQKcmV0dXJuIHJhd2dldCh0YmwsIGtleSkKZW5kLApfX25ld2luZGV4ID0gZnVuY3Rpb24odGJsLCBrZXksIHZhbHVlKQppZiB0eXBlKGtleSkgPT0gInN0cmluZyIgdGhlbgprZXkgPSBrZXk6bG93ZXIoKQplbmQKcmF3c2V0KHRibCwga2V5LCB2YWx1ZSkKZW5kCn0KX09QVElPTlMgPSB7fQpzZXRtZXRhdGFibGUoX09QVElPTlMsIF9PUFRJT05TX21ldGF0YWJsZSkKZm9yIGksIGFyZyBpbiBpcGFpcnMoX0FSR1YpIGRvCmxvY2FsIGtleSwgdmFsdWUKbG9jYWwgaSA9IGFyZzpmaW5kKCI9IiwgMSwgdHJ1ZSkKaWYgaSB0aGVuCmtleSA9IGFyZzpzdWIoMSwgaSAtIDEpCnZhbHVlID0gYXJnOnN1YihpICsgMSkKZWxzZQprZXkgPSBhcmcKdmFsdWUgPSAiIgplbmQKaWYga2V5OnN0YXJ0c3dpdGgoIi8iKSB0aGVuCl9PUFRJT05TW2tleTpzdWIoMildID0gdmFsdWUKZWxzZWlmIGtleTpzdGFydHN3aXRoKCItLSIpIHRoZW4KX09QVElPTlNba2V5OnN1YigzKV0gPSB2YWx1ZQplbmQKZW5kCm0ubGlzdCA9IHt9CmZ1bmN0aW9uIG0uYWRkKG9wdCkKbG9jYWwgbWlzc2luZwpmb3IgXywgZmllbGQgaW4gaXBhaXJzKHsgImRlc2NyaXB0aW9uIiwgInRyaWdnZXIiIH0pIGRvCmlmIChub3Qgb3B0W2ZpZWxkXSkgdGhlbgptaXNzaW5nID0gZmllbGQKZW5kCmVuZAppZiAobWlzc2luZykgdGhlbgplcnJvcigib3B0aW9uIG5lZWRzIGEgIiAuLiBtaXNzaW5nLCAzKQplbmQKcC5vcHRpb24ubGlzdFtvcHQudHJpZ2dlcjpsb3dlcigpXSA9IG9wdAppZiBvcHQuZGVmYXVsdCBhbmQgbm90IF9PUFRJT05TW29wdC50cmlnZ2VyXSB0aGVuCl9PUFRJT05TW29wdC50cmlnZ2VyXSA9IG9wdC5kZWZhdWx0CmVuZAplbmQKZnVuY3Rpb24gbS5nZXQobmFtZSkKcmV0dXJuIHAub3B0aW9uLmxpc3RbbmFtZV0KZW5kCmZ1bmN0aW9uIG0uZWFjaCgpCmxvY2FsIGtleXMgPSB7IH0KZm9yIF8sIG9wdGlvbiBpbiBwYWlycyhwLm9wdGlvbi5saXN0KSBkbwp0YWJsZS5pbnNlcnQoa2V5cywgb3B0aW9uLnRyaWdnZXIpCmVuZAp0YWJsZS5zb3J0KGtleXMpCmxvY2FsIGkgPSAwCnJldHVybiBmdW5jdGlvbigpCmkgPSBpICsgMQpyZXR1cm4gcC5vcHRpb24ubGlzdFtrZXlzW2ldXQplbmQKZW5kCmZ1bmN0aW9uIG0udmFsaWRhdGUodmFsdWVzKQpmb3Iga2V5LCB2YWx1ZSBpbiBwYWlycyh2YWx1ZXMpIGRvCmxvY2FsIG9wdCA9IHAub3B0aW9uLmdldChrZXkpCmlmIChub3Qgb3B0KSB0aGVuCnJldHVybiBmYWxzZSwgImludmFsaWQgb3B0aW9uICciIC4uIGtleSAuLiAiJyIKZW5kCmlmIChvcHQudmFsdWUgYW5kIHZhbHVlID09ICIiKSB0aGVuCnJldHVybiBmYWxzZSwgIm5vIHZhbHVlIHNwZWNpZmllZCBmb3Igb3B0aW9uICciIC4uIGtleSAuLiAiJyIKZW5kCmlmIG9wdC5hbGxvd2VkIHRoZW4KbG9jYWwgZm91bmQgPSBmYWxzZQpmb3IgXywgbWF0Y2ggaW4gaXBhaXJzKG9wdC5hbGxvd2VkKSBkbwppZiBtYXRjaFsxXSA9PSB2YWx1ZSB0aGVuCmZvdW5kID0gdHJ1ZQpicmVhawplbmQKZW5kCmlmIG5vdCBmb3VuZCB0aGVuCnJldHVybiBmYWxzZSwgc3RyaW5nLmZvcm1hdCgiaW52YWxpZCB2YWx1ZSAnJXMnIGZvciBvcHRpb24gJyVzJyIsIHZhbHVlLCBrZXkpCmVuZAplbmQKZW5kCnJldHVybiB0cnVlCmVuZApsb2NhbCBwID0gcHJlbWFrZQpwLmdsb2JhbCA9IHAuYXBpLmNvbnRhaW5lcigiZ2xvYmFsIikKbG9jYWwgZ2xvYmFsID0gcC5nbG9iYWwKZnVuY3Rpb24gZ2xvYmFsLm5ldyhuYW1lKQpyZXR1cm4gcC5jb250YWluZXIubmV3KHAuZ2xvYmFsLCBuYW1lKQplbmQKZnVuY3Rpb24gZ2xvYmFsLmJha2Uoc2VsZikKcC5jb250YWluZXIuYmFrZUNoaWxkcmVuKHNlbGYpCmVuZApmdW5jdGlvbiBnbG9iYWwuZWFjaFJ1bGUoKQpsb2NhbCByb290ID0gcC5hcGkucm9vdENvbnRhaW5lcigpCnJldHVybiBwLmNvbnRhaW5lci5lYWNoQ2hpbGQocm9vdCwgcC5ydWxlKQplbmQKZnVuY3Rpb24gZ2xvYmFsLmVhY2hXb3Jrc3BhY2UoKQpsb2NhbCByb290ID0gcC5hcGkucm9vdENvbnRhaW5lcigpCnJldHVybiBwLmNvbnRhaW5lci5lYWNoQ2hpbGQocm9vdCwgcC53b3Jrc3BhY2UpCmVuZApwLmFsaWFzKGdsb2JhbCwgImVhY2hXb3Jrc3BhY2UiLCAiZWFjaFNvbHV0aW9uIikKZnVuY3Rpb24gZ2xvYmFsLmdldFJ1bGUoa2V5KQpsb2NhbCByb290ID0gcC5hcGkucm9vdENvbnRhaW5lcigpCnJldHVybiByb290LnJ1bGVzW2tleV0KZW5kCmZ1bmN0aW9uIGdsb2JhbC5nZXRSdWxlRm9yRmlsZShmbmFtZSwgcnVsZXMpCmZvciBydWxlIGluIGdsb2JhbC5lYWNoUnVsZSgpIGRvCmlmIG5vdCBydWxlcyBvciB0YWJsZS5jb250YWlucyhydWxlcywgcnVsZS5uYW1lKSB0aGVuCmlmIHBhdGguaGFzZXh0ZW5zaW9uKGZuYW1lLCBydWxlLmZpbGVleHRlbnNpb24pIHRoZW4KcmV0dXJuIHJ1bGUKZW5kCmVuZAplbmQKZW5kCmZ1bmN0aW9uIGdsb2JhbC5nZXRXb3Jrc3BhY2Uoa2V5KQpsb2NhbCByb290ID0gcC5hcGkucm9vdENvbnRhaW5lcigpCnJldHVybiByb290LndvcmtzcGFjZXNba2V5XQplbmQKcC5hbGlhcyhnbG9iYWwsICJnZXRXb3Jrc3BhY2UiLCAiZ2V0U29sdXRpb24iKQoAAAAAAGxvY2FsIHAgPSBwcmVtYWtlCnAubW9kdWxlcy54Y29kZSA9IHt9CmxvY2FsIG0gPSBwLm1vZHVsZXMueGNvZGUKbS5fVkVSU0lPTiA9IHAuX1ZFUlNJT04KbS5lbGVtZW50cyA9IHt9CmluY2x1ZGUoInhjb2RlX2NvbW1vbi5sdWEiKQppbmNsdWRlKCJ4Y29kZTRfd29ya3NwYWNlLmx1YSIpCmluY2x1ZGUoInhjb2RlX3Byb2plY3QubHVhIikKcmV0dXJuIG0KAAAAAABsb2NhbCBwID0gcHJlbWFrZQpwLnRvb2xzLm1zYyA9IHt9CmxvY2FsIG1zYyA9IHAudG9vbHMubXNjCmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKbG9jYWwgY29uZmlnID0gcC5jb25maWcKZnVuY3Rpb24gbXNjLmdldGNwcGZsYWdzKGNmZykKcmV0dXJuIHt9CmVuZAptc2Muc2hhcmVkID0gewpjbHIgPSB7Ck9uID0gIi9jbHIiLApVbnNhZmUgPSAiL2NsciIsClB1cmUgPSAiL2NscjpwdXJlIiwKU2FmZSA9ICIvY2xyOnNhZmUiLAp9LApmbGFncyA9IHsKRmF0YWxDb21waWxlV2FybmluZ3MgPSAiL1dYIiwKTXVsdGlQcm9jZXNzb3JDb21waWxlID0gIi9NUCIsCk5vTWluaW1hbFJlYnVpbGQgPSAiL0dtLSIsCk9taXREZWZhdWx0TGlicmFyeSA9ICIvWmwiCn0sCmZsb2F0aW5ncG9pbnQgPSB7CkZhc3QgPSAiL2ZwOmZhc3QiLApTdHJpY3QgPSAiL2ZwOnN0cmljdCIsCn0sCmZsb2F0aW5ncG9pbnRleGNlcHRpb25zID0gewpPbiAgPSAiL2ZwOmV4Y2VwdCIsCk9mZiA9ICIvZnA6ZXhjZXB0LSIsCn0sCmZ1bmN0aW9ubGV2ZWxsaW5raW5nID0gewpPbiA9ICIvR3kiLApPZmYgPSAiL0d5LSIsCn0sCmNhbGxpbmdjb252ZW50aW9uID0gewpDZGVjbCA9ICIvR2QiLApGYXN0Q2FsbCA9ICIvR3IiLApTdGRDYWxsID0gIi9HeiIsClZlY3RvckNhbGwgPSAiL0d2IiwKfSwKaW50cmluc2ljcyA9IHsKT24gPSAiL09pIiwKfSwKb3B0aW1pemUgPSB7Ck9mZiA9ICIvT2QiLApPbiA9ICIvT3QiLApEZWJ1ZyA9ICIvT2QiLApGdWxsID0gIi9PeCIsClNpemUgPSAiL08xIiwKU3BlZWQgPSAiL08yIiwKfSwKdmVjdG9yZXh0ZW5zaW9ucyA9IHsKQVZYID0gIi9hcmNoOkFWWCIsCkFWWDIgPSAiL2FyY2g6QVZYMiIsClNTRSA9ICIvYXJjaDpTU0UiLApTU0UyID0gIi9hcmNoOlNTRTIiLApTU0UzID0gIi9hcmNoOlNTRTIiLApTU1NFMyA9ICIvYXJjaDpTU0UyIiwKWyJTU0U0LjEiXSA9ICIvYXJjaDpTU0UyIiwKfSwKd2FybmluZ3MgPSB7CkV4dHJhID0gIi9XNCIsCkhpZ2ggPSAiL1c0IiwKT2ZmID0gIi9XMCIsCn0sCnN0YXRpY3J1bnRpbWUgPSB7Cl8gPSBmdW5jdGlvbihjZmcpIHJldHVybiBpaWYoY29uZmlnLmlzRGVidWdCdWlsZChjZmcpLCAiL01EZCIsICIvTUQiKSBlbmQsCkRlZmF1bHQgPSBmdW5jdGlvbihjZmcpIHJldHVybiBpaWYoY29uZmlnLmlzRGVidWdCdWlsZChjZmcpLCAiL01EZCIsICIvTUQiKSBlbmQsCk9uID0gZnVuY3Rpb24oY2ZnKSByZXR1cm4gaWlmKGNvbmZpZy5pc0RlYnVnQnVpbGQoY2ZnKSwgIi9NVGQiLCAiL01UIikgZW5kLApPZmYgPSBmdW5jdGlvbihjZmcpIHJldHVybiBpaWYoY29uZmlnLmlzRGVidWdCdWlsZChjZmcpLCAiL01EZCIsICIvTUQiKSBlbmQsCn0sCnN0cmluZ3Bvb2xpbmcgPSB7Ck9uID0gIi9HRiIsCk9mZiA9ICIvR0YtIiwKfSwKc3ltYm9scyA9IHsKT24gPSAiL1o3Igp9LAp1bnNpZ25lZGNoYXIgPSB7Ck9uID0gIi9KIiwKfSwKb21pdGZyYW1lcG9pbnRlciA9IHsKT24gPSAiL095Igp9Cn0KbXNjLmNmbGFncyA9IHsKfQpmdW5jdGlvbiBtc2MuZ2V0Y2ZsYWdzKGNmZykKbG9jYWwgc2hhcmVkID0gY29uZmlnLm1hcEZsYWdzKGNmZywgbXNjLnNoYXJlZCkKbG9jYWwgY2ZsYWdzID0gY29uZmlnLm1hcEZsYWdzKGNmZywgbXNjLmNmbGFncykKbG9jYWwgZmxhZ3MgPSB0YWJsZS5qb2luKHNoYXJlZCwgY2ZsYWdzLCBtc2MuZ2V0d2FybmluZ3MoY2ZnKSkKcmV0dXJuIGZsYWdzCmVuZAptc2MuY3h4ZmxhZ3MgPSB7CmV4Y2VwdGlvbmhhbmRsaW5nID0gewpEZWZhdWx0ID0gIi9FSHNjIiwKT24gPSAiL0VIc2MiLApTRUggPSAiL0VIYSIsCn0sCnJ0dGkgPSB7Ck9mZiA9ICIvR1ItIgp9Cn0KZnVuY3Rpb24gbXNjLmdldGN4eGZsYWdzKGNmZykKbG9jYWwgc2hhcmVkID0gY29uZmlnLm1hcEZsYWdzKGNmZywgbXNjLnNoYXJlZCkKbG9jYWwgY3h4ZmxhZ3MgPSBjb25maWcubWFwRmxhZ3MoY2ZnLCBtc2MuY3h4ZmxhZ3MpCmxvY2FsIGZsYWdzID0gdGFibGUuam9pbihzaGFyZWQsIGN4eGZsYWdzLCBtc2MuZ2V0d2FybmluZ3MoY2ZnKSkKcmV0dXJuIGZsYWdzCmVuZAptc2MuZGVmaW5lcyA9IHsKY2hhcmFjdGVyc2V0ID0gewpEZWZhdWx0ID0geyAnL0QiX1VOSUNPREUiJywgJy9EIlVOSUNPREUiJyB9LApNQkNTID0gJy9EIl9NQkNTIicsClVuaWNvZGUgPSB7ICcvRCJfVU5JQ09ERSInLCAnL0QiVU5JQ09ERSInIH0sCkFTQ0lJID0geyB9LAp9Cn0KZnVuY3Rpb24gbXNjLmdldGRlZmluZXMoZGVmaW5lcywgY2ZnKQpsb2NhbCByZXN1bHQKaWYgY2ZnIGFuZCBkZWZpbmVzIHRoZW4KcmVzdWx0ID0gY29uZmlnLm1hcEZsYWdzKGNmZywgbXNjLmRlZmluZXMpCmVsc2UKcmVzdWx0ID0ge30KZW5kCmZvciBfLCBkZWZpbmUgaW4gaXBhaXJzKGRlZmluZXMpIGRvCnRhYmxlLmluc2VydChyZXN1bHQsICcvRCInIC4uIGRlZmluZSAuLiAnIicpCmVuZAppZiBjZmcgYW5kIGNmZy5leGNlcHRpb25oYW5kbGluZyA9PSBwLk9GRiB0aGVuCnRhYmxlLmluc2VydChyZXN1bHQsICIvRF9IQVNfRVhDRVBUSU9OUz0wIikKZW5kCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIG1zYy5nZXR1bmRlZmluZXModW5kZWZpbmVzKQpsb2NhbCByZXN1bHQgPSB7fQpmb3IgXywgdW5kZWZpbmUgaW4gaXBhaXJzKHVuZGVmaW5lcykgZG8KdGFibGUuaW5zZXJ0KHJlc3VsdCwgJy9VIicgLi4gdW5kZWZpbmUgLi4gJyInKQplbmQKcmV0dXJuIHJlc3VsdAplbmQKZnVuY3Rpb24gbXNjLmdldGZvcmNlaW5jbHVkZXMoY2ZnKQpsb2NhbCByZXN1bHQgPSB7fQp0YWJsZS5mb3JlYWNoaShjZmcuZm9yY2VpbmNsdWRlcywgZnVuY3Rpb24odmFsdWUpCmxvY2FsIGZuID0gcHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgdmFsdWUpCnRhYmxlLmluc2VydChyZXN1bHQsICIvRkkiIC4uIHAucXVvdGVkKGZuKSkKZW5kKQpyZXR1cm4gcmVzdWx0CmVuZApmdW5jdGlvbiBtc2MuZ2V0cnVucGF0aGRpcnMoKQpyZXR1cm4ge30KZW5kCmZ1bmN0aW9uIG1zYy5nZXRpbmNsdWRlZGlycyhjZmcsIGRpcnMsIHN5c2RpcnMpCmxvY2FsIHJlc3VsdCA9IHt9CmRpcnMgPSB0YWJsZS5qb2luKGRpcnMsIHN5c2RpcnMpCmZvciBfLCBkaXIgaW4gaXBhaXJzKGRpcnMpIGRvCmRpciA9IHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGRpcikKdGFibGUuaW5zZXJ0KHJlc3VsdCwgJy1JJyAuLiAgcC5xdW90ZWQoZGlyKSkKZW5kCnJldHVybiByZXN1bHQKZW5kCm1zYy5saW5rZXJGbGFncyA9IHsKZmxhZ3MgPSB7CkZhdGFsTGlua1dhcm5pbmdzID0gIi9XWCIsCkxpbmtUaW1lT3B0aW1pemF0aW9uID0gIi9HTCIsCk5vSW5jcmVtZW50YWxMaW5rID0gIi9JTkNSRU1FTlRBTDpOTyIsCk5vTWFuaWZlc3QgPSAiL01BTklGRVNUOk5PIiwKT21pdERlZmF1bHRMaWJyYXJ5ID0gIi9OT0RFRkFVTFRMSUIiLAp9LApraW5kID0gewpTaGFyZWRMaWIgPSAiL0RMTCIsCn0sCnN5bWJvbHMgPSB7Ck9uID0gIi9ERUJVRyIKfQp9Cm1zYy5saWJyYXJpYW5GbGFncyA9IHsKZmxhZ3MgPSB7CkZhdGFsTGlua1dhcm5pbmdzID0gIi9XWCIsCn0KfQpmdW5jdGlvbiBtc2MuZ2V0bGRmbGFncyhjZmcpCmxvY2FsIG1hcCA9IGlpZihjZmcua2luZCB+PSBwLlNUQVRJQ0xJQiwgbXNjLmxpbmtlckZsYWdzLCBtc2MubGlicmFyaWFuRmxhZ3MpCmxvY2FsIGZsYWdzID0gY29uZmlnLm1hcEZsYWdzKGNmZywgbWFwKQp0YWJsZS5pbnNlcnQoZmxhZ3MsIDEsICIvTk9MT0dPIikKZm9yIGksIGlnbm9yZSBpbiBpcGFpcnMoY2ZnLmlnbm9yZWRlZmF1bHRsaWJyYXJpZXMpIGRvCmlmIG5vdCBtc2MuZ2V0TGlicmFyeUV4dGVuc2lvbnMoKVtpZ25vcmU6bWF0Y2goIlteLl0rJCIpXSB0aGVuCmlnbm9yZSA9IHBhdGguYXBwZW5kZXh0ZW5zaW9uKGlnbm9yZSwgIi5saWIiKQplbmQKdGFibGUuaW5zZXJ0KGZsYWdzLCAnL05PREVGQVVMVExJQjonIC4uIGlnbm9yZSkKZW5kCnJldHVybiBmbGFncwplbmQKZnVuY3Rpb24gbXNjLmdldExpYnJhcnlEaXJlY3RvcmllcyhjZmcpCmxvY2FsIGZsYWdzID0ge30KbG9jYWwgZGlycyA9IHRhYmxlLmpvaW4oY2ZnLmxpYmRpcnMsIGNmZy5zeXNsaWJkaXJzKQpmb3IgaSwgZGlyIGluIGlwYWlycyhkaXJzKSBkbwpkaXIgPSBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBkaXIpCnRhYmxlLmluc2VydChmbGFncywgJy9MSUJQQVRIOiInIC4uIGRpciAuLiAnIicpCmVuZApyZXR1cm4gZmxhZ3MKZW5kCmZ1bmN0aW9uIG1zYy5nZXRMaWJyYXJ5RXh0ZW5zaW9ucygpCnJldHVybiB7ClsibGliIl0gPSB0cnVlLApbIm9iaiJdID0gdHJ1ZSwKfQplbmQKZnVuY3Rpb24gbXNjLmdldGxpbmtzKGNmZywgc3lzdGVtb25seSwgbm9ncm91cHMpCmxvY2FsIGxpbmtzID0ge30KaWYgbm90IHN5c3RlbW9ubHkgdGhlbgpsaW5rcyA9IGNvbmZpZy5nZXRsaW5rcyhjZmcsICJzaWJsaW5ncyIsICJmdWxscGF0aCIpCmVuZApsb2NhbCBzeXN0ZW0gPSBjb25maWcuZ2V0bGlua3MoY2ZnLCAic3lzdGVtIiwgImZ1bGxwYXRoIikKZm9yIGkgPSAxLCAjc3lzdGVtIGRvCmxvY2FsIGxpbmsgPSBzeXN0ZW1baV0KaWYgbm90IHAudG9vbHMubXNjLmdldExpYnJhcnlFeHRlbnNpb25zKClbbGluazptYXRjaCgiW14uXSskIildIHRoZW4KbGluayA9IHBhdGguYXBwZW5kZXh0ZW5zaW9uKGxpbmssICIubGliIikKZW5kCnRhYmxlLmluc2VydChsaW5rcywgbGluaykKZW5kCnJldHVybiBsaW5rcwplbmQKZnVuY3Rpb24gbXNjLmdldG1ha2VzZXR0aW5ncyhjZmcpCnJldHVybiBuaWwKZW5kCmZ1bmN0aW9uIG1zYy5nZXR0b29sbmFtZShjZmcsIHRvb2wpCnJldHVybiBuaWwKZW5kCmZ1bmN0aW9uIG1zYy5nZXR3YXJuaW5ncyhjZmcpCmxvY2FsIHJlc3VsdCA9IHt9CmZvciBfLCBkaXNhYmxlIGluIGlwYWlycyhjZmcuZGlzYWJsZXdhcm5pbmdzKSBkbwp0YWJsZS5pbnNlcnQocmVzdWx0LCAnL3dkIicgLi4gZGlzYWJsZSAuLiAnIicpCmVuZApmb3IgXywgZmF0YWwgaW4gaXBhaXJzKGNmZy5mYXRhbHdhcm5pbmdzKSBkbwp0YWJsZS5pbnNlcnQocmVzdWx0LCAnL3dlIicgLi4gZmF0YWwgLi4gJyInKQplbmQKcmV0dXJuIHJlc3VsdAplbmQKAAAAbG9jYWwgc2VtdmVyID0gewogIF9WRVJTSU9OICAgICA9ICcxLjIuMScsCiAgX0RFU0NSSVBUSU9OID0gJ3NlbXZlciBmb3IgTHVhJywKICBfVVJMICAgICAgICAgPSAnaHR0cHM6Ly9naXRodWIuY29tL2tpa2l0by9zZW12ZXIubHVhJywKICBfTElDRU5TRSAgICAgPSBbWwogICAgTUlUIExJQ0VOU0UKICAgIENvcHlyaWdodCAoYykgMjAxNSBFbnJpcXVlIEdhcmPDrWEgQ290YQogICAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKICAgIGNvcHkgb2YgdG90aGVyIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZQogICAgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwogICAgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLAogICAgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvCiAgICBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8KICAgIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKICAgIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0b3RoZXIgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQKICAgIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgogICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MKICAgIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKICAgIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4KICAgIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZCiAgICBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAogICAgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKICAgIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgogIF1dCn0KbG9jYWwgZnVuY3Rpb24gY2hlY2tQb3NpdGl2ZUludGVnZXIobnVtYmVyLCBuYW1lKQogIGFzc2VydChudW1iZXIgPj0gMCwgbmFtZSAuLiAnIG11c3QgYmUgYSB2YWxpZCBwb3NpdGl2ZSBudW1iZXInKQogIGFzc2VydChtYXRoLmZsb29yKG51bWJlcikgPT0gbnVtYmVyLCBuYW1lIC4uICcgbXVzdCBiZSBhbiBpbnRlZ2VyJykKZW5kCmxvY2FsIGZ1bmN0aW9uIHByZXNlbnQodmFsdWUpCiAgcmV0dXJuIHZhbHVlIGFuZCB2YWx1ZSB+PSAnJwplbmQKbG9jYWwgZnVuY3Rpb24gc3BsaXRCeURvdChzdHIpCiAgc3RyID0gc3RyIG9yICIiCiAgbG9jYWwgdCwgY291bnQgPSB7fSwgMAogIHN0cjpnc3ViKCIoW14lLl0rKSIsIGZ1bmN0aW9uKGMpCiAgICBjb3VudCA9IGNvdW50ICsgMQogICAgdFtjb3VudF0gPSBjCiAgZW5kKQogIHJldHVybiB0CmVuZApsb2NhbCBmdW5jdGlvbiBwYXJzZVByZXJlbGVhc2VBbmRCdWlsZFdpdGhTaWduKHN0cikKICBsb2NhbCBwcmVyZWxlYXNlV2l0aFNpZ24sIGJ1aWxkV2l0aFNpZ24gPSBzdHI6bWF0Y2goIl4oLVteK10rKSgrLispJCIpCiAgaWYgbm90IChwcmVyZWxlYXNlV2l0aFNpZ24gYW5kIGJ1aWxkV2l0aFNpZ24pIHRoZW4KICAgIHByZXJlbGVhc2VXaXRoU2lnbiA9IHN0cjptYXRjaCgiXigtLispJCIpCiAgICBidWlsZFdpdGhTaWduICAgICAgPSBzdHI6bWF0Y2goIl4oKy4rKSQiKQogIGVuZAogIGFzc2VydChwcmVyZWxlYXNlV2l0aFNpZ24gb3IgYnVpbGRXaXRoU2lnbiwgKCJUaGUgcGFyYW1ldGVyICVxIG11c3QgYmVnaW4gd2l0aCArIG9yIC0gdG8gZGVub3RlIGEgcHJlcmVsZWFzZSBvciBhIGJ1aWxkIik6Zm9ybWF0KHN0cikpCiAgcmV0dXJuIHByZXJlbGVhc2VXaXRoU2lnbiwgYnVpbGRXaXRoU2lnbgplbmQKbG9jYWwgZnVuY3Rpb24gcGFyc2VQcmVyZWxlYXNlKHByZXJlbGVhc2VXaXRoU2lnbikKICBpZiBwcmVyZWxlYXNlV2l0aFNpZ24gdGhlbgogICAgbG9jYWwgcHJlcmVsZWFzZSA9IHByZXJlbGVhc2VXaXRoU2lnbjptYXRjaCgiXi0oJXdbJS4ldy1dKikkIikKICAgIGFzc2VydChwcmVyZWxlYXNlLCAoIlRoZSBwcmVyZWxlYXNlICVxIGlzIG5vdCBhIHNsYXNoIGZvbGxvd2VkIGJ5IGFscGhhbnVtZXJpY3MsIGRvdHMgYW5kIHNsYXNoZXMiKTpmb3JtYXQocHJlcmVsZWFzZVdpdGhTaWduKSkKICAgIHJldHVybiBwcmVyZWxlYXNlCiAgZW5kCmVuZApsb2NhbCBmdW5jdGlvbiBwYXJzZUJ1aWxkKGJ1aWxkV2l0aFNpZ24pCiAgaWYgYnVpbGRXaXRoU2lnbiB0aGVuCiAgICBsb2NhbCBidWlsZCA9IGJ1aWxkV2l0aFNpZ246bWF0Y2goIl4lKygld1slLiV3LV0qKSQiKQogICAgYXNzZXJ0KGJ1aWxkLCAoIlRoZSBidWlsZCAlcSBpcyBub3QgYSArIHNpZ24gZm9sbG93ZWQgYnkgYWxwaGFudW1lcmljcywgZG90cyBhbmQgc2xhc2hlcyIpOmZvcm1hdChidWlsZFdpdGhTaWduKSkKICAgIHJldHVybiBidWlsZAogIGVuZAplbmQKbG9jYWwgZnVuY3Rpb24gcGFyc2VQcmVyZWxlYXNlQW5kQnVpbGQoc3RyKQogIGlmIG5vdCBwcmVzZW50KHN0cikgdGhlbiByZXR1cm4gbmlsLCBuaWwgZW5kCiAgbG9jYWwgcHJlcmVsZWFzZVdpdGhTaWduLCBidWlsZFdpdGhTaWduID0gcGFyc2VQcmVyZWxlYXNlQW5kQnVpbGRXaXRoU2lnbihzdHIpCiAgbG9jYWwgcHJlcmVsZWFzZSA9IHBhcnNlUHJlcmVsZWFzZShwcmVyZWxlYXNlV2l0aFNpZ24pCiAgbG9jYWwgYnVpbGQgPSBwYXJzZUJ1aWxkKGJ1aWxkV2l0aFNpZ24pCiAgcmV0dXJuIHByZXJlbGVhc2UsIGJ1aWxkCmVuZApsb2NhbCBmdW5jdGlvbiBwYXJzZVZlcnNpb24oc3RyKQogIGxvY2FsIHNNYWpvciwgc01pbm9yLCBzUGF0Y2gsIHNQcmVyZWxlYXNlQW5kQnVpbGQgPSBzdHI6bWF0Y2goIl4oJWQrKSUuPyglZCopJS4/KCVkKikoLi0pJCIpCiAgYXNzZXJ0KHR5cGUoc01ham9yKSA9PSAnc3RyaW5nJywgKCJDb3VsZCBub3QgZXh0cmFjdCB2ZXJzaW9uIG51bWJlcihzKSBmcm9tICVxIik6Zm9ybWF0KHN0cikpCiAgbG9jYWwgbWFqb3IsIG1pbm9yLCBwYXRjaCA9IHRvbnVtYmVyKHNNYWpvciksIHRvbnVtYmVyKHNNaW5vciksIHRvbnVtYmVyKHNQYXRjaCkKICBsb2NhbCBwcmVyZWxlYXNlLCBidWlsZCA9IHBhcnNlUHJlcmVsZWFzZUFuZEJ1aWxkKHNQcmVyZWxlYXNlQW5kQnVpbGQpCiAgcmV0dXJuIG1ham9yLCBtaW5vciwgcGF0Y2gsIHByZXJlbGVhc2UsIGJ1aWxkCmVuZApsb2NhbCBmdW5jdGlvbiBjb21wYXJlKGEsYikKICByZXR1cm4gYSA9PSBiIGFuZCAwIG9yIGEgPCBiIGFuZCAtMSBvciAxCmVuZApsb2NhbCBmdW5jdGlvbiBjb21wYXJlSWRzKG15SWQsIG90aGVySWQpCiAgaWYgbXlJZCA9PSBvdGhlcklkIHRoZW4gcmV0dXJuICAwCiAgZWxzZWlmIG5vdCBteUlkICAgIHRoZW4gcmV0dXJuIC0xCiAgZWxzZWlmIG5vdCBvdGhlcklkIHRoZW4gcmV0dXJuICAxCiAgZW5kCiAgbG9jYWwgc2VsZk51bWJlciwgb3RoZXJOdW1iZXIgPSB0b251bWJlcihteUlkKSwgdG9udW1iZXIob3RoZXJJZCkKICBpZiBzZWxmTnVtYmVyIGFuZCBvdGhlck51bWJlciB0aGVuIC0tIG51bWVyaWNhbCBjb21wYXJpc29uCiAgICByZXR1cm4gY29tcGFyZShzZWxmTnVtYmVyLCBvdGhlck51bWJlcikKICAtLSBudW1lcmljYWxzIGFyZSBhbHdheXMgc21hbGxlciB0aGFuIGFscGhhbnVtcwogIGVsc2VpZiBzZWxmTnVtYmVyIHRoZW4KICAgIHJldHVybiAtMQogIGVsc2VpZiBvdGhlck51bWJlciB0aGVuCiAgICByZXR1cm4gMQogIGVsc2UKICAgIHJldHVybiBjb21wYXJlKG15SWQsIG90aGVySWQpIC0tIGFscGhhbnVtZXJpY2FsIGNvbXBhcmlzb24KICBlbmQKZW5kCmxvY2FsIGZ1bmN0aW9uIHNtYWxsZXJJZExpc3QobXlJZHMsIG90aGVySWRzKQogIGxvY2FsIG15TGVuZ3RoID0gI215SWRzCiAgbG9jYWwgY29tcGFyaXNvbgogIGZvciBpPTEsIG15TGVuZ3RoIGRvCiAgICBjb21wYXJpc29uID0gY29tcGFyZUlkcyhteUlkc1tpXSwgb3RoZXJJZHNbaV0pCiAgICBpZiBjb21wYXJpc29uIH49IDAgdGhlbgogICAgICByZXR1cm4gY29tcGFyaXNvbiA9PSAtMQogICAgZW5kCiAgICAtLSBpZiBjb21wYXJpc29uID09IDAsIGNvbnRpbnVlIGxvb3AKICBlbmQKICByZXR1cm4gbXlMZW5ndGggPCAjb3RoZXJJZHMKZW5kCmxvY2FsIGZ1bmN0aW9uIHNtYWxsZXJQcmVyZWxlYXNlKG1pbmUsIG90aGVyKQogIGlmIG1pbmUgPT0gb3RoZXIgb3Igbm90IG1pbmUgdGhlbiByZXR1cm4gZmFsc2UKICBlbHNlaWYgbm90IG90aGVyIHRoZW4gcmV0dXJuIHRydWUKICBlbmQKICByZXR1cm4gc21hbGxlcklkTGlzdChzcGxpdEJ5RG90KG1pbmUpLCBzcGxpdEJ5RG90KG90aGVyKSkKZW5kCmxvY2FsIG1ldGhvZHMgPSB7fQpmdW5jdGlvbiBtZXRob2RzOm5leHRNYWpvcigpCiAgcmV0dXJuIHNlbXZlcihzZWxmLm1ham9yICsgMSwgMCwgMCkKZW5kCmZ1bmN0aW9uIG1ldGhvZHM6bmV4dE1pbm9yKCkKICByZXR1cm4gc2VtdmVyKHNlbGYubWFqb3IsIHNlbGYubWlub3IgKyAxLCAwKQplbmQKZnVuY3Rpb24gbWV0aG9kczpuZXh0UGF0Y2goKQogIHJldHVybiBzZW12ZXIoc2VsZi5tYWpvciwgc2VsZi5taW5vciwgc2VsZi5wYXRjaCArIDEpCmVuZApsb2NhbCBtdCA9IHsgX19pbmRleCA9IG1ldGhvZHMgfQpmdW5jdGlvbiBtdDpfX2VxKG90aGVyKQogIHJldHVybiBzZWxmLm1ham9yID09IG90aGVyLm1ham9yIGFuZAogICAgICAgICBzZWxmLm1pbm9yID09IG90aGVyLm1pbm9yIGFuZAogICAgICAgICBzZWxmLnBhdGNoID09IG90aGVyLnBhdGNoIGFuZAogICAgICAgICBzZWxmLnByZXJlbGVhc2UgPT0gb3RoZXIucHJlcmVsZWFzZQogICAgICAgICAtLSBub3RpY2UgdGhhdCBidWlsZCBpcyBpZ25vcmVkIGZvciBwcmVjZWRlbmNlIGluIHNlbXZlciAyLjAuMAplbmQKZnVuY3Rpb24gbXQ6X19sdChvdGhlcikKICBpZiBzZWxmLm1ham9yIH49IG90aGVyLm1ham9yIHRoZW4gcmV0dXJuIHNlbGYubWFqb3IgPCBvdGhlci5tYWpvciBlbmQKICBpZiBzZWxmLm1pbm9yIH49IG90aGVyLm1pbm9yIHRoZW4gcmV0dXJuIHNlbGYubWlub3IgPCBvdGhlci5taW5vciBlbmQKICBpZiBzZWxmLnBhdGNoIH49IG90aGVyLnBhdGNoIHRoZW4gcmV0dXJuIHNlbGYucGF0Y2ggPCBvdGhlci5wYXRjaCBlbmQKICByZXR1cm4gc21hbGxlclByZXJlbGVhc2Uoc2VsZi5wcmVyZWxlYXNlLCBvdGhlci5wcmVyZWxlYXNlKQogIC0tIG5vdGljZSB0aGF0IGJ1aWxkIGlzIGlnbm9yZWQgZm9yIHByZWNlZGVuY2UgaW4gc2VtdmVyIDIuMC4wCmVuZApmdW5jdGlvbiBtdDpfX3BvdyhvdGhlcikKICBpZiBzZWxmLm1ham9yID09IDAgdGhlbgogICAgcmV0dXJuIHNlbGYgPT0gb3RoZXIKICBlbmQKICByZXR1cm4gc2VsZi5tYWpvciA9PSBvdGhlci5tYWpvciBhbmQKICAgICAgICAgc2VsZi5taW5vciA8PSBvdGhlci5taW5vcgplbmQKZnVuY3Rpb24gbXQ6X190b3N0cmluZygpCiAgbG9jYWwgYnVmZmVyID0geyAoIiVkLiVkLiVkIik6Zm9ybWF0KHNlbGYubWFqb3IsIHNlbGYubWlub3IsIHNlbGYucGF0Y2gpIH0KICBpZiBzZWxmLnByZXJlbGVhc2UgdGhlbiB0YWJsZS5pbnNlcnQoYnVmZmVyLCAiLSIgLi4gc2VsZi5wcmVyZWxlYXNlKSBlbmQKICBpZiBzZWxmLmJ1aWxkICAgICAgdGhlbiB0YWJsZS5pbnNlcnQoYnVmZmVyLCAiKyIgLi4gc2VsZi5idWlsZCkgZW5kCiAgcmV0dXJuIHRhYmxlLmNvbmNhdChidWZmZXIpCmVuZApsb2NhbCBmdW5jdGlvbiBuZXcobWFqb3IsIG1pbm9yLCBwYXRjaCwgcHJlcmVsZWFzZSwgYnVpbGQpCiAgYXNzZXJ0KG1ham9yLCAiQXQgbGVhc3Qgb25lIHBhcmFtZXRlciBpcyBuZWVkZWQiKQogIGlmIHR5cGUobWFqb3IpID09ICdzdHJpbmcnIHRoZW4KICAgIG1ham9yLG1pbm9yLHBhdGNoLHByZXJlbGVhc2UsYnVpbGQgPSBwYXJzZVZlcnNpb24obWFqb3IpCiAgZW5kCiAgcGF0Y2ggPSBwYXRjaCBvciAwCiAgbWlub3IgPSBtaW5vciBvciAwCiAgY2hlY2tQb3NpdGl2ZUludGVnZXIobWFqb3IsICJtYWpvciIpCiAgY2hlY2tQb3NpdGl2ZUludGVnZXIobWlub3IsICJtaW5vciIpCiAgY2hlY2tQb3NpdGl2ZUludGVnZXIocGF0Y2gsICJwYXRjaCIpCiAgbG9jYWwgcmVzdWx0ID0ge21ham9yPW1ham9yLCBtaW5vcj1taW5vciwgcGF0Y2g9cGF0Y2gsIHByZXJlbGVhc2U9cHJlcmVsZWFzZSwgYnVpbGQ9YnVpbGR9CiAgcmV0dXJuIHNldG1ldGF0YWJsZShyZXN1bHQsIG10KQplbmQKc2V0bWV0YXRhYmxlKHNlbXZlciwgeyBfX2NhbGwgPSBmdW5jdGlvbihfLCAuLi4pIHJldHVybiBuZXcoLi4uKSBlbmQgfSkKc2VtdmVyLl9WRVJTSU9OPSBzZW12ZXIoc2VtdmVyLl9WRVJTSU9OKQpyZXR1cm4gc2VtdmVyCgAAAABsb2NhbCBwID0gcHJlbWFrZQpwLnJ1bGUgPSBwLmFwaS5jb250YWluZXIoInJ1bGUiLCBwLmdsb2JhbCkKbG9jYWwgcnVsZSA9IHAucnVsZQpmdW5jdGlvbiBydWxlLm5ldyhuYW1lKQpsb2NhbCBzZWxmID0gcC5jb250YWluZXIubmV3KHJ1bGUsIG5hbWUpCl9HW25hbWUgLi4gIlZhcnMiXSA9IGZ1bmN0aW9uKHZhcnMpCnJ1bGUuc2V0VmFycyhzZWxmLCB2YXJzKQplbmQKbG9jYWwgbG93ZXJOYW1lID0gIG5hbWU6Z3N1YigiXiV1KyIsIHN0cmluZy5sb3dlcikKX0dbbG93ZXJOYW1lIC4uICJWYXJzIl0gPSBfR1tuYW1lIC4uICJWYXJzIl0KcmV0dXJuIHNlbGYKZW5kCmZ1bmN0aW9uIHJ1bGUuZWFjaFByb3BlcnR5KHNlbGYpCmxvY2FsIHByb3BzID0gc2VsZi5wcm9wZXJ0eWRlZmluaXRpb24KbG9jYWwgaSA9IDAKcmV0dXJuIGZ1bmN0aW9uICgpCmkgPSBpICsgMQppZiBpIDw9ICNwcm9wcyB0aGVuCnJldHVybiBwcm9wc1tpXQplbmQKZW5kCmVuZApmdW5jdGlvbiBydWxlLmdldFByb3BlcnR5KHNlbGYsIG5hbWUpCmxvY2FsIHByb3BzID0gc2VsZi5wcm9wZXJ0eWRlZmluaXRpb24KZm9yIGkgPSAxLCAjcHJvcHMgZG8KbG9jYWwgcHJvcCA9IHByb3BzW2ldCmlmIHByb3AubmFtZSA9PSBuYW1lIHRoZW4KcmV0dXJuIHByb3AKZW5kCmVuZAplbmQKZnVuY3Rpb24gcnVsZS5nZXRQcm9wZXJ0eUZpZWxkKHNlbGYsIHByb3ApCmlmIHByb3AuX2ZpZWxkIHRoZW4KcmV0dXJuIHByb3AuX2ZpZWxkCmVuZApsb2NhbCBraW5kID0gcHJvcC5raW5kIG9yICJzdHJpbmciCmlmIGtpbmQgPT0gImxpc3QiIHRoZW4Ka2luZCA9ICJsaXN0OnN0cmluZyIKZW5kCmxvY2FsIGZsZCA9IHAuZmllbGQubmV3IHsKbmFtZSA9ICJfcnVsZV8iIC4uIHNlbGYubmFtZSAuLiAiXyIgLi4gcHJvcC5uYW1lLApzY29wZSA9ICJjb25maWciLApraW5kID0ga2luZCwKdG9rZW5zID0gdHJ1ZSwKfQpwcm9wLl9maWVsZCA9IGZsZApyZXR1cm4gZmxkCmVuZApmdW5jdGlvbiBydWxlLnNldFZhcnMoc2VsZiwgdmFycykKZm9yIGtleSwgdmFsdWUgaW4gcGFpcnModmFycykgZG8KbG9jYWwgcHJvcCA9IHJ1bGUuZ2V0UHJvcGVydHkoc2VsZiwga2V5KQppZiBub3QgcHJvcCB0aGVuCmVycm9yIChzdHJpbmcuZm9ybWF0KCJydWxlICclcycgZG9lcyBub3QgaGF2ZSBwcm9wZXJ0eSAnJXMnIiwgc2VsZi5uYW1lLCBrZXkpKQplbmQKbG9jYWwgZmxkID0gcnVsZS5nZXRQcm9wZXJ0eUZpZWxkKHNlbGYsIHByb3ApCnAuYXBpLnN0b3JlRmllbGQoZmxkLCB2YWx1ZSkKZW5kCmVuZApmdW5jdGlvbiBydWxlLnByZXBhcmVFbnZpcm9ubWVudChzZWxmLCBlbnZpcm9uLCBmb3JtYXQpCmZvciBfLCBkZWYgaW4gaXBhaXJzKHNlbGYucHJvcGVydHlkZWZpbml0aW9uKSBkbwplbnZpcm9uW2RlZi5uYW1lXSA9IHN0cmluZy5mb3JtYXQoZm9ybWF0LCBkZWYubmFtZSkKZW5kCmVuZApmdW5jdGlvbiBydWxlLmNyZWF0ZUVudmlyb25tZW50KHNlbGYsIGZvcm1hdCkKbG9jYWwgZW52aXJvbiA9IHt9CnJ1bGUucHJlcGFyZUVudmlyb25tZW50KHNlbGYsIGVudmlyb24sIGZvcm1hdCkKcmV0dXJuIGVudmlyb24KZW5kCmZ1bmN0aW9uIHJ1bGUucHJlcGFyZVBhdGhWYXJzKHNlbGYsIHBhdGhWYXJzLCBmb3JtYXQpCmZvciBfLCBkZWYgaW4gaXBhaXJzKHNlbGYucHJvcGVydHlkZWZpbml0aW9uKSBkbwpwYXRoVmFyc1tkZWYubmFtZV0gPSB7IGFic29sdXRlID0gdHJ1ZSwgIHRva2VuID0gc3RyaW5nLmZvcm1hdChmb3JtYXQsIGRlZi5uYW1lKSB9CmVuZAplbmQKZnVuY3Rpb24gcnVsZS5jcmVhdGVQYXRoVmFycyhzZWxmLCBmb3JtYXQpCmxvY2FsIHBhdGhWYXJzID0ge30KcnVsZS5wcmVwYXJlUGF0aFZhcnMoc2VsZiwgcGF0aFZhcnMsIGZvcm1hdCkKcmV0dXJuIHBhdGhWYXJzCmVuZAoAZnVuY3Rpb24gZG9maWxlb3B0KGZuYW1lKQppZiB0eXBlKGZuYW1lKSA9PSAic3RyaW5nIiB0aGVuIGZuYW1lID0ge2ZuYW1lfSBlbmQKZm9yIGkgPSAxLCAjZm5hbWUgZG8KbG9jYWwgZm91bmQgPSBvcy5sb2NhdGUoZm5hbWVbaV0pCmlmIG5vdCBmb3VuZCB0aGVuCmZvdW5kID0gb3MubG9jYXRlKGZuYW1lW2ldIC4uICIubHVhIikKZW5kCmlmIGZvdW5kIHRoZW4KZG9maWxlKGZvdW5kKQpyZXR1cm4gdHJ1ZQplbmQKZW5kCmVuZAppby5faW5jbHVkZWRGaWxlcyA9IHt9CmZ1bmN0aW9uIGluY2x1ZGUoZm5hbWUpCmxvY2FsIGZ1bGxQYXRoID0gcHJlbWFrZS5maW5kUHJvamVjdFNjcmlwdChmbmFtZSkKZm5hbWUgPSBmdWxsUGF0aCBvciBmbmFtZQppZiBub3QgaW8uX2luY2x1ZGVkRmlsZXNbZm5hbWVdIHRoZW4KaW8uX2luY2x1ZGVkRmlsZXNbZm5hbWVdID0gdHJ1ZQpyZXR1cm4gZG9maWxlKGZuYW1lKQplbmQKZW5kCnByZW1ha2Uub3ZlcnJpZGUoX0csICJyZXF1aXJlIiwgZnVuY3Rpb24oYmFzZSwgbW9kbmFtZSwgdmVyc2lvbnMpCmxvY2FsIHJlc3VsdCwgbW9kID0gcGNhbGwoYmFzZSxtb2RuYW1lKQppZiBub3QgcmVzdWx0IHRoZW4KaWYgKHByZW1ha2UuZG93bmxvYWRNb2R1bGUobW9kbmFtZSwgdmVyc2lvbnMpKSB0aGVuCnJlc3VsdCwgbW9kID0gcGNhbGwoYmFzZSwgbW9kbmFtZSk7CmVuZAppZiBub3QgcmVzdWx0IHRoZW4KZXJyb3IobW9kLCAzKQplbmQKZW5kCmlmIG1vZCBhbmQgdmVyc2lvbnMgYW5kIG5vdCBwcmVtYWtlLmNoZWNrVmVyc2lvbihtb2QuX1ZFUlNJT04sIHZlcnNpb25zKSB0aGVuCmVycm9yKHN0cmluZy5mb3JtYXQoIm1vZHVsZSAlcyAlcyBkb2VzIG5vdCBtZWV0IHZlcnNpb24gY3JpdGVyaWEgJXMiLAptb2RuYW1lLCBtb2QuX1ZFUlNJT04gb3IgIihub25lKSIsIHZlcnNpb25zKSwgMykKZW5kCnJldHVybiBtb2QKZW5kKQoAAABsb2NhbCBwID0gcHJlbWFrZQpsb2NhbCBtID0gcC52c3R1ZGlvLnZjMjAweAptLmVsZW1lbnRzLnVzZXIgPSBmdW5jdGlvbihjZmcpCnJldHVybiB7Cm0uZGVidWdTZXR0aW5ncywKfQplbmQKZnVuY3Rpb24gbS5nZW5lcmF0ZVVzZXIocHJqKQpwLmluZGVudCgiXHQiKQpsb2NhbCBjb250ZW50cyA9IHt9CmxvY2FsIHNpemUgPSAwCmZvciBjZmcgaW4gcC5wcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpjb250ZW50c1tjZmddID0gcC5jYXB0dXJlKGZ1bmN0aW9uKCkKcC5wdXNoKDQpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMudXNlciwgY2ZnKQpwLnBvcCg0KQplbmQpCnNpemUgPSBzaXplICsgI2NvbnRlbnRzW2NmZ10KZW5kCmlmIHNpemUgPiAwIHRoZW4KbS54bWxFbGVtZW50KCkKbS52aXN1YWxTdHVkaW9Vc2VyRmlsZSgpCnAucHVzaCgnPENvbmZpZ3VyYXRpb25zPicpCmZvciBjZmcgaW4gcC5wcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwptLnVzZXJDb25maWd1cmF0aW9uKGNmZykKcC5wdXNoKCc8RGVidWdTZXR0aW5ncycpCmlmICNjb250ZW50c1tjZmddID4gMCB0aGVuCnAub3V0bG4oY29udGVudHNbY2ZnXSkKZW5kCnAucG9wKCcvPicpCnAucG9wKCc8L0NvbmZpZ3VyYXRpb24+JykKZW5kCnAucG9wKCc8L0NvbmZpZ3VyYXRpb25zPicpCnAucG9wKCc8L1Zpc3VhbFN0dWRpb1VzZXJGaWxlPicpCmVuZAplbmQKZnVuY3Rpb24gbS52aXN1YWxTdHVkaW9Vc2VyRmlsZSgpCnAucHVzaCgnPFZpc3VhbFN0dWRpb1VzZXJGaWxlJykKcC53KCdQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyInKQptLnZlcnNpb24oKQpwLncoJ1Nob3dBbGxGaWxlcz0iZmFsc2UiJykKcC53KCc+JykKZW5kCmZ1bmN0aW9uIG0udXNlckNvbmZpZ3VyYXRpb24oY2ZnKQpwLnB1c2goJzxDb25maWd1cmF0aW9uJykKcC54KCdOYW1lPSIlcyInLCBwLnZzdHVkaW8ucHJvamVjdENvbmZpZyhjZmcpKQpwLncoJz4nKQplbmQKbS5lbGVtZW50cy5kZWJ1Z1NldHRpbmdzID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4gewptLmRlYnVnQ29tbWFuZCwKbS5kZWJ1Z0RpciwKbS5kZWJ1Z0FyZ3MsCm0uZGVidWdFbnZpcm9ubWVudCwKfQplbmQKZnVuY3Rpb24gbS5kZWJ1Z1NldHRpbmdzKGNmZykKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5kZWJ1Z1NldHRpbmdzLCBjZmcpCmVuZApmdW5jdGlvbiBtLmRlYnVnQXJncyhjZmcpCmlmICNjZmcuZGVidWdhcmdzID4gMCB0aGVuCnAueCgnQ29tbWFuZEFyZ3VtZW50cz0iJXMiJywgdGFibGUuY29uY2F0KGNmZy5kZWJ1Z2FyZ3MsICIgIikpCmVuZAplbmQKZnVuY3Rpb24gbS5kZWJ1Z0NvbW1hbmQoY2ZnKQppZiBjZmcuZGVidWdjb21tYW5kIHRoZW4KcC54KCdDb21tYW5kPSIlcyInLCBwLnZzdHVkaW8ucGF0aChjZmcsIGNmZy5kZWJ1Z2NvbW1hbmQpKQplbmQKZW5kCmZ1bmN0aW9uIG0uZGVidWdEaXIoY2ZnKQppZiBjZmcuZGVidWdkaXIgdGhlbgpwLngoJ1dvcmtpbmdEaXJlY3Rvcnk9IiVzIicsIHAudnN0dWRpby5wYXRoKGNmZywgY2ZnLmRlYnVnZGlyKSkKZW5kCmVuZApmdW5jdGlvbiBtLmRlYnVnRW52aXJvbm1lbnQoY2ZnKQppZiAjY2ZnLmRlYnVnZW52cyA+IDAgdGhlbgpwLngoJ0Vudmlyb25tZW50PSIlcyInLCB0YWJsZS5jb25jYXQoY2ZnLmRlYnVnZW52cywgIlxuIikpCmlmIGNmZy5mbGFncy5EZWJ1Z0VudnNEb250TWVyZ2UgdGhlbgpwLngoJ0Vudmlyb25tZW50TWVyZ2U9ImZhbHNlIicpCmVuZAplbmQKZW5kCgAAAChuaWwpAAAAAAAAAGxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIGdtYWtlMiA9IHAubW9kdWxlcy5nbWFrZTIKZ21ha2UyLmNzICAgICAgICA9IHt9CmxvY2FsIGNzICAgICAgICAgPSBnbWFrZTIuY3MKbG9jYWwgcHJvamVjdCAgICA9IHAucHJvamVjdApsb2NhbCBjb25maWcgICAgID0gcC5jb25maWcKbG9jYWwgZmlsZWNvbmZpZyA9IHAuZmlsZWNvbmZpZwpjcy5lbGVtZW50cyA9IHt9CmNzLmVsZW1lbnRzLm1ha2VmaWxlID0gZnVuY3Rpb24ocHJqKQpyZXR1cm4gewpnbWFrZTIuaGVhZGVyLApnbWFrZTIucGhvbnlSdWxlcywKZ21ha2UyLmNzQ29uZmlncywKZ21ha2UyLmNzUHJvamVjdENvbmZpZywKZ21ha2UyLmNzU291cmNlcywKZ21ha2UyLmNzRW1iZWRGaWxlcywKZ21ha2UyLmNzQ29weUZpbGVzLApnbWFrZTIuY3NSZXNwb25zZUZpbGUsCmdtYWtlMi5zaGVsbFR5cGUsCmdtYWtlMi5jc0FsbFJ1bGVzLApnbWFrZTIuY3NUYXJnZXRSdWxlcywKZ21ha2UyLnRhcmdldERpclJ1bGVzLApnbWFrZTIuY3NSZXNwb25zZVJ1bGVzLApnbWFrZTIub2JqRGlyUnVsZXMsCmdtYWtlMi5jc0NsZWFuUnVsZXMsCmdtYWtlMi5wcmVCdWlsZFJ1bGVzLApnbWFrZTIuY3NGaWxlUnVsZXMsCn0KZW5kCmZ1bmN0aW9uIGNzLmdlbmVyYXRlKHByaikKcC5lb2woIlxuIikKbG9jYWwgdG9vbHNldCA9IHAudG9vbHMuZG90bmV0CnAuY2FsbEFycmF5KGNzLmVsZW1lbnRzLm1ha2VmaWxlLCBwcmosIHRvb2xzZXQpCmVuZApjcy5lbGVtZW50cy5jb25maWd1cmF0aW9uID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4gewpnbWFrZTIuY3NUb29scywKZ21ha2UyLnRhcmdldCwKZ21ha2UyLm9iamRpciwKZ21ha2UyLmNzRmxhZ3MsCmdtYWtlMi5jc0xpbmtDbWQsCmdtYWtlMi5wcmVCdWlsZENtZHMsCmdtYWtlMi5wcmVMaW5rQ21kcywKZ21ha2UyLnBvc3RCdWlsZENtZHMsCmdtYWtlMi5zZXR0aW5ncywKfQplbmQKZnVuY3Rpb24gZ21ha2UyLmNzQ29uZmlncyhwcmosIHRvb2xzZXQpCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KX3goJ2lmZXEgKCQoY29uZmlnKSwlcyknLCBjZmcuc2hvcnRuYW1lKQpwLmNhbGxBcnJheShjcy5lbGVtZW50cy5jb25maWd1cmF0aW9uLCBjZmcsIHRvb2xzZXQpCl9wKCdlbmRpZicpCl9wKCcnKQplbmQKZW5kCmZ1bmN0aW9uIGNzLmdldHJlc291cmNlZmlsZW5hbWUoY2ZnLCBmbmFtZSkKaWYgcGF0aC5nZXRleHRlbnNpb24oZm5hbWUpID09ICIucmVzeCIgdGhlbgpsb2NhbCBuYW1lID0gY2ZnLmJ1aWxkdGFyZ2V0LmJhc2VuYW1lIC4uICIuIgpsb2NhbCBkaXIgPSBwYXRoLmdldGRpcmVjdG9yeShmbmFtZSkKaWYgZGlyIH49ICIuIiB0aGVuCm5hbWUgPSBuYW1lIC4uIHBhdGgudHJhbnNsYXRlKGRpciwgIi4iKSAuLiAiLiIKZW5kCnJldHVybiAiJChPQkpESVIpLyIgLi4gcC5lc2MobmFtZSAuLiBwYXRoLmdldGJhc2VuYW1lKGZuYW1lKSkgLi4gIi5yZXNvdXJjZXMiCmVsc2UKcmV0dXJuIGZuYW1lCmVuZAplbmQKZnVuY3Rpb24gY3MubGlzdHNvdXJjZXMocHJqLCBzZWxlY3RvcikKbG9jYWwgdHIgPSBwcm9qZWN0LmdldHNvdXJjZXRyZWUocHJqKQpwLnRyZWUudHJhdmVyc2UodHIsIHsKb25sZWFmID0gZnVuY3Rpb24obm9kZSwgZGVwdGgpCmxvY2FsIHZhbHVlID0gc2VsZWN0b3Iobm9kZSkKaWYgdmFsdWUgdGhlbgpfeCgnXHQlcyBcXCcsIHZhbHVlKQplbmQKZW5kCn0pCmVuZApmdW5jdGlvbiBnbWFrZTIuY3NBbGxSdWxlcyhwcmosIHRvb2xzZXQpCl9wKCdhbGw6IHByZWJ1aWxkICQoRU1CRURGSUxFUykgJChDT1BZRklMRVMpICQoVEFSR0VUKScpCl9wKCcnKQplbmQKZnVuY3Rpb24gZ21ha2UyLmNzQ2xlYW5SdWxlcyhwcmosIHRvb2xzZXQpCmVuZApmdW5jdGlvbiBnbWFrZTIuY3NDb3B5RmlsZXMocHJqLCB0b29sc2V0KQplbmQKZnVuY3Rpb24gY3MuZ2V0cmVzcG9uc2VmaWxlbmFtZShwcmopCnJldHVybiAnJChPQkpESVIpLycgLi4gcHJqLmZpbGVuYW1lIC4uICcucnNwJwplbmQKZnVuY3Rpb24gZ21ha2UyLmNzUmVzcG9uc2VGaWxlKHByaiwgdG9vbHNldCkKX3goJ1JFU1BPTlNFICs9ICcgLi4gZ21ha2UyLmNzLmdldHJlc3BvbnNlZmlsZW5hbWUocHJqKSkKZW5kCmZ1bmN0aW9uIGdtYWtlMi5jc1Jlc3BvbnNlUnVsZXMocHJqKQpsb2NhbCB0b29sc2V0ID0gcC50b29scy5kb3RuZXQKbG9jYWwgZXh0ID0gZ21ha2UyLmdldG1ha2VmaWxlbmFtZShwcmosIHRydWUpCmxvY2FsIG1ha2VmaWxlID0gcGF0aC5nZXRuYW1lKHAuZmlsZW5hbWUocHJqLCBleHQpKQpsb2NhbCByZXNwb25zZSA9IGdtYWtlMi5jcy5nZXRyZXNwb25zZWZpbGVuYW1lKHByaikKX3AoJyQoUkVTUE9OU0UpOiAlcycsIG1ha2VmaWxlKQpfcCgnXHRAZWNobyBHZW5lcmF0aW5nIHJlc3BvbnNlIGZpbGUnLCBwcmoubmFtZSkKX3AoJ2lmZXEgKHBvc2l4LCQoU0hFTExUWVBFKSknKQpfeCgnXHQkKFNJTEVOVCkgcm0gLWYgJChSRVNQT05TRSknKQpfcCgnZWxzZScpCl94KCdcdCQoU0lMRU5UKSBpZiBleGlzdCAkKFJFU1BPTlNFKSBkZWwgJXMnLCBwYXRoLnRyYW5zbGF0ZShyZXNwb25zZSwgJ1xcJykpCl9wKCdlbmRpZicpCmxvY2FsIHNlcCA9IG9zLmlzdGFyZ2V0KCJ3aW5kb3dzIikgYW5kICJcXCIgb3IgIi8iCmxvY2FsIHRyID0gcHJvamVjdC5nZXRzb3VyY2V0cmVlKHByaikKcC50cmVlLnRyYXZlcnNlKHRyLCB7Cm9ubGVhZiA9IGZ1bmN0aW9uKG5vZGUsIGRlcHRoKQppZiB0b29sc2V0LmZpbGVpbmZvKG5vZGUpLmFjdGlvbiA9PSAiQ29tcGlsZSIgdGhlbgpfeCgnXHRAZWNobyAlcyA+PiAkKFJFU1BPTlNFKScsIHBhdGgudHJhbnNsYXRlKG5vZGUucmVscGF0aCwgc2VwKSkKZW5kCmVuZAp9KQpfcCgnJykKZW5kCmZ1bmN0aW9uIGdtYWtlMi5jc0VtYmVkRmlsZXMocHJqLCB0b29sc2V0KQpsb2NhbCBjZmcgPSBwcm9qZWN0LmdldGZpcnN0Y29uZmlnKHByaikKX3AoJ0VNQkVERklMRVMgKz0gXFwnKQpjcy5saXN0c291cmNlcyhwcmosIGZ1bmN0aW9uKG5vZGUpCmxvY2FsIGZjZmcgPSBmaWxlY29uZmlnLmdldGNvbmZpZyhub2RlLCBjZmcpCmxvY2FsIGluZm8gPSB0b29sc2V0LmZpbGVpbmZvKGZjZmcpCmlmIGluZm8uYWN0aW9uID09ICJFbWJlZGRlZFJlc291cmNlIiB0aGVuCnJldHVybiBjcy5nZXRyZXNvdXJjZWZpbGVuYW1lKGNmZywgbm9kZS5yZWxwYXRoKQplbmQKZW5kKQpfcCgnJykKZW5kCmZ1bmN0aW9uIGdtYWtlMi5jc0ZpbGVSdWxlcyhwcmosIHRvb2xzZXQpCmVuZApmdW5jdGlvbiBnbWFrZTIuY3NGbGFncyhjZmcsIHRvb2xzZXQpCl9wKCcgIEZMQUdTID0lcycsIGdtYWtlMi5saXN0KHRvb2xzZXQuZ2V0ZmxhZ3MoY2ZnKSkpCmVuZApmdW5jdGlvbiBnbWFrZTIuY3NMaW5rQ21kKGNmZywgdG9vbHNldCkKbG9jYWwgZGVwcyA9IHAuZXNjKGNvbmZpZy5nZXRsaW5rcyhjZmcsICJkZXBlbmRlbmNpZXMiLCAiZnVsbHBhdGgiKSkKX3AoJyAgREVQRU5EUyA9JXMnLCBnbWFrZTIubGlzdChkZXBzKSkKX3AoJyAgUkVGRVJFTkNFUyA9ICVzJywgdGFibGUuaW1wbG9kZShkZXBzLCAiL3I6IiwgIiIsICIgIikpCmVuZApmdW5jdGlvbiBnbWFrZTIuY3NQcm9qZWN0Q29uZmlnKHByaiwgdG9vbHNldCkKbG9jYWwgY2ZnID0gcHJvamVjdC5nZXRmaXJzdGNvbmZpZyhwcmopCmxvY2FsIGtpbmRmbGFnID0gIi90OiIgLi4gdG9vbHNldC5nZXRraW5kKGNmZyk6bG93ZXIoKQpsb2NhbCBsaWJkaXJzID0gdGFibGUuaW1wbG9kZShwLmVzYyhjZmcubGliZGlycyksICIvbGliOiIsICIiLCAiICIpCl9wKCdGTEFHUyArPSAlcycsIHRhYmxlLmNvbmNhdCh0YWJsZS5qb2luKGtpbmRmbGFnLCBsaWJkaXJzKSwgIiAiKSkKbG9jYWwgcmVmcyA9IHAuZXNjKGNvbmZpZy5nZXRsaW5rcyhjZmcsICJzeXN0ZW0iLCAiZnVsbHBhdGgiKSkKX3AoJ1JFRkVSRU5DRVMgKz0gJXMnLCB0YWJsZS5pbXBsb2RlKHJlZnMsICIvcjoiLCAiIiwgIiAiKSkKX3AoJycpCmVuZApmdW5jdGlvbiBnbWFrZTIuY3NTb3VyY2VzKHByaiwgdG9vbHNldCkKbG9jYWwgY2ZnID0gcHJvamVjdC5nZXRmaXJzdGNvbmZpZyhwcmopCl9wKCdTT1VSQ0VTICs9IFxcJykKY3MubGlzdHNvdXJjZXMocHJqLCBmdW5jdGlvbihub2RlKQpsb2NhbCBmY2ZnID0gZmlsZWNvbmZpZy5nZXRjb25maWcobm9kZSwgY2ZnKQpsb2NhbCBpbmZvID0gdG9vbHNldC5maWxlaW5mbyhmY2ZnKQppZiBpbmZvLmFjdGlvbiA9PSAiQ29tcGlsZSIgdGhlbgpyZXR1cm4gbm9kZS5yZWxwYXRoCmVuZAplbmQpCl9wKCcnKQplbmQKZnVuY3Rpb24gZ21ha2UyLmNzVGFyZ2V0UnVsZXMocHJqLCB0b29sc2V0KQpfcCgnJChUQVJHRVQpOiAkKFNPVVJDRVMpICQoRU1CRURGSUxFUykgJChERVBFTkRTKSAkKFJFU1BPTlNFKSB8ICQoVEFSR0VURElSKScpCl9wKCdcdCQoUFJFTElOS0NNRFMpJykKX3AoJ1x0JChTSUxFTlQpICQoQ1NDKSAvbm9sb2dvIC9vdXQ6JEAgJChGTEFHUykgJChSRUZFUkVOQ0VTKSBAJChSRVNQT05TRSkgJChwYXRzdWJzdCAlJSwvcmVzb3VyY2U6JSUsJChFTUJFREZJTEVTKSknKQpfcCgnXHQkKFBPU1RCVUlMRENNRFMpJykKX3AoJycpCmVuZApmdW5jdGlvbiBnbWFrZTIuY3NUb29scyhjZmcsIHRvb2xzZXQpCl9wKCcgIENTQyA9ICVzJywgdG9vbHNldC5nZXR0b29sbmFtZShjZmcsICJjc2MiKSkKX3AoJyAgUkVTR0VOID0gJXMnLCB0b29sc2V0LmdldHRvb2xuYW1lKGNmZywgInJlc2dlbiIpKQplbmQKAGxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIGFwaSA9IHAuYXBpCmFwaS5hZGRBbGxvd2VkKCJzeXN0ZW0iLCBwLkFORFJPSUQpCmFwaS5hZGRBbGxvd2VkKCJhcmNoaXRlY3R1cmUiLCB7ICJhcm12NSIsICJhcm12NyIsICJhYXJjaDY0IiwgIm1pcHMiLCAibWlwczY0IiwgImFybSIgfSkKYXBpLmFkZEFsbG93ZWQoInZlY3RvcmV4dGVuc2lvbnMiLCB7ICJORU9OIiwgIk1YVSIgfSkKYXBpLmFkZEFsbG93ZWQoImV4Y2VwdGlvbmhhbmRsaW5nIiwgeyJVbndpbmRUYWJsZXMifSkKYXBpLmFkZEFsbG93ZWQoImZsYWdzIiwgeyAiVGh1bWIiIH0pCmFwaS5hZGRBbGxvd2VkKCJraW5kIiwgcC5QQUNLQUdJTkcpCnByZW1ha2UuYWN0aW9uLl9saXN0WyJ2czIwMTUiXS52YWxpZF9raW5kcyA9IHRhYmxlLmpvaW4ocHJlbWFrZS5hY3Rpb24uX2xpc3RbInZzMjAxNSJdLnZhbGlkX2tpbmRzLCB7IHAuUEFDS0FHSU5HIH0pCnByZW1ha2UuYWN0aW9uLl9saXN0WyJ2czIwMTciXS52YWxpZF9raW5kcyA9IHRhYmxlLmpvaW4ocHJlbWFrZS5hY3Rpb24uX2xpc3RbInZzMjAxNyJdLnZhbGlkX2tpbmRzLCB7IHAuUEFDS0FHSU5HIH0pCnByZW1ha2UuYWN0aW9uLl9saXN0WyJ2czIwMTkiXS52YWxpZF9raW5kcyA9IHRhYmxlLmpvaW4ocHJlbWFrZS5hY3Rpb24uX2xpc3RbInZzMjAxOSJdLnZhbGlkX2tpbmRzLCB7IHAuUEFDS0FHSU5HIH0pCmxvY2FsIG9zb3B0aW9uID0gcC5vcHRpb24uZ2V0KCJvcyIpCmlmIG9zb3B0aW9uIH49IG5pbCB0aGVuCnRhYmxlLmluc2VydChvc29wdGlvbi5hbGxvd2VkLCB7ICJhbmRyb2lkIiwgICJBbmRyb2lkIiB9KQplbmQKb3Muc3lzdGVtVGFnc1twLkFORFJPSURdID0geyAiYW5kcm9pZCIsICJtb2JpbGUiIH0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJmbG9hdGFiaSIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKYWxsb3dlZCA9IHsKInNvZnQiLAoic29mdGZwIiwKImhhcmQiLAp9LAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiYW5kcm9pZGFwaWxldmVsIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJpbnRlZ2VyIiwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInRvb2xjaGFpbnZlcnNpb24iLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiI0LjYiLCAtLSBOREsgR0NDIHZlcnNpb25zCiI0LjgiLAoiNC45IiwKIjMuNCIsIC0tIE5ESyBjbGFuZyB2ZXJzaW9ucwoiMy41IiwKIjMuNiIsCiIzLjgiLAoiNS4wIiwKfSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInN0bCIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKYWxsb3dlZCA9IHsKIm5vbmUiLAoiZ2FiaSsrIiwKInN0bHBvcnQiLAoiZ251IiwKImxpYmMrKyIsCn0sCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJ0aHVtYm1vZGUiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJ0aHVtYiIsCiJhcm0iLAoiZGlzYWJsZWQiLAp9LAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiYW5kcm9pZGFwcGxpYm5hbWUiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIKfQpyZXR1cm4gZnVuY3Rpb24oY2ZnKQpyZXR1cm4gKGNmZy5zeXN0ZW0gPT0gcC5BTkRST0lEKQplbmQKAAAAAHByZW1ha2Uub3ZlcnJpZGUoaW8sICJvcGVuIiwgZnVuY3Rpb24oYmFzZSwgZm5hbWUsIG1vZGUpCmlmIG1vZGUgYW5kIChtb2RlOmZpbmQoInciKSBvciBtb2RlOmZpbmQoImEiKSkgIHRoZW4KbG9jYWwgZGlyID0gcGF0aC5nZXRkaXJlY3RvcnkoZm5hbWUpCm9rLCBlcnIgPSBvcy5ta2RpcihkaXIpCmlmIG5vdCBvayB0aGVuCmVycm9yKGVyciwgMCkKZW5kCmVuZApyZXR1cm4gYmFzZShmbmFtZSwgbW9kZSkKZW5kKQpmdW5jdGlvbiBpby53cml0ZWZpbGUoZmlsZW5hbWUsIGNvbnRlbnQpCmxvY2FsIGZpbGUgPSBpby5vcGVuKGZpbGVuYW1lLCAidytiIikKaWYgZmlsZSB0aGVuCmZpbGU6d3JpdGUoY29udGVudCkKZmlsZTpjbG9zZSgpCnJldHVybiB0cnVlCmVuZAplbmQKZnVuY3Rpb24gaW8ucmVhZGZpbGUoZmlsZW5hbWUpCmxvY2FsIGZpbGUgPSBpby5vcGVuKGZpbGVuYW1lLCAicmIiKQppZiBmaWxlIHRoZW4KbG9jYWwgY29udGVudCA9IGZpbGU6cmVhZCgiKmEiKQpmaWxlOmNsb3NlKCkKcmV0dXJuIGNvbnRlbnQKZW5kCmVuZAAAAAAAbG9jYWwgcCA9IHByZW1ha2UKcC50b29scy5nY2MgPSB7fQpsb2NhbCBnY2MgPSBwLnRvb2xzLmdjYwpsb2NhbCBwcm9qZWN0ID0gcC5wcm9qZWN0CmxvY2FsIGNvbmZpZyA9IHAuY29uZmlnCmdjYy5jcHBmbGFncyA9IHsKc3lzdGVtID0gewpoYWlrdSA9ICItTU1EIiwKd2lpID0geyAiLU1NRCIsICItTVAiLCAiLUkkKExJQk9HQ19JTkMpIiwgIiQoTUFDSERFUCkiIH0sCl8gPSB7ICItTU1EIiwgIi1NUCIgfQp9Cn0KZnVuY3Rpb24gZ2NjLmdldGNwcGZsYWdzKGNmZykKbG9jYWwgZmxhZ3MgPSBjb25maWcubWFwRmxhZ3MoY2ZnLCBnY2MuY3BwZmxhZ3MpCnJldHVybiBmbGFncwplbmQKZnVuY3Rpb24gZ2NjLmdldGRlYnVnZm9ybWF0KGNmZykKbG9jYWwgZmxhZ3MgPSB7CkRlZmF1bHQgPSAiIiwKRHdhcmYgPSAiZHdhcmYiLApTcGxpdER3YXJmID0gInNwbGl0LWR3YXJmIiwKfQpyZXR1cm4gZmxhZ3MKZW5kCmdjYy5zaGFyZWQgPSB7CmFyY2hpdGVjdHVyZSA9IHsKeDg2ID0gIi1tMzIiLAp4ODZfNjQgPSAiLW02NCIsCn0sCmZsYWdzID0gewpGYXRhbENvbXBpbGVXYXJuaW5ncyA9ICItV2Vycm9yIiwKTGlua1RpbWVPcHRpbWl6YXRpb24gPSAiLWZsdG8iLApTaGFkb3dlZFZhcmlhYmxlcyA9ICItV3NoYWRvdyIsClVuZGVmaW5lZElkZW50aWZpZXJzID0gIi1XdW5kZWYiLAp9LApmbG9hdGluZ3BvaW50ID0gewpGYXN0ID0gIi1mZmFzdC1tYXRoIiwKU3RyaWN0ID0gIi1mZmxvYXQtc3RvcmUiLAp9LApzdHJpY3RhbGlhc2luZyA9IHsKT2ZmID0gIi1mbm8tc3RyaWN0LWFsaWFzaW5nIiwKTGV2ZWwxID0geyAiLWZzdHJpY3QtYWxpYXNpbmciLCAiLVdzdHJpY3QtYWxpYXNpbmc9MSIgfSwKTGV2ZWwyID0geyAiLWZzdHJpY3QtYWxpYXNpbmciLCAiLVdzdHJpY3QtYWxpYXNpbmc9MiIgfSwKTGV2ZWwzID0geyAiLWZzdHJpY3QtYWxpYXNpbmciLCAiLVdzdHJpY3QtYWxpYXNpbmc9MyIgfSwKfSwKb3B0aW1pemUgPSB7Ck9mZiA9ICItTzAiLApPbiA9ICItTzIiLApEZWJ1ZyA9ICItT2ciLApGdWxsID0gIi1PMyIsClNpemUgPSAiLU9zIiwKU3BlZWQgPSAiLU8zIiwKfSwKcGljID0gewpPbiA9ICItZlBJQyIsCn0sCnZlY3RvcmV4dGVuc2lvbnMgPSB7CkFWWCA9ICItbWF2eCIsCkFWWDIgPSAiLW1hdngyIiwKU1NFID0gIi1tc3NlIiwKU1NFMiA9ICItbXNzZTIiLApTU0UzID0gIi1tc3NlMyIsClNTU0UzID0gIi1tc3NzZTMiLApbIlNTRTQuMSJdID0gIi1tc3NlNC4xIiwKfSwKaXNhZXh0ZW5zaW9ucyA9IHsKTU9WQkUgPSAiLW1tb3ZiZSIsClBPUENOVCA9ICItbXBvcGNudCIsClBDTE1VTCA9ICItbXBjbG11bCIsCkxaQ05UID0gIi1tbHpjbnQiLApCTUkgPSAiLW1ibWkiLApCTUkyID0gIi1tYm1pMiIsCkYxNkMgPSAiLW1mMTZjIiwKQUVTID0gIi1tYWVzIiwKRk1BID0gIi1tZm1hIiwKRk1BNCA9ICItbWZtYTQiLApSRFJORCA9ICItbXJkcm5kIiwKfSwKd2FybmluZ3MgPSB7CkV4dHJhID0geyItV2FsbCIsICItV2V4dHJhIn0sCkhpZ2ggPSAiLVdhbGwiLApPZmYgPSAiLXciLAp9LApzeW1ib2xzID0gZnVuY3Rpb24oY2ZnLCBtYXBwaW5ncykKbG9jYWwgdmFsdWVzID0gZ2NjLmdldGRlYnVnZm9ybWF0KGNmZykKbG9jYWwgZGVidWdmb3JtYXQgPSB2YWx1ZXNbY2ZnLmRlYnVnZm9ybWF0XSBvciAiIgpyZXR1cm4gewpPbiAgICAgICA9ICItZyIgLi4gZGVidWdmb3JtYXQsCkZhc3RMaW5rID0gIi1nIiAuLiBkZWJ1Z2Zvcm1hdCwKRnVsbCAgICAgPSAiLWciIC4uIGRlYnVnZm9ybWF0LAp9CmVuZCwKdW5zaWduZWRjaGFyID0gewpPbiA9ICItZnVuc2lnbmVkLWNoYXIiLApPZmYgPSAiLWZuby11bnNpZ25lZC1jaGFyIgp9LApvbWl0ZnJhbWVwb2ludGVyID0gewpPbiA9ICItZm9taXQtZnJhbWUtcG9pbnRlciIsCk9mZiA9ICItZm5vLW9taXQtZnJhbWUtcG9pbnRlciIKfQp9CmdjYy5jZmxhZ3MgPSB7CmNkaWFsZWN0ID0gewpbIkM4OSJdID0gIi1zdGQ9Yzg5IiwKWyJDOTAiXSA9ICItc3RkPWM5MCIsClsiQzk5Il0gPSAiLXN0ZD1jOTkiLApbIkMxMSJdID0gIi1zdGQ9YzExIiwKWyJnbnU4OSJdID0gIi1zdGQ9Z251ODkiLApbImdudTkwIl0gPSAiLXN0ZD1nbnU5MCIsClsiZ251OTkiXSA9ICItc3RkPWdudTk5IiwKWyJnbnUxMSJdID0gIi1zdGQ9Z251MTEiLAp9Cn0KZnVuY3Rpb24gZ2NjLmdldGNmbGFncyhjZmcpCmxvY2FsIHNoYXJlZF9mbGFncyA9IGNvbmZpZy5tYXBGbGFncyhjZmcsIGdjYy5zaGFyZWQpCmxvY2FsIGNmbGFncyA9IGNvbmZpZy5tYXBGbGFncyhjZmcsIGdjYy5jZmxhZ3MpCmxvY2FsIGZsYWdzID0gdGFibGUuam9pbihzaGFyZWRfZmxhZ3MsIGNmbGFncykKZmxhZ3MgPSB0YWJsZS5qb2luKGZsYWdzLCBnY2MuZ2V0d2FybmluZ3MoY2ZnKSkKcmV0dXJuIGZsYWdzCmVuZApmdW5jdGlvbiBnY2MuZ2V0d2FybmluZ3MoY2ZnKQpsb2NhbCByZXN1bHQgPSB7fQpmb3IgXywgZW5hYmxlIGluIGlwYWlycyhjZmcuZW5hYmxld2FybmluZ3MpIGRvCnRhYmxlLmluc2VydChyZXN1bHQsICctVycgLi4gZW5hYmxlKQplbmQKZm9yIF8sIGRpc2FibGUgaW4gaXBhaXJzKGNmZy5kaXNhYmxld2FybmluZ3MpIGRvCnRhYmxlLmluc2VydChyZXN1bHQsICctV25vLScgLi4gZGlzYWJsZSkKZW5kCmZvciBfLCBmYXRhbCBpbiBpcGFpcnMoY2ZnLmZhdGFsd2FybmluZ3MpIGRvCnRhYmxlLmluc2VydChyZXN1bHQsICctV2Vycm9yPScgLi4gZmF0YWwpCmVuZApyZXR1cm4gcmVzdWx0CmVuZApnY2MuY3h4ZmxhZ3MgPSB7CmV4Y2VwdGlvbmhhbmRsaW5nID0gewpPZmYgPSAiLWZuby1leGNlcHRpb25zIgp9LApmbGFncyA9IHsKTm9CdWZmZXJTZWN1cml0eUNoZWNrID0gIi1mbm8tc3RhY2stcHJvdGVjdG9yIiwKfSwKY3BwZGlhbGVjdCA9IHsKWyJDKys5OCJdID0gIi1zdGQ9YysrOTgiLApbIkMrKzB4Il0gPSAiLXN0ZD1jKysweCIsClsiQysrMTEiXSA9ICItc3RkPWMrKzExIiwKWyJDKysxeSJdID0gIi1zdGQ9YysrMXkiLApbIkMrKzE0Il0gPSAiLXN0ZD1jKysxNCIsClsiQysrMXoiXSA9ICItc3RkPWMrKzF6IiwKWyJDKysxNyJdID0gIi1zdGQ9YysrMTciLApbImdudSsrOTgiXSA9ICItc3RkPWdudSsrOTgiLApbImdudSsrMHgiXSA9ICItc3RkPWdudSsrMHgiLApbImdudSsrMTEiXSA9ICItc3RkPWdudSsrMTEiLApbImdudSsrMXkiXSA9ICItc3RkPWdudSsrMXkiLApbImdudSsrMTQiXSA9ICItc3RkPWdudSsrMTQiLApbImdudSsrMXoiXSA9ICItc3RkPWdudSsrMXoiLApbImdudSsrMTciXSA9ICItc3RkPWdudSsrMTciLAp9LApydHRpID0gewpPZmYgPSAiLWZuby1ydHRpIgp9LAp2aXNpYmlsaXR5ID0gewpEZWZhdWx0ID0gIi1mdmlzaWJpbGl0eT1kZWZhdWx0IiwKSGlkZGVuID0gIi1mdmlzaWJpbGl0eT1oaWRkZW4iLApJbnRlcm5hbCA9ICItZnZpc2liaWxpdHk9aW50ZXJuYWwiLApQcm90ZWN0ZWQgPSAiLWZ2aXNpYmlsaXR5PXByb3RlY3RlZCIsCn0sCmlubGluZXN2aXNpYmlsaXR5ID0gewpIaWRkZW4gPSAiLWZ2aXNpYmlsaXR5LWlubGluZXMtaGlkZGVuIgp9Cn0KZnVuY3Rpb24gZ2NjLmdldGN4eGZsYWdzKGNmZykKbG9jYWwgc2hhcmVkX2ZsYWdzID0gY29uZmlnLm1hcEZsYWdzKGNmZywgZ2NjLnNoYXJlZCkKbG9jYWwgY3h4ZmxhZ3MgPSBjb25maWcubWFwRmxhZ3MoY2ZnLCBnY2MuY3h4ZmxhZ3MpCmxvY2FsIGZsYWdzID0gdGFibGUuam9pbihzaGFyZWRfZmxhZ3MsIGN4eGZsYWdzKQpmbGFncyA9IHRhYmxlLmpvaW4oZmxhZ3MsIGdjYy5nZXR3YXJuaW5ncyhjZmcpKQpyZXR1cm4gZmxhZ3MKZW5kCmZ1bmN0aW9uIGdjYy5nZXRkZWZpbmVzKGRlZmluZXMpCmxvY2FsIHJlc3VsdCA9IHt9CmZvciBfLCBkZWZpbmUgaW4gaXBhaXJzKGRlZmluZXMpIGRvCnRhYmxlLmluc2VydChyZXN1bHQsICctRCcgLi4gcC5lc2MoZGVmaW5lKSkKZW5kCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIGdjYy5nZXR1bmRlZmluZXModW5kZWZpbmVzKQpsb2NhbCByZXN1bHQgPSB7fQpmb3IgXywgdW5kZWZpbmUgaW4gaXBhaXJzKHVuZGVmaW5lcykgZG8KdGFibGUuaW5zZXJ0KHJlc3VsdCwgJy1VJyAuLiBwLmVzYyh1bmRlZmluZSkpCmVuZApyZXR1cm4gcmVzdWx0CmVuZApmdW5jdGlvbiBnY2MuZ2V0Zm9yY2VpbmNsdWRlcyhjZmcpCmxvY2FsIHJlc3VsdCA9IHt9CnRhYmxlLmZvcmVhY2hpKGNmZy5mb3JjZWluY2x1ZGVzLCBmdW5jdGlvbih2YWx1ZSkKbG9jYWwgZm4gPSBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCB2YWx1ZSkKdGFibGUuaW5zZXJ0KHJlc3VsdCwgc3RyaW5nLmZvcm1hdCgnLWluY2x1ZGUgJXMnLCBwLnF1b3RlZChmbikpKQplbmQpCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIGdjYy5nZXRpbmNsdWRlZGlycyhjZmcsIGRpcnMsIHN5c2RpcnMpCmxvY2FsIHJlc3VsdCA9IHt9CmZvciBfLCBkaXIgaW4gaXBhaXJzKGRpcnMpIGRvCmRpciA9IHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGRpcikKdGFibGUuaW5zZXJ0KHJlc3VsdCwgJy1JJyAuLiBwLnF1b3RlZChkaXIpKQplbmQKZm9yIF8sIGRpciBpbiBpcGFpcnMoc3lzZGlycyBvciB7fSkgZG8KZGlyID0gcHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgZGlyKQp0YWJsZS5pbnNlcnQocmVzdWx0LCAnLWlzeXN0ZW0gJyAuLiBwLnF1b3RlZChkaXIpKQplbmQKcmV0dXJuIHJlc3VsdAplbmQKZnVuY3Rpb24gZ2NjLmdldHJ1bnBhdGhkaXJzKGNmZywgZGlycykKbG9jYWwgcmVzdWx0ID0ge30KaWYgbm90ICh0YWJsZS5jb250YWlucyhvcy5nZXRTeXN0ZW1UYWdzKGNmZy5zeXN0ZW0pLCAiZGFyd2luIikKb3IgKGNmZy5zeXN0ZW0gPT0gcC5MSU5VWCkpIHRoZW4KcmV0dXJuIHJlc3VsdAplbmQKbG9jYWwgcnBhdGhzID0ge30KZm9yIF8sIGZ1bGxwYXRoIGluIGlwYWlycyhjZmcucnVucGF0aGRpcnMpIGRvCmxvY2FsIHJwYXRoID0gcGF0aC5nZXRyZWxhdGl2ZShjZmcuYnVpbGR0YXJnZXQuZGlyZWN0b3J5LCBmdWxscGF0aCkKaWYgbm90ICh0YWJsZS5jb250YWlucyhycGF0aHMsIHJwYXRoKSkgdGhlbgp0YWJsZS5pbnNlcnQocnBhdGhzLCBycGF0aCkKZW5kCmVuZApmb3IgXywgc2libGluZyBpbiBpcGFpcnMoY29uZmlnLmdldGxpbmtzKGNmZywgInNpYmxpbmdzIiwgIm9iamVjdCIpKSBkbwppZiAoc2libGluZy5raW5kID09IHAuU0hBUkVETElCKSB0aGVuCmxvY2FsIGZ1bGxwYXRoID0gc2libGluZy5saW5rdGFyZ2V0LmRpcmVjdG9yeQpsb2NhbCBycGF0aCA9IHBhdGguZ2V0cmVsYXRpdmUoY2ZnLmJ1aWxkdGFyZ2V0LmRpcmVjdG9yeSwgZnVsbHBhdGgpCmlmIG5vdCAodGFibGUuY29udGFpbnMocnBhdGhzLCBycGF0aCkpIHRoZW4KdGFibGUuaW5zZXJ0KHJwYXRocywgcnBhdGgpCmVuZAplbmQKZW5kCmZvciBfLCBycGF0aCBpbiBpcGFpcnMocnBhdGhzKSBkbwppZiB0YWJsZS5jb250YWlucyhvcy5nZXRTeXN0ZW1UYWdzKGNmZy5zeXN0ZW0pLCAiZGFyd2luIikgdGhlbgpycGF0aCA9ICJAbG9hZGVyX3BhdGgvIiAuLiBycGF0aAplbHNlaWYgKGNmZy5zeXN0ZW0gPT0gcC5MSU5VWCkgdGhlbgpycGF0aCA9IGlpZihycGF0aCA9PSAiLiIsICIiLCAiLyIgLi4gcnBhdGgpCnJwYXRoID0gIiQkT1JJR0lOIiAuLiBycGF0aAplbmQKdGFibGUuaW5zZXJ0KHJlc3VsdCwgIi1XbCwtcnBhdGgsJyIgLi4gcnBhdGggLi4gIiciKQplbmQKcmV0dXJuIHJlc3VsdAplbmQKZnVuY3Rpb24gZ2NjLmdldHNoYXJlZGxpYmFyZyhjZmcpCmlmIHRhYmxlLmNvbnRhaW5zKG9zLmdldFN5c3RlbVRhZ3MoY2ZnLnN5c3RlbSksICJkYXJ3aW4iKSB0aGVuCmlmIGNmZy5zaGFyZWRsaWJ0eXBlID09ICJPU1hCdW5kbGUiIHRoZW4KcmV0dXJuICItYnVuZGxlIgplbHNlaWYgY2ZnLnNoYXJlZGxpYnR5cGUgPT0gIlhDVGVzdCIgdGhlbgpyZXR1cm4gIi1idW5kbGUiCmVsc2VpZiBjZmcuc2hhcmVkbGlidHlwZSA9PSAiT1NYRnJhbWV3b3JrIiB0aGVuCnJldHVybiAiLWZyYW1ld29yayIKZWxzZQpyZXR1cm4gIi1keW5hbWljbGliIgplbmQKZWxzZQpyZXR1cm4gIi1zaGFyZWQiCmVuZAplbmQKZnVuY3Rpb24gZ2NjLmxkc3ltYm9scyhjZmcpCnJldHVybiBpaWYodGFibGUuY29udGFpbnMob3MuZ2V0U3lzdGVtVGFncyhjZmcuc3lzdGVtKSwgImRhcndpbiIpLCAiLVdsLC14IiwgIi1zIikKZW5kCmdjYy5sZGZsYWdzID0gewphcmNoaXRlY3R1cmUgPSB7Cng4NiA9ICItbTMyIiwKeDg2XzY0ID0gIi1tNjQiLAp9LApmbGFncyA9IHsKTGlua1RpbWVPcHRpbWl6YXRpb24gPSAiLWZsdG8iLAp9LApraW5kID0gewpTaGFyZWRMaWIgPSBmdW5jdGlvbihjZmcpCmxvY2FsIHIgPSB7IGdjYy5nZXRzaGFyZWRsaWJhcmcoY2ZnKSB9CmlmIGNmZy5zeXN0ZW0gPT0gcC5XSU5ET1dTIGFuZCBub3QgY2ZnLmZsYWdzLk5vSW1wb3J0TGliIHRoZW4KdGFibGUuaW5zZXJ0KHIsICctV2wsLS1vdXQtaW1wbGliPSInIC4uIGNmZy5saW5rdGFyZ2V0LnJlbHBhdGggLi4gJyInKQplbHNlaWYgY2ZnLnN5c3RlbSA9PSBwLkxJTlVYIHRoZW4KdGFibGUuaW5zZXJ0KHIsICctV2wsLXNvbmFtZT0nIC4uIHAucXVvdGVkKGNmZy5saW5rdGFyZ2V0Lm5hbWUpKQplbHNlaWYgdGFibGUuY29udGFpbnMob3MuZ2V0U3lzdGVtVGFncyhjZmcuc3lzdGVtKSwgImRhcndpbiIpIHRoZW4KdGFibGUuaW5zZXJ0KHIsICctV2wsLWluc3RhbGxfbmFtZSwnIC4uIHAucXVvdGVkKCdAcnBhdGgvJyAuLiBjZmcubGlua3RhcmdldC5uYW1lKSkKZW5kCnJldHVybiByCmVuZCwKV2luZG93ZWRBcHAgPSBmdW5jdGlvbihjZmcpCmlmIGNmZy5zeXN0ZW0gPT0gcC5XSU5ET1dTIHRoZW4gcmV0dXJuICItbXdpbmRvd3MiIGVuZAplbmQsCn0sCnN5c3RlbSA9IHsKd2lpID0gIiQoTUFDSERFUCkiLAp9LApzeW1ib2xzID0gewpPZmYgPSBnY2MubGRzeW1ib2xzLApEZWZhdWx0ID0gZ2NjLmxkc3ltYm9scywKfQp9CmZ1bmN0aW9uIGdjYy5nZXRsZGZsYWdzKGNmZykKbG9jYWwgZmxhZ3MgPSBjb25maWcubWFwRmxhZ3MoY2ZnLCBnY2MubGRmbGFncykKcmV0dXJuIGZsYWdzCmVuZApnY2MubGlicmFyeURpcmVjdG9yaWVzID0gewphcmNoaXRlY3R1cmUgPSB7Cng4NiA9IGZ1bmN0aW9uIChjZmcpCmxvY2FsIHIgPSB7fQppZiBub3QgdGFibGUuY29udGFpbnMob3MuZ2V0U3lzdGVtVGFncyhjZmcuc3lzdGVtKSwgImRhcndpbiIpIHRoZW4KdGFibGUuaW5zZXJ0IChyLCAiLUwvdXNyL2xpYjMyIikKZW5kCnJldHVybiByCmVuZCwKeDg2XzY0ID0gZnVuY3Rpb24gKGNmZykKbG9jYWwgciA9IHt9CmlmIG5vdCB0YWJsZS5jb250YWlucyhvcy5nZXRTeXN0ZW1UYWdzKGNmZy5zeXN0ZW0pLCAiZGFyd2luIikgdGhlbgp0YWJsZS5pbnNlcnQgKHIsICItTC91c3IvbGliNjQiKQplbmQKcmV0dXJuIHIKZW5kLAp9LApzeXN0ZW0gPSB7CndpaSA9ICItTCQoTElCT0dDX0xJQikiLAp9Cn0KZnVuY3Rpb24gZ2NjLmdldExpYnJhcnlEaXJlY3RvcmllcyhjZmcpCmxvY2FsIGZsYWdzID0ge30KZm9yIF8sIGRpciBpbiBpcGFpcnMoY29uZmlnLmdldGxpbmtzKGNmZywgInN5c3RlbSIsICJkaXJlY3RvcnkiKSkgZG8KdGFibGUuaW5zZXJ0KGZsYWdzLCAnLUwnIC4uIHAucXVvdGVkKGRpcikpCmVuZAppZiBjZmcuZmxhZ3MuUmVsYXRpdmVMaW5rcyB0aGVuCmZvciBfLCBkaXIgaW4gaXBhaXJzKGNvbmZpZy5nZXRsaW5rcyhjZmcsICJzaWJsaW5ncyIsICJkaXJlY3RvcnkiKSkgZG8KbG9jYWwgbGliRmxhZyA9ICItTCIgLi4gcC5wcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBkaXIpCmlmIG5vdCB0YWJsZS5jb250YWlucyhmbGFncywgbGliRmxhZykgdGhlbgp0YWJsZS5pbnNlcnQoZmxhZ3MsIGxpYkZsYWcpCmVuZAplbmQKZW5kCmZvciBfLCBkaXIgaW4gaXBhaXJzKGNmZy5zeXNsaWJkaXJzKSBkbwp0YWJsZS5pbnNlcnQoZmxhZ3MsICctTCcgLi4gcC5xdW90ZWQoZGlyKSkKZW5kCmxvY2FsIGdjY0ZsYWdzID0gY29uZmlnLm1hcEZsYWdzKGNmZywgZ2NjLmxpYnJhcnlEaXJlY3RvcmllcykKZmxhZ3MgPSB0YWJsZS5qb2luKGZsYWdzLCBnY2NGbGFncykKcmV0dXJuIGZsYWdzCmVuZApmdW5jdGlvbiBnY2MuZ2V0bGlua3MoY2ZnLCBzeXN0ZW1vbmx5LCBub2dyb3VwcykKbG9jYWwgcmVzdWx0ID0ge30KaWYgbm90IHN5c3RlbW9ubHkgdGhlbgppZiBjZmcuZmxhZ3MuUmVsYXRpdmVMaW5rcyB0aGVuCmxvY2FsIGxpYkZpbGVzID0gY29uZmlnLmdldGxpbmtzKGNmZywgInNpYmxpbmdzIiwgImJhc2VuYW1lIikKZm9yIF8sIGxpbmsgaW4gaXBhaXJzKGxpYkZpbGVzKSBkbwppZiBzdHJpbmcuc3RhcnRzd2l0aChsaW5rLCAibGliIikgdGhlbgpsaW5rID0gbGluazpzdWIoNCkKZW5kCnRhYmxlLmluc2VydChyZXN1bHQsICItbCIgLi4gbGluaykKZW5kCmVsc2UKcmVzdWx0ID0gY29uZmlnLmdldGxpbmtzKGNmZywgInNpYmxpbmdzIiwgImZ1bGxwYXRoIikKZW5kCmVuZAppZiBub3Qgbm9ncm91cHMgYW5kICNyZXN1bHQgPiAxIGFuZCAoY2ZnLmxpbmtncm91cHMgPT0gcC5PTikgdGhlbgp0YWJsZS5pbnNlcnQocmVzdWx0LCAxLCAiLVdsLC0tc3RhcnQtZ3JvdXAiKQp0YWJsZS5pbnNlcnQocmVzdWx0LCAiLVdsLC0tZW5kLWdyb3VwIikKZW5kCmxvY2FsIGxpbmtzID0gY29uZmlnLmdldGxpbmtzKGNmZywgInN5c3RlbSIsICJmdWxscGF0aCIpCmxvY2FsIHN0YXRpY19zeXNsaWJzID0geyItV2wsLUJzdGF0aWMifQpsb2NhbCBzaGFyZWRfc3lzbGlicyA9IHt9CmZvciBfLCBsaW5rIGluIGlwYWlycyhsaW5rcykgZG8KaWYgcGF0aC5pc2ZyYW1ld29yayhsaW5rKSB0aGVuCnRhYmxlLmluc2VydChyZXN1bHQsICItZnJhbWV3b3JrIikKdGFibGUuaW5zZXJ0KHJlc3VsdCwgcGF0aC5nZXRiYXNlbmFtZShsaW5rKSkKZWxzZWlmIHBhdGguaXNvYmplY3RmaWxlKGxpbmspIHRoZW4KdGFibGUuaW5zZXJ0KHJlc3VsdCwgbGluaykKZWxzZQpsb2NhbCBlbmRzd2l0aCA9IGZ1bmN0aW9uKHMsIHB0cm4pCnJldHVybiBwdHJuID09IHN0cmluZy5zdWIocywgLXN0cmluZy5sZW4ocHRybikpCmVuZApsb2NhbCBuYW1lID0gcGF0aC5nZXRuYW1lKGxpbmspCmlmIGVuZHN3aXRoKG5hbWUsICI6c3RhdGljIikgdGhlbgpuYW1lID0gc3RyaW5nLnN1YihuYW1lLCAwLCAtOCkKdGFibGUuaW5zZXJ0KHN0YXRpY19zeXNsaWJzLCAiLWwiIC4uIG5hbWUpCmVsc2VpZiBlbmRzd2l0aChuYW1lLCAiOnNoYXJlZCIpIHRoZW4KbmFtZSA9IHN0cmluZy5zdWIobmFtZSwgMCwgLTgpCnRhYmxlLmluc2VydChzaGFyZWRfc3lzbGlicywgIi1sIiAuLiBuYW1lKQplbHNlCnRhYmxlLmluc2VydChzaGFyZWRfc3lzbGlicywgIi1sIiAuLiBuYW1lKQplbmQKZW5kCmVuZApsb2NhbCBtb3ZlID0gZnVuY3Rpb24oYTEsIGEyKQpsb2NhbCB0ID0gI2EyCmZvciBpID0gMSwgI2ExIGRvIGEyW3QgKyBpXSA9IGExW2ldIGVuZAplbmQKaWYgI3N0YXRpY19zeXNsaWJzID4gMSB0aGVuCnRhYmxlLmluc2VydChzdGF0aWNfc3lzbGlicywgIi1XbCwtQmR5bmFtaWMiKQptb3ZlKHN0YXRpY19zeXNsaWJzLCByZXN1bHQpCmVuZAptb3ZlKHNoYXJlZF9zeXNsaWJzLCByZXN1bHQpCnJldHVybiByZXN1bHQKZW5kCmdjYy5tYWtlc2V0dGluZ3MgPSB7CnN5c3RlbSA9IHsKd2lpID0gW1sKICBpZmVxICgkKHN0cmlwICQoREVWS0lUUFBDKSksKQogICAgJChlcnJvciAiREVWS0lUUFBDIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIG5vdCBzZXQiKScKICBlbmRpZgogIGluY2x1ZGUgJChERVZLSVRQUEMpL3dpaV9ydWxlcyddXQp9Cn0KZnVuY3Rpb24gZ2NjLmdldG1ha2VzZXR0aW5ncyhjZmcpCmxvY2FsIHNldHRpbmdzID0gY29uZmlnLm1hcEZsYWdzKGNmZywgZ2NjLm1ha2VzZXR0aW5ncykKcmV0dXJuIHRhYmxlLmNvbmNhdChzZXR0aW5ncykKZW5kCmdjYy50b29scyA9IHsKY2MgPSAiZ2NjIiwKY3h4ID0gImcrKyIsCmFyID0gImFyIiwKcmMgPSAid2luZHJlcyIKfQpmdW5jdGlvbiBnY2MuZ2V0dG9vbG5hbWUoY2ZnLCB0b29sKQppZiAoY2ZnLmdjY3ByZWZpeCBhbmQgZ2NjLnRvb2xzW3Rvb2xdKSBvciB0b29sID09ICJyYyIgdGhlbgpyZXR1cm4gKGNmZy5nY2NwcmVmaXggb3IgIiIpIC4uIGdjYy50b29sc1t0b29sXQplbmQKcmV0dXJuIG5pbAplbmQKAAAAAGlmIGh0dHAgPT0gbmlsIHRoZW4KcmV0dXJuCmVuZApmdW5jdGlvbiBodHRwLnJlcG9ydFByb2dyZXNzKHRvdGFsLCBjdXJyZW50KQpsb2NhbCB3aWR0aCA9IDcwCmxvY2FsIHByb2dyZXNzID0gbWF0aC5mbG9vcihjdXJyZW50ICogd2lkdGggLyB0b3RhbCkKaWYgcHJvZ3Jlc3MgPT0gd2lkdGggdGhlbgppby53cml0ZShzdHJpbmcucmVwKCcgJywgd2lkdGggKyAyKSAuLiAnXHInKQplbHNlCmlvLndyaXRlKCdbJyAuLiBzdHJpbmcucmVwKCc9JywgcHJvZ3Jlc3MpIC4uIHN0cmluZy5yZXAoJyAnLCB3aWR0aCAtIHByb2dyZXNzKSAuLiAnXVxyJykKZW5kCmVuZApmdW5jdGlvbiBodHRwLmVzY2FwZVVybFBhcmFtKHBhcmFtKQpsb2NhbCB1cmxfZW5jb2RpbmdzID0gewpbJyAnXSA9ICclJTIwJywKWychJ10gPSAnJSUyMScsClsnIiddID0gJyUlMjInLApbJyMnXSA9ICclJTIzJywKWyckJ10gPSAnJSUyNCcsClsnJiddID0gJyUlMjYnLApbJ1wnJ10gPSAnJSUyNycsClsnKCddID0gJyUlMjgnLApbJyknXSA9ICclJTI5JywKWycqJ10gPSAnJSUyQScsClsnKyddID0gJyUlMkInLApbJy0nXSA9ICclJTJEJywKWycuJ10gPSAnJSUyRScsClsnLyddID0gJyUlMkYnLApbJzonXSA9ICclJTNBJywKWyc7J10gPSAnJSUzQicsClsnPCddID0gJyUlM0MnLApbJz0nXSA9ICclJTNEJywKWyc+J10gPSAnJSUzRScsClsnPyddID0gJyUlM0YnLApbJ0AnXSA9ICclJTQwJywKWydbJ10gPSAnJSU1QicsClsnXFwnXSA9ICclJTVDJywKWyddJ10gPSAnJSU1RCcsClsnXiddID0gJyUlNUUnLApbJ18nXSA9ICclJTVGJywKWydgJ10gPSAnJSU2MCcKfQpwYXJhbSA9IHBhcmFtOmdzdWIoJyUlJywgJyUlMjUnKQpmb3Igayx2IGluIHBhaXJzKHVybF9lbmNvZGluZ3MpIGRvCnBhcmFtID0gcGFyYW06Z3N1YignJScgLi4gaywgdikKZW5kCnJldHVybiBwYXJhbQplbmQAAGxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIG0gPSBwLm1vZHVsZXMuZAptLnZpc3VhbGQgPSB7fQpyZXF1aXJlICgidnN0dWRpbyIpCmxvY2FsIHZzdHVkaW8gPSBwLnZzdHVkaW8KbG9jYWwgd29ya3NwYWNlID0gcC53b3Jrc3BhY2UKbG9jYWwgcHJvamVjdCA9IHAucHJvamVjdApsb2NhbCBjb25maWcgPSBwLmNvbmZpZwpsb2NhbCB0cmVlID0gcC50cmVlCmZvciBrLHYgaW4gcGFpcnMoeyAidnMyMDA1IiwgInZzMjAwOCIsICJ2czIwMTAiLCAidnMyMDEyIiwgInZzMjAxMyIsICJ2czIwMTUiLCAidnMyMDE3IiwgInZzMjAxOSIgfSkgZG8KbG9jYWwgdnMgPSBwLmFjdGlvbi5nZXQodikKaWYgdnMgfj0gbmlsIHRoZW4KdGFibGUuaW5zZXJ0KCB2cy52YWxpZF9sYW5ndWFnZXMsIHAuRCApCnZzLnZhbGlkX3Rvb2xzLmRjID0geyAiZG1kIiwgImdkYyIsICJsZGMiIH0KcC5vdmVycmlkZSh2cywgIm9uUHJvamVjdCIsIGZ1bmN0aW9uKG9sZGZuLCBwcmopCm9sZGZuKHByaikKaWYgcHJvamVjdC5pc2QocHJqKSB0aGVuCnAuZ2VuZXJhdGUocHJqLCAiLnZpc3VhbGRwcm9qIiwgbS52aXN1YWxkLmdlbmVyYXRlKQplbmQKZW5kKQplbmQKZW5kCnAub3ZlcnJpZGUocHJvamVjdCwgImlzbmF0aXZlIiwgZnVuY3Rpb24ob2xkZm4sIHByaikKcmV0dXJuIHByb2plY3QuaXNkKHByaikgb3Igb2xkZm4ocHJqKQplbmQpCnAub3ZlcnJpZGUodnN0dWRpbywgInByb2plY3RmaWxlIiwgZnVuY3Rpb24ob2xkZm4sIHByaikKaWYgcHJvamVjdC5pc2QocHJqKSB0aGVuCnJldHVybiBwLmZpbGVuYW1lKHByaiwgIi52aXN1YWxkcHJvaiIpCmVuZApyZXR1cm4gb2xkZm4ocHJqKQplbmQpCnAub3ZlcnJpZGUodnN0dWRpbywgInRvb2wiLCBmdW5jdGlvbihvbGRmbiwgcHJqKQppZiBwcm9qZWN0LmlzZChwcmopIHRoZW4KcmV0dXJuICIwMDJBMkRFOS04QkI2LTQ4NEQtOTgwMi03RTRBRDQwODQ3MTUiCmVuZApyZXR1cm4gb2xkZm4ocHJqKQplbmQpCm0uZWxlbWVudHMucHJvamVjdCA9IGZ1bmN0aW9uKHByaikKcmV0dXJuIHsKbS52aXN1YWxkLmhlYWRlciwKbS52aXN1YWxkLmdsb2JhbHMsCm0udmlzdWFsZC5wcm9qZWN0Q29uZmlndXJhdGlvbnMsCm0udmlzdWFsZC5maWxlcywKfQplbmQKZnVuY3Rpb24gbS52aXN1YWxkLmdlbmVyYXRlKHByaikKcC5lb2woIlxyXG4iKQpwLmluZGVudCgiICIpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMucHJvamVjdCwgcHJqKQpfcCgnPC9EUHJvamVjdD4nKQplbmQKZnVuY3Rpb24gbS52aXN1YWxkLmhlYWRlcihwcmopCl9wKCc8RFByb2plY3Q+JykKZW5kCmZ1bmN0aW9uIG0udmlzdWFsZC5nbG9iYWxzKHByaikKX3AoMSwnPFByb2plY3RHdWlkPnslc308L1Byb2plY3RHdWlkPicsIHByai51dWlkKQplbmQKZnVuY3Rpb24gbS52aXN1YWxkLnByb2plY3RDb25maWd1cmF0aW9ucyhwcmopCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbG9jYWwgcHJqUGxhdGZvcm0gPSBwLmVzYyh2c3R1ZGlvLnByb2plY3RQbGF0Zm9ybShjZmcpKQpsb2NhbCBzbG5QbGF0Zm9ybSA9IHZzdHVkaW8uc29sdXRpb25QbGF0Zm9ybShjZmcpCmxvY2FsIGlzNjRiaXQgPSBzbG5QbGF0Zm9ybSA9PSAieDY0IiAtLSBUT0RPOiB0aGlzIHNlZW1zIGxpa2UgYSBoYWNrCl9wKDEsJzxDb25maWcgbmFtZT0iJXMiIHBsYXRmb3JtPSIlcyI+JywgcHJqUGxhdGZvcm0sIHNsblBsYXRmb3JtKQpfcCgyLCc8b2JqPjA8L29iaj4nKQpfcCgyLCc8bGluaz4wPC9saW5rPicpCmxvY2FsIGlzV2luZG93cyA9IGZhbHNlCmxvY2FsIGlzRGVidWcgPSBzdHJpbmcuZmluZChjZmcuYnVpbGRjZmcsICdEZWJ1ZycpIH49IG5pbApsb2NhbCBpc09wdGltaXNlZCA9IGNvbmZpZy5pc09wdGltaXplZEJ1aWxkKGNmZykKaWYgY2ZnLmtpbmQgPT0gcC5DT05TT0xFQVBQIHRoZW4KX3AoMiwnPGxpYj4wPC9saWI+JykKX3AoMiwnPHN1YnN5c3RlbT4xPC9zdWJzeXN0ZW0+JykKZWxzZWlmIGNmZy5raW5kID09IHAuU1RBVElDTElCIHRoZW4KX3AoMiwnPGxpYj4xPC9saWI+JykKX3AoMiwnPHN1YnN5c3RlbT4wPC9zdWJzeXN0ZW0+JykKZWxzZWlmIGNmZy5raW5kID09IHAuU0hBUkVETElCIHRoZW4KX3AoMiwnPGxpYj4yPC9saWI+JykKX3AoMiwnPHN1YnN5c3RlbT4wPC9zdWJzeXN0ZW0+JykgLS0gU0hPVUxEIFRISVMgQkUgJzInICh3aW5kb3dzKT8/CmVsc2UKX3AoMiwnPGxpYj4wPC9saWI+JykKX3AoMiwnPHN1YnN5c3RlbT4yPC9zdWJzeXN0ZW0+JykKaXNXaW5kb3dzID0gdHJ1ZQplbmQKX3AoMiwnPG11bHRpb2JqPjA8L211bHRpb2JqPicpCl9wKDIsJzxzaW5nbGVGaWxlQ29tcGlsYXRpb24+MDwvc2luZ2xlRmlsZUNvbXBpbGF0aW9uPicpCl9wKDIsJzxvbmVvYmo+MDwvb25lb2JqPicpCl9wKDIsJzx0cmFjZT4lczwvdHJhY2U+JywgaWlmKGNmZy5mbGFncy5Qcm9maWxlLCAnMScsICcwJykpCl9wKDIsJzxxdWlldD4lczwvcXVpZXQ+JywgaWlmKGNmZy5mbGFncy5RdWlldCwgJzEnLCAnMCcpKQpfcCgyLCc8dmVyYm9zZT4lczwvdmVyYm9zZT4nLCBpaWYoY2ZnLmZsYWdzLlZlcmJvc2UsICcxJywgJzAnKSkKX3AoMiwnPHZ0bHM+MDwvdnRscz4nKQpfcCgyLCc8c3ltZGVidWc+JXM8L3N5bWRlYnVnPicsIGlpZihjZmcuc3ltYm9scyA9PSBwLk9OIG9yIGNmZy5zeW1ib2xzID09ICJGYXN0TGluayIgb3IgY2ZnLnN5bWJvbHMgPT0gIkZ1bGwiLCBpaWYoY2ZnLmZsYWdzLlN5bWJvbHNMaWtlQywgJzInLCAnMScpLCAnMCcpKQpfcCgyLCc8b3B0aW1pemU+JXM8L29wdGltaXplPicsIGlpZihpc09wdGltaXNlZCwgJzEnLCAnMCcpKQpfcCgyLCc8Y3B1PjA8L2NwdT4nKQpfcCgyLCc8aXNYODZfNjQ+JXM8L2lzWDg2XzY0PicsIGlpZihpczY0Yml0LCAnMScsICcwJykpCl9wKDIsJzxpc0xpbnV4PjA8L2lzTGludXg+JykKX3AoMiwnPGlzT1NYPjA8L2lzT1NYPicpCl9wKDIsJzxpc1dpbmRvd3M+JXM8L2lzV2luZG93cz4nLCBpaWYoaXNXaW5kb3dzLCAnMScsICcwJykpCl9wKDIsJzxpc0ZyZWVCU0Q+MDwvaXNGcmVlQlNEPicpCl9wKDIsJzxpc1NvbGFyaXM+MDwvaXNTb2xhcmlzPicpCl9wKDIsJzxzY2hlZHVsZXI+MDwvc2NoZWR1bGVyPicpCl9wKDIsJzx1c2VEZXByZWNhdGVkPiVzPC91c2VEZXByZWNhdGVkPicsIGlpZihjZmcuZGVwcmVjYXRlZGZlYXR1cmVzID09ICJBbGxvdyIsICcxJywgJzAnKSkKX3AoMiwnPGVyckRlcHJlY2F0ZWQ+MDwvZXJyRGVwcmVjYXRlZD4nKQpfcCgyLCc8dXNlQXNzZXJ0PjA8L3VzZUFzc2VydD4nKQpfcCgyLCc8dXNlSW52YXJpYW50cz4wPC91c2VJbnZhcmlhbnRzPicpCl9wKDIsJzx1c2VJbj4wPC91c2VJbj4nKQpfcCgyLCc8dXNlT3V0PjA8L3VzZU91dD4nKQpfcCgyLCc8dXNlQXJyYXlCb3VuZHM+MDwvdXNlQXJyYXlCb3VuZHM+JykKX3AoMiwnPG5vYm91bmRzY2hlY2s+JXM8L25vYm91bmRzY2hlY2s+JywgaWlmKGNmZy5ib3VuZHNjaGVjayA9PSAiT2ZmIiwgJzEnLCAnMCcpKQpfcCgyLCc8dXNlU3dpdGNoRXJyb3I+MDwvdXNlU3dpdGNoRXJyb3I+JykKX3AoMiwnPHVzZVVuaXRUZXN0cz4lczwvdXNlVW5pdFRlc3RzPicsIGlpZihjZmcuZmxhZ3MuVW5pdFRlc3QsICcxJywgJzAnKSkKX3AoMiwnPHVzZUlubGluZT4lczwvdXNlSW5saW5lPicsIGlpZihjZmcuZmxhZ3MuSW5saW5lIG9yIGlzT3B0aW1pc2VkLCAnMScsICcwJykpCl9wKDIsJzxyZWxlYXNlPiVzPC9yZWxlYXNlPicsIGlpZihjZmcuZmxhZ3MuUmVsZWFzZSBvciBub3QgaXNEZWJ1ZywgJzEnLCAnMCcpKQpfcCgyLCc8cHJlc2VydmVQYXRocz4wPC9wcmVzZXJ2ZVBhdGhzPicpCl9wKDIsJzx3YXJuaW5ncz4lczwvd2FybmluZ3M+JywgaWlmKGNmZy5mbGFncy5GYXRhbENvbXBpbGVXYXJuaW5ncywgJzEnLCAnMCcpKQpfcCgyLCc8aW5mb3dhcm5pbmdzPiVzPC9pbmZvd2FybmluZ3M+JywgaWlmKGNmZy53YXJuaW5ncyBhbmQgY2ZnLndhcm5pbmdzIH49ICJPZmYiLCAnMScsICcwJykpCl9wKDIsJzxjaGVja1Byb3BlcnR5PjA8L2NoZWNrUHJvcGVydHk+JykKX3AoMiwnPGdlblN0YWNrRnJhbWU+MDwvZ2VuU3RhY2tGcmFtZT4nKQpfcCgyLCc8cGljPiVzPC9waWM+JywgaWlmKGNmZy5waWMgPT0gIk9uIiwgJzEnLCAnMCcpKQpfcCgyLCc8Y292PiVzPC9jb3Y+JywgaWlmKGNmZy5mbGFncy5Db2RlQ292ZXJhZ2UsICcxJywgJzAnKSkKX3AoMiwnPG5vZmxvYXQ+JXM8L25vZmxvYXQ+JywgaWlmKGNmZy5mbG9hdGluZ3BvaW50IGFuZCBjZmcuZmxvYXRpbmdwb2ludCA9PSAiTm9uZSIsICcxJywgJzAnKSkKX3AoMiwnPER2ZXJzaW9uPjI8L0R2ZXJzaW9uPicpCl9wKDIsJzxpZ25vcmVVbnN1cHBvcnRlZFByYWdtYXM+MDwvaWdub3JlVW5zdXBwb3J0ZWRQcmFnbWFzPicpCmxvY2FsIGNvbXBpbGVyID0geyBkbWQ9IjAiLCBnZGM9IjEiLCBsZGM9IjIiIH0KbS52aXN1YWxkLmVsZW1lbnQoMiwgImNvbXBpbGVyIiwgY29tcGlsZXJbX09QVElPTlMuZGMgb3IgY2ZnLnRvb2xzZXQgb3IgImRtZCJdKQptLnZpc3VhbGQuZWxlbWVudCgyLCAib3RoZXJETUQiLCAnMCcpCm0udmlzdWFsZC5lbGVtZW50KDIsICJwcm9ncmFtIiwgJyQoRE1ESW5zdGFsbERpcil3aW5kb3dzXFxiaW5cXGRtZC5leGUnKQpsb2NhbCBpbXBkaXJzCmlmICNjZmcuaW1wb3J0ZGlycyA+IDAgdGhlbgppbXBkaXJzID0gdnN0dWRpby5wYXRoKGNmZywgY2ZnLmltcG9ydGRpcnMpCmVuZAptLnZpc3VhbGQuZWxlbWVudCgyLCAiaW1wcGF0aCIsIGltcGRpcnMpCm0udmlzdWFsZC5lbGVtZW50KDIsICJmaWxlSW1wcGF0aCIpCm0udmlzdWFsZC5lbGVtZW50KDIsICJvdXRkaXIiLCBwYXRoLnRyYW5zbGF0ZShwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBjZmcuYnVpbGR0YXJnZXQuZGlyZWN0b3J5KSkpCm0udmlzdWFsZC5lbGVtZW50KDIsICJvYmpkaXIiLCBwYXRoLnRyYW5zbGF0ZShwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBjZmcub2JqZGlyKSkpCm0udmlzdWFsZC5lbGVtZW50KDIsICJvYmpuYW1lIikKbS52aXN1YWxkLmVsZW1lbnQoMiwgImxpYm5hbWUiKQptLnZpc3VhbGQuZWxlbWVudCgyLCAiZG9Eb2NDb21tZW50cyIsIGlpZihjZmcuZmxhZ3MuRG9jdW1lbnRhdGlvbiwgJzEnLCAnMCcpKQptLnZpc3VhbGQuZWxlbWVudCgyLCAiZG9jZGlyIiwgY2ZnLmRvY2RpcikKbS52aXN1YWxkLmVsZW1lbnQoMiwgImRvY25hbWUiLCBjZmcuZG9jbmFtZSkKbS52aXN1YWxkLmVsZW1lbnQoMiwgIm1vZHVsZXNfZGRvYyIpCm0udmlzdWFsZC5lbGVtZW50KDIsICJkZG9jZmlsZXMiKQptLnZpc3VhbGQuZWxlbWVudCgyLCAiZG9IZHJHZW5lcmF0aW9uIiwgaWlmKGNmZy5mbGFncy5HZW5lcmF0ZUhlYWRlciwgJzEnLCAnMCcpKQptLnZpc3VhbGQuZWxlbWVudCgyLCAiaGRyZGlyIiwgY2ZnLmhlYWRlcmRpcikKbS52aXN1YWxkLmVsZW1lbnQoMiwgImhkcm5hbWUiLCBjZmcuaGVhZGVybmFtZSkKbS52aXN1YWxkLmVsZW1lbnQoMiwgImRvWEdlbmVyYXRpb24iLCBpaWYoY2ZnLmZsYWdzLkdlbmVyYXRlSlNPTiwgJzEnLCAnMCcpKQptLnZpc3VhbGQuZWxlbWVudCgyLCAieGZpbGVuYW1lIiwgJyQoSW50RGlyKVxcJChUYXJnZXROYW1lKS5qc29uJykKbS52aXN1YWxkLmVsZW1lbnQoMiwgImRlYnVnbGV2ZWwiLCBpaWYoY2ZnLmRlYnVnbGV2ZWwsIHRvc3RyaW5nKGNmZy5kZWJ1Z2xldmVsKSwgJzAnKSkKbS52aXN1YWxkLmVsZW1lbnQoMiwgImRlYnVnaWRzIiwgY2ZnLmRlYnVnY29uc3RhbnRzKQptLnZpc3VhbGQuZWxlbWVudCgyLCAidmVyc2lvbmxldmVsIiwgaWlmKGNmZy52ZXJzaW9ubGV2ZWwsIHRvc3RyaW5nKGNmZy52ZXJzaW9ubGV2ZWwpLCAnMCcpKQptLnZpc3VhbGQuZWxlbWVudCgyLCAidmVyc2lvbmlkcyIsIGNmZy52ZXJzaW9uY29uc3RhbnRzKQpfcCgyLCc8ZHVtcF9zb3VyY2U+MDwvZHVtcF9zb3VyY2U+JykKX3AoMiwnPG1hcHZlcmJvc2l0eT4wPC9tYXB2ZXJib3NpdHk+JykKX3AoMiwnPGNyZWF0ZUltcGxpYj4lczwvY3JlYXRlSW1wbGliPicsIGlpZihjZmcua2luZCB+PSBwLlNIQVJFRExJQiBvciBjZmcuZmxhZ3MuTm9JbXBvcnRMaWIsICcwJywgJzEnKSkKX3AoMiwnPGRlZmF1bHRsaWJuYW1lIC8+JykKX3AoMiwnPGRlYnVnbGlibmFtZSAvPicpCl9wKDIsJzxtb2R1bGVEZXBzRmlsZSAvPicpCl9wKDIsJzxydW4+MDwvcnVuPicpCl9wKDIsJzxydW5hcmdzIC8+JykKX3AoMiwnPHJ1bkN2MnBkYj4xPC9ydW5DdjJwZGI+JykgLS0gd2Ugd2lsbCBqdXN0IGxlYXZlIHRoaXMgYWx3YXlzIGVuYWJsZWQsIHNpbmNlIGl0J3MgaWdub3JlZCBpZiBubyBkZWJ1Z2luZm8gaXMgd3JpdHRlbgpfcCgyLCc8cGF0aEN2MnBkYj4kKFZpc3VhbERJbnN0YWxsRGlyKWN2MnBkYlxcY3YycGRiLmV4ZTwvcGF0aEN2MnBkYj4nKQpfcCgyLCc8Y3YycGRiUHJlMjA0Mz4wPC9jdjJwZGJQcmUyMDQzPicpCl9wKDIsJzxjdjJwZGJOb0RlbWFuZ2xlPjA8L2N2MnBkYk5vRGVtYW5nbGU+JykKX3AoMiwnPGN2MnBkYkVudW1UeXBlPjA8L2N2MnBkYkVudW1UeXBlPicpCl9wKDIsJzxjdjJwZGJPcHRpb25zIC8+JykKX3AoMiwnPG9iamZpbGVzIC8+JykKX3AoMiwnPGxpbmtzd2l0Y2hlcyAvPicpCmxvY2FsIGxpbmtzCmxvY2FsIGV4cGxpY2l0ID0gdnN0dWRpby5uZWVkc0V4cGxpY2l0TGluayhjZmcpCmxvY2FsIHRvb2xzZXQgPSBjb25maWcudG9vbHNldChjZmcpCmlmIHRvb2xzZXQgdGhlbgpsaW5rcyA9IHRvb2xzZXQuZ2V0bGlua3MoY2ZnLCBub3QgZXhwbGljaXQpCmVsc2UKbG9jYWwgc2NvcGUgPSBpaWYoZXhwbGljaXQsICJhbGwiLCAic3lzdGVtIikKbGlua3MgPSBjb25maWcuZ2V0bGlua3MoY2ZnLCBzY29wZSwgImZ1bGxwYXRoIikKZW5kCm0udmlzdWFsZC5lbGVtZW50KDIsICJsaWJmaWxlcyIsIHRhYmxlLmNvbmNhdChsaW5rcywgIiAiKSkKbS52aXN1YWxkLmVsZW1lbnQoMiwgImxpYnBhdGhzIiwgY2ZnLmxpYmRpcnMpCl9wKDIsJzxkZWZmaWxlIC8+JykKX3AoMiwnPHJlc2ZpbGUgLz4nKQpsb2NhbCB0YXJnZXQgPSBjb25maWcuZ2V0dGFyZ2V0aW5mbyhjZmcpCl9wKDIsJzxleGVmaWxlPiQoT3V0RGlyKVxcJXM8L2V4ZWZpbGU+JywgdGFyZ2V0Lm5hbWUpCl9wKDIsJzx1c2VTdGRMaWJQYXRoPjE8L3VzZVN0ZExpYlBhdGg+JykKbG9jYWwgcnVudGltZSA9IDAKaWYgbm90IGNmZy5mbGFncy5PbWl0RGVmYXVsdExpYnJhcnkgdGhlbgppZiBjb25maWcuaXNEZWJ1Z0J1aWxkKGNmZykgdGhlbgpydW50aW1lID0gaWlmKGNmZy5mbGFncy5TdGF0aWNSdW50aW1lLCAiMiIsICI0IikKZWxzZQpydW50aW1lID0gaWlmKGNmZy5mbGFncy5TdGF0aWNSdW50aW1lLCAiMSIsICIzIikKZW5kCmVuZAptLnZpc3VhbGQuZWxlbWVudCgyLCAiY1J1bnRpbWUiLCBydW50aW1lKQpsb2NhbCBhZGRpdGlvbmFsT3B0aW9ucwppZiAjY2ZnLmJ1aWxkb3B0aW9ucyA+IDAgdGhlbgphZGRpdGlvbmFsT3B0aW9ucyA9IHRhYmxlLmNvbmNhdChjZmcuYnVpbGRvcHRpb25zLCAiICIpCmVuZAppZiAjY2ZnLmxpbmtvcHRpb25zID4gMCB0aGVuCmxvY2FsIGxpbmtPcHRzID0gdGFibGUuaW1wbG9kZShjZmcubGlua29wdGlvbnMsICItTCIsICIiLCAiICIpCmlmIGFkZGl0aW9uYWxPcHRpb25zIHRoZW4KYWRkaXRpb25hbE9wdGlvbnMgPSBhZGRpdGlvbmFsT3B0aW9ucyAuLiAiICIgLi4gbGlua09wdHMKZWxzZQphZGRpdGlvbmFsT3B0aW9ucyA9IGxpbmtPcHRzCmVuZAplbmQKbS52aXN1YWxkLmVsZW1lbnQoMiwgImFkZGl0aW9uYWxPcHRpb25zIiwgYWRkaXRpb25hbE9wdGlvbnMpCmlmICNjZmcucHJlYnVpbGRjb21tYW5kcyA+IDAgdGhlbgpfcCgyLCc8cHJlQnVpbGRDb21tYW5kPiVzPC9wcmVCdWlsZENvbW1hbmQ+JyxwLmVzYyh0YWJsZS5pbXBsb2RlKGNmZy5wcmVidWlsZGNvbW1hbmRzLCAiIiwgIiIsICJcclxuIikpKQplbHNlCl9wKDIsJzxwcmVCdWlsZENvbW1hbmQgLz4nKQplbmQKaWYgI2NmZy5wb3N0YnVpbGRjb21tYW5kcyA+IDAgdGhlbgpfcCgyLCc8cG9zdEJ1aWxkQ29tbWFuZD4lczwvcG9zdEJ1aWxkQ29tbWFuZD4nLHAuZXNjKHRhYmxlLmltcGxvZGUoY2ZnLnBvc3RidWlsZGNvbW1hbmRzLCAiIiwgIiIsICJcclxuIikpKQplbHNlCl9wKDIsJzxwb3N0QnVpbGRDb21tYW5kIC8+JykKZW5kCl9wKDIsJzxmaWxlc1RvQ2xlYW4+Ki5vYmo7Ki5jbWQ7Ki5idWlsZDsqLmpzb247Ki5kZXA7Ki5vPC9maWxlc1RvQ2xlYW4+JykKX3AoMSwnPC9Db25maWc+JykKZW5kCmVuZApmdW5jdGlvbiBtLnZpc3VhbGQuZmlsZXMocHJqKQpfcCgxLCc8Rm9sZGVyIG5hbWU9IiVzIj4nLCBwcmoubmFtZSkKbG9jYWwgdHIgPSBwcm9qZWN0LmdldHNvdXJjZXRyZWUocHJqKQp0cmVlLnRyYXZlcnNlKHRyLCB7Cm9uYnJhbmNoZW50ZXIgPSBmdW5jdGlvbihub2RlLCBkZXB0aCkKX3AoZGVwdGgsICc8Rm9sZGVyIG5hbWU9IiVzIj4nLCBub2RlLm5hbWUpCmVuZCwKb25icmFuY2hleGl0ID0gZnVuY3Rpb24obm9kZSwgZGVwdGgpCl9wKGRlcHRoLCAnPC9Gb2xkZXI+JykKZW5kLApvbmxlYWYgPSBmdW5jdGlvbihub2RlLCBkZXB0aCkKX3AoZGVwdGgsICc8RmlsZSBwYXRoPSIlcyIgLz4nLCBwYXRoLnRyYW5zbGF0ZShub2RlLnJlbHBhdGgpKQplbmQKfSwgZmFsc2UsIDIpCl9wKDEsJzwvRm9sZGVyPicpCmVuZApmdW5jdGlvbiBtLnZpc3VhbGQuZmlsZUNvbmZpZ3VyYXRpb24ocHJqLCBub2RlLCBkZXB0aCkKZW5kCmZ1bmN0aW9uIG0udmlzdWFsZC5lbGVtZW50KGRlcHRoLCBuYW1lLCB2YWx1ZSwgLi4uKQpsb2NhbCBpc1RhYmxlID0gdHlwZSh2YWx1ZSkgPT0gInRhYmxlIgppZiBub3QgdmFsdWUgb3IgKGlzVGFibGUgYW5kICN2YWx1ZSA9PSAwKSB0aGVuCl9wKGRlcHRoLCAnPCVzIC8+JywgbmFtZSkKZWxzZQppZiBpc1RhYmxlIHRoZW4KdmFsdWUgPSBwLmVzYyh0YWJsZS5pbXBsb2RlKHZhbHVlLCAiIiwgIiIsICI7IikpCl9wKGRlcHRoLCAnPCVzPiVzPC8lcz4nLCBuYW1lLCB2YWx1ZSwgbmFtZSkKZWxzZQppZiBzZWxlY3QoJyMnLC4uLikgPT0gMCB0aGVuCnZhbHVlID0gcC5lc2ModmFsdWUpCmVuZApfeChkZXB0aCwgc3RyaW5nLmZvcm1hdCgnPCVzPiVzPC8lcz4nLCBuYW1lLCB2YWx1ZSwgbmFtZSksIC4uLikKZW5kCmVuZAplbmQKAAAAAAAAbG9jYWwgcCA9IHByZW1ha2UKcC52c3R1ZGlvLnZzMjAxMC5ydWxlcy54bWwgPSB7fQpsb2NhbCBtID0gcC52c3R1ZGlvLnZzMjAxMC5ydWxlcy54bWwKbS5lbGVtZW50cyA9IHt9Cm0uZWxlbWVudHMucHJvamVjdCA9IGZ1bmN0aW9uKHIpCnJldHVybiB7Cm0ucHJvamVjdFNjaGVtYURlZmluaXRpb25zLAptLnJ1bGUsCm0ucnVsZUl0ZW0sCm0uZmlsZUV4dGVuc2lvbiwKbS5jb250ZW50VHlwZSwKfQplbmQKZnVuY3Rpb24gbS5nZW5lcmF0ZShyKQpwLnhtbFV0ZjgoKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLnByb2plY3QsIHIpCnAub3V0KCc8L1Byb2plY3RTY2hlbWFEZWZpbml0aW9ucz4nKQplbmQKbS5lbGVtZW50cy5ydWxlID0gZnVuY3Rpb24ocikKcmV0dXJuIHsKbS5kYXRhU291cmNlLAptLmNhdGVnb3JpZXMsCm0uaW5wdXRzLAptLnByb3BlcnRpZXMsCm0uY29tbWFuZExpbmVUZW1wbGF0ZSwKbS5iZWZvcmVUYXJnZXRzLAptLmFmdGVyVGFyZ2V0cywKbS5vdXRwdXRzLAptLmV4ZWN1dGlvbkRlc2NyaXB0aW9uLAptLmFkZGl0aW9uYWxEZXBlbmRlbmNpZXMsCm0uYWRkaXRpb25hbE9wdGlvbnMsCn0KZW5kCmZ1bmN0aW9uIG0ucnVsZShyKQpwLnB1c2goJzxSdWxlJykKcC53KCdOYW1lPSIlcyInLCByLm5hbWUpCnAudygnUGFnZVRlbXBsYXRlPSJ0b29sIicpCnAudygnRGlzcGxheU5hbWU9IiVzIicsIHIuZGlzcGxheSBvciByLm5hbWUpCnAudygnT3JkZXI9IjIwMCI+JykKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5ydWxlLCByKQpwLnBvcCgnPC9SdWxlPicpCmVuZApmdW5jdGlvbiBtLmNhdGVnb3JpZXMocikKbG9jYWwgY2F0ZWdvcmllcyA9IHsKWzFdID0geyBuYW1lPSJHZW5lcmFsIiB9LAp9CmxvY2FsIHByb3BDYXRlZ29yeSA9IHt9CmxvY2FsIGRlZnMgPSByLnByb3BlcnR5ZGVmaW5pdGlvbgpmb3IgaSA9IDEsICNkZWZzIGRvCmxvY2FsIGRlZiA9IGRlZnNbaV0KbG9jYWwgY2F0ID0gZGVmLmNhdGVnb3J5CmlmIGNhdCB0aGVuCmlmIHR5cGUoY2F0KSA9PSAic3RyaW5nIiBhbmQgY2F0IH49ICJDb21tYW5kIExpbmUiIGFuZCBjYXQgfj0gIkdlbmVyYWwiIHRoZW4KaWYgbm90IHByb3BDYXRlZ29yeVtjYXRdIHRoZW4KdGFibGUuaW5zZXJ0KGNhdGVnb3JpZXMsIHsgbmFtZT1jYXQgfSkKcHJvcENhdGVnb3J5W2NhdF0gPSB0cnVlCmVuZAplbHNlCmRlZi5jYXRlZ29yeSA9IG5pbAplbmQKZW5kCmVuZAp0YWJsZS5pbnNlcnQoY2F0ZWdvcmllcywgeyBuYW1lPSJDb21tYW5kIExpbmUiLCBzdWJ0eXBlPSJDb21tYW5kTGluZSIgfSkKcC5wdXNoKCc8UnVsZS5DYXRlZ29yaWVzPicpCmZvciBpID0gMSwgI2NhdGVnb3JpZXMgZG8KbS5jYXRlZ29yeShjYXRlZ29yaWVzW2ldKQplbmQKcC5wb3AoJzwvUnVsZS5DYXRlZ29yaWVzPicpCmVuZApmdW5jdGlvbiBtLmNhdGVnb3J5KGNhdCkKbG9jYWwgYXR0cmlicyA9IHAuY2FwdHVyZShmdW5jdGlvbigpCnAucHVzaCgpCnAudygnTmFtZT0iJXMiJywgY2F0Lm5hbWUpCmlmIGNhdC5zdWJ0eXBlIHRoZW4KcC53KCdTdWJ0eXBlPSIlcyInLCBjYXQuc3VidHlwZSkKZW5kCnAucG9wKCkKZW5kKQpwLnB1c2goJzxDYXRlZ29yeScpCnAub3V0bG4oYXR0cmlicyAuLiAnPicpCnAucHVzaCgnPENhdGVnb3J5LkRpc3BsYXlOYW1lPicpCnAudygnPHN5czpTdHJpbmc+JXM8L3N5czpTdHJpbmc+JywgY2F0Lm5hbWUpCnAucG9wKCc8L0NhdGVnb3J5LkRpc3BsYXlOYW1lPicpCnAucG9wKCc8L0NhdGVnb3J5PicpCmVuZApmdW5jdGlvbiBtLnByb3BlcnRpZXMocikKbG9jYWwgZGVmcyA9IHIucHJvcGVydHlkZWZpbml0aW9uCmZvciBpID0gMSwgI2RlZnMgZG8KbG9jYWwgZGVmID0gZGVmc1tpXQppZiBkZWYua2luZCA9PSAiYm9vbGVhbiIgdGhlbgptLmJvb2xQcm9wZXJ0eShkZWYpCmVsc2VpZiBkZWYua2luZCA9PSAibGlzdCIgdGhlbgptLnN0cmluZ0xpc3RQcm9wZXJ0eShkZWYpCmVsc2VpZiB0eXBlKGRlZi52YWx1ZXMpID09ICJ0YWJsZSIgdGhlbgptLmVudW1Qcm9wZXJ0eShkZWYpCmVsc2VpZiBkZWYua2luZCBhbmQgZGVmLmtpbmQ6c3RhcnRzd2l0aCgibGlzdDoiKSB0aGVuCm0uc3RyaW5nTGlzdFByb3BlcnR5KGRlZikKZWxzZQptLnN0cmluZ1Byb3BlcnR5KGRlZikKZW5kCmVuZAplbmQKZnVuY3Rpb24gbS5iYXNlUHJvcGVydHkoZGVmLCBzdWZmaXgpCmxvY2FsIGMgPSBwLmNhcHR1cmUoZnVuY3Rpb24gKCkKcC53KCdOYW1lPSIlcyInLCBkZWYubmFtZSkKcC53KCdIZWxwQ29udGV4dD0iMCInKQpwLncoJ0Rpc3BsYXlOYW1lPSIlcyInLCBkZWYuZGlzcGxheSBvciBkZWYubmFtZSkKaWYgZGVmLmRlc2NyaXB0aW9uIHRoZW4KcC53KCdEZXNjcmlwdGlvbj0iJXMiJywgZGVmLmRlc2NyaXB0aW9uKQplbmQKaWYgZGVmLmNhdGVnb3J5IHRoZW4KcC53KCdDYXRlZ29yeT0iJXMiJywgZGVmLmNhdGVnb3J5KQplbmQKZW5kKQppZiBzdWZmaXggdGhlbgpjID0gYyAuLiBzdWZmaXgKZW5kCnAub3V0bG4oYykKZW5kCmZ1bmN0aW9uIG0uYm9vbFByb3BlcnR5KGRlZikKcC5wdXNoKCc8Qm9vbFByb3BlcnR5JykKbS5iYXNlUHJvcGVydHkoZGVmKQppZiBkZWYuc3dpdGNoIHRoZW4KcC53KCdTd2l0Y2g9IiVzIicsIGRlZi5zd2l0Y2gpCmVuZApwLncoJy8+JykKcC5wb3AoKQplbmQKZnVuY3Rpb24gbS5lbnVtUHJvcGVydHkoZGVmKQpwLnB1c2goJzxFbnVtUHJvcGVydHknKQptLmJhc2VQcm9wZXJ0eShkZWYsICc+JykKbG9jYWwgdmFsdWVzID0gZGVmLnZhbHVlcwpsb2NhbCBzd2l0Y2hlcyA9IGRlZi5zd2l0Y2ggb3Ige30KbG9jYWwga2V5cyA9IHRhYmxlLmtleXMoZGVmLnZhbHVlcykKdGFibGUuc29ydChrZXlzKQpmb3IgXywga2V5IGluIHBhaXJzKGtleXMpIGRvCnAucHVzaCgnPEVudW1WYWx1ZScpCnAudygnTmFtZT0iJWQiJywga2V5KQppZiBzd2l0Y2hlc1trZXldIHRoZW4KcC53KCdEaXNwbGF5TmFtZT0iJXMiJywgdmFsdWVzW2tleV0pCmlmIHN3aXRjaGVzW2tleV0gdGhlbgpwLncoJ1N3aXRjaD0iJXMiJywgc3dpdGNoZXNba2V5XSkKZW5kCmVsc2UKcC53KCdEaXNwbGF5TmFtZT0iJXMiJywgdmFsdWVzW2tleV0pCmVuZApwLncoJy8+JykKcC5wb3AoKQplbmQKcC5wb3AoJzwvRW51bVByb3BlcnR5PicpCmVuZApmdW5jdGlvbiBtLnN0cmluZ1Byb3BlcnR5KGRlZikKcC5wdXNoKCc8U3RyaW5nUHJvcGVydHknKQptLmJhc2VQcm9wZXJ0eShkZWYpCmlmIGRlZi5zd2l0Y2ggdGhlbgpwLncoJ1N3aXRjaD0iJXMiJywgZGVmLnN3aXRjaCkKZW5kCnAudygnLz4nKQpwLnBvcCgpCmVuZApmdW5jdGlvbiBtLnN0cmluZ0xpc3RQcm9wZXJ0eShkZWYpCnAucHVzaCgnPFN0cmluZ0xpc3RQcm9wZXJ0eScpCm0uYmFzZVByb3BlcnR5KGRlZikKaWYgZGVmLnNlcGFyYXRvciB0aGVuCnAudygnU2VwYXJhdG9yPSIlcyInLCBkZWYuc2VwYXJhdG9yKQplbmQKaWYgZGVmLnN3aXRjaCB0aGVuCnAudygnU3dpdGNoPSIlcyInLCBkZWYuc3dpdGNoKQplbmQKcC53KCcvPicpCnAucG9wKCkKZW5kCmZ1bmN0aW9uIG0uYWRkaXRpb25hbERlcGVuZGVuY2llcyhyKQpwLnB1c2goJzxTdHJpbmdMaXN0UHJvcGVydHknKQpwLncoJ05hbWU9IkFkZGl0aW9uYWxEZXBlbmRlbmNpZXMiJykKcC53KCdEaXNwbGF5TmFtZT0iQWRkaXRpb25hbCBEZXBlbmRlbmNpZXMiJykKcC53KCdJbmNsdWRlSW5Db21tYW5kTGluZT0iRmFsc2UiJykKcC53KCdWaXNpYmxlPSJmYWxzZSIgLz4nKQpwLnBvcCgpCmVuZApmdW5jdGlvbiBtLmFkZGl0aW9uYWxPcHRpb25zKHIpCnAucHVzaCgnPFN0cmluZ1Byb3BlcnR5JykKcC53KCdTdWJ0eXBlPSJBZGRpdGlvbmFsT3B0aW9ucyInKQpwLncoJ05hbWU9IkFkZGl0aW9uYWxPcHRpb25zIicpCnAudygnQ2F0ZWdvcnk9IkNvbW1hbmQgTGluZSI+JykKcC5wdXNoKCc8U3RyaW5nUHJvcGVydHkuRGlzcGxheU5hbWU+JykKcC53KCc8c3lzOlN0cmluZz5BZGRpdGlvbmFsIE9wdGlvbnM8L3N5czpTdHJpbmc+JykKcC5wb3AoJzwvU3RyaW5nUHJvcGVydHkuRGlzcGxheU5hbWU+JykKcC5wdXNoKCc8U3RyaW5nUHJvcGVydHkuRGVzY3JpcHRpb24+JykKcC53KCc8c3lzOlN0cmluZz5BZGRpdGlvbmFsIE9wdGlvbnM8L3N5czpTdHJpbmc+JykKcC5wb3AoJzwvU3RyaW5nUHJvcGVydHkuRGVzY3JpcHRpb24+JykKcC5wb3AoJzwvU3RyaW5nUHJvcGVydHk+JykKZW5kCmZ1bmN0aW9uIG0uYWZ0ZXJUYXJnZXRzKHIpCnAucHVzaCgnPER5bmFtaWNFbnVtUHJvcGVydHknKQpwLncoJ05hbWU9IiVzQWZ0ZXJUYXJnZXRzIicsIHIubmFtZSkKcC53KCdDYXRlZ29yeT0iR2VuZXJhbCInKQpwLncoJ0VudW1Qcm92aWRlcj0iVGFyZ2V0cyInKQpwLncoJ0luY2x1ZGVJbkNvbW1hbmRMaW5lPSJGYWxzZSI+JykKcC5wdXNoKCc8RHluYW1pY0VudW1Qcm9wZXJ0eS5EaXNwbGF5TmFtZT4nKQpwLncoJzxzeXM6U3RyaW5nPkV4ZWN1dGUgQWZ0ZXI8L3N5czpTdHJpbmc+JykKcC5wb3AoJzwvRHluYW1pY0VudW1Qcm9wZXJ0eS5EaXNwbGF5TmFtZT4nKQpwLnB1c2goJzxEeW5hbWljRW51bVByb3BlcnR5LkRlc2NyaXB0aW9uPicpCnAudygnPHN5czpTdHJpbmc+U3BlY2lmaWVzIHRoZSB0YXJnZXRzIGZvciB0aGUgYnVpbGQgY3VzdG9taXphdGlvbiB0byBydW4gYWZ0ZXIuPC9zeXM6U3RyaW5nPicpCnAucG9wKCc8L0R5bmFtaWNFbnVtUHJvcGVydHkuRGVzY3JpcHRpb24+JykKcC5wdXNoKCc8RHluYW1pY0VudW1Qcm9wZXJ0eS5Qcm92aWRlclNldHRpbmdzPicpCnAucHVzaCgnPE5hbWVWYWx1ZVBhaXInKQpwLncoJ05hbWU9IkV4Y2x1ZGUiJykKcC53KCdWYWx1ZT0iXiVzQWZ0ZXJUYXJnZXRzfF5Db21wdXRlIiAvPicsIHIubmFtZSkKcC5wb3AoKQpwLnBvcCgnPC9EeW5hbWljRW51bVByb3BlcnR5LlByb3ZpZGVyU2V0dGluZ3M+JykKcC5wdXNoKCc8RHluYW1pY0VudW1Qcm9wZXJ0eS5EYXRhU291cmNlPicpCnAucHVzaCgnPERhdGFTb3VyY2UnKQpwLncoJ1BlcnNpc3RlbmNlPSJQcm9qZWN0RmlsZSInKQpwLncoJ0l0ZW1UeXBlPSIiJykKcC53KCdIYXNDb25maWd1cmF0aW9uQ29uZGl0aW9uPSJ0cnVlIiAvPicpCnAucG9wKCkKcC5wb3AoJzwvRHluYW1pY0VudW1Qcm9wZXJ0eS5EYXRhU291cmNlPicpCnAucG9wKCc8L0R5bmFtaWNFbnVtUHJvcGVydHk+JykKZW5kCmZ1bmN0aW9uIG0uYmVmb3JlVGFyZ2V0cyhyKQpwLnB1c2goJzxEeW5hbWljRW51bVByb3BlcnR5JykKcC53KCdOYW1lPSIlc0JlZm9yZVRhcmdldHMiJywgci5uYW1lKQpwLncoJ0NhdGVnb3J5PSJHZW5lcmFsIicpCnAudygnRW51bVByb3ZpZGVyPSJUYXJnZXRzIicpCnAudygnSW5jbHVkZUluQ29tbWFuZExpbmU9IkZhbHNlIj4nKQpwLnB1c2goJzxEeW5hbWljRW51bVByb3BlcnR5LkRpc3BsYXlOYW1lPicpCnAudygnPHN5czpTdHJpbmc+RXhlY3V0ZSBCZWZvcmU8L3N5czpTdHJpbmc+JykKcC5wb3AoJzwvRHluYW1pY0VudW1Qcm9wZXJ0eS5EaXNwbGF5TmFtZT4nKQpwLnB1c2goJzxEeW5hbWljRW51bVByb3BlcnR5LkRlc2NyaXB0aW9uPicpCnAudygnPHN5czpTdHJpbmc+U3BlY2lmaWVzIHRoZSB0YXJnZXRzIGZvciB0aGUgYnVpbGQgY3VzdG9taXphdGlvbiB0byBydW4gYmVmb3JlLjwvc3lzOlN0cmluZz4nKQpwLnBvcCgnPC9EeW5hbWljRW51bVByb3BlcnR5LkRlc2NyaXB0aW9uPicpCnAucHVzaCgnPER5bmFtaWNFbnVtUHJvcGVydHkuUHJvdmlkZXJTZXR0aW5ncz4nKQpwLnB1c2goJzxOYW1lVmFsdWVQYWlyJykKcC53KCdOYW1lPSJFeGNsdWRlIicpCnAudygnVmFsdWU9Il4lc0JlZm9yZVRhcmdldHN8XkNvbXB1dGUiIC8+Jywgci5uYW1lKQpwLnBvcCgpCnAucG9wKCc8L0R5bmFtaWNFbnVtUHJvcGVydHkuUHJvdmlkZXJTZXR0aW5ncz4nKQpwLnB1c2goJzxEeW5hbWljRW51bVByb3BlcnR5LkRhdGFTb3VyY2U+JykKcC5wdXNoKCc8RGF0YVNvdXJjZScpCnAudygnUGVyc2lzdGVuY2U9IlByb2plY3RGaWxlIicpCnAudygnSGFzQ29uZmlndXJhdGlvbkNvbmRpdGlvbj0idHJ1ZSIgLz4nKQpwLnBvcCgpCnAucG9wKCc8L0R5bmFtaWNFbnVtUHJvcGVydHkuRGF0YVNvdXJjZT4nKQpwLnBvcCgnPC9EeW5hbWljRW51bVByb3BlcnR5PicpCmVuZApmdW5jdGlvbiBtLmNvbW1hbmRMaW5lVGVtcGxhdGUocikKcC5wdXNoKCc8U3RyaW5nUHJvcGVydHknKQpwLncoJ05hbWU9IkNvbW1hbmRMaW5lVGVtcGxhdGUiJykKcC53KCdEaXNwbGF5TmFtZT0iQ29tbWFuZCBMaW5lIicpCnAudygnVmlzaWJsZT0iRmFsc2UiJykKcC53KCdJbmNsdWRlSW5Db21tYW5kTGluZT0iRmFsc2UiIC8+JykKcC5wb3AoKQplbmQKZnVuY3Rpb24gbS5jb250ZW50VHlwZShyKQpwLnB1c2goJzxDb250ZW50VHlwZScpCnAudygnTmFtZT0iJXMiJywgci5uYW1lKQpwLncoJ0Rpc3BsYXlOYW1lPSIlcyInLCByLmRpc3BsYXkgb3Igci5uYW1lKQpwLncoJ0l0ZW1UeXBlPSIlcyIgLz4nLCByLm5hbWUpCnAucG9wKCkKZW5kCmZ1bmN0aW9uIG0uZGF0YVNvdXJjZShyKQpwLnB1c2goJzxSdWxlLkRhdGFTb3VyY2U+JykKcC5wdXNoKCc8RGF0YVNvdXJjZScpCnAudygnUGVyc2lzdGVuY2U9IlByb2plY3RGaWxlIicpCnAudygnSXRlbVR5cGU9IiVzIiAvPicsIHIubmFtZSkKcC5wb3AoKQpwLnBvcCgnPC9SdWxlLkRhdGFTb3VyY2U+JykKZW5kCmZ1bmN0aW9uIG0uZXhlY3V0aW9uRGVzY3JpcHRpb24ocikKcC5wdXNoKCc8U3RyaW5nUHJvcGVydHknKQpwLncoJ05hbWU9IkV4ZWN1dGlvbkRlc2NyaXB0aW9uIicpCnAudygnRGlzcGxheU5hbWU9IkV4ZWN1dGlvbiBEZXNjcmlwdGlvbiInKQpwLncoJ1Zpc2libGU9IkZhbHNlIicpCnAudygnSW5jbHVkZUluQ29tbWFuZExpbmU9IkZhbHNlIiAvPicpCnAucG9wKCkKZW5kCmZ1bmN0aW9uIG0uZmlsZUV4dGVuc2lvbihyKQpmb3IgXywgdiBpbiBpcGFpcnMoci5maWxlZXh0ZW5zaW9uKSBkbwpwLnB1c2goJzxGaWxlRXh0ZW5zaW9uJykKcC53KCdOYW1lPSIqJXMiJywgdikKcC53KCdDb250ZW50VHlwZT0iJXMiIC8+Jywgci5uYW1lKQpwLnBvcCgpCmVuZAplbmQKZnVuY3Rpb24gbS5pbnB1dHMocikKcC5wdXNoKCc8U3RyaW5nTGlzdFByb3BlcnR5JykKcC53KCdOYW1lPSJJbnB1dHMiJykKcC53KCdDYXRlZ29yeT0iQ29tbWFuZCBMaW5lIicpCnAudygnSXNSZXF1aXJlZD0idHJ1ZSInKQpwLncoJ1N3aXRjaD0iICI+JykKcC5wdXNoKCc8U3RyaW5nTGlzdFByb3BlcnR5LkRhdGFTb3VyY2U+JykKcC5wdXNoKCc8RGF0YVNvdXJjZScpCnAudygnUGVyc2lzdGVuY2U9IlByb2plY3RGaWxlIicpCnAudygnSXRlbVR5cGU9IiVzIicsIHIubmFtZSkKcC53KCdTb3VyY2VUeXBlPSJJdGVtIiAvPicpCnAucG9wKCkKcC5wb3AoJzwvU3RyaW5nTGlzdFByb3BlcnR5LkRhdGFTb3VyY2U+JykKcC5wb3AoJzwvU3RyaW5nTGlzdFByb3BlcnR5PicpCmVuZApmdW5jdGlvbiBtLm91dHB1dHMocikKcC5wdXNoKCc8U3RyaW5nTGlzdFByb3BlcnR5JykKcC53KCdOYW1lPSJPdXRwdXRzIicpCnAudygnRGlzcGxheU5hbWU9Ik91dHB1dHMiJykKcC53KCdWaXNpYmxlPSJGYWxzZSInKQpwLncoJ0luY2x1ZGVJbkNvbW1hbmRMaW5lPSJGYWxzZSIgLz4nKQpwLnBvcCgpCmVuZApmdW5jdGlvbiBtLnJ1bGVJdGVtKHIpCnAucHVzaCgnPEl0ZW1UeXBlJykKcC53KCdOYW1lPSIlcyInLCByLm5hbWUpCnAudygnRGlzcGxheU5hbWU9IiVzIiAvPicsIHIuZGlzcGxheSBvciByLm5hbWUpCnAucG9wKCkKZW5kCmZ1bmN0aW9uIG0ucHJvamVjdFNjaGVtYURlZmluaXRpb25zKHIpCnAucHVzaCgnPFByb2plY3RTY2hlbWFEZWZpbml0aW9ucyB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9idWlsZC8yMDA5L3Byb3BlcnRpZXMiIHhtbG5zOng9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vd2luZngvMjAwNi94YW1sIiB4bWxuczpzeXM9ImNsci1uYW1lc3BhY2U6U3lzdGVtO2Fzc2VtYmx5PW1zY29ybGliIj4nKQplbmQKAAAAAGxvY2FsIHAgPSBwcmVtYWtlCnAudnN0dWRpby52czIwMTAgPSB7fQpsb2NhbCB2czIwMTAgPSBwLnZzdHVkaW8udnMyMDEwCmxvY2FsIHZzdHVkaW8gPSBwLnZzdHVkaW8KbG9jYWwgcHJvamVjdCA9IHAucHJvamVjdApsb2NhbCB0cmVlID0gcC50cmVlCnZzMjAxMC5wYXRoVmFycyA9IHsKWyJjZmcub2JqZGlyIl0gICAgICAgICAgICAgICAgICA9IHsgYWJzb2x1dGUgPSB0cnVlLCAgdG9rZW4gPSAiJChJbnREaXIpIiB9LApbInByai5sb2NhdGlvbiJdICAgICAgICAgICAgICAgID0geyBhYnNvbHV0ZSA9IHRydWUsICB0b2tlbiA9ICIkKFByb2plY3REaXIpIiB9LApbInByai5uYW1lIl0gICAgICAgICAgICAgICAgICAgID0geyBhYnNvbHV0ZSA9IGZhbHNlLCB0b2tlbiA9ICIkKFByb2plY3ROYW1lKSIgfSwKWyJzbG4ubG9jYXRpb24iXSAgICAgICAgICAgICAgICA9IHsgYWJzb2x1dGUgPSB0cnVlLCAgdG9rZW4gPSAiJChTb2x1dGlvbkRpcikiIH0sClsic2xuLm5hbWUiXSAgICAgICAgICAgICAgICAgICAgPSB7IGFic29sdXRlID0gZmFsc2UsIHRva2VuID0gIiQoU29sdXRpb25OYW1lKSIgfSwKWyJ3a3MubG9jYXRpb24iXSAgICAgICAgICAgICAgICA9IHsgYWJzb2x1dGUgPSB0cnVlLCAgdG9rZW4gPSAiJChTb2x1dGlvbkRpcikiIH0sClsid2tzLm5hbWUiXSAgICAgICAgICAgICAgICAgICAgPSB7IGFic29sdXRlID0gZmFsc2UsIHRva2VuID0gIiQoU29sdXRpb25OYW1lKSIgfSwKWyJjZmcuYnVpbGR0YXJnZXQuZGlyZWN0b3J5Il0gICA9IHsgYWJzb2x1dGUgPSBmYWxzZSwgdG9rZW4gPSAiJChUYXJnZXREaXIpIiB9LApbImNmZy5idWlsZHRhcmdldC5uYW1lIl0gICAgICAgID0geyBhYnNvbHV0ZSA9IGZhbHNlLCB0b2tlbiA9ICIkKFRhcmdldEZpbGVOYW1lKSIgfSwKWyJjZmcuYnVpbGR0YXJnZXQuYmFzZW5hbWUiXSAgICA9IHsgYWJzb2x1dGUgPSBmYWxzZSwgdG9rZW4gPSAiJChUYXJnZXROYW1lKSIgfSwKWyJmaWxlLmJhc2VuYW1lIl0gICAgICAgICAgICAgICA9IHsgYWJzb2x1dGUgPSBmYWxzZSwgdG9rZW4gPSAiJShGaWxlbmFtZSkiIH0sClsiZmlsZS5hYnNwYXRoIl0gICAgICAgICAgICAgICAgPSB7IGFic29sdXRlID0gdHJ1ZSwgIHRva2VuID0gIiUoRnVsbFBhdGgpIiB9LApbImZpbGUucmVscGF0aCJdICAgICAgICAgICAgICAgID0geyBhYnNvbHV0ZSA9IGZhbHNlLCB0b2tlbiA9ICIlKElkZW50aXR5KSIgfSwKWyJmaWxlLnBhdGgiXSAgICAgICAgICAgICAgICAgICA9IHsgYWJzb2x1dGUgPSBmYWxzZSwgdG9rZW4gPSAiJShJZGVudGl0eSkiIH0sClsiZmlsZS5kaXJlY3RvcnkiXSAgICAgICAgICAgICAgPSB7IGFic29sdXRlID0gdHJ1ZSwgIHRva2VuID0gIiUoUm9vdERpciklKERpcmVjdG9yeSkiIH0sClsiZmlsZS5yZWxkaXJlY3RvcnkiXSAgICAgICAgICAgPSB7IGFic29sdXRlID0gZmFsc2UsIHRva2VuID0gIiUoUmVsYXRpdmVEaXIpIiB9LApbImZpbGUuZXh0ZW5zaW9uIl0gICAgICAgICAgICAgID0geyBhYnNvbHV0ZSA9IGZhbHNlLCB0b2tlbiA9ICIlKEV4dGVuc2lvbikiIH0sClsiZmlsZS5uYW1lIl0gICAgICAgICAgICAgICAgICAgPSB7IGFic29sdXRlID0gZmFsc2UsIHRva2VuID0gIiUoRmlsZW5hbWUpJShFeHRlbnNpb24pIiB9LAp9CmZ1bmN0aW9uIHZzMjAxMC5nZW5lcmF0ZVByb2plY3QocHJqKQpwLmVvbCgiXHJcbiIpCnAuaW5kZW50KCIgICIpCnAuZXNjYXBlcih2czIwMTAuZXNjKQppZiBwLnByb2plY3QuaXNjc2hhcnAocHJqKSB0aGVuCnAuZ2VuZXJhdGUocHJqLCAiLmNzcHJvaiIsIHZzdHVkaW8uY3MyMDA1LmdlbmVyYXRlKQpsb2NhbCB1c2VyID0gcC5jYXB0dXJlKGZ1bmN0aW9uKCkgdnN0dWRpby5jczIwMDUuZ2VuZXJhdGVVc2VyKHByaikgZW5kKQppZiAjdXNlciA+IDAgdGhlbgpwLmdlbmVyYXRlKHByaiwgIi5jc3Byb2oudXNlciIsIGZ1bmN0aW9uKCkgcC5vdXRsbih1c2VyKSBlbmQpCmVuZAplbHNlaWYgcC5wcm9qZWN0LmlzZnNoYXJwKHByaikgdGhlbgpwLmdlbmVyYXRlKHByaiwgIi5mc3Byb2oiLCB2c3R1ZGlvLmZzMjAwNS5nZW5lcmF0ZSkKbG9jYWwgdXNlciA9IHAuY2FwdHVyZShmdW5jdGlvbigpIHZzdHVkaW8uZnMyMDA1LmdlbmVyYXRlVXNlcihwcmopIGVuZCkKaWYgI3VzZXIgPiAwIHRoZW4KcC5nZW5lcmF0ZShwcmosICIuZnNwcm9qLnVzZXIiLCBmdW5jdGlvbigpIHAub3V0bG4odXNlcikgZW5kKQplbmQKZWxzZWlmIHAucHJvamVjdC5pc2MocHJqKSBvciBwLnByb2plY3QuaXNjcHAocHJqKSB0aGVuCmxvY2FsIHByb2pGaWxlTW9kaWZpZWQgPSBwLmdlbmVyYXRlKHByaiwgIi52Y3hwcm9qIiwgdnN0dWRpby52YzIwMTAuZ2VuZXJhdGUpCmxvY2FsIHVzZXIgPSBwLmNhcHR1cmUoZnVuY3Rpb24oKSB2c3R1ZGlvLnZjMjAxMC5nZW5lcmF0ZVVzZXIocHJqKSBlbmQpCmlmICN1c2VyID4gMCB0aGVuCnAuZ2VuZXJhdGUocHJqLCAiLnZjeHByb2oudXNlciIsIGZ1bmN0aW9uKCkgcC5vdXRsbih1c2VyKSBlbmQpCmVuZAppZiB0cmVlLmhhc2JyYW5jaGVzKHByb2plY3QuZ2V0c291cmNldHJlZShwcmopKSB0aGVuCmlmIHAuZ2VuZXJhdGUocHJqLCAiLnZjeHByb2ouZmlsdGVycyIsIHZzdHVkaW8udmMyMDEwLmdlbmVyYXRlRmlsdGVycykgPT0gdHJ1ZSBhbmQgcHJvakZpbGVNb2RpZmllZCA9PSBmYWxzZSB0aGVuCnAudG91Y2gocHJqLCAiLnZjeHByb2oiKQplbmQKZW5kCmVuZAppZiBub3QgdnN0dWRpby5udWdldDIwMTAuc3VwcG9ydHNQYWNrYWdlUmVmZXJlbmNlcyhwcmopIHRoZW4KbG9jYWwgcGFja2FnZXMgPSBwLmNhcHR1cmUoZnVuY3Rpb24oKSB2c3R1ZGlvLm51Z2V0MjAxMC5nZW5lcmF0ZVBhY2thZ2VzQ29uZmlnKHByaikgZW5kKQppZiAjcGFja2FnZXMgPiAwIHRoZW4KcC5nZW5lcmF0ZShwcmosICJwYWNrYWdlcy5jb25maWciLCBmdW5jdGlvbigpIHAub3V0bG4ocGFja2FnZXMpIGVuZCkKZW5kCmxvY2FsIGNvbmZpZyA9IHAuY2FwdHVyZShmdW5jdGlvbigpIHZzdHVkaW8ubnVnZXQyMDEwLmdlbmVyYXRlTnVHZXRDb25maWcocHJqKSBlbmQpCmlmICNjb25maWcgPiAwIHRoZW4KcC5nZW5lcmF0ZShwcmosICJOdUdldC5Db25maWciLCBmdW5jdGlvbigpIHAub3V0bG4oY29uZmlnKSBlbmQpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIHZzMjAxMC5nZW5lcmF0ZVJ1bGUocnVsZSkKcC5lb2woIlxyXG4iKQpwLmluZGVudCgiICAiKQpwLmVzY2FwZXIodnMyMDEwLmVzYykKcC5nZW5lcmF0ZShydWxlLCAiLnByb3BzIiwgdnMyMDEwLnJ1bGVzLnByb3BzLmdlbmVyYXRlKQpwLmdlbmVyYXRlKHJ1bGUsICIudGFyZ2V0cyIsIHZzMjAxMC5ydWxlcy50YXJnZXRzLmdlbmVyYXRlKQpwLmdlbmVyYXRlKHJ1bGUsICIueG1sIiwgdnMyMDEwLnJ1bGVzLnhtbC5nZW5lcmF0ZSkKZW5kCmZ1bmN0aW9uIHZzMjAxMC5lc2ModmFsdWUpCnZhbHVlID0gdmFsdWU6Z3N1YignJicsICAiJmFtcDsiKQp2YWx1ZSA9IHZhbHVlOmdzdWIoJzwnLCAgIiZsdDsiKQp2YWx1ZSA9IHZhbHVlOmdzdWIoJz4nLCAgIiZndDsiKQpyZXR1cm4gdmFsdWUKZW5kCm5ld2FjdGlvbiB7CnRyaWdnZXIgICAgID0gInZzMjAxMCIsCnNob3J0bmFtZSAgID0gIlZpc3VhbCBTdHVkaW8gMjAxMCIsCmRlc2NyaXB0aW9uID0gIkdlbmVyYXRlIFZpc3VhbCBTdHVkaW8gMjAxMCBwcm9qZWN0IGZpbGVzIiwKdGFyZ2V0b3MgPSAid2luZG93cyIsCnRvb2xzZXQgID0gIm1zYy12MTAwIiwKdmFsaWRfa2luZHMgICAgID0geyAiQ29uc29sZUFwcCIsICJXaW5kb3dlZEFwcCIsICJTdGF0aWNMaWIiLCAiU2hhcmVkTGliIiwgIk1ha2VmaWxlIiwgIk5vbmUiLCAiVXRpbGl0eSIgfSwKdmFsaWRfbGFuZ3VhZ2VzID0geyAiQyIsICJDKysiLCAiQyMiLCAiRiMiIH0sCnZhbGlkX3Rvb2xzICAgICA9IHsKY2MgICAgID0geyAibXNjIiAgIH0sCmRvdG5ldCA9IHsgIm1zbmV0IiB9LAp9LApvbldvcmtzcGFjZSA9IGZ1bmN0aW9uKHdrcykKdnN0dWRpby52czIwMDUuZ2VuZXJhdGVTb2x1dGlvbih3a3MpCmVuZCwKb25Qcm9qZWN0ID0gZnVuY3Rpb24ocHJqKQp2c3R1ZGlvLnZzMjAxMC5nZW5lcmF0ZVByb2plY3QocHJqKQplbmQsCm9uUnVsZSA9IGZ1bmN0aW9uKHJ1bGUpCnZzdHVkaW8udnMyMDEwLmdlbmVyYXRlUnVsZShydWxlKQplbmQsCm9uQ2xlYW5Xb3Jrc3BhY2UgPSBmdW5jdGlvbih3a3MpCnZzdHVkaW8uY2xlYW5Tb2x1dGlvbih3a3MpCmVuZCwKb25DbGVhblByb2plY3QgPSBmdW5jdGlvbihwcmopCnZzdHVkaW8uY2xlYW5Qcm9qZWN0KHByaikKZW5kLApvbkNsZWFuVGFyZ2V0ID0gZnVuY3Rpb24ocHJqKQp2c3R1ZGlvLmNsZWFuVGFyZ2V0KHByaikKZW5kLApwYXRoVmFycyAgICAgICAgPSB2czIwMTAucGF0aFZhcnMsCnZzdHVkaW8gPSB7CmNzcHJvalNjaGVtYVZlcnNpb24gPSAiMi4wIiwKcHJvZHVjdFZlcnNpb24gICAgICA9ICI4LjAuMzA3MDMiLApzb2x1dGlvblZlcnNpb24gICAgID0gIjExIiwKdmVyc2lvbk5hbWUgICAgICAgICA9ICIyMDEwIiwKdGFyZ2V0RnJhbWV3b3JrICAgICA9ICI0LjAiLAp0b29sc1ZlcnNpb24gICAgICAgID0gIjQuMCIsCn0KfQoAAABsb2NhbCBwID0gcHJlbWFrZQpwLmZpbGVjb25maWcgPSB7fQpsb2NhbCBmaWxlY29uZmlnID0gcC5maWxlY29uZmlnCmxvY2FsIGNvbnRleHQgPSBwLmNvbnRleHQKbG9jYWwgcHJvamVjdCA9IHAucHJvamVjdApmaWxlY29uZmlnLmZjZmdfbXQgPSB7fQpmaWxlY29uZmlnLmZzdWJfbXQgPSB7fQpmdW5jdGlvbiBmaWxlY29uZmlnLm5ldyhmbmFtZSwgcHJqKQpsb2NhbCBlbnZpcm9uID0geyB9CmxvY2FsIGZjZmcgPSBjb250ZXh0Lm5ldyhwcmosIGVudmlyb24pCmNvbnRleHQuY29weUZpbHRlcnMoZmNmZywgcHJqKQpjb250ZXh0LmFkZEZpbHRlcihmY2ZnLCAiZmlsZXMiLCBmbmFtZTpsb3dlcigpKQpmb3Iga2V5LCB2YWx1ZSBpbiBwYWlycyhwcmouZW52aXJvbikgZG8KZW52aXJvbltrZXldID0gdmFsdWUKZW5kCmVudmlyb24uZmlsZSA9IGZjZmcKY29udGV4dC5jb21waWxlKGZjZmcpCmZjZmcucHJvamVjdCAgID0gcHJqCmZjZmcud29ya3NwYWNlID0gcHJqLndvcmtzcGFjZQpmY2ZnLmNvbmZpZ3MgICA9IHt9CmZjZmcuYWJzcGF0aCAgID0gZm5hbWUKY29udGV4dC5iYXNlZGlyKGZjZmcsIHByai5sb2NhdGlvbikKc2V0bWV0YXRhYmxlKGZjZmcsIGZpbGVjb25maWcuZmNmZ19tdCkKbG9jYWwgdnBhdGggPSBwcm9qZWN0LmdldHZwYXRoKHByaiwgZm5hbWUpCmlmIHZwYXRoIH49IGZjZmcuYWJzcGF0aCB0aGVuCmZjZmcudnBhdGggPSB2cGF0aAplbmQKcmV0dXJuIGZjZmcKZW5kCmZ1bmN0aW9uIGZpbGVjb25maWcuYWRkY29uZmlnKGZjZmcsIGNmZykKbG9jYWwgcHJqID0gY2ZnLnByb2plY3QKbG9jYWwgd2tzID0gY2ZnLndvcmtzcGFjZQpsb2NhbCBlbnZpcm9uID0ge30KbG9jYWwgZnN1YiA9IGNvbnRleHQubmV3KHByaiwgZW52aXJvbikKY29udGV4dC5jb3B5RmlsdGVycyhmc3ViLCBmY2ZnKQpjb250ZXh0Lm1lcmdlRmlsdGVycyhmc3ViLCBjZmcpCmZjZmcuY29uZmlnc1tjZmddID0gZnN1Ygpmb3Iga2V5LCB2YWx1ZSBpbiBwYWlycyhjZmcuZW52aXJvbikgZG8KZW52aXJvbltrZXldID0gdmFsdWUKZW5kCmZvciBrZXksIHZhbHVlIGluIHBhaXJzKGZjZmcuZW52aXJvbikgZG8KZW52aXJvbltrZXldID0gdmFsdWUKZW5kCmNvbnRleHQuY29tcGlsZShmc3ViKQpmc3ViLmFic3BhdGggPSBmY2ZnLmFic3BhdGgKZnN1Yi52cGF0aCA9IGZjZmcudnBhdGgKZnN1Yi5jb25maWcgPSBjZmcKZnN1Yi5wcm9qZWN0ID0gcHJqCmZzdWIud29ya3NwYWNlID0gd2tzCmNvbnRleHQuYmFzZWRpcihmc3ViLCBwcmoubG9jYXRpb24pCnJldHVybiBzZXRtZXRhdGFibGUoZnN1YiwgZmlsZWNvbmZpZy5mc3ViX210KQplbmQKZnVuY3Rpb24gZmlsZWNvbmZpZy5nZXRjb25maWcoZmNmZywgY2ZnKQpyZXR1cm4gZmNmZy5jb25maWdzW2NmZ10KZW5kCmZ1bmN0aW9uIGZpbGVjb25maWcuaGFzQ3VzdG9tQnVpbGRSdWxlKGZjZmcpCnJldHVybiBmY2ZnIGFuZCAoI2ZjZmcuYnVpbGRjb21tYW5kcyA+IDApIGFuZCAoI2ZjZmcuYnVpbGRvdXRwdXRzID4gMCkKZW5kCmZ1bmN0aW9uIGZpbGVjb25maWcuaGFzRmlsZVNldHRpbmdzKGZjZmcpCmlmIG5vdCBmY2ZnIHRoZW4KcmV0dXJuIGZhbHNlCmVuZApmb3Iga2V5LCBmaWVsZCBpbiBwYWlycyhwLmZpZWxkcykgZG8KaWYgZmllbGQuc2NvcGVzWzFdID09ICJjb25maWciIHRoZW4KbG9jYWwgdmFsdWUgPSBmY2ZnW2ZpZWxkLm5hbWVdCmlmIHZhbHVlIHRoZW4KaWYgdHlwZSh2YWx1ZSkgPT0gInRhYmxlIiB0aGVuCmlmICN2YWx1ZSA+IDAgdGhlbgpyZXR1cm4gdHJ1ZQplbmQKZWxzZQpyZXR1cm4gdHJ1ZQplbmQKZW5kCmVuZAplbmQKcmV0dXJuIGZhbHNlCmVuZApsb2NhbCBmY2ZnX210ID0gZmlsZWNvbmZpZy5mY2ZnX210CmZjZmdfbXQuX19pbmRleCA9IGZ1bmN0aW9uKGZjZmcsIGtleSkKaWYgdHlwZShmY2ZnX210W2tleV0pID09ICJmdW5jdGlvbiIgdGhlbgpyZXR1cm4gZmNmZ19tdFtrZXldKGZjZmcpCmVuZApyZXR1cm4gY29udGV4dC5fX210Ll9faW5kZXgoZmNmZywga2V5KQplbmQKZmlsZWNvbmZpZy5mc3ViX210Ll9faW5kZXggPSBmdW5jdGlvbihmc3ViLCBrZXkpCmlmIHR5cGUoZmNmZ19tdFtrZXldKSA9PSAiZnVuY3Rpb24iIHRoZW4KcmV0dXJuIGZjZmdfbXRba2V5XShmc3ViKQplbmQKcmV0dXJuIGNvbnRleHQuX19tdC5fX2luZGV4KGZzdWIsIGtleSkKZW5kCmZ1bmN0aW9uIGZjZmdfbXQuYmFzZW5hbWUoZmNmZykKcmV0dXJuIHBhdGguZ2V0YmFzZW5hbWUoZmNmZy5hYnNwYXRoKQplbmQKZnVuY3Rpb24gZmNmZ19tdC5kaXJlY3RvcnkoZmNmZykKcmV0dXJuIHBhdGguZ2V0ZGlyZWN0b3J5KGZjZmcuYWJzcGF0aCkKZW5kCmZ1bmN0aW9uIGZjZmdfbXQucmVsZGlyZWN0b3J5KGZjZmcpCnJldHVybiBwYXRoLmdldGRpcmVjdG9yeShmY2ZnLnJlbHBhdGgpCmVuZApmdW5jdGlvbiBmY2ZnX210Lm5hbWUoZmNmZykKcmV0dXJuIHBhdGguZ2V0bmFtZShmY2ZnLmFic3BhdGgpCmVuZApmdW5jdGlvbiBmY2ZnX210Lm9iam5hbWUoZmNmZykKaWYgZmNmZy5zZXF1ZW5jZSB+PSBuaWwgYW5kIGZjZmcuc2VxdWVuY2UgPiAwIHRoZW4KcmV0dXJuIGZjZmcuYmFzZW5hbWUgLi4gZmNmZy5zZXF1ZW5jZQplbHNlCnJldHVybiBmY2ZnLmJhc2VuYW1lCmVuZAplbmQKZnVuY3Rpb24gZmNmZ19tdC5wYXRoKGZjZmcpCnJldHVybiBmY2ZnLnJlbHBhdGgKZW5kCmZ1bmN0aW9uIGZjZmdfbXQucmVscGF0aChmY2ZnKQpyZXR1cm4gcHJvamVjdC5nZXRyZWxhdGl2ZShmY2ZnLnByb2plY3QsIGZjZmcuYWJzcGF0aCkKZW5kCmZ1bmN0aW9uIGZjZmdfbXQudnBhdGgoZmNmZykKcmV0dXJuIGZjZmcucmVscGF0aAplbmQKZnVuY3Rpb24gZmNmZ19tdC5leHRlbnNpb24oZmNmZykKcmV0dXJuIHBhdGguZ2V0ZXh0ZW5zaW9uKGZjZmcuYWJzcGF0aCkKZW5kCmxvY2FsIHAgPSBwcmVtYWtlCnAucHJvamVjdCA9IHAuYXBpLmNvbnRhaW5lcigicHJvamVjdCIsIHAud29ya3NwYWNlLCB7ICJjb25maWciIH0pCmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKbG9jYWwgdHJlZSA9IHAudHJlZQpleHRlcm5hbCA9IGV4dGVybmFscHJvamVjdApmdW5jdGlvbiBwcm9qZWN0Lm5ldyhuYW1lKQpsb2NhbCBwcmogPSBwLmNvbnRhaW5lci5uZXcocHJvamVjdCwgbmFtZSkKcHJqLnV1aWQgPSBvcy51dWlkKG5hbWUpCmlmIHAuYXBpLnNjb3BlLmdyb3VwIHRoZW4KcHJqLmdyb3VwID0gcC5hcGkuc2NvcGUuZ3JvdXAubmFtZQplbHNlCnByai5ncm91cCA9ICIiCmVuZApyZXR1cm4gcHJqCmVuZApmdW5jdGlvbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKQpsb2NhbCBjb25maWdzID0gcHJqLl9jZmdsaXN0CmxvY2FsIGNvdW50ID0gI2NvbmZpZ3MKbG9jYWwgc2VlbiA9IHt9CmxvY2FsIGkgPSAwCnJldHVybiBmdW5jdGlvbiAoKQppID0gaSArIDEKaWYgaSA8PSBjb3VudCB0aGVuCmxvY2FsIGNmZyA9IHByb2plY3QuZ2V0Y29uZmlnKHByaiwgY29uZmlnc1tpXVsxXSwgY29uZmlnc1tpXVsyXSkKaWYgbm90IHNlZW5bY2ZnXSB0aGVuCnNlZW5bY2ZnXSA9IHRydWUKcmV0dXJuIGNmZwplbHNlCmkgPSBpICsgMQplbmQKZW5kCmVuZAplbmQKZnVuY3Rpb24gcHJvamVjdC5maW5kQ2xvc2VzdE1hdGNoKHByaiwgYnVpbGRjZmcsIHBsYXRmb3JtKQpidWlsZGNmZyA9IHByb2plY3QubWFwY29uZmlnKHByaiwgYnVpbGRjZmcpWzFdCnBsYXRmb3JtID0gcHJvamVjdC5tYXBjb25maWcocHJqLCBwbGF0Zm9ybSlbMV0KaWYgbm90IHRhYmxlLmNvbnRhaW5zKHByai5jb25maWd1cmF0aW9ucywgYnVpbGRjZmcpIHRoZW4KYnVpbGRjZmcgPSBwcmouY29uZmlndXJhdGlvbnNbMV0KZW5kCmlmIG5vdCB0YWJsZS5jb250YWlucyhwcmoucGxhdGZvcm1zLCBwbGF0Zm9ybSkgdGhlbgpwbGF0Zm9ybSA9IHByai5wbGF0Zm9ybXNbMV0KZW5kCnJldHVybiBwcm9qZWN0LmdldGNvbmZpZyhwcmosIGJ1aWxkY2ZnLCBwbGF0Zm9ybSkKZW5kCmZ1bmN0aW9uIHByb2plY3QuZ2V0Y29uZmlnKHByaiwgYnVpbGRjZmcsIHBsYXRmb3JtKQppZiBub3QgYnVpbGRjZmcgdGhlbgpyZXR1cm4gcHJqCmVuZApsb2NhbCBwYWlyaW5nID0gcHJvamVjdC5tYXBjb25maWcocHJqLCBidWlsZGNmZywgcGxhdGZvcm0pCmJ1aWxkY2ZnID0gcGFpcmluZ1sxXQpwbGF0Zm9ybSA9IHBhaXJpbmdbMl0KbG9jYWwga2V5ID0gKGJ1aWxkY2ZnIG9yICIqIikgLi4gKHBsYXRmb3JtIG9yICIiKQpyZXR1cm4gcHJqLmNvbmZpZ3Nba2V5XQplbmQKZnVuY3Rpb24gcHJvamVjdC5nZXRkZXBlbmRlbmNpZXMocHJqLCBtb2RlKQppZiBub3QgcHJqLmRlcGVuZGVuY2llcyB0aGVuCnByai5kZXBlbmRlbmNpZXMgPSB7fQplbmQKbG9jYWwgbSA9IG1vZGUgb3IgJ2FsbCcKbG9jYWwgcmVzdWx0ID0gcHJqLmRlcGVuZGVuY2llc1ttXQppZiByZXN1bHQgdGhlbgpyZXR1cm4gcmVzdWx0CmVuZApsb2NhbCBmdW5jdGlvbiBhZGRfdG9fcHJvamVjdF9saXN0KGNmZywgZGVwcHJvaiwgcmVzdWx0KQpsb2NhbCBkZXAgPSBwLndvcmtzcGFjZS5maW5kcHJvamVjdChjZmcud29ya3NwYWNlLCBkZXBwcm9qKQppZiBkZXAgYW5kIG5vdCB0YWJsZS5jb250YWlucyhyZXN1bHQsIGRlcCkgdGhlbgp0YWJsZS5pbnNlcnQocmVzdWx0LCBkZXApCmVuZAplbmQKbG9jYWwgbGlua09ubHkgPSBtID09ICdsaW5rT25seScKbG9jYWwgZGVwc09ubHkgPSBtID09ICdkZXBlbmRPbmx5JwpyZXN1bHQgPSB7fQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmlmIG5vdCBkZXBzT25seSB0aGVuCmZvciBfLCBsaW5rIGluIGlwYWlycyhjZmcubGlua3MpIGRvCmlmIGxpbmsgfj0gcHJqLm5hbWUgdGhlbgphZGRfdG9fcHJvamVjdF9saXN0KGNmZywgbGluaywgcmVzdWx0KQplbmQKZW5kCmVuZAppZiBub3QgbGlua09ubHkgdGhlbgpmb3IgXywgZGVwcHJvaiBpbiBpcGFpcnMoY2ZnLmRlcGVuZHNvbikgZG8KYWRkX3RvX3Byb2plY3RfbGlzdChjZmcsIGRlcHByb2osIHJlc3VsdCkKZW5kCmVuZAplbmQKcHJqLmRlcGVuZGVuY2llc1ttXSA9IHJlc3VsdApyZXR1cm4gcmVzdWx0CmVuZApmdW5jdGlvbiBwcm9qZWN0LmdldGZpcnN0Y29uZmlnKHByaikKbG9jYWwgaXRlciA9IHByb2plY3QuZWFjaGNvbmZpZyhwcmopCmxvY2FsIGZpcnN0ID0gaXRlcigpCnJldHVybiBmaXJzdAplbmQKZnVuY3Rpb24gcHJvamVjdC5nZXRyZWxhdGl2ZShwcmosIGZpbGVuYW1lKQppZiB0eXBlKGZpbGVuYW1lKSA9PSAidGFibGUiIHRoZW4KbG9jYWwgcmVzdWx0ID0ge30KZm9yIGksIG5hbWUgaW4gaXBhaXJzKGZpbGVuYW1lKSBkbwpyZXN1bHRbaV0gPSBwcm9qZWN0LmdldHJlbGF0aXZlKHByaiwgbmFtZSkKZW5kCnJldHVybiByZXN1bHQKZWxzZQppZiBmaWxlbmFtZSB0aGVuCmxvY2FsIHJlc3VsdCA9IGZpbGVuYW1lCmlmIHBhdGguaGFzZGVmZXJyZWRqb2luKHJlc3VsdCkgdGhlbgpyZXN1bHQgPSBwYXRoLnJlc29sdmVkZWZlcnJlZGpvaW4ocmVzdWx0KQplbmQKcmV0dXJuIHBhdGguZ2V0cmVsYXRpdmUocHJqLmxvY2F0aW9uLCByZXN1bHQpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIHByb2plY3QuZ2V0c291cmNldHJlZShwcmosIHNvcnRlcikKaWYgcHJqLl8uc291cmNldHJlZSB0aGVuCnJldHVybiBwcmouXy5zb3VyY2V0cmVlCmVuZApsb2NhbCB0ciA9IHRyZWUubmV3KHByai5uYW1lKQp0YWJsZS5mb3JlYWNoaShwcmouXy5maWxlcywgZnVuY3Rpb24oZmNmZykKaWYgZmNmZy5nZW5lcmF0ZWQgdGhlbgpyZXR1cm47CmVuZApsb2NhbCBmbGFncwppZiBmY2ZnLnZwYXRoIH49IGZjZmcucmVscGF0aCB0aGVuCmZsYWdzID0geyB0cmltID0gZmFsc2UgfQplbmQKbG9jYWwgcGFyZW50ID0gdHJlZS5hZGQodHIsIHBhdGguZ2V0ZGlyZWN0b3J5KGZjZmcudnBhdGgpLCBmbGFncykKbG9jYWwgbm9kZSA9IHRyZWUuaW5zZXJ0KHBhcmVudCwgdHJlZS5uZXcocGF0aC5nZXRuYW1lKGZjZmcudnBhdGgpKSkKc2V0bWV0YXRhYmxlKG5vZGUsIHsgX19pbmRleCA9IGZjZmcgfSkKZW5kKQp0YWJsZS5mb3JlYWNoaShwcmouXy5maWxlcywgZnVuY3Rpb24oZmNmZykKaWYgbm90IGZjZmcuZ2VuZXJhdGVkIHRoZW4KcmV0dXJuOwplbmQKbG9jYWwgcGFyZW50ID0gdHJlZS5hZGQodHIsIHBhdGguZ2V0ZGlyZWN0b3J5KGZjZmcuZGVwZW5kc09uLnZwYXRoKSkKbG9jYWwgbm9kZSA9IHRyZWUuaW5zZXJ0KHBhcmVudCwgdHJlZS5uZXcocGF0aC5nZXRuYW1lKGZjZmcudnBhdGgpKSkKc2V0bWV0YXRhYmxlKG5vZGUsIHsgX19pbmRleCA9IGZjZmcgfSkKZW5kKQp0cmVlLnRyaW1yb290KHRyKQp0cmVlLnNvcnQodHIsIHNvcnRlcikKcHJqLl8uc291cmNldHJlZSA9IHRyCnJldHVybiB0cgplbmQKZnVuY3Rpb24gcHJvamVjdC5nZXR2cGF0aChwcmosIGFic3BhdGgpCmxvY2FsIHZwYXRoID0gYWJzcGF0aApsb2NhbCBmbmFtZSA9IHBhdGguZ2V0bmFtZShhYnNwYXRoKQpsb2NhbCBtYXggPSBhYnNwYXRoOmxlbigpIC0gZm5hbWU6bGVuKCkKZm9yIF8sIHZwYXRocyBpbiBpcGFpcnMocHJqLnZwYXRocykgZG8KZm9yIHJlcGxhY2VtZW50LCBwYXR0ZXJucyBpbiBwYWlycyh2cGF0aHMpIGRvCmZvciBfLCBwYXR0ZXJuIGluIGlwYWlycyhwYXR0ZXJucykgZG8KbG9jYWwgaSA9IGFic3BhdGg6ZmluZChwYXRoLndpbGRjYXJkcyhwYXR0ZXJuKSkKaWYgaSA9PSAxIHRoZW4KaSA9IHBhdHRlcm46ZmluZCgiKiIsIDEsIHRydWUpIG9yIChwYXR0ZXJuOmxlbigpICsgMSkKbG9jYWwgbGVhZgppZiBpIDwgbWF4IHRoZW4KbGVhZiA9IGFic3BhdGg6c3ViKGkpCmVsc2UKbGVhZiA9IGZuYW1lCmVuZAppZiBsZWFmOnN0YXJ0c3dpdGgoIi8iKSB0aGVuCmxlYWYgPSBsZWFmOnN1YigyKQplbmQKbG9jYWwgc3RlbSA9ICIiCmlmIHJlcGxhY2VtZW50OmxlbigpID4gMCB0aGVuCnN0ZW0sIHN0YXJzID0gcmVwbGFjZW1lbnQ6Z3N1YigiJSoiLCAiIikKaWYgc3RhcnMgPT0gMCB0aGVuCmxlYWYgPSBwYXRoLmdldG5hbWUobGVhZikKZW5kCmVsc2UKbGVhZiA9IHBhdGguZ2V0bmFtZShsZWFmKQplbmQKdnBhdGggPSBwYXRoLmpvaW4oc3RlbSwgbGVhZikKcmV0dXJuIHZwYXRoCmVuZAplbmQKZW5kCmVuZApyZXR1cm4gdnBhdGgKZW5kCmZ1bmN0aW9uIHByb2plY3QuaGFzQ29uZmlnKHByaiwgZnVuYykKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwppZiBmdW5jKGNmZykgdGhlbgpyZXR1cm4gdHJ1ZQplbmQKZW5kCmVuZApmdW5jdGlvbiBwcm9qZWN0Lmhhc2ZpbGUocHJqLCBmaWxlbmFtZSkKcmV0dXJuIChwcmouXy5maWxlc1tmaWxlbmFtZV0gfj0gbmlsKQplbmQKZnVuY3Rpb24gcHJvamVjdC5pc2RvdG5ldChwcmopCnJldHVybgpwLmxhbmd1YWdlcy5pc2NzaGFycChwcmoubGFuZ3VhZ2UpIG9yCnAubGFuZ3VhZ2VzLmlzZnNoYXJwKHByai5sYW5ndWFnZSkKZW5kCmZ1bmN0aW9uIHByb2plY3QuaXNjc2hhcnAocHJqKQpyZXR1cm4gcC5sYW5ndWFnZXMuaXNjc2hhcnAocHJqLmxhbmd1YWdlKQplbmQKZnVuY3Rpb24gcHJvamVjdC5pc2ZzaGFycChwcmopCnJldHVybiBwLmxhbmd1YWdlcy5pc2ZzaGFycChwcmoubGFuZ3VhZ2UpCmVuZApmdW5jdGlvbiBwcm9qZWN0LmlzYyhwcmopCnJldHVybiBwLmxhbmd1YWdlcy5pc2MocHJqLmxhbmd1YWdlKQplbmQKZnVuY3Rpb24gcHJvamVjdC5pc2NwcChwcmopCnJldHVybiBwLmxhbmd1YWdlcy5pc2NwcChwcmoubGFuZ3VhZ2UpCmVuZApmdW5jdGlvbiBwcm9qZWN0LmlzbmF0aXZlKHByaikKcmV0dXJuIHByb2plY3QuaXNjKHByaikgb3IgcHJvamVjdC5pc2NwcChwcmopCmVuZApmdW5jdGlvbiBwcm9qZWN0Lm1hcGNvbmZpZyhwcmosIGJ1aWxkY2ZnLCBwbGF0Zm9ybSkKbG9jYWwgcGFpcmluZyA9IHsgYnVpbGRjZmcsIHBsYXRmb3JtIH0KbG9jYWwgdGVzdHBhdHRlcm4gPSBmdW5jdGlvbihwYXR0ZXJuLCBwYWlyaW5nLCBpKQpsb2NhbCBqID0gMQp3aGlsZSBpIDw9ICNwYWlyaW5nIGFuZCBqIDw9ICNwYXR0ZXJuIGRvCmxvY2FsIHdkID0gcGF0aC53aWxkY2FyZHMocGF0dGVybltqXSkKaWYgcGFpcmluZ1tpXTptYXRjaCh3ZCkgfj0gcGFpcmluZ1tpXSB0aGVuCnJldHVybiBmYWxzZQplbmQKaSA9IGkgKyAxCmogPSBqICsgMQplbmQKcmV0dXJuIHRydWUKZW5kCmxvY2FsIG1hcHMgPSBwcmouY29uZmlnbWFwIG9yIHt9CmZvciBtaSA9IDEsICNtYXBzIGRvCmZvciBwYXR0ZXJuLCByZXBsYWNlbWVudHMgaW4gcGFpcnMobWFwc1ttaV0pIGRvCmlmIHR5cGUocGF0dGVybikgfj0gInRhYmxlIiB0aGVuCnBhdHRlcm4gPSB7IHBhdHRlcm4gfQplbmQKZm9yIGkgPSAxLCAjcGFpcmluZyBkbwppZiB0ZXN0cGF0dGVybihwYXR0ZXJuLCBwYWlyaW5nLCBpKSB0aGVuCmlmICNwYXR0ZXJuID09IDEgYW5kICNyZXBsYWNlbWVudHMgPT0gMSB0aGVuCnBhaXJpbmdbaV0gPSByZXBsYWNlbWVudHNbMV0KZWxzZQpwYWlyaW5nID0geyByZXBsYWNlbWVudHNbMV0sIHJlcGxhY2VtZW50c1syXSB9CmVuZAplbmQKZW5kCmVuZAplbmQKcmV0dXJuIHBhaXJpbmcKZW5kCmZ1bmN0aW9uIHByb2plY3Quc3lzdGVtdmVyc2lvbihwcmopCmlmIHByai5zeXN0ZW12ZXJzaW9uIH49IG5pbCB0aGVuCmxvY2FsIHZhbHVlcyA9IHN0cmluZy5leHBsb2RlKHByai5zeXN0ZW12ZXJzaW9uLCAiOiIsIHRydWUpCnJldHVybiB2YWx1ZXNbMV0sIHZhbHVlc1syXQplbmQKZW5kCgAAAGxvY2FsIHAgPSBwcmVtYWtlCnAudG9vbHMuZ2RjID0geyB9CmxvY2FsIGdkYyA9IHAudG9vbHMuZ2RjCmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKbG9jYWwgY29uZmlnID0gcC5jb25maWcKbG9jYWwgZCA9IHAubW9kdWxlcy5kCmdkYy5kYyA9ICJnZGMiCmdkYy5kZmxhZ3MgPSB7CmFyY2hpdGVjdHVyZSA9IHsKeDg2ID0gIi1tMzIiLAp4ODZfNjQgPSAiLW02NCIsCn0sCmZsYWdzID0gewpEb2N1bWVudGF0aW9uPSAiLWZkb2MiLApGYXRhbFdhcm5pbmdzPSAiLVdlcnJvciIsCkdlbmVyYXRlSGVhZGVyPSAiLWZpbnRmYyIsCkdlbmVyYXRlSlNPTj0gIi1mWCIsClJldGFpblBhdGhzPSAiLW9wIiwKU3ltYm9sc0xpa2VDPSAiLWZkZWJ1Zy1jIiwKVW5pdFRlc3Q9ICItZnVuaXR0ZXN0IiwKVmVyYm9zZT0gIi1mZC12ZXJib3NlIiwKU2hvd1RMUz0gIi1mZC12dGxzIiwKU2hvd0RlcGVuZGVuY2llcz0gIi1mZGVwcyIsCn0sCmJvdW5kc2NoZWNrID0gewpPZmYgPSAiLWZuby1ib3VuZHMtY2hlY2siLAp9LApkZXByZWNhdGVkZmVhdHVyZXMgPSB7CkFsbG93ID0gIi1mZGVwcmVjYXRlZCIsCn0sCmZsb2F0aW5ncG9pbnQgPSB7CkZhc3QgPSAiLWZmYXN0LW1hdGgiLApTdHJpY3QgPSAiLWZmbG9hdC1zdG9yZSIsCn0sCm9wdGltaXplID0gewpPZmYgPSAiLU8wIiwKT24gPSAiLU8yIC1maW5saW5lLWZ1bmN0aW9ucyIsCkRlYnVnID0gIi1PZyIsCkZ1bGwgPSAiLU8zIC1maW5saW5lLWZ1bmN0aW9ucyIsClNpemUgPSAiLU9zIC1maW5saW5lLWZ1bmN0aW9ucyIsClNwZWVkID0gIi1PMyAtZmlubGluZS1mdW5jdGlvbnMiLAp9LApwaWMgPSB7Ck9uID0gIi1mUElDIiwKfSwKdmVjdG9yZXh0ZW5zaW9ucyA9IHsKQVZYID0gIi1tYXZ4IiwKU1NFID0gIi1tc3NlIiwKU1NFMiA9ICItbXNzZTIiLAp9LAp3YXJuaW5ncyA9IHsKSGlnaCA9ICItV2FsbCIsCkV4dHJhID0gIi1XYWxsIC1XZXh0cmEiLAp9LApzeW1ib2xzID0gewpPbiA9ICItZyIsCkZhc3RMaW5rID0gIi1nIiwKRnVsbCA9ICItZyAtZ2YiLAp9Cn0KZnVuY3Rpb24gZ2RjLmdldGRmbGFncyhjZmcpCmxvY2FsIGZsYWdzID0gY29uZmlnLm1hcEZsYWdzKGNmZywgZ2RjLmRmbGFncykKaWYgY29uZmlnLmlzRGVidWdCdWlsZChjZmcpIHRoZW4KdGFibGUuaW5zZXJ0KGZsYWdzLCAiLWZkZWJ1ZyIpCmVsc2UKdGFibGUuaW5zZXJ0KGZsYWdzLCAiLWZyZWxlYXNlIikKZW5kCmlmIGNmZy5mbGFncy5Eb2N1bWVudGF0aW9uIHRoZW4KaWYgY2ZnLmRvY25hbWUgdGhlbgp0YWJsZS5pbnNlcnQoZmxhZ3MsICItZmRvYy1maWxlPSIgLi4gcC5xdW90ZWQoY2ZnLmRvY25hbWUpKQplbmQKaWYgY2ZnLmRvY2RpciB0aGVuCnRhYmxlLmluc2VydChmbGFncywgIi1mZG9jLWRpcj0iIC4uIHAucXVvdGVkKGNmZy5kb2NkaXIpKQplbmQKZW5kCmlmIGNmZy5mbGFncy5HZW5lcmF0ZUhlYWRlciB0aGVuCmlmIGNmZy5oZWFkZXJuYW1lIHRoZW4KdGFibGUuaW5zZXJ0KGZsYWdzLCAiLWZpbnRmYy1maWxlPSIgLi4gcC5xdW90ZWQoY2ZnLmhlYWRlcm5hbWUpKQplbmQKaWYgY2ZnLmhlYWRlcmRpciB0aGVuCnRhYmxlLmluc2VydChmbGFncywgIi1maW50ZmMtZGlyPSIgLi4gcC5xdW90ZWQoY2ZnLmhlYWRlcmRpcikpCmVuZAplbmQKcmV0dXJuIGZsYWdzCmVuZApmdW5jdGlvbiBnZGMuZ2V0dmVyc2lvbnModmVyc2lvbnMsIGxldmVsKQpsb2NhbCByZXN1bHQgPSB7fQpmb3IgXywgdmVyc2lvbiBpbiBpcGFpcnModmVyc2lvbnMpIGRvCnRhYmxlLmluc2VydChyZXN1bHQsICctZnZlcnNpb249JyAuLiB2ZXJzaW9uKQplbmQKaWYgbGV2ZWwgdGhlbgp0YWJsZS5pbnNlcnQocmVzdWx0LCAnLWZ2ZXJzaW9uPScgLi4gbGV2ZWwpCmVuZApyZXR1cm4gcmVzdWx0CmVuZApmdW5jdGlvbiBnZGMuZ2V0ZGVidWcoY29uc3RhbnRzLCBsZXZlbCkKbG9jYWwgcmVzdWx0ID0ge30KZm9yIF8sIGNvbnN0YW50IGluIGlwYWlycyhjb25zdGFudHMpIGRvCnRhYmxlLmluc2VydChyZXN1bHQsICctZmRlYnVnPScgLi4gY29uc3RhbnQpCmVuZAppZiBsZXZlbCB0aGVuCnRhYmxlLmluc2VydChyZXN1bHQsICctZmRlYnVnPScgLi4gbGV2ZWwpCmVuZApyZXR1cm4gcmVzdWx0CmVuZApmdW5jdGlvbiBnZGMuZ2V0aW1wb3J0ZGlycyhjZmcsIGRpcnMpCmxvY2FsIHJlc3VsdCA9IHt9CmZvciBfLCBkaXIgaW4gaXBhaXJzKGRpcnMpIGRvCmRpciA9IHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGRpcikKdGFibGUuaW5zZXJ0KHJlc3VsdCwgJy1JJyAuLiBwLnF1b3RlZChkaXIpKQplbmQKcmV0dXJuIHJlc3VsdAplbmQKZnVuY3Rpb24gZ2RjLmdldHN0cmluZ2ltcG9ydGRpcnMoY2ZnLCBkaXJzKQpsb2NhbCByZXN1bHQgPSB7fQpmb3IgXywgZGlyIGluIGlwYWlycyhkaXJzKSBkbwpkaXIgPSBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBkaXIpCnRhYmxlLmluc2VydChyZXN1bHQsICctSicgLi4gcC5xdW90ZWQoZGlyKSkKZW5kCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIGdkYy5nZXR0YXJnZXQobmFtZSkKcmV0dXJuICItbyAiIC4uIG5hbWUKZW5kCmdkYy5sZGZsYWdzID0gewphcmNoaXRlY3R1cmUgPSB7Cng4NiA9IHsgIi1tMzIiIH0sCng4Nl82NCA9IHsgIi1tNjQiIH0sCn0sCmtpbmQgPSB7ClNoYXJlZExpYiA9IGZ1bmN0aW9uKGNmZykKbG9jYWwgciA9IHsgaWlmKGNmZy5zeXN0ZW0gPT0gcC5NQUNPU1gsICItZHluYW1pY2xpYiIsICItc2hhcmVkIikgfQppZiBjZmcuc3lzdGVtID09ICJ3aW5kb3dzIiBhbmQgbm90IGNmZy5mbGFncy5Ob0ltcG9ydExpYiB0aGVuCnRhYmxlLmluc2VydChyLCAnLVdsLC0tb3V0LWltcGxpYj0iJyAuLiBjZmcubGlua3RhcmdldC5yZWxwYXRoIC4uICciJykKZW5kCnJldHVybiByCmVuZCwKV2luZG93ZWRBcHAgPSBmdW5jdGlvbihjZmcpCmlmIGNmZy5zeXN0ZW0gPT0gcC5XSU5ET1dTIHRoZW4gcmV0dXJuICItbXdpbmRvd3MiIGVuZAplbmQsCn0sCn0KZnVuY3Rpb24gZ2RjLmdldGxkZmxhZ3MoY2ZnKQpsb2NhbCBmbGFncyA9IGNvbmZpZy5tYXBGbGFncyhjZmcsIGdkYy5sZGZsYWdzKQpyZXR1cm4gZmxhZ3MKZW5kCmdkYy5saWJyYXJ5RGlyZWN0b3JpZXMgPSB7CmFyY2hpdGVjdHVyZSA9IHsKeDg2ID0gIi1ML3Vzci9saWIiLAp4ODZfNjQgPSAiLUwvdXNyL2xpYjY0IiwKfQp9CmZ1bmN0aW9uIGdkYy5nZXRMaWJyYXJ5RGlyZWN0b3JpZXMoY2ZnKQpsb2NhbCBmbGFncyA9IGNvbmZpZy5tYXBGbGFncyhjZmcsIGdkYy5saWJyYXJ5RGlyZWN0b3JpZXMpCmZvciBfLCBkaXIgaW4gaXBhaXJzKGNvbmZpZy5nZXRsaW5rcyhjZmcsICJzeXN0ZW0iLCAiZGlyZWN0b3J5IikpIGRvCnRhYmxlLmluc2VydChmbGFncywgJy1XbCwtTCcgLi4gcHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgZGlyKSkKZW5kCnJldHVybiBmbGFncwplbmQKZnVuY3Rpb24gZ2RjLmdldGxpbmtzKGNmZywgc3lzdGVtb25seSkKbG9jYWwgcmVzdWx0ID0ge30KbG9jYWwgbGlua3MKaWYgbm90IHN5c3RlbW9ubHkgdGhlbgpsaW5rcyA9IGNvbmZpZy5nZXRsaW5rcyhjZmcsICJzaWJsaW5ncyIsICJvYmplY3QiKQpmb3IgXywgbGluayBpbiBpcGFpcnMobGlua3MpIGRvCmlmIG5vdCBsaW5rLnByb2plY3QuZXh0ZXJuYWwgdGhlbgppZiBsaW5rLmtpbmQgPT0gcC5TVEFUSUNMSUIgdGhlbgp0YWJsZS5pbnNlcnQocmVzdWx0LCAiLVdsLCIgLi4gcHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgbGluay5saW5rdGFyZ2V0LmFic3BhdGgpKQplbHNlCnRhYmxlLmluc2VydChyZXN1bHQsICItV2wsLWwiIC4uIGxpbmsubGlua3RhcmdldC5iYXNlbmFtZSkKZW5kCmVuZAplbmQKZW5kCmxpbmtzID0gY29uZmlnLmdldGxpbmtzKGNmZywgInN5c3RlbSIsICJmdWxscGF0aCIpCmZvciBfLCBsaW5rIGluIGlwYWlycyhsaW5rcykgZG8KaWYgcGF0aC5pc2ZyYW1ld29yayhsaW5rKSB0aGVuCnRhYmxlLmluc2VydChyZXN1bHQsICItZnJhbWV3b3JrICIgLi4gcGF0aC5nZXRiYXNlbmFtZShsaW5rKSkKZWxzZWlmIHBhdGguaXNvYmplY3RmaWxlKGxpbmspIHRoZW4KdGFibGUuaW5zZXJ0KHJlc3VsdCwgIi1XbCwiIC4uIGxpbmspCmVsc2UKdGFibGUuaW5zZXJ0KHJlc3VsdCwgIi1XbCwtbCIgLi4gcGF0aC5nZXRiYXNlbmFtZShsaW5rKSkKZW5kCmVuZApyZXR1cm4gcmVzdWx0CmVuZApnZGMubWFrZXNldHRpbmdzID0gewp9CmZ1bmN0aW9uIGdkYy5nZXRtYWtlc2V0dGluZ3MoY2ZnKQpsb2NhbCBzZXR0aW5ncyA9IGNvbmZpZy5tYXBGbGFncyhjZmcsIGdkYy5tYWtlc2V0dGluZ3MpCnJldHVybiB0YWJsZS5jb25jYXQoc2V0dGluZ3MpCmVuZApnZGMudG9vbHMgPSB7CnBzMyA9IHsKZGMgPSAicHB1LWx2Mi1nZGMiLAphciA9ICJwcHUtbHYyLWFyIiwKfSwKfQpmdW5jdGlvbiBnZGMuZ2V0dG9vbG5hbWUoY2ZnLCB0b29sKQpsb2NhbCBuYW1lcyA9IGdkYy50b29sc1tjZmcuYXJjaGl0ZWN0dXJlXSBvciBnZGMudG9vbHNbY2ZnLnN5c3RlbV0gb3Ige30KbG9jYWwgbmFtZSA9IG5hbWVzW3Rvb2xdCnJldHVybiBuYW1lIG9yIGdkY1t0b29sXQplbmQKAAAAAAAAbG9jYWwgcCA9IHByZW1ha2UKcC52c3R1ZGlvLmZzMjAwNSA9IHt9CmxvY2FsIHZzdHVkaW8gPSBwLnZzdHVkaW8KbG9jYWwgZnMyMDA1ID0gcC52c3R1ZGlvLmZzMjAwNQpsb2NhbCBkb3RuZXRiYXNlID0gcC52c3R1ZGlvLmRvdG5ldGJhc2UKbG9jYWwgcHJvamVjdCA9IHAucHJvamVjdApsb2NhbCBjb25maWcgPSBwLmNvbmZpZwpsb2NhbCBmaWxlY29uZmlnID0gcC5maWxlY29uZmlnCmxvY2FsIGRvdG5ldCA9IHAudG9vbHMuZG90bmV0CmZzMjAwNS5lbGVtZW50cyA9IHt9CmZzMjAwNS5lbGVtZW50cy5wcm9qZWN0ID0gZnVuY3Rpb24gKCkKcmV0dXJuIHsKZG90bmV0YmFzZS54bWxEZWNsYXJhdGlvbiwKZG90bmV0YmFzZS5wcm9qZWN0RWxlbWVudCwKZG90bmV0YmFzZS5jb21tb25Qcm9wZXJ0aWVzLApkb3RuZXRiYXNlLnByb2plY3RQcm9wZXJ0aWVzLApkb3RuZXRiYXNlLmNvbmZpZ3VyYXRpb25zLApkb3RuZXRiYXNlLmFwcGxpY2F0aW9uSWNvbiwKZG90bmV0YmFzZS5yZWZlcmVuY2VzCn0KZW5kCmZzMjAwNS5lbGVtZW50cy5wcm9qZWN0UHJvcGVydGllcyA9IGZ1bmN0aW9uICgpCnJldHVybiB7CmRvdG5ldGJhc2UuY29uZmlndXJhdGlvbkNvbmRpdGlvbiwKZG90bmV0YmFzZS5wbGF0Zm9ybUNvbmRpdGlvbiwKZG90bmV0YmFzZS5zY2hlbWFWZXJzaW9uLApkb3RuZXRiYXNlLnByb2R1Y3RWZXJzaW9uLApkb3RuZXRiYXNlLnByb2plY3RHdWlkLApkb3RuZXRiYXNlLm91dHB1dFR5cGUsCmRvdG5ldGJhc2UuYXBwRGVzaWduZXJGb2xkZXIsCmRvdG5ldGJhc2Uucm9vdE5hbWVzcGFjZSwKZG90bmV0YmFzZS5hc3NlbWJseU5hbWUsCmRvdG5ldGJhc2UudGFyZ2V0RnJhbWV3b3JrVmVyc2lvbiwKZG90bmV0YmFzZS50YXJnZXRGcmFtZXdvcmtQcm9maWxlLApkb3RuZXRiYXNlLnByb2plY3RUeXBlR3VpZHMKfQplbmQKZnMyMDA1LmVsZW1lbnRzLmNvbmZpZ3VyYXRpb24gPSBmdW5jdGlvbiAoKQpyZXR1cm4gewpkb3RuZXRiYXNlLnByb3BlcnR5R3JvdXAsCmRvdG5ldGJhc2UuZGVidWdQcm9wcywKZG90bmV0YmFzZS5vdXRwdXRQcm9wcywKZG90bmV0YmFzZS5jb21waWxlclByb3BzLApkb3RuZXRiYXNlLk5vV2FybiwKZnMyMDA1LnRhaWxDYWxscwp9CmVuZApmdW5jdGlvbiBmczIwMDUuZ2VuZXJhdGUocHJqKQpkb3RuZXRiYXNlLnByZXBhcmUoZnMyMDA1KQpkb3RuZXRiYXNlLmdlbmVyYXRlKHByaikKZW5kCmZ1bmN0aW9uIGZzMjAwNS50YWlsQ2FsbHMoY2ZnKQpsb2NhbCB0YwppZiBjZmcudGFpbGNhbGxzID09IG5pbCB0aGVuCnRjID0gY29uZmlnLmlzRGVidWdCdWlsZChjZmcpCmVsc2UKdGMgPSBjZmcudGFpbGNhbGxzCmVuZApfcCgyLCAnPFRhaWxjYWxscz4lczwvVGFpbGNhbGxzPicsIGlpZih0YywgInRydWUiLCAiZmFsc2UiKSkKZW5kCmZ1bmN0aW9uIGZzMjAwNS50YXJnZXRzKHByaikKX3AoMSwgJzxDaG9vc2U+JykKX3AoMiwgJzxXaGVuIENvbmRpdGlvbj0iXCckKFZpc3VhbFN0dWRpb1ZlcnNpb24pXCcgPT0gXCcxMS4wXCciPicpCl9wKDMsICc8UHJvcGVydHlHcm91cCBDb25kaXRpb249IkV4aXN0cyhcJyQoTVNCdWlsZEV4dGVuc2lvbnNQYXRoMzIpXFwuLlxcTWljcm9zb2Z0IFNES3NcXEYjXFwzLjBcXEZyYW1ld29ya1xcdjQuMFxcTWljcm9zb2Z0LkZTaGFycC5UYXJnZXRzXCcpIj4nKQpfcCg0LCAnPEZTaGFycFRhcmdldHNQYXRoPiQoTVNCdWlsZEV4dGVuc2lvbnNQYXRoMzIpXFxNaWNyb3NvZnRcXFZpc3VhbFN0dWRpb1xcdiQoVmlzdWFsU3R1ZGlvVmVyc2lvbilcXEZTaGFycFxcTWljcm9zb2Z0LkZTaGFycC5UYXJnZXRzPC9GU2hhcnBUYXJnZXRzUGF0aD4nKQpfcCgzLCAnPC9Qcm9wZXJ0eUdyb3VwPicpCl9wKDIsICc8L1doZW4+JykKX3AoMiwgJzxPdGhlcndpc2U+JykKX3AoMiwgJzxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iRXhpc3RzKFwnJChNU0J1aWxkRXh0ZW5zaW9uc1BhdGgzMilcXE1pY3Jvc29mdFxcVmlzdWFsU3R1ZGlvXFx2JChWaXN1YWxTdHVkaW9WZXJzaW9uKVxcRlNoYXJwXFxNaWNyb3NvZnQuRlNoYXJwLlRhcmdldHNcJykiPicpCl9wKDMsICc8RlNoYXJwVGFyZ2V0c1BhdGg+JChNU0J1aWxkRXh0ZW5zaW9uc1BhdGgzMilcXE1pY3Jvc29mdFxcVmlzdWFsU3R1ZGlvXFx2JChWaXN1YWxTdHVkaW9WZXJzaW9uKVxcRlNoYXJwXFxNaWNyb3NvZnQuRlNoYXJwLlRhcmdldHM8L0ZTaGFycFRhcmdldHNQYXRoPicpCl9wKDIsICc8L1Byb3BlcnR5R3JvdXA+JykKX3AoMiwgJzwvT3RoZXJ3aXNlPicpCl9wKDEsICc8L0Nob29zZT4nKQpfcCgxLCAnPEltcG9ydCBQcm9qZWN0PSIkKEZTaGFycFRhcmdldHNQYXRoKSIgLz4nKQplbmQKAGxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKbmV3YWN0aW9uIHsKdHJpZ2dlciAgICAgICAgID0gImdtYWtlMiIsCnNob3J0bmFtZSAgICAgICA9ICJBbHRlcm5hdGl2ZSBHTlUgTWFrZSIsCmRlc2NyaXB0aW9uICAgICA9ICJHZW5lcmF0ZSBHTlUgbWFrZWZpbGVzIGZvciBQT1NJWCwgTWluR1csIGFuZCBDeWd3aW4iLAp0b29sc2V0ICAgICAgICAgPSAiZ2NjIiwKdmFsaWRfa2luZHMgICAgID0geyAiQ29uc29sZUFwcCIsICJXaW5kb3dlZEFwcCIsICJTdGF0aWNMaWIiLCAiU2hhcmVkTGliIiwgIlV0aWxpdHkiLCAiTWFrZWZpbGUiIH0sCnZhbGlkX2xhbmd1YWdlcyA9IHsgIkMiLCAiQysrIiwgIkMjIiB9LAp2YWxpZF90b29scyAgICAgPSB7CmNjICAgICA9IHsgImNsYW5nIiwgImdjYyIgfSwKZG90bmV0ID0geyAibW9ubyIsICJtc25ldCIsICJwbmV0IiB9Cn0sCm9uSW5pdGlhbGl6ZSA9IGZ1bmN0aW9uKCkKcmVxdWlyZSgiZ21ha2UyIikKcC5tb2R1bGVzLmdtYWtlMi5jcHAuaW5pdGlhbGl6ZSgpCmVuZCwKb25Xb3Jrc3BhY2UgPSBmdW5jdGlvbih3a3MpCnAuZXNjYXBlcihwLm1vZHVsZXMuZ21ha2UyLmVzYykKcC5nZW5lcmF0ZSh3a3MsIHAubW9kdWxlcy5nbWFrZTIuZ2V0bWFrZWZpbGVuYW1lKHdrcywgZmFsc2UpLCBwLm1vZHVsZXMuZ21ha2UyLmdlbmVyYXRlX3dvcmtzcGFjZSkKZW5kLApvblByb2plY3QgPSBmdW5jdGlvbihwcmopCnAuZXNjYXBlcihwLm1vZHVsZXMuZ21ha2UyLmVzYykKbG9jYWwgbWFrZWZpbGUgPSBwLm1vZHVsZXMuZ21ha2UyLmdldG1ha2VmaWxlbmFtZShwcmosIHRydWUpCmlmIHByai5raW5kID09IHAuVVRJTElUWSB0aGVuCnAuZ2VuZXJhdGUocHJqLCBtYWtlZmlsZSwgcC5tb2R1bGVzLmdtYWtlMi51dGlsaXR5LmdlbmVyYXRlKQplbHNlaWYgcHJqLmtpbmQgPT0gcC5NQUtFRklMRSB0aGVuCnAuZ2VuZXJhdGUocHJqLCBtYWtlZmlsZSwgcC5tb2R1bGVzLmdtYWtlMi5tYWtlZmlsZS5nZW5lcmF0ZSkKZWxzZQppZiBwcm9qZWN0LmlzZG90bmV0KHByaikgdGhlbgpwLmdlbmVyYXRlKHByaiwgbWFrZWZpbGUsIHAubW9kdWxlcy5nbWFrZTIuY3MuZ2VuZXJhdGUpCmVsc2VpZiBwcm9qZWN0LmlzYyhwcmopIG9yIHByb2plY3QuaXNjcHAocHJqKSB0aGVuCnAuZ2VuZXJhdGUocHJqLCBtYWtlZmlsZSwgcC5tb2R1bGVzLmdtYWtlMi5jcHAuZ2VuZXJhdGUpCmVuZAplbmQKZW5kLApvbkNsZWFuV29ya3NwYWNlID0gZnVuY3Rpb24od2tzKQpwLmNsZWFuLmZpbGUod2tzLCBwLm1vZHVsZXMuZ21ha2UyLmdldG1ha2VmaWxlbmFtZSh3a3MsIGZhbHNlKSkKZW5kLApvbkNsZWFuUHJvamVjdCA9IGZ1bmN0aW9uKHByaikKcC5jbGVhbi5maWxlKHByaiwgcC5tb2R1bGVzLmdtYWtlMi5nZXRtYWtlZmlsZW5hbWUocHJqLCB0cnVlKSkKZW5kCn0KcmV0dXJuIGZ1bmN0aW9uKGNmZykKcmV0dXJuIChfQUNUSU9OID09ICJnbWFrZTIiKQplbmQKAAAAAABsb2NhbCBwID0gcHJlbWFrZQpwLm1vZHVsZXMuZ21ha2UgPSB7fQpwLm1vZHVsZXMuZ21ha2UuX1ZFUlNJT04gPSBwLl9WRVJTSU9OCnAubWFrZSA9IHAubW9kdWxlcy5nbWFrZQpsb2NhbCBtYWtlID0gcC5tYWtlCmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKZnVuY3Rpb24gbWFrZS5kZWZhdWx0Y29uZmlnKHRhcmdldCkKbG9jYWwgZWFjaGNvbmZpZyA9IGlpZih0YXJnZXQucHJvamVjdCwgcHJvamVjdC5lYWNoY29uZmlnLCBwLndvcmtzcGFjZS5lYWNoY29uZmlnKQpsb2NhbCBkZWZhdWx0Y29uZmlnID0gbmlsCmlmIHRhcmdldC5kZWZhdWx0cGxhdGZvcm0gdGhlbgpmb3IgY2ZnIGluIGVhY2hjb25maWcodGFyZ2V0KSBkbwppZiBjZmcucGxhdGZvcm0gPT0gdGFyZ2V0LmRlZmF1bHRwbGF0Zm9ybSB0aGVuCmRlZmF1bHRjb25maWcgPSBjZmcKYnJlYWsKZW5kCmVuZAplbmQKaWYgbm90IGRlZmF1bHRjb25maWcgdGhlbgpsb2NhbCBpdGVyID0gZWFjaGNvbmZpZyh0YXJnZXQpCmRlZmF1bHRjb25maWcgPSBpdGVyKCkKZW5kCmlmIGRlZmF1bHRjb25maWcgdGhlbgpfcCgnaWZuZGVmIGNvbmZpZycpCl94KCcgIGNvbmZpZz0lcycsIGRlZmF1bHRjb25maWcuc2hvcnRuYW1lKQpfcCgnZW5kaWYnKQpfcCgnJykKZW5kCmVuZApmdW5jdGlvbiBtYWtlLmVzYyh2YWx1ZSkKcmVzdWx0ID0gdmFsdWU6Z3N1YigiXFwiLCAiXFxcXCIpCnJlc3VsdCA9IHJlc3VsdDpnc3ViKCJcIiIsICJcXFwiIikKcmVzdWx0ID0gcmVzdWx0OmdzdWIoIiAiLCAiXFwgIikKcmVzdWx0ID0gcmVzdWx0OmdzdWIoIiUoIiwgIlxcKCIpCnJlc3VsdCA9IHJlc3VsdDpnc3ViKCIlKSIsICJcXCkiKQpyZXN1bHQgPSByZXN1bHQ6Z3N1YigiJFxcJSgoLi0pXFwlKSIsICIkKCUxKSIpCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIG1ha2UuZ2V0bWFrZWZpbGVuYW1lKHRoaXMsIHNlYXJjaHByanMpCmxvY2FsIGNvdW50ID0gMApmb3Igd2tzIGluIHAuZ2xvYmFsLmVhY2hXb3Jrc3BhY2UoKSBkbwppZiB3a3MubG9jYXRpb24gPT0gdGhpcy5sb2NhdGlvbiB0aGVuCmNvdW50ID0gY291bnQgKyAxCmVuZAppZiBzZWFyY2hwcmpzIHRoZW4KZm9yIF8sIHByaiBpbiBpcGFpcnMod2tzLnByb2plY3RzKSBkbwppZiBwcmoubG9jYXRpb24gPT0gdGhpcy5sb2NhdGlvbiB0aGVuCmNvdW50ID0gY291bnQgKyAxCmVuZAplbmQKZW5kCmVuZAppZiBjb3VudCA9PSAxIHRoZW4KcmV0dXJuICJNYWtlZmlsZSIKZWxzZQpyZXR1cm4gIi5tYWtlIgplbmQKZW5kCmZ1bmN0aW9uIG1ha2UuaGVhZGVyKHRhcmdldCkKbG9jYWwga2luZCA9IGlpZih0YXJnZXQucHJvamVjdCwgInByb2plY3QiLCAid29ya3NwYWNlIikKX3AoJyMgJXMgJXMgbWFrZWZpbGUgYXV0b2dlbmVyYXRlZCBieSBQcmVtYWtlJywgcC5hY3Rpb24uY3VycmVudCgpLnNob3J0bmFtZSwga2luZCkKX3AoJycpCmlmIGtpbmQgPT0gIndvcmtzcGFjZSIgdGhlbgpsb2NhbCBoYXNwY2ggPSBmYWxzZQpmb3IgXywgcHJqIGluIGlwYWlycyh0YXJnZXQucHJvamVjdHMpIGRvCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KaWYgY2ZnLnBjaGhlYWRlciB0aGVuCmhhc3BjaCA9IHRydWUKZW5kCmVuZAplbmQKaWYgaGFzcGNoIHRoZW4KX3AoJy5OT1RQQVJBTExFTDonKQpfcCgnJykKZW5kCmVuZAptYWtlLmRlZmF1bHRjb25maWcodGFyZ2V0KQpfcCgnaWZuZGVmIHZlcmJvc2UnKQpfcCgnICBTSUxFTlQgPSBAJykKX3AoJ2VuZGlmJykKX3AoJycpCmVuZApmdW5jdGlvbiBtYWtlLm1rZGlyKGRpcm5hbWUpCl9wKCdpZmVxIChwb3NpeCwkKFNIRUxMVFlQRSkpJykKX3AoJ1x0JChTSUxFTlQpIG1rZGlyIC1wICVzJywgZGlybmFtZSkKX3AoJ2Vsc2UnKQpfcCgnXHQkKFNJTEVOVCkgbWtkaXIgJChzdWJzdCAvLFxcXFwsJXMpJywgZGlybmFtZSkKX3AoJ2VuZGlmJykKZW5kCmZ1bmN0aW9uIG1ha2UubWtkaXJSdWxlcyhkaXJuYW1lKQpfcCgnJXM6JywgZGlybmFtZSkKX3AoJ1x0QGVjaG8gQ3JlYXRpbmcgJXMnLCBkaXJuYW1lKQptYWtlLm1rZGlyKGRpcm5hbWUpCl9wKCcnKQplbmQKZnVuY3Rpb24gbWFrZS5saXN0KHZhbHVlLCBxdW90ZWQpCnF1b3RlZCA9IGZhbHNlCmlmICN2YWx1ZSA+IDAgdGhlbgppZiBxdW90ZWQgdGhlbgpsb2NhbCByZXN1bHQgPSAiIgpmb3IgXywgdiBpbiBpcGFpcnMgKHZhbHVlKSBkbwppZiAjcmVzdWx0IHRoZW4KcmVzdWx0ID0gcmVzdWx0IC4uICIgIgplbmQKcmVzdWx0ID0gcmVzdWx0IC4uIHAucXVvdGVkKHYpCmVuZApyZXR1cm4gcmVzdWx0CmVsc2UKcmV0dXJuICIgIiAuLiB0YWJsZS5jb25jYXQodmFsdWUsICIgIikKZW5kCmVsc2UKcmV0dXJuICIiCmVuZAplbmQKZnVuY3Rpb24gbWFrZS50b3Zhcih2YWx1ZSkKdmFsdWUgPSB2YWx1ZTpnc3ViKCJbIC1dIiwgIl8iKQp2YWx1ZSA9IHZhbHVlOmdzdWIoIlsoKV0iLCAiIikKcmV0dXJuIHZhbHVlCmVuZApmdW5jdGlvbiBtYWtlLm9iamRpcihjZmcpCl94KCcgIE9CSkRJUiA9ICVzJywgcC5lc2MocHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgY2ZnLm9iamRpcikpKQplbmQKZnVuY3Rpb24gbWFrZS5vYmpEaXJSdWxlcyhwcmopCm1ha2UubWtkaXJSdWxlcygiJChPQkpESVIpIikKZW5kCmZ1bmN0aW9uIG1ha2UucGhvbnlSdWxlcyhwcmopCl9wKCcuUEhPTlk6IGNsZWFuIHByZWJ1aWxkIHByZWxpbmsnKQpfcCgnJykKZW5kCmZ1bmN0aW9uIG1ha2UuYnVpbGRDbWRzKGNmZywgZXZlbnQpCl9wKCcgIGRlZmluZSAlc0NNRFMnLCBldmVudDp1cHBlcigpKQpsb2NhbCBzdGVwcyA9IGNmZ1tldmVudCAuLiAiY29tbWFuZHMiXQpsb2NhbCBtc2cgPSBjZmdbZXZlbnQgLi4gIm1lc3NhZ2UiXQppZiAjc3RlcHMgPiAwIHRoZW4Kc3RlcHMgPSBvcy50cmFuc2xhdGVDb21tYW5kc0FuZFBhdGhzKHN0ZXBzLCBjZmcucHJvamVjdC5iYXNlZGlyLCBjZmcucHJvamVjdC5sb2NhdGlvbikKbXNnID0gbXNnIG9yIHN0cmluZy5mb3JtYXQoIlJ1bm5pbmcgJXMgY29tbWFuZHMiLCBldmVudCkKX3AoJ1x0QGVjaG8gJXMnLCBtc2cpCl9wKCdcdCVzJywgdGFibGUuaW1wbG9kZShzdGVwcywgIiIsICIiLCAiXG5cdCIpKQplbmQKX3AoJyAgZW5kZWYnKQplbmQKZnVuY3Rpb24gbWFrZS5wcmVCdWlsZENtZHMoY2ZnLCB0b29sc2V0KQptYWtlLmJ1aWxkQ21kcyhjZmcsICJwcmVidWlsZCIpCmVuZApmdW5jdGlvbiBtYWtlLnByZUJ1aWxkUnVsZXMocHJqKQpfcCgncHJlYnVpbGQ6JykKX3AoJ1x0JChQUkVCVUlMRENNRFMpJykKX3AoJycpCmVuZApmdW5jdGlvbiBtYWtlLnByZUxpbmtDbWRzKGNmZywgdG9vbHNldCkKbWFrZS5idWlsZENtZHMoY2ZnLCAicHJlbGluayIpCmVuZApmdW5jdGlvbiBtYWtlLnByZUxpbmtSdWxlcyhwcmopCl9wKCdwcmVsaW5rOicpCl9wKCdcdCQoUFJFTElOS0NNRFMpJykKX3AoJycpCmVuZApmdW5jdGlvbiBtYWtlLnBvc3RCdWlsZENtZHMoY2ZnLCB0b29sc2V0KQptYWtlLmJ1aWxkQ21kcyhjZmcsICJwb3N0YnVpbGQiKQplbmQKZnVuY3Rpb24gbWFrZS5zZXR0aW5ncyhjZmcsIHRvb2xzZXQpCmlmICNjZmcubWFrZXNldHRpbmdzID4gMCB0aGVuCmZvciBfLCB2YWx1ZSBpbiBpcGFpcnMoY2ZnLm1ha2VzZXR0aW5ncykgZG8KX3AodmFsdWUpCmVuZAplbmQKbG9jYWwgdmFsdWUgPSB0b29sc2V0LmdldG1ha2VzZXR0aW5ncyhjZmcpCmlmIHZhbHVlIHRoZW4KX3AodmFsdWUpCmVuZAplbmQKZnVuY3Rpb24gbWFrZS5zaGVsbFR5cGUoKQpfcCgnU0hFTExUWVBFIDo9IHBvc2l4JykKX3AoJ2lmZXEgKC5leGUsJChmaW5kc3RyaW5nIC5leGUsJChDb21TcGVjKSkpJykKX3AoJ1x0U0hFTExUWVBFIDo9IG1zZG9zJykKX3AoJ2VuZGlmJykKX3AoJycpCmVuZApmdW5jdGlvbiBtYWtlLnRhcmdldChjZmcpCl94KCcgIFRBUkdFVERJUiA9ICVzJywgcHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgY2ZnLmJ1aWxkdGFyZ2V0LmRpcmVjdG9yeSkpCl94KCcgIFRBUkdFVCA9ICQoVEFSR0VURElSKS8lcycsIGNmZy5idWlsZHRhcmdldC5uYW1lKQplbmQKZnVuY3Rpb24gbWFrZS50YXJnZXREaXJSdWxlcyhwcmopCm1ha2UubWtkaXJSdWxlcygiJChUQVJHRVRESVIpIikKZW5kCmluY2x1ZGUoImdtYWtlX2NwcC5sdWEiKQppbmNsdWRlKCJnbWFrZV9jc2hhcnAubHVhIikKaW5jbHVkZSgiZ21ha2VfbWFrZWZpbGUubHVhIikKaW5jbHVkZSgiZ21ha2VfdXRpbGl0eS5sdWEiKQppbmNsdWRlKCJnbWFrZV93b3Jrc3BhY2UubHVhIikKcmV0dXJuIHAubW9kdWxlcy5nbWFrZQoAAAAAAGxvY2FsIHAgPSBwcmVtYWtlCnAudHJlZSA9IHt9CmxvY2FsIHRyZWUgPSBwLnRyZWUKZnVuY3Rpb24gdHJlZS5uZXcobikKbG9jYWwgdCA9IHsKbmFtZSA9IG4sCmNoaWxkcmVuID0ge30KfQpyZXR1cm4gdAplbmQKZnVuY3Rpb24gdHJlZS5hZGQodHIsIHAsIGV4dHJhRmllbGRzKQppZiBwID09ICIuIiBvciBwID09ICIvIiB0aGVuCnJldHVybiB0cgplbmQKbG9jYWwgcGFyZW50bm9kZSA9IHRyZWUuYWRkKHRyLCBwYXRoLmdldGRpcmVjdG9yeShwKSwgZXh0cmFGaWVsZHMpCmxvY2FsIGNoaWxkbmFtZSA9IHBhdGguZ2V0bmFtZShwKQpsb2NhbCBjaGlsZG5vZGUgPSBwYXJlbnRub2RlLmNoaWxkcmVuW2NoaWxkbmFtZV0KaWYgbm90IGNoaWxkbm9kZSBvciBjaGlsZG5vZGUucGF0aCB+PSBwIHRoZW4KY2hpbGRub2RlID0gdHJlZS5pbnNlcnQocGFyZW50bm9kZSwgdHJlZS5uZXcoY2hpbGRuYW1lKSkKY2hpbGRub2RlLnBhdGggPSBwCmlmIGV4dHJhRmllbGRzIHRoZW4KZm9yIGssdiBpbiBwYWlycyhleHRyYUZpZWxkcykgZG8KY2hpbGRub2RlW2tdID0gdgplbmQKZW5kCmVuZApyZXR1cm4gY2hpbGRub2RlCmVuZApmdW5jdGlvbiB0cmVlLmluc2VydChwYXJlbnQsIGNoaWxkKQp0YWJsZS5pbnNlcnQocGFyZW50LmNoaWxkcmVuLCBjaGlsZCkKaWYgY2hpbGQubmFtZSB0aGVuCnBhcmVudC5jaGlsZHJlbltjaGlsZC5uYW1lXSA9IGNoaWxkCmVuZApjaGlsZC5wYXJlbnQgPSBwYXJlbnQKcmV0dXJuIGNoaWxkCmVuZApmdW5jdGlvbiB0cmVlLmdldGxvY2FscGF0aChub2RlKQppZiBub2RlLnBhcmVudC5wYXRoIHRoZW4KcmV0dXJuIG5vZGUubmFtZQplbHNlaWYgbm9kZS5jZmcgdGhlbgpyZXR1cm4gbm9kZS5jZmcubmFtZQplbHNlCnJldHVybiBub2RlLnBhdGgKZW5kCmVuZApmdW5jdGlvbiB0cmVlLmhhc2JyYW5jaGVzKHRyKQpsb2NhbCBuID0gI3RyLmNoaWxkcmVuCmlmIG4gPiAwIHRoZW4KZm9yIGkgPSAxLCBuIGRvCmlmICN0ci5jaGlsZHJlbltpXS5jaGlsZHJlbiA+IDAgdGhlbgpyZXR1cm4gdHJ1ZQplbmQKZW5kCmVuZApyZXR1cm4gZmFsc2UKZW5kCmZ1bmN0aW9uIHRyZWUuaXNwYXJlbnQobiwgY2hpbGQpCmxvY2FsIHAgPSBjaGlsZC5wYXJlbnQKd2hpbGUgcCBkbwppZiBwID09IG4gdGhlbgpyZXR1cm4gdHJ1ZQplbmQKcCA9IHAucGFyZW50CmVuZApyZXR1cm4gZmFsc2UKZW5kCmZ1bmN0aW9uIHRyZWUucmVtb3ZlKG5vZGUpCmxvY2FsIGNoaWxkcmVuID0gbm9kZS5wYXJlbnQuY2hpbGRyZW4KZm9yIGkgPSAxLCAjY2hpbGRyZW4gZG8KaWYgY2hpbGRyZW5baV0gPT0gbm9kZSB0aGVuCnRhYmxlLnJlbW92ZShjaGlsZHJlbiwgaSkKZW5kCmVuZApub2RlLmNoaWxkcmVuID0ge30KZW5kCmZ1bmN0aW9uIHRyZWUuc29ydCh0ciwgZm4pCmlmIG5vdCBmbiB0aGVuCmZuID0gZnVuY3Rpb24oYSxiKSByZXR1cm4gYS5uYW1lIDwgYi5uYW1lIGVuZAplbmQKdHJlZS50cmF2ZXJzZSh0ciwgewpvbm5vZGUgPSBmdW5jdGlvbihub2RlKQp0YWJsZS5zb3J0KG5vZGUuY2hpbGRyZW4sIGZuKQplbmQKfSwgdHJ1ZSkKZW5kCmZ1bmN0aW9uIHRyZWUudHJhdmVyc2UodCwgZm4sIGluY2x1ZGVyb290LCBpbml0aWFsZGVwdGgpCmxvY2FsIGRvbm9kZSwgZG9jaGlsZHJlbgpkb25vZGUgPSBmdW5jdGlvbihub2RlLCBmbiwgZGVwdGgpCmlmIG5vZGUuaXNyZW1vdmVkIHRoZW4KcmV0dXJuCmVuZAppZiBmbi5vbm5vZGUgdGhlbgpmbi5vbm5vZGUobm9kZSwgZGVwdGgpCmVuZAppZiAjbm9kZS5jaGlsZHJlbiA+IDAgdGhlbgppZiBmbi5vbmJyYW5jaGVudGVyIHRoZW4KZm4ub25icmFuY2hlbnRlcihub2RlLCBkZXB0aCkKZW5kCmlmIGZuLm9uYnJhbmNoIHRoZW4KZm4ub25icmFuY2gobm9kZSwgZGVwdGgpCmVuZApkb2NoaWxkcmVuKG5vZGUsIGZuLCBkZXB0aCArIDEpCmlmIGZuLm9uYnJhbmNoZXhpdCB0aGVuCmZuLm9uYnJhbmNoZXhpdChub2RlLCBkZXB0aCkKZW5kCmVsc2UKaWYgZm4ub25sZWFmIHRoZW4KZm4ub25sZWFmKG5vZGUsIGRlcHRoKQplbmQKZW5kCmVuZApkb2NoaWxkcmVuID0gZnVuY3Rpb24ocGFyZW50LCBmbiwgZGVwdGgpCmxvY2FsIGkgPSAxCndoaWxlIGkgPD0gI3BhcmVudC5jaGlsZHJlbiBkbwpsb2NhbCBub2RlID0gcGFyZW50LmNoaWxkcmVuW2ldCmRvbm9kZShub2RlLCBmbiwgZGVwdGgpCmlmIG5vZGUgPT0gcGFyZW50LmNoaWxkcmVuW2ldIHRoZW4KaSA9IGkgKyAxCmVuZAplbmQKZW5kCmlmIG5vdCBpbml0aWFsZGVwdGggdGhlbgppbml0aWFsZGVwdGggPSAwCmVuZAppZiBpbmNsdWRlcm9vdCB0aGVuCmRvbm9kZSh0LCBmbiwgaW5pdGlhbGRlcHRoKQplbHNlCmRvY2hpbGRyZW4odCwgZm4sIGluaXRpYWxkZXB0aCkKZW5kCmVuZApmdW5jdGlvbiB0cmVlLnRyaW1yb290KHRyKQpsb2NhbCB0cmltbWVkCndoaWxlICN0ci5jaGlsZHJlbiA9PSAxIGRvCmxvY2FsIG5vZGUgPSB0ci5jaGlsZHJlblsxXQppZiAjbm9kZS5jaGlsZHJlbiA9PSAwIG9yIG5vZGUudHJpbSA9PSBmYWxzZSB0aGVuCmJyZWFrCmVuZAp0cmltbWVkID0gdHJ1ZQpsb2NhbCBudW1DaGlsZHJlbiA9ICNub2RlLmNoaWxkcmVuCmZvciBpID0gMSwgbnVtQ2hpbGRyZW4gZG8KbG9jYWwgY2hpbGQgPSBub2RlLmNoaWxkcmVuW2ldCmNoaWxkLnBhcmVudCA9IG5vZGUucGFyZW50CnRyLmNoaWxkcmVuW2ldID0gY2hpbGQKZW5kCmVuZApsb2NhbCBkb3Rkb3QKbG9jYWwgY291bnQgPSAjdHIuY2hpbGRyZW4KcmVwZWF0CmRvdGRvdCA9IGZhbHNlCmZvciBpID0gMSwgY291bnQgZG8KbG9jYWwgbm9kZSA9IHRyLmNoaWxkcmVuW2ldCmlmIG5vZGUubmFtZSA9PSAiLi4iIGFuZCAjbm9kZS5jaGlsZHJlbiA9PSAxIHRoZW4KbG9jYWwgY2hpbGQgPSBub2RlLmNoaWxkcmVuWzFdCmNoaWxkLnBhcmVudCA9IG5vZGUucGFyZW50CnRyLmNoaWxkcmVuW2ldID0gY2hpbGQKdHJpbW1lZCA9IHRydWUKZG90ZG90ID0gdHJ1ZQplbmQKZW5kCnVudGlsIG5vdCBkb3Rkb3QKaWYgdHJpbW1lZCB0aGVuCnRyZWUudHJhdmVyc2UodHIsIHsKb25ub2RlID0gZnVuY3Rpb24obm9kZSkKaWYgbm9kZS5wYXJlbnQucGF0aCB0aGVuCm5vZGUucGF0aCA9IHBhdGguam9pbihub2RlLnBhcmVudC5wYXRoLCBub2RlLm5hbWUpCmVsc2UKbm9kZS5wYXRoID0gbm9kZS5uYW1lCmVuZAplbmQKfSwgZmFsc2UpCmVuZAplbmQKAAAAAGxvY2FsIHAgPSBwcmVtYWtlCnAudG9vbHMuY2xhbmcgPSB7fQpsb2NhbCBjbGFuZyA9IHAudG9vbHMuY2xhbmcKbG9jYWwgZ2NjID0gcC50b29scy5nY2MKbG9jYWwgY29uZmlnID0gcC5jb25maWcKZnVuY3Rpb24gY2xhbmcuZ2V0Y3BwZmxhZ3MoY2ZnKQpsb2NhbCBmbGFncyA9IGdjYy5nZXRjcHBmbGFncyhjZmcpCnJldHVybiBmbGFncwplbmQKY2xhbmcuc2hhcmVkID0gewphcmNoaXRlY3R1cmUgPSBnY2Muc2hhcmVkLmFyY2hpdGVjdHVyZSwKZmxhZ3MgPSBnY2Muc2hhcmVkLmZsYWdzLApmbG9hdGluZ3BvaW50ID0gewpGYXN0ID0gIi1mZmFzdC1tYXRoIiwKfSwKc3RyaWN0YWxpYXNpbmcgPSBnY2Muc2hhcmVkLnN0cmljdGFsaWFzaW5nLApvcHRpbWl6ZSA9IHsKT2ZmID0gIi1PMCIsCk9uID0gIi1PMiIsCkRlYnVnID0gIi1PMCIsCkZ1bGwgPSAiLU8zIiwKU2l6ZSA9ICItT3MiLApTcGVlZCA9ICItTzMiLAp9LApwaWMgPSBnY2Muc2hhcmVkLnBpYywKdmVjdG9yZXh0ZW5zaW9ucyA9IGdjYy5zaGFyZWQudmVjdG9yZXh0ZW5zaW9ucywKaXNhZXh0ZW5zaW9ucyA9IGdjYy5zaGFyZWQuaXNhZXh0ZW5zaW9ucywKd2FybmluZ3MgPSBnY2Muc2hhcmVkLndhcm5pbmdzLApzeW1ib2xzID0gZ2NjLnNoYXJlZC5zeW1ib2xzLAp1bnNpZ25lZGNoYXIgPSBnY2Muc2hhcmVkLnVuc2lnbmVkY2hhciwKb21pdGZyYW1lcG9pbnRlciA9IGdjYy5zaGFyZWQub21pdGZyYW1lcG9pbnRlcgp9CmNsYW5nLmNmbGFncyA9IHRhYmxlLm1lcmdlKGdjYy5jZmxhZ3MsIHsKfSkKZnVuY3Rpb24gY2xhbmcuZ2V0Y2ZsYWdzKGNmZykKbG9jYWwgc2hhcmVkID0gY29uZmlnLm1hcEZsYWdzKGNmZywgY2xhbmcuc2hhcmVkKQpsb2NhbCBjZmxhZ3MgPSBjb25maWcubWFwRmxhZ3MoY2ZnLCBjbGFuZy5jZmxhZ3MpCmxvY2FsIGZsYWdzID0gdGFibGUuam9pbihzaGFyZWQsIGNmbGFncykKZmxhZ3MgPSB0YWJsZS5qb2luKGZsYWdzLCBjbGFuZy5nZXR3YXJuaW5ncyhjZmcpKQpyZXR1cm4gZmxhZ3MKZW5kCmZ1bmN0aW9uIGNsYW5nLmdldHdhcm5pbmdzKGNmZykKcmV0dXJuIGdjYy5nZXR3YXJuaW5ncyhjZmcpCmVuZApjbGFuZy5jeHhmbGFncyA9IHRhYmxlLm1lcmdlKGdjYy5jeHhmbGFncywgewp9KQpmdW5jdGlvbiBjbGFuZy5nZXRjeHhmbGFncyhjZmcpCmxvY2FsIHNoYXJlZCA9IGNvbmZpZy5tYXBGbGFncyhjZmcsIGNsYW5nLnNoYXJlZCkKbG9jYWwgY3h4ZmxhZ3MgPSBjb25maWcubWFwRmxhZ3MoY2ZnLCBjbGFuZy5jeHhmbGFncykKbG9jYWwgZmxhZ3MgPSB0YWJsZS5qb2luKHNoYXJlZCwgY3h4ZmxhZ3MpCmZsYWdzID0gdGFibGUuam9pbihmbGFncywgY2xhbmcuZ2V0d2FybmluZ3MoY2ZnKSkKcmV0dXJuIGZsYWdzCmVuZApmdW5jdGlvbiBjbGFuZy5nZXRkZWZpbmVzKGRlZmluZXMpCmxvY2FsIGZsYWdzID0gZ2NjLmdldGRlZmluZXMoZGVmaW5lcykKcmV0dXJuIGZsYWdzCmVuZApmdW5jdGlvbiBjbGFuZy5nZXR1bmRlZmluZXModW5kZWZpbmVzKQpsb2NhbCBmbGFncyA9IGdjYy5nZXR1bmRlZmluZXModW5kZWZpbmVzKQpyZXR1cm4gZmxhZ3MKZW5kCmZ1bmN0aW9uIGNsYW5nLmdldGZvcmNlaW5jbHVkZXMoY2ZnKQpsb2NhbCBmbGFncyA9IGdjYy5nZXRmb3JjZWluY2x1ZGVzKGNmZykKcmV0dXJuIGZsYWdzCmVuZApmdW5jdGlvbiBjbGFuZy5nZXRpbmNsdWRlZGlycyhjZmcsIGRpcnMsIHN5c2RpcnMpCmxvY2FsIGZsYWdzID0gZ2NjLmdldGluY2x1ZGVkaXJzKGNmZywgZGlycywgc3lzZGlycykKcmV0dXJuIGZsYWdzCmVuZApjbGFuZy5nZXRydW5wYXRoZGlycyA9IGdjYy5nZXRydW5wYXRoZGlycwpmdW5jdGlvbiBjbGFuZy5nZXRzaGFyZWRsaWJhcmcoY2ZnKQpyZXR1cm4gZ2NjLmdldHNoYXJlZGxpYmFyZyhjZmcpCmVuZApjbGFuZy5sZGZsYWdzID0gewphcmNoaXRlY3R1cmUgPSB7Cng4NiA9ICItbTMyIiwKeDg2XzY0ID0gIi1tNjQiLAp9LApmbGFncyA9IHsKTGlua1RpbWVPcHRpbWl6YXRpb24gPSAiLWZsdG8iLAp9LApraW5kID0gewpTaGFyZWRMaWIgPSBmdW5jdGlvbihjZmcpCmxvY2FsIHIgPSB7IGNsYW5nLmdldHNoYXJlZGxpYmFyZyhjZmcpIH0KaWYgY2ZnLnN5c3RlbSA9PSAid2luZG93cyIgYW5kIG5vdCBjZmcuZmxhZ3MuTm9JbXBvcnRMaWIgdGhlbgp0YWJsZS5pbnNlcnQociwgJy1XbCwtLW91dC1pbXBsaWI9IicgLi4gY2ZnLmxpbmt0YXJnZXQucmVscGF0aCAuLiAnIicpCmVsc2VpZiBjZmcuc3lzdGVtID09IHAuTElOVVggdGhlbgp0YWJsZS5pbnNlcnQociwgJy1XbCwtc29uYW1lPScgLi4gcC5xdW90ZWQoY2ZnLmxpbmt0YXJnZXQubmFtZSkpCmVsc2VpZiB0YWJsZS5jb250YWlucyhvcy5nZXRTeXN0ZW1UYWdzKGNmZy5zeXN0ZW0pLCAiZGFyd2luIikgdGhlbgp0YWJsZS5pbnNlcnQociwgJy1XbCwtaW5zdGFsbF9uYW1lLCcgLi4gcC5xdW90ZWQoJ0BycGF0aC8nIC4uIGNmZy5saW5rdGFyZ2V0Lm5hbWUpKQplbmQKcmV0dXJuIHIKZW5kLApXaW5kb3dlZEFwcCA9IGZ1bmN0aW9uKGNmZykKaWYgY2ZnLnN5c3RlbSA9PSBwLldJTkRPV1MgdGhlbiByZXR1cm4gIi1td2luZG93cyIgZW5kCmVuZCwKfSwKc3lzdGVtID0gewp3aWkgPSAiJChNQUNIREVQKSIsCn0KfQpmdW5jdGlvbiBjbGFuZy5nZXRsZGZsYWdzKGNmZykKbG9jYWwgZmxhZ3MgPSBjb25maWcubWFwRmxhZ3MoY2ZnLCBjbGFuZy5sZGZsYWdzKQpyZXR1cm4gZmxhZ3MKZW5kCmZ1bmN0aW9uIGNsYW5nLmdldExpYnJhcnlEaXJlY3RvcmllcyhjZmcpCmxvY2FsIGZsYWdzID0gZ2NjLmdldExpYnJhcnlEaXJlY3RvcmllcyhjZmcpCnJldHVybiBmbGFncwplbmQKZnVuY3Rpb24gY2xhbmcuZ2V0bGlua3MoY2ZnLCBzeXN0ZW1vbmx5LCBub2dyb3VwcykKcmV0dXJuIGdjYy5nZXRsaW5rcyhjZmcsIHN5c3RlbW9ubHksIG5vZ3JvdXBzKQplbmQKZnVuY3Rpb24gY2xhbmcuZ2V0bWFrZXNldHRpbmdzKGNmZykKbG9jYWwgZmxhZ3MgPSBnY2MuZ2V0bWFrZXNldHRpbmdzKGNmZykKcmV0dXJuIGZsYWdzCmVuZApjbGFuZy50b29scyA9IHsKY2MgPSAiY2xhbmciLApjeHggPSAiY2xhbmcrKyIsCmFyID0gImFyIgp9CmZ1bmN0aW9uIGNsYW5nLmdldHRvb2xuYW1lKGNmZywgdG9vbCkKcmV0dXJuIGNsYW5nLnRvb2xzW3Rvb2xdCmVuZAoAAAAAbG9jYWwgcCA9IHByZW1ha2UKcC52c3R1ZGlvLnZzMjAxMC5ydWxlcyA9IHt9CnAudnN0dWRpby52czIwMTAucnVsZXMucHJvcHMgPSB7fQpsb2NhbCBtID0gcC52c3R1ZGlvLnZzMjAxMC5ydWxlcy5wcm9wcwptLmVsZW1lbnRzID0ge30KbS5lbGVtZW50cy5wcm9qZWN0ID0gZnVuY3Rpb24ocikKcmV0dXJuIHsKcC52c3R1ZGlvLnByb2plY3RFbGVtZW50LAptLnRhcmdldHNHcm91cCwKbS5kZXBlbmRzT25Hcm91cCwKbS5ydWxlR3JvdXAsCn0KZW5kCmZ1bmN0aW9uIG0uZ2VuZXJhdGUocikKcC54bWxVdGY4KCkKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5wcm9qZWN0LCByKQpwLnBvcCgpCnAub3V0KCc8L1Byb2plY3Q+JykKZW5kCm0uZWxlbWVudHMudGFyZ2V0c0dyb3VwID0gZnVuY3Rpb24ocikKcmV0dXJuIHsKbS5iZWZvcmVUYXJnZXRzLAptLmFmdGVyVGFyZ2V0cywKfQplbmQKZnVuY3Rpb24gbS50YXJnZXRzR3JvdXAocikKcC53KCc8UHJvcGVydHlHcm91cCcpCnAucHVzaCgnICBDb25kaXRpb249IlwnJCglc0JlZm9yZVRhcmdldHMpXCcgPT0gXCdcJyBhbmQgXCckKCVzQWZ0ZXJUYXJnZXRzKVwnID09IFwnXCcgYW5kIFwnJChDb25maWd1cmF0aW9uVHlwZSlcJyAhPSBcJ01ha2VmaWxlXCciPicsCnIubmFtZSwgci5uYW1lKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLnRhcmdldHNHcm91cCwgcikKcC5wb3AoJzwvUHJvcGVydHlHcm91cD4nKQplbmQKbS5lbGVtZW50cy5kZXBlbmRzT25Hcm91cCA9IGZ1bmN0aW9uKHIpCnJldHVybiB7Cm0uZGVwZW5kc09uLAp9CmVuZApmdW5jdGlvbiBtLmRlcGVuZHNPbkdyb3VwKHIpCnAucHVzaCgnPFByb3BlcnR5R3JvdXA+JykKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5kZXBlbmRzT25Hcm91cCwgcikKcC5wb3AoJzwvUHJvcGVydHlHcm91cD4nKQplbmQKbS5lbGVtZW50cy5ydWxlR3JvdXAgPSBmdW5jdGlvbihyKQpyZXR1cm4gewptLnByb3BlcnR5RGVmYXVsdHMsCm0uY29tbWFuZExpbmVUZW1wbGF0ZXMsCm0uZXhlY3V0aW9uRGVzY3JpcHRpb24sCm0uYWRkaXRpb25hbERlcGVuZGVuY2llcywKfQplbmQKZnVuY3Rpb24gbS5ydWxlR3JvdXAocikKcC5wdXNoKCc8SXRlbURlZmluaXRpb25Hcm91cD4nKQpwLnB1c2goJzwlcz4nLCByLm5hbWUpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMucnVsZUdyb3VwLCByKQpwLnBvcCgnPC8lcz4nLCByLm5hbWUpCnAucG9wKCc8L0l0ZW1EZWZpbml0aW9uR3JvdXA+JykKZW5kCmZ1bmN0aW9uIG0ucHJvcGVydHlEZWZhdWx0cyhyKQpsb2NhbCBkZWZzID0gci5wcm9wZXJ0eWRlZmluaXRpb24KZm9yIGkgPSAxLCAjZGVmcyBkbwpsb2NhbCBkZWYgPSBkZWZzW2ldCmxvY2FsIHZhbHVlID0gZGVmLnZhbHVlCmlmIHZhbHVlIHRoZW4KaWYgZGVmLmtpbmQgPT0gInBhdGgiIHRoZW4KdmFsdWUgPSBwYXRoLnRyYW5zbGF0ZSh2YWx1ZSkKZW5kCnAudygnPCVzPiVzPC8lcz4nLCBkZWYubmFtZSwgdmFsdWUsIGRlZi5uYW1lKQplbmQKZW5kCmVuZApmdW5jdGlvbiBtLmFkZGl0aW9uYWxEZXBlbmRlbmNpZXMocikKbG9jYWwgZGVwcyA9IHRhYmxlLmNvbmNhdChyLmJ1aWxkZGVwZW5kZW5jaWVzLCAiOyIpCnAueCgnPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JXM8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JywgZGVwcykKZW5kCmZ1bmN0aW9uIG0uYWZ0ZXJUYXJnZXRzKHIpCnAudygnPCVzQWZ0ZXJUYXJnZXRzPkN1c3RvbUJ1aWxkPC8lc0FmdGVyVGFyZ2V0cz4nLCByLm5hbWUsIHIubmFtZSkKZW5kCmZ1bmN0aW9uIG0uYmVmb3JlVGFyZ2V0cyhyKQpwLncoJzwlc0JlZm9yZVRhcmdldHM+TWlkbDwvJXNCZWZvcmVUYXJnZXRzPicsIHIubmFtZSwgci5uYW1lKQplbmQKZnVuY3Rpb24gbS5jb21tYW5kTGluZVRlbXBsYXRlcyhyKQpsb2NhbCBlbnYgPSBwLnJ1bGUuY3JlYXRlRW52aXJvbm1lbnQociwgIlslc10iKQpsb2NhbCBjdHggPSBwLmNvbnRleHQuZXh0ZW50KHIsIGVudikKbG9jYWwgYnVpbGRjb21tYW5kcyA9IGN0eC5idWlsZGNvbW1hbmRzCmlmIGJ1aWxkY29tbWFuZHMgYW5kICNidWlsZGNvbW1hbmRzID4gMCB0aGVuCmxvY2FsIGNtZHMgPSBvcy50cmFuc2xhdGVDb21tYW5kcyhidWlsZGNvbW1hbmRzLCBwLldJTkRPV1MpCmNtZHMgPSB0YWJsZS5jb25jYXQoY21kcywgcC5lb2woKSkKcC54KCc8Q29tbWFuZExpbmVUZW1wbGF0ZT4lczwvQ29tbWFuZExpbmVUZW1wbGF0ZT4nLCBjbWRzKQplbmQKZW5kCmZ1bmN0aW9uIG0uZGVwZW5kc09uKHIpCnAudygnPCVzRGVwZW5kc09uJywgci5uYW1lKQpwLncoJyAgQ29uZGl0aW9uPSJcJyQoQ29uZmlndXJhdGlvblR5cGUpXCcgIT0gXCdNYWtlZmlsZVwnIj5fU2VsZWN0ZWRGaWxlczskKCVzRGVwZW5kc09uKTwvJXNEZXBlbmRzT24+JywKci5uYW1lLCByLm5hbWUsIHIubmFtZSkKZW5kCmZ1bmN0aW9uIG0uZXhlY3V0aW9uRGVzY3JpcHRpb24ocikKbG9jYWwgZW52ID0gcC5ydWxlLmNyZWF0ZUVudmlyb25tZW50KHIsICIlJSglcykiKQpsb2NhbCBjdHggPSBwLmNvbnRleHQuZXh0ZW50KHIsIGVudikKbG9jYWwgYnVpbGRtZXNzYWdlID0gY3R4LmJ1aWxkbWVzc2FnZQppZiBidWlsZG1lc3NhZ2UgYW5kICNidWlsZG1lc3NhZ2UgPiAwIHRoZW4KcC54KCc8RXhlY3V0aW9uRGVzY3JpcHRpb24+JXM8L0V4ZWN1dGlvbkRlc2NyaXB0aW9uPicsIGJ1aWxkbWVzc2FnZSkKZW5kCmVuZAoAAAAAAGxvY2FsIHAgPSBwcmVtYWtlCnAuY29uZmlnc2V0ID0ge30KbG9jYWwgY29uZmlnc2V0ID0gcC5jb25maWdzZXQKbG9jYWwgY3JpdGVyaWEgPSBwLmNyaXRlcmlhCmZ1bmN0aW9uIGNvbmZpZ3NldC5uZXcocGFyZW50KQpsb2NhbCBjc2V0ID0ge30KY3NldC5wYXJlbnQgPSBwYXJlbnQKY3NldC5ibG9ja3MgPSB7fQpjc2V0LmN1cnJlbnQgPSBuaWwKY3NldC5jb21waWxlZCA9IGZhbHNlCnJldHVybiBjc2V0CmVuZApmdW5jdGlvbiBjb25maWdzZXQuZmV0Y2goY3NldCwgZmllbGQsIGZpbHRlciwgY3R4LCBvcmlnaW4pCmZpbHRlciA9IGZpbHRlciBvciB7fQpjdHggPSBjdHggb3Ige30KaWYgcC5maWVsZC5tZXJnZXMoZmllbGQpIHRoZW4KcmV0dXJuIGNvbmZpZ3NldC5fZmV0Y2hNZXJnZWQoY3NldCwgZmllbGQsIGZpbHRlciwgY3R4LCBvcmlnaW4pCmVsc2UKcmV0dXJuIGNvbmZpZ3NldC5fZmV0Y2hEaXJlY3QoY3NldCwgZmllbGQsIGZpbHRlciwgY3R4LCBvcmlnaW4pCmVuZAplbmQKZnVuY3Rpb24gY29uZmlnc2V0Ll9kb2ZpbHRlcihjc2V0LCBibG9jaywgZmlsdGVyKQppZiBub3QgZmlsdGVyLm1hdGNoZXIgdGhlbgpyZXR1cm4gKGNzZXQuY29tcGlsZWQgb3IgY3JpdGVyaWEubWF0Y2hlcyhibG9jay5fY3JpdGVyaWEsIGZpbHRlcikpCmVsc2UKcmV0dXJuIGZpbHRlci5tYXRjaGVyKGNzZXQsIGJsb2NrLCBmaWx0ZXIpCmVuZAplbmQKZnVuY3Rpb24gY29uZmlnc2V0Ll9mZXRjaERpcmVjdChjc2V0LCBmaWVsZCwgZmlsdGVyLCBjdHgsIG9yaWdpbikKaWYgb3JpZ2luIGFuZCBvcmlnaW4gfj0gY3NldCBhbmQgbm90IG9yaWdpbi5jb21waWxlZCB0aGVuCnJldHVybiBjb25maWdzZXQuX2ZldGNoRGlyZWN0KG9yaWdpbiwgZmllbGQsIGZpbHRlciwgY3R4LCBvcmlnaW4pCmVuZApsb2NhbCBhYnNwYXRoID0gZmlsdGVyLmZpbGVzCmxvY2FsIGJhc2VkaXIKbG9jYWwga2V5ID0gZmllbGQubmFtZQpsb2NhbCBibG9ja3MgPSBjc2V0LmJsb2Nrcwpsb2NhbCBuID0gI2Jsb2Nrcwpmb3IgaSA9IG4sIDEsIC0xIGRvCmxvY2FsIGJsb2NrID0gYmxvY2tzW2ldCmlmIG5vdCBvcmlnaW4gb3IgYmxvY2suX29yaWdpbiA9PSBvcmlnaW4gdGhlbgpsb2NhbCB2YWx1ZSA9IGJsb2NrW2tleV0KaWYgdmFsdWUgfj0gbmlsIGFuZCBhYnNwYXRoIGFuZCBub3QgY3NldC5jb21waWxlZCBhbmQgYmxvY2suX2Jhc2VkaXIgYW5kIGJsb2NrLl9iYXNlZGlyIH49IGJhc2VkaXIgdGhlbgpiYXNlZGlyID0gYmxvY2suX2Jhc2VkaXIKZmlsdGVyLmZpbGVzID0gcGF0aC5nZXRyZWxhdGl2ZShiYXNlZGlyLCBhYnNwYXRoKQplbmQKaWYgdmFsdWUgfj0gbmlsIGFuZCBjb25maWdzZXQuX2RvZmlsdGVyKGNzZXQsIGJsb2NrLCBmaWx0ZXIpIHRoZW4KaWYgdHlwZSh2YWx1ZSkgPT0gInRhYmxlIiB0aGVuCnZhbHVlID0gdGFibGUuZGVlcGNvcHkodmFsdWUpCmVuZAppZiBmaWVsZC50b2tlbnMgYW5kIGN0eC5lbnZpcm9uIHRoZW4KdmFsdWUgPSBwLmRldG9rZW4uZXhwYW5kKHZhbHVlLCBjdHguZW52aXJvbiwgZmllbGQsIGN0eC5fYmFzZWRpcikKZW5kCnJldHVybiB2YWx1ZQplbmQKZW5kCmVuZApmaWx0ZXIuZmlsZXMgPSBhYnNwYXRoCmlmIGNzZXQucGFyZW50IHRoZW4KcmV0dXJuIGNvbmZpZ3NldC5fZmV0Y2hEaXJlY3QoY3NldC5wYXJlbnQsIGZpZWxkLCBmaWx0ZXIsIGN0eCwgb3JpZ2luKQplbmQKZW5kCmZ1bmN0aW9uIGNvbmZpZ3NldC5fZmV0Y2hNZXJnZWQoY3NldCwgZmllbGQsIGZpbHRlciwgY3R4LCBvcmlnaW4pCmlmIG9yaWdpbiBhbmQgb3JpZ2luIH49IGNzZXQgYW5kIG5vdCBvcmlnaW4uY29tcGlsZWQgdGhlbgpyZXR1cm4gY29uZmlnc2V0Ll9mZXRjaE1lcmdlZChvcmlnaW4sIGZpZWxkLCBmaWx0ZXIsIGN0eCwgb3JpZ2luKQplbmQKbG9jYWwgcmVzdWx0ID0ge30KbG9jYWwgZnVuY3Rpb24gcmVtb3ZlKHBhdHRlcm5zKQpmb3IgXywgcGF0dGVybiBpbiBpcGFpcnMocGF0dGVybnMpIGRvCmlmIGZpZWxkLnRva2VucyBhbmQgY3R4LmVudmlyb24gdGhlbgpwYXR0ZXJuID0gcC5kZXRva2VuLmV4cGFuZChwYXR0ZXJuLCBjdHguZW52aXJvbiwgZmllbGQsIGN0eC5fYmFzZWRpcikKZW5kCnBhdHRlcm4gPSBwYXRoLndpbGRjYXJkcyhwYXR0ZXJuKTpsb3dlcigpCmxvY2FsIGogPSAxCndoaWxlIGogPD0gI3Jlc3VsdCBkbwpsb2NhbCB2YWx1ZSA9IHJlc3VsdFtqXTpsb3dlcigpCmlmIHZhbHVlOm1hdGNoKHBhdHRlcm4pID09IHZhbHVlIHRoZW4KcmVzdWx0W3Jlc3VsdFtqXV0gPSBuaWwKdGFibGUucmVtb3ZlKHJlc3VsdCwgaikKZWxzZQpqID0gaiArIDEKZW5kCmVuZAplbmQKZW5kCmlmIGNzZXQucGFyZW50IHRoZW4KcmVzdWx0ID0gY29uZmlnc2V0Ll9mZXRjaE1lcmdlZChjc2V0LnBhcmVudCwgZmllbGQsIGZpbHRlciwgY3R4LCBvcmlnaW4pCmVuZApsb2NhbCBhYnNwYXRoID0gZmlsdGVyLmZpbGVzCmxvY2FsIGJhc2VkaXIKbG9jYWwga2V5ID0gZmllbGQubmFtZQpsb2NhbCBibG9ja3MgPSBjc2V0LmJsb2Nrcwpsb2NhbCBuID0gI2Jsb2Nrcwpmb3IgaSA9IDEsIG4gZG8KbG9jYWwgYmxvY2sgPSBibG9ja3NbaV0KaWYgbm90IG9yaWdpbiBvciBibG9jay5fb3JpZ2luID09IG9yaWdpbiB0aGVuCmlmIGFic3BhdGggYW5kIGJsb2NrLl9iYXNlZGlyIGFuZCBibG9jay5fYmFzZWRpciB+PSBiYXNlZGlyIGFuZCBub3QgY3NldC5jb21waWxlZCB0aGVuCmJhc2VkaXIgPSBibG9jay5fYmFzZWRpcgpmaWx0ZXIuZmlsZXMgPSBwYXRoLmdldHJlbGF0aXZlKGJhc2VkaXIsIGFic3BhdGgpCmVuZAppZiBjb25maWdzZXQuX2RvZmlsdGVyKGNzZXQsIGJsb2NrLCBmaWx0ZXIpIHRoZW4KaWYgYmxvY2suX3JlbW92ZXMgYW5kIGJsb2NrLl9yZW1vdmVzW2tleV0gdGhlbgpyZW1vdmUoYmxvY2suX3JlbW92ZXNba2V5XSkKZW5kCmxvY2FsIHZhbHVlID0gYmxvY2tba2V5XQppZiB0eXBlKHZhbHVlKSA9PSAidGFibGUiIHRoZW4KdmFsdWUgPSB0YWJsZS5kZWVwY29weSh2YWx1ZSkKZW5kCmlmIHZhbHVlIHRoZW4KaWYgZmllbGQudG9rZW5zIGFuZCBjdHguZW52aXJvbiB0aGVuCnZhbHVlID0gcC5kZXRva2VuLmV4cGFuZCh2YWx1ZSwgY3R4LmVudmlyb24sIGZpZWxkLCBjdHguX2Jhc2VkaXIpCmVuZAppZiBmaWVsZCBhbmQgcC5maWVsZC50cmFuc2xhdGVzKGZpZWxkKSB0aGVuCnZhbHVlID0gcC5maWVsZC50cmFuc2xhdGUoZmllbGQsIHZhbHVlKQplbmQKcmVzdWx0ID0gcC5maWVsZC5tZXJnZShmaWVsZCwgcmVzdWx0LCB2YWx1ZSkKZW5kCmVuZAplbmQKZW5kCmZpbHRlci5maWxlcyA9IGFic3BhdGgKcmV0dXJuIHJlc3VsdAplbmQKZnVuY3Rpb24gY29uZmlnc2V0Lm1ldGF0YWJsZShjc2V0KQpyZXR1cm4gewpfX25ld2luZGV4ID0gZnVuY3Rpb24odGJsLCBrZXksIHZhbHVlKQpsb2NhbCBmID0gcC5maWVsZC5nZXQoa2V5KQppZiBmIHRoZW4KbG9jYWwgc3RhdHVzLCBlcnIgPSBjb25maWdzZXQuc3RvcmUoY3NldCwgZiwgdmFsdWUpCmlmIGVyciB0aGVuCmVycm9yKGVyciwgMikKZW5kCmVsc2UKcmF3c2V0KHRibCwga2V5LCB2YWx1ZSkKcmV0dXJuIHZhbHVlCmVuZAplbmQsCl9faW5kZXggPSBmdW5jdGlvbih0YmwsIGtleSkKbG9jYWwgZiA9IHAuZmllbGQuZ2V0KGtleSkKaWYgZiB0aGVuCnJldHVybiBjb25maWdzZXQuZmV0Y2goY3NldCwgZikKZWxzZQpyZXR1cm4gbmlsCmVuZAplbmQKfQplbmQKZnVuY3Rpb24gY29uZmlnc2V0LmFkZGJsb2NrKGNzZXQsIHRlcm1zLCBiYXNlZGlyKQpjb25maWdzZXQuYWRkRmlsdGVyKGNzZXQsIHRlcm1zLCBiYXNlZGlyLCB0cnVlKQpyZXR1cm4gY3NldC5jdXJyZW50CmVuZApmdW5jdGlvbiBjb25maWdzZXQuYWRkRmlsdGVyKGNzZXQsIHRlcm1zLCBiYXNlZGlyLCB1bnByZWZpeGVkKQpsb2NhbCBjcml0LCBlcnIgPSBjcml0ZXJpYS5uZXcodGVybXMsIHVucHJlZml4ZWQpCmlmIG5vdCBjcml0IHRoZW4KcmV0dXJuIG5pbCwgZXJyCmVuZApsb2NhbCBibG9jayA9IHt9CmJsb2NrLl9jcml0ZXJpYSA9IGNyaXQKYmxvY2suX29yaWdpbiA9IGNzZXQKaWYgYmFzZWRpciB0aGVuCmJsb2NrLl9iYXNlZGlyID0gYmFzZWRpcjpsb3dlcigpCmVuZAp0YWJsZS5pbnNlcnQoY3NldC5ibG9ja3MsIGJsb2NrKQpjc2V0LmN1cnJlbnQgPSBibG9jawpyZXR1cm4gdHJ1ZQplbmQKZnVuY3Rpb24gY29uZmlnc2V0LmdldEZpbHRlcihjc2V0KQpyZXR1cm4gewpfY3JpdGVyaWEgPSBjc2V0LmN1cnJlbnQuX2NyaXRlcmlhLApfYmFzZWRpciA9IGNzZXQuY3VycmVudC5fYmFzZWRpcgp9CmVuZApmdW5jdGlvbiBjb25maWdzZXQuc2V0RmlsdGVyKGNzZXQsIGZpbHRlcikKbG9jYWwgYmxvY2sgPSB7fQpibG9jay5fY3JpdGVyaWEgPSBmaWx0ZXIuX2NyaXRlcmlhCmJsb2NrLl9iYXNlZGlyID0gZmlsdGVyLl9iYXNlZGlyCmJsb2NrLl9vcmlnaW4gPSBjc2V0CnRhYmxlLmluc2VydChjc2V0LmJsb2NrcywgYmxvY2spCmNzZXQuY3VycmVudCA9IGJsb2NrOwplbmQKZnVuY3Rpb24gY29uZmlnc2V0LnN0b3JlKGNzZXQsIGZpZWxkLCB2YWx1ZSkKaWYgbm90IGNzZXQuY3VycmVudCB0aGVuCmNvbmZpZ3NldC5hZGRibG9jayhjc2V0LCB7fSkKZW5kCmxvY2FsIGtleSA9IGZpZWxkLm5hbWUKbG9jYWwgY3VycmVudCA9IGNzZXQuY3VycmVudApsb2NhbCBzdGF0dXMsIHJlc3VsdCA9IHBjYWxsKGZ1bmN0aW9uICgpCmN1cnJlbnRba2V5XSA9IHAuZmllbGQuc3RvcmUoZmllbGQsIGN1cnJlbnRba2V5XSwgdmFsdWUpCmVuZCkKaWYgbm90IHN0YXR1cyB0aGVuCmlmIHR5cGUocmVzdWx0KSA9PSAidGFibGUiIHRoZW4KcmVzdWx0ID0gcmVzdWx0Lm1zZwplbmQKcmV0dXJuIG5pbCwgcmVzdWx0CmVuZApyZXR1cm4gdHJ1ZQplbmQKZnVuY3Rpb24gY29uZmlnc2V0LnJlbW92ZShjc2V0LCBmaWVsZCwgdmFsdWVzKQpsb2NhbCBibG9jayA9IHt9CmJsb2NrLl9iYXNlZGlyID0gY3NldC5jdXJyZW50Ll9iYXNlZGlyCmJsb2NrLl9jcml0ZXJpYSA9IGNzZXQuY3VycmVudC5fY3JpdGVyaWEKYmxvY2suX29yaWdpbiA9IGNzZXQKdGFibGUuaW5zZXJ0KGNzZXQuYmxvY2tzLCBibG9jaykKY3NldC5jdXJyZW50ID0gYmxvY2sKdmFsdWVzID0gcC5maWVsZC5yZW1vdmUoZmllbGQsIHt9LCB2YWx1ZXMpCmN1cnJlbnQgPSBjc2V0LmN1cnJlbnQKY3VycmVudC5fcmVtb3ZlcyA9IHt9CmN1cnJlbnQuX3JlbW92ZXNbZmllbGQubmFtZV0gPSB2YWx1ZXMKZW5kCmZ1bmN0aW9uIGNvbmZpZ3NldC5lbXB0eShjc2V0KQpyZXR1cm4gKCNjc2V0LmJsb2NrcyA9PSAwKQplbmQKZnVuY3Rpb24gY29uZmlnc2V0LmNvbXBpbGUoY3NldCwgZmlsdGVyKQpsb2NhbCByZXN1bHQKaWYgY3NldC5wYXJlbnQgdGhlbgpyZXN1bHQgPSBjb25maWdzZXQuY29tcGlsZShjc2V0LnBhcmVudCwgZmlsdGVyKQplbHNlCnJlc3VsdCA9IGNvbmZpZ3NldC5uZXcoKQplbmQKbG9jYWwgYmxvY2tzID0gY3NldC5ibG9ja3MKbG9jYWwgbiA9ICNibG9ja3MKbG9jYWwgYWJzcGF0aCA9IGZpbHRlci5maWxlcwpsb2NhbCBiYXNlZGlyCmZvciBpID0gMSwgbiBkbwpsb2NhbCBibG9jayA9IGJsb2Nrc1tpXQppZiBibG9jay5fb3JpZ2luID09IGNzZXQgdGhlbgpibG9jay5fb3JpZ2luID0gcmVzdWx0CmVuZAppZiBhYnNwYXRoIGFuZCBibG9jay5fYmFzZWRpciBhbmQgYmxvY2suX2Jhc2VkaXIgfj0gYmFzZWRpciB0aGVuCmJhc2VkaXIgPSBibG9jay5fYmFzZWRpcgpmaWx0ZXIuZmlsZXMgPSBwYXRoLmdldHJlbGF0aXZlKGJhc2VkaXIsIGFic3BhdGgpCmVuZAppZiBjcml0ZXJpYS5tYXRjaGVzKGJsb2NrLl9jcml0ZXJpYSwgZmlsdGVyKSB0aGVuCnRhYmxlLmluc2VydChyZXN1bHQuYmxvY2tzLCBibG9jaykKZW5kCmVuZApmaWx0ZXIuZmlsZXMgPSBhYnNwYXRoCnJlc3VsdC5jb21waWxlZCA9IHRydWUKcmV0dXJuIHJlc3VsdAplbmQKbG9jYWwgcCA9IHByZW1ha2UKbG9jYWwgbWFrZSA9IHAubWFrZQpsb2NhbCB0cmVlID0gcC50cmVlCmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKZnVuY3Rpb24gbWFrZS5nZW5lcmF0ZV93b3Jrc3BhY2Uod2tzKQpwLmVvbCgiXG4iKQptYWtlLmhlYWRlcih3a3MpCm1ha2UuY29uZmlnbWFwKHdrcykKbWFrZS5wcm9qZWN0cyh3a3MpCm1ha2Uud29ya3NwYWNlUGhvbnlSdWxlKHdrcykKbWFrZS5ncm91cFJ1bGVzKHdrcykKbWFrZS5wcm9qZWN0cnVsZXMod2tzKQptYWtlLmNsZWFucnVsZXMod2tzKQptYWtlLmhlbHBydWxlKHdrcykKZW5kCmZ1bmN0aW9uIG1ha2UuY29uZmlnbWFwKHdrcykKZm9yIGNmZyBpbiBwLndvcmtzcGFjZS5lYWNoY29uZmlnKHdrcykgZG8KX3AoJ2lmZXEgKCQoY29uZmlnKSwlcyknLCBjZmcuc2hvcnRuYW1lKQpmb3IgcHJqIGluIHAud29ya3NwYWNlLmVhY2hwcm9qZWN0KHdrcykgZG8KbG9jYWwgcHJqY2ZnID0gcHJvamVjdC5nZXRjb25maWcocHJqLCBjZmcuYnVpbGRjZmcsIGNmZy5wbGF0Zm9ybSkKaWYgcHJqY2ZnIHRoZW4KX3AoJyAgJXNfY29uZmlnID0gJXMnLCBtYWtlLnRvdmFyKHByai5uYW1lKSwgcHJqY2ZnLnNob3J0bmFtZSkKZW5kCmVuZApfcCgnZW5kaWYnKQplbmQKX3AoJycpCmVuZApmdW5jdGlvbiBtYWtlLmNsZWFucnVsZXMod2tzKQpfcCgnY2xlYW46JykKZm9yIHByaiBpbiBwLndvcmtzcGFjZS5lYWNocHJvamVjdCh3a3MpIGRvCmxvY2FsIHByanBhdGggPSBwLmZpbGVuYW1lKHByaiwgbWFrZS5nZXRtYWtlZmlsZW5hbWUocHJqLCB0cnVlKSkKbG9jYWwgcHJqZGlyID0gcGF0aC5nZXRkaXJlY3RvcnkocGF0aC5nZXRyZWxhdGl2ZSh3a3MubG9jYXRpb24sIHByanBhdGgpKQpsb2NhbCBwcmpuYW1lID0gcGF0aC5nZXRuYW1lKHByanBhdGgpCl94KDEsJ0Ake01BS0V9IC0tbm8tcHJpbnQtZGlyZWN0b3J5IC1DICVzIC1mICVzIGNsZWFuJywgcHJqZGlyLCBwcmpuYW1lKQplbmQKX3AoJycpCmVuZApmdW5jdGlvbiBtYWtlLmhlbHBydWxlKHdrcykKX3AoJ2hlbHA6JykKX3AoMSwnQGVjaG8gIlVzYWdlOiBtYWtlIFtjb25maWc9bmFtZV0gW3RhcmdldF0iJykKX3AoMSwnQGVjaG8gIiInKQpfcCgxLCdAZWNobyAiQ09ORklHVVJBVElPTlM6IicpCmZvciBjZmcgaW4gcC53b3Jrc3BhY2UuZWFjaGNvbmZpZyh3a3MpIGRvCl94KDEsICdAZWNobyAiICAlcyInLCBjZmcuc2hvcnRuYW1lKQplbmQKX3AoMSwnQGVjaG8gIiInKQpfcCgxLCdAZWNobyAiVEFSR0VUUzoiJykKX3AoMSwnQGVjaG8gIiAgIGFsbCAoZGVmYXVsdCkiJykKX3AoMSwnQGVjaG8gIiAgIGNsZWFuIicpCmZvciBwcmogaW4gcC53b3Jrc3BhY2UuZWFjaHByb2plY3Qod2tzKSBkbwpfcCgxLCdAZWNobyAiICAgJXMiJywgcHJqLm5hbWUpCmVuZApfcCgxLCdAZWNobyAiIicpCl9wKDEsJ0BlY2hvICJGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9wcmVtYWtlL3ByZW1ha2UtY29yZS93aWtpIicpCmVuZApmdW5jdGlvbiBtYWtlLnByb2plY3RzKHdrcykKX3AoJ1BST0pFQ1RTIDo9ICVzJywgdGFibGUuY29uY2F0KHAuZXNjKHRhYmxlLmV4dHJhY3Qod2tzLnByb2plY3RzLCAibmFtZSIpKSwgIiAiKSkKX3AoJycpCmVuZApmdW5jdGlvbiBtYWtlLndvcmtzcGFjZVBob255UnVsZSh3a3MpCmxvY2FsIGdyb3VwcyA9IHt9CmxvY2FsIHRyID0gcC53b3Jrc3BhY2UuZ3JvdXB0cmVlKHdrcykKdHJlZS50cmF2ZXJzZSh0ciwgewpvbmJyYW5jaCA9IGZ1bmN0aW9uKG4pCnRhYmxlLmluc2VydChncm91cHMsIG4ucGF0aCkKZW5kCn0pCl9wKCcuUEhPTlk6IGFsbCBjbGVhbiBoZWxwICQoUFJPSkVDVFMpICcgLi4gdGFibGUuaW1wbG9kZShncm91cHMsICcnLCAnJywgJyAnKSkKX3AoJycpCl9wKCdhbGw6ICQoUFJPSkVDVFMpJykKX3AoJycpCmVuZApmdW5jdGlvbiBtYWtlLmdyb3VwUnVsZXMod2tzKQpsb2NhbCB0ciA9IHAud29ya3NwYWNlLmdyb3VwdHJlZSh3a3MpCnRyZWUudHJhdmVyc2UodHIsIHsKb25icmFuY2ggPSBmdW5jdGlvbihuKQpsb2NhbCBydWxlID0gbi5wYXRoIC4uICI6Igpsb2NhbCBwcm9qZWN0VGFyZ2V0cyA9IHt9CmxvY2FsIGdyb3VwVGFyZ2V0cyA9IHt9CmZvciBpLCBjIGluIHBhaXJzKG4uY2hpbGRyZW4pCmRvCmlmIHR5cGUoaSkgPT0gInN0cmluZyIKdGhlbgppZiBjLnByb2plY3QKdGhlbgp0YWJsZS5pbnNlcnQocHJvamVjdFRhcmdldHMsIGMubmFtZSkKZWxzZQp0YWJsZS5pbnNlcnQoZ3JvdXBUYXJnZXRzLCBjLnBhdGgpCmVuZAplbmQKZW5kCmlmICNncm91cFRhcmdldHMgPiAwIHRoZW4KdGFibGUuc29ydChncm91cFRhcmdldHMpCnJ1bGUgPSBydWxlIC4uICIgIiAuLiB0YWJsZS5jb25jYXQoZ3JvdXBUYXJnZXRzLCAiICIpCmVuZAppZiAjcHJvamVjdFRhcmdldHMgPiAwIHRoZW4KdGFibGUuc29ydChwcm9qZWN0VGFyZ2V0cykKcnVsZSA9IHJ1bGUgLi4gIiAiIC4uIHRhYmxlLmNvbmNhdChwcm9qZWN0VGFyZ2V0cywgIiAiKQplbmQKX3AocnVsZSkKX3AoJycpCmVuZAp9KQplbmQKZnVuY3Rpb24gbWFrZS5wcm9qZWN0cnVsZXMod2tzKQpmb3IgcHJqIGluIHAud29ya3NwYWNlLmVhY2hwcm9qZWN0KHdrcykgZG8KbG9jYWwgZGVwcyA9IHByb2plY3QuZ2V0ZGVwZW5kZW5jaWVzKHByaikKZGVwcyA9IHRhYmxlLmV4dHJhY3QoZGVwcywgIm5hbWUiKQpfcCgnJXM6JXMnLCBwLmVzYyhwcmoubmFtZSksIG1ha2UubGlzdChkZXBzKSkKbG9jYWwgY2ZndmFyID0gbWFrZS50b3ZhcihwcmoubmFtZSkKX3AoJ2lmbmVxICgsJCglc19jb25maWcpKScsIGNmZ3ZhcikKX3AoMSwnQGVjaG8gIj09PT0gQnVpbGRpbmcgJXMgKCQoJXNfY29uZmlnKSkgPT09PSInLCBwcmoubmFtZSwgY2ZndmFyKQpsb2NhbCBwcmpwYXRoID0gcC5maWxlbmFtZShwcmosIG1ha2UuZ2V0bWFrZWZpbGVuYW1lKHByaiwgdHJ1ZSkpCmxvY2FsIHByamRpciA9IHBhdGguZ2V0ZGlyZWN0b3J5KHBhdGguZ2V0cmVsYXRpdmUod2tzLmxvY2F0aW9uLCBwcmpwYXRoKSkKbG9jYWwgcHJqbmFtZSA9IHBhdGguZ2V0bmFtZShwcmpwYXRoKQpfeCgxLCdAJHtNQUtFfSAtLW5vLXByaW50LWRpcmVjdG9yeSAtQyAlcyAtZiAlcyBjb25maWc9JCglc19jb25maWcpJywgcHJqZGlyLCBwcmpuYW1lLCBjZmd2YXIpCl9wKCdlbmRpZicpCl9wKCcnKQplbmQKZW5kCgAAbG9jYWwgcCA9IHByZW1ha2UKcC5sYW5ndWFnZXMgPSB7fQpmdW5jdGlvbiBwLmxhbmd1YWdlcy5pc2ModmFsdWUpCnJldHVybiB2YWx1ZSA9PSAiQyI7CmVuZApmdW5jdGlvbiBwLmxhbmd1YWdlcy5pc2NwcCh2YWx1ZSkKcmV0dXJuIHZhbHVlID09ICJDKysiOwplbmQKZnVuY3Rpb24gcC5sYW5ndWFnZXMuaXNjc2hhcnAodmFsdWUpCnJldHVybiB2YWx1ZSA9PSAiQyMiOwplbmQKZnVuY3Rpb24gcC5sYW5ndWFnZXMuaXNmc2hhcnAodmFsdWUpCnJldHVybiB2YWx1ZSA9PSAiRiMiOwplbmQKAGxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIHZzdHVkaW8gPSBwLnZzdHVkaW8KbmV3YWN0aW9uIHsKdHJpZ2dlciAgICAgPSAidnMyMDE5IiwKc2hvcnRuYW1lICAgPSAiVmlzdWFsIFN0dWRpbyAyMDE5IiwKZGVzY3JpcHRpb24gPSAiR2VuZXJhdGUgVmlzdWFsIFN0dWRpbyAyMDE5IHByb2plY3QgZmlsZXMiLAp0YXJnZXRvcyA9ICJ3aW5kb3dzIiwKdG9vbHNldCAgPSAibXNjLXYxNDIiLAp2YWxpZF9raW5kcyAgICAgPSB7ICJDb25zb2xlQXBwIiwgIldpbmRvd2VkQXBwIiwgIlN0YXRpY0xpYiIsICJTaGFyZWRMaWIiLCAiTWFrZWZpbGUiLCAiTm9uZSIsICJVdGlsaXR5IiB9LAp2YWxpZF9sYW5ndWFnZXMgPSB7ICJDIiwgIkMrKyIsICJDIyIsICJGIyIgfSwKdmFsaWRfdG9vbHMgICAgID0gewpjYyAgICAgPSB7ICJtc2MiICAgfSwKZG90bmV0ID0geyAibXNuZXQiIH0sCn0sCm9uV29ya3NwYWNlID0gZnVuY3Rpb24od2tzKQpwLnZzdHVkaW8udnMyMDA1LmdlbmVyYXRlU29sdXRpb24od2tzKQplbmQsCm9uUHJvamVjdCA9IGZ1bmN0aW9uKHByaikKcC52c3R1ZGlvLnZzMjAxMC5nZW5lcmF0ZVByb2plY3QocHJqKQplbmQsCm9uUnVsZSA9IGZ1bmN0aW9uKHJ1bGUpCnAudnN0dWRpby52czIwMTAuZ2VuZXJhdGVSdWxlKHJ1bGUpCmVuZCwKb25DbGVhbldvcmtzcGFjZSA9IGZ1bmN0aW9uKHdrcykKcC52c3R1ZGlvLmNsZWFuU29sdXRpb24od2tzKQplbmQsCm9uQ2xlYW5Qcm9qZWN0ID0gZnVuY3Rpb24ocHJqKQpwLnZzdHVkaW8uY2xlYW5Qcm9qZWN0KHByaikKZW5kLApvbkNsZWFuVGFyZ2V0ID0gZnVuY3Rpb24ocHJqKQpwLnZzdHVkaW8uY2xlYW5UYXJnZXQocHJqKQplbmQsCnBhdGhWYXJzID0gdnN0dWRpby52czIwMTAucGF0aFZhcnMsCnZzdHVkaW8gPSB7CnNvbHV0aW9uVmVyc2lvbiA9ICIxMiIsCnZlcnNpb25OYW1lICAgICA9ICIxNiIsCnRhcmdldEZyYW1ld29yayA9ICI0LjcuMiIsCnRvb2xzVmVyc2lvbiAgICA9ICIxNS4wIiwKdXNlclRvb2xzVmVyc2lvbiA9ICJDdXJyZW50IiwKZmlsdGVyVG9vbHNWZXJzaW9uID0gIjQuMCIsCn0KfQoAAAAAAHByZW1ha2UuY2xlYW4gPSB7fQpuZXdhY3Rpb24gewp0cmlnZ2VyICAgICA9ICJjbGVhbiIsCmRlc2NyaXB0aW9uID0gIlJlbW92ZSBhbGwgYmluYXJpZXMgYW5kIGdlbmVyYXRlZCBmaWxlcyIsCmV4ZWN1dGUgPSBmdW5jdGlvbigpCnByaW50KCIqKiBUaGUgY2xlYW4gYWN0aW9uIGhhcyBub3QgeWV0IGJlZW4gcG9ydGVkIikKZW5kCn0KAGxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIF9jYXB0dXJlZApsb2NhbCBfZXNjID0gZnVuY3Rpb24odikgcmV0dXJuIHYgZW5kCmxvY2FsIF9lb2wgPSAiXG4iCmxvY2FsIF9pbmRlbnRTdHJpbmcgPSAiXHQiCmxvY2FsIF9pbmRlbnRMZXZlbCA9IDAKZ2xvYmFsKCJyb290IikKZnVuY3Rpb24gcHJlbWFrZS5jYXB0dXJlKGZuKQpsb2NhbCBvbGQgPSBfY2FwdHVyZWQKX2NhcHR1cmVkID0gYnVmZmVyZWQubmV3KCkKZm4oKQpsb2NhbCBjYXB0dXJlZCA9IHAuY2FwdHVyZWQoKQpidWZmZXJlZC5jbG9zZShfY2FwdHVyZWQpCl9jYXB0dXJlZCA9IG9sZApyZXR1cm4gY2FwdHVyZWQKZW5kCmZ1bmN0aW9uIHByZW1ha2UuY2FwdHVyZWQoKQppZiBfY2FwdHVyZWQgdGhlbgpyZXR1cm4gYnVmZmVyZWQudG9zdHJpbmcoX2NhcHR1cmVkKQplbHNlCnJldHVybiAiIgplbmQKZW5kCmZ1bmN0aW9uIHByZW1ha2UuZW9sKHMpCl9lb2wgPSBzIG9yIF9lb2wKcmV0dXJuIF9lb2wKZW5kCmZ1bmN0aW9uIHByZW1ha2UuZXNjKHZhbHVlKQppZiB0eXBlKHZhbHVlKSA9PSAidGFibGUiIHRoZW4KbG9jYWwgcmVzdWx0ID0ge30KbG9jYWwgbiA9ICN2YWx1ZQpmb3IgaSA9IDEsIG4gZG8KdGFibGUuaW5zZXJ0KHJlc3VsdCwgcC5lc2ModmFsdWVbaV0pKQplbmQKcmV0dXJuIHJlc3VsdAplbmQKcmV0dXJuIF9lc2ModmFsdWUgb3IgIiIpCmVuZApmdW5jdGlvbiBwcmVtYWtlLmVzY2FwZXIoZnVuYykKX2VzYyA9IGZ1bmMKaWYgbm90IF9lc2MgdGhlbgpfZXNjID0gZnVuY3Rpb24gKHZhbHVlKSByZXR1cm4gdmFsdWUgZW5kCmVuZAplbmQKZnVuY3Rpb24gcHJlbWFrZS5nZW5lcmF0ZShvYmosIGV4dCwgY2FsbGJhY2spCmxvY2FsIG91dHB1dCA9IHAuY2FwdHVyZShmdW5jdGlvbiAoKQpfaW5kZW50TGV2ZWwgPSAwCmNhbGxiYWNrKG9iaikKX2luZGVudExldmVsID0gMAplbmQpCmxvY2FsIGZuID0gcC5maWxlbmFtZShvYmosIGV4dCkKbG9jYWwgZGlyID0gcGF0aC5nZXRkaXJlY3RvcnkoZm4pCmxvY2FsIG9rLCBlcnIgPSBvcy5ta2RpcihkaXIpCmlmIG5vdCBvayB0aGVuCmVycm9yKGVyciwgMCkKZW5kCmxvY2FsIGYsIGVyciA9IG9zLndyaXRlZmlsZV9pZm5vdGVxdWFsKG91dHB1dCwgZm4pOwppZiAoZiA9PSAwKSB0aGVuCnJldHVybiBmYWxzZSAtLSBmaWxlIG5vdCBtb2RpZmllZAplbHNlaWYgKGYgPCAwKSB0aGVuCmVycm9yKGVyciwgMCkKZWxzZWlmIChmID4gMCkgdGhlbgpwcmludGYoIkdlbmVyYXRlZCAlcy4uLiIsIHBhdGguZ2V0cmVsYXRpdmUob3MuZ2V0Y3dkKCksIGZuKSkKcmV0dXJuIHRydWUgLS0gZmlsZSBtb2RpZmllZAplbmQKZW5kCmZ1bmN0aW9uIHByZW1ha2UudG91Y2gob2JqLCBleHQpCmxvY2FsIGZuID0gcHJlbWFrZS5maWxlbmFtZShvYmosIGV4dCkKbG9jYWwgZGlyID0gcGF0aC5nZXRkaXJlY3RvcnkoZm4pCmxvY2FsIG9rLCBlcnIgPSBvcy5ta2RpcihkaXIpCmlmIG5vdCBvayB0aGVuCmVycm9yKGVyciwgMCkKZW5kCmxvY2FsIGYsIGVyciA9IG9zLnRvdWNoZmlsZShmbik7CmlmIChmID09IDApIHRoZW4KcmV0dXJuIGZhbHNlIC0tIGZpbGUgbWFya2VkIGFzIG1vZGlmaWVkCmVsc2VpZiAoZiA8IDApIHRoZW4KZXJyb3IoZXJyLCAwKQplbHNlaWYgKGYgPiAwKSB0aGVuCnJldHVybiB0cnVlIC0tIGZpbGUgY3JlYXRlZAplbmQKZW5kCmZ1bmN0aW9uIHByZW1ha2UuZmlsZW5hbWUob2JqLCBleHQpCmxvY2FsIGZuYW1lID0gb2JqLmxvY2F0aW9uIG9yIG9iai5iYXNlZGlyCmlmIGV4dCBhbmQgbm90IGV4dDpzdGFydHN3aXRoKCIuIikgdGhlbgpmbmFtZSA9IHBhdGguam9pbihmbmFtZSwgZXh0KQplbHNlCmZuYW1lID0gcGF0aC5qb2luKGZuYW1lLCBvYmouZmlsZW5hbWUpCmlmIGV4dCB0aGVuCmZuYW1lID0gZm5hbWUgLi4gZXh0CmVuZAplbmQKcmV0dXJuIHBhdGguZ2V0YWJzb2x1dGUoZm5hbWUpCmVuZApmdW5jdGlvbiBwcmVtYWtlLmluZGVudChzLCBpKQpfaW5kZW50U3RyaW5nID0gcyBvciAiXHQiCl9pbmRlbnRMZXZlbCA9IGkgb3IgMAplbmQKZnVuY3Rpb24gcHJlbWFrZS5vdXQocykKaWYgbm90IF9jYXB0dXJlZCB0aGVuCmlvLndyaXRlKHMpCmVsc2UKYnVmZmVyZWQud3JpdGUoX2NhcHR1cmVkLCBzKQplbmQKZW5kCmZ1bmN0aW9uIHByZW1ha2Uub3V0bG4ocykKcC5vdXQocykKcC5vdXQoX2VvbCBvciAiXG4iKQplbmQKZnVuY3Rpb24gcHJlbWFrZS5wb3AoaSwgLi4uKQppZiBpID09IG5pbCBvciB0eXBlKGkpID09ICJudW1iZXIiIHRoZW4KX2luZGVudExldmVsID0gX2luZGVudExldmVsIC0gKGkgb3IgMSkKZWxzZQpfaW5kZW50TGV2ZWwgPSBfaW5kZW50TGV2ZWwgLSAxCnAudyhpLCAuLi4pCmVuZAplbmQKZnVuY3Rpb24gcHJlbWFrZS5wdXNoKGksIC4uLikKaWYgaSA9PSBuaWwgb3IgdHlwZShpKSA9PSAibnVtYmVyIiB0aGVuCl9pbmRlbnRMZXZlbCA9IF9pbmRlbnRMZXZlbCArIChpIG9yIDEpCmVsc2UKcC53KGksIC4uLikKX2luZGVudExldmVsID0gX2luZGVudExldmVsICsgMQplbmQKZW5kCmZ1bmN0aW9uIHByZW1ha2UucXVvdGVkKHZhbHVlKQpsb2NhbCBxID0gdmFsdWU6ZmluZCgiICIsIDEsIHRydWUpCmlmIG5vdCBxIHRoZW4KcSA9IHZhbHVlOmZpbmQoIiQlKC4tJSkiLCAxKQplbmQKaWYgcSB0aGVuCnZhbHVlID0gJyInIC4uIHZhbHVlIC4uICciJwplbmQKcmV0dXJuIHZhbHVlCmVuZApmdW5jdGlvbiBwLnV0ZjgoKQpwLm91dCgnXDIzOVwxODdcMTkxJykKZW5kCmZ1bmN0aW9uIHByZW1ha2UudyguLi4pCmlmIHNlbGVjdCgiIyIsIC4uLikgPiAwIHRoZW4KcC5vdXRsbihzdHJpbmcucmVwKF9pbmRlbnRTdHJpbmcgb3IgIlx0IiwgX2luZGVudExldmVsKSAuLiBzdHJpbmcuZm9ybWF0KC4uLikpCmVsc2UKcC5vdXRsbignJyk7CmVuZAplbmQKZnVuY3Rpb24gcHJlbWFrZS54KG1zZywgLi4uKQpsb2NhbCBhcmcgPSB7Li4ufQpmb3IgaSA9IDEsICNhcmcgZG8KYXJnW2ldID0gcC5lc2MoYXJnW2ldKQplbmQKcC53KG1zZywgdGFibGUudW5wYWNrKGFyZykpCmVuZApmdW5jdGlvbiBwcmVtYWtlLnhtbFV0ZjgodXBwZXIpCmxvY2FsIGVuY29kaW5nID0gaWlmKHVwcGVyLCAiVVRGLTgiLCAidXRmLTgiKQpwLncoJzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IiVzIj8+JywgZW5jb2RpbmcpCmVuZApmdW5jdGlvbiBfcChpLCAuLi4pCmlmIHR5cGUoaSkgPT0gIm51bWJlciIgdGhlbgpfaW5kZW50TGV2ZWwgPSBpCnAudyguLi4pCmVsc2UKX2luZGVudExldmVsID0gMApwLncoaSwgLi4uKQplbmQKZW5kCmZ1bmN0aW9uIF94KGksIC4uLikKbG9jYWwgYXJnID0gey4uLn0KZm9yIGkgPSAyLCAjYXJnIGRvCmFyZ1tpXSA9IHAuZXNjKGFyZ1tpXSkKZW5kCl9wKGksIHRhYmxlLnVucGFjayhhcmcpKQplbmQKAAAAAABsb2NhbCBwID0gcHJlbWFrZQpsb2NhbCBhbmRyb2lkID0gcC5tb2R1bGVzLmFuZHJvaWQKbG9jYWwgdnNhbmRyb2lkID0gcC5tb2R1bGVzLnZzYW5kcm9pZApsb2NhbCB2c3R1ZGlvID0gcC52c3R1ZGlvCnByZW1ha2Uub3ZlcnJpZGUodnN0dWRpbywgInNvbHV0aW9uUGxhdGZvcm0iLCBmdW5jdGlvbiAob2xkZm4sIGNmZykKbG9jYWwgcGxhdGZvcm0gPSBvbGRmbihjZmcpCmlmIGNmZy5zeXN0ZW0gPT0gcHJlbWFrZS5BTkRST0lEIGFuZCBfQUNUSU9OID49ICJ2czIwMTUiIHRoZW4KaWYgY2ZnLnBsYXRmb3JtID09ICJ4ODYiIHRoZW4KcGxhdGZvcm0gPSAieDg2IgplbmQKZW5kCnJldHVybiBwbGF0Zm9ybQplbmQpCnByZW1ha2Uub3ZlcnJpZGUodnN0dWRpbywgImFyY2hGcm9tQ29uZmlnIiwgZnVuY3Rpb24gKG9sZGZuLCBjZmcsIHdpbjMyKQppZiBjZmcuc3lzdGVtID09IHByZW1ha2UuQU5EUk9JRCBhbmQgX0FDVElPTiA+PSAidnMyMDE1IiB0aGVuCnJldHVybiBvbGRmbihjZmcpCmVuZApyZXR1cm4gb2xkZm4oY2ZnLCB3aW4zMikKZW5kKQoAAAAYulMAILpTACy6UwA0ulMAQLpTADS6UwBIulMAULpTAFy6UwBkulMAcLpTAHi6UwAAAAAAZnVuY3Rpb24gcHJlbWFrZS5kb3dubG9hZE1vZHVsZShtb2RuYW1lLCB2ZXJzaW9ucykKaWYgaHR0cCA9PSBuaWwgdGhlbgpyZXR1cm4gZmFsc2UKZW5kCmxvY2FsIHVzZXIgPSAnVU5LTk9XTicKaWYgb3MuaXNob3N0KCd3aW5kb3dzJykgdGhlbgp1c2VyID0gb3MuZ2V0ZW52KCdVU0VSTkFNRScpIG9yIHVzZXIKZWxzZQp1c2VyID0gb3MuZ2V0ZW52KCdMT0dOQU1FJykgb3IgdXNlcgplbmQKbG9jYWwgc2VydmVyID0gcGFja2FnZS5zZXJ2ZXIgb3IgJ2h0dHA6Ly9wYWNrYWdlc3J2LmNvbSc7CmxvY2FsIHVybCA9ICdhcGkvdjEvbW9kdWxlLycgLi4gaHR0cC5lc2NhcGVVcmxQYXJhbShtb2RuYW1lKQppZiB2ZXJzaW9ucyB0aGVuCnVybCA9IHVybCAuLiAnLycgLi4gaHR0cC5lc2NhcGVVcmxQYXJhbSh2ZXJzaW9ucykKZW5kCmxvY2FsIGNvbnRlbnQsIHJlc3VsdF9zdHIsIHJlc3BvbnNlX2NvZGUgPSBodHRwLmdldChzZXJ2ZXIgLi4gJy8nIC4uIHVybCkKaWYgY29udGVudCB0aGVuCnVybCA9IGNvbnRlbnQKZWxzZQpyZXR1cm4gZmFsc2UKZW5kCmxvY2FsIGxvY2F0aW9uID0gJy5tb2R1bGVzLycgLi4gbW9kbmFtZQpsb2NhbCBkZXN0aW5hdGlvbiA9IGxvY2F0aW9uIC4uICcvdGVtcC56aXAnCm9zLm1rZGlyKGxvY2F0aW9uKQpsb2NhbCByZXN1bHRfc3RyLCByZXNwb25zZV9jb2RlID0gaHR0cC5kb3dubG9hZCh1cmwsIGRlc3RpbmF0aW9uLCB7CmhlYWRlcnMgID0geydYLVByZW1ha2UtVXNlcjogJyAuLiB1c2VyfSwKcHJvZ3Jlc3MgPSBpaWYoX09QVElPTlMudmVyYm9zZSwgaHR0cC5yZXBvcnRQcm9ncmVzcywgbmlsKQp9KQppZiByZXN1bHRfc3RyIH49ICdPSycgdGhlbgpwcmVtYWtlLmVycm9yKCdEb3dubG9hZCBvZiAlcyBmYWlsZWQgKCVkKVxuJXMnLCB1cmwsIHJlc3BvbnNlX2NvZGUsIHJlc3VsdF9zdHIpCmVuZAp2ZXJib3NlZignIFVOWklQICAgOiAlcycsIGRlc3RpbmF0aW9uKQp6aXAuZXh0cmFjdChkZXN0aW5hdGlvbiwgbG9jYXRpb24pCm9zLnJlbW92ZShkZXN0aW5hdGlvbikKcmV0dXJuIHRydWU7CmVuZAoAAABsb2NhbCBwID0gcHJlbWFrZQpwLnZhbGlkYXRpb24gPSB7fQpsb2NhbCBtID0gcC52YWxpZGF0aW9uCm0uZWxlbWVudHMgPSB7fQptLmVsZW1lbnRzLmdsb2JhbCA9IGZ1bmN0aW9uKGdsYikKcmV0dXJuIHsKfQplbmQKZnVuY3Rpb24gcC5nbG9iYWwudmFsaWRhdGUoc2VsZikKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5nbG9iYWwsIHNlbGYpCnAuY29udGFpbmVyLnZhbGlkYXRlQ2hpbGRyZW4oc2VsZikKZW5kCm0uZWxlbWVudHMud29ya3NwYWNlID0gZnVuY3Rpb24od2tzKQpyZXR1cm4gewptLndvcmtzcGFjZUhhc0NvbmZpZ3MsCm0udW5pcXVlUHJvamVjdElkcywKfQplbmQKZnVuY3Rpb24gcC53b3Jrc3BhY2UudmFsaWRhdGUoc2VsZikKcC5jYWxsQXJyYXkobS5lbGVtZW50cy53b3Jrc3BhY2UsIHNlbGYpCnAuY29udGFpbmVyLnZhbGlkYXRlQ2hpbGRyZW4oc2VsZikKZW5kCm0uZWxlbWVudHMucHJvamVjdCA9IGZ1bmN0aW9uKHByaikKcmV0dXJuIHsKbS5wcm9qZWN0SGFzTGFuZ3VhZ2UsCm0uYWN0aW9uU3VwcG9ydHNMYW5ndWFnZSwKbS5hY3Rpb25TdXBwb3J0c0tpbmQsCm0ucHJvamVjdFJ1bGVzRXhpc3QsCm0ucHJvamVjdFZhbHVlc0luU2NvcGUsCn0KZW5kCmZ1bmN0aW9uIHAucHJvamVjdC52YWxpZGF0ZShzZWxmKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLnByb2plY3QsIHNlbGYpCmZvciBjZmcgaW4gcC5wcm9qZWN0LmVhY2hjb25maWcoc2VsZikgZG8KcC5jb25maWcudmFsaWRhdGUoY2ZnKQplbmQKZW5kCm0uZWxlbWVudHMuY29uZmlnID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4gewptLmNvbmZpZ0hhc0tpbmQsCm0uY29uZmlnU3VwcG9ydHNLaW5kLAptLmNvbmZpZ1ZhbHVlc0luU2NvcGUsCn0KZW5kCmZ1bmN0aW9uIHAuY29uZmlnLnZhbGlkYXRlKHNlbGYpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMuY29uZmlnLCBzZWxmKQplbmQKbS5lbGVtZW50cy5ydWxlID0gZnVuY3Rpb24ocnVsZSkKcmV0dXJuIHsKfQplbmQKZnVuY3Rpb24gcC5ydWxlLnZhbGlkYXRlKHNlbGYpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMucnVsZSwgc2VsZikKZW5kCmZ1bmN0aW9uIHAuY29uZmlnLnZhbGlkYXRlU2NvcGVzKHNlbGYsIGNvbnRhaW5lciwgZXhwZWN0ZWQpCmZvciBmIGluIHAuZmllbGQuZWFjaCgpIGRvCmxvY2FsIHNjb3BlCmZvciBpID0gMSwgI2Yuc2NvcGVzIGRvCmlmIGYuc2NvcGVzW2ldID09ICJjb25maWciIG9yIHAuY29udGFpbmVyLmNsYXNzSXNBKGNvbnRhaW5lci5jbGFzcywgZi5zY29wZXNbaV0pIHRoZW4Kc2NvcGUgPSBmLnNjb3Blc1tpXQpicmVhawplbmQKZW5kCmxvY2FsIG9rYXkgPSAobm90IHNjb3BlIG9yIHNjb3BlID09ICJjb25maWciKQpva2F5ID0gb2theSBvciBzY29wZSA9PSBleHBlY3RlZApva2F5ID0gb2theSBvciBwLm92ZW4uYnViYmxlZEZpZWxkc1tmLm5hbWVdCm9rYXkgPSBva2F5IG9yIHAuZmllbGQuY29tcGFyZShmLCBzZWxmW3Njb3BlXVtmLm5hbWVdLCBzZWxmW2YubmFtZV0pCmlmIG5vdCBva2F5IHRoZW4KbG9jYWwga2V5ID0gInZhbGlkYXRlLiIgLi4gZi5uYW1lCnAud2Fybk9uY2Uoa2V5LCAiJyVzJyBvbiAlcyAnJXMnIGRpZmZlcnMgZnJvbSAlcyAnJXMnOyBtYXkgYmUgc2V0IG91dCBvZiBzY29wZSIsIGYubmFtZSwgZXhwZWN0ZWQsIHNlbGYubmFtZSwgc2NvcGUsIHNlbGZbc2NvcGVdLm5hbWUpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0uYWN0aW9uU3VwcG9ydHNLaW5kKHByaikKaWYgbm90IHAuYWN0aW9uLnN1cHBvcnRzKHByai5raW5kKSB0aGVuCnAud2FybigiVW5zdXBwb3J0ZWQga2luZCAnJXMnIHVzZWQgZm9yIHByb2plY3QgJyVzJyIsIHByai5raW5kLCBwcmoubmFtZSkKZW5kCmVuZApmdW5jdGlvbiBtLmFjdGlvblN1cHBvcnRzTGFuZ3VhZ2UocHJqKQppZiBub3QgcC5hY3Rpb24uc3VwcG9ydHMocHJqLmxhbmd1YWdlKSB0aGVuCnAud2FybigiVW5zdXBwb3J0ZWQgbGFuZ3VhZ2UgJyVzJyB1c2VkIGZvciBwcm9qZWN0ICclcyciLCBwcmoubGFuZ3VhZ2UsIHByai5uYW1lKQplbmQKZW5kCmZ1bmN0aW9uIG0uY29uZmlnSGFzS2luZChjZmcpCmlmIG5vdCBjZmcua2luZCB0aGVuCnAuZXJyb3IoIlByb2plY3QgJyVzJyBuZWVkcyBhIGtpbmQgaW4gY29uZmlndXJhdGlvbiAnJXMnIiwgY2ZnLnByb2plY3QubmFtZSwgY2ZnLm5hbWUpCmVuZAplbmQKZnVuY3Rpb24gbS5jb25maWdTdXBwb3J0c0tpbmQoY2ZnKQppZiBub3QgcC5hY3Rpb24uc3VwcG9ydHMoY2ZnLmtpbmQpIHRoZW4KcC53YXJuKCJVbnN1cHBvcnRlZCBraW5kICclcycgdXNlZCBpbiBjb25maWd1cmF0aW9uICclcyciLCBjZmcua2luZCwgY2ZnLm5hbWUpCmVuZAppZiAoY2ZnLmtpbmQgPT0gcC5NQUtFRklMRSBvciBjZmcua2luZCA9PSBwLk5PTkUpIGFuZCBwLnByb2plY3QuaXNkb3RuZXQoY2ZnLnByb2plY3QpIHRoZW4KcC5lcnJvcigiUHJvamVjdCAnJXMnIHVzZXMgJyVzJyBraW5kIGluIGNvbmZpZ3VyYXRpb24gJyVzJzsgbGFuZ3VhZ2UgbXVzdCBub3QgYmUgQyMiLCBjZmcucHJvamVjdC5uYW1lLCBjZmcua2luZCwgY2ZnLm5hbWUpCmVuZAplbmQKZnVuY3Rpb24gbS5jb25maWdWYWx1ZXNJblNjb3BlKGNmZykKcC5jb25maWcudmFsaWRhdGVTY29wZXMoY2ZnLCBjZmcucHJvamVjdCwgImNvbmZpZyIpCmVuZApmdW5jdGlvbiBtLnByb2plY3RIYXNMYW5ndWFnZShwcmopCmlmIG5vdCBwcmoubGFuZ3VhZ2UgdGhlbgpwLmVycm9yKCJwcm9qZWN0ICclcycgZG9lcyBub3QgaGF2ZSBhIGxhbmd1YWdlIiwgcHJqLm5hbWUpCmVuZAplbmQKZnVuY3Rpb24gbS5wcm9qZWN0UnVsZXNFeGlzdChwcmopCmZvciBpID0gMSwgI3Byai5ydWxlcyBkbwpsb2NhbCBydWxlID0gcHJqLnJ1bGVzW2ldCmlmIG5vdCBwLmdsb2JhbC5nZXRSdWxlKHJ1bGUpIHRoZW4KcC5lcnJvcigicHJvamVjdCAnJXMnIHVzZXMgbWlzc2luZyBydWxlICclcyciLCBwcmoubmFtZSwgcnVsZSkKZW5kCmVuZAplbmQKZnVuY3Rpb24gbS5wcm9qZWN0VmFsdWVzSW5TY29wZShwcmopCnAuY29uZmlnLnZhbGlkYXRlU2NvcGVzKHByaiwgcHJqLCAicHJvamVjdCIpCmVuZApmdW5jdGlvbiBtLnVuaXF1ZVByb2plY3RJZHMod2tzKQpsb2NhbCB1dWlkcyA9IHt9CmZvciBwcmogaW4gcC53b3Jrc3BhY2UuZWFjaHByb2plY3Qod2tzKSBkbwppZiB1dWlkc1twcmoudXVpZF0gdGhlbgpwLmVycm9yKCJwcm9qZWN0cyAnJXMnIGFuZCAnJXMnIGhhdmUgdGhlIHNhbWUgVVVJRCIsIHV1aWRzW3Byai51dWlkXSwgcHJqLm5hbWUpCmVuZAp1dWlkc1twcmoudXVpZF0gPSBwcmoubmFtZQplbmQKZW5kCmZ1bmN0aW9uIG0ud29ya3NwYWNlSGFzQ29uZmlncyh3a3MpCmlmIG5vdCB3a3MuY29uZmlndXJhdGlvbnMgb3IgI3drcy5jb25maWd1cmF0aW9ucyA9PSAwIHRoZW4KcC5lcnJvcigid29ya3NwYWNlICclcycgZG9lcyBub3QgY29udGFpbiBhbnkgY29uZmlndXJhdGlvbnMiLCB3a3MubmFtZSkKZW5kCmVuZApmdW5jdGlvbiBzdHJpbmcuY2FwaXRhbGl6ZWQoc2VsZikKcmV0dXJuIHNlbGY6Z3N1YigiXiVsIiwgc3RyaW5nLnVwcGVyKQplbmQKZnVuY3Rpb24gc3RyaW5nLmNvbnRhaW5zKHMsIG1hdGNoKQpyZXR1cm4gc3RyaW5nLmZpbmQocywgbWF0Y2gsIDEsIHRydWUpIH49IG5pbAplbmQKZnVuY3Rpb24gc3RyaW5nLmV4cGxvZGUocywgcGF0dGVybiwgcGxhaW4sIG1heFRva2VucykKaWYgKHBhdHRlcm4gPT0gJycpIHRoZW4gcmV0dXJuIGZhbHNlIGVuZApsb2NhbCBwb3MgPSAwCmxvY2FsIGFyciA9IHsgfQpmb3Igc3Qsc3AgaW4gZnVuY3Rpb24oKSByZXR1cm4gczpmaW5kKHBhdHRlcm4sIHBvcywgcGxhaW4pIGVuZCBkbwp0YWJsZS5pbnNlcnQoYXJyLCBzOnN1Yihwb3MsIHN0LTEpKQpwb3MgPSBzcCArIDEKaWYgbWF4VG9rZW5zIH49IG5pbCBhbmQgbWF4VG9rZW5zID4gMCB0aGVuCm1heFRva2VucyA9IG1heFRva2VucyAtIDEKaWYgbWF4VG9rZW5zID09IDAgdGhlbgpicmVhawplbmQKZW5kCmVuZAp0YWJsZS5pbnNlcnQoYXJyLCBzOnN1Yihwb3MpKQpyZXR1cm4gYXJyCmVuZApmdW5jdGlvbiBzdHJpbmcuZmluZGxhc3QocywgcGF0dGVybiwgcGxhaW4pCmxvY2FsIGN1cnIgPSAwCnJlcGVhdApsb2NhbCBuZXh0ID0gczpmaW5kKHBhdHRlcm4sIGN1cnIgKyAxLCBwbGFpbikKaWYgKG5leHQpIHRoZW4gY3VyciA9IG5leHQgZW5kCnVudGlsIChub3QgbmV4dCkKaWYgKGN1cnIgPiAwKSB0aGVuCnJldHVybiBjdXJyCmVuZAplbmQKZnVuY3Rpb24gc3RyaW5nLmxpbmVzKHMpCmxvY2FsIHRyYWlsaW5nLCBuID0gczpnc3ViKCcuLVxuJywgJycpCmlmICN0cmFpbGluZyA+IDAgdGhlbgpuID0gbiArIDEKZW5kCnJldHVybiBuCmVuZApmdW5jdGlvbiBzdHJpbmc6cGx1cmFsKCkKaWYgc2VsZjplbmRzd2l0aCgieSIpIHRoZW4KcmV0dXJuIHNlbGY6c3ViKDEsICNzZWxmIC0gMSkgLi4gImllcyIKZWxzZQpyZXR1cm4gc2VsZiAuLiAicyIKZW5kCmVuZApmdW5jdGlvbiBzdHJpbmcuZXNjYXBlcGF0dGVybihzKQpyZXR1cm4gczpnc3ViKCJbJSglKSUuJSUlKyUtJSolPyVbJV0lXiUkXSIsICIlJSUwIikKZW5kCgBsb2NhbCBwID0gcHJlbWFrZQpsb2NhbCB4Y29kZSA9IHAubW9kdWxlcy54Y29kZQpsb2NhbCB0cmVlICA9IHAudHJlZQpsb2NhbCB3b3Jrc3BhY2UgPSBwLndvcmtzcGFjZQpsb2NhbCBwcm9qZWN0ID0gcC5wcm9qZWN0CmxvY2FsIGNvbmZpZyA9IHAuY29uZmlnCmxvY2FsIGZpbGVjb25maWcgPSBwLmZpbGVjb25maWcKZnVuY3Rpb24geGNvZGUuZ2V0YnVpbGRjYXRlZ29yeShub2RlKQpsb2NhbCBjYXRlZ29yaWVzID0gewpbIi5hIl0gPSAiRnJhbWV3b3JrcyIsClsiLmMiXSA9ICJTb3VyY2VzIiwKWyIuY2MiXSA9ICJTb3VyY2VzIiwKWyIuY3BwIl0gPSAiU291cmNlcyIsClsiLmN4eCJdID0gIlNvdXJjZXMiLApbIi5keWxpYiJdID0gIkZyYW1ld29ya3MiLApbIi5mcmFtZXdvcmsiXSA9ICJGcmFtZXdvcmtzIiwKWyIubSJdID0gIlNvdXJjZXMiLApbIi5tbSJdID0gIlNvdXJjZXMiLApbIi5zdHJpbmdzIl0gPSAiUmVzb3VyY2VzIiwKWyIubmliIl0gPSAiUmVzb3VyY2VzIiwKWyIueGliIl0gPSAiUmVzb3VyY2VzIiwKWyIuc3Rvcnlib2FyZCJdID0gIlJlc291cmNlcyIsClsiLmljbnMiXSA9ICJSZXNvdXJjZXMiLApbIi5zIl0gPSAiU291cmNlcyIsClsiLlMiXSA9ICJTb3VyY2VzIiwKfQppZiBub2RlLmlzUmVzb3VyY2UgdGhlbgpyZXR1cm4gIlJlc291cmNlcyIKZW5kCnJldHVybiBjYXRlZ29yaWVzW3BhdGguZ2V0ZXh0ZW5zaW9uKG5vZGUubmFtZSldCmVuZApmdW5jdGlvbiB4Y29kZS5pc0l0ZW1SZXNvdXJjZShwcm9qZWN0LCBub2RlKQpsb2NhbCByZXM7CmlmIHByb2plY3QgYW5kIHByb2plY3QueGNvZGVidWlsZHJlc291cmNlcyB0aGVuCmlmIHR5cGUocHJvamVjdC54Y29kZWJ1aWxkcmVzb3VyY2VzKSA9PSAidGFibGUiIHRoZW4KcmVzID0gcHJvamVjdC54Y29kZWJ1aWxkcmVzb3VyY2VzCmVuZAplbmQKbG9jYWwgZnVuY3Rpb24gY2hlY2tJdGVtSW5MaXN0KGl0ZW0sIGxpc3QpCmlmIGl0ZW0gdGhlbgppZiBsaXN0IHRoZW4KaWYgdHlwZShsaXN0KSA9PSAidGFibGUiIHRoZW4KZm9yIF8sdiBpbiBwYWlycyhsaXN0KSBkbwppZiBzdHJpbmcuZmluZChpdGVtLCB2KSB0aGVuCnJldHVybiB0cnVlCmVuZAplbmQKZW5kCmVuZAplbmQKcmV0dXJuIGZhbHNlCmVuZAppZiAoY2hlY2tJdGVtSW5MaXN0KG5vZGUucGF0aCwgcmVzKSkgdGhlbgpyZXR1cm4gdHJ1ZQplbmQKcmV0dXJuIGZhbHNlCmVuZApmdW5jdGlvbiB4Y29kZS5nZXRmaWxldHlwZWtleShub2RlLCBjZmcpCmlmIG5vZGUuY29uZmlncyB0aGVuCmxvY2FsIGZpbGVjZmcgPSBmaWxlY29uZmlnLmdldGNvbmZpZyhub2RlLCBjZmcpCmlmIGZpbGVjZmcgYW5kIGZpbGVjZmdbImNvbXBpbGVhcyJdIHRoZW4KcmV0dXJuICJleHBsaWNpdEZpbGVUeXBlIgplbmQKZW5kCnJldHVybiAibGFzdEtub3duRmlsZVR5cGUiCmVuZApmdW5jdGlvbiB4Y29kZS5nZXRmaWxldHlwZShub2RlLCBjZmcpCmlmIG5vZGUuY29uZmlncyB0aGVuCmxvY2FsIGZpbGVjZmcgPSBmaWxlY29uZmlnLmdldGNvbmZpZyhub2RlLCBjZmcpCmlmIGZpbGVjZmcgdGhlbgppZiBwLmxhbmd1YWdlcy5pc2MoZmlsZWNmZy5jb21waWxlYXMpIHRoZW4KcmV0dXJuICJzb3VyY2Vjb2RlLmMuYyIKZWxzZWlmIHAubGFuZ3VhZ2VzLmlzY3BwKGZpbGVjZmcuY29tcGlsZWFzKSB0aGVuCnJldHVybiAic291cmNlY29kZS5jcHAuY3BwIgplbHNlaWYgZmlsZWNmZy5sYW5ndWFnZSA9PSAiT2JqQyIgdGhlbgpyZXR1cm4gInNvdXJjZWNvZGUuYy5vYmpjIgplbHNlaWYgZmlsZWNmZy5sYW5ndWFnZSA9PSAiT2JqQ3BwIiB0aGVuCnJldHVybiAic291cmNlY29kZS5jcHAub2JqY3BwIgplbmQKZW5kCmVuZApsb2NhbCB0eXBlcyA9IHsKWyIuYyJdICAgICAgICAgPSAic291cmNlY29kZS5jLmMiLApbIi5jYyJdICAgICAgICA9ICJzb3VyY2Vjb2RlLmNwcC5jcHAiLApbIi5jcHAiXSAgICAgICA9ICJzb3VyY2Vjb2RlLmNwcC5jcHAiLApbIi5jc3MiXSAgICAgICA9ICJ0ZXh0LmNzcyIsClsiLmN4eCJdICAgICAgID0gInNvdXJjZWNvZGUuY3BwLmNwcCIsClsiLlMiXSAgICAgICAgID0gInNvdXJjZWNvZGUuYXNtLmFzbSIsClsiLmZyYW1ld29yayJdID0gIndyYXBwZXIuZnJhbWV3b3JrIiwKWyIuZ2lmIl0gICAgICAgPSAiaW1hZ2UuZ2lmIiwKWyIuaCJdICAgICAgICAgPSAic291cmNlY29kZS5jLmgiLApbIi5odG1sIl0gICAgICA9ICJ0ZXh0Lmh0bWwiLApbIi5sdWEiXSAgICAgICA9ICJzb3VyY2Vjb2RlLmx1YSIsClsiLm0iXSAgICAgICAgID0gInNvdXJjZWNvZGUuYy5vYmpjIiwKWyIubW0iXSAgICAgICAgPSAic291cmNlY29kZS5jcHAub2JqYyIsClsiLm5pYiJdICAgICAgID0gIndyYXBwZXIubmliIiwKWyIuc3Rvcnlib2FyZCJdID0gImZpbGUuc3Rvcnlib2FyZCIsClsiLnBjaCJdICAgICAgID0gInNvdXJjZWNvZGUuYy5oIiwKWyIucGxpc3QiXSAgICAgPSAidGV4dC5wbGlzdC54bWwiLApbIi5zdHJpbmdzIl0gICA9ICJ0ZXh0LnBsaXN0LnN0cmluZ3MiLApbIi54aWIiXSAgICAgICA9ICJmaWxlLnhpYiIsClsiLmljbnMiXSAgICAgID0gImltYWdlLmljbnMiLApbIi5zIl0gICAgICAgICA9ICJzb3VyY2Vjb2RlLmFzbSIsClsiLmJtcCJdICAgICAgID0gImltYWdlLmJtcCIsClsiLndhdiJdICAgICAgID0gImF1ZGlvLndhdiIsClsiLnhjYXNzZXRzIl0gID0gImZvbGRlci5hc3NldGNhdGFsb2ciLAp9CnJldHVybiB0eXBlc1twYXRoLmdldGV4dGVuc2lvbihub2RlLnBhdGgpXSBvciAidGV4dCIKZW5kCmxvY2FsIGZ1bmN0aW9uIHhjb2RlUHJpbnRVc2VyQ29uZmlnUmVmZXJlbmNlcyhvZmZzZXQsIGNmZywgdHIsIGtpbmQpCmxvY2FsIHJlZmVyZW5jZU5hbWUKaWYga2luZCA9PSAicHJvamVjdCIgdGhlbgpyZWZlcmVuY2VOYW1lID0gY2ZnLnhjb2RlY29uZmlncmVmZXJlbmNlcHJvamVjdAplbHNlaWYga2luZCA9PSAidGFyZ2V0IiB0aGVuCnJlZmVyZW5jZU5hbWUgPSBjZmcueGNvZGVjb25maWdyZWZlcmVuY2V0YXJnZXQKZW5kCnRyZWUudHJhdmVyc2UodHIsIHsKb25sZWFmID0gZnVuY3Rpb24obm9kZSkKZmlsZW5hbWUgPSBub2RlLm5hbWUKaWYgbm9kZS5pZCBhbmQgcGF0aC5nZXRleHRlbnNpb24oZmlsZW5hbWUpID09ICIueGNjb25maWciIHRoZW4KaWYgZmlsZW5hbWUgPT0gcmVmZXJlbmNlTmFtZSB0aGVuCl9wKG9mZnNldCwgJ2Jhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gJXMgLyogJXMgKi87Jywgbm9kZS5pZCwgZmlsZW5hbWUpCnJldHVybgplbmQKZW5kCmVuZAp9LCBmYWxzZSkKZW5kCmxvY2FsIGVzY2FwZVNwZWNpYWxDaGFycyA9IHsKWydcbiddID0gJ1xcbicsClsnXHInXSA9ICdcXHInLApbJ1x0J10gPSAnXFx0JywKfQpsb2NhbCBmdW5jdGlvbiBlc2NhcGVDaGFyKGMpCnJldHVybiBlc2NhcGVTcGVjaWFsQ2hhcnNbY10gb3IgJ1xcJy4uYwplbmQKbG9jYWwgZnVuY3Rpb24gZXNjYXBlQXJnKHZhbHVlKQp2YWx1ZSA9IHZhbHVlOmdzdWIoJ1tcJyJcXFxuXHJcdCBdJywgZXNjYXBlQ2hhcikKcmV0dXJuIHZhbHVlCmVuZApsb2NhbCBmdW5jdGlvbiBlc2NhcGVTZXR0aW5nKHZhbHVlKQp2YWx1ZSA9IHZhbHVlOmdzdWIoJ1siXFxcblxyXHRdJywgZXNjYXBlQ2hhcikKcmV0dXJuIHZhbHVlCmVuZApsb2NhbCBmdW5jdGlvbiBzdHJpbmdpZnlTZXR0aW5nKHZhbHVlKQp2YWx1ZSA9IHZhbHVlLi4nJwppZiBub3QgdmFsdWU6bWF0Y2goJ15bJWElZF8uL10rJCcpIHRoZW4KdmFsdWUgPSAnIicuLmVzY2FwZVNldHRpbmcodmFsdWUpLi4nIicKZW5kCnJldHVybiB2YWx1ZQplbmQKbG9jYWwgZnVuY3Rpb24gY3VzdG9tU3RyaW5naWZ5U2V0dGluZyh2YWx1ZSkKdmFsdWUgPSB2YWx1ZS4uJycKbG9jYWwgdGVzdCA9IHZhbHVlOm1hdGNoKCdeWyVhJWRfLi8lK10rJCcpCmlmIHRlc3QgdGhlbgp2YWx1ZSA9ICciJy4uZXNjYXBlU2V0dGluZyh2YWx1ZSkuLiciJwplbmQKcmV0dXJuIHZhbHVlCmVuZApsb2NhbCBmdW5jdGlvbiBwcmludFNldHRpbmcobGV2ZWwsIG5hbWUsIHZhbHVlKQppZiB0eXBlKHZhbHVlKSA9PSAnZnVuY3Rpb24nIHRoZW4KdmFsdWUobGV2ZWwsIG5hbWUpCmVsc2VpZiB0eXBlKHZhbHVlKSB+PSAndGFibGUnIHRoZW4KX3AobGV2ZWwsICclcyA9ICVzOycsIHN0cmluZ2lmeVNldHRpbmcobmFtZSksIHN0cmluZ2lmeVNldHRpbmcodmFsdWUpKQplbHNlaWYgI3ZhbHVlID49IDEgdGhlbgpfcChsZXZlbCwgJyVzID0gKCcsIHN0cmluZ2lmeVNldHRpbmcobmFtZSkpCmZvciBfLCBpdGVtIGluIGlwYWlycyh2YWx1ZSkgZG8KX3AobGV2ZWwgKyAxLCAnJXMsJywgc3RyaW5naWZ5U2V0dGluZyhpdGVtKSkKZW5kCl9wKGxldmVsLCAnKTsnKQplbmQKZW5kCmxvY2FsIGZ1bmN0aW9uIHByaW50U2V0dGluZ3NUYWJsZShsZXZlbCwgc2V0dGluZ3MpCmxvY2FsIGtleXMgPSB0YWJsZS5rZXlzKHNldHRpbmdzKQp0YWJsZS5zb3J0KGtleXMpCmZvciBfLCBrIGluIGlwYWlycyhrZXlzKSBkbwpwcmludFNldHRpbmcobGV2ZWwsIGssIHNldHRpbmdzW2tdKQplbmQKZW5kCmxvY2FsIGZ1bmN0aW9uIG92ZXJyaWRlU2V0dGluZ3Moc2V0dGluZ3MsIG92ZXJyaWRlcykKaWYgdHlwZShvdmVycmlkZXMpID09ICd0YWJsZScgdGhlbgpmb3IgbmFtZSwgdmFsdWUgaW4gcGFpcnMob3ZlcnJpZGVzKSBkbwpzZXR0aW5nc1tuYW1lXSA9IGlpZihub3QgdGFibGUuZXF1YWxzKHZhbHVlLCB7IGZhbHNlIH0pLCB2YWx1ZSwgbmlsKQplbmQKZW5kCmVuZApmdW5jdGlvbiB4Y29kZS5nZXRwcm9kdWN0dHlwZShub2RlKQpsb2NhbCB0eXBlcyA9IHsKQ29uc29sZUFwcCAgID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUudG9vbCIsCldpbmRvd2VkQXBwICA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLmFwcGxpY2F0aW9uIiwKU3RhdGljTGliICAgID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUubGlicmFyeS5zdGF0aWMiLApTaGFyZWRMaWIgICAgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS5saWJyYXJ5LmR5bmFtaWMiLApPU1hCdW5kbGUgICAgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS5idW5kbGUiLApPU1hGcmFtZXdvcmsgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS5mcmFtZXdvcmsiLApYQ1Rlc3QgICAgICAgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS5idW5kbGUudW5pdC10ZXN0IiwKfQpyZXR1cm4gdHlwZXNbaWlmKG5vZGUuY2ZnLmtpbmQgPT0gIlNoYXJlZExpYiIgYW5kIG5vZGUuY2ZnLnNoYXJlZGxpYnR5cGUsIG5vZGUuY2ZnLnNoYXJlZGxpYnR5cGUsIG5vZGUuY2ZnLmtpbmQpXQplbmQKZnVuY3Rpb24geGNvZGUuZ2V0dGFyZ2V0dHlwZShub2RlKQpsb2NhbCB0eXBlcyA9IHsKQ29uc29sZUFwcCAgID0gIlwiY29tcGlsZWQubWFjaC1vLmV4ZWN1dGFibGVcIiIsCldpbmRvd2VkQXBwICA9ICJ3cmFwcGVyLmFwcGxpY2F0aW9uIiwKU3RhdGljTGliICAgID0gImFyY2hpdmUuYXIiLApTaGFyZWRMaWIgICAgPSAiXCJjb21waWxlZC5tYWNoLW8uZHlsaWJcIiIsCk9TWEJ1bmRsZSAgICA9ICJ3cmFwcGVyLmNmYnVuZGxlIiwKT1NYRnJhbWV3b3JrID0gIndyYXBwZXIuZnJhbWV3b3JrIiwKWENUZXN0ICAgICAgID0gIndyYXBwZXIuY2ZidW5kbGUiLAp9CnJldHVybiB0eXBlc1tpaWYobm9kZS5jZmcua2luZCA9PSAiU2hhcmVkTGliIiBhbmQgbm9kZS5jZmcuc2hhcmVkbGlidHlwZSwgbm9kZS5jZmcuc2hhcmVkbGlidHlwZSwgbm9kZS5jZmcua2luZCldCmVuZApmdW5jdGlvbiB4Y29kZS5nZXRkZWJ1Z2Zvcm1hdChjZmcpCmxvY2FsIGZvcm1hdHMgPSB7ClsiRHdhcmYiXSAgICAgID0gImR3YXJmIiwKWyJEZWZhdWx0Il0gICAgPSAiZHdhcmYtd2l0aC1kc3ltIiwKWyJTcGxpdER3YXJmIl0gPSAiZHdhcmYtd2l0aC1kc3ltIiwKfQpsb2NhbCBydmFsID0gImR3YXJmLXdpdGgtZHN5bSIKaWYgY2ZnLmRlYnVnZm9ybWF0IHRoZW4KcnZhbCA9IGZvcm1hdHNbY2ZnLmRlYnVnZm9ybWF0XSBvciBydmFsCmVuZApyZXR1cm4gcnZhbAplbmQKZnVuY3Rpb24geGNvZGUuZ2V0eGNvZGVwcm9qbmFtZShwcmopCmxvY2FsIGZuYW1lID0gcC5maWxlbmFtZShwcmosICIueGNvZGVwcm9qIikKcmV0dXJuIGZuYW1lCmVuZApmdW5jdGlvbiB4Y29kZS5pc2ZyYW1ld29yayhmbmFtZSkKcmV0dXJuIChwYXRoLmdldGV4dGVuc2lvbihmbmFtZSkgPT0gIi5mcmFtZXdvcmsiKQplbmQKZnVuY3Rpb24geGNvZGUubmV3aWQoLi4uKQpsb2NhbCBuYW1lID0gJycKbG9jYWwgYXJnID0gey4uLn0KZm9yIGksIHYgaW4gcGFpcnMoYXJnKSBkbwpuYW1lID0gbmFtZS4udi4uJyoqKionCmVuZApyZXR1cm4gKCIlMDhYJTA4WCUwOFgiKTpmb3JtYXQobmFtZTpoYXNoKDE2Nzc3NjE5KSwgbmFtZTpoYXNoKDIxNjYxMzYyNjEpLCBuYW1lOmhhc2goNDY1Nzc2MTkpKQplbmQKZnVuY3Rpb24geGNvZGUucHJlcGFyZVdvcmtzcGFjZSh3a3MpCndrcy54Y29kZSA9IHsgfQpmb3IgcHJqIGluIHAud29ya3NwYWNlLmVhY2hwcm9qZWN0KHdrcykgZG8KbG9jYWwgY2ZnID0gcHJvamVjdC5nZXRjb25maWcocHJqLCBwcmouY29uZmlndXJhdGlvbnNbMV0sIHByai5wbGF0Zm9ybXNbMV0pCmxvY2FsIGJ1bmRsZXBhdGggPSBjZmcuYnVpbGR0YXJnZXQuYnVuZGxlbmFtZSB+PSAiIiBhbmQgY2ZnLmJ1aWxkdGFyZ2V0LmJ1bmRsZW5hbWUgb3IgY2ZnLmJ1aWxkdGFyZ2V0Lm5hbWU7CmlmIChwcmouZXh0ZXJuYWwpIHRoZW4KYnVuZGxlcGF0aCA9IGNmZy5wcm9qZWN0Lm5hbWUKZW5kCmxvY2FsIG5vZGUgPSBwLnRyZWUubmV3KHBhdGguZ2V0bmFtZShidW5kbGVwYXRoKSkKbm9kZS5jZmcgPSBjZmcKbm9kZS5pZCA9IHhjb2RlLm5ld2lkKG5vZGUubmFtZSwgInByb2R1Y3QiKQpub2RlLnRhcmdldGlkID0geGNvZGUubmV3aWQobm9kZS5uYW1lLCAidGFyZ2V0IikKcHJqLnhjb2RlID0ge30KcHJqLnhjb2RlLnByb2plY3Rub2RlID0gbm9kZQplbmQKZW5kCmZ1bmN0aW9uIHhjb2RlLlBCWEJ1aWxkRmlsZSh0cikKbG9jYWwgc2V0dGluZ3MgPSB7fTsKdHJlZS50cmF2ZXJzZSh0ciwgewpvbm5vZGUgPSBmdW5jdGlvbihub2RlKQppZiBub2RlLmJ1aWxkaWQgdGhlbgpzZXR0aW5nc1tub2RlLmJ1aWxkaWRdID0gZnVuY3Rpb24obGV2ZWwpCl9wKGxldmVsLCclcyAvKiAlcyBpbiAlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAlcyAvKiAlcyAqLzsgfTsnLApub2RlLmJ1aWxkaWQsIG5vZGUubmFtZSwgeGNvZGUuZ2V0YnVpbGRjYXRlZ29yeShub2RlKSwgbm9kZS5pZCwgbm9kZS5uYW1lKQplbmQKZW5kCmVuZAp9KQppZiBub3QgdGFibGUuaXNlbXB0eShzZXR0aW5ncykgdGhlbgpfcCgnLyogQmVnaW4gUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8nKQpwcmludFNldHRpbmdzVGFibGUoMiwgc2V0dGluZ3MpOwpfcCgnLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovJykKX3AoJycpCmVuZAplbmQKZnVuY3Rpb24geGNvZGUuUEJYQ29udGFpbmVySXRlbVByb3h5KHRyKQpsb2NhbCBzZXR0aW5ncyA9IHt9CmZvciBfLCBub2RlIGluIGlwYWlycyh0ci5wcm9qZWN0cy5jaGlsZHJlbikgZG8Kc2V0dGluZ3Nbbm9kZS5wcm9kdWN0cHJveHlpZF0gPSBmdW5jdGlvbigpCl9wKDIsJyVzIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsnLCBub2RlLnByb2R1Y3Rwcm94eWlkKQpfcCgzLCdpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7JykKX3AoMywnY29udGFpbmVyUG9ydGFsID0gJXMgLyogJXMgKi87Jywgbm9kZS5pZCwgcGF0aC5nZXRyZWxhdGl2ZShub2RlLnBhcmVudC5wYXJlbnQucHJvamVjdC5sb2NhdGlvbiwgbm9kZS5wYXRoKSkKX3AoMywncHJveHlUeXBlID0gMjsnKQpfcCgzLCdyZW1vdGVHbG9iYWxJRFN0cmluZyA9ICVzOycsIG5vZGUucHJvamVjdC54Y29kZS5wcm9qZWN0bm9kZS5pZCkKX3AoMywncmVtb3RlSW5mbyA9ICVzOycsIHN0cmluZ2lmeVNldHRpbmcobm9kZS5wcm9qZWN0Lnhjb2RlLnByb2plY3Rub2RlLm5hbWUpKQpfcCgyLCd9OycpCmVuZApzZXR0aW5nc1tub2RlLnRhcmdldHByb3h5aWRdID0gZnVuY3Rpb24oKQpfcCgyLCclcyAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7Jywgbm9kZS50YXJnZXRwcm94eWlkKQpfcCgzLCdpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7JykKX3AoMywnY29udGFpbmVyUG9ydGFsID0gJXMgLyogJXMgKi87Jywgbm9kZS5pZCwgcGF0aC5nZXRyZWxhdGl2ZShub2RlLnBhcmVudC5wYXJlbnQucHJvamVjdC5sb2NhdGlvbiwgbm9kZS5wYXRoKSkKX3AoMywncHJveHlUeXBlID0gMTsnKQpfcCgzLCdyZW1vdGVHbG9iYWxJRFN0cmluZyA9ICVzOycsIG5vZGUucHJvamVjdC54Y29kZS5wcm9qZWN0bm9kZS50YXJnZXRpZCkKX3AoMywncmVtb3RlSW5mbyA9ICVzOycsIHN0cmluZ2lmeVNldHRpbmcobm9kZS5wcm9qZWN0Lnhjb2RlLnByb2plY3Rub2RlLm5hbWUpKQpfcCgyLCd9OycpCmVuZAplbmQKaWYgbm90IHRhYmxlLmlzZW1wdHkoc2V0dGluZ3MpIHRoZW4KX3AoJy8qIEJlZ2luIFBCWENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovJykKcHJpbnRTZXR0aW5nc1RhYmxlKDIsIHNldHRpbmdzKTsKX3AoJy8qIEVuZCBQQlhDb250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAqLycpCl9wKCcnKQplbmQKZW5kCmZ1bmN0aW9uIHhjb2RlLlBCWEZpbGVSZWZlcmVuY2UodHIpCmxvY2FsIGNmZyA9IHByb2plY3QuZ2V0Zmlyc3Rjb25maWcodHIucHJvamVjdCkKbG9jYWwgc2V0dGluZ3MgPSB7fQp0cmVlLnRyYXZlcnNlKHRyLCB7Cm9ubGVhZiA9IGZ1bmN0aW9uKG5vZGUpCmlmIG5vdCBub2RlLnBhdGggdGhlbgpyZXR1cm4KZW5kCmlmIG5vZGUua2luZCA9PSAicHJvZHVjdCIgdGhlbgpzZXR0aW5nc1tub2RlLmlkXSA9IGZ1bmN0aW9uKGxldmVsKQpfcChsZXZlbCwnJXMgLyogJXMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9ICVzOyBpbmNsdWRlSW5JbmRleCA9IDA7IG5hbWUgPSAlczsgcGF0aCA9ICVzOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OycsCm5vZGUuaWQsIG5vZGUubmFtZSwgeGNvZGUuZ2V0dGFyZ2V0dHlwZShub2RlKSwgc3RyaW5naWZ5U2V0dGluZyhub2RlLm5hbWUpLCBzdHJpbmdpZnlTZXR0aW5nKHBhdGguZ2V0bmFtZShub2RlLmNmZy5idWlsZHRhcmdldC5idW5kbGVuYW1lIH49ICIiIGFuZCBub2RlLmNmZy5idWlsZHRhcmdldC5idW5kbGVuYW1lIG9yIG5vZGUuY2ZnLmJ1aWxkdGFyZ2V0LnJlbHBhdGgpKSkKZW5kCmVsc2VpZiBub2RlLnBhcmVudC5wYXJlbnQgPT0gdHIucHJvamVjdHMgdGhlbgpzZXR0aW5nc1tub2RlLnBhcmVudC5pZF0gPSBmdW5jdGlvbihsZXZlbCkKbG9jYWwgcmVscGF0aCA9IHBhdGguZ2V0cmVsYXRpdmUocGF0aC5nZXRhYnNvbHV0ZSh0ci5wcm9qZWN0LmxvY2F0aW9uKSwgcGF0aC5nZXRhYnNvbHV0ZShub2RlLnBhcmVudC5wcm9qZWN0LmxvY2F0aW9uKSkKX3AobGV2ZWwsJyVzIC8qICVzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gIndyYXBwZXIucGItcHJvamVjdCI7IG5hbWUgPSAlczsgcGF0aCA9ICVzOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07JywKbm9kZS5wYXJlbnQuaWQsIG5vZGUubmFtZSwgY3VzdG9tU3RyaW5naWZ5U2V0dGluZyhub2RlLnBhcmVudC5uYW1lKSwgc3RyaW5naWZ5U2V0dGluZyhwYXRoLmpvaW4ocmVscGF0aCwgbm9kZS5wYXJlbnQubmFtZSkpKQplbmQKZWxzZQpzZXR0aW5nc1tub2RlLmlkXSA9IGZ1bmN0aW9uKGxldmVsKQpsb2NhbCBwdGgsIHNyYwppZiB4Y29kZS5pc2ZyYW1ld29yayhub2RlLnBhdGgpIHRoZW4KbG9jYWwgbm9kZVBhdGggPSBub2RlLnBhdGgKbG9jYWwgXywgbWF0Y2hFbmQsIHZhcmlhYmxlID0gc3RyaW5nLmZpbmQobm9kZVBhdGgsICJeJSQlKCguKyklKS8iKQppZiB2YXJpYWJsZSB0aGVuCm5vZGVQYXRoID0gc3RyaW5nLnN1Yihub2RlUGF0aCwgbWF0Y2hFbmQgKyAxKQplbmQKaWYgc3RyaW5nLmZpbmQobm9kZVBhdGgsJy8nKSAgdGhlbgppZiBzdHJpbmcuZmluZChub2RlUGF0aCwnXiUuJyl0aGVuCnB0aCA9IHBhdGguZ2V0cmVsYXRpdmUodHIucHJvamVjdC5sb2NhdGlvbiwgbm9kZS5wYXRoKQpzcmMgPSAiU09VUkNFX1JPT1QiCnZhcmlhYmxlID0gc3JjCmVsc2UKcHRoID0gbm9kZVBhdGgKc3JjID0gIjxhYnNvbHV0ZT4iCmVuZAplbmQKaWYgdmFyaWFibGUgdGhlbgpzcmMgPSB2YXJpYWJsZQppZiBzdHJpbmcuZmluZChwdGgsICdeLycpIHRoZW4KcHRoID0gc3RyaW5nLnN1YihwdGgsIDIpCmVuZAplbHNlCnB0aCA9ICJTeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzLyIgLi4gbm9kZS5wYXRoCnNyYyA9ICJTREtST09UIgplbmQKZWxzZQpzcmMgPSAiPGdyb3VwPiIKaWYgbm9kZS5hYnNwYXRoIHRoZW4KcHRoID0gcGF0aC5nZXRyZWxhdGl2ZSh0ci5wcm9qZWN0LmxvY2F0aW9uLCBub2RlLmFic3BhdGgpCmVsc2UKcHRoID0gbm9kZS5wYXRoCmVuZAplbmQKX3AobGV2ZWwsJyVzIC8qICVzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7ICVzID0gJXM7IG5hbWUgPSAlczsgcGF0aCA9ICVzOyBzb3VyY2VUcmVlID0gJXM7IH07JywKbm9kZS5pZCwgbm9kZS5uYW1lLCB4Y29kZS5nZXRmaWxldHlwZWtleShub2RlLCBjZmcpLCB4Y29kZS5nZXRmaWxldHlwZShub2RlLCBjZmcpLCBzdHJpbmdpZnlTZXR0aW5nKG5vZGUubmFtZSksIHN0cmluZ2lmeVNldHRpbmcocHRoKSwgc3RyaW5naWZ5U2V0dGluZyhzcmMpKQplbmQKZW5kCmVuZAp9KQppZiBub3QgdGFibGUuaXNlbXB0eShzZXR0aW5ncykgdGhlbgpfcCgnLyogQmVnaW4gUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovJykKcHJpbnRTZXR0aW5nc1RhYmxlKDIsIHNldHRpbmdzKQpfcCgnLyogRW5kIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLycpCl9wKCcnKQplbmQKZW5kCmZ1bmN0aW9uIHhjb2RlLlBCWEZyYW1ld29ya3NCdWlsZFBoYXNlKHRyKQpfcCgnLyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLycpCl9wKDIsJyVzIC8qIEZyYW1ld29ya3MgKi8gPSB7JywgdHIucHJvZHVjdHMuY2hpbGRyZW5bMV0uZnhzdGFnZWlkKQpfcCgzLCdpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsnKQpfcCgzLCdidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OycpCl9wKDMsJ2ZpbGVzID0gKCcpCnRyZWUudHJhdmVyc2UodHIuZnJhbWV3b3JrcywgewpvbmxlYWYgPSBmdW5jdGlvbihub2RlKQppZiBub2RlLmJ1aWxkaWQgdGhlbgpfcCg0LCclcyAvKiAlcyBpbiBGcmFtZXdvcmtzICovLCcsIG5vZGUuYnVpbGRpZCwgbm9kZS5uYW1lKQplbmQKZW5kCn0pCnRyZWUudHJhdmVyc2UodHIucHJvamVjdHMsIHsKb25sZWFmID0gZnVuY3Rpb24obm9kZSkKaWYgbm9kZS5idWlsZGlkIHRoZW4KX3AoNCwnJXMgLyogJXMgaW4gRnJhbWV3b3JrcyAqLywnLCBub2RlLmJ1aWxkaWQsIG5vZGUubmFtZSkKZW5kCmVuZAp9KQpfcCgzLCcpOycpCl9wKDMsJ3J1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOycpCl9wKDIsJ307JykKX3AoJy8qIEVuZCBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZSBzZWN0aW9uICovJykKX3AoJycpCmVuZApmdW5jdGlvbiB4Y29kZS5QQlhHcm91cCh0cikKbG9jYWwgc2V0dGluZ3MgPSB7fQp0cmVlLnRyYXZlcnNlKHRyLCB7Cm9ubm9kZSA9IGZ1bmN0aW9uKG5vZGUpCmlmIChub2RlLnBhdGggYW5kICNub2RlLmNoaWxkcmVuID09IDApIG9yIG5vZGUua2luZCA9PSAidmdyb3VwIiB0aGVuCnJldHVybgplbmQKbG9jYWwgZnVuY3Rpb24gaXNBZ2dyZWdhdGVUYXJnZXQobm9kZSkKbG9jYWwgcHJvZHVjdHNJZCA9IHhjb2RlLm5ld2lkKCJQcm9kdWN0cyIpCnJldHVybiBub2RlLmlkID09IHByb2R1Y3RzSWQgYW5kIG5vZGUucGFyZW50LnByb2plY3QgYW5kIG5vZGUucGFyZW50LnByb2plY3Qua2luZCA9PSAiVXRpbGl0eSIKZW5kCmlmIGlzQWdncmVnYXRlVGFyZ2V0KG5vZGUpIHRoZW4KcmV0dXJuCmVuZApzZXR0aW5nc1tub2RlLnByb2R1Y3Rncm91cGlkIG9yIG5vZGUuaWRdID0gZnVuY3Rpb24oKQppZiBub2RlLnBhcmVudCA9PSB0ci5wcm9qZWN0cyB0aGVuCl9wKDIsJyVzIC8qIFByb2R1Y3RzICovID0geycsIG5vZGUucHJvZHVjdGdyb3VwaWQpCmVsc2UKX3AoMiwnJXMgLyogJXMgKi8gPSB7Jywgbm9kZS5pZCwgbm9kZS5uYW1lKQplbmQKX3AoMywnaXNhID0gUEJYR3JvdXA7JykKX3AoMywnY2hpbGRyZW4gPSAoJykKZm9yIF8sIGNoaWxkbm9kZSBpbiBpcGFpcnMobm9kZS5jaGlsZHJlbikgZG8KaWYgbm90IGlzQWdncmVnYXRlVGFyZ2V0KGNoaWxkbm9kZSkgdGhlbgpfcCg0LCclcyAvKiAlcyAqLywnLCBjaGlsZG5vZGUuaWQsIGNoaWxkbm9kZS5uYW1lKQplbmQKZW5kCl9wKDMsJyk7JykKaWYgbm9kZS5wYXJlbnQgPT0gdHIucHJvamVjdHMgdGhlbgpfcCgzLCduYW1lID0gUHJvZHVjdHM7JykKZWxzZQpfcCgzLCduYW1lID0gJXM7Jywgc3RyaW5naWZ5U2V0dGluZyhub2RlLm5hbWUpKQpsb2NhbCB2cGF0aCA9IHByb2plY3QuZ2V0dnBhdGgodHIucHJvamVjdCwgbm9kZS5uYW1lKQppZiBub2RlLnBhdGggYW5kIG5vZGUubmFtZSB+PSB2cGF0aCB0aGVuCmxvY2FsIHAgPSBub2RlLnBhdGgKaWYgbm9kZS5wYXJlbnQucGF0aCB0aGVuCnAgPSBwYXRoLmdldHJlbGF0aXZlKG5vZGUucGFyZW50LnBhdGgsIG5vZGUucGF0aCkKZW5kCl9wKDMsJ3BhdGggPSAlczsnLCBzdHJpbmdpZnlTZXR0aW5nKHApKQplbmQKZW5kCl9wKDMsJ3NvdXJjZVRyZWUgPSAiPGdyb3VwPiI7JykKX3AoMiwnfTsnKQplbmQKZW5kCn0sIHRydWUpCmlmIG5vdCB0YWJsZS5pc2VtcHR5KHNldHRpbmdzKSB0aGVuCl9wKCcvKiBCZWdpbiBQQlhHcm91cCBzZWN0aW9uICovJykKcHJpbnRTZXR0aW5nc1RhYmxlKDIsIHNldHRpbmdzKQpfcCgnLyogRW5kIFBCWEdyb3VwIHNlY3Rpb24gKi8nKQpfcCgnJykKZW5kCmVuZApsb2NhbCBmdW5jdGlvbiB4Y29kZV9HZXRCdWlsZENvbW1hbmRzKHRyKQpsb2NhbCBidWlsZENvbW1hbmRJbmZvcyA9IHt9CnRyZWUudHJhdmVyc2UodHIsIHsKb25ub2RlID0gZnVuY3Rpb24obm9kZSkKaWYgbm9kZS5idWlsZGNvbW1hbmRpZCB0aGVuCmxvY2FsIGluZm8gPSB7Cm5vZGUgPSBub2RlLAppbnB1dHMgPSB7IG5vZGUucmVscGF0aCB9LApvdXRwdXRzID0ge30sCmRlcGVuZHMgPSB7fSwKdHJhbnNhY3QgPSBmYWxzZSwKfQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyh0ci5wcm9qZWN0KSBkbwpsb2NhbCBmaWxlY2ZnID0gZmlsZWNvbmZpZy5nZXRjb25maWcobm9kZSwgY2ZnKQppZiBmaWxlY2ZnIHRoZW4KZm9yIF8sIHYgaW4gaXBhaXJzKGZpbGVjZmcuYnVpbGRpbnB1dHMpIGRvCnRhYmxlLmluc2VydChpbmZvLmlucHV0cywgcHJvamVjdC5nZXRyZWxhdGl2ZSh0ci5wcm9qZWN0LCB2KSkKZW5kCmZvciBfLCB2IGluIGlwYWlycyhmaWxlY2ZnLmJ1aWxkb3V0cHV0cykgZG8KdGFibGUuaW5zZXJ0KGluZm8ub3V0cHV0cywgcHJvamVjdC5nZXRyZWxhdGl2ZSh0ci5wcm9qZWN0LCB2KSkKZW5kCmVuZAplbmQKdGFibGUuaW5zZXJ0KGJ1aWxkQ29tbWFuZEluZm9zLCBpbmZvKQplbmQKZW5kCn0pCmZvciBfLCBtaW5lIGluIGlwYWlycyhidWlsZENvbW1hbmRJbmZvcykgZG8KZm9yIF8sIHRoZWlyIGluIGlwYWlycyhidWlsZENvbW1hbmRJbmZvcykgZG8KaWYgbWluZSB+PSB0aGVpciB0aGVuCmZvciBfLCBpbnB1dCBpbiBpcGFpcnMobWluZS5pbnB1dHMpIGRvCmlmIHRhYmxlLmNvbnRhaW5zKHRoZWlyLm91dHB1dHMsIGlucHV0KSB0aGVuCnRhYmxlLmluc2VydChtaW5lLmRlcGVuZHMsIHRoZWlyKQpicmVhawplbmQKZW5kCmVuZAplbmQKZW5kCmxvY2FsIGJ1aWxkQ29tbWFuZHMgPSB7fQpsb2NhbCBsZWZ0b3ZlciA9ICNidWlsZENvbW1hbmRJbmZvcwp3aGlsZSBsZWZ0b3ZlciA+IDAgZG8KbG9jYWwgcHJldiA9IGxlZnRvdmVyCmZvciBfLCBpbmZvIGluIGlwYWlycyhidWlsZENvbW1hbmRJbmZvcykgZG8KaWYgbm90IGluZm8udHJhbnNhY3QgdGhlbgpsb2NhbCB0cmFuc2FjdCA9IHRydWUKZm9yIF8sIGRlcGVuZCBpbiBpcGFpcnMoaW5mby5kZXBlbmRzKSBkbwp0cmFuc2FjdCA9IGRlcGVuZC50cmFuc2FjdAppZiBub3QgdHJhbnNhY3QgdGhlbgpicmVhawplbmQKZW5kCmlmIHRyYW5zYWN0IHRoZW4KdGFibGUuaW5zZXJ0KGJ1aWxkQ29tbWFuZHMsIGluZm8ubm9kZSkKaW5mby50cmFuc2FjdCA9IHRydWUKbGVmdG92ZXIgPSBsZWZ0b3ZlciAtIDEKZW5kCmVuZAplbmQKaWYgcHJldiA9PSBsZWZ0b3ZlciB0aGVuCmVycm9yKCdkZXRlY3QgY2lyY3VsYXIgcmVmZXJlbmNlLicpCmVuZAplbmQKcmV0dXJuIGJ1aWxkQ29tbWFuZHMKZW5kCmxvY2FsIGZ1bmN0aW9uIHhjb2RlX1BCWEFnZ3JlZ2F0ZU9yTmF0aXZlVGFyZ2V0KHRyLCBwYnhUYXJnZXROYW1lKQpsb2NhbCBraW5kcyA9IHsKQWdncmVnYXRlID0gewoiVXRpbGl0eSIsCn0sCk5hdGl2ZSA9IHsKIkNvbnNvbGVBcHAiLAoiV2luZG93ZWRBcHAiLAoiU2hhcmVkTGliIiwKIlN0YXRpY0xpYiIsCn0sCn0KbG9jYWwgaGFzVGFyZ2V0ID0gZmFsc2UKZm9yIF8sIG5vZGUgaW4gaXBhaXJzKHRyLnByb2R1Y3RzLmNoaWxkcmVuKSBkbwpoYXNUYXJnZXQgPSB0YWJsZS5jb250YWlucyhraW5kc1twYnhUYXJnZXROYW1lXSwgbm9kZS5jZmcua2luZCkKaWYgaGFzVGFyZ2V0IHRoZW4KYnJlYWsKZW5kCmVuZAppZiBub3QgaGFzVGFyZ2V0IHRoZW4KcmV0dXJuCmVuZApfcCgnLyogQmVnaW4gUEJYJXNUYXJnZXQgc2VjdGlvbiAqLycsIHBieFRhcmdldE5hbWUpCmxvY2FsIGJ1aWxkQ29tbWFuZHMgPSB4Y29kZV9HZXRCdWlsZENvbW1hbmRzKHRyKQpmb3IgXywgbm9kZSBpbiBpcGFpcnModHIucHJvZHVjdHMuY2hpbGRyZW4pIGRvCmxvY2FsIG5hbWUgPSB0ci5wcm9qZWN0Lm5hbWUKbG9jYWwgZnVuY3Rpb24gaGFzQnVpbGRDb21tYW5kcyh3aGljaCkKaWYgI3RyLnByb2plY3Rbd2hpY2hdID4gMCB0aGVuCnJldHVybiB0cnVlCmVuZApmb3IgXywgY2ZnIGluIGlwYWlycyh0ci5jb25maWdzKSBkbwppZiAjY2ZnW3doaWNoXSA+IDAgdGhlbgpyZXR1cm4gdHJ1ZQplbmQKZW5kCmVuZApfcCgyLCclcyAvKiAlcyAqLyA9IHsnLCBub2RlLnRhcmdldGlkLCBuYW1lKQpfcCgzLCdpc2EgPSBQQlglc1RhcmdldDsnLCBwYnhUYXJnZXROYW1lKQpfcCgzLCdidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gJXMgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlglc1RhcmdldCAiJXMiICovOycsIG5vZGUuY2Znc2VjdGlvbiwgcGJ4VGFyZ2V0TmFtZSwgZXNjYXBlU2V0dGluZyhuYW1lKSkKX3AoMywnYnVpbGRQaGFzZXMgPSAoJykKaWYgaGFzQnVpbGRDb21tYW5kcygncHJlYnVpbGRjb21tYW5kcycpIHRoZW4KX3AoNCwnOTYwN0FFMTAxMEM4NTdFNTAwQ0QxMzc2IC8qIFByZWJ1aWxkICovLCcpCmVuZApmb3IgXywgdiBpbiBpcGFpcnMoYnVpbGRDb21tYW5kcykgZG8KX3AoNCwnJXMgLyogQnVpbGQgIiVzIiAqLywnLCB2LmJ1aWxkY29tbWFuZGlkLCB2Lm5hbWUpCmVuZAppZiBwYnhUYXJnZXROYW1lID09ICJOYXRpdmUiIHRoZW4KX3AoNCwnJXMgLyogUmVzb3VyY2VzICovLCcsIG5vZGUucmVzc3RhZ2VpZCkKX3AoNCwnJXMgLyogU291cmNlcyAqLywnLCBub2RlLnNvdXJjZXNpZCkKZW5kCmlmIGhhc0J1aWxkQ29tbWFuZHMoJ3ByZWxpbmtjb21tYW5kcycpIHRoZW4KX3AoNCwnOTYwN0FFMzUxMEM4NUU3RTAwQ0QxMzc2IC8qIFByZWxpbmsgKi8sJykKZW5kCmlmIHBieFRhcmdldE5hbWUgPT0gIk5hdGl2ZSIgdGhlbgpfcCg0LCclcyAvKiBGcmFtZXdvcmtzICovLCcsIG5vZGUuZnhzdGFnZWlkKQplbmQKaWYgaGFzQnVpbGRDb21tYW5kcygncG9zdGJ1aWxkY29tbWFuZHMnKSB0aGVuCl9wKDQsJzk2MDdBRTM3MTBDODVFOEYwMENEMTM3NiAvKiBQb3N0YnVpbGQgKi8sJykKZW5kCl9wKDMsJyk7JykKX3AoMywnYnVpbGRSdWxlcyA9ICgnKQpfcCgzLCcpOycpCl9wKDMsJ2RlcGVuZGVuY2llcyA9ICgnKQpmb3IgXywgbm9kZSBpbiBpcGFpcnModHIucHJvamVjdHMuY2hpbGRyZW4pIGRvCl9wKDQsJyVzIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8sJywgbm9kZS50YXJnZXRkZXBlbmRpZCkKZW5kCl9wKDMsJyk7JykKX3AoMywnbmFtZSA9ICVzOycsIHN0cmluZ2lmeVNldHRpbmcobmFtZSkpCmlmIHBieFRhcmdldE5hbWUgPT0gIk5hdGl2ZSIgdGhlbgpsb2NhbCBwCmlmIG5vZGUuY2ZnLmtpbmQgPT0gIkNvbnNvbGVBcHAiIHRoZW4KcCA9ICIkKEhPTUUpL2JpbiIKZWxzZWlmIG5vZGUuY2ZnLmtpbmQgPT0gIldpbmRvd2VkQXBwIiB0aGVuCnAgPSAiJChIT01FKS9BcHBsaWNhdGlvbnMiCmVuZAppZiBwIHRoZW4KX3AoMywncHJvZHVjdEluc3RhbGxQYXRoID0gJXM7Jywgc3RyaW5naWZ5U2V0dGluZyhwKSkKZW5kCmVuZApfcCgzLCdwcm9kdWN0TmFtZSA9ICVzOycsIHN0cmluZ2lmeVNldHRpbmcobmFtZSkpCmlmIHBieFRhcmdldE5hbWUgPT0gIk5hdGl2ZSIgdGhlbgpfcCgzLCdwcm9kdWN0UmVmZXJlbmNlID0gJXMgLyogJXMgKi87Jywgbm9kZS5pZCwgbm9kZS5uYW1lKQpfcCgzLCdwcm9kdWN0VHlwZSA9ICVzOycsIHN0cmluZ2lmeVNldHRpbmcoeGNvZGUuZ2V0cHJvZHVjdHR5cGUobm9kZSkpKQplbmQKX3AoMiwnfTsnKQplbmQKX3AoJy8qIEVuZCBQQlglc1RhcmdldCBzZWN0aW9uICovJywgcGJ4VGFyZ2V0TmFtZSkKX3AoJycpCmVuZApmdW5jdGlvbiB4Y29kZS5QQlhBZ2dyZWdhdGVUYXJnZXQodHIpCnhjb2RlX1BCWEFnZ3JlZ2F0ZU9yTmF0aXZlVGFyZ2V0KHRyLCAiQWdncmVnYXRlIikKZW5kCmZ1bmN0aW9uIHhjb2RlLlBCWE5hdGl2ZVRhcmdldCh0cikKeGNvZGVfUEJYQWdncmVnYXRlT3JOYXRpdmVUYXJnZXQodHIsICJOYXRpdmUiKQplbmQKZnVuY3Rpb24geGNvZGUuUEJYUHJvamVjdCh0cikKX3AoJy8qIEJlZ2luIFBCWFByb2plY3Qgc2VjdGlvbiAqLycpCl9wKDIsJzA4RkI3NzkzRkU4NDE1NURDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLyA9IHsnKQpfcCgzLCdpc2EgPSBQQlhQcm9qZWN0OycpCmxvY2FsIGNhcGFiaWxpdGllcyA9IHRyLnByb2plY3QueGNvZGVzeXN0ZW1jYXBhYmlsaXRpZXMKaWYgbm90IHRhYmxlLmlzZW1wdHkoY2FwYWJpbGl0aWVzKSB0aGVuCmxvY2FsIGtleXMgPSB0YWJsZS5rZXlzKGNhcGFiaWxpdGllcykKdGFibGUuc29ydChrZXlzKQpfcCgzLCAnYXR0cmlidXRlcyA9IHsnKQpfcCg0LCAnVGFyZ2V0QXR0cmlidXRlcyA9IHsnKQpfcCg1LCAnJXMgPSB7JywgdHIucHJvamVjdC54Y29kZS5wcm9qZWN0bm9kZS50YXJnZXRpZCkKX3AoNiwgJ1N5c3RlbUNhcGFiaWxpdGllcyA9IHsnKQpmb3IgXywga2V5IGluIHBhaXJzKGtleXMpIGRvCl9wKDcsICclcyA9IHsnLCBrZXkpCl9wKDgsICdlbmFibGVkID0gJWQ7JywgaWlmKGNhcGFiaWxpdGllc1trZXldLCAxLCAwKSkKX3AoNywgJ307JykKZW5kCl9wKDYsICd9OycpCl9wKDUsICd9OycpCl9wKDQsICd9OycpCl9wKDMsICd9OycpCmVuZApfcCgzLCdidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMURFQjkyODkwODczM0REODAwMTBFOUNEIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVjdCAiJXMiICovOycsIHRyLm5hbWUpCl9wKDMsJ2NvbXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2RlIDMuMiI7JykKX3AoMywnaGFzU2Nhbm5lZEZvckVuY29kaW5ncyA9IDE7JykKX3AoMywnbWFpbkdyb3VwID0gJXMgLyogJXMgKi87JywgdHIuaWQsIHRyLm5hbWUpCl9wKDMsJ3Byb2plY3REaXJQYXRoID0gIiI7JykKaWYgI3RyLnByb2plY3RzLmNoaWxkcmVuID4gMCB0aGVuCl9wKDMsJ3Byb2plY3RSZWZlcmVuY2VzID0gKCcpCmZvciBfLCBub2RlIGluIGlwYWlycyh0ci5wcm9qZWN0cy5jaGlsZHJlbikgZG8KX3AoNCwneycpCl9wKDUsJ1Byb2R1Y3RHcm91cCA9ICVzIC8qIFByb2R1Y3RzICovOycsIG5vZGUucHJvZHVjdGdyb3VwaWQpCl9wKDUsJ1Byb2plY3RSZWYgPSAlcyAvKiAlcyAqLzsnLCBub2RlLmlkLCBwYXRoLmdldG5hbWUobm9kZS5wYXRoKSkKX3AoNCwnfSwnKQplbmQKX3AoMywnKTsnKQplbmQKX3AoMywncHJvamVjdFJvb3QgPSAiIjsnKQpfcCgzLCd0YXJnZXRzID0gKCcpCmZvciBfLCBub2RlIGluIGlwYWlycyh0ci5wcm9kdWN0cy5jaGlsZHJlbikgZG8KX3AoNCwnJXMgLyogJXMgKi8sJywgbm9kZS50YXJnZXRpZCwgbm9kZS5uYW1lKQplbmQKX3AoMywnKTsnKQpfcCgyLCd9OycpCl9wKCcvKiBFbmQgUEJYUHJvamVjdCBzZWN0aW9uICovJykKX3AoJycpCmVuZApmdW5jdGlvbiB4Y29kZS5QQlhSZWZlcmVuY2VQcm94eSh0cikKbG9jYWwgc2V0dGluZ3MgPSB7fQp0cmVlLnRyYXZlcnNlKHRyLnByb2plY3RzLCB7Cm9ubGVhZiA9IGZ1bmN0aW9uKG5vZGUpCnNldHRpbmdzW25vZGUuaWRdID0gZnVuY3Rpb24oKQpfcCgyLCclcyAvKiAlcyAqLyA9IHsnLCBub2RlLmlkLCBub2RlLm5hbWUpCl9wKDMsJ2lzYSA9IFBCWFJlZmVyZW5jZVByb3h5OycpCl9wKDMsJ2ZpbGVUeXBlID0gJXM7JywgeGNvZGUuZ2V0dGFyZ2V0dHlwZShub2RlKSkKX3AoMywncGF0aCA9ICVzOycsIHN0cmluZ2lmeVNldHRpbmcobm9kZS5uYW1lKSkKX3AoMywncmVtb3RlUmVmID0gJXMgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovOycsIG5vZGUucGFyZW50LnByb2R1Y3Rwcm94eWlkKQpfcCgzLCdzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOycpCl9wKDIsJ307JykKZW5kCmVuZAp9KQppZiBub3QgdGFibGUuaXNlbXB0eShzZXR0aW5ncykgdGhlbgpfcCgnLyogQmVnaW4gUEJYUmVmZXJlbmNlUHJveHkgc2VjdGlvbiAqLycpCnByaW50U2V0dGluZ3NUYWJsZSgyLCBzZXR0aW5ncykKX3AoJy8qIEVuZCBQQlhSZWZlcmVuY2VQcm94eSBzZWN0aW9uICovJykKX3AoJycpCmVuZAplbmQKZnVuY3Rpb24geGNvZGUuUEJYUmVzb3VyY2VzQnVpbGRQaGFzZSh0cikKX3AoJy8qIEJlZ2luIFBCWFJlc291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLycpCmZvciBfLCB0YXJnZXQgaW4gaXBhaXJzKHRyLnByb2R1Y3RzLmNoaWxkcmVuKSBkbwpfcCgyLCclcyAvKiBSZXNvdXJjZXMgKi8gPSB7JywgdGFyZ2V0LnJlc3N0YWdlaWQpCl9wKDMsJ2lzYSA9IFBCWFJlc291cmNlc0J1aWxkUGhhc2U7JykKX3AoMywnYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsnKQpfcCgzLCdmaWxlcyA9ICgnKQp0cmVlLnRyYXZlcnNlKHRyLCB7Cm9ubm9kZSA9IGZ1bmN0aW9uKG5vZGUpCmlmIHhjb2RlLmdldGJ1aWxkY2F0ZWdvcnkobm9kZSkgPT0gIlJlc291cmNlcyIgdGhlbgpfcCg0LCclcyAvKiAlcyBpbiBSZXNvdXJjZXMgKi8sJywgbm9kZS5idWlsZGlkLCBub2RlLm5hbWUpCmVuZAplbmQKfSkKX3AoMywnKTsnKQpfcCgzLCdydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsnKQpfcCgyLCd9OycpCmVuZApfcCgnLyogRW5kIFBCWFJlc291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLycpCl9wKCcnKQplbmQKZnVuY3Rpb24geGNvZGUuUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlKHRyKQpsb2NhbCB3cmFwcGVyV3JpdHRlbiA9IGZhbHNlCmxvY2FsIGZ1bmN0aW9uIGRvYmxvY2soaWQsIG5hbWUsIHdoaWNoKQpsb2NhbCBwcmpjbWRzID0gdHIucHJvamVjdFt3aGljaF0KbG9jYWwgY29tbWFuZHMgPSB0YWJsZS5qb2luKHByamNtZHMsIHt9KQpmb3IgXywgY2ZnIGluIGlwYWlycyh0ci5jb25maWdzKSBkbwpsb2NhbCBjZmdjbWRzID0gY2ZnW3doaWNoXQppZiAjY2ZnY21kcyA+ICNwcmpjbWRzIHRoZW4KdGFibGUuaW5zZXJ0KGNvbW1hbmRzLCAnaWYgWyAiJHtDT05GSUdVUkFUSU9OfSIgPSAiJyAuLiBjZmcuYnVpbGRjZmcgLi4gJyIgXTsgdGhlbicpCmZvciBpID0gI3ByamNtZHMgKyAxLCAjY2ZnY21kcyBkbwp0YWJsZS5pbnNlcnQoY29tbWFuZHMsIGNmZ2NtZHNbaV0pCmVuZAp0YWJsZS5pbnNlcnQoY29tbWFuZHMsICdmaScpCmVuZAplbmQKaWYgI2NvbW1hbmRzID4gMCB0aGVuCnRhYmxlLmluc2VydChjb21tYW5kcywgMSwgJ3NldCAtZScpIC0tIFRlbGxzIHRoZSBzaGVsbCB0byBleGl0IHdoZW4gYW55IGNvbW1hbmQgZmFpbHMKY29tbWFuZHMgPSBvcy50cmFuc2xhdGVDb21tYW5kcyhjb21tYW5kcywgcC5NQUNPU1gpCmlmIG5vdCB3cmFwcGVyV3JpdHRlbiB0aGVuCl9wKCcvKiBCZWdpbiBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhhc2Ugc2VjdGlvbiAqLycpCndyYXBwZXJXcml0dGVuID0gdHJ1ZQplbmQKX3AoMiwnJXMgLyogJXMgKi8gPSB7JywgaWQsIG5hbWUpCl9wKDMsJ2lzYSA9IFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZTsnKQpfcCgzLCdidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OycpCl9wKDMsJ2ZpbGVzID0gKCcpCl9wKDMsJyk7JykKX3AoMywnaW5wdXRQYXRocyA9ICgnKTsKX3AoMywnKTsnKTsKX3AoMywnbmFtZSA9ICVzOycsIG5hbWUpOwpfcCgzLCdvdXRwdXRQYXRocyA9ICgnKTsKX3AoMywnKTsnKTsKX3AoMywncnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7Jyk7Cl9wKDMsJ3NoZWxsUGF0aCA9IC9iaW4vc2g7Jyk7Cl9wKDMsJ3NoZWxsU2NyaXB0ID0gJXM7Jywgc3RyaW5naWZ5U2V0dGluZyh0YWJsZS5jb25jYXQoY29tbWFuZHMsICdcbicpKSkKX3AoMiwnfTsnKQplbmQKZW5kCmRvYmxvY2soIjk2MDdBRTEwMTBDODU3RTUwMENEMTM3NiIsICJQcmVidWlsZCIsICJwcmVidWlsZGNvbW1hbmRzIikKbG9jYWwgc2V0dGluZ3MgPSB7fQp0cmVlLnRyYXZlcnNlKHRyLCB7Cm9ubm9kZSA9IGZ1bmN0aW9uKG5vZGUpCmlmIG5vZGUuYnVpbGRjb21tYW5kaWQgdGhlbgpzZXR0aW5nc1tub2RlLmJ1aWxkY29tbWFuZGlkXSA9IGZ1bmN0aW9uKGxldmVsKQpsb2NhbCBjb21tYW5kcyA9IHt9CmxvY2FsIGlucHV0cyA9IHt9CmxvY2FsIG91dHB1dHMgPSB7fQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyh0ci5wcm9qZWN0KSBkbwpsb2NhbCBmaWxlY2ZnID0gZmlsZWNvbmZpZy5nZXRjb25maWcobm9kZSwgY2ZnKQppZiBmaWxlY2ZnIHRoZW4KdGFibGUuaW5zZXJ0KGNvbW1hbmRzLCAnaWYgWyAiJHtDT05GSUdVUkFUSU9OfSIgPSAiJyAuLiBjZmcuYnVpbGRjZmcgLi4gJyIgXTsgdGhlbicpCmlmIGZpbGVjZmcuYnVpbGRtZXNzYWdlIHRoZW4KdGFibGUuaW5zZXJ0KGNvbW1hbmRzLCAnXHRlY2hvICInIC4uIGZpbGVjZmcuYnVpbGRtZXNzYWdlIC4uICciJykKZW5kCmxvY2FsIGNtZHMgPSBvcy50cmFuc2xhdGVDb21tYW5kc0FuZFBhdGhzKGZpbGVjZmcuYnVpbGRjb21tYW5kcywgZmlsZWNmZy5wcm9qZWN0LmJhc2VkaXIsIGZpbGVjZmcucHJvamVjdC5sb2NhdGlvbikKZm9yIF8sIGNtZCBpbiBpcGFpcnMoY21kcykgZG8KdGFibGUuaW5zZXJ0KGNvbW1hbmRzLCAnXHQnIC4uIGNtZCkKZW5kCnRhYmxlLmluc2VydChjb21tYW5kcywgJ2ZpJykKZm9yIF8sIHYgaW4gaXBhaXJzKGZpbGVjZmcuYnVpbGRpbnB1dHMpIGRvCmlucHV0c1t2XSA9IHRydWUKZW5kCmZvciBfLCB2IGluIGlwYWlycyhmaWxlY2ZnLmJ1aWxkb3V0cHV0cykgZG8Kb3V0cHV0c1t2XSA9IHRydWUKZW5kCmVuZAplbmQKaWYgI2NvbW1hbmRzID4gMCB0aGVuCnRhYmxlLmluc2VydChjb21tYW5kcywgMSwgJ3NldCAtZScpIC0tIFRlbGxzIHRoZSBzaGVsbCB0byBleGl0IHdoZW4gYW55IGNvbW1hbmQgZmFpbHMKZW5kCl9wKGxldmVsLCclcyAvKiBCdWlsZCAiJXMiICovID0geycsIG5vZGUuYnVpbGRjb21tYW5kaWQsIG5vZGUubmFtZSkKX3AobGV2ZWwrMSwnaXNhID0gUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlOycpCl9wKGxldmVsKzEsJ2J1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7JykKX3AobGV2ZWwrMSwnZmlsZXMgPSAoJykKX3AobGV2ZWwrMSwnKTsnKQpfcChsZXZlbCsxLCdpbnB1dFBhdGhzID0gKCcpOwpfcChsZXZlbCsyLCciJXMiLCcsIGVzY2FwZVNldHRpbmcobm9kZS5yZWxwYXRoKSkKZm9yIHYsIF8gaW4gcGFpcnMoaW5wdXRzKSBkbwpfcChsZXZlbCsyLCciJXMiLCcsIGVzY2FwZVNldHRpbmcocHJvamVjdC5nZXRyZWxhdGl2ZSh0ci5wcm9qZWN0LCB2KSkpCmVuZApfcChsZXZlbCsxLCcpOycpCl9wKGxldmVsKzEsJ25hbWUgPSAlczsnLCBzdHJpbmdpZnlTZXR0aW5nKCdCdWlsZCAiJyAuLiBub2RlLm5hbWUgLi4gJyInKSkKX3AobGV2ZWwrMSwnb3V0cHV0UGF0aHMgPSAoJykKZm9yIHYsIF8gaW4gcGFpcnMob3V0cHV0cykgZG8KX3AobGV2ZWwrMiwnIiVzIiwnLCBlc2NhcGVTZXR0aW5nKHByb2plY3QuZ2V0cmVsYXRpdmUgKHRyLnByb2plY3QsIHYpKSkKZW5kCl9wKGxldmVsKzEsJyk7JykKX3AobGV2ZWwrMSwncnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7Jyk7Cl9wKGxldmVsKzEsJ3NoZWxsUGF0aCA9IC9iaW4vc2g7Jyk7Cl9wKGxldmVsKzEsJ3NoZWxsU2NyaXB0ID0gJXM7Jywgc3RyaW5naWZ5U2V0dGluZyh0YWJsZS5jb25jYXQoY29tbWFuZHMsICdcbicpKSkKX3AobGV2ZWwsJ307JykKZW5kCmVuZAplbmQKfSkKaWYgbm90IHRhYmxlLmlzZW1wdHkoc2V0dGluZ3MpIHRoZW4KaWYgbm90IHdyYXBwZXJXcml0dGVuIHRoZW4KX3AoJy8qIEJlZ2luIFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZSBzZWN0aW9uICovJykKd3JhcHBlcldyaXR0ZW4gPSB0cnVlCmVuZApwcmludFNldHRpbmdzVGFibGUoMiwgc2V0dGluZ3MpCmVuZApkb2Jsb2NrKCI5NjA3QUUzNTEwQzg1RTdFMDBDRDEzNzYiLCAiUHJlbGluayIsICJwcmVsaW5rY29tbWFuZHMiKQpkb2Jsb2NrKCI5NjA3QUUzNzEwQzg1RThGMDBDRDEzNzYiLCAiUG9zdGJ1aWxkIiwgInBvc3RidWlsZGNvbW1hbmRzIikKaWYgd3JhcHBlcldyaXR0ZW4gdGhlbgpfcCgnLyogRW5kIFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZSBzZWN0aW9uICovJykKX3AoJycpCmVuZAplbmQKZnVuY3Rpb24geGNvZGUuUEJYU291cmNlc0J1aWxkUGhhc2UodHIpCl9wKCcvKiBCZWdpbiBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovJykKZm9yIF8sIHRhcmdldCBpbiBpcGFpcnModHIucHJvZHVjdHMuY2hpbGRyZW4pIGRvCl9wKDIsJyVzIC8qIFNvdXJjZXMgKi8gPSB7JywgdGFyZ2V0LnNvdXJjZXNpZCkKX3AoMywnaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7JykKX3AoMywnYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsnKQpfcCgzLCdmaWxlcyA9ICgnKQp0cmVlLnRyYXZlcnNlKHRyLCB7Cm9ubGVhZiA9IGZ1bmN0aW9uKG5vZGUpCmlmIHhjb2RlLmdldGJ1aWxkY2F0ZWdvcnkobm9kZSkgPT0gIlNvdXJjZXMiIGFuZCBub2RlLmJ1aWxkaWQgdGhlbgpfcCg0LCclcyAvKiAlcyBpbiBTb3VyY2VzICovLCcsIG5vZGUuYnVpbGRpZCwgbm9kZS5uYW1lKQplbmQKZW5kCn0pCl9wKDMsJyk7JykKX3AoMywncnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7JykKX3AoMiwnfTsnKQplbmQKX3AoJy8qIEVuZCBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovJykKX3AoJycpCmVuZApmdW5jdGlvbiB4Y29kZS5QQlhWYXJpYW50R3JvdXAodHIpCmxvY2FsIHNldHRpbmdzID0ge30KdHJlZS50cmF2ZXJzZSh0ciwgewpvbmJyYW5jaCA9IGZ1bmN0aW9uKG5vZGUpCnNldHRpbmdzW25vZGUuaWRdID0gZnVuY3Rpb24oKQppZiBub2RlLmtpbmQgPT0gInZncm91cCIgdGhlbgpfcCgyLCclcyAvKiAlcyAqLyA9IHsnLCBub2RlLmlkLCBub2RlLm5hbWUpCl9wKDMsJ2lzYSA9IFBCWFZhcmlhbnRHcm91cDsnKQpfcCgzLCdjaGlsZHJlbiA9ICgnKQpmb3IgXywgbGFuZyBpbiBpcGFpcnMobm9kZS5jaGlsZHJlbikgZG8KX3AoNCwnJXMgLyogJXMgKi8sJywgbGFuZy5pZCwgbGFuZy5uYW1lKQplbmQKX3AoMywnKTsnKQpfcCgzLCduYW1lID0gJXM7Jywgbm9kZS5uYW1lKQpfcCgzLCdzb3VyY2VUcmVlID0gIjxncm91cD4iOycpCl9wKDIsJ307JykKZW5kCmVuZAplbmQKfSkKaWYgbm90IHRhYmxlLmlzZW1wdHkoc2V0dGluZ3MpIHRoZW4KX3AoJy8qIEJlZ2luIFBCWFZhcmlhbnRHcm91cCBzZWN0aW9uICovJykKcHJpbnRTZXR0aW5nc1RhYmxlKDIsIHNldHRpbmdzKQpfcCgnLyogRW5kIFBCWFZhcmlhbnRHcm91cCBzZWN0aW9uICovJykKX3AoJycpCmVuZAplbmQKZnVuY3Rpb24geGNvZGUuUEJYVGFyZ2V0RGVwZW5kZW5jeSh0cikKbG9jYWwgc2V0dGluZ3MgPSB7fQp0cmVlLnRyYXZlcnNlKHRyLnByb2plY3RzLCB7Cm9ubGVhZiA9IGZ1bmN0aW9uKG5vZGUpCnNldHRpbmdzW25vZGUucGFyZW50LnRhcmdldGRlcGVuZGlkXSA9IGZ1bmN0aW9uKCkKX3AoMiwnJXMgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsnLCBub2RlLnBhcmVudC50YXJnZXRkZXBlbmRpZCkKX3AoMywnaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsnKQpfcCgzLCduYW1lID0gJXM7Jywgc3RyaW5naWZ5U2V0dGluZyhub2RlLm5hbWUpKQpfcCgzLCd0YXJnZXRQcm94eSA9ICVzIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsnLCBub2RlLnBhcmVudC50YXJnZXRwcm94eWlkKQpfcCgyLCd9OycpCmVuZAplbmQKfSkKaWYgbm90IHRhYmxlLmlzZW1wdHkoc2V0dGluZ3MpIHRoZW4KX3AoJy8qIEJlZ2luIFBCWFRhcmdldERlcGVuZGVuY3kgc2VjdGlvbiAqLycpCnByaW50U2V0dGluZ3NUYWJsZSgyLCBzZXR0aW5ncykKX3AoJy8qIEVuZCBQQlhUYXJnZXREZXBlbmRlbmN5IHNlY3Rpb24gKi8nKQpfcCgnJykKZW5kCmVuZApmdW5jdGlvbiB4Y29kZS5YQ0J1aWxkQ29uZmlndXJhdGlvbl9UYXJnZXQodHIsIHRhcmdldCwgY2ZnKQpsb2NhbCBzZXR0aW5ncyA9IHt9CnNldHRpbmdzWydBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMnXSA9ICdOTycKaWYgY2ZnLnN5bWJvbHMgfj0gcC5PRkYgdGhlbgpzZXR0aW5nc1snREVCVUdfSU5GT1JNQVRJT05fRk9STUFUJ10gPSB4Y29kZS5nZXRkZWJ1Z2Zvcm1hdChjZmcpCmVuZAppZiBjZmcua2luZCB+PSAiU3RhdGljTGliIiBhbmQgY2ZnLmJ1aWxkdGFyZ2V0LnByZWZpeCB+PSAnJyB0aGVuCnNldHRpbmdzWydFWEVDVVRBQkxFX1BSRUZJWCddID0gY2ZnLmJ1aWxkdGFyZ2V0LnByZWZpeAplbmQKaWYgY2ZnLmJ1aWxkdGFyZ2V0LmV4dGVuc2lvbiB0aGVuCmxvY2FsIGV4dHMgPSB7CldpbmRvd2VkQXBwICA9ICJhcHAiLApTaGFyZWRMaWIgICAgPSAiZHlsaWIiLApTdGF0aWNMaWIgICAgPSAiYSIsCk9TWEJ1bmRsZSAgICA9ICJidW5kbGUiLApPU1hGcmFtZXdvcmsgPSAiZnJhbWV3b3JrIiwKWENUZXN0ICAgICAgID0gInhjdGVzdCIsCn0KbG9jYWwgZXh0ID0gY2ZnLmJ1aWxkdGFyZ2V0LmV4dGVuc2lvbjpzdWIoMikKaWYgZXh0IH49IGV4dHNbaWlmKGNmZy5raW5kID09ICJTaGFyZWRMaWIiIGFuZCBjZmcuc2hhcmVkbGlidHlwZSwgY2ZnLnNoYXJlZGxpYnR5cGUsIGNmZy5raW5kKV0gdGhlbgppZiBjZmcua2luZCA9PSAiV2luZG93ZWRBcHAiIG9yIChjZmcua2luZCA9PSAiU2hhcmVkTGliIiBhbmQgY2ZnLnNoYXJlZGxpYnR5cGUpIHRoZW4Kc2V0dGluZ3NbJ1dSQVBQRVJfRVhURU5TSU9OJ10gPSBleHQKZWxzZWlmIGNmZy5raW5kID09ICJTaGFyZWRMaWIiIG9yIGNmZy5raW5kID09ICJTdGF0aWNMaWIiIHRoZW4Kc2V0dGluZ3NbJ0VYRUNVVEFCTEVfRVhURU5TSU9OJ10gPSBleHQKZW5kCmVuZAplbmQKbG9jYWwgb3V0ZGlyID0gcGF0aC5nZXRyZWxhdGl2ZSh0ci5wcm9qZWN0LmxvY2F0aW9uLCBwYXRoLmdldGRpcmVjdG9yeShjZmcuYnVpbGR0YXJnZXQucmVscGF0aCkpCmlmIG91dGRpciB+PSAiLiIgdGhlbgpzZXR0aW5nc1snQ09ORklHVVJBVElPTl9CVUlMRF9ESVInXSA9IG91dGRpcgplbmQKc2V0dGluZ3NbJ0dDQ19EWU5BTUlDX05PX1BJQyddID0gJ05PJwppZiB0ci5pbmZvcGxpc3QgdGhlbgpzZXR0aW5nc1snSU5GT1BMSVNUX0ZJTEUnXSA9IGNvbmZpZy5maW5kZmlsZShjZmcsIHBhdGguZ2V0ZXh0ZW5zaW9uKHRyLmluZm9wbGlzdC5uYW1lKSkKZW5kCmxvY2FsIGluc3RhbGxwYXRocyA9IHsKQ29uc29sZUFwcCA9ICcvdXNyL2xvY2FsL2JpbicsCldpbmRvd2VkQXBwID0gJyIkKEhPTUUpL0FwcGxpY2F0aW9ucyInLApTaGFyZWRMaWIgPSAnL3Vzci9sb2NhbC9saWInLApTdGF0aWNMaWIgPSAnL3Vzci9sb2NhbC9saWInLApPU1hCdW5kbGUgPSAnJChMT0NBTF9MSUJSQVJZX0RJUikvQnVuZGxlcycsCk9TWEZyYW1ld29yayA9ICckKExPQ0FMX0xJQlJBUllfRElSKS9GcmFtZXdvcmtzJywKfQpzZXR0aW5nc1snSU5TVEFMTF9QQVRIJ10gPSBpbnN0YWxscGF0aHNbaWlmKGNmZy5raW5kID09ICJTaGFyZWRMaWIiIGFuZCBjZmcuc2hhcmVkbGlidHlwZSwgY2ZnLnNoYXJlZGxpYnR5cGUsIGNmZy5raW5kKV0KbG9jYWwgZmlsZU5hbWVMaXN0ID0ge30KbG9jYWwgZmlsZV90cmVlID0gcHJvamVjdC5nZXRzb3VyY2V0cmVlKHRyLnByb2plY3QpCnRyZWUudHJhdmVyc2UodHIsIHsKb25ub2RlID0gZnVuY3Rpb24obm9kZSkKaWYgbm9kZS5idWlsZGlkIGFuZCBub3Qgbm9kZS5pc1Jlc291cmNlIGFuZCBub2RlLmFic3BhdGggdGhlbgpsb2NhbCBmaWxlY2ZnID0gZmlsZWNvbmZpZy5nZXRjb25maWcobm9kZSwgY2ZnKQppZiBmaWxlY2ZnIGFuZCBmaWxlY2ZnLmZsYWdzLkV4Y2x1ZGVGcm9tQnVpbGQgdGhlbgp0YWJsZS5pbnNlcnQoZmlsZU5hbWVMaXN0LCBlc2NhcGVBcmcobm9kZS5uYW1lKSkKZW5kCmVuZAplbmQKfSkKaWYgbm90IHRhYmxlLmlzZW1wdHkoZmlsZU5hbWVMaXN0KSB0aGVuCnNldHRpbmdzWydFWENMVURFRF9TT1VSQ0VfRklMRV9OQU1FUyddID0gZmlsZU5hbWVMaXN0CmVuZApzZXR0aW5nc1snUFJPRFVDVF9OQU1FJ10gPSBpaWYoY2ZnLmtpbmQgPT0gIkNvbnNvbGVBcHAiIGFuZCBjZmcuYnVpbGR0YXJnZXQuZXh0ZW5zaW9uLCBjZmcuYnVpbGR0YXJnZXQuYmFzZW5hbWUgLi4gY2ZnLmJ1aWxkdGFyZ2V0LmV4dGVuc2lvbiwgY2ZnLmJ1aWxkdGFyZ2V0LmJhc2VuYW1lKQppZiBvcy5pc3RhcmdldChwLklPUykgdGhlbgpzZXR0aW5nc1snU0RLUk9PVCddID0gJ2lwaG9uZW9zJwpzZXR0aW5nc1snQ09ERV9TSUdOX0lERU5USVRZW3Nkaz1pcGhvbmVvcypdJ10gPSBjZmcueGNvZGVjb2Rlc2lnbmluZ2lkZW50aXR5IG9yICdpUGhvbmUgRGV2ZWxvcGVyJwpsb2NhbCBtaW5PU1ZlcnNpb24gPSBwcm9qZWN0LnN5c3RlbXZlcnNpb24oY2ZnKQppZiBtaW5PU1ZlcnNpb24gfj0gbmlsIHRoZW4Kc2V0dGluZ3NbJ0lQSE9ORU9TX0RFUExPWU1FTlRfVEFSR0VUJ10gPSBtaW5PU1ZlcnNpb24KZW5kCmxvY2FsIGZhbWlsaWVzID0gewpbJ2lQaG9uZS9pUG9kIHRvdWNoJ10gPSAnMScsClsnaVBhZCddID0gJzInLApbJ1VuaXZlcnNhbCddID0gJzEsMicsCn0KbG9jYWwgZmFtaWx5ID0gZmFtaWxpZXNbY2ZnLmlvc2ZhbWlseV0KaWYgZmFtaWx5IHRoZW4Kc2V0dGluZ3NbJ1RBUkdFVEVEX0RFVklDRV9GQU1JTFknXSA9IGZhbWlseQplbmQKZW5kCm92ZXJyaWRlU2V0dGluZ3Moc2V0dGluZ3MsIGNmZy54Y29kZWJ1aWxkc2V0dGluZ3MpCl9wKDIsJyVzIC8qICVzICovID0geycsIGNmZy54Y29kZS50YXJnZXRpZCwgY2ZnLmJ1aWxkY2ZnKQpfcCgzLCdpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsnKQpfcCgzLCdidWlsZFNldHRpbmdzID0geycpCnByaW50U2V0dGluZ3NUYWJsZSg0LCBzZXR0aW5ncykKX3AoMywnfTsnKQpwcmludFNldHRpbmcoMywgJ25hbWUnLCBjZmcuYnVpbGRjZmcpOwpfcCgyLCd9OycpCmVuZAp4Y29kZS5jTGFuZ3VhZ2VTdGFuZGFyZHMgPSB7ClsiRGVmYXVsdCJdID0gImNvbXBpbGVyLWRlZmF1bHQiLCAgLS0gZXhwbGljaXQgY29tcGlsZXIgZGVmYXVsdApbIkM4OSJdID0gImM4OSIsClsiQzkwIl0gPSAiYzkwIiwKWyJDOTkiXSA9ICJjOTkiLApbIkMxMSJdID0gImMxMSIsClsiZ251ODkiXSA9ICJnbnU4OSIsClsiZ251OTAiXSA9ICJnbnU5MCIsClsiZ251OTkiXSA9ICJnbnU5OSIsClsiZ251MTEiXSA9ICJnbnUxMSIKfQpmdW5jdGlvbiB4Y29kZS5YQ0J1aWxkQ29uZmlndXJhdGlvbl9DTGFuZ3VhZ2VTdGFuZGFyZChzZXR0aW5ncywgY2ZnKQppZiBub3QgY2ZnLmNkaWFsZWN0IHRoZW4KcmV0dXJuCmVuZApsb2NhbCBjTGFuZ3VhZ2VTdGFuZGFyZCA9IHhjb2RlLmNMYW5ndWFnZVN0YW5kYXJkc1tjZmcuY2RpYWxlY3RdCmlmIGNMYW5ndWFnZVN0YW5kYXJkIHRoZW4Kc2V0dGluZ3NbJ0dDQ19DX0xBTkdVQUdFX1NUQU5EQVJEJ10gPSBjTGFuZ3VhZ2VTdGFuZGFyZAplbmQKZW5kCnhjb2RlLmNwcExhbmd1YWdlU3RhbmRhcmRzID0gewpbIkRlZmF1bHQiXSA9ICJjb21waWxlci1kZWZhdWx0IiwgIC0tIGV4cGxpY2l0IGNvbXBpbGVyIGRlZmF1bHQKWyJDKys5OCJdID0gImMrKzk4IiwKWyJDKysxMSJdID0gImMrKzExIiwKWyJDKysxNCJdID0gImMrKzE0IiwKWyJDKysxNyJdID0gImMrKzF6IiwKWyJnbnUrKzk4Il0gPSAiZ251Kys5OCIsClsiZ251KysxMSJdID0gImdudSsrMHgiLCAgLS0gWGNvZGUgcHJvamVjdCBHVUkgdXNlcyBnbnUrKzB4LCBidXQgZ251KysxMSBhbHNvIHdvcmtzClsiZ251KysxNCJdID0gImdudSsrMTQiLApbImdudSsrMTciXSA9ICJnbnUrKzF6Igp9CmZ1bmN0aW9uIHhjb2RlLlhDQnVpbGRDb25maWd1cmF0aW9uX0NwcExhbmd1YWdlU3RhbmRhcmQoc2V0dGluZ3MsIGNmZykKaWYgbm90IGNmZy5jcHBkaWFsZWN0IHRoZW4KcmV0dXJuCmVuZApsb2NhbCBjcHBMYW5ndWFnZVN0YW5kYXJkID0geGNvZGUuY3BwTGFuZ3VhZ2VTdGFuZGFyZHNbY2ZnLmNwcGRpYWxlY3RdCmlmIGNwcExhbmd1YWdlU3RhbmRhcmQgdGhlbgpzZXR0aW5nc1snQ0xBTkdfQ1hYX0xBTkdVQUdFX1NUQU5EQVJEJ10gPSBjcHBMYW5ndWFnZVN0YW5kYXJkCmVuZAplbmQKZnVuY3Rpb24geGNvZGUuWENCdWlsZENvbmZpZ3VyYXRpb25fUHJvamVjdCh0ciwgY2ZnKQpsb2NhbCBzZXR0aW5ncyA9IHt9CmxvY2FsIGFyY2hzID0gewpOYXRpdmUgPSAiJChOQVRJVkVfQVJDSF9BQ1RVQUwpIiwKeDg2ICAgID0gImkzODYiLAp4ODZfNjQgPSAieDg2XzY0IiwKVW5pdmVyc2FsMzIgPSAiJChBUkNIU19TVEFOREFSRF8zMl9CSVQpIiwKVW5pdmVyc2FsNjQgPSAiJChBUkNIU19TVEFOREFSRF82NF9CSVQpIiwKVW5pdmVyc2FsID0gIiQoQVJDSFNfU1RBTkRBUkRfMzJfNjRfQklUKSIsCn0Kc2V0dGluZ3NbJ0FSQ0hTJ10gPSBhcmNoc1tjZmcucGxhdGZvcm0gb3IgIk5hdGl2ZSJdCmxvY2FsIHRhcmdldGRpciA9IHBhdGguZ2V0ZGlyZWN0b3J5KGNmZy5idWlsZHRhcmdldC5yZWxwYXRoKQppZiB0YXJnZXRkaXIgfj0gIi4iIHRoZW4Kc2V0dGluZ3NbJ0NPTkZJR1VSQVRJT05fQlVJTERfRElSJ10gPSAnJChTWU1ST09UKScKZW5kCnNldHRpbmdzWydDT05GSUdVUkFUSU9OX1RFTVBfRElSJ10gPSAnJChPQkpST09UKScKaWYgY29uZmlnLmlzRGVidWdCdWlsZChjZmcpIHRoZW4Kc2V0dGluZ3NbJ0NPUFlfUEhBU0VfU1RSSVAnXSA9ICdOTycKZW5kCnhjb2RlLlhDQnVpbGRDb25maWd1cmF0aW9uX0NMYW5ndWFnZVN0YW5kYXJkKHNldHRpbmdzLCBjZmcpCnhjb2RlLlhDQnVpbGRDb25maWd1cmF0aW9uX0NwcExhbmd1YWdlU3RhbmRhcmQoc2V0dGluZ3MsIGNmZykKaWYgY2ZnLmV4Y2VwdGlvbmhhbmRsaW5nID09IHAuT0ZGIHRoZW4Kc2V0dGluZ3NbJ0dDQ19FTkFCTEVfQ1BQX0VYQ0VQVElPTlMnXSA9ICdOTycKZW5kCmlmIGNmZy5ydHRpID09IHAuT0ZGIHRoZW4Kc2V0dGluZ3NbJ0dDQ19FTkFCTEVfQ1BQX1JUVEknXSA9ICdOTycKZW5kCmlmIGNmZy5zeW1ib2xzID09IHAuT04gYW5kIGNmZy5lZGl0YW5kY29udGludWUgfj0gIk9mZiIgdGhlbgpzZXR0aW5nc1snR0NDX0VOQUJMRV9GSVhfQU5EX0NPTlRJTlVFJ10gPSAnWUVTJwplbmQKaWYgY2ZnLmV4Y2VwdGlvbmhhbmRsaW5nID09IHAuT0ZGIHRoZW4Kc2V0dGluZ3NbJ0dDQ19FTkFCTEVfT0JKQ19FWENFUFRJT05TJ10gPSAnTk8nCmVuZApsb2NhbCBvcHRpbWl6ZU1hcCA9IHsgT24gPSAzLCBTaXplID0gJ3MnLCBTcGVlZCA9IDMsIEZ1bGwgPSAnZmFzdCcsIERlYnVnID0gMSB9CnNldHRpbmdzWydHQ0NfT1BUSU1JWkFUSU9OX0xFVkVMJ10gPSBvcHRpbWl6ZU1hcFtjZmcub3B0aW1pemVdIG9yIDAKaWYgY2ZnLnBjaGhlYWRlciBhbmQgbm90IGNmZy5mbGFncy5Ob1BDSCB0aGVuCnNldHRpbmdzWydHQ0NfUFJFQ09NUElMRV9QUkVGSVhfSEVBREVSJ10gPSAnWUVTJwpzZXR0aW5nc1snR0NDX1BSRUZJWF9IRUFERVInXSA9IGNmZy5wY2hoZWFkZXIKZW5kCmxvY2FsIGVzY2FwZWREZWZpbmVzID0geyB9CmZvciBpLHYgaW4gaXBhaXJzKGNmZy5kZWZpbmVzKSBkbwplc2NhcGVkRGVmaW5lc1tpXSA9IGVzY2FwZUFyZyh2KQplbmQKc2V0dGluZ3NbJ0dDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElPTlMnXSA9IGVzY2FwZWREZWZpbmVzCnNldHRpbmdzWyJHQ0NfU1lNQk9MU19QUklWQVRFX0VYVEVSTiJdID0gJ05PJwppZiBjZmcudW5zaWduZWRjaGFyIH49IG5pbCB0aGVuCnNldHRpbmdzWydHQ0NfQ0hBUl9JU19VTlNJR05FRF9DSEFSJ10gPSBpaWYoY2ZnLnVuc2lnbmVkY2hhciwgIllFUyIsICJOTyIpCmVuZAppZiBjZmcuZmxhZ3MuRmF0YWxXYXJuaW5ncyB0aGVuCnNldHRpbmdzWydHQ0NfVFJFQVRfV0FSTklOR1NfQVNfRVJST1JTJ10gPSAnWUVTJwplbmQKc2V0dGluZ3NbJ0dDQ19XQVJOX0FCT1VUX1JFVFVSTl9UWVBFJ10gPSAnWUVTJwpzZXR0aW5nc1snR0NDX1dBUk5fVU5VU0VEX1ZBUklBQkxFJ10gPSAnWUVTJwpsb2NhbCBpbmNsdWRlZGlycyA9IHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGNmZy5pbmNsdWRlZGlycykKZm9yIGksdiBpbiBpcGFpcnMoaW5jbHVkZWRpcnMpIGRvCmNmZy5pbmNsdWRlZGlyc1tpXSA9IHAucXVvdGVkKHYpCmVuZApzZXR0aW5nc1snVVNFUl9IRUFERVJfU0VBUkNIX1BBVEhTJ10gPSBjZmcuaW5jbHVkZWRpcnMKbG9jYWwgc3lzaW5jbHVkZWRpcnMgPSBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBjZmcuc3lzaW5jbHVkZWRpcnMpCmZvciBpLHYgaW4gaXBhaXJzKHN5c2luY2x1ZGVkaXJzKSBkbwpjZmcuc3lzaW5jbHVkZWRpcnNbaV0gPSBwLnF1b3RlZCh2KQplbmQKaWYgbm90IHRhYmxlLmlzZW1wdHkoY2ZnLnN5c2luY2x1ZGVkaXJzKSB0aGVuCnRhYmxlLmluc2VydChjZmcuc3lzaW5jbHVkZWRpcnMsICIkKGluaGVyaXRlZCkiKQplbmQKc2V0dGluZ3NbJ0hFQURFUl9TRUFSQ0hfUEFUSFMnXSA9IGNmZy5zeXNpbmNsdWRlZGlycwpmb3IgaSx2IGluIGlwYWlycyhjZmcubGliZGlycykgZG8KY2ZnLmxpYmRpcnNbaV0gPSBwLnByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGNmZy5saWJkaXJzW2ldKQplbmQKc2V0dGluZ3NbJ0xJQlJBUllfU0VBUkNIX1BBVEhTJ10gPSBjZmcubGliZGlycwpmb3IgaSx2IGluIGlwYWlycyhjZmcuZnJhbWV3b3JrZGlycykgZG8KY2ZnLmZyYW1ld29ya2RpcnNbaV0gPSBwLnByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGNmZy5mcmFtZXdvcmtkaXJzW2ldKQplbmQKc2V0dGluZ3NbJ0ZSQU1FV09SS19TRUFSQ0hfUEFUSFMnXSA9IGNmZy5mcmFtZXdvcmtkaXJzCmxvY2FsIG9iakRpciA9IHBhdGguZ2V0cmVsYXRpdmUodHIucHJvamVjdC5sb2NhdGlvbiwgY2ZnLm9iamRpcikKc2V0dGluZ3NbJ09CSlJPT1QnXSA9IG9iakRpcgpzZXR0aW5nc1snT05MWV9BQ1RJVkVfQVJDSCddID0gaWlmKHAuY29uZmlnLmlzRGVidWdCdWlsZChjZmcpLCAnWUVTJywgJ05PJykKbG9jYWwgY2hlY2tzID0gewpbIi1mZmFzdC1tYXRoIl0gICAgICAgICAgICAgPSBjZmcuZmxvYXRpbmdwb2ludCA9PSAiRmFzdCIsClsiLWZvbWl0LWZyYW1lLXBvaW50ZXIiXSAgICA9IGNmZy5vbWl0ZnJhbWVwb2ludGVyID09ICJPbiIsClsiLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIiXSA9IGNmZy5vbWl0ZnJhbWVwb2ludGVyID09ICJPZmYiLAp9CmxvY2FsIGZsYWdzID0geyB9CmZvciBmbGFnLCBjaGVjayBpbiBwYWlycyhjaGVja3MpIGRvCmlmIGNoZWNrIHRoZW4KdGFibGUuaW5zZXJ0KGZsYWdzLCBmbGFnKQplbmQKZW5kCnNldHRpbmdzWydPVEhFUl9DRkxBR1MnXSA9IHRhYmxlLmpvaW4oZmxhZ3MsIGNmZy5idWlsZG9wdGlvbnMpCmZsYWdzID0geyB9CmZvciBfLCBsaWIgaW4gaXBhaXJzKGNvbmZpZy5nZXRsaW5rcyhjZmcsICJzeXN0ZW0iKSkgZG8KaWYgbm90IHhjb2RlLmlzZnJhbWV3b3JrKGxpYikgdGhlbgp0YWJsZS5pbnNlcnQoZmxhZ3MsICItbCIgLi4gbGliKQplbmQKZW5kCmZvciBfLCBsaWIgaW4gaXBhaXJzKGNvbmZpZy5nZXRsaW5rcyhjZmcsICJkZXBlbmRlbmNpZXMiLCAib2JqZWN0IikpIGRvCmlmIChsaWIuZXh0ZXJuYWwpIHRoZW4KaWYgbm90IHhjb2RlLmlzZnJhbWV3b3JrKGxpYi5saW5rdGFyZ2V0LmJhc2VuYW1lKSB0aGVuCnRhYmxlLmluc2VydChmbGFncywgIi1sIiAuLiBlc2NhcGVBcmcobGliLmxpbmt0YXJnZXQuYmFzZW5hbWUpKQplbmQKZW5kCmVuZApzZXR0aW5nc1snT1RIRVJfTERGTEFHUyddID0gdGFibGUuam9pbihmbGFncywgY2ZnLmxpbmtvcHRpb25zKQppZiBjZmcuZmxhZ3MuU3RhdGljUnVudGltZSB0aGVuCnNldHRpbmdzWydTVEFOREFSRF9DX1BMVVNfUExVU19MSUJSQVJZX1RZUEUnXSA9ICdzdGF0aWMnCmVuZAppZiB0YXJnZXRkaXIgfj0gIi4iIHRoZW4Kc2V0dGluZ3NbJ1NZTVJPT1QnXSA9IHBhdGguZ2V0cmVsYXRpdmUodHIucHJvamVjdC5sb2NhdGlvbiwgdGFyZ2V0ZGlyKQplbmQKaWYgY2ZnLndhcm5pbmdzID09ICJFeHRyYSIgdGhlbgpzZXR0aW5nc1snV0FSTklOR19DRkxBR1MnXSA9ICctV2FsbCAtV2V4dHJhJwplbmQKb3ZlcnJpZGVTZXR0aW5ncyhzZXR0aW5ncywgY2ZnLnhjb2RlYnVpbGRzZXR0aW5ncykKX3AoMiwnJXMgLyogJXMgKi8gPSB7JywgY2ZnLnhjb2RlLnByb2plY3RpZCwgY2ZnLmJ1aWxkY2ZnKQpfcCgzLCdpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsnKQpfcCgzLCdidWlsZFNldHRpbmdzID0geycpCnByaW50U2V0dGluZ3NUYWJsZSg0LCBzZXR0aW5ncykKX3AoMywnfTsnKQpwcmludFNldHRpbmcoMywgJ25hbWUnLCBjZmcuYnVpbGRjZmcpOwpfcCgyLCd9OycpCmVuZApmdW5jdGlvbiB4Y29kZS5YQ0J1aWxkQ29uZmlndXJhdGlvbih0cikKbG9jYWwgc2V0dGluZ3MgPSB7fQpmb3IgXywgdGFyZ2V0IGluIGlwYWlycyh0ci5wcm9kdWN0cy5jaGlsZHJlbikgZG8KZm9yIF8sIGNmZyBpbiBpcGFpcnModHIuY29uZmlncykgZG8Kc2V0dGluZ3NbY2ZnLnhjb2RlLnRhcmdldGlkXSA9IGZ1bmN0aW9uKCkKeGNvZGUuWENCdWlsZENvbmZpZ3VyYXRpb25fVGFyZ2V0KHRyLCB0YXJnZXQsIGNmZykKZW5kCmVuZAplbmQKZm9yIF8sIGNmZyBpbiBpcGFpcnModHIuY29uZmlncykgZG8Kc2V0dGluZ3NbY2ZnLnhjb2RlLnByb2plY3RpZF0gPSBmdW5jdGlvbigpCnhjb2RlLlhDQnVpbGRDb25maWd1cmF0aW9uX1Byb2plY3QodHIsIGNmZykKZW5kCmVuZAppZiBub3QgdGFibGUuaXNlbXB0eShzZXR0aW5ncykgdGhlbgpfcCgnLyogQmVnaW4gWENCdWlsZENvbmZpZ3VyYXRpb24gc2VjdGlvbiAqLycpCnByaW50U2V0dGluZ3NUYWJsZSgwLCBzZXR0aW5ncykKX3AoJy8qIEVuZCBYQ0J1aWxkQ29uZmlndXJhdGlvbiBzZWN0aW9uICovJykKX3AoJycpCmVuZAplbmQKZnVuY3Rpb24geGNvZGUuWENCdWlsZENvbmZpZ3VyYXRpb25MaXN0KHRyKQpsb2NhbCB3a3MgPSB0ci5wcm9qZWN0LndvcmtzcGFjZQpsb2NhbCBkZWZhdWx0Q2ZnTmFtZSA9IHN0cmluZ2lmeVNldHRpbmcodHIuY29uZmlnc1sxXS5idWlsZGNmZykKbG9jYWwgc2V0dGluZ3MgPSB7fQpmb3IgXywgdGFyZ2V0IGluIGlwYWlycyh0ci5wcm9kdWN0cy5jaGlsZHJlbikgZG8Kc2V0dGluZ3NbdGFyZ2V0LmNmZ3NlY3Rpb25dID0gZnVuY3Rpb24oKQpfcCgyLCclcyAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiJXMiICovID0geycsIHRhcmdldC5jZmdzZWN0aW9uLCB0YXJnZXQubmFtZSkKX3AoMywnaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsnKQpfcCgzLCdidWlsZENvbmZpZ3VyYXRpb25zID0gKCcpCmZvciBfLCBjZmcgaW4gaXBhaXJzKHRyLmNvbmZpZ3MpIGRvCl9wKDQsJyVzIC8qICVzICovLCcsIGNmZy54Y29kZS50YXJnZXRpZCwgY2ZnLmJ1aWxkY2ZnKQplbmQKX3AoMywnKTsnKQpfcCgzLCdkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7JykKX3AoMywnZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gJXM7JywgZGVmYXVsdENmZ05hbWUpCl9wKDIsJ307JykKZW5kCmVuZApzZXR0aW5nc1snMURFQjkyODkwODczM0REODAwMTBFOUNEJ10gPSBmdW5jdGlvbigpCl9wKDIsJzFERUI5Mjg5MDg3MzNERDgwMDEwRTlDRCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIiVzIiAqLyA9IHsnLCB0ci5uYW1lKQpfcCgzLCdpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OycpCl9wKDMsJ2J1aWxkQ29uZmlndXJhdGlvbnMgPSAoJykKZm9yIF8sIGNmZyBpbiBpcGFpcnModHIuY29uZmlncykgZG8KX3AoNCwnJXMgLyogJXMgKi8sJywgY2ZnLnhjb2RlLnByb2plY3RpZCwgY2ZnLmJ1aWxkY2ZnKQplbmQKX3AoMywnKTsnKQpfcCgzLCdkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7JykKX3AoMywnZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gJXM7JywgZGVmYXVsdENmZ05hbWUpCl9wKDIsJ307JykKZW5kCl9wKCcvKiBCZWdpbiBYQ0NvbmZpZ3VyYXRpb25MaXN0IHNlY3Rpb24gKi8nKQpwcmludFNldHRpbmdzVGFibGUoMiwgc2V0dGluZ3MpCl9wKCcvKiBFbmQgWENDb25maWd1cmF0aW9uTGlzdCBzZWN0aW9uICovJykKZW5kCgAAAABsb2NhbCB0ZG1kID0ge30KbG9jYWwgcCA9IHByZW1ha2UKbG9jYWwgcHJvamVjdCA9IHAucHJvamVjdApsb2NhbCBjb25maWcgPSBwLmNvbmZpZwpsb2NhbCBkID0gcC5tb2R1bGVzLmQKdGRtZC5nY2MgPSB7fQp0ZG1kLmdjYy5kYyA9ICJkbWQiCnRkbWQub3B0bGluayA9IHt9CnRkbWQub3B0bGluay5kYyA9ICJkbWQiCnRkbWQuZ2NjLmxkZmxhZ3MgPSB7CmFyY2hpdGVjdHVyZSA9IHsKeDg2ID0geyAiLW0zMiIgfSwKeDg2XzY0ID0geyAiLW02NCIgfSwKfSwKa2luZCA9IHsKU2hhcmVkTGliID0gIi1zaGFyZWQiLApTdGF0aWNMaWIgPSAiLWxpYiIsCn0KfQpmdW5jdGlvbiB0ZG1kLmdjYy5nZXRsZGZsYWdzKGNmZykKbG9jYWwgZmxhZ3MgPSBjb25maWcubWFwRmxhZ3MoY2ZnLCB0ZG1kLmdjYy5sZGZsYWdzKQpyZXR1cm4gZmxhZ3MKZW5kCnRkbWQuZ2NjLmxpYnJhcnlEaXJlY3RvcmllcyA9IHsKYXJjaGl0ZWN0dXJlID0gewp4ODYgPSAiLUwtTC91c3IvbGliIiwKeDg2XzY0ID0gIi1MLUwvdXNyL2xpYjY0IiwKfQp9CmZ1bmN0aW9uIHRkbWQuZ2NjLmdldExpYnJhcnlEaXJlY3RvcmllcyhjZmcpCmxvY2FsIGZsYWdzID0gY29uZmlnLm1hcEZsYWdzKGNmZywgdGRtZC5nY2MubGlicmFyeURpcmVjdG9yaWVzKQpmb3IgXywgZGlyIGluIGlwYWlycyhjb25maWcuZ2V0bGlua3MoY2ZnLCAic3lzdGVtIiwgImRpcmVjdG9yeSIpKSBkbwp0YWJsZS5pbnNlcnQoZmxhZ3MsICctTC1MJyAuLiBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBkaXIpKQplbmQKcmV0dXJuIGZsYWdzCmVuZApmdW5jdGlvbiB0ZG1kLmdjYy5nZXRsaW5rcyhjZmcsIHN5c3RlbW9ubHkpCmxvY2FsIHJlc3VsdCA9IHt9CmxvY2FsIGxpbmtzCmlmIG5vdCBzeXN0ZW1vbmx5IHRoZW4KbGlua3MgPSBjb25maWcuZ2V0bGlua3MoY2ZnLCAic2libGluZ3MiLCAib2JqZWN0IikKZm9yIF8sIGxpbmsgaW4gaXBhaXJzKGxpbmtzKSBkbwppZiBub3QgbGluay5wcm9qZWN0LmV4dGVybmFsIHRoZW4KaWYgbGluay5raW5kID09IHAuU1RBVElDTElCIHRoZW4KdGFibGUuaW5zZXJ0KHJlc3VsdCwgIi1MIiAuLiBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBsaW5rLmxpbmt0YXJnZXQuYWJzcGF0aCkpCmVsc2UKdGFibGUuaW5zZXJ0KHJlc3VsdCwgIi1MLWwiIC4uIGxpbmsubGlua3RhcmdldC5iYXNlbmFtZSkKZW5kCmVuZAplbmQKZW5kCmxpbmtzID0gY29uZmlnLmdldGxpbmtzKGNmZywgInN5c3RlbSIsICJmdWxscGF0aCIpCmZvciBfLCBsaW5rIGluIGlwYWlycyhsaW5rcykgZG8KaWYgcGF0aC5pc2ZyYW1ld29yayhsaW5rKSB0aGVuCnRhYmxlLmluc2VydChyZXN1bHQsICItZnJhbWV3b3JrICIgLi4gcGF0aC5nZXRiYXNlbmFtZShsaW5rKSkKZWxzZWlmIHBhdGguaXNvYmplY3RmaWxlKGxpbmspIHRoZW4KdGFibGUuaW5zZXJ0KHJlc3VsdCwgIi1MIiAuLiBsaW5rKQplbHNlCnRhYmxlLmluc2VydChyZXN1bHQsICItTC1sIiAuLiBwYXRoLmdldGJhc2VuYW1lKGxpbmspKQplbmQKZW5kCnJldHVybiByZXN1bHQKZW5kCnRkbWQub3B0bGluay5sZGZsYWdzID0gewphcmNoaXRlY3R1cmUgPSB7Cng4NiA9IHsgIi1tMzIiIH0sCng4Nl82NCA9IHsgIi1tNjQiIH0sCn0sCmtpbmQgPSB7ClNoYXJlZExpYiA9ICItc2hhcmVkIiwKU3RhdGljTGliID0gIi1saWIiLAp9Cn0KZnVuY3Rpb24gdGRtZC5vcHRsaW5rLmdldGxkZmxhZ3MoY2ZnKQpsb2NhbCBmbGFncyA9IGNvbmZpZy5tYXBGbGFncyhjZmcsIHRkbWQub3B0bGluay5sZGZsYWdzKQpyZXR1cm4gZmxhZ3MKZW5kCmZ1bmN0aW9uIHRkbWQub3B0bGluay5nZXRMaWJyYXJ5RGlyZWN0b3JpZXMoY2ZnKQpsb2NhbCBmbGFncyA9IHt9CmZvciBfLCBkaXIgaW4gaXBhaXJzKGNvbmZpZy5nZXRsaW5rcyhjZmcsICJzeXN0ZW0iLCAiZGlyZWN0b3J5IikpIGRvCnRhYmxlLmluc2VydChmbGFncywgJy1MbGliICInIC4uIHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGRpcikgLi4gJyInKQplbmQKcmV0dXJuIGZsYWdzCmVuZApmdW5jdGlvbiB0ZG1kLm9wdGxpbmsuZ2V0bGlua3MoY2ZnKQpsb2NhbCByZXN1bHQgPSB7fQpsb2NhbCBsaW5rcyA9IGNvbmZpZy5nZXRsaW5rcyhjZmcsICJkZXBlbmRlbmNpZXMiLCAib2JqZWN0IikKZm9yIF8sIGxpbmsgaW4gaXBhaXJzKGxpbmtzKSBkbwppZiBub3QgbGluay5wcm9qZWN0LmV4dGVybmFsbmFtZSB0aGVuCmxvY2FsIGxpbmtpbmZvID0gY29uZmlnLmdldGxpbmtpbmZvKGxpbmspCmlmIGxpbmsua2luZCA9PSBwLlNUQVRJQ0xJQiB0aGVuCnRhYmxlLmluc2VydChyZXN1bHQsIHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGxpbmtpbmZvLmFic3BhdGgpKQplbmQKZW5kCmVuZApsaW5rcyA9IGNvbmZpZy5nZXRsaW5rcyhjZmcsICJzeXN0ZW0iLCAiYmFzZW5hbWUiKQpmb3IgXywgbGluayBpbiBpcGFpcnMobGlua3MpIGRvCmlmIHBhdGguaXNvYmplY3RmaWxlKGxpbmspIHRoZW4KdGFibGUuaW5zZXJ0KHJlc3VsdCwgbGluaykKZWxzZWlmIHBhdGguaGFzZXh0ZW5zaW9uKGxpbmssIHAuc3lzdGVtc1tjZmcuc3lzdGVtXS5zdGF0aWNsaWIuZXh0ZW5zaW9uKSB0aGVuCnRhYmxlLmluc2VydChyZXN1bHQsIGxpbmspCmVuZAplbmQKcmV0dXJuIHJlc3VsdAplbmQKaWYgc3RyaW5nLm1hdGNoKCBvcy5nZXR2ZXJzaW9uKCkuZGVzY3JpcHRpb24sICJXaW5kb3dzIiApIH49IG5pbCB0aGVuCnAudG9vbHMuZG1kID0gdGRtZC5vcHRsaW5rCmVsc2UKcC50b29scy5kbWQgPSB0ZG1kLmdjYwplbmQKbG9jYWwgZG1kID0gcC50b29scy5kbWQKZG1kLmRmbGFncyA9IHsKYXJjaGl0ZWN0dXJlID0gewp4ODYgPSAiLW0zMm1zY29mZiIsCng4Nl82NCA9ICItbTY0IiwKfSwKZmxhZ3MgPSB7Ck9taXREZWZhdWx0TGlicmFyeT0gIi1tc2NydGxpYj0iLApDb2RlQ292ZXJhZ2U9ICItY292IiwKRG9jdW1lbnRhdGlvbj0gIi1EIiwKRmF0YWxXYXJuaW5ncz0gIi13IiwKR2VuZXJhdGVIZWFkZXI9ICItSCIsCkdlbmVyYXRlSlNPTj0gIi1YIiwKR2VuZXJhdGVNYXA9ICItbWFwIiwKUHJvZmlsZT0gIi1wcm9maWxlIiwKUXVpZXQ9ICItcXVpZXQiLApSZXRhaW5QYXRocz0gIi1vcCIsClN5bWJvbHNMaWtlQz0gIi1nYyIsClVuaXRUZXN0PSAiLXVuaXR0ZXN0IiwKVmVyYm9zZT0gIi12IiwKUHJvZmlsZUdDPSAiLXByb2ZpbGU9Z2MiLApTdGFja0ZyYW1lPSAiLWdzIiwKU3RhY2tTdG9tcD0gIi1neCIsCkFsbFRlbXBsYXRlSW5zdD0gIi1hbGxpbnN0IiwKQmV0dGVyQz0gIi1iZXR0ZXJDIiwKTWFpbj0gIi1tYWluIiwKUGVyZm9ybVN5bnRheENoZWNrT25seT0gIi1vLSIsClNob3dUTFM9ICItdnRscyIsClNob3dHQz0gIi12Z2MiLApJZ25vcmVQcmFnbWE9ICItaWdub3JlIiwKU2hvd0RlcGVuZGVuY2llcz0gIi1kZXBzIiwKfSwKYm91bmRzY2hlY2sgPSB7Ck9mZiA9ICItYm91bmRzY2hlY2s9b2ZmIiwKT24gPSAiLWJvdW5kc2NoZWNrPW9uIiwKU2FmZU9ubHkgPSAiLWJvdW5kc2NoZWNrPXNhZmVvbmx5IiwKfSwKZGVwcmVjYXRlZGZlYXR1cmVzID0gewpBbGxvdyA9ICItZCIsCldhcm4gPSAiLWR3IiwKRXJyb3IgPSAiLWRlIiwKfSwKZmxvYXRpbmdwb2ludCA9IHsKTm9uZSA9ICItbm9mbG9hdCIsCn0sCm9wdGltaXplID0gewpPbiA9ICItTyAtaW5saW5lIiwKRnVsbCA9ICItTyAtaW5saW5lIiwKU2l6ZSA9ICItTyAtaW5saW5lIiwKU3BlZWQgPSAiLU8gLWlubGluZSIsCn0sCnBpYyA9IHsKT24gPSAiLWZQSUMiLAp9LAp3YXJuaW5ncyA9IHsKRGVmYXVsdCA9ICItd2kiLApIaWdoID0gIi13aSIsCkV4dHJhID0gIi13aSIsCn0sCnN5bWJvbHMgPSB7Ck9uID0gIi1nIiwKRmFzdExpbmsgPSAiLWciLApGdWxsID0gIi1nIiwKfQp9CmZ1bmN0aW9uIGRtZC5nZXRkZmxhZ3MoY2ZnKQpsb2NhbCBmbGFncyA9IGNvbmZpZy5tYXBGbGFncyhjZmcsIGRtZC5kZmxhZ3MpCmlmIGNvbmZpZy5pc0RlYnVnQnVpbGQoY2ZnKSB0aGVuCnRhYmxlLmluc2VydChmbGFncywgIi1kZWJ1ZyIpCmVsc2UKdGFibGUuaW5zZXJ0KGZsYWdzLCAiLXJlbGVhc2UiKQplbmQKaWYgbm90IGNmZy5mbGFncy5PbWl0RGVmYXVsdExpYnJhcnkgdGhlbgpsb2NhbCByZWxlYXNlcnVudGltZSA9IG5vdCBjb25maWcuaXNEZWJ1Z0J1aWxkKGNmZykKbG9jYWwgc3RhdGljcnVudGltZSA9IHRydWUKaWYgY2ZnLnN0YXRpY3J1bnRpbWUgPT0gIk9mZiIgdGhlbgpzdGF0aWNydW50aW1lID0gZmFsc2UKZW5kCmlmIGNmZy5ydW50aW1lID09ICJEZWJ1ZyIgdGhlbgpyZWxlYXNlcnVudGltZSA9IGZhbHNlCmVsc2VpZiBjZmcucnVudGltZSA9PSAiUmVsZWFzZSIgdGhlbgpyZWxlYXNlcnVudGltZSA9IHRydWUKZW5kCmlmIChjZmcuc3RhdGljcnVudGltZSBhbmQgY2ZnLnN0YXRpY3J1bnRpbWUgfj0gIkRlZmF1bHQiKSBvciAoY2ZnLnJ1bnRpbWUgYW5kIGNmZy5ydW50aW1lIH49ICJEZWZhdWx0IikgdGhlbgppZiBzdGF0aWNydW50aW1lID09IHRydWUgYW5kIHJlbGVhc2VydW50aW1lID09IHRydWUgdGhlbgp0YWJsZS5pbnNlcnQoZmxhZ3MsICItbXNjcnRsaWI9bGliY210IikKZWxzZWlmIHN0YXRpY3J1bnRpbWUgPT0gdHJ1ZSBhbmQgcmVsZWFzZXJ1bnRpbWUgPT0gZmFsc2UgdGhlbgp0YWJsZS5pbnNlcnQoZmxhZ3MsICItbXNjcnRsaWI9bGliY210ZCIpCmVsc2VpZiBzdGF0aWNydW50aW1lID09IGZhbHNlIGFuZCByZWxlYXNlcnVudGltZSA9PSB0cnVlIHRoZW4KdGFibGUuaW5zZXJ0KGZsYWdzLCAiLW1zY3J0bGliPW1zdmNydCIpCmVsc2VpZiBzdGF0aWNydW50aW1lID09IGZhbHNlIGFuZCByZWxlYXNlcnVudGltZSA9PSBmYWxzZSB0aGVuCnRhYmxlLmluc2VydChmbGFncywgIi1tc2NydGxpYj1tc3ZjcnRkIikKZW5kCmVuZAplbmQKaWYgY2ZnLmZsYWdzLkRvY3VtZW50YXRpb24gdGhlbgppZiBjZmcuZG9jbmFtZSB0aGVuCnRhYmxlLmluc2VydChmbGFncywgIi1EZiIgLi4gcC5xdW90ZWQoY2ZnLmRvY25hbWUpKQplbmQKaWYgY2ZnLmRvY2RpciB0aGVuCnRhYmxlLmluc2VydChmbGFncywgIi1EZCIgLi4gcC5xdW90ZWQoY2ZnLmRvY2RpcikpCmVuZAplbmQKaWYgY2ZnLmZsYWdzLkdlbmVyYXRlSGVhZGVyIHRoZW4KaWYgY2ZnLmhlYWRlcm5hbWUgdGhlbgp0YWJsZS5pbnNlcnQoZmxhZ3MsICItSGYiIC4uIHAucXVvdGVkKGNmZy5oZWFkZXJuYW1lKSkKZW5kCmlmIGNmZy5oZWFkZXJkaXIgdGhlbgp0YWJsZS5pbnNlcnQoZmxhZ3MsICItSGQiIC4uIHAucXVvdGVkKGNmZy5oZWFkZXJkaXIpKQplbmQKZW5kCnJldHVybiBmbGFncwplbmQKZnVuY3Rpb24gZG1kLmdldHZlcnNpb25zKHZlcnNpb25zLCBsZXZlbCkKbG9jYWwgcmVzdWx0ID0ge30KZm9yIF8sIHZlcnNpb24gaW4gaXBhaXJzKHZlcnNpb25zKSBkbwp0YWJsZS5pbnNlcnQocmVzdWx0LCAnLXZlcnNpb249JyAuLiB2ZXJzaW9uKQplbmQKaWYgbGV2ZWwgdGhlbgp0YWJsZS5pbnNlcnQocmVzdWx0LCAnLXZlcnNpb249JyAuLiBsZXZlbCkKZW5kCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIGRtZC5nZXRkZWJ1Zyhjb25zdGFudHMsIGxldmVsKQpsb2NhbCByZXN1bHQgPSB7fQpmb3IgXywgY29uc3RhbnQgaW4gaXBhaXJzKGNvbnN0YW50cykgZG8KdGFibGUuaW5zZXJ0KHJlc3VsdCwgJy1kZWJ1Zz0nIC4uIGNvbnN0YW50KQplbmQKaWYgbGV2ZWwgdGhlbgp0YWJsZS5pbnNlcnQocmVzdWx0LCAnLWRlYnVnPScgLi4gbGV2ZWwpCmVuZApyZXR1cm4gcmVzdWx0CmVuZApmdW5jdGlvbiBkbWQuZ2V0aW1wb3J0ZGlycyhjZmcsIGRpcnMpCmxvY2FsIHJlc3VsdCA9IHt9CmZvciBfLCBkaXIgaW4gaXBhaXJzKGRpcnMpIGRvCmRpciA9IHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGRpcikKdGFibGUuaW5zZXJ0KHJlc3VsdCwgJy1JJyAuLiBwLnF1b3RlZChkaXIpKQplbmQKcmV0dXJuIHJlc3VsdAplbmQKZnVuY3Rpb24gZG1kLmdldHN0cmluZ2ltcG9ydGRpcnMoY2ZnLCBkaXJzKQpsb2NhbCByZXN1bHQgPSB7fQpmb3IgXywgZGlyIGluIGlwYWlycyhkaXJzKSBkbwpkaXIgPSBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBkaXIpCnRhYmxlLmluc2VydChyZXN1bHQsICctSicgLi4gcC5xdW90ZWQoZGlyKSkKZW5kCnJldHVybiByZXN1bHQKZW5kCmZ1bmN0aW9uIGRtZC5nZXR0YXJnZXQobmFtZSkKcmV0dXJuICItb2YiIC4uIG5hbWUKZW5kCmRtZC5tYWtlc2V0dGluZ3MgPSB7Cn0KZnVuY3Rpb24gZG1kLmdldG1ha2VzZXR0aW5ncyhjZmcpCmxvY2FsIHNldHRpbmdzID0gY29uZmlnLm1hcEZsYWdzKGNmZywgZG1kLm1ha2VzZXR0aW5ncykKcmV0dXJuIHRhYmxlLmNvbmNhdChzZXR0aW5ncykKZW5kCmRtZC50b29scyA9IHsKfQpmdW5jdGlvbiBkbWQuZ2V0dG9vbG5hbWUoY2ZnLCB0b29sKQpsb2NhbCBuYW1lcyA9IGRtZC50b29sc1tjZmcuYXJjaGl0ZWN0dXJlXSBvciBkbWQudG9vbHNbY2ZnLnN5c3RlbV0gb3Ige30KbG9jYWwgbmFtZSA9IG5hbWVzW3Rvb2xdCnJldHVybiBuYW1lIG9yIGRtZFt0b29sXQplbmQKbG9jYWwgcCA9IHByZW1ha2UKbG9jYWwgbSA9IHAubW9kdWxlcy5kCm0ubWFrZSA9IHt9CmxvY2FsIGRtYWtlID0gbS5tYWtlCnJlcXVpcmUgKCJnbWFrZSIpCmxvY2FsIG1ha2UgPSBwLm1ha2UKbG9jYWwgY3BwID0gcC5tYWtlLmNwcApsb2NhbCBwcm9qZWN0ID0gcC5wcm9qZWN0CmxvY2FsIGNvbmZpZyA9IHAuY29uZmlnCmxvY2FsIGZpbGVjb25maWcgPSBwLmZpbGVjb25maWcKbG9jYWwgZ21ha2UgPSBwLmFjdGlvbi5nZXQoICdnbWFrZScgKQppZiBnbWFrZSA9PSBuaWwgdGhlbgplcnJvciggIkZhaWxlZCB0byBsb2NhdGUgcHJlcXVpc2l0ZSBhY3Rpb24gJ2dtYWtlJyIgKQplbmQKZ21ha2UudmFsaWRfbGFuZ3VhZ2VzID0gdGFibGUuam9pbihnbWFrZS52YWxpZF9sYW5ndWFnZXMsIHsgcC5EIH0gKQpnbWFrZS52YWxpZF90b29scy5kYyA9IHsgImRtZCIsICJnZGMiLCAibGRjIiB9CmZ1bmN0aW9uIG0ubWFrZS5zZXBhcmF0ZUNvbXBpbGF0aW9uKHByaikKbG9jYWwgc29tZSA9IGZhbHNlCmxvY2FsIGFsbCA9IHRydWUKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwppZiBjZmcuY29tcGlsYXRpb25tb2RlbCA9PSAiRmlsZSIgdGhlbgpzb21lID0gdHJ1ZQplbHNlCmFsbCA9IGZhbHNlCmVuZAplbmQKcmV0dXJuIGlpZihhbGwsICJhbGwiLCBpaWYoc29tZSwgInNvbWUiLCAibm9uZSIpKQplbmQKcC5vdmVycmlkZSggZ21ha2UsICJvblByb2plY3QiLCBmdW5jdGlvbihvbGRmbiwgcHJqKQpwLmVzY2FwZXIobWFrZS5lc2MpCmlmIHByb2plY3QuaXNkKHByaikgdGhlbgpsb2NhbCBtYWtlZmlsZSA9IG1ha2UuZ2V0bWFrZWZpbGVuYW1lKHByaiwgdHJ1ZSkKcC5nZW5lcmF0ZShwcmosIG1ha2VmaWxlLCBtLm1ha2UuZ2VuZXJhdGUpCnJldHVybgplbmQKb2xkZm4ocHJqKQplbmQpCnAub3ZlcnJpZGUoIG1ha2UsICJvYmpkaXIiLCBmdW5jdGlvbihvbGRmbiwgY2ZnKQppZiBjZmcucHJvamVjdC5sYW5ndWFnZSB+PSAiRCIgb3IgY2ZnLmNvbXBpbGF0aW9ubW9kZWwgPT0gIkZpbGUiIHRoZW4Kb2xkZm4oY2ZnKQplbmQKZW5kKQpwLm92ZXJyaWRlKCBtYWtlLCAib2JqRGlyUnVsZXMiLCBmdW5jdGlvbihvbGRmbiwgcHJqKQppZiBwcmoubGFuZ3VhZ2Ugfj0gIkQiIG9yIG0ubWFrZS5zZXBhcmF0ZUNvbXBpbGF0aW9uKHByaikgfj0gIm5vbmUiIHRoZW4Kb2xkZm4ocHJqKQplbmQKZW5kKQptLmVsZW1lbnRzID0ge30KbS5lbGVtZW50cy5tYWtlZmlsZSA9IGZ1bmN0aW9uKHByaikKcmV0dXJuIHsKbWFrZS5oZWFkZXIsCm1ha2UucGhvbnlSdWxlcywKbS5tYWtlLmNvbmZpZ3MsCm0ubWFrZS5vYmplY3RzLC0tIFRPRE86IFRoaXMgaXMgYmFzaWNhbGx5IGlkZW50aWNhbCB0byBtYWtlLmNwcE9iamVjdHMoKSwgYW5kIHNob3VsZCBpZGVhbGx5IGJlIG1lcmdlZC9zaGFyZWQKbWFrZS5zaGVsbFR5cGUsCm0ubWFrZS50YXJnZXRSdWxlcywKbWFrZS50YXJnZXREaXJSdWxlcywKbWFrZS5vYmpEaXJSdWxlcywKbWFrZS5jcHBDbGVhblJ1bGVzLC0tIEQgY2xlYW4gY29kZSBpcyBpZGVudGljYWwgdG8gQy9DKysKbWFrZS5wcmVCdWlsZFJ1bGVzLAptYWtlLnByZUxpbmtSdWxlcywKbS5tYWtlLmRGaWxlUnVsZXMsCn0KZW5kCmZ1bmN0aW9uIG0ubWFrZS5nZW5lcmF0ZShwcmopCnAuY2FsbEFycmF5KG0uZWxlbWVudHMubWFrZWZpbGUsIHByaikKZW5kCmZ1bmN0aW9uIG0ubWFrZS5idWlsZFJ1bGUocHJqKQpfcCgnJChUQVJHRVQpOiAkKFNPVVJDRUZJTEVTKSAkKExEREVQUyknKQpfcCgnXHRAZWNobyBCdWlsZGluZyAlcycsIHByai5uYW1lKQpfcCgnXHQkKFNJTEVOVCkgJChCVUlMRENNRCknKQpfcCgnXHQkKFBPU1RCVUlMRENNRFMpJykKZW5kCmZ1bmN0aW9uIG0ubWFrZS5saW5rUnVsZShwcmopCl9wKCckKFRBUkdFVCk6ICQoT0JKRUNUUykgJChMRERFUFMpJykKX3AoJ1x0QGVjaG8gTGlua2luZyAlcycsIHByai5uYW1lKQpfcCgnXHQkKFNJTEVOVCkgJChMSU5LQ01EKScpCl9wKCdcdCQoUE9TVEJVSUxEQ01EUyknKQplbmQKZnVuY3Rpb24gbS5tYWtlLnRhcmdldFJ1bGVzKHByaikKbG9jYWwgc2VwYXJhdGVDb21waWxhdGlvbiA9IG0ubWFrZS5zZXBhcmF0ZUNvbXBpbGF0aW9uKHByaikKaWYgc2VwYXJhdGVDb21waWxhdGlvbiA9PSAiYWxsIiB0aGVuCm0ubWFrZS5saW5rUnVsZShwcmopCmVsc2VpZiBzZXBhcmF0ZUNvbXBpbGF0aW9uID09ICJub25lIiB0aGVuCm0ubWFrZS5idWlsZFJ1bGUocHJqKQplbHNlCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KX3goJ2lmZXEgKCQoY29uZmlnKSwlcyknLCBjZmcuc2hvcnRuYW1lKQppZiBjZmcuY29tcGlsYXRpb25tb2RlbCA9PSAiRmlsZSIgdGhlbgptLm1ha2UubGlua1J1bGUocHJqKQplbHNlCm0ubWFrZS5idWlsZFJ1bGUocHJqKQplbmQKX3AoJ2VuZGlmJykKZW5kCmVuZApfcCgnJykKZW5kCmZ1bmN0aW9uIG0ubWFrZS5kRmlsZVJ1bGVzKHByaikKbG9jYWwgc2VwYXJhdGVDb21waWxhdGlvbiA9IG0ubWFrZS5zZXBhcmF0ZUNvbXBpbGF0aW9uKHByaikKaWYgc2VwYXJhdGVDb21waWxhdGlvbiB+PSAibm9uZSIgdGhlbgptYWtlLmNwcEZpbGVSdWxlcyhwcmopCmVuZAplbmQKcC5vdmVycmlkZShjcHAsICJzdGFuZGFyZEZpbGVSdWxlcyIsIGZ1bmN0aW9uKG9sZGZuLCBwcmosIG5vZGUpCmlmIHBhdGguaXNkZmlsZShub2RlLmFic3BhdGgpIHRoZW4KX3AoJ1x0JChTSUxFTlQpICQoREMpICQoQUxMX0RGTEFHUykgJChPVVRQVVRGTEFHKSAtYyAkPCcpCmVsc2UKb2xkZm4ocHJqLCBub2RlKQplbmQKZW5kKQpwLm92ZXJyaWRlKG1ha2UsICJmaWxlVHlwZSIsIGZ1bmN0aW9uKG9sZGZuLCBub2RlKQppZiBwYXRoLmlzZGZpbGUobm9kZS5hYnNwYXRoKSB0aGVuCnJldHVybiAib2JqZWN0cyIKZWxzZQpyZXR1cm4gb2xkZm4obm9kZSkKZW5kCmVuZCkKbS5lbGVtZW50cy5tYWtlY29uZmlnID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4gewptLm1ha2UuZFRvb2xzLAptYWtlLnRhcmdldCwKbS5tYWtlLnRhcmdldCwKbWFrZS5vYmpkaXIsCm0ubWFrZS52ZXJzaW9ucywKbS5tYWtlLmRlYnVnLAptLm1ha2UuaW1wb3J0cywKbS5tYWtlLnN0cmluZ0ltcG9ydHMsCm0ubWFrZS5kRmxhZ3MsCm1ha2UubGlicywKbWFrZS5sZERlcHMsCm1ha2UubGRGbGFncywKbS5tYWtlLmxpbmtDbWQsCm1ha2UucHJlQnVpbGRDbWRzLAptYWtlLnByZUxpbmtDbWRzLAptYWtlLnBvc3RCdWlsZENtZHMsCm0ubWFrZS5hbGxSdWxlcywKbWFrZS5zZXR0aW5ncywKfQplbmQKZnVuY3Rpb24gbS5tYWtlLmNvbmZpZ3MocHJqKQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmxvY2FsIHRvb2xzZXQgPSBwLnRvb2xzW19PUFRJT05TLmRjIG9yIGNmZy50b29sc2V0IG9yICJkbWQiXQppZiBub3QgdG9vbHNldCB0aGVuCmVycm9yKCJJbnZhbGlkIHRvb2xzZXQgJyIgKyAoX09QVElPTlMuZGMgb3IgY2ZnLnRvb2xzZXQpICsgIiciKQplbmQKX3goJ2lmZXEgKCQoY29uZmlnKSwlcyknLCBjZmcuc2hvcnRuYW1lKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLm1ha2Vjb25maWcsIGNmZywgdG9vbHNldCkKX3AoJ2VuZGlmJykKX3AoJycpCmVuZAplbmQKZnVuY3Rpb24gbS5tYWtlLmRUb29scyhjZmcsIHRvb2xzZXQpCmxvY2FsIHRvb2wgPSB0b29sc2V0LmdldHRvb2xuYW1lKGNmZywgImRjIikKaWYgdG9vbCB0aGVuCl9wKCcgIERDID0gJXMnLCB0b29sKQplbmQKZW5kCmZ1bmN0aW9uIG0ubWFrZS50YXJnZXQoY2ZnLCB0b29sc2V0KQppZiBjZmcuY29tcGlsYXRpb25tb2RlbCA9PSAiRmlsZSIgdGhlbgpfcCgnICBPVVRQVVRGTEFHID0gJXMnLCB0b29sc2V0LmdldHRhcmdldCgnIiRAIicpKQplbmQKZW5kCmZ1bmN0aW9uIG0ubWFrZS52ZXJzaW9ucyhjZmcsIHRvb2xzZXQpCl9wKCcgIFZFUlNJT05TICs9JXMnLCBtYWtlLmxpc3QodG9vbHNldC5nZXR2ZXJzaW9ucyhjZmcudmVyc2lvbmNvbnN0YW50cywgY2ZnLnZlcnNpb25sZXZlbCkpKQplbmQKZnVuY3Rpb24gbS5tYWtlLmRlYnVnKGNmZywgdG9vbHNldCkKX3AoJyAgREVCVUcgKz0lcycsIG1ha2UubGlzdCh0b29sc2V0LmdldGRlYnVnKGNmZy5kZWJ1Z2NvbnN0YW50cywgY2ZnLmRlYnVnbGV2ZWwpKSkKZW5kCmZ1bmN0aW9uIG0ubWFrZS5pbXBvcnRzKGNmZywgdG9vbHNldCkKbG9jYWwgaW1wb3J0cyA9IHAuZXNjKHRvb2xzZXQuZ2V0aW1wb3J0ZGlycyhjZmcsIGNmZy5pbXBvcnRkaXJzKSkKX3AoJyAgSU1QT1JUUyArPSVzJywgbWFrZS5saXN0KGltcG9ydHMpKQplbmQKZnVuY3Rpb24gbS5tYWtlLnN0cmluZ0ltcG9ydHMoY2ZnLCB0b29sc2V0KQpsb2NhbCBzdHJpbmdJbXBvcnRzID0gcC5lc2ModG9vbHNldC5nZXRzdHJpbmdpbXBvcnRkaXJzKGNmZywgY2ZnLnN0cmluZ2ltcG9ydGRpcnMpKQpfcCgnICBTVFJJTkdJTVBPUlRTICs9JXMnLCBtYWtlLmxpc3Qoc3RyaW5nSW1wb3J0cykpCmVuZApmdW5jdGlvbiBtLm1ha2UuZEZsYWdzKGNmZywgdG9vbHNldCkKX3AoJyAgQUxMX0RGTEFHUyArPSAkKERGTEFHUyklcyAkKFZFUlNJT05TKSAkKERFQlVHKSAkKElNUE9SVFMpICQoU1RSSU5HSU1QT1JUUykgJChBUkNIKScsIG1ha2UubGlzdCh0YWJsZS5qb2luKHRvb2xzZXQuZ2V0ZGZsYWdzKGNmZyksIGNmZy5idWlsZG9wdGlvbnMpKSkKZW5kCmZ1bmN0aW9uIG0ubWFrZS5saW5rQ21kKGNmZywgdG9vbHNldCkKaWYgY2ZnLmNvbXBpbGF0aW9ubW9kZWwgPT0gIkZpbGUiIHRoZW4KX3AoJyAgTElOS0NNRCA9ICQoREMpICcgLi4gdG9vbHNldC5nZXR0YXJnZXQoIiQoVEFSR0VUKSIpIC4uICcgJChBTExfTERGTEFHUykgJChMSUJTKSAkKE9CSkVDVFMpJykKZWxzZQpfcCgnICBCVUlMRENNRCA9ICQoREMpICcgLi4gdG9vbHNldC5nZXR0YXJnZXQoIiQoVEFSR0VUKSIpIC4uICcgJChBTExfREZMQUdTKSAkKEFMTF9MREZMQUdTKSAkKExJQlMpICQoU09VUkNFRklMRVMpJykKZW5kCmVuZApmdW5jdGlvbiBtLm1ha2UuYWxsUnVsZXMoY2ZnLCB0b29sc2V0KQppZiBjZmcuY29tcGlsYXRpb25tb2RlbCA9PSAiRmlsZSIgdGhlbgpfcCgnYWxsOiAkKFRBUkdFVERJUikgJChPQkpESVIpIHByZWJ1aWxkIHByZWxpbmsgJChUQVJHRVQpJykKZWxzZQpfcCgnYWxsOiAkKFRBUkdFVERJUikgcHJlYnVpbGQgcHJlbGluayAkKFRBUkdFVCknKQplbmQKX3AoJ1x0QDonKQplbmQKZnVuY3Rpb24gbS5tYWtlLm9iamVjdHMocHJqKQpsb2NhbCByb290ID0geyBzb3VyY2VmaWxlcz17fSwgb2JqZWN0cz17fSB9CmxvY2FsIGNvbmZpZ3MgPSB7fQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmNvbmZpZ3NbY2ZnXSA9IHsgc291cmNlZmlsZXM9e30sIG9iamVjdHM9e30gfQplbmQKbG9jYWwgdHIgPSBwcm9qZWN0LmdldHNvdXJjZXRyZWUocHJqKQpwLnRyZWUudHJhdmVyc2UodHIsIHsKb25sZWFmID0gZnVuY3Rpb24obm9kZSwgZGVwdGgpCmxvY2FsIGluY2ZnID0ge30KbG9jYWwgaW5hbGwgPSB0cnVlCmxvY2FsIGN1c3RvbSA9IGZhbHNlCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbG9jYWwgZmlsZWNmZyA9IGZpbGVjb25maWcuZ2V0Y29uZmlnKG5vZGUsIGNmZykKaWYgZmlsZWNmZyBhbmQgbm90IGZpbGVjZmcuZmxhZ3MuRXhjbHVkZUZyb21CdWlsZCB0aGVuCmluY2ZnW2NmZ10gPSBmaWxlY2ZnCmN1c3RvbSA9IGZpbGVjb25maWcuaGFzQ3VzdG9tQnVpbGRSdWxlKGZpbGVjZmcpCmVsc2UKaW5hbGwgPSBmYWxzZQplbmQKZW5kCmlmIG5vdCBjdXN0b20gdGhlbgppZiBub3QgcGF0aC5pc2RmaWxlKG5vZGUuYWJzcGF0aCkgdGhlbgpyZXR1cm4KZW5kCmxvY2FsIHNvdXJjZW5hbWUgPSBub2RlLnJlbHBhdGgKbG9jYWwgb2JqZWN0bmFtZSA9ICIkKE9CSkRJUikvIiAuLiBub2RlLm9iam5hbWUgLi4gIi5vIgppZiBpbmFsbCB0aGVuCnRhYmxlLmluc2VydChyb290LnNvdXJjZWZpbGVzLCBzb3VyY2VuYW1lKQp0YWJsZS5pbnNlcnQocm9vdC5vYmplY3RzLCBvYmplY3RuYW1lKQplbHNlCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KaWYgaW5jZmdbY2ZnXSB0aGVuCnRhYmxlLmluc2VydChjb25maWdzW2NmZ10uc291cmNlZmlsZXMsIHNvdXJjZW5hbWUpCnRhYmxlLmluc2VydChjb25maWdzW2NmZ10ub2JqZWN0cywgb2JqZWN0bmFtZSkKZW5kCmVuZAplbmQKZWxzZQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmxvY2FsIGZpbGVjZmcgPSBpbmNmZ1tjZmddCmlmIGZpbGVjZmcgdGhlbgpsb2NhbCBvdXRwdXQgPSBwcm9qZWN0LmdldHJlbGF0aXZlKHByaiwgZmlsZWNmZy5idWlsZG91dHB1dHNbMV0pCmlmIHBhdGguaXNvYmplY3RmaWxlKG91dHB1dCkgdGhlbgp0YWJsZS5pbnNlcnQoY29uZmlnc1tjZmddLm9iamVjdHMsIG91dHB1dCkKZW5kCmVuZAplbmQKZW5kCmVuZAp9KQpsb2NhbCBzZXBhcmF0ZUNvbXBpbGF0aW9uID0gbS5tYWtlLnNlcGFyYXRlQ29tcGlsYXRpb24ocHJqKQpmdW5jdGlvbiBsaXN0b2JqZWN0cyh2YXIsIGxpc3QpCl9wKCclcyBcXCcsIHZhcikKZm9yIF8sIG9iamVjdG5hbWUgaW4gaXBhaXJzKGxpc3QpIGRvCl94KCdcdCVzIFxcJywgb2JqZWN0bmFtZSkKZW5kCl9wKCcnKQplbmQKaWYgc2VwYXJhdGVDb21waWxhdGlvbiB+PSAiYWxsIiB0aGVuCmxpc3RvYmplY3RzKCdTT1VSQ0VGSUxFUyA6PScsIHJvb3Quc291cmNlZmlsZXMpCmVuZAppZiBzZXBhcmF0ZUNvbXBpbGF0aW9uIH49ICJub25lIiB0aGVuCmxpc3RvYmplY3RzKCdPQkpFQ1RTIDo9Jywgcm9vdC5vYmplY3RzLCAnbycpCmVuZApmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmxvY2FsIGZpbGVzID0gY29uZmlnc1tjZmddCmlmICgjZmlsZXMuc291cmNlZmlsZXMgPiAwIGFuZCBzZXBhcmF0ZUNvbXBpbGF0aW9uIH49ICJhbGwiKSBvciAoI2ZpbGVzLm9iamVjdHMgPiAwIGFuZCBzZXBhcmF0ZUNvbXBpbGF0aW9uIH49ICJub25lIikgdGhlbgpfeCgnaWZlcSAoJChjb25maWcpLCVzKScsIGNmZy5zaG9ydG5hbWUpCmlmICNmaWxlcy5zb3VyY2VmaWxlcyA+IDAgYW5kIHNlcGFyYXRlQ29tcGlsYXRpb24gfj0gImFsbCIgdGhlbgpsaXN0b2JqZWN0cygnICBTT1VSQ0VGSUxFUyArPScsIGZpbGVzLnNvdXJjZWZpbGVzKQplbmQKaWYgI2ZpbGVzLm9iamVjdHMgPiAwIGFuZCBzZXBhcmF0ZUNvbXBpbGF0aW9uIH49ICJub25lIiB0aGVuCmxpc3RvYmplY3RzKCcgIE9CSkVDVFMgKz0nLCBmaWxlcy5vYmplY3RzKQplbmQKX3AoJ2VuZGlmJykKZW5kCmVuZApfcCgnJykKZW5kCgAAADIuNS40LjMAAAAAAGxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIGFwaSA9IHAuYXBpCmxvY2FsIERPQ19VUkwgPSAiU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9wcmVtYWtlL3ByZW1ha2UtY29yZS93aWtpLyIKYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJhcmNoaXRlY3R1cmUiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJ1bml2ZXJzYWwiLApwLlg4NiwKcC5YODZfNjQsCnAuQVJNLApwLkFSTTY0LAp9LAphbGlhc2VzID0gewppMzg2ICA9IHAuWDg2LAphbWQ2NCA9IHAuWDg2XzY0LAp4MzIgICA9IHAuWDg2LC0tIHRoZXNlIHNob3VsZCBiZSBERVBSRUNBVEVECng2NCAgID0gcC5YODZfNjQsCn0sCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJhdGwiLApzY29wZSA9ICJjb25maWciLApraW5kICA9ICJzdHJpbmciLAphbGxvd2VkID0gewoiT2ZmIiwKIkR5bmFtaWMiLAoiU3RhdGljIiwKfSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImJhc2VkaXIiLApzY29wZSA9ICJwcm9qZWN0IiwKa2luZCA9ICJwYXRoIgp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiYnVpbGRhY3Rpb24iLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJidWlsZGNvbW1hbmRzIiwKc2NvcGUgPSB7ICJjb25maWciLCAicnVsZSIgfSwKa2luZCA9ICJsaXN0OnN0cmluZyIsCnRva2VucyA9IHRydWUsCnBhdGhWYXJzID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImJ1aWxkY3VzdG9taXphdGlvbnMiLApzY29wZSA9ICJwcm9qZWN0IiwKa2luZCA9ICJsaXN0OnN0cmluZyIsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJidWlsZGRlcGVuZGVuY2llcyIsCnNjb3BlID0geyAicnVsZSIgfSwKa2luZCA9ICJsaXN0OnN0cmluZyIsCnRva2VucyA9IHRydWUsCnBhdGhWYXJzID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImJ1aWxkbG9nIiwKc2NvcGUgPSB7ICJjb25maWciIH0sCmtpbmQgPSAicGF0aCIsCnRva2VucyA9IHRydWUsCnBhdGhWYXJzID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImJ1aWxkbWVzc2FnZSIsCnNjb3BlID0geyAiY29uZmlnIiwgInJ1bGUiIH0sCmtpbmQgPSAic3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKcGF0aFZhcnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiYnVpbGRvcHRpb25zIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OnN0cmluZyIsCnRva2VucyA9IHRydWUsCnBhdGhWYXJzID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImJ1aWxkb3V0cHV0cyIsCnNjb3BlID0geyAiY29uZmlnIiwgInJ1bGUiIH0sCmtpbmQgPSAibGlzdDpwYXRoIiwKdG9rZW5zID0gdHJ1ZSwKcGF0aFZhcnMgPSBmYWxzZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImJ1aWxkaW5wdXRzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OnBhdGgiLAp0b2tlbnMgPSB0cnVlLApwYXRoVmFycyA9IGZhbHNlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiYnVpbGRydWxlIiwgICAgIC0tIERFUFJFQ0FURUQKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJ0YWJsZSIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJjaGFyYWN0ZXJzZXQiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJEZWZhdWx0IiwKIkFTQ0lJIiwKIk1CQ1MiLAoiVW5pY29kZSIsCn0KfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImNsZWFuY29tbWFuZHMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6c3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKcGF0aFZhcnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiY2xlYW5leHRlbnNpb25zIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OnN0cmluZyIsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJjbHIiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJPZmYiLAoiT24iLAoiUHVyZSIsCiJTYWZlIiwKIlVuc2FmZSIsCn0KfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImNvbXBpbGVidWlsZG91dHB1dHMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImJvb2xlYW4iCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJjb21waWxlYXMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJEZWZhdWx0IiwKIkMiLAoiQysrIiwKfQp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiY29uZmlnbWFwIiwKc2NvcGUgPSAicHJvamVjdCIsCmtpbmQgPSAibGlzdDprZXllZDphcnJheTpzdHJpbmciLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiY29uZmlndXJhdGlvbnMiLApzY29wZSA9ICJwcm9qZWN0IiwKa2luZCA9ICJsaXN0OnN0cmluZyIsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJjb3B5bG9jYWwiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6bWl4ZWQiLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZGVidWdhcmdzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OnN0cmluZyIsCnRva2VucyA9IHRydWUsCnBhdGhWYXJzID0gdHJ1ZSwKYWxsb3dEdXBsaWNhdGVzID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImRlYnVnY29tbWFuZCIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAicGF0aCIsCnRva2VucyA9IHRydWUsCnBhdGhWYXJzID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImRlYnVnY29ubmVjdGNvbW1hbmRzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OnN0cmluZyIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJkZWJ1Z2RpciIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAicGF0aCIsCnRva2VucyA9IHRydWUsCnBhdGhWYXJzID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImRlYnVnZW52cyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDpzdHJpbmciLAp0b2tlbnMgPSB0cnVlLApwYXRoVmFycyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJkZWJ1Z2V4dGVuZGVkcHJvdG9jb2wiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImJvb2xlYW4iLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZGVidWdmb3JtYXQiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJEZWZhdWx0IiwKImM3IiwKIkR3YXJmIiwKIlNwbGl0RHdhcmYiLAp9LAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZGVidWdnZXIiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJEZWZhdWx0IiwKIkdEQiIsCiJMTERCIiwKfQp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZGVidWdnZXJ0eXBlIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAphbGxvd2VkID0gewoiTWl4ZWQiLAoiTmF0aXZlT25seSIsCiJNYW5hZ2VkT25seSIsCn0KfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImRlYnVncGF0aG1hcCIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDprZXllZDpwYXRoIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImRlYnVncG9ydCIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAiaW50ZWdlciIsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJkZWJ1Z3JlbW90ZWhvc3QiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJkZWJ1Z3NlYXJjaHBhdGhzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OnBhdGgiLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZGVidWdzdGFydHVwY29tbWFuZHMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6c3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImRlYnVndG9vbGFyZ3MiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6c3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKcGF0aFZhcnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZGVidWd0b29sY29tbWFuZCIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAicGF0aCIsCnRva2VucyA9IHRydWUsCnBhdGhWYXJzID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImRlZmF1bHRwbGF0Zm9ybSIsCnNjb3BlID0gInByb2plY3QiLApraW5kID0gInN0cmluZyIsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJkZWZpbmVzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OnN0cmluZyIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJkZXBlbmRzb24iLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6c3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImRpc2FibGV3YXJuaW5ncyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDpzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZGlzcGxheSIsCnNjb3BlID0gInJ1bGUiLApraW5kID0gInN0cmluZyIsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJkcGlhd2FyZW5lc3MiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJEZWZhdWx0IiwKIk5vbmUiLAoiSGlnaCIsCiJIaWdoUGVyTW9uaXRvciIsCn0KfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImVkaXRhbmRjb250aW51ZSIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKYWxsb3dlZCA9IHsKIkRlZmF1bHQiLAoiT24iLAoiT2ZmIiwKfSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImV4Y2VwdGlvbmhhbmRsaW5nIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAphbGxvd2VkID0gewoiRGVmYXVsdCIsCiJPbiIsCiJPZmYiLAoiU0VIIiwKIkNUaHJvdyIsCn0sCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJlbmFibGV3YXJuaW5ncyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDpzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZW5kaWFuIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAphbGxvd2VkID0gewoiRGVmYXVsdCIsCiJMaXR0bGUiLAoiQmlnIiwKfSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImVudHJ5cG9pbnQiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJmYXRhbHdhcm5pbmdzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OnN0cmluZyIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJmaWxlZXh0ZW5zaW9uIiwKc2NvcGUgPSAicnVsZSIsCmtpbmQgPSAibGlzdDpzdHJpbmciLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZmlsZW5hbWUiLApzY29wZSA9IHsgInByb2plY3QiLCAicnVsZSIgfSwKa2luZCA9ICJzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZmlsZXMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6ZmlsZSIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJmdW5jdGlvbmxldmVsbGlua2luZyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAiYm9vbGVhbiIKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImZsYWdzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCAgPSAibGlzdDpzdHJpbmciLAphbGxvd2VkID0gewoiQ29tcG9uZW50IiwgICAgICAgICAgIC0tIERFUFJFQ0FURUQKIkRlYnVnRW52c0RvbnRNZXJnZSIsCiJEZWJ1Z0VudnNJbmhlcml0IiwKIkVuYWJsZVNTRSIsICAgICAgICAgICAtLSBERVBSRUNBVEVECiJFbmFibGVTU0UyIiwgICAgICAgICAgLS0gREVQUkVDQVRFRAoiRXhjbHVkZUZyb21CdWlsZCIsCiJFeHRyYVdhcm5pbmdzIiwgICAgICAgLS0gREVQUkVDQVRFRAoiRmF0YWxDb21waWxlV2FybmluZ3MiLAoiRmF0YWxMaW5rV2FybmluZ3MiLAoiRmxvYXRGYXN0IiwgICAgICAgICAgIC0tIERFUFJFQ0FURUQKIkZsb2F0U3RyaWN0IiwgICAgICAgICAtLSBERVBSRUNBVEVECiJMaW5rVGltZU9wdGltaXphdGlvbiIsCiJNYW5hZ2VkIiwgICAgICAgICAgICAgLS0gREVQUkVDQVRFRAoiTWFwcyIsCiJNRkMiLAoiTXVsdGlQcm9jZXNzb3JDb21waWxlIiwKIk5hdGl2ZVdDaGFyIiwgICAgICAgICAtLSBERVBSRUNBVEVECiJObzY0Qml0Q2hlY2tzIiwKIk5vQ29weUxvY2FsIiwKIk5vRWRpdEFuZENvbnRpbnVlIiwgICAtLSBERVBSRUNBVEVECiJOb0ZyYW1lUG9pbnRlciIsICAgICAgLS0gREVQUkVDQVRFRAoiTm9JbXBsaWNpdExpbmsiLAoiTm9JbXBvcnRMaWIiLAoiTm9JbmNyZW1lbnRhbExpbmsiLAoiTm9NYW5pZmVzdCIsCiJOb01pbmltYWxSZWJ1aWxkIiwKIk5vTmF0aXZlV0NoYXIiLCAgICAgICAtLSBERVBSRUNBVEVECiJOb1BDSCIsCiJOb1J1bnRpbWVDaGVja3MiLAoiTm9CdWZmZXJTZWN1cml0eUNoZWNrIiwKIk5vV2FybmluZ3MiLCAgICAgICAgICAtLSBERVBSRUNBVEVECiJPbWl0RGVmYXVsdExpYnJhcnkiLAoiT3B0aW1pemUiLCAgICAgICAgICAgIC0tIERFUFJFQ0FURUQKIk9wdGltaXplU2l6ZSIsICAgICAgICAtLSBERVBSRUNBVEVECiJPcHRpbWl6ZVNwZWVkIiwgICAgICAgLS0gREVQUkVDQVRFRAoiUmVsYXRpdmVMaW5rcyIsCiJSZWxlYXNlUnVudGltZSIsICAgICAgLS0gREVQUkVDQVRFRAoiU2hhZG93ZWRWYXJpYWJsZXMiLAoiU3RhdGljUnVudGltZSIsICAgICAgIC0tIERFUFJFQ0FURUQKIlN5bWJvbHMiLCAgICAgICAgICAgICAtLSBERVBSRUNBVEVECiJVbmRlZmluZWRJZGVudGlmaWVycyIsCiJXaW5NYWluIiwgICAgICAgICAgICAgLS0gREVQUkVDQVRFRAoiV1BGIiwKIkMrKzExIiwgICAgICAgICAgICAgICAtLSBERVBSRUNBVEVECiJDKysxNCIsICAgICAgICAgICAgICAgLS0gREVQUkVDQVRFRAoiQzkwIiwgICAgICAgICAgICAgICAgIC0tIERFUFJFQ0FURUQKIkM5OSIsICAgICAgICAgICAgICAgICAtLSBERVBSRUNBVEVECiJDMTEiLCAgICAgICAgICAgICAgICAgLS0gREVQUkVDQVRFRAp9LAphbGlhc2VzID0gewpGYXRhbFdhcm5pbmdzID0geyAiRmF0YWxXYXJuaW5ncyIsICJGYXRhbENvbXBpbGVXYXJuaW5ncyIsICJGYXRhbExpbmtXYXJuaW5ncyIgfSwKT3B0aW1pc2UgPSAnT3B0aW1pemUnLApPcHRpbWlzZVNpemUgPSAnT3B0aW1pemVTaXplJywKT3B0aW1pc2VTcGVlZCA9ICdPcHRpbWl6ZVNwZWVkJywKfSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImZsb2F0aW5ncG9pbnQiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJEZWZhdWx0IiwKIkZhc3QiLAoiU3RyaWN0IiwKfQp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZmxvYXRpbmdwb2ludGV4Y2VwdGlvbnMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImJvb2xlYW4iCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJpbmxpbmluZyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKYWxsb3dlZCA9IHsKIkRlZmF1bHQiLAoiRGlzYWJsZWQiLAoiRXhwbGljaXQiLAoiQXV0byIKfQp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiY2FsbGluZ2NvbnZlbnRpb24iLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJDZGVjbCIsCiJGYXN0Q2FsbCIsCiJTdGRDYWxsIiwKIlZlY3RvckNhbGwiLAp9Cn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJmb3JjZWluY2x1ZGVzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0Om1peGVkIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImZvcmNldXNpbmdzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OmZpbGUiLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiZnB1IiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAphbGxvd2VkID0gewoiU29mdHdhcmUiLAoiSGFyZHdhcmUiLAp9Cn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJkb3RuZXRmcmFtZXdvcmsiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJjc3ZlcnNpb24iLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJnY2NwcmVmaXgiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJpZ25vcmVkZWZhdWx0bGlicmFyaWVzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0Om1peGVkIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImljb24iLApzY29wZSA9ICJwcm9qZWN0IiwKa2luZCA9ICJmaWxlIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImltYWdlb3B0aW9ucyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDpzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiaW1hZ2VwYXRoIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJwYXRoIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImltcGxpYmRpciIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAicGF0aCIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJpbXBsaWJleHRlbnNpb24iLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJpbXBsaWJuYW1lIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiaW1wbGlicHJlZml4IiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiaW1wbGlic3VmZml4IiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiaW5jbHVkZWRpcnMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6ZGlyZWN0b3J5IiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImludHJpbnNpY3MiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImJvb2xlYW4iCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJiaW5kaXJzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OmRpcmVjdG9yeSIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJraW5kIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAphbGxvd2VkID0gewoiQ29uc29sZUFwcCIsCiJNYWtlZmlsZSIsCiJOb25lIiwKIlNoYXJlZExpYiIsCiJTdGF0aWNMaWIiLAoiV2luZG93ZWRBcHAiLAoiVXRpbGl0eSIsCn0sCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJzaGFyZWRsaWJ0eXBlIiwKc2NvcGUgPSAicHJvamVjdCIsCmtpbmQgPSAic3RyaW5nIiwKYWxsb3dlZCA9IHsKIk9TWEJ1bmRsZSIsCiJPU1hGcmFtZXdvcmsiLAoiWENUZXN0IiwKfSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImxhbmd1YWdlIiwKc2NvcGUgPSAicHJvamVjdCIsCmtpbmQgPSAic3RyaW5nIiwKYWxsb3dlZCA9IHsKIkMiLAoiQysrIiwKIkMjIiwKIkYjIgp9Cn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJjZGlhbGVjdCIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKYWxsb3dlZCA9IHsKIkRlZmF1bHQiLAoiQzg5IiwKIkM5MCIsCiJDOTkiLAoiQzExIiwKImdudTg5IiwKImdudTkwIiwKImdudTk5IiwKImdudTExIiwKfQp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiY3BwZGlhbGVjdCIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKYWxsb3dlZCA9IHsKIkRlZmF1bHQiLAoiQysrbGF0ZXN0IiwKIkMrKzk4IiwKIkMrKzB4IiwKIkMrKzExIiwKIkMrKzF5IiwKIkMrKzE0IiwKIkMrKzF6IiwKIkMrKzE3IiwKImdudSsrOTgiLAoiZ251KysweCIsCiJnbnUrKzExIiwKImdudSsrMXkiLAoiZ251KysxNCIsCiJnbnUrKzF6IiwKImdudSsrMTciLAp9Cn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJsaWJkaXJzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OmRpcmVjdG9yeSIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJmcmFtZXdvcmtkaXJzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OmRpcmVjdG9yeSIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJsaW5rYnVpbGRvdXRwdXRzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJib29sZWFuIgp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAibGlua29wdGlvbnMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6c3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImxpbmtzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0Om1peGVkIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gImxpbmtncm91cHMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJPZmYiLAoiT24iLAp9Cn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJsb2NhbGUiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCnRva2VucyA9IGZhbHNlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAibG9jYXRpb24iLApzY29wZSA9IHsgInByb2plY3QiLCAicnVsZSIgfSwKa2luZCA9ICJwYXRoIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gIm1ha2VzZXR0aW5ncyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDpzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAibmFtZXNwYWNlIiwKc2NvcGUgPSAicHJvamVjdCIsCmtpbmQgPSAic3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gIm5hdGl2ZXdjaGFyIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAphbGxvd2VkID0gewoiRGVmYXVsdCIsCiJPbiIsCiJPZmYiLAp9Cn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJudWdldCIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDpzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAibnVnZXRzb3VyY2UiLApzY29wZSA9ICJwcm9qZWN0IiwKa2luZCA9ICJzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAib2JqZGlyIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJwYXRoIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gIm9wdGltaXplIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAphbGxvd2VkID0gewoiT2ZmIiwKIk9uIiwKIkRlYnVnIiwKIlNpemUiLAoiU3BlZWQiLAoiRnVsbCIsCn0KfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInJ1bnBhdGhkaXJzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OnBhdGgiLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAicnVudGltZSIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKYWxsb3dlZCA9IHsKIkRlYnVnIiwKIlJlbGVhc2UiLAp9Cn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJwY2hoZWFkZXIiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJwY2hzb3VyY2UiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInBhdGgiLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAicGljIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAphbGxvd2VkID0gewoiT2ZmIiwKIk9uIiwKfQp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAicGxhdGZvcm1zIiwKc2NvcGUgPSAicHJvamVjdCIsCmtpbmQgPSAibGlzdDpzdHJpbmciLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAicG9zdGJ1aWxkY29tbWFuZHMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6c3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKcGF0aFZhcnMgPSB0cnVlLAphbGxvd0R1cGxpY2F0ZXMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAicG9zdGJ1aWxkbWVzc2FnZSIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKcGF0aFZhcnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAicHJlYnVpbGRjb21tYW5kcyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDpzdHJpbmciLAp0b2tlbnMgPSB0cnVlLApwYXRoVmFycyA9IHRydWUsCmFsbG93RHVwbGljYXRlcyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJwcmVidWlsZG1lc3NhZ2UiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCnRva2VucyA9IHRydWUsCnBhdGhWYXJzID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInByZWxpbmtjb21tYW5kcyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDpzdHJpbmciLAp0b2tlbnMgPSB0cnVlLApwYXRoVmFycyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJwcmVsaW5rbWVzc2FnZSIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKcGF0aFZhcnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAicHJvcGVydHlkZWZpbml0aW9uIiwKc2NvcGUgPSAicnVsZSIsCmtpbmQgPSAibGlzdDp0YWJsZSIsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJyZWJ1aWxkY29tbWFuZHMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6c3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKcGF0aFZhcnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAicmVzZGVmaW5lcyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDpzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAicmVzaW5jbHVkZWRpcnMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6ZGlyZWN0b3J5IiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInJlc29wdGlvbnMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gImxpc3Q6c3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInJlc291cmNlZ2VuZXJhdG9yIiwKc2NvcGUgPSAicHJvamVjdCIsCmtpbmQgPSAic3RyaW5nIiwKICAgICAgICBhbGxvd2VkID0gewogICAgICAgICAgICAiaW50ZXJuYWwiLAogICAgICAgICAgICAicHVibGljIgogICAgICAgIH0KfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInJ0dGkiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJEZWZhdWx0IiwKIk9uIiwKIk9mZiIsCn0sCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJydWxlcyIsCnNjb3BlID0gInByb2plY3QiLApraW5kID0gImxpc3Q6c3RyaW5nIiwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInN0YXJ0cHJvamVjdCIsCnNjb3BlID0gIndvcmtzcGFjZSIsCmtpbmQgPSAic3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInN0YXRpY3J1bnRpbWUiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJEZWZhdWx0IiwKIk9uIiwKIk9mZiIKfQp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAic3RyaWN0YWxpYXNpbmciLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJPZmYiLAoiTGV2ZWwxIiwKIkxldmVsMiIsCiJMZXZlbDMiLAp9Cn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJzdHJpbmdwb29saW5nIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJib29sZWFuIgp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAic3ltYm9scyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKYWxsb3dlZCA9IHsKIkRlZmF1bHQiLAoiT24iLAoiT2ZmIiwKIkZhc3RMaW5rIiwgICAgLS0gVmlzdWFsIFN0dWRpbyAyMDE1KyBvbmx5LCBjb25zaWRlcmVkICdPbicgZm9yIGFsbCBvdGhlciBjYXNlcy4KIkZ1bGwiLCAgICAgICAgLS0gVmlzdWFsIFN0dWRpbyAyMDE3KyBvbmx5LCBjb25zaWRlcmVkICdPbicgZm9yIGFsbCBvdGhlciBjYXNlcy4KfSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInN5bWJvbHNwYXRoIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJwYXRoIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInN5c2luY2x1ZGVkaXJzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OmRpcmVjdG9yeSIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJzeXNsaWJkaXJzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OmRpcmVjdG9yeSIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJzeXN0ZW0iLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJhaXgiLAoiYnNkIiwKImhhaWt1IiwKImlvcyIsCiJsaW51eCIsCiJtYWNvc3giLAoic29sYXJpcyIsCiJ3aWkiLAoid2luZG93cyIsCn0sCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJzeXN0ZW12ZXJzaW9uIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAidGFncyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDpzdHJpbmciLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAidGFpbGNhbGxzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJib29sZWFuIgp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAidGFyZ2V0ZGlyIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJwYXRoIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInRhcmdldGV4dGVuc2lvbiIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKdG9rZW5zID0gdHJ1ZSwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInRhcmdldG5hbWUiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJ0YXJnZXRwcmVmaXgiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJ0YXJnZXRzdWZmaXgiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJ0b29sc2V0IiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJzdHJpbmciLAphbGxvd2VkID0gZnVuY3Rpb24odmFsdWUpCnZhbHVlID0gdmFsdWU6bG93ZXIoKQpsb2NhbCB0b29sLCB2ZXJzaW9uID0gcC50b29scy5jYW5vbmljYWwodmFsdWUpCmlmIHRvb2wgdGhlbgpyZXR1cm4gcC50b29scy5ub3JtYWxpemUodmFsdWUpCmVsc2UKcmV0dXJuIG5pbAplbmQKZW5kLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiY3VzdG9tdG9vbG5hbWVzcGFjZSIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInVuZGVmaW5lcyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAibGlzdDpzdHJpbmciLAp0b2tlbnMgPSB0cnVlLAp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAidXNpbmdkaXJzIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OmRpcmVjdG9yeSIsCnRva2VucyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJ1dWlkIiwKc2NvcGUgPSAicHJvamVjdCIsCmtpbmQgPSAic3RyaW5nIiwKYWxsb3dlZCA9IGZ1bmN0aW9uKHZhbHVlKQpsb2NhbCBvayA9IHRydWUKaWYgKCN2YWx1ZSB+PSAzNikgdGhlbiBvayA9IGZhbHNlIGVuZApmb3IgaT0xLDM2IGRvCmxvY2FsIGNoID0gdmFsdWU6c3ViKGksaSkKaWYgKG5vdCBjaDpmaW5kKCJbQUJDREVGYWJjZGVmMDEyMzQ1Njc4OS1dIikpIHRoZW4gb2sgPSBmYWxzZSBlbmQKZW5kCmlmICh2YWx1ZTpzdWIoOSw5KSB+PSAiLSIpICAgdGhlbiBvayA9IGZhbHNlIGVuZAppZiAodmFsdWU6c3ViKDE0LDE0KSB+PSAiLSIpIHRoZW4gb2sgPSBmYWxzZSBlbmQKaWYgKHZhbHVlOnN1YigxOSwxOSkgfj0gIi0iKSB0aGVuIG9rID0gZmFsc2UgZW5kCmlmICh2YWx1ZTpzdWIoMjQsMjQpIH49ICItIikgdGhlbiBvayA9IGZhbHNlIGVuZAppZiAobm90IG9rKSB0aGVuCnJldHVybiBuaWwsICJpbnZhbGlkIFVVSUQiCmVuZApyZXR1cm4gdmFsdWU6dXBwZXIoKQplbmQKfQphcGkucmVnaXN0ZXIgewpuYW1lID0gInZlY3RvcmV4dGVuc2lvbnMiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJEZWZhdWx0IiwKIkFWWCIsCiJBVlgyIiwKIklBMzIiLAoiU1NFIiwKIlNTRTIiLAoiU1NFMyIsCiJTU1NFMyIsCiJTU0U0LjEiLAp9Cn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJpc2FleHRlbnNpb25zIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJsaXN0OnN0cmluZyIsCmFsbG93ZWQgPSB7CiJNT1ZCRSIsCiJQT1BDTlQiLAoiUENMTVVMIiwKIkxaQ05UIiwKIkJNSSIsCiJCTUkyIiwKIkYxNkMiLAoiQUVTIiwKIkZNQSIsCiJGTUE0IiwKIlJEUk5EIiwKfQp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAidnBhdGhzIiwKc2NvcGUgPSAicHJvamVjdCIsCmtpbmQgPSAibGlzdDprZXllZDpsaXN0OnBhdGgiLAp0b2tlbnMgPSB0cnVlLApwYXRoVmFycyA9IHRydWUsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJ3YXJuaW5ncyIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKYWxsb3dlZCA9IHsKIk9mZiIsCiJEZWZhdWx0IiwKIkhpZ2giLAoiRXh0cmEiLAp9Cn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJsYXJnZWFkZHJlc3Nhd2FyZSIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAiYm9vbGVhbiIsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJlZGl0b3JpbnRlZ3JhdGlvbiIsCnNjb3BlID0gIndvcmtzcGFjZSIsCmtpbmQgPSAiYm9vbGVhbiIsCn0KYXBpLnJlZ2lzdGVyIHsKbmFtZSA9ICJwcmVmZXJyZWR0b29sYXJjaGl0ZWN0dXJlIiwKc2NvcGUgPSAid29ya3NwYWNlIiwKa2luZCA9ICJzdHJpbmciLAphbGxvd2VkID0gewoiRGVmYXVsdCIsCnAuWDg2LApwLlg4Nl82NCwKfQp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAidW5zaWduZWRjaGFyIiwKc2NvcGUgPSAiY29uZmlnIiwKa2luZCA9ICJib29sZWFuIiwKfQpwLmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAic3RydWN0bWVtYmVyYWxpZ24iLApzY29wZSA9ICJjb25maWciLApraW5kID0gImludGVnZXIiLAphbGxvd2VkID0gewoiMSIsCiIyIiwKIjQiLAoiOCIsCiIxNiIsCn0KfQphcGkucmVnaXN0ZXIgewpuYW1lID0gIm9taXRmcmFtZXBvaW50ZXIiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJEZWZhdWx0IiwKIk9uIiwKIk9mZiIKfQp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAidmlzaWJpbGl0eSIsCnNjb3BlID0gImNvbmZpZyIsCmtpbmQgPSAic3RyaW5nIiwKYWxsb3dlZCA9IHsKIkRlZmF1bHQiLAoiSGlkZGVuIiwKIkludGVybmFsIiwKIlByb3RlY3RlZCIKfQp9CmFwaS5yZWdpc3RlciB7Cm5hbWUgPSAiaW5saW5lc3Zpc2liaWxpdHkiLApzY29wZSA9ICJjb25maWciLApraW5kID0gInN0cmluZyIsCmFsbG93ZWQgPSB7CiJEZWZhdWx0IiwKIkhpZGRlbiIKfQp9CmFwaS5hbGlhcygiYnVpbGRjb21tYW5kcyIsICJidWlsZENvbW1hbmRzIikKYXBpLmFsaWFzKCJidWlsZGRlcGVuZGVuY2llcyIsICJidWlsZERlcGVuZGVuY2llcyIpCmFwaS5hbGlhcygiYnVpbGRtZXNzYWdlIiwgImJ1aWxkTWVzc2FnZSIpCmFwaS5hbGlhcygiYnVpbGRvdXRwdXRzIiwgImJ1aWxkT3V0cHV0cyIpCmFwaS5hbGlhcygiY2xlYW5leHRlbnNpb25zIiwgImNsZWFuRXh0ZW5zaW9ucyIpCmFwaS5hbGlhcygiZG90bmV0ZnJhbWV3b3JrIiwgImZyYW1ld29yayIpCmFwaS5hbGlhcygiZWRpdGFuZGNvbnRpbnVlIiwgImVkaXRBbmRDb250aW51ZSIpCmFwaS5hbGlhcygiZmlsZWV4dGVuc2lvbiIsICJmaWxlRXh0ZW5zaW9uIikKYXBpLmFsaWFzKCJwcm9wZXJ0eWRlZmluaXRpb24iLCAicHJvcGVydHlEZWZpbml0aW9uIikKYXBpLmFsaWFzKCJyZW1vdmVmaWxlcyIsICJleGNsdWRlcyIpCmFwaS5kZXByZWNhdGVGaWVsZCgiYnVpbGRydWxlIiwgJ1VzZSBgYnVpbGRjb21tYW5kc2AsIGBidWlsZG91dHB1dHNgLCBhbmQgYGJ1aWxkbWVzc2FnZWAgaW5zdGVhZC4nLApmdW5jdGlvbih2YWx1ZSkKaWYgdmFsdWUuZGVzY3JpcHRpb24gdGhlbgpidWlsZG1lc3NhZ2UodmFsdWUuZGVzY3JpcHRpb24pCmVuZApidWlsZGNvbW1hbmRzKHZhbHVlLmNvbW1hbmRzKQpidWlsZG91dHB1dHModmFsdWUub3V0cHV0cykKZW5kKQphcGkuZGVwcmVjYXRlVmFsdWUoImZsYWdzIiwgIkNvbXBvbmVudCIsICdVc2UgYGJ1aWxkYWN0aW9uICJDb21wb25lbnQiYCBpbnN0ZWFkLicsCmZ1bmN0aW9uKHZhbHVlKQpidWlsZGFjdGlvbiAiQ29tcG9uZW50IgplbmQpCmFwaS5kZXByZWNhdGVWYWx1ZSgiZmxhZ3MiLCAiRW5hYmxlU1NFIiwgJ1VzZSBgdmVjdG9yZXh0ZW5zaW9ucyAiU1NFImAgaW5zdGVhZC4nLApmdW5jdGlvbih2YWx1ZSkKdmVjdG9yZXh0ZW5zaW9ucygiU1NFIikKZW5kLApmdW5jdGlvbih2YWx1ZSkKdmVjdG9yZXh0ZW5zaW9ucyAiRGVmYXVsdCIKZW5kKQphcGkuZGVwcmVjYXRlVmFsdWUoImZsYWdzIiwgIkVuYWJsZVNTRTIiLCAnVXNlIGB2ZWN0b3JleHRlbnNpb25zICJTU0UyImAgaW5zdGVhZC4nLApmdW5jdGlvbih2YWx1ZSkKdmVjdG9yZXh0ZW5zaW9ucygiU1NFMiIpCmVuZCwKZnVuY3Rpb24odmFsdWUpCnZlY3RvcmV4dGVuc2lvbnMgIkRlZmF1bHQiCmVuZCkKYXBpLmRlcHJlY2F0ZVZhbHVlKCJmbGFncyIsICJGbG9hdEZhc3QiLCAnVXNlIGBmbG9hdGluZ3BvaW50ICJGYXN0ImAgaW5zdGVhZC4nLApmdW5jdGlvbih2YWx1ZSkKZmxvYXRpbmdwb2ludCgiRmFzdCIpCmVuZCwKZnVuY3Rpb24odmFsdWUpCmZsb2F0aW5ncG9pbnQgIkRlZmF1bHQiCmVuZCkKYXBpLmRlcHJlY2F0ZVZhbHVlKCJmbGFncyIsICJGbG9hdFN0cmljdCIsICdVc2UgYGZsb2F0aW5ncG9pbnQgIlN0cmljdCJgIGluc3RlYWQuJywKZnVuY3Rpb24odmFsdWUpCmZsb2F0aW5ncG9pbnQoIlN0cmljdCIpCmVuZCwKZnVuY3Rpb24odmFsdWUpCmZsb2F0aW5ncG9pbnQgIkRlZmF1bHQiCmVuZCkKYXBpLmRlcHJlY2F0ZVZhbHVlKCJmbGFncyIsICJOYXRpdmVXQ2hhciIsICdVc2UgYG5hdGl2ZXdjaGFyICJPbiJgIGluc3RlYWQuIicsCmZ1bmN0aW9uKHZhbHVlKQpuYXRpdmV3Y2hhcigiT24iKQplbmQsCmZ1bmN0aW9uKHZhbHVlKQpuYXRpdmV3Y2hhciAiRGVmYXVsdCIKZW5kKQphcGkuZGVwcmVjYXRlVmFsdWUoImZsYWdzIiwgIk5vTmF0aXZlV0NoYXIiLCAnVXNlIGBuYXRpdmV3Y2hhciAiT2ZmImAgaW5zdGVhZC4iJywKZnVuY3Rpb24odmFsdWUpCm5hdGl2ZXdjaGFyKCJPZmYiKQplbmQsCmZ1bmN0aW9uKHZhbHVlKQpuYXRpdmV3Y2hhciAiRGVmYXVsdCIKZW5kKQphcGkuZGVwcmVjYXRlVmFsdWUoImZsYWdzIiwgIk9wdGltaXplIiwgJ1VzZSBgb3B0aW1pemUgIk9uImAgaW5zdGVhZC4nLApmdW5jdGlvbih2YWx1ZSkKb3B0aW1pemUgKCJPbiIpCmVuZCwKZnVuY3Rpb24odmFsdWUpCm9wdGltaXplICJPZmYiCmVuZCkKYXBpLmRlcHJlY2F0ZVZhbHVlKCJmbGFncyIsICJPcHRpbWl6ZVNpemUiLCAnVXNlIGBvcHRpbWl6ZSAiU2l6ZSJgIGluc3RlYWQuJywKZnVuY3Rpb24odmFsdWUpCm9wdGltaXplICgiU2l6ZSIpCmVuZCwKZnVuY3Rpb24odmFsdWUpCm9wdGltaXplICJPZmYiCmVuZCkKYXBpLmRlcHJlY2F0ZVZhbHVlKCJmbGFncyIsICJPcHRpbWl6ZVNwZWVkIiwgJ1VzZSBgb3B0aW1pemUgIlNwZWVkImAgaW5zdGVhZC4nLApmdW5jdGlvbih2YWx1ZSkKb3B0aW1pemUgKCJTcGVlZCIpCmVuZCwKZnVuY3Rpb24odmFsdWUpCm9wdGltaXplICJPZmYiCmVuZCkKYXBpLmRlcHJlY2F0ZVZhbHVlKCJmbGFncyIsICJSZWxlYXNlUnVudGltZSIsICdVc2UgYHJ1bnRpbWUgIlJlbGVhc2UiYCBpbnN0ZWFkLicsCmZ1bmN0aW9uKHZhbHVlKQpydW50aW1lICJSZWxlYXNlIgplbmQsCmZ1bmN0aW9uKHZhbHVlKQplbmQpCmFwaS5kZXByZWNhdGVWYWx1ZSgiZmxhZ3MiLCAiRXh0cmFXYXJuaW5ncyIsICdVc2UgYHdhcm5pbmdzICJFeHRyYSJgIGluc3RlYWQuJywKZnVuY3Rpb24odmFsdWUpCndhcm5pbmdzICJFeHRyYSIKZW5kLApmdW5jdGlvbih2YWx1ZSkKd2FybmluZ3MgIkRlZmF1bHQiCmVuZCkKYXBpLmRlcHJlY2F0ZVZhbHVlKCJmbGFncyIsICJOb1dhcm5pbmdzIiwgJ1VzZSBgd2FybmluZ3MgIk9mZiJgIGluc3RlYWQuJywKZnVuY3Rpb24odmFsdWUpCndhcm5pbmdzICJPZmYiCmVuZCwKZnVuY3Rpb24odmFsdWUpCndhcm5pbmdzICJEZWZhdWx0IgplbmQpCmFwaS5kZXByZWNhdGVWYWx1ZSgiZmxhZ3MiLCAiTWFuYWdlZCIsICdVc2UgYGNsciAiT24iYCBpbnN0ZWFkLicsCmZ1bmN0aW9uKHZhbHVlKQpjbHIgIk9uIgplbmQsCmZ1bmN0aW9uKHZhbHVlKQpjbHIgIk9mZiIKZW5kKQphcGkuZGVwcmVjYXRlVmFsdWUoImZsYWdzIiwgIk5vRWRpdEFuZENvbnRpbnVlIiwgJ1VzZSBlZGl0YW5kY29udGludWUgIk9mZiJgIGluc3RlYWQuJywKZnVuY3Rpb24odmFsdWUpCmVkaXRhbmRjb250aW51ZSAiT2ZmIgplbmQsCmZ1bmN0aW9uKHZhbHVlKQplZGl0YW5kY29udGludWUgIk9uIgplbmQpCmFwaS5kZXByZWNhdGVWYWx1ZSgiZmxhZ3MiLCAiU3ltYm9scyIsICdVc2UgYHN5bWJvbHMgIk9uImAgaW5zdGVhZCcsCmZ1bmN0aW9uKHZhbHVlKQpzeW1ib2xzICJPbiIKZW5kLApmdW5jdGlvbih2YWx1ZSkKc3ltYm9scyAiRGVmYXVsdCIKZW5kKQphcGkuZGVwcmVjYXRlVmFsdWUoImZsYWdzIiwgIkMrKzExIiwgJ1VzZSBgY3BwZGlhbGVjdCAiQysrMTEiYCBpbnN0ZWFkJywKZnVuY3Rpb24odmFsdWUpCmNwcGRpYWxlY3QgIkMrKzExIgplbmQsCmZ1bmN0aW9uKHZhbHVlKQpjcHBkaWFsZWN0ICJEZWZhdWx0IgplbmQpCmFwaS5kZXByZWNhdGVWYWx1ZSgiZmxhZ3MiLCAiQysrMTQiLCAnVXNlIGBjcHBkaWFsZWN0ICJDKysxNCJgIGluc3RlYWQnLApmdW5jdGlvbih2YWx1ZSkKY3BwZGlhbGVjdCAiQysrMTQiCmVuZCwKZnVuY3Rpb24odmFsdWUpCmNwcGRpYWxlY3QgIkRlZmF1bHQiCmVuZCkKYXBpLmRlcHJlY2F0ZVZhbHVlKCJmbGFncyIsICJDOTAiLCAgICdVc2UgYGNkaWFsZWN0ICJnbnU5MCJgIGluc3RlYWQnLApmdW5jdGlvbih2YWx1ZSkKY2RpYWxlY3QgImdudTkwIgplbmQsCmZ1bmN0aW9uKHZhbHVlKQpjZGlhbGVjdCAiRGVmYXVsdCIKZW5kKQphcGkuZGVwcmVjYXRlVmFsdWUoImZsYWdzIiwgIkM5OSIsICAgJ1VzZSBgY2RpYWxlY3QgImdudTk5ImAgaW5zdGVhZCcsCmZ1bmN0aW9uKHZhbHVlKQpjZGlhbGVjdCAiZ251OTkiCmVuZCwKZnVuY3Rpb24odmFsdWUpCmNkaWFsZWN0ICJEZWZhdWx0IgplbmQpCmFwaS5kZXByZWNhdGVWYWx1ZSgiZmxhZ3MiLCAiQzExIiwgICAnVXNlIGBjZGlhbGVjdCAiZ251MTEiYCBpbnN0ZWFkJywKZnVuY3Rpb24odmFsdWUpCmNkaWFsZWN0ICJnbnUxMSIKZW5kLApmdW5jdGlvbih2YWx1ZSkKY2RpYWxlY3QgIkRlZmF1bHQiCmVuZCkKYXBpLmRlcHJlY2F0ZVZhbHVlKCJmbGFncyIsICJXaW5NYWluIiwgJ1VzZSBgZW50cnlwb2ludCAiV2luTWFpbkNSVFN0YXJ0dXAiYCBpbnN0ZWFkJywKZnVuY3Rpb24odmFsdWUpCmVudHJ5cG9pbnQgIldpbk1haW5DUlRTdGFydHVwIgplbmQsCmZ1bmN0aW9uKHZhbHVlKQplbnRyeXBvaW50ICJtYWluQ1JUU3RhcnR1cCIKZW5kKQphcGkuZGVwcmVjYXRlVmFsdWUoImZsYWdzIiwgIlN0YXRpY1J1bnRpbWUiLCAnVXNlIGBzdGF0aWNydW50aW1lICJPbiJgIGluc3RlYWQnLApmdW5jdGlvbih2YWx1ZSkKc3RhdGljcnVudGltZSAiT24iCmVuZCwKZnVuY3Rpb24odmFsdWUpCnN0YXRpY3J1bnRpbWUgIkRlZmF1bHQiCmVuZCkKYXBpLmRlcHJlY2F0ZVZhbHVlKCJmbGFncyIsICJOb0ZyYW1lUG9pbnRlciIsICdVc2UgYG9taXRmcmFtZXBvaW50ZXIgIk9uImAgaW5zdGVhZC4nLApmdW5jdGlvbih2YWx1ZSkKb21pdGZyYW1lcG9pbnRlcigiT24iKQplbmQsCmZ1bmN0aW9uKHZhbHVlKQpvbWl0ZnJhbWVwb2ludGVyKCJEZWZhdWx0IikKZW5kKQpuZXdvcHRpb24KewpjYXRlZ29yeT0gImNvbXBpbGVycyIsCnRyaWdnZXIgICAgID0gImNjIiwKdmFsdWUgICAgICAgPSAiVkFMVUUiLApkZXNjcmlwdGlvbiA9ICJDaG9vc2UgYSBDL0MrKyBjb21waWxlciBzZXQiLAphbGxvd2VkID0gewp7ICJjbGFuZyIsICJDbGFuZyAoY2xhbmcpIiB9LAp7ICJnY2MiLCAiR05VIEdDQyAoZ2NjL2crKykiIH0sCn0KfQpuZXdvcHRpb24KewpjYXRlZ29yeT0gImNvbXBpbGVycyIsCnRyaWdnZXIgICAgID0gImRvdG5ldCIsCnZhbHVlICAgICAgID0gIlZBTFVFIiwKZGVzY3JpcHRpb24gPSAiQ2hvb3NlIGEgLk5FVCBjb21waWxlciBzZXQiLAphbGxvd2VkID0gewp7ICJtc25ldCIsICAgIk1pY3Jvc29mdCAuTkVUIChjc2MpIiB9LAp7ICJtb25vIiwgICAgIk5vdmVsbCBNb25vIChtY3MpIiAgICB9LAp7ICJwbmV0IiwgICAgIlBvcnRhYmxlLk5FVCAoY3NjYykiICB9LAp9Cn0KbmV3b3B0aW9uCnsKdHJpZ2dlciAgICAgPSAiZmF0YWwiLApkZXNjcmlwdGlvbiA9ICJUcmVhdCB3YXJuaW5ncyBmcm9tIHByb2plY3Qgc2NyaXB0cyBhcyBlcnJvcnMiCn0KICAgIG5ld29wdGlvbgp7CnRyaWdnZXIgICAgID0gImRlYnVnZ2VyIiwKZGVzY3JpcHRpb24gPSAiU3RhcnQgTW9iRGVidWcgcmVtb3RlIGRlYnVnZ2VyLiBXb3JrcyB3aXRoIFplcm9CcmFuZSBTdHVkaW8iCn0KbmV3b3B0aW9uCnsKdHJpZ2dlciAgICAgPSAiZmlsZSIsCnZhbHVlICAgICAgID0gIkZJTEUiLApkZXNjcmlwdGlvbiA9ICJSZWFkIEZJTEUgYXMgYSBQcmVtYWtlIHNjcmlwdDsgZGVmYXVsdCBpcyAncHJlbWFrZTUubHVhJyIKfQpuZXdvcHRpb24Kewp0cmlnZ2VyICAgICA9ICJoZWxwIiwKZGVzY3JpcHRpb24gPSAiRGlzcGxheSB0aGlzIGluZm9ybWF0aW9uIgp9Cm5ld29wdGlvbgp7CnRyaWdnZXIgICAgID0gInZlcmJvc2UiLApkZXNjcmlwdGlvbiA9ICJHZW5lcmF0ZSBleHRyYSBkZWJ1ZyB0ZXh0IG91dHB1dCIKfQpuZXdvcHRpb24Kewp0cmlnZ2VyID0gImludGVyYWN0aXZlIiwKZGVzY3JpcHRpb24gPSAiSW50ZXJhY3RpdmUgY29tbWFuZCBwcm9tcHQiCn0KbmV3b3B0aW9uCnsKdHJpZ2dlciAgICAgPSAib3MiLAp2YWx1ZSAgICAgICA9ICJWQUxVRSIsCmRlc2NyaXB0aW9uID0gIkdlbmVyYXRlIGZpbGVzIGZvciBhIGRpZmZlcmVudCBvcGVyYXRpbmcgc3lzdGVtIiwKYWxsb3dlZCA9IHsKeyAiYWl4IiwgICAgICAiSUJNIEFJWCIgfSwKeyAiYnNkIiwgICAgICAiT3BlbkJTRCwgTmV0QlNELCBvciBGcmVlQlNEIiB9LAp7ICJoYWlrdSIsICAgICJIYWlrdSIgfSwKeyAiaHVyZCIsICAgICAiR05VL0h1cmQiIH0sCnsgImlvcyIsICAgICAgImlPUyIgfSwKeyAibGludXgiLCAgICAiTGludXgiIH0sCnsgIm1hY29zeCIsICAgIkFwcGxlIE1hYyBPUyBYIiB9LAp7ICJzb2xhcmlzIiwgICJTb2xhcmlzIiB9LAp7ICJ3aW5kb3dzIiwgICJNaWNyb3NvZnQgV2luZG93cyIgfSwKfQp9Cm5ld29wdGlvbgp7CnRyaWdnZXIgICAgID0gInNjcmlwdHMiLAp2YWx1ZSAgICAgICA9ICJQQVRIIiwKZGVzY3JpcHRpb24gPSAiU2VhcmNoIGZvciBhZGRpdGlvbmFsIHNjcmlwdHMgb24gdGhlIGdpdmVuIHBhdGgiCn0KbmV3b3B0aW9uCnsKdHJpZ2dlciAgICAgPSAic3lzdGVtc2NyaXB0IiwKdmFsdWUgICAgICAgPSAiRklMRSIsCmRlc2NyaXB0aW9uID0gIk92ZXJyaWRlIGRlZmF1bHQgc3lzdGVtIHNjcmlwdCAocHJlbWFrZTUtc3lzdGVtLmx1YSkiCn0KbmV3b3B0aW9uCnsKdHJpZ2dlciAgICAgPSAidmVyc2lvbiIsCmRlc2NyaXB0aW9uID0gIkRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiIKfQppZiBodHRwIH49IG5pbCB0aGVuCm5ld29wdGlvbiB7CnRyaWdnZXIgPSAiaW5zZWN1cmUiLApkZXNjcmlwdGlvbiA9ICJmb3JmaXQgU1NIIGNlcnRpZmljYXRpb24gY2hlY2tzLiIKfQplbmQKY2hhcmFjdGVyc2V0ICJEZWZhdWx0IgpjbHIgIk9mZiIKZWRpdG9yaW50ZWdyYXRpb24gIk9mZiIKZXhjZXB0aW9uaGFuZGxpbmcgIkRlZmF1bHQiCnJ0dGkgIkRlZmF1bHQiCnN5bWJvbHMgIkRlZmF1bHQiCm51Z2V0c291cmNlICJodHRwczovL2FwaS5udWdldC5vcmcvdjMvaW5kZXguanNvbiIKbGFuZ3VhZ2UgIkMrKyIKZmlsdGVyIHsgImtpbmQ6U2hhcmVkTGliIiB9CnRhcmdldHByZWZpeCAibGliIgp0YXJnZXRleHRlbnNpb24gIi5zbyIKZmlsdGVyIHsgImtpbmQ6U3RhdGljTGliIiB9CnRhcmdldHByZWZpeCAibGliIgp0YXJnZXRleHRlbnNpb24gIi5hIgpmaWx0ZXIgeyAic3lzdGVtOmRhcndpbiIsICJraW5kOldpbmRvd2VkQXBwIiB9CnRhcmdldGV4dGVuc2lvbiAiLmFwcCIKZmlsdGVyIHsgInN5c3RlbTpkYXJ3aW4iLCAia2luZDpTaGFyZWRMaWIiIH0KdGFyZ2V0ZXh0ZW5zaW9uICIuZHlsaWIiCmZpbHRlciB7ICJzeXN0ZW06ZGFyd2luIiwgImtpbmQ6U2hhcmVkTGliIiwgInNoYXJlZGxpYnR5cGU6T1NYQnVuZGxlIiB9CnRhcmdldHByZWZpeCAiIgp0YXJnZXRleHRlbnNpb24gIi5idW5kbGUiCmZpbHRlciB7ICJzeXN0ZW06ZGFyd2luIiwgImtpbmQ6U2hhcmVkTGliIiwgInNoYXJlZGxpYnR5cGU6T1NYRnJhbWV3b3JrIiB9CnRhcmdldHByZWZpeCAiIgp0YXJnZXRleHRlbnNpb24gIi5mcmFtZXdvcmsiCmZpbHRlciB7ICJzeXN0ZW06ZGFyd2luIiwgImtpbmQ6U2hhcmVkTGliIiwgInNoYXJlZGxpYnR5cGU6WENUZXN0IiB9CnRhcmdldHByZWZpeCAiIgp0YXJnZXRleHRlbnNpb24gIi54Y3Rlc3QiCmZpbHRlciB7ICJzeXN0ZW06V2luZG93cyBvciBsYW5ndWFnZTpDIyBvciBsYW5ndWFnZTpGIyIsICJraW5kOkNvbnNvbGVBcHAgb3IgV2luZG93ZWRBcHAiIH0KdGFyZ2V0ZXh0ZW5zaW9uICIuZXhlIgpmaWx0ZXIgeyAic3lzdGVtOldpbmRvd3MiLCAia2luZDpTaGFyZWRMaWIiIH0KdGFyZ2V0cHJlZml4ICIiCnRhcmdldGV4dGVuc2lvbiAiLmRsbCIKaW1wbGliZXh0ZW5zaW9uICIubGliIgpmaWx0ZXIgeyAic3lzdGVtOldpbmRvd3MiLCAia2luZDpTdGF0aWNMaWIiIH0KdGFyZ2V0cHJlZml4ICIiCnRhcmdldGV4dGVuc2lvbiAiLmxpYiIKZmlsdGVyIHsgImxhbmd1YWdlOkMjIG9yIGxhbmd1YWdlOkYjIiwgImtpbmQ6U2hhcmVkTGliIiB9CnRhcmdldHByZWZpeCAiIgp0YXJnZXRleHRlbnNpb24gIi5kbGwiCmltcGxpYmV4dGVuc2lvbiAiLmRsbCIKZmlsdGVyIHsgImtpbmQ6U2hhcmVkTGliIiwgInN5c3RlbTpub3QgV2luZG93cyIgfQpwaWMgIk9uIgpmaWx0ZXIgeyAic3lzdGVtOmRhcndpbiIgfQp0b29sc2V0ICJjbGFuZyIKZmlsdGVyIHsgInBsYXRmb3JtczpXaW42NCIgfQphcmNoaXRlY3R1cmUgIng4Nl82NCIKZmlsdGVyIHt9CgAAAGxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIHByb2plY3QgPSBwLnByb2plY3QKbG9jYWwgd29ya3NwYWNlID0gcC53b3Jrc3BhY2UKbG9jYWwgdHJlZSA9IHAudHJlZQpsb2NhbCBjb2RlbGl0ZSA9IHAubW9kdWxlcy5jb2RlbGl0ZQpjb2RlbGl0ZS53b3Jrc3BhY2UgPSB7fQpsb2NhbCBtID0gY29kZWxpdGUud29ya3NwYWNlCmZ1bmN0aW9uIG0uZ2VuZXJhdGUod2tzKQpwLnV0ZjgoKQpwLncoJzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+JykKbG9jYWwgdGFnc2RiID0gIiIKcC5wdXNoKCc8Q29kZUxpdGVfV29ya3NwYWNlIE5hbWU9IiVzIiBEYXRhYmFzZT0iJXMiIFNXVExXPSJObyI+Jywgd2tzLm5hbWUsIHRhZ3NkYikKbG9jYWwgdHIgPSB3b3Jrc3BhY2UuZ3JvdXB0cmVlKHdrcykKdHJlZS50cmF2ZXJzZSh0ciwgewpvbmxlYWYgPSBmdW5jdGlvbihuKQpsb2NhbCBwcmogPSBuLnByb2plY3QKbG9jYWwgcHJqcGF0aCA9IHAuZmlsZW5hbWUocHJqLCAiLnByb2plY3QiKQpwcmpwYXRoID0gcGF0aC5nZXRyZWxhdGl2ZShwcmoud29ya3NwYWNlLmxvY2F0aW9uLCBwcmpwYXRoKQppZiAocHJqLm5hbWUgPT0gd2tzLnN0YXJ0cHJvamVjdCkgdGhlbgpwLncoJzxQcm9qZWN0IE5hbWU9IiVzIiBQYXRoPSIlcyIgQWN0aXZlPSJZZXMiLz4nLCBwcmoubmFtZSwgcHJqcGF0aCkKZWxzZQpwLncoJzxQcm9qZWN0IE5hbWU9IiVzIiBQYXRoPSIlcyIvPicsIHByai5uYW1lLCBwcmpwYXRoKQplbmQKZW5kLApvbmJyYW5jaGVudGVyID0gZnVuY3Rpb24obikKcC5wdXNoKCc8VmlydHVhbERpcmVjdG9yeSBOYW1lPSIlcyI+Jywgbi5uYW1lKQplbmQsCm9uYnJhbmNoZXhpdCA9IGZ1bmN0aW9uKG4pCnAucG9wKCc8L1ZpcnR1YWxEaXJlY3Rvcnk+JykKZW5kLAp9KQpsb2NhbCBwbGF0Zm9ybXNQcmVzZW50ID0ge30KbG9jYWwgbnVtUGxhdGZvcm1zID0gMApmb3IgY2ZnIGluIHdvcmtzcGFjZS5lYWNoY29uZmlnKHdrcykgZG8KbG9jYWwgcGxhdGZvcm0gPSBjZmcucGxhdGZvcm0KaWYgcGxhdGZvcm0gYW5kIG5vdCBwbGF0Zm9ybXNQcmVzZW50W3BsYXRmb3JtXSB0aGVuCm51bVBsYXRmb3JtcyA9IG51bVBsYXRmb3JtcyArIDEKcGxhdGZvcm1zUHJlc2VudFtwbGF0Zm9ybV0gPSB0cnVlCmVuZAplbmQKaWYgbnVtUGxhdGZvcm1zID49IDIgdGhlbgpjb2RlbGl0ZS53b3Jrc3BhY2UubXVsdGlwbGVQbGF0Zm9ybXMgPSB0cnVlCmVuZApwLnB1c2goJzxCdWlsZE1hdHJpeD4nKQpmb3IgY2ZnIGluIHdvcmtzcGFjZS5lYWNoY29uZmlnKHdrcykgZG8KbG9jYWwgY2ZnbmFtZSA9IGNvZGVsaXRlLmNmZ25hbWUoY2ZnKQpwLnB1c2goJzxXb3Jrc3BhY2VDb25maWd1cmF0aW9uIE5hbWU9IiVzIiBTZWxlY3RlZD0ieWVzIj4nLCBjZmduYW1lKQpsb2NhbCB0ciA9IHdvcmtzcGFjZS5ncm91cHRyZWUod2tzKQp0cmVlLnRyYXZlcnNlKHRyLCB7Cm9ubGVhZiA9IGZ1bmN0aW9uKG4pCmxvY2FsIHByaiA9IG4ucHJvamVjdApwLncoJzxQcm9qZWN0IE5hbWU9IiVzIiBDb25maWdOYW1lPSIlcyIvPicsIHByai5uYW1lLCBjZmduYW1lKQplbmQKfSkKcC5wb3AoJzwvV29ya3NwYWNlQ29uZmlndXJhdGlvbj4nKQplbmQKcC5wb3AoJzwvQnVpbGRNYXRyaXg+JykKcC5wb3AoJzwvQ29kZUxpdGVfV29ya3NwYWNlPicpCmVuZAoAAAAAAGxvY2FsIHAgPSBwcmVtYWtlCnAuZmllbGQgPSB7fQpsb2NhbCBmaWVsZCA9IHAuZmllbGQKZmllbGQuX2xpc3QgPSB7fQpmaWVsZC5fbG93ZXJlZExpc3QgPSB7fQpmaWVsZC5fc29ydGVkTGlzdCA9IG5pbApmaWVsZC5fa2luZHMgPSB7fQpwcmVtYWtlLmZpZWxkcyA9IGZpZWxkLl9saXN0CmZpZWxkLl9hY2Nlc3NvcnMgPSB7fQpmdW5jdGlvbiBmaWVsZC5uZXcoZikKaWYgZi5raW5kOnN0YXJ0c3dpdGgoImtleS0iKSB0aGVuCmYua2luZCA9IGYua2luZDpzdWIoNSkKZi5rZXllZCA9IHRydWUKZW5kCmlmIGYua2luZDplbmRzd2l0aCgiLWxpc3QiKSB0aGVuCmYua2luZCA9IGYua2luZDpzdWIoMSwgLTYpCmYubGlzdCA9IHRydWUKZW5kCmxvY2FsIGtpbmQgPSBmLmtpbmQKaWYga2luZCA9PSAib2JqZWN0IiBvciBraW5kID09ICJhcnJheSIgdGhlbgpraW5kID0gInRhYmxlIgplbmQKaWYgZi5saXN0IHRoZW4Ka2luZCA9ICJsaXN0OiIgLi4ga2luZAplbmQKaWYgZi5rZXllZCB0aGVuCmtpbmQgPSAia2V5ZWQ6IiAuLiBraW5kCmVuZApmLl9raW5kID0ga2luZAppZiB0eXBlKGYuc2NvcGUpID09ICJ0YWJsZSIgdGhlbgpmLnNjb3BlcyA9IGYuc2NvcGUKZWxzZQpmLnNjb3BlcyA9IHsgZi5zY29wZSB9CmVuZAppZiBub3QgZmllbGQuYWNjZXNzb3IoZiwgInN0b3JlIikgdGhlbgpyZXR1cm4gbmlsLCAiaW52YWxpZCBmaWVsZCBraW5kICciIC4uIGYuX2tpbmQgLi4gIiciCmVuZApmaWVsZC5fbGlzdFtmLm5hbWVdID0gZgpmaWVsZC5fbG93ZXJlZExpc3RbZi5uYW1lOmxvd2VyKCldID0gZgpmaWVsZC5fc29ydGVkTGlzdCA9IG5pbApyZXR1cm4gZgplbmQKZnVuY3Rpb24gZmllbGQudW5yZWdpc3RlcihmKQpmaWVsZC5fbGlzdFtmLm5hbWVdID0gbmlsCmZpZWxkLl9sb3dlcmVkTGlzdFtmLm5hbWU6bG93ZXIoKV0gPSBuaWwKZmllbGQuX3NvcnRlZExpc3QgPSBuaWwKZW5kCmZ1bmN0aW9uIGZpZWxkLmVhY2goKQpsb2NhbCBpbmRleApyZXR1cm4gZnVuY3Rpb24gKCkKaW5kZXggPSBuZXh0KGZpZWxkLl9saXN0LCBpbmRleCkKcmV0dXJuIGZpZWxkLl9saXN0W2luZGV4XQplbmQKZW5kCmZ1bmN0aW9uIGZpZWxkLmVhY2hPcmRlcmVkKCkKaWYgbm90IGZpZWxkLl9zb3J0ZWRMaXN0IHRoZW4KbG9jYWwga2V5cyA9IHRhYmxlLmtleXMoZmllbGQuX2xpc3QpCnRhYmxlLnNvcnQoa2V5cykKZmllbGQuX3NvcnRlZExpc3QgPSB7fQpmb3IgaSA9IDEsICNrZXlzIGRvCmZpZWxkLl9zb3J0ZWRMaXN0W2ldID0gZmllbGQuX2xpc3Rba2V5c1tpXV0KZW5kCmVuZApsb2NhbCBpID0gMApyZXR1cm4gZnVuY3Rpb24gKCkKaSA9IGkgKyAxCnJldHVybiBmaWVsZC5fc29ydGVkTGlzdFtpXQplbmQKZW5kCmZ1bmN0aW9uIGZpZWxkLmtpbmQodGFnLCBzZXR0aW5ncykKaWYgc2V0dGluZ3MgdGhlbgpmaWVsZC5fa2luZHNbdGFnXSA9IHNldHRpbmdzCmVuZApyZXR1cm4gZmllbGQuX2tpbmRzW3RhZ10KZW5kCmZ1bmN0aW9uIGZpZWxkLmFjY2Vzc29yKGYsIG1ldGhvZCkKZmllbGQuX2FjY2Vzc29yc1ttZXRob2RdID0gZmllbGQuX2FjY2Vzc29yc1ttZXRob2RdIG9yIHt9CmxvY2FsIGNhY2hlID0gZmllbGQuX2FjY2Vzc29yc1ttZXRob2RdCmxvY2FsIGZ1bmN0aW9uIGFjY2Vzc29yRm9yS2luZChraW5kKQppZiBraW5kID09ICIiIHRoZW4KcmV0dXJuIG5pbAplbmQKaWYgY2FjaGVba2luZF0gdGhlbgpyZXR1cm4gY2FjaGVba2luZF0KZW5kCmxvY2FsIHRoaXNLaW5kID0ga2luZDptYXRjaCgnKC4tKTonKSBvciBraW5kCmxvY2FsIG5leHRLaW5kID0ga2luZDpzdWIoI3RoaXNLaW5kICsgMikKbG9jYWwgZnVuY3Rpb25zID0gZmllbGQuX2tpbmRzW3RoaXNLaW5kXQppZiBub3QgZnVuY3Rpb25zIHRoZW4KcmV0dXJuIG5pbCwgIkludmFsaWQgZmllbGQga2luZCAnIiAuLiB0aGlzS2luZCAuLiAiJyIKZW5kCmxvY2FsIHByb2Nlc3NvciA9IGZ1bmN0aW9uc1ttZXRob2RdCmlmIG5vdCBwcm9jZXNzb3IgdGhlbgpyZXR1cm4gbmlsCmVuZApsb2NhbCBuZXh0QWNjZXNzb3IgPSBhY2Nlc3NvckZvcktpbmQobmV4dEtpbmQpCmFjY2Vzc29yID0gZnVuY3Rpb24oZiwgY3VycmVudCwgdmFsdWUpCnJldHVybiBwcm9jZXNzb3IoZiwgY3VycmVudCwgdmFsdWUsIG5leHRBY2Nlc3NvcikKZW5kCmNhY2hlW2tpbmRdID0gYWNjZXNzb3IKcmV0dXJuIGFjY2Vzc29yCmVuZApyZXR1cm4gYWNjZXNzb3JGb3JLaW5kKGYuX2tpbmQpCmVuZApmdW5jdGlvbiBmaWVsZC5jb21wYXJlKGYsIGEsIGIpCmxvY2FsIHByb2Nlc3NvciA9IGZpZWxkLmFjY2Vzc29yKGYsICJjb21wYXJlIikKaWYgcHJvY2Vzc29yIHRoZW4KcmV0dXJuIHByb2Nlc3NvcihmLCBhLCBiKQplbHNlCnJldHVybiAoYSA9PSBiKQplbmQKZW5kCmZ1bmN0aW9uIGZpZWxkLmdldChuYW1lKQpyZXR1cm4gZmllbGQuX2xpc3RbbmFtZV0gb3IgZmllbGQuX2xvd2VyZWRMaXN0W25hbWU6bG93ZXIoKV0KZW5kCmZ1bmN0aW9uIGZpZWxkLm1lcmdlKGYsIGN1cnJlbnQsIHZhbHVlKQpsb2NhbCBwcm9jZXNzb3IgPSBmaWVsZC5hY2Nlc3NvcihmLCAibWVyZ2UiKQppZiBwcm9jZXNzb3IgdGhlbgpyZXR1cm4gcHJvY2Vzc29yKGYsIGN1cnJlbnQsIHZhbHVlKQplbHNlCnJldHVybiB2YWx1ZQplbmQKZW5kCmZ1bmN0aW9uIGZpZWxkLm1lcmdlcyhmKQpyZXR1cm4gKGZpZWxkLmFjY2Vzc29yKGYsICJtZXJnZSIpIH49IG5pbCkKZW5kCmZ1bmN0aW9uIGZpZWxkLnByb3BlcnR5KGYsIHRhZykKbG9jYWwga2luZHMgPSBzdHJpbmcuZXhwbG9kZShmLl9raW5kLCAiOiIsIHRydWUpCmZvciBpLCBraW5kIGluIGlwYWlycyhraW5kcykgZG8KbG9jYWwgdmFsdWUgPSBmaWVsZC5fa2luZHNba2luZF1bdGFnXQppZiB2YWx1ZSB+PSBuaWwgdGhlbgpyZXR1cm4gdmFsdWUKZW5kCmVuZAplbmQKZnVuY3Rpb24gZmllbGQub3ZlcnJpZGUoZmllbGROYW1lLCBhY2Nlc3Nvck5hbWUsIGZ1bmMpCmxvY2FsIGtpbmQgPSBmaWVsZC5raW5kKGZpZWxkTmFtZSkKcC5vdmVycmlkZShraW5kLCBhY2Nlc3Nvck5hbWUsIGZ1bmMpCmZpZWxkLl9hY2Nlc3NvcnMgPSB7fQplbmQKZnVuY3Rpb24gZmllbGQucmVtb3ZlKGYsIGN1cnJlbnQsIHZhbHVlKQpsb2NhbCBwcm9jZXNzb3IgPSBmaWVsZC5hY2Nlc3NvcihmLCAicmVtb3ZlIikKaWYgcHJvY2Vzc29yIHRoZW4KcmV0dXJuIHByb2Nlc3NvcihmLCBjdXJyZW50LCB2YWx1ZSkKZWxzZQpyZXR1cm4gdmFsdWUKZW5kCmVuZApmdW5jdGlvbiBmaWVsZC5yZW1vdmVzKGYpCnJldHVybiAoZmllbGQuYWNjZXNzb3IoZiwgIm1lcmdlIikgfj0gbmlsIGFuZCBmaWVsZC5hY2Nlc3NvcihmLCAicmVtb3ZlIikgfj0gbmlsKQplbmQKZnVuY3Rpb24gZmllbGQuc3RvcmUoZiwgY3VycmVudCwgdmFsdWUpCmxvY2FsIHByb2Nlc3NvciA9IGZpZWxkLmFjY2Vzc29yKGYsICJzdG9yZSIpCmlmIHByb2Nlc3NvciB0aGVuCnJldHVybiBwcm9jZXNzb3IoZiwgY3VycmVudCwgdmFsdWUpCmVsc2UKcmV0dXJuIHZhbHVlCmVuZAplbmQKZnVuY3Rpb24gZmllbGQudHJhbnNsYXRlKGYsIHZhbHVlKQpsb2NhbCBwcm9jZXNzb3IgPSBmaWVsZC5hY2Nlc3NvcihmLCAidHJhbnNsYXRlIikKaWYgcHJvY2Vzc29yIHRoZW4KcmV0dXJuIHByb2Nlc3NvcihmLCB2YWx1ZSwgbmlsKVsxXQplbHNlCnJldHVybiB2YWx1ZQplbmQKZW5kCmZ1bmN0aW9uIGZpZWxkLnRyYW5zbGF0ZXMoZikKcmV0dXJuIChmaWVsZC5hY2Nlc3NvcihmLCAidHJhbnNsYXRlIikgfj0gbmlsKQplbmQKAAAAAABsb2NhbCBwID0gcHJlbWFrZQpwLm1ha2UudXRpbGl0eSA9IHt9CmxvY2FsIG1ha2UgICAgICAgPSBwLm1ha2UKbG9jYWwgdXRpbGl0eSAgICA9IHAubWFrZS51dGlsaXR5CmxvY2FsIHByb2plY3QgICAgPSBwLnByb2plY3QKbG9jYWwgY29uZmlnICAgICA9IHAuY29uZmlnCmxvY2FsIGZpbGVjb25maWcgPSBwLmZpbGVjb25maWcKdXRpbGl0eS5lbGVtZW50cyA9IHt9CnV0aWxpdHkuZWxlbWVudHMubWFrZWZpbGUgPSB7CiJoZWFkZXIiLAoicGhvbnlSdWxlcyIsCiJ1dGlsaXR5Q29uZmlncyIsCiJ1dGlsaXR5VGFyZ2V0UnVsZXMiCn0KZnVuY3Rpb24gbWFrZS51dGlsaXR5LmdlbmVyYXRlKHByaikKcC5lb2woIlxuIikKcC5jYWxsYXJyYXkobWFrZSwgdXRpbGl0eS5lbGVtZW50cy5tYWtlZmlsZSwgcHJqKQplbmQKdXRpbGl0eS5lbGVtZW50cy5jb25maWd1cmF0aW9uID0gewoidGFyZ2V0IiwKInByZUJ1aWxkQ21kcyIsCiJwb3N0QnVpbGRDbWRzIiwKfQpmdW5jdGlvbiBtYWtlLnV0aWxpdHlDb25maWdzKHByaikKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpsb2NhbCB0b29sc2V0ID0gcC50b29sc1tjZmcudG9vbHNldCBvciAiZ2NjIl0KaWYgbm90IHRvb2xzZXQgdGhlbgplcnJvcigiSW52YWxpZCB0b29sc2V0ICciIC4uIGNmZy50b29sc2V0IC4uICInIikKZW5kCl94KCdpZmVxICgkKGNvbmZpZyksJXMpJywgY2ZnLnNob3J0bmFtZSkKcC5jYWxsYXJyYXkobWFrZSwgdXRpbGl0eS5lbGVtZW50cy5jb25maWd1cmF0aW9uLCBjZmcsIHRvb2xzZXQpCl9wKCdlbmRpZicpCl9wKCcnKQplbmQKZW5kCmZ1bmN0aW9uIG1ha2UudXRpbGl0eVRhcmdldFJ1bGVzKHByaikKX3AoJyQoVEFSR0VUKTonKQpfcCgnXHQkKFBSRUJVSUxEQ01EUyknKQpfcCgnXHQkKFBPU1RCVUlMRENNRFMpJykKX3AoJycpCmVuZAoAAAAAbG9jYWwgcCA9IHByZW1ha2UKcC50b29scy5kb3RuZXQgPSB7fQpsb2NhbCBkb3RuZXQgPSBwLnRvb2xzLmRvdG5ldApsb2NhbCBwcm9qZWN0ID0gcC5wcm9qZWN0CmxvY2FsIGNvbmZpZyA9IHAuY29uZmlnCmZ1bmN0aW9uIGRvdG5ldC5maWxlaW5mbyhmY2ZnKQpsb2NhbCBpbmZvID0ge30KaWYgKGZjZmcgPT0gbmlsKSB0aGVuCnJldHVybiBpbmZvCmVuZApsb2NhbCBmbmFtZSA9IGZjZmcuYWJzcGF0aApsb2NhbCBleHQgPSBwYXRoLmdldGV4dGVuc2lvbihmbmFtZSk6bG93ZXIoKQppZiBmY2ZnLmJ1aWxkYWN0aW9uID09ICJDb21waWxlIiBvciBleHQgPT0gIi5jcyIgb3IgZXh0ID09ICIuZnMiIHRoZW4KaW5mby5hY3Rpb24gPSAiQ29tcGlsZSIKZWxzZWlmIGZjZmcuYnVpbGRhY3Rpb24gPT0gIkVtYmVkIiBvciBleHQgPT0gIi5yZXN4IiB0aGVuCmluZm8uYWN0aW9uID0gIkVtYmVkZGVkUmVzb3VyY2UiCmVsc2VpZiBmY2ZnLmJ1aWxkYWN0aW9uID09ICJDb3B5IiBvciBleHQgPT0gIi5hc2F4IiBvciBleHQgPT0gIi5hc3B4IiBvciBleHQgPT0gIi5kbGwiIG9yIGV4dCA9PSAiLnR0IiB0aGVuCmluZm8uYWN0aW9uID0gIkNvbnRlbnQiCmVsc2VpZiBmY2ZnLmJ1aWxkYWN0aW9uID09ICJSZXNvdXJjZSIgdGhlbgppbmZvLmFjdGlvbiA9ICJSZXNvdXJjZSIKZWxzZWlmIGV4dCA9PSAiLnhhbWwiIHRoZW4KaWYgZmNmZy5idWlsZGFjdGlvbiA9PSAiQXBwbGljYXRpb24iIG9yIHBhdGguZ2V0YmFzZW5hbWUoZm5hbWUpID09ICJBcHAiIHRoZW4KaWYgZmNmZy5wcm9qZWN0LmtpbmQgPT0gcC5TSEFSRURMSUIgdGhlbgppbmZvLmFjdGlvbiA9ICJOb25lIgplbHNlCmluZm8uYWN0aW9uID0gIkFwcGxpY2F0aW9uRGVmaW5pdGlvbiIKZW5kCmVsc2UKaW5mby5hY3Rpb24gPSAiUGFnZSIKZW5kCmVsc2UKaW5mby5hY3Rpb24gPSAiTm9uZSIKZW5kCmlmIGluZm8uYWN0aW9uID09ICJDb21waWxlIiBhbmQgZm5hbWU6ZW5kc3dpdGgoIi5jcyIpIHRoZW4KaWYgZm5hbWU6ZW5kc3dpdGgoIi5EZXNpZ25lci5jcyIpIHRoZW4KbG9jYWwgYmFzZW5hbWUgPSBmbmFtZTpzdWIoMSwgLTEzKQpsb2NhbCB0ZXN0bmFtZSA9IGJhc2VuYW1lIC4uICIucmVzeCIKaWYgcHJvamVjdC5oYXNmaWxlKGZjZmcucHJvamVjdCwgdGVzdG5hbWUpIHRoZW4KaW5mby5BdXRvR2VuID0gIlRydWUiCmluZm8uRGVwZW5kZW50VXBvbiA9IHRlc3RuYW1lCmVuZAp0ZXN0bmFtZSA9IGJhc2VuYW1lIC4uICIuc2V0dGluZ3MiCmlmIHByb2plY3QuaGFzZmlsZShmY2ZnLnByb2plY3QsIHRlc3RuYW1lKSB0aGVuCmluZm8uQXV0b0dlbiA9ICJUcnVlIgppbmZvLkRlcGVuZGVudFVwb24gPSB0ZXN0bmFtZQppbmZvLkRlc2lnblRpbWVTaGFyZWRJbnB1dCA9ICJUcnVlIgplbmQKdGVzdG5hbWUgPSBiYXNlbmFtZSAuLiAiLmNzIgppZiBwcm9qZWN0Lmhhc2ZpbGUoZmNmZy5wcm9qZWN0LCB0ZXN0bmFtZSkgdGhlbgppbmZvLkF1dG9HZW4gPSBuaWwKaW5mby5TdWJUeXBlID0gIkRlcGVuZGVuY3kiCmluZm8uRGVwZW5kZW50VXBvbiA9IHRlc3RuYW1lCmVuZAp0ZXN0bmFtZSA9IGJhc2VuYW1lIC4uICIueHNkIgppZiBwcm9qZWN0Lmhhc2ZpbGUoZmNmZy5wcm9qZWN0LCB0ZXN0bmFtZSkgdGhlbgppbmZvLkF1dG9HZW4gPSAiVHJ1ZSIKaW5mby5EZXNpZ25UaW1lID0gIlRydWUiCmluZm8uRGVwZW5kZW50VXBvbiA9IHRlc3RuYW1lCmVuZAplbHNlaWYgZm5hbWU6ZW5kc3dpdGgoIi54YW1sLmNzIikgdGhlbgppbmZvLlN1YlR5cGUgPSAiQ29kZSIKaW5mby5EZXBlbmRlbnRVcG9uID0gZm5hbWU6c3ViKDEsIC00KQplbHNlCmxvY2FsIGJhc2VuYW1lID0gZm5hbWU6c3ViKDEsIC00KQp0ZXN0bmFtZSA9IGJhc2VuYW1lIC4uICIueHNkIgppZiBwcm9qZWN0Lmhhc2ZpbGUoZmNmZy5wcm9qZWN0LCB0ZXN0bmFtZSkgdGhlbgppbmZvLkRlcGVuZGVudFVwb24gPSB0ZXN0bmFtZQplbmQKdGVzdG5hbWUgPSBiYXNlbmFtZSAuLiAiLkRlc2lnbmVyLmNzIgppZiBwcm9qZWN0Lmhhc2ZpbGUoZmNmZy5wcm9qZWN0LCB0ZXN0bmFtZSkgdGhlbgppbmZvLlN1YlR5cGUgPSAiRm9ybSIKZW5kCnRlc3RuYW1lID0gYmFzZW5hbWUgLi4gIi50dCIKaWYgcHJvamVjdC5oYXNmaWxlKGZjZmcucHJvamVjdCwgdGVzdG5hbWUpIHRoZW4KaW5mby5BdXRvR2VuID0gIlRydWUiCmluZm8uRGVzaWduVGltZSA9ICJUcnVlIgppbmZvLkRlcGVuZGVudFVwb24gPSB0ZXN0bmFtZQplbmQKZW5kCmlmIGZjZmcuYnVpbGRhY3Rpb24gPT0gIkNvbXBvbmVudCIgb3IKICAgZmNmZy5idWlsZGFjdGlvbiA9PSAiRm9ybSIgb3IKICAgZmNmZy5idWlsZGFjdGlvbiA9PSAiVXNlckNvbnRyb2wiCnRoZW4KaW5mby5TdWJUeXBlID0gZmNmZy5idWlsZGFjdGlvbgplbmQKaWYgZmNmZy5mbGFncyBhbmQgZmNmZy5mbGFncy5Db21wb25lbnQgdGhlbgppbmZvLlN1YlR5cGUgPSAiQ29tcG9uZW50IgplbmQKZW5kCmlmIGluZm8uYWN0aW9uID09ICJDb250ZW50IiB0aGVuCmluZm8uQ29weVRvT3V0cHV0RGlyZWN0b3J5ID0gIlByZXNlcnZlTmV3ZXN0IgplbmQKaWYgaW5mby5hY3Rpb24gPT0gIkVtYmVkZGVkUmVzb3VyY2UiIGFuZCBmbmFtZTplbmRzd2l0aCgiLnJlc3giKSB0aGVuCmxvY2FsIGJhc2VuYW1lID0gZm5hbWU6c3ViKDEsIC02KQpsb2NhbCB0ZXN0bmFtZSA9IGJhc2VuYW1lIC4uICIuY3MiCmlmIHByb2plY3QuaGFzZmlsZShmY2ZnLnByb2plY3QsIHRlc3RuYW1lKSB0aGVuCmluZm8uRGVwZW5kZW50VXBvbiA9IHRlc3RuYW1lCmlmIHByb2plY3QuaGFzZmlsZShmY2ZnLnByb2plY3QsIGJhc2VuYW1lIC4uICIuRGVzaWduZXIuY3MiKSB0aGVuCmluZm8uU3ViVHlwZSA9ICJEZXNpZ25lclR5cGUiCmVuZAplbHNlCnRlc3RuYW1lID0gYmFzZW5hbWUgLi4gIi5EZXNpZ25lci5jcyIKaWYgcHJvamVjdC5oYXNmaWxlKGZjZmcucHJvamVjdCwgdGVzdG5hbWUpIHRoZW4KaW5mby5TdWJUeXBlID0gIkRlc2lnbmVyIgpsb2NhbCByZXNvdXJjZUFjY2Vzc0dlbmVyYXRvciA9ICJSZXNYRmlsZUNvZGVHZW5lcmF0b3IiCmlmIGZjZmcucHJvamVjdC5yZXNvdXJjZWdlbmVyYXRvciB0aGVuCmlmIGZjZmcucHJvamVjdC5yZXNvdXJjZWdlbmVyYXRvciA9PSAicHVibGljIiB0aGVuCnJlc291cmNlQWNjZXNzR2VuZXJhdG9yID0gIlB1YmxpY1Jlc1hGaWxlQ29kZUdlbmVyYXRvciIKZW5kCmVuZAppbmZvLkdlbmVyYXRvciA9IHJlc291cmNlQWNjZXNzR2VuZXJhdG9yCmluZm8uTGFzdEdlbk91dHB1dCA9IHBhdGguZ2V0bmFtZSh0ZXN0bmFtZSkKZW5kCmVuZAplbmQKaWYgaW5mby5hY3Rpb24gPT0gIk5vbmUiIGFuZCBmbmFtZTplbmRzd2l0aCgiLnNldHRpbmdzIikgdGhlbgpsb2NhbCB0ZXN0bmFtZSA9IGZuYW1lOnN1YigxLCAtMTApIC4uICIuRGVzaWduZXIuY3MiCmlmIHByb2plY3QuaGFzZmlsZShmY2ZnLnByb2plY3QsIHRlc3RuYW1lKSB0aGVuCmluZm8uR2VuZXJhdG9yID0gIlNldHRpbmdzU2luZ2xlRmlsZUdlbmVyYXRvciIKaW5mby5MYXN0R2VuT3V0cHV0ID0gcGF0aC5nZXRuYW1lKHRlc3RuYW1lKQplbmQKZW5kCmlmIGluZm8uYWN0aW9uID09ICJDb250ZW50IiBhbmQgZm5hbWU6ZW5kc3dpdGgoIi50dCIpIHRoZW4KbG9jYWwgdGVzdG5hbWUgPSBmbmFtZTpzdWIoMSwgLTQpIC4uICIuY3MiCmlmIHByb2plY3QuaGFzZmlsZShmY2ZnLnByb2plY3QsIHRlc3RuYW1lKSB0aGVuCmluZm8uR2VuZXJhdG9yID0gIlRleHRUZW1wbGF0aW5nRmlsZUdlbmVyYXRvciIKaW5mby5MYXN0R2VuT3V0cHV0ID0gcGF0aC5nZXRuYW1lKHRlc3RuYW1lKQppbmZvLkNvcHlUb091dHB1dERpcmVjdG9yeSA9IG5pbAplbmQKZW5kCmlmIGluZm8uYWN0aW9uID09ICJOb25lIiBhbmQgZm5hbWU6ZW5kc3dpdGgoIi54c2QiKSB0aGVuCmxvY2FsIHRlc3RuYW1lID0gZm5hbWU6c3ViKDEsIC01KSAuLiAiLkRlc2lnbmVyLmNzIgppZiBwcm9qZWN0Lmhhc2ZpbGUoZmNmZy5wcm9qZWN0LCB0ZXN0bmFtZSkgdGhlbgppbmZvLlN1YlR5cGUgPSAiRGVzaWduZXIiCmluZm8uR2VuZXJhdG9yID0gIk1TRGF0YVNldEdlbmVyYXRvciIKaW5mby5MYXN0R2VuT3V0cHV0ID0gcGF0aC5nZXRuYW1lKHRlc3RuYW1lKQplbmQKZW5kCmlmIGluZm8uYWN0aW9uID09ICJOb25lIiBhbmQgKGZuYW1lOmVuZHN3aXRoKCIueHNjIikgb3IgZm5hbWU6ZW5kc3dpdGgoIi54c3MiKSkgdGhlbgpsb2NhbCB0ZXN0bmFtZSA9IGZuYW1lOnN1YigxLCAtNSkgLi4gIi54c2QiCmlmIHByb2plY3QuaGFzZmlsZShmY2ZnLnByb2plY3QsIHRlc3RuYW1lKSB0aGVuCmluZm8uRGVwZW5kZW50VXBvbiA9IHRlc3RuYW1lCmVuZAplbmQKaWYgZm5hbWU6ZW5kc3dpdGgoIi54YW1sIikgdGhlbgpsb2NhbCB0ZXN0bmFtZSA9IGZuYW1lIC4uICIuY3MiCmlmIHByb2plY3QuaGFzZmlsZShmY2ZnLnByb2plY3QsIHRlc3RuYW1lKSB0aGVuCmluZm8uU3ViVHlwZSA9ICJEZXNpZ25lciIKaW5mby5HZW5lcmF0b3IgPSAiTVNCdWlsZDpDb21waWxlIgplbmQKZW5kCmlmIGluZm8uRGVwZW5kZW50VXBvbiB0aGVuCmluZm8uRGVwZW5kZW50VXBvbiA9IHBhdGguZ2V0bmFtZShpbmZvLkRlcGVuZGVudFVwb24pCmVuZApyZXR1cm4gaW5mbwplbmQKZnVuY3Rpb24gZG90bmV0LmdldHRvb2xuYW1lKGNmZywgdG9vbCkKbG9jYWwgY29tcGlsZXJzID0gewptc25ldCA9ICJjc2MiLAptb25vID0gIm1jcyIsCnBuZXQgPSAiY3NjYyIsCn0KaWYgdG9vbCA9PSAiY3NjIiB0aGVuCmxvY2FsIHRvb2xzZXQgPSBfT1BUSU9OUy5kb3RuZXQgb3IgIm1zbmV0IgpyZXR1cm4gY29tcGlsZXJzW3Rvb2xzZXRdCmVsc2UKcmV0dXJuICJyZXNnZW4iCmVuZAplbmQKZG90bmV0LmZsYWdzID0gewpjbHIgPSB7ClVuc2FmZSA9ICIvdW5zYWZlIiwKfSwKZmxhZ3MgPSB7CkZhdGFsV2FybmluZyA9ICIvd2FybmFzZXJyb3IiLAp9LApvcHRpbWl6ZSA9IHsKT24gPSAiL29wdGltaXplIiwKU2l6ZSA9ICIvb3B0aW1pemUiLApTcGVlZCA9ICIvb3B0aW1pemUiLAp9LApzeW1ib2xzID0gewpPbiA9ICIvZGVidWciLAp9Cn0KZnVuY3Rpb24gZG90bmV0LmdldGZsYWdzKGNmZykKbG9jYWwgZmxhZ3MgPSBjb25maWcubWFwRmxhZ3MoY2ZnLCBkb3RuZXQuZmxhZ3MpCnRhYmxlLmluc2VydChmbGFncywgJy9ub2NvbmZpZycpCmlmIGNmZy5wcm9qZWN0Lmljb24gdGhlbgpsb2NhbCBmbiA9IHByb2plY3QuZ2V0cmVsYXRpdmUoY2ZnLnByb2plY3QsIGNmZy5wcm9qZWN0Lmljb24pCnRhYmxlLmluc2VydChmbGFncywgc3RyaW5nLmZvcm1hdCgnL3dpbjMyaWNvbjoiJXMiJywgZm4pKQplbmQKaWYgI2NmZy5kZWZpbmVzID4gMCB0aGVuCnRhYmxlLmluc2VydChmbGFncywgdGFibGUuaW1wbG9kZShjZmcuZGVmaW5lcywgIi9kOiIsICIiLCAiICIpKQplbmQKaWYgY2ZnLmNzdmVyc2lvbiB+PSBuaWwgdGhlbgp0YWJsZS5pbnNlcnQoZmxhZ3MsICcvbGFuZ3ZlcnNpb246JyAuLiBjZmcuY3N2ZXJzaW9uKQplbmQKcmV0dXJuIHRhYmxlLmpvaW4oZmxhZ3MsIGNmZy5idWlsZG9wdGlvbnMpCmVuZApmdW5jdGlvbiBkb3RuZXQuZ2V0a2luZChjZmcpCmlmIChjZmcua2luZCA9PSAiQ29uc29sZUFwcCIpIHRoZW4KcmV0dXJuICJFeGUiCmVsc2VpZiAoY2ZnLmtpbmQgPT0gIldpbmRvd2VkQXBwIikgdGhlbgpyZXR1cm4gIldpbkV4ZSIKZWxzZWlmIChjZmcua2luZCA9PSAiU2hhcmVkTGliIikgdGhlbgpyZXR1cm4gIkxpYnJhcnkiCmVsc2UKZXJyb3IoImludmFsaWQgZG90bmV0IGtpbmQgIiAuLiBjZmcua2luZCAuLiAiLiBWYWxpZCBraW5kcyBhcmUgQ29uc29sZUFwcCwgV2luZG93c0FwcCwgU2hhcmVkTGliIikKZW5kCmVuZApmdW5jdGlvbiBkb3RuZXQuZ2V0bWFrZXNldHRpbmdzKGNmZykKcmV0dXJuIG5pbAplbmQKAAAAbG9jYWwgcCA9IHByZW1ha2UKbG9jYWwgdnN0dWRpbyA9IHAudnN0dWRpbwpuZXdhY3Rpb24gewp0cmlnZ2VyICAgICA9ICJ2czIwMTciLApzaG9ydG5hbWUgICA9ICJWaXN1YWwgU3R1ZGlvIDIwMTciLApkZXNjcmlwdGlvbiA9ICJHZW5lcmF0ZSBWaXN1YWwgU3R1ZGlvIDIwMTcgcHJvamVjdCBmaWxlcyIsCnRhcmdldG9zID0gIndpbmRvd3MiLAp0b29sc2V0ICA9ICJtc2MtdjE0MSIsCnZhbGlkX2tpbmRzICAgICA9IHsgIkNvbnNvbGVBcHAiLCAiV2luZG93ZWRBcHAiLCAiU3RhdGljTGliIiwgIlNoYXJlZExpYiIsICJNYWtlZmlsZSIsICJOb25lIiwgIlV0aWxpdHkiIH0sCnZhbGlkX2xhbmd1YWdlcyA9IHsgIkMiLCAiQysrIiwgIkMjIiwgIkYjIiB9LAp2YWxpZF90b29scyAgICAgPSB7CmNjICAgICA9IHsgIm1zYyIgICB9LApkb3RuZXQgPSB7ICJtc25ldCIgfSwKfSwKb25Xb3Jrc3BhY2UgPSBmdW5jdGlvbih3a3MpCnAudnN0dWRpby52czIwMDUuZ2VuZXJhdGVTb2x1dGlvbih3a3MpCmVuZCwKb25Qcm9qZWN0ID0gZnVuY3Rpb24ocHJqKQpwLnZzdHVkaW8udnMyMDEwLmdlbmVyYXRlUHJvamVjdChwcmopCmVuZCwKb25SdWxlID0gZnVuY3Rpb24ocnVsZSkKcC52c3R1ZGlvLnZzMjAxMC5nZW5lcmF0ZVJ1bGUocnVsZSkKZW5kLApvbkNsZWFuV29ya3NwYWNlID0gZnVuY3Rpb24od2tzKQpwLnZzdHVkaW8uY2xlYW5Tb2x1dGlvbih3a3MpCmVuZCwKb25DbGVhblByb2plY3QgPSBmdW5jdGlvbihwcmopCnAudnN0dWRpby5jbGVhblByb2plY3QocHJqKQplbmQsCm9uQ2xlYW5UYXJnZXQgPSBmdW5jdGlvbihwcmopCnAudnN0dWRpby5jbGVhblRhcmdldChwcmopCmVuZCwKcGF0aFZhcnMgPSB2c3R1ZGlvLnZzMjAxMC5wYXRoVmFycywKdnN0dWRpbyA9IHsKc29sdXRpb25WZXJzaW9uID0gIjEyIiwKdmVyc2lvbk5hbWUgICAgID0gIjE1IiwKdGFyZ2V0RnJhbWV3b3JrID0gIjQuNS4yIiwKdG9vbHNWZXJzaW9uICAgID0gIjE1LjAiLApmaWx0ZXJUb29sc1ZlcnNpb24gPSAiNC4wIiwKfQp9CgAAAGxvY2FsIHAgPSBwcmVtYWtlCmxvY2FsIHZzdHVkaW8gPSBwLnZzdHVkaW8KbmV3YWN0aW9uIHsKdHJpZ2dlciAgICAgPSAidnMyMDE1IiwKc2hvcnRuYW1lICAgPSAiVmlzdWFsIFN0dWRpbyAyMDE1IiwKZGVzY3JpcHRpb24gPSAiR2VuZXJhdGUgVmlzdWFsIFN0dWRpbyAyMDE1IHByb2plY3QgZmlsZXMiLAp0YXJnZXRvcyA9ICJ3aW5kb3dzIiwKdG9vbHNldCAgPSAibXNjLXYxNDAiLAp2YWxpZF9raW5kcyAgICAgPSB7ICJDb25zb2xlQXBwIiwgIldpbmRvd2VkQXBwIiwgIlN0YXRpY0xpYiIsICJTaGFyZWRMaWIiLCAiTWFrZWZpbGUiLCAiTm9uZSIsICJVdGlsaXR5IiB9LAp2YWxpZF9sYW5ndWFnZXMgPSB7ICJDIiwgIkMrKyIsICJDIyIsICJGIyIgfSwKdmFsaWRfdG9vbHMgICAgID0gewpjYyAgICAgPSB7ICJtc2MiICAgfSwKZG90bmV0ID0geyAibXNuZXQiIH0sCn0sCm9uV29ya3NwYWNlID0gZnVuY3Rpb24od2tzKQp2c3R1ZGlvLnZzMjAwNS5nZW5lcmF0ZVNvbHV0aW9uKHdrcykKZW5kLApvblByb2plY3QgPSBmdW5jdGlvbihwcmopCnZzdHVkaW8udnMyMDEwLmdlbmVyYXRlUHJvamVjdChwcmopCmVuZCwKb25SdWxlID0gZnVuY3Rpb24ocnVsZSkKdnN0dWRpby52czIwMTAuZ2VuZXJhdGVSdWxlKHJ1bGUpCmVuZCwKb25DbGVhbldvcmtzcGFjZSA9IGZ1bmN0aW9uKHdrcykKdnN0dWRpby5jbGVhblNvbHV0aW9uKHdrcykKZW5kLApvbkNsZWFuUHJvamVjdCA9IGZ1bmN0aW9uKHByaikKdnN0dWRpby5jbGVhblByb2plY3QocHJqKQplbmQsCm9uQ2xlYW5UYXJnZXQgPSBmdW5jdGlvbihwcmopCnZzdHVkaW8uY2xlYW5UYXJnZXQocHJqKQplbmQsCnBhdGhWYXJzID0gdnN0dWRpby52czIwMTAucGF0aFZhcnMsCnZzdHVkaW8gPSB7CnNvbHV0aW9uVmVyc2lvbiA9ICIxMiIsCnZlcnNpb25OYW1lICAgICA9ICIxNCIsCnRhcmdldEZyYW1ld29yayA9ICI0LjUiLAp0b29sc1ZlcnNpb24gICAgPSAiMTQuMCIsCmZpbHRlclRvb2xzVmVyc2lvbiA9ICI0LjAiLAp9Cn0KAGxvY2FsIHAgPSBwcmVtYWtlCnAuYWN0aW9uID0ge30KbG9jYWwgYWN0aW9uID0gcC5hY3Rpb24KX0FDVElPTiA9IG5pbApfQVJHUyA9IHt9CmZvciBpLCBhcmcgaW4gaXBhaXJzKF9BUkdWKSBkbwppZiBub3QgYXJnOnN0YXJ0c3dpdGgoIi8iKSBhbmQgbm90IGFyZzpzdGFydHN3aXRoKCItLSIpIHRoZW4KaWYgbm90IF9BQ1RJT04gdGhlbgpfQUNUSU9OID0gYXJnCmVsc2UKdGFibGUuaW5zZXJ0KF9BUkdTLCBhcmcpCl9BUkdTW2FyZ10gPSBhcmcKZW5kCmVuZAplbmQKYWN0aW9uLl9saXN0ID0ge30KZnVuY3Rpb24gYWN0aW9uLmFkZChhY3QpCmxvY2FsIG1pc3NpbmcKZm9yIF8sIGZpZWxkIGluIGlwYWlycyh7ImRlc2NyaXB0aW9uIiwgInRyaWdnZXIifSkgZG8KaWYgbm90IGFjdFtmaWVsZF0gdGhlbgptaXNzaW5nID0gZmllbGQKZW5kCmVuZAppZiBtaXNzaW5nIHRoZW4KbG9jYWwgbmFtZSA9IGFjdC50cmlnZ2VyIG9yICIiCmVycm9yKHN0cmluZy5mb3JtYXQoJ2FjdGlvbiAiJXMiIG5lZWRzIGEgICVzJywgbmFtZSwgbWlzc2luZyksIDMpCmVuZAppZiBhY3Qub3Mgfj0gbmlsIHRoZW4KcC53YXJuT25jZShhY3QudHJpZ2dlciwgImFjdGlvbiAnIiAuLiBhY3QudHJpZ2dlciAuLiAiJyBzZXRzICdvcycgZmllbGQsIHdoaWNoIGlzIGRlcHJlY2F0ZWQsIHVzZSAndGFyZ2V0b3MnIGluc3RlYWQuIikKYWN0LnRhcmdldG9zID0gYWN0Lm9zCmFjdC5vcyA9IG5pbAplbmQKYWN0aW9uLl9saXN0W2FjdC50cmlnZ2VyXSA9IGFjdAplbmQKZnVuY3Rpb24gYWN0aW9uLmluaXRpYWxpemUobmFtZSkKbG9jYWwgYSA9IGFjdGlvbi5fbGlzdFtuYW1lXQppZiAoYS5vbkluaXRpYWxpemUpIHRoZW4KYS5vbkluaXRpYWxpemUoKQplbmQKZW5kCmZ1bmN0aW9uIGFjdGlvbi5jYWxsKG5hbWUpCmxvY2FsIGEgPSBhY3Rpb24uX2xpc3RbbmFtZV0KaWYgYS5vblN0YXJ0IHRoZW4KYS5vblN0YXJ0KCkKZW5kCmZvciB3a3MgaW4gcC5nbG9iYWwuZWFjaFdvcmtzcGFjZSgpIGRvCmxvY2FsIG9uV29ya3NwYWNlID0gYS5vbldvcmtzcGFjZSBvciBhLm9uU29sdXRpb24gb3IgYS5vbnNvbHV0aW9uCmlmIG9uV29ya3NwYWNlIGFuZCBub3Qgd2tzLmV4dGVybmFsIHRoZW4Kb25Xb3Jrc3BhY2Uod2tzKQplbmQKZm9yIHByaiBpbiBwLndvcmtzcGFjZS5lYWNocHJvamVjdCh3a3MpIGRvCmxvY2FsIG9uUHJvamVjdCA9IGEub25Qcm9qZWN0IG9yIGEub25wcm9qZWN0CmlmIG9uUHJvamVjdCBhbmQgbm90IHByai5leHRlcm5hbCB0aGVuCm9uUHJvamVjdChwcmopCmVuZAplbmQKZW5kCmZvciBydWxlIGluIHAuZ2xvYmFsLmVhY2hSdWxlKCkgZG8KbG9jYWwgb25SdWxlID0gYS5vblJ1bGUgb3IgYS5vbnJ1bGUKaWYgb25SdWxlIGFuZCBub3QgcnVsZS5leHRlcm5hbCB0aGVuCm9uUnVsZShydWxlKQplbmQKZW5kCmlmIGEuZXhlY3V0ZSB0aGVuCmEuZXhlY3V0ZSgpCmVuZAppZiBhLm9uRW5kIHRoZW4KYS5vbkVuZCgpCmVuZAplbmQKZnVuY3Rpb24gYWN0aW9uLmN1cnJlbnQoKQpyZXR1cm4gYWN0aW9uLmdldChfQUNUSU9OKQplbmQKZnVuY3Rpb24gYWN0aW9uLmdldChuYW1lKQppZiBuYW1lIGFuZCBuYW1lOmVuZHN3aXRoKCJuZyIpIHRoZW4KbmFtZSA9IG5hbWU6c3ViKDEsIC0zKQplbmQKcmV0dXJuIGFjdGlvbi5fbGlzdFtuYW1lXQplbmQKZnVuY3Rpb24gYWN0aW9uLmVhY2goKQpsb2NhbCBrZXlzID0geyB9CmZvciBfLCBhY3QgaW4gcGFpcnMoYWN0aW9uLl9saXN0KSBkbwp0YWJsZS5pbnNlcnQoa2V5cywgYWN0LnRyaWdnZXIpCmVuZAp0YWJsZS5zb3J0KGtleXMpCmxvY2FsIGkgPSAwCnJldHVybiBmdW5jdGlvbigpCmkgPSBpICsgMQpyZXR1cm4gYWN0aW9uLl9saXN0W2tleXNbaV1dCmVuZAplbmQKZnVuY3Rpb24gYWN0aW9uLmlzQ29uZmlndXJhYmxlKHNlbGYpCmlmIG5vdCBzZWxmIHRoZW4Kc2VsZiA9IGFjdGlvbi5jdXJyZW50KCkgb3Ige30KZW5kCmlmIHNlbGYub25Xb3Jrc3BhY2Ugb3Igc2VsZi5vblNvbHV0aW9uIG9yIHNlbGYub25zb2x1dGlvbiB0aGVuCnJldHVybiB0cnVlCmVuZAppZiBzZWxmLm9uUHJvamVjdCBvciBzZWxmLm9ucHJvamVjdCB0aGVuCnJldHVybiB0cnVlCmVuZApyZXR1cm4gZmFsc2UKZW5kCmZ1bmN0aW9uIGFjdGlvbi5zZXQobmFtZSkKX0FDVElPTiA9IG5hbWUKbG9jYWwgYWN0ID0gYWN0aW9uLmdldChuYW1lKQppZiBhY3QgdGhlbgpfVEFSR0VUX09TID0gYWN0LnRhcmdldG9zIG9yIF9UQVJHRVRfT1MKZW5kCmlmIGFjdCBhbmQgYWN0Lm1vZHVsZSB0aGVuCnJlcXVpcmUoYWN0Lm1vZHVsZSkKZW5kCmVuZApmdW5jdGlvbiBhY3Rpb24uc3VwcG9ydHMoZmVhdHVyZSkKaWYgbm90IGZlYXR1cmUgdGhlbgpyZXR1cm4gdHJ1ZQplbmQKbG9jYWwgc2VsZiA9IGFjdGlvbi5jdXJyZW50KCkKaWYgbm90IHNlbGYgdGhlbgpyZXR1cm4gZmFsc2UKZW5kCmlmIG5vdCBzZWxmLnZhbGlkX2xhbmd1YWdlcyBhbmQgbm90IHNlbGYudmFsaWRfa2luZHMgdGhlbgpyZXR1cm4gdHJ1ZQplbmQKaWYgc2VsZi52YWxpZF9sYW5ndWFnZXMgYW5kIHRhYmxlLmNvbnRhaW5zKHNlbGYudmFsaWRfbGFuZ3VhZ2VzLCBmZWF0dXJlKSB0aGVuCnJldHVybiB0cnVlCmVuZAppZiBzZWxmLnZhbGlkX2tpbmRzIGFuZCB0YWJsZS5jb250YWlucyhzZWxmLnZhbGlkX2tpbmRzLCBmZWF0dXJlKSB0aGVuCnJldHVybiB0cnVlCmVuZApyZXR1cm4gZmFsc2UKZW5kCmZ1bmN0aW9uIHAuYWN0aW9uLnN1cHBvcnRzY29uZmlnKGFjdGlvbiwgY2ZnKQppZiBub3QgYWN0aW9uIHRoZW4KcmV0dXJuIGZhbHNlCmVuZAppZiBhY3Rpb24uc3VwcG9ydHNjb25maWcgdGhlbgpyZXR1cm4gYWN0aW9uLnN1cHBvcnRzY29uZmlnKGNmZykKZW5kCnJldHVybiB0cnVlCmVuZAoAAAAAAAAAbG9jYWwgcCA9IHByZW1ha2UKbG9jYWwgbSA9IHAubW9kdWxlcy54Y29kZQpsb2NhbCB0cmVlID0gcC50cmVlCm0uZWxlbWVudHMud29ya3NwYWNlID0gZnVuY3Rpb24od2tzKQpyZXR1cm4gewptLnhtbERlY2xhcmF0aW9uLAptLndvcmtzcGFjZSwKbS5yZW9yZGVyUHJvamVjdHMsCm0ud29ya3NwYWNlRmlsZVJlZnMsCm0ud29ya3NwYWNlVGFpbCwKfQplbmQKZnVuY3Rpb24gbS5nZW5lcmF0ZVdvcmtzcGFjZSh3a3MpCm0ucHJlcGFyZVdvcmtzcGFjZSh3a3MpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMud29ya3NwYWNlLCB3a3MpCmVuZApmdW5jdGlvbiBtLndvcmtzcGFjZSgpCnAucHVzaCgnPFdvcmtzcGFjZScpCnAudygndmVyc2lvbiA9ICIxLjAiPicpCmVuZApmdW5jdGlvbiBtLndvcmtzcGFjZVRhaWwoKQpwLm91dCgnPC9Xb3Jrc3BhY2U+JykKZW5kCmZ1bmN0aW9uIG0ucmVvcmRlclByb2plY3RzKHdrcykKaWYgd2tzLnN0YXJ0cHJvamVjdCB0aGVuCmxvY2FsIG5wCmxvY2FsIHRyID0gcC53b3Jrc3BhY2UuZ3JvdXB0cmVlKHdrcykKdHJlZS50cmF2ZXJzZSh0ciwgewpvbmxlYWYgPSBmdW5jdGlvbihuKQppZiBuLnByb2plY3QubmFtZSA9PSB3a3Muc3RhcnRwcm9qZWN0IHRoZW4KbnAgPSBuCmVuZAplbmQKfSkKd2hpbGUgbnAgYW5kIG5wLnBhcmVudCBkbwpsb2NhbCBwID0gbnAucGFyZW50CmxvY2FsIGkgPSB0YWJsZS5pbmRleG9mKHAuY2hpbGRyZW4sIG5wKQp0YWJsZS5yZW1vdmUocC5jaGlsZHJlbiwgaSkKdGFibGUuaW5zZXJ0KHAuY2hpbGRyZW4sIDEsIG5wKQpucCA9IHAKZW5kCmVuZAplbmQKbS5lbGVtZW50cy53b3Jrc3BhY2VGaWxlUmVmID0gZnVuY3Rpb24ocHJqKQpyZXR1cm4gewptLndvcmtzcGFjZUxvY2F0aW9uLAp9CmVuZApmdW5jdGlvbiBtLndvcmtzcGFjZUZpbGVSZWZzKHdrcykKbG9jYWwgdHIgPSBwLndvcmtzcGFjZS5ncm91cHRyZWUod2tzKQp0cmVlLnRyYXZlcnNlKHRyLCB7Cm9ubGVhZiA9IGZ1bmN0aW9uKG4pCmxvY2FsIHByaiA9IG4ucHJvamVjdApwLnB1c2goJzxGaWxlUmVmJykKbG9jYWwgY29udGVudHMgPSBwLmNhcHR1cmUoZnVuY3Rpb24oKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLndvcmtzcGFjZUZpbGVSZWYsIHByaikKZW5kKQpwLm91dGxuKGNvbnRlbnRzIC4uICI+IikKcC5wb3AoJzwvRmlsZVJlZj4nKQplbmQsCm9uYnJhbmNoZW50ZXIgPSBmdW5jdGlvbihuKQpsb2NhbCBwcmogPSBuLnByb2plY3QKcC5wdXNoKCc8R3JvdXAnKQpwLncoJ2xvY2F0aW9uID0gImNvbnRhaW5lcjoiJykKcC53KCduYW1lID0gIiVzIj4nLCBuLm5hbWUpCmVuZCwKb25icmFuY2hleGl0ID0gZnVuY3Rpb24obikKcC5wb3AoJzwvR3JvdXA+JykKZW5kLAp9KQplbmQKZnVuY3Rpb24gbS53b3Jrc3BhY2VMb2NhdGlvbihwcmopCmxvY2FsIGZuYW1lID0gcC5maWxlbmFtZShwcmosICIueGNvZGVwcm9qIikKZm5hbWUgPSBwYXRoLmdldHJlbGF0aXZlKHByai53b3Jrc3BhY2UubG9jYXRpb24sIGZuYW1lKQpwLncoJ2xvY2F0aW9uID0gImdyb3VwOiVzIicsIGZuYW1lKQplbmQKZnVuY3Rpb24gbS54bWxEZWNsYXJhdGlvbigpCnAueG1sVXRmOCh0cnVlKQplbmQKbG9jYWwgcCA9IHByZW1ha2UKcC52c3R1ZGlvLnZjMjAweCA9IHt9CmxvY2FsIG0gPSBwLnZzdHVkaW8udmMyMDB4CmxvY2FsIHZzdHVkaW8gPSBwLnZzdHVkaW8KbG9jYWwgY29udGV4dCA9IHAuY29udGV4dApsb2NhbCBwcm9qZWN0ID0gcC5wcm9qZWN0CmxvY2FsIGNvbmZpZyA9IHAuY29uZmlnCmxvY2FsIGZpbGVjb25maWcgPSBwLmZpbGVjb25maWcKbS5lbGVtZW50cyA9IHt9Cm0uZWxlbWVudHMucHJvamVjdCA9IGZ1bmN0aW9uKHByaikKcmV0dXJuIHsKbS54bWxFbGVtZW50LAptLnZpc3VhbFN0dWRpb1Byb2plY3QsCm0ucGxhdGZvcm1zLAptLnRvb2xGaWxlcywKbS5jb25maWd1cmF0aW9ucywKbS5yZWZlcmVuY2VzLAptLmZpbGVzLAptLmdsb2JhbHMKfQplbmQKZnVuY3Rpb24gbS5nZW5lcmF0ZShwcmopCnAuaW5kZW50KCJcdCIpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMucHJvamVjdCwgcHJqKQpwLnBvcCgnPC9WaXN1YWxTdHVkaW9Qcm9qZWN0PicpCnAudygpCmVuZAptLmVsZW1lbnRzLnZpc3VhbFN0dWRpb1Byb2plY3QgPSBmdW5jdGlvbihwcmopCnJldHVybiB7Cm0ucHJvamVjdFR5cGUsCm0udmVyc2lvbiwKbS5wcm9qZWN0TmFtZSwKbS5wcm9qZWN0R1VJRCwKbS5yb290TmFtZXNwYWNlLAptLmtleXdvcmQsCm0udGFyZ2V0RnJhbWV3b3JrVmVyc2lvbgp9CmVuZApmdW5jdGlvbiBtLnZpc3VhbFN0dWRpb1Byb2plY3QocHJqKQpwLnB1c2goJzxWaXN1YWxTdHVkaW9Qcm9qZWN0JykKcC5jYWxsQXJyYXkobS5lbGVtZW50cy52aXN1YWxTdHVkaW9Qcm9qZWN0LCBwcmopCnAudygnPicpCmVuZApmdW5jdGlvbiBtLmNvbmZpZ3VyYXRpb25zKHByaikKcC5wdXNoKCc8Q29uZmlndXJhdGlvbnM+JykKbG9jYWwgbWFwcGluZyA9IHt9CmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KbG9jYWwgbmFtZSA9IHZzdHVkaW8ucHJvamVjdENvbmZpZyhjZmcpCm1hcHBpbmdbY2ZnXSA9IG5hbWUKbWFwcGluZ1tuYW1lXSA9IGNmZwplbmQKZm9yIGNmZyBpbiBwcm9qZWN0LmVhY2hjb25maWcocHJqKSBkbwpmb3IgaSwgYXJjaCBpbiBpcGFpcnMoYXJjaGl0ZWN0dXJlcykgZG8KbG9jYWwgdGFyZ2V0CmxvY2FsIHRlc3ROYW1lID0gdnN0dWRpby5wcm9qZWN0Q29uZmlnKGNmZywgYXJjaCkKaWYgdGVzdE5hbWUgPT0gbWFwcGluZ1tjZmddIHRoZW4KdGFyZ2V0ID0gY2ZnCmVsc2VpZiBub3QgbWFwcGluZ1t0ZXN0TmFtZV0gdGhlbgp0YXJnZXQgPSB7IGZha2UgPSB0cnVlIH0KZW5kCmlmIHRhcmdldCB0aGVuCm0uY29uZmlndXJhdGlvbih0YXJnZXQsIHRlc3ROYW1lKQptLnRvb2xzKHRhcmdldCkKcC5wb3AoJzwvQ29uZmlndXJhdGlvbj4nKQplbmQKZW5kCmVuZApwLnBvcCgnPC9Db25maWd1cmF0aW9ucz4nKQplbmQKbS5lbGVtZW50cy5jb25maWd1cmF0aW9uID0gZnVuY3Rpb24oY2ZnKQppZiBjZmcuZmFrZSB0aGVuCnJldHVybiB7Cm0uaW50ZXJtZWRpYXRlRGlyZWN0b3J5LAptLmNvbmZpZ3VyYXRpb25UeXBlCn0KZWxzZQpyZXR1cm4gewptLm91dHB1dERpcmVjdG9yeSwKbS5pbnRlcm1lZGlhdGVEaXJlY3RvcnksCm0uY29uZmlndXJhdGlvblR5cGUsCm0udXNlT2ZNRkMsCm0uY2hhcmFjdGVyU2V0LAptLm1hbmFnZWRFeHRlbnNpb25zLAp9CmVuZAplbmQKZnVuY3Rpb24gbS5jb25maWd1cmF0aW9uKGNmZywgbmFtZSkKcC5wdXNoKCc8Q29uZmlndXJhdGlvbicpCnAudygnTmFtZT0iJXMiJywgbmFtZSkKcC5jYWxsQXJyYXkobS5lbGVtZW50cy5jb25maWd1cmF0aW9uLCBjZmcpCnAudygnPicpCmVuZAptLmVsZW1lbnRzLnRvb2xzID0gZnVuY3Rpb24oY2ZnKQppZiB2c3R1ZGlvLmlzTWFrZWZpbGUoY2ZnKSBhbmQgbm90IGNmZy5mYWtlIHRoZW4KcmV0dXJuIHsKbS5WQ05NYWtlVG9vbAp9CmVuZApyZXR1cm4gewptLlZDUHJlQnVpbGRFdmVudFRvb2wsCm0uVkNDdXN0b21CdWlsZFRvb2wsCm0uVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCwKbS5WQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wsCm0uVkNNSURMVG9vbCwKbS5WQ0NMQ29tcGlsZXJUb29sLAptLlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sLAptLlZDUmVzb3VyY2VDb21waWxlclRvb2wsCm0uVkNQcmVMaW5rRXZlbnRUb29sLAptLlZDTGlua2VyVG9vbCwKbS5WQ0FMaW5rVG9vbCwKbS5WQ01hbmlmZXN0VG9vbCwKbS5WQ1hEQ01ha2VUb29sLAptLlZDQnNjTWFrZVRvb2wsCm0uVkNGeENvcFRvb2wsCm0uVkNBcHBWZXJpZmllclRvb2wsCm0uVkNQb3N0QnVpbGRFdmVudFRvb2wsCn0KZW5kCmZ1bmN0aW9uIG0udG9vbHMoY2ZnKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLnRvb2xzLCBjZmcsIGNvbmZpZy50b29sc2V0KGNmZykpCmVuZAptLmVsZW1lbnRzLnJlZmVyZW5jZXMgPSBmdW5jdGlvbihwcmopCnJldHVybiB7Cm0uYXNzZW1ibHlSZWZlcmVuY2VzLAptLnByb2plY3RSZWZlcmVuY2VzLAp9CmVuZApmdW5jdGlvbiBtLnJlZmVyZW5jZXMocHJqKQpwLnB1c2goJzxSZWZlcmVuY2VzPicpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMucmVmZXJlbmNlcywgcHJqKQpwLnBvcCgnPC9SZWZlcmVuY2VzPicpCmVuZApmdW5jdGlvbiBtLmZpbGVzKHByaikKbG9jYWwgdHIgPSBtLmZpbGVzU29ydGVkKHByaikKcC5wdXNoKCc8RmlsZXM+JykKcC50cmVlLnRyYXZlcnNlKHRyLCB7Cm9uYnJhbmNoZW50ZXIgPSBtLmZpbGVzRmlsdGVyU3RhcnQsCm9uYnJhbmNoZXhpdCA9IG0uZmlsZXNGaWx0ZXJFbmQsCm9ubGVhZiA9IG0uZmlsZXNGaWxlLAp9LCBmYWxzZSkKcC5wb3AoJzwvRmlsZXM+JykKZW5kCmZ1bmN0aW9uIG0uZmlsZXNTb3J0ZWQocHJqKQpyZXR1cm4gcHJvamVjdC5nZXRzb3VyY2V0cmVlKHByaiwgZnVuY3Rpb24oYSxiKQpsb2NhbCBpc3RvcCA9IChhLnBhcmVudC5wYXJlbnQgPT0gbmlsKQpsb2NhbCBhU29ydE5hbWUgPSBhLm5hbWUKbG9jYWwgYlNvcnROYW1lID0gYi5uYW1lCmlmIGEucmVscGF0aCB0aGVuCmlmIG5vdCBiLnJlbHBhdGggdGhlbgpyZXR1cm4gbm90IGlzdG9wCmVuZAphU29ydE5hbWUgPSBhLnJlbHBhdGg6Z3N1YigiJS4lLiUvIiwgIiIpCmVuZAppZiBiLnJlbHBhdGggdGhlbgppZiBub3QgYS5yZWxwYXRoIHRoZW4KcmV0dXJuIGlzdG9wCmVuZApiU29ydE5hbWUgPSBiLnJlbHBhdGg6Z3N1YigiJS4lLiUvIiwgIiIpCmVuZApyZXR1cm4gYVNvcnROYW1lIDwgYlNvcnROYW1lCmVuZCkKZW5kCmZ1bmN0aW9uIG0uZmlsZXNGaWx0ZXJTdGFydChub2RlKQpwLnB1c2goJzxGaWx0ZXInKQpwLncoJ05hbWU9IiVzIicsIG5vZGUubmFtZSkKcC53KCc+JykKZW5kCmZ1bmN0aW9uIG0uZmlsZXNGaWx0ZXJFbmQobm9kZSkKcC5wb3AoJzwvRmlsdGVyPicpCmVuZApmdW5jdGlvbiBtLmZpbGVzRmlsZShub2RlKQpwLnB1c2goJzxGaWxlJykKcC53KCdSZWxhdGl2ZVBhdGg9IiVzIicsIHBhdGgudHJhbnNsYXRlKG5vZGUucmVscGF0aCkpCnAudygnPicpCmxvY2FsIHByaiA9IG5vZGUucHJvamVjdApmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCm0uZmlsZUNvbmZpZ3VyYXRpb24oY2ZnLCBub2RlKQplbmQKcC5wb3AoJzwvRmlsZT4nKQplbmQKbS5lbGVtZW50cy5maWxlQ29uZmlndXJhdGlvbkF0dHJpYnV0ZXMgPSBmdW5jdGlvbihmaWxlY2ZnKQpyZXR1cm4gewptLmV4Y2x1ZGVkRnJvbUJ1aWxkLAp9CmVuZApmdW5jdGlvbiBtLmZpbGVDb25maWd1cmF0aW9uKGNmZywgbm9kZSkKbG9jYWwgZmlsZWNmZyA9IGZpbGVjb25maWcuZ2V0Y29uZmlnKG5vZGUsIGNmZykKbG9jYWwgY29uZmlnQXR0cmlicyA9IHAuY2FwdHVyZShmdW5jdGlvbiAoKQpwLnB1c2goKQpwLmNhbGxBcnJheShtLmVsZW1lbnRzLmZpbGVDb25maWd1cmF0aW9uQXR0cmlidXRlcywgZmlsZWNmZykKcC5wb3AoKQplbmQpCmxvY2FsIGNvbXBpbGVyQXR0cmlicyA9IHAuY2FwdHVyZShmdW5jdGlvbiAoKQpwLnB1c2goKQptLlZDQ0xDb21waWxlclRvb2woZmlsZWNmZykKcC5wb3AoKQplbmQpCmlmICNjb25maWdBdHRyaWJzID4gMCBvciBjb21waWxlckF0dHJpYnM6bGluZXMoKSA+IDMgdGhlbgpwLnB1c2goJzxGaWxlQ29uZmlndXJhdGlvbicpCnAudygnTmFtZT0iJXMiJywgdnN0dWRpby5wcm9qZWN0Q29uZmlnKGNmZykpCmlmICNjb25maWdBdHRyaWJzID4gMCB0aGVuCnAub3V0bG4oY29uZmlnQXR0cmlicykKZW5kCnAudygnPicpCnAub3V0bG4oY29tcGlsZXJBdHRyaWJzKQpwLnBvcCgnPC9GaWxlQ29uZmlndXJhdGlvbj4nKQplbmQKZW5kCm0uZWxlbWVudHMuZ2xvYmFscyA9IGZ1bmN0aW9uKHByaikKcmV0dXJuIHt9CmVuZApmdW5jdGlvbiBtLmdsb2JhbHMocHJqKQpwLnB1c2goJzxHbG9iYWxzPicpCnAuY2FsbEFycmF5KG0uZWxlbWVudHMuZ2xvYmFscywgcHJqKQpwLnBvcCgnPC9HbG9iYWxzPicpCmVuZApmdW5jdGlvbiBtLlZDVG9vbChuYW1lLCBjZmcsIC4uLikKcC5wdXNoKCc8VG9vbCcpCmxvY2FsIG5hbWVGdW5jID0gbVtuYW1lIC4uICJOYW1lIl0KbG9jYWwgY2FsbEZ1bmMgPSBtLmVsZW1lbnRzW25hbWVdCmlmIG5hbWVGdW5jIHRoZW4KbmFtZSA9IG5hbWVGdW5jKGNmZywgLi4uKQplbmQKcC53KCdOYW1lPSIlcyInLCBuYW1lKQppZiBjZmcgYW5kIG5vdCBjZmcuZmFrZSB0aGVuCnAuY2FsbEFycmF5KGNhbGxGdW5jLCBjZmcsIC4uLikKZW5kCnAucG9wKCcvPicpCmVuZAptLmVsZW1lbnRzLkRlYnVnZ2VyVG9vbCA9IGZ1bmN0aW9uKGNmZykKcmV0dXJuIHt9CmVuZApmdW5jdGlvbiBtLkRlYnVnZ2VyVG9vbChjZmcpCnAucHVzaCgnPERlYnVnZ2VyVG9vbCcpCnAucG9wKCcvPicpCmVuZAptLmVsZW1lbnRzLlZDQUxpbmtUb29sID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4ge30KZW5kCmZ1bmN0aW9uIG0uVkNBTGlua1Rvb2woY2ZnKQptLlZDVG9vbCgiVkNBTGlua1Rvb2wiLCBjZmcpCmVuZAptLmVsZW1lbnRzLlZDQXBwVmVyaWZpZXJUb29sID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4ge30KZW5kCmZ1bmN0aW9uIG0uVkNBcHBWZXJpZmllclRvb2woY2ZnKQppZiBjZmcua2luZCB+PSBwLlNUQVRJQ0xJQiB0aGVuCm0uVkNUb29sKCJWQ0FwcFZlcmlmaWVyVG9vbCIsIGNmZykKZW5kCmVuZAptLmVsZW1lbnRzLlZDQnNjTWFrZVRvb2wgPSBmdW5jdGlvbihjZmcpCnJldHVybiB7fQplbmQKZnVuY3Rpb24gbS5WQ0JzY01ha2VUb29sKGNmZykKbS5WQ1Rvb2woIlZDQnNjTWFrZVRvb2wiLCBjZmcpCmVuZAptLmVsZW1lbnRzLlZDQ0xDb21waWxlclRvb2wgPSBmdW5jdGlvbihjZmcsIHRvb2xzZXQpCmlmIG5vdCB0b29sc2V0IHRoZW4KcmV0dXJuIHsKbS5jdXN0b21CdWlsZFRvb2wsCm0ub2JqZWN0RmlsZSwKbS5hZGRpdGlvbmFsQ29tcGlsZXJPcHRpb25zLAptLm9wdGltaXphdGlvbiwKbS5hZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzLAptLndob2xlUHJvZ3JhbU9wdGltaXphdGlvbiwKbS5wcmVwcm9jZXNzb3JEZWZpbml0aW9ucywKbS51bmRlZmluZVByZXByb2Nlc3NvckRlZmluaXRpb25zLAptLm1pbmltYWxSZWJ1aWxkLAptLmJhc2ljUnVudGltZUNoZWNrcywKbS5idWZmZXJTZWN1cml0eUNoZWNrLAptLnN0cmluZ1Bvb2xpbmcsCm0uZXhjZXB0aW9uSGFuZGxpbmcsCm0ucnVudGltZUxpYnJhcnksCm0uZW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmcsCm0uZW5hYmxlRW5oYW5jZWRJbnN0cnVjdGlvblNldCwKbS5mbG9hdGluZ1BvaW50TW9kZWwsCm0ucnVudGltZVR5cGVJbmZvLAptLnRyZWF0V0NoYXJfdEFzQnVpbHRJblR5cGUsCm0udXNlUHJlY29tcGlsZWRIZWFkZXIsCm0ucHJvZ3JhbURhdGFCYXNlRmlsZU5hbWUsCm0ud2FybmluZ0xldmVsLAptLndhcm5Bc0Vycm9yLAptLmRldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcywKbS5kZWJ1Z0luZm9ybWF0aW9uRm9ybWF0LAptLmNvbXBpbGVBcywKbS5kaXNhYmxlU3BlY2lmaWNXYXJuaW5ncywKbS5mb3JjZWRJbmNsdWRlRmlsZXMsCm0ub21pdERlZmF1bHRMaWIsCn0KZWxzZQpyZXR1cm4gewptLmFkZGl0aW9uYWxFeHRlcm5hbENvbXBpbGVyT3B0aW9ucywKbS5hZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzLAptLnByZXByb2Nlc3NvckRlZmluaXRpb25zLAptLnVuZGVmaW5lUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMsCm0udXNlUHJlY29tcGlsZWRIZWFkZXIsCm0ucHJvZ3JhbURhdGFCYXNlRmlsZU5hbWUsCm0uZGVidWdJbmZvcm1hdGlvbkZvcm1hdCwKbS5jb21waWxlQXMsCm0uZm9yY2VkSW5jbHVkZUZpbGVzLAp9CmVuZAplbmQKZnVuY3Rpb24gbS5WQ0NMQ29tcGlsZXJUb29sTmFtZShjZmcpCmxvY2FsIHByamNmZywgZmlsZWNmZyA9IGNvbmZpZy5ub3JtYWxpemUoY2ZnKQppZiBmaWxlY2ZnIGFuZCBmaWxlY29uZmlnLmhhc0N1c3RvbUJ1aWxkUnVsZShmaWxlY2ZnKSB0aGVuCnJldHVybiAiVkNDdXN0b21CdWlsZFRvb2wiCmVsc2UKcmV0dXJuICJWQ0NMQ29tcGlsZXJUb29sIgplbmQKZW5kCmZ1bmN0aW9uIG0uVkNDTENvbXBpbGVyVG9vbChjZmcsIHRvb2xzZXQpCm0uVkNUb29sKCJWQ0NMQ29tcGlsZXJUb29sIiwgY2ZnLCB0b29sc2V0KQplbmQKbS5lbGVtZW50cy5WQ0N1c3RvbUJ1aWxkVG9vbCA9IGZ1bmN0aW9uKGNmZykKcmV0dXJuIHt9CmVuZApmdW5jdGlvbiBtLlZDQ3VzdG9tQnVpbGRUb29sKGNmZykKbS5WQ1Rvb2woIlZDQ3VzdG9tQnVpbGRUb29sIiwgY2ZnKQplbmQKbS5lbGVtZW50cy5WQ0Z4Q29wVG9vbCA9IGZ1bmN0aW9uKGNmZykKcmV0dXJuIHt9CmVuZApmdW5jdGlvbiBtLlZDRnhDb3BUb29sKGNmZykKbS5WQ1Rvb2woIlZDRnhDb3BUb29sIiwgY2ZnKQplbmQKbS5lbGVtZW50cy5WQ0xpbmtlclRvb2wgPSBmdW5jdGlvbihjZmcsIHRvb2xzZXQpCmlmIGNmZy5raW5kIH49IHAuU1RBVElDTElCIHRoZW4KcmV0dXJuIHsKbS5saW5rTGlicmFyeURlcGVuZGVuY2llcywKbS5pZ25vcmVJbXBvcnRMaWJyYXJ5LAptLmFkZGl0aW9uYWxMaW5rZXJPcHRpb25zLAptLmFkZGl0aW9uYWxEZXBlbmRlbmNpZXMsCm0ub3V0cHV0RmlsZSwKbS5saW5rSW5jcmVtZW50YWwsCm0uYWRkaXRpb25hbExpYnJhcnlEaXJlY3RvcmllcywKbS5tb2R1bGVEZWZpbml0aW9uRmlsZSwKbS5nZW5lcmF0ZU1hbmlmZXN0LAptLmdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbiwKbS5wcm9ncmFtRGF0YWJhc2VGaWxlLAptLnN1YlN5c3RlbSwKbS5sYXJnZUFkZHJlc3NBd2FyZSwKbS5vcHRpbWl6ZVJlZmVyZW5jZXMsCm0uZW5hYmxlQ09NREFURm9sZGluZywKbS5lbnRyeVBvaW50U3ltYm9sLAptLmltcG9ydExpYnJhcnksCm0udGFyZ2V0TWFjaGluZSwKfQplbHNlCnJldHVybiB7Cm0uYWRkaXRpb25hbExpbmtlck9wdGlvbnMsCm0uYWRkaXRpb25hbERlcGVuZGVuY2llcywKbS5vdXRwdXRGaWxlLAptLmFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMsCn0KZW5kCmVuZApmdW5jdGlvbiBtLlZDTGlua2VyVG9vbE5hbWUoY2ZnKQppZiBjZmcua2luZCA9PSBwLlNUQVRJQ0xJQiB0aGVuCnJldHVybiAiVkNMaWJyYXJpYW5Ub29sIgplbHNlCnJldHVybiAiVkNMaW5rZXJUb29sIgplbmQKZW5kCmZ1bmN0aW9uIG0uVkNMaW5rZXJUb29sKGNmZywgdG9vbHNldCkKbS5WQ1Rvb2woIlZDTGlua2VyVG9vbCIsIGNmZywgdG9vbHNldCkKZW5kCm0uZWxlbWVudHMuVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wgPSBmdW5jdGlvbihjZmcpCnJldHVybiB7fQplbmQKZnVuY3Rpb24gbS5WQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbChjZmcpCm0uVkNUb29sKCJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCIsIGNmZykKZW5kCm0uZWxlbWVudHMuVkNNYW5pZmVzdFRvb2wgPSBmdW5jdGlvbihjZmcpCnJldHVybiB7Cm0uYWRkaXRpb25hbE1hbmlmZXN0RmlsZXMsCn0KZW5kCmZ1bmN0aW9uIG0uVkNNYW5pZmVzdFRvb2woY2ZnKQppZiBjZmcua2luZCB+PSBwLlNUQVRJQ0xJQiB0aGVuCm0uVkNUb29sKCJWQ01hbmlmZXN0VG9vbCIsIGNmZykKZW5kCmVuZAptLmVsZW1lbnRzLlZDTUlETFRvb2wgPSBmdW5jdGlvbihjZmcpCnJldHVybiB7Cm0udGFyZ2V0RW52aXJvbm1lbnQKfQplbmQKZnVuY3Rpb24gbS5WQ01JRExUb29sKGNmZykKbS5WQ1Rvb2woIlZDTUlETFRvb2wiLCBjZmcpCmVuZAptLmVsZW1lbnRzLlZDTk1ha2VUb29sID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4gewptLmJ1aWxkQ29tbWFuZExpbmUsCm0ucmVCdWlsZENvbW1hbmRMaW5lLAptLmNsZWFuQ29tbWFuZExpbmUsCm0ub3V0cHV0LAptLnByZXByb2Nlc3NvckRlZmluaXRpb25zLAptLnVuZGVmaW5lUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnMsCm0uaW5jbHVkZVNlYXJjaFBhdGgsCm0uZm9yY2VkSW5jbHVkZXMsCm0uYXNzZW1ibHlTZWFyY2hQYXRoLAptLmZvcmNlZFVzaW5nQXNzZW1ibGllcywKbS5jb21waWxlQXNNYW5hZ2VkLAp9CmVuZApmdW5jdGlvbiBtLlZDTk1ha2VUb29sKGNmZykKbS5WQ1Rvb2woIlZDTk1ha2VUb29sIiwgY2ZnKQplbmQKbS5lbGVtZW50cy5WQ0J1aWxkVG9vbCA9IGZ1bmN0aW9uKGNmZywgc3RhZ2UpCnJldHVybiB7Cm0uY29tbWFuZExpbmUsCn0KZW5kCmZ1bmN0aW9uIG0uVkNCdWlsZFRvb2xOYW1lKGNmZywgc3RhZ2UpCnJldHVybiAiVkMiIC4uIHN0YWdlIC4uICJFdmVudFRvb2wiCmVuZApmdW5jdGlvbiBtLlZDUHJlQnVpbGRFdmVudFRvb2woY2ZnKQptLlZDVG9vbCgiVkNCdWlsZFRvb2wiLCBjZmcsICJQcmVCdWlsZCIpCmVuZApmdW5jdGlvbiBtLlZDUHJlTGlua0V2ZW50VG9vbChjZmcpCm0uVkNUb29sKCJWQ0J1aWxkVG9vbCIsIGNmZywgIlByZUxpbmsiKQplbmQKZnVuY3Rpb24gbS5WQ1Bvc3RCdWlsZEV2ZW50VG9vbChjZmcpCm0uVkNUb29sKCJWQ0J1aWxkVG9vbCIsIGNmZywgIlBvc3RCdWlsZCIpCmVuZAptLmVsZW1lbnRzLlZDUmVzb3VyY2VDb21waWxlclRvb2wgPSBmdW5jdGlvbihjZmcpCnJldHVybiB7Cm0uYWRkaXRpb25hbFJlc291cmNlT3B0aW9ucywKbS5yZXNvdXJjZVByZXByb2Nlc3NvckRlZmluaXRpb25zLAptLmFkZGl0aW9uYWxSZXNvdXJjZUluY2x1ZGVEaXJlY3RvcmllcywKbS5jdWx0dXJlLAp9CmVuZApmdW5jdGlvbiBtLlZDUmVzb3VyY2VDb21waWxlclRvb2woY2ZnKQptLlZDVG9vbCgiVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIsIGNmZykKZW5kCm0uZWxlbWVudHMuVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sID0gZnVuY3Rpb24oY2ZnKQpyZXR1cm4ge30KZW5kCmZ1bmN0aW9uIG0uVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sKGNmZykKbS5WQ1Rvb2woIlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIsIGNmZykKZW5kCm0uZWxlbWVudHMuVkNYRENNYWtlVG9vbCA9IGZ1bmN0aW9uKGNmZykKcmV0dXJuIHt9CmVuZApmdW5jdGlvbiBtLlZDWERDTWFrZVRvb2woY2ZnKQptLlZDVG9vbCgiVkNYRENNYWtlVG9vbCIsIGNmZykKZW5kCm0uZWxlbWVudHMuVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCA9IGZ1bmN0aW9uKGNmZykKcmV0dXJuIHt9CmVuZApmdW5jdGlvbiBtLlZDWE1MRGF0YUdlbmVyYXRvclRvb2woY2ZnKQptLlZDVG9vbCgiVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIsIGNmZykKZW5kCmZ1bmN0aW9uIG0uc3ltYm9scyhjZmcpCmlmIG5vdCAoY2ZnLnN5bWJvbHMgPT0gcC5PTikgdGhlbgpyZXR1cm4gMAplbHNlaWYgY2ZnLmRlYnVnZm9ybWF0ID09ICJjNyIgdGhlbgpyZXR1cm4gMQplbHNlCmlmIGNmZy5lZGl0YW5kY29udGludWUgPT0gcC5PRkYgb3IKICAgY29uZmlnLmlzT3B0aW1pemVkQnVpbGQoY2ZnKSBvcgogICBjZmcuY2xyIH49IHAuT0ZGIG9yCiAgIGNmZy5hcmNoaXRlY3R1cmUgPT0gcC5YODZfNjQKdGhlbgpyZXR1cm4gMwplbHNlCnJldHVybiA0CmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0uYWRkaXRpb25hbENvbXBpbGVyT3B0aW9ucyhjZmcpCmxvY2FsIG9wdHMgPSBjZmcuYnVpbGRvcHRpb25zCmlmIGNmZy5mbGFncy5NdWx0aVByb2Nlc3NvckNvbXBpbGUgdGhlbgp0YWJsZS5pbnNlcnQob3B0cywgIi9NUCIpCmVuZAppZiAjb3B0cyA+IDAgdGhlbgpwLngoJ0FkZGl0aW9uYWxPcHRpb25zPSIlcyInLCB0YWJsZS5jb25jYXQob3B0cywgIiAiKSkKZW5kCmVuZApmdW5jdGlvbiBtLmFkZGl0aW9uYWxEZXBlbmRlbmNpZXMoY2ZnLCB0b29sc2V0KQppZiAjY2ZnLmxpbmtzID09IDAgdGhlbiByZXR1cm4gZW5kCmxvY2FsIGV4ID0gdnN0dWRpby5uZWVkc0V4cGxpY2l0TGluayhjZmcpCmxvY2FsIGxpbmtzCmlmIG5vdCB0b29sc2V0IHRoZW4KbGlua3MgPSB2c3R1ZGlvLmdldExpbmtzKGNmZywgZXgpCmZvciBpLCBsaW5rIGluIGlwYWlycyhsaW5rcykgZG8KaWYgbGluazpmaW5kKCIgIiwgMSwgdHJ1ZSkgdGhlbgpsaW5rID0gJyInIC4uIGxpbmsgLi4gJyInCmVuZApsaW5rc1tpXSA9IHBhdGgudHJhbnNsYXRlKGxpbmspCmVuZAplbHNlCmxpbmtzID0gcGF0aC50cmFuc2xhdGUodG9vbHNldC5nZXRsaW5rcyhjZmcsIG5vdCBleCkpCmVuZAppZiAjbGlua3MgPiAwIHRoZW4KcC54KCdBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIlcyInLCB0YWJsZS5jb25jYXQobGlua3MsICIgIikpCmVuZAplbmQKZnVuY3Rpb24gbS5hZGRpdGlvbmFsRXh0ZXJuYWxDb21waWxlck9wdGlvbnMoY2ZnLCB0b29sc2V0KQpsb2NhbCBidWlsZG9wdGlvbnMgPSB0YWJsZS5qb2luKHRvb2xzZXQuZ2V0Y3h4ZmxhZ3MoY2ZnKSwgY2ZnLmJ1aWxkb3B0aW9ucykKaWYgbm90IGNmZy5mbGFncy5Ob1BDSCBhbmQgY2ZnLnBjaGhlYWRlciB0aGVuCnRhYmxlLmluc2VydChidWlsZG9wdGlvbnMsICctLXVzZV9wY2g9IiQoSW50RGlyKS8kKFRhcmdldE5hbWUpLnBjaCInKQplbmQKaWYgI2J1aWxkb3B0aW9ucyA+IDAgdGhlbgpwLngoJ0FkZGl0aW9uYWxPcHRpb25zPSIlcyInLCB0YWJsZS5jb25jYXQoYnVpbGRvcHRpb25zLCAiICIpKQplbmQKZW5kCmZ1bmN0aW9uIG0uYWRkaXRpb25hbEltYWdlT3B0aW9ucyhjZmcpCmlmICNjZmcuaW1hZ2VvcHRpb25zID4gMCB0aGVuCnAueCgnQWRkaXRpb25hbE9wdGlvbnM9IiVzIicsIHRhYmxlLmNvbmNhdChjZmcuaW1hZ2VvcHRpb25zLCAiICIpKQplbmQKZW5kCmZ1bmN0aW9uIG0uYWRkaXRpb25hbEluY2x1ZGVEaXJlY3RvcmllcyhjZmcpCmlmICNjZmcuaW5jbHVkZWRpcnMgPiAwIHRoZW4KbG9jYWwgZGlycyA9IHZzdHVkaW8ucGF0aChjZmcsIGNmZy5pbmNsdWRlZGlycykKcC54KCdBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIlcyInLCB0YWJsZS5jb25jYXQoZGlycywgIjsiKSkKZW5kCmVuZApmdW5jdGlvbiBtLmFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXMoY2ZnKQppZiAjY2ZnLmxpYmRpcnMgPiAwIHRoZW4KbG9jYWwgZGlycyA9IHZzdHVkaW8ucGF0aChjZmcsIGNmZy5saWJkaXJzKQpwLngoJ0FkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM9IiVzIicsIHRhYmxlLmNvbmNhdChkaXJzLCAiOyIpKQplbmQKZW5kCmZ1bmN0aW9uIG0uYWRkaXRpb25hbExpbmtlck9wdGlvbnMoY2ZnLCB0b29sc2V0KQpsb2NhbCBmbGFncwppZiB0b29sc2V0IHRoZW4KZmxhZ3MgPSB0YWJsZS5qb2luKHRvb2xzZXQuZ2V0bGRmbGFncyhjZmcpLCBjZmcubGlua29wdGlvbnMpCmVsc2UKZmxhZ3MgPSBjZmcubGlua29wdGlvbnMKZW5kCmlmICNmbGFncyA+IDAgdGhlbgpwLngoJ0FkZGl0aW9uYWxPcHRpb25zPSIlcyInLCB0YWJsZS5jb25jYXQoZmxhZ3MsICIgIikpCmVuZAplbmQKZnVuY3Rpb24gbS5hZGRpdGlvbmFsTWFuaWZlc3RGaWxlcyhjZmcpCmxvY2FsIG1hbmlmZXN0cyA9IHt9CmZvciBpLCBmbmFtZSBpbiBpcGFpcnMoY2ZnLmZpbGVzKSBkbwppZiBwYXRoLmdldGV4dGVuc2lvbihmbmFtZSkgPT0gIi5tYW5pZmVzdCIgdGhlbgp0YWJsZS5pbnNlcnQobWFuaWZlc3RzLCBwcm9qZWN0LmdldHJlbGF0aXZlKGNmZy5wcm9qZWN0LCBmbmFtZSkpCmVuZAplbmQKaWYgI21hbmlmZXN0cyA+IDAgdGhlbgpwLngoJ0FkZGl0aW9uYWxNYW5pZmVzdEZpbGVzPSIlcyInLCB0YWJsZS5jb25jYXQobWFuaWZlc3RzLCAiOyIpKQplbmQKZW5kCmZ1bmN0aW9uIG0uYWRkaXRpb25hbFJlc291cmNlSW5jbHVkZURpcmVjdG9yaWVzKGNmZykKbG9jYWwgZGlycyA9IHRhYmxlLmpvaW4oY2ZnLmluY2x1ZGVkaXJzLCBjZmcucmVzaW5jbHVkZWRpcnMpCmlmICNkaXJzID4gMCB0aGVuCmRpcnMgPSB2c3R1ZGlvLnBhdGgoY2ZnLCBkaXJzKQpwLngoJ0FkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiVzIicsIHRhYmxlLmNvbmNhdChkaXJzLCAiOyIpKQplbmQKZW5kCmZ1bmN0aW9uIG0uYWRkaXRpb25hbFJlc291cmNlT3B0aW9ucyhjZmcpCmlmICNjZmcucmVzb3B0aW9ucyA+IDAgdGhlbgpwLngoJ0FkZGl0aW9uYWxPcHRpb25zPSIlcyInLCB0YWJsZS5jb25jYXQoY2ZnLnJlc29wdGlvbnMsICIgIikpCmVuZAplbmQKZnVuY3Rpb24gbS5hc3NlbWJseVJlZmVyZW5jZXMocHJqKQpsb2NhbCBjZmcgPSBwcm9qZWN0LmdldGZpcnN0Y29uZmlnKHByaikKbG9jYWwgcmVmcyA9IGNvbmZpZy5nZXRsaW5rcyhjZmcsICJzeXN0ZW0iLCAiZnVsbHBhdGgiLCAibWFuYWdlZCIpCnRhYmxlLmZvcmVhY2hpKHJlZnMsIGZ1bmN0aW9uKHZhbHVlKQpwLnB1c2goJzxBc3NlbWJseVJlZmVyZW5jZScpCnAueCgnUmVsYXRpdmVQYXRoPSIlcyInLCBwYXRoLnRyYW5zbGF0ZSh2YWx1ZSkpCnAucG9wKCcvPicpCmVuZCkKZW5kCmZ1bmN0aW9uIG0uYXNzZW1ibHlTZWFyY2hQYXRoKGNmZykKcC53KCdBc3NlbWJseVNlYXJjaFBhdGg9IiInKQplbmQKZnVuY3Rpb24gbS5iYXNpY1J1bnRpbWVDaGVja3MoY2ZnKQpsb2NhbCBjZmcsIGZpbGVjZmcgPSBjb25maWcubm9ybWFsaXplKGNmZykKaWYgbm90IGZpbGVjZmcKYW5kIG5vdCBjb25maWcuaXNPcHRpbWl6ZWRCdWlsZChjZmcpCmFuZCBjZmcuY2xyID09IHAuT0ZGCmFuZCBub3QgY2ZnLmZsYWdzLk5vUnVudGltZUNoZWNrcwp0aGVuCnAudygnQmFzaWNSdW50aW1lQ2hlY2tzPSIzIicpCmVuZAplbmQKZnVuY3Rpb24gbS5idWZmZXJTZWN1cml0eUNoZWNrKGNmZykKaWYgY2ZnLmZsYWdzLk5vQnVmZmVyU2VjdXJpdHlDaGVjayB0aGVuCnAudygnQnVmZmVyU2VjdXJpdHlDaGVjaz0iZmFsc2UiJykKZW5kCmVuZApmdW5jdGlvbiBtLmJ1aWxkQ29tbWFuZExpbmUoY2ZnKQpsb2NhbCBjbWRzID0gb3MudHJhbnNsYXRlQ29tbWFuZHNBbmRQYXRocyhjZmcuYnVpbGRjb21tYW5kcywgY2ZnLnByb2plY3QuYmFzZWRpciwgY2ZnLnByb2plY3QubG9jYXRpb24pCnAueCgnQnVpbGRDb21tYW5kTGluZT0iJXMiJywgdGFibGUuY29uY2F0KGNtZHMsICJcclxuIikpCmVuZApmdW5jdGlvbiBtLmNoYXJhY3RlclNldChjZmcpCmlmIG5vdCB2c3R1ZGlvLmlzTWFrZWZpbGUoY2ZnKSB0aGVuCnAudygnQ2hhcmFjdGVyU2V0PSIlcyInLCBpaWYoY2ZnLmNoYXJhY3RlcnNldCA9PSBwLk1CQ1MsIDIsIDEpKQplbmQKZW5kCmZ1bmN0aW9uIG0uY2xlYW5Db21tYW5kTGluZShjZmcpCmxvY2FsIGNtZHMgPSBvcy50cmFuc2xhdGVDb21tYW5kc0FuZFBhdGhzKGNmZy5jbGVhbmNvbW1hbmRzLCBjZmcucHJvamVjdC5iYXNlZGlyLCBjZmcucHJvamVjdC5sb2NhdGlvbikKY21kcyA9IHRhYmxlLmNvbmNhdChjbWRzLCAiXHJcbiIpCnAueCgnQ2xlYW5Db21tYW5kTGluZT0iJXMiJywgY21kcykKZW5kCmZ1bmN0aW9uIG0uY29tbWFuZExpbmUoY2ZnLCBzdGFnZSkKbG9jYWwgZmllbGQgPSBzdGFnZTpsb3dlcigpCmxvY2FsIHN0ZXBzID0gY2ZnW2ZpZWxkIC4uICJjb21tYW5kcyJdCmxvY2FsIG1zZyA9IGNmZ1tmaWVsZCAuLiAibWVzc2FnZSJdCmlmICNzdGVwcyA+IDAgdGhlbgppZiBtc2cgdGhlbgpwLngoJ0Rlc2NyaXB0aW9uPSIlcyInLCBtc2cpCmVuZApzdGVwcyA9IG9zLnRyYW5zbGF0ZUNvbW1hbmRzQW5kUGF0aHMoc3RlcHMsIGNmZy5wcm9qZWN0LmJhc2VkaXIsIGNmZy5wcm9qZWN0LmxvY2F0aW9uKQpwLngoJ0NvbW1hbmRMaW5lPSIlcyInLCB0YWJsZS5pbXBsb2RlKHN0ZXBzLCAiIiwgIiIsICJcclxuIikpCmVuZAplbmQKZnVuY3Rpb24gbS5jb21waWxlQXMoY2ZnLCB0b29sc2V0KQpsb2NhbCBjZmcsIGZpbGVjZmcgPSBjb25maWcubm9ybWFsaXplKGNmZykKbG9jYWwgYyA9IHAubGFuZ3VhZ2VzLmlzYyhjZmcubGFuZ3VhZ2UpCmlmIGZpbGVjZmcgdGhlbgppZiBwYXRoLmlzY2ZpbGUoZmlsZWNmZy5uYW1lKSB+PSBjIHRoZW4KaWYgcGF0aC5pc2NwcGZpbGUoZmlsZWNmZy5uYW1lKSB0aGVuCmxvY2FsIHZhbHVlID0gaWlmKGMsIDIsIDEpCnAudygnQ29tcGlsZUFzPSIlcyInLCB2YWx1ZSkKZW5kCmVuZAplbHNlCmxvY2FsIGNvbXBpbGVBcwppZiB0b29sc2V0IHRoZW4KY29tcGlsZUFzID0gIjAiCmVsc2VpZiBjIHRoZW4KY29tcGlsZUFzID0gIjEiCmVuZAppZiBjb21waWxlQXMgdGhlbgpwLncoJ0NvbXBpbGVBcz0iJXMiJywgY29tcGlsZUFzKQplbmQKZW5kCmVuZApmdW5jdGlvbiBtLmRpc2FibGVTcGVjaWZpY1dhcm5pbmdzKGNmZykKaWYgI2NmZy5kaXNhYmxld2FybmluZ3MgPiAwIHRoZW4KcC54KCdEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncz0iJXMiJywgdGFibGUuY29uY2F0KGNmZy5kaXNhYmxld2FybmluZ3MsICI7IikpCmVuZAplbmQKZnVuY3Rpb24gbS5jb21waWxlQXNNYW5hZ2VkKGNmZykKcC53KCdDb21waWxlQXNNYW5hZ2VkPSIiJykKZW5kCmZ1bmN0aW9uIG0uY29uZmlndXJhdGlvblR5cGUoY2ZnKQpsb2NhbCBjZmd0eXBlcyA9IHsKTWFrZWZpbGUgPSAwLApOb25lID0gMCwKU2hhcmVkTGliID0gMiwKU3RhdGljTGliID0gNCwKfQpwLncoJ0NvbmZpZ3VyYXRpb25UeXBlPSIlcyInLCBjZmd0eXBlc1tjZmcua2luZF0gb3IgMSkKZW5kCmZ1bmN0aW9uIG0uY3VsdHVyZShjZmcpCmxvY2FsIHZhbHVlID0gdnN0dWRpby5jdWx0dXJlRm9yTG9jYWxlKGNmZy5sb2NhbGUpCmlmIHZhbHVlIHRoZW4KcC53KCdDdWx0dXJlPSIlZCInLCB2YWx1ZSkKZW5kCmVuZApmdW5jdGlvbiBtLmN1c3RvbUJ1aWxkVG9vbChjZmcpCmxvY2FsIGNmZywgZmlsZWNmZyA9IGNvbmZpZy5ub3JtYWxpemUoY2ZnKQppZiBmaWxlY2ZnIGFuZCBmaWxlY29uZmlnLmhhc0N1c3RvbUJ1aWxkUnVsZShmaWxlY2ZnKSB0aGVuCmxvY2FsIGNtZHMgPSBvcy50cmFuc2xhdGVDb21tYW5kc0FuZFBhdGhzKGZpbGVjZmcuYnVpbGRjb21tYW5kcywgZmlsZWNmZy5wcm9qZWN0LmJhc2VkaXIsIGZpbGVjZmcucHJvamVjdC5sb2NhdGlvbikKcC54KCdDb21tYW5kTGluZT0iJXMiJywgdGFibGUuY29uY2F0KGNtZHMsJ1xyXG4nKSkKbG9jYWwgb3V0cHV0cyA9IHByb2plY3QuZ2V0cmVsYXRpdmUoZmlsZWNmZy5wcm9qZWN0LCBmaWxlY2ZnLmJ1aWxkb3V0cHV0cykKcC54KCdPdXRwdXRzPSIlcyInLCB0YWJsZS5jb25jYXQob3V0cHV0cywgJzsnKSkKaWYgZmlsZWNmZy5idWlsZGlucHV0cyBhbmQgI2ZpbGVjZmcuYnVpbGRpbnB1dHMgPiAwIHRoZW4KbG9jYWwgaW5wdXRzID0gcHJvamVjdC5nZXRyZWxhdGl2ZShmaWxlY2ZnLnByb2plY3QsIGZpbGVjZmcuYnVpbGRpbnB1dHMpCnAueCgnQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJXMiJywgdGFibGUuY29uY2F0KGlucHV0cywgJzsnKSkKZW5kCmVuZAplbmQKZnVuY3Rpb24gbS5kZWJ1Z0luZm9ybWF0aW9uRm9ybWF0KGNmZywgdG9vbHNldCkKbG9jYWwgcHJqY2ZnLCBmaWxlY2ZnID0gY29uZmlnLm5vcm1hbGl6ZShjZmcpCmlmIG5vdCBmaWxlY2ZnIHRoZW4KbG9jYWwgZm10ID0gaWlmKHRvb2xzZXQsICIwIiwgbS5zeW1ib2xzKGNmZykpCnAudygnRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iJXMiJywgZm10KQplbmQKZW5kCmZ1bmN0aW9uIG0uZGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zKGNmZykKbG9jYWwgcHJqY2ZnLCBmaWxlY2ZnID0gY29uZmlnLm5vcm1hbGl6ZShjZmcpCmlmIF9BQ1RJT04gPCAidnMyMDA4IiBhbmQgY2ZnLmNsciA9PSBwLk9GRiBhbmQgY2ZnLndhcm5pbmdzIH49IHAuT0ZGIGFuZCBub3QgZmlsZWNmZyB0aGVuCnAudygnRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSIlcyInLCB0b3N0cmluZyhub3QgY2ZnLmZsYWdzLk5vNjRCaXRDaGVja3MpKQplbmQKZW5kCmZ1bmN0aW9uIG0uZW5hYmxlQ09NREFURm9sZGluZyhjZmcsIHRvb2xzZXQpCmlmIGNvbmZpZy5pc09wdGltaXplZEJ1aWxkKGNmZykgYW5kIG5vdCB0b29sc2V0IHRoZW4KcC53KCdFbmFibGVDT01EQVRGb2xkaW5nPSIyIicpCmVuZAplbmQKZnVuY3Rpb24gbS5sYXJnZUFkZHJlc3NBd2FyZShjZmcpCmlmIChjZmcubGFyZ2VhZGRyZXNzYXdhcmUgPT0gdHJ1ZSkgdGhlbgpwLncoJ0xhcmdlQWRkcmVzc0F3YXJlPSIyIicpCmVuZAplbmQKZnVuY3Rpb24gbS5lbmFibGVFbmhhbmNlZEluc3RydWN0aW9uU2V0KGNmZykKbG9jYWwgbWFwID0geyBTU0UgPSAiMSIsIFNTRTIgPSAiMiIgfQpsb2NhbCB2YWx1ZSA9IG1hcFtjZmcudmVjdG9yZXh0ZW5zaW9uc10KaWYgdmFsdWUgYW5kIGNmZy5hcmNoaXRlY3R1cmUgfj0gIng4Nl82NCIgdGhlbgpwLncoJ0VuYWJsZUVuaGFuY2VkSW5zdHJ1Y3Rpb25TZXQ9IiVkIicsIHZhbHVlKQplbmQKZW5kCmZ1bmN0aW9uIG0uZW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmcoY2ZnKQpsb2NhbCBjZmcsIGZpbGVjZmcgPSBjb25maWcubm9ybWFsaXplKGNmZykKaWYgbm90IGZpbGVjZmcgdGhlbgpwLncoJ0VuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIicpCmVuZAplbmQKZnVuY3Rpb24gbS5lbnRyeVBvaW50U3ltYm9sKGNmZywgdG9vbHNldCkKaWYgY2ZnLmVudHJ5cG9pbnQgdGhlbgpwLncoJ0VudHJ5UG9pbnRTeW1ib2w9IiVzIicsIGNmZy5lbnRyeXBvaW50KQplbmQKZW5kCmZ1bmN0aW9uIG0uZXhjZXB0aW9uSGFuZGxpbmcoY2ZnKQppZiBjZmcuZXhjZXB0aW9uaGFuZGxpbmcgPT0gcC5PRkYgdGhlbgpwLncoJ0V4Y2VwdGlvbkhhbmRsaW5nPSIlcyInLCBpaWYoX0FDVElPTiA8ICJ2czIwMDUiLCAiRkFMU0UiLCAwKSkKZWxzZWlmIGNmZy5leGNlcHRpb25oYW5kbGluZyA9PSAiU0VIIiBhbmQgX0FDVElPTiA+ICJ2czIwMDMiIHRoZW4KcC53KCdFeGNlcHRpb25IYW5kbGluZz0iMiInKQplbmQKZW5kCmZ1bmN0aW9uIG0uZXhjbHVkZWRGcm9tQnVpbGQoZmlsZWNmZykKaWYgbm90IGZpbGVjZmcgb3IgZmlsZWNmZy5mbGFncy5FeGNsdWRlRnJvbUJ1aWxkIHRoZW4KcC53KCdFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSInKQplbmQKZW5kCmZ1bmN0aW9uIG0uZmxvYXRpbmdQb2ludE1vZGVsKGNmZykKbG9jYWwgbWFwID0geyBTdHJpY3QgPSAiMSIsIEZhc3QgPSAiMiIgfQpsb2NhbCB2YWx1ZSA9IG1hcFtjZmcuZmxvYXRpbmdwb2ludF0KaWYgdmFsdWUgdGhlbgpwLncoJ0Zsb2F0aW5nUG9pbnRNb2RlbD0iJWQiJywgdmFsdWUpCmVuZAplbmQKZnVuY3Rpb24gbS5mb3JjZWRJbmNsdWRlRmlsZXMoY2ZnKQppZiAjY2ZnLmZvcmNlaW5jbHVkZXMgPiAwIHRoZW4KbG9jYWwgaW5jbHVkZXMgPSB2c3R1ZGlvLnBhdGgoY2ZnLCBjZmcuZm9yY2VpbmNsdWRlcykKcC53KCdGb3JjZWRJbmNsdWRlRmlsZXM9IiVzIicsIHRhYmxlLmNvbmNhdChpbmNsdWRlcywgJzsnKSkKZW5kCmlmICNjZmcuZm9yY2V1c2luZ3MgPiAwIHRoZW4KbG9jYWwgdXNpbmdzID0gdnN0dWRpby5wYXRoKGNmZywgY2ZnLmZvcmNldXNpbmdzKQpwLncoJ0ZvcmNlZFVzaW5nRmlsZXM9IiVzIicsIHRhYmxlLmNvbmNhdCh1c2luZ3MsICc7JykpCmVuZAplbmQKZnVuY3Rpb24gbS5mb3JjZWRJbmNsdWRlcyhjZmcpCnAudygnRm9yY2VkSW5jbHVkZXM9IiInKQplbmQKZnVuY3Rpb24gbS5mb3JjZWRVc2luZ0Fzc2VtYmxpZXMoY2ZnKQpwLncoJ0ZvcmNlZFVzaW5nQXNzZW1ibGllcz0iIicpCmVuZApmdW5jdGlvbiBtLmtleXdvcmQocHJqKQpsb2NhbCB3aW5kb3dzLCBtYW5hZ2VkLCBtYWtlZmlsZQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmlmIGNmZy5zeXN0ZW0gPT0gcC5XSU5ET1dTIHRoZW4gd2luZG93cyA9IHRydWUgZW5kCmlmIGNmZy5jbHIgfj0gcC5PRkYgdGhlbiBtYW5hZ2VkID0gdHJ1ZSBlbmQKaWYgdnN0dWRpby5pc01ha2VmaWxlKGNmZykgdGhlbiBtYWtlZmlsZSA9IHRydWUgZW5kCmVuZAppZiB3aW5kb3dzIHRoZW4KbG9jYWwga2V5d29yZCA9ICJXaW4zMlByb2oiCmlmIG1hbmFnZWQgdGhlbgprZXl3b3JkID0gIk1hbmFnZWRDUHJvaiIKZW5kCmlmIG1ha2VmaWxlIHRoZW4Ka2V5d29yZCA9ICJNYWtlRmlsZVByb2oiCmVuZApwLncoJ0tleXdvcmQ9IiVzIicsIGtleXdvcmQpCmVuZAplbmQKZnVuY3Rpb24gbS5nZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24oY2ZnLCB0b29sc2V0KQppZiBub3QgdG9vbHNldCB0aGVuCnAudygnR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSIlcyInLCB0b3N0cmluZyhtLnN5bWJvbHMoY2ZnKSB+PSAwKSkKZW5kCmVuZApmdW5jdGlvbiBtLmdlbmVyYXRlTWFuaWZlc3QoY2ZnLCB0b29sc2V0KQppZiBjZmcuZmxhZ3MuTm9NYW5pZmVzdCBvciB0b29sc2V0IHRoZW4KcC53KCdHZW5lcmF0ZU1hbmlmZXN0PSJmYWxzZSInKQplbmQKZW5kCmZ1bmN0aW9uIG0uaWdub3JlSW1wb3J0TGlicmFyeShjZmcsIHRvb2xzZXQpCmlmIGNmZy5mbGFncy5Ob0ltcG9ydExpYiBhbmQgbm90IHRvb2xzZXQgdGhlbgpwLncoJ0lnbm9yZUltcG9ydExpYnJhcnk9InRydWUiJykKZW5kCmVuZApmdW5jdGlvbiBtLmltcG9ydExpYnJhcnkoY2ZnLCB0b29sc2V0KQppZiBjZmcua2luZCA9PSBwLlNIQVJFRExJQiBhbmQgbm90IHRvb2xzZXQgdGhlbgpsb2NhbCBpbXBsaWJkaXIgPSBjZmcubGlua3RhcmdldC5hYnNwYXRoCmlmIGNmZy5mbGFncy5Ob0ltcG9ydExpYiB0aGVuCmltcGxpYmRpciA9IHBhdGguam9pbihjZmcub2JqZGlyLCBwYXRoLmdldG5hbWUoaW1wbGliZGlyKSkKZW5kCmltcGxpYmRpciA9IHZzdHVkaW8ucGF0aChjZmcsIGltcGxpYmRpcikKcC54KCdJbXBvcnRMaWJyYXJ5PSIlcyInLCBpbXBsaWJkaXIpCmVuZAplbmQKZnVuY3Rpb24gbS5pbmNsdWRlU2VhcmNoUGF0aChjZmcpCnAudygnSW5jbHVkZVNlYXJjaFBhdGg9IiInKQplbmQKZnVuY3Rpb24gbS5pbnRlcm1lZGlhdGVEaXJlY3RvcnkoY2ZnKQpsb2NhbCBvYmpkaXIKaWYgbm90IGNmZy5mYWtlIHRoZW4Kb2JqZGlyID0gdnN0dWRpby5wYXRoKGNmZywgY2ZnLm9iamRpcikKZWxzZQpvYmpkaXIgPSAiJChQbGF0Zm9ybU5hbWUpXFwkKENvbmZpZ3VyYXRpb25OYW1lKSIKZW5kCnAueCgnSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIlcyInLCBvYmpkaXIpCmVuZApmdW5jdGlvbiBtLmxpbmtJbmNyZW1lbnRhbChjZmcsIHRvb2xzZXQpCmxvY2FsIHZhbHVlCmlmIG5vdCB0b29sc2V0IHRoZW4KdmFsdWUgPSBpaWYoY29uZmlnLmNhbkxpbmtJbmNyZW1lbnRhbChjZmcpICwgMiwgMSkKZWxzZQp2YWx1ZSA9IDAKZW5kCnAudygnTGlua0luY3JlbWVudGFsPSIlcyInLCB2YWx1ZSkKZW5kCmZ1bmN0aW9uIG0ubGlua0xpYnJhcnlEZXBlbmRlbmNpZXMoY2ZnLCB0b29sc2V0KQppZiB2c3R1ZGlvLm5lZWRzRXhwbGljaXRMaW5rKGNmZykgYW5kIG5vdCB0b29sc2V0IHRoZW4KcC53KCdMaW5rTGlicmFyeURlcGVuZGVuY2llcz0iZmFsc2UiJykKZW5kCmVuZApmdW5jdGlvbiBtLm1hbmFnZWRFeHRlbnNpb25zKGNmZykKaWYgY2ZnLmNsciB+PSBwLk9GRiB0aGVuCnAudygnTWFuYWdlZEV4dGVuc2lvbnM9IjEiJykKZW5kCmVuZApmdW5jdGlvbiBtLm1pbmltYWxSZWJ1aWxkKGNmZykKaWYgY29uZmlnLmlzRGVidWdCdWlsZChjZmcpIGFuZAogICBjZmcuZGVidWdmb3JtYXQgfj0gImM3IiBhbmQKICAgbm90IGNmZy5mbGFncy5Ob01pbmltYWxSZWJ1aWxkIGFuZAogICBjZmcuY2xyID09IHAuT0ZGIGFuZAogICBub3QgY2ZnLmZsYWdzLk11bHRpUHJvY2Vzc29yQ29tcGlsZQp0aGVuCnAudygnTWluaW1hbFJlYnVpbGQ9InRydWUiJykKZW5kCmVuZApmdW5jdGlvbiBtLm1vZHVsZURlZmluaXRpb25GaWxlKGNmZywgdG9vbHNldCkKaWYgbm90IHRvb2xzZXQgdGhlbgpsb2NhbCBkZWZmaWxlID0gY29uZmlnLmZpbmRmaWxlKGNmZywgIi5kZWYiKQppZiBkZWZmaWxlIHRoZW4KcC53KCdNb2R1bGVEZWZpbml0aW9uRmlsZT0iJXMiJywgZGVmZmlsZSkKZW5kCmVuZAplbmQKZnVuY3Rpb24gbS5vYmplY3RGaWxlKGNmZykKbG9jYWwgY2ZnLCBmaWxlY2ZnID0gY29uZmlnLm5vcm1hbGl6ZShjZmcpCmlmIGZpbGVjZmcgYW5kIHBhdGguaXNjcHBmaWxlKGZpbGVjZmcubmFtZSkgdGhlbgppZiBmaWxlY2ZnLm9iam5hbWUgfj0gcGF0aC5nZXRiYXNlbmFtZShmaWxlY2ZnLmFic3BhdGgpIHRoZW4KcC54KCdPYmplY3RGaWxlPSIkKEludERpcilcXCVzLm9iaiInLCBmaWxlY2ZnLm9iam5hbWUpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0ub21pdERlZmF1bHRMaWIoY2ZnKQppZiBjZmcuZmxhZ3MuT21pdERlZmF1bHRMaWJyYXJ5IHRoZW4KcC53KCdPbWl0RGVmYXVsdExpYk5hbWU9InRydWUiJykKZW5kCmVuZApmdW5jdGlvbiBtLm9taXRGcmFtZVBvaW50ZXJzKGNmZykKaWYgY2ZnLm9taXRmcmFtZXBvaW50ZXIgPT0gIk9uIiB0aGVuCnAudygnT21pdEZyYW1lUG9pbnRlcnM9InRydWUiJykKZW5kCmVuZApmdW5jdGlvbiBtLm9wdGltaXphdGlvbihjZmcpCmxvY2FsIG1hcCA9IHsgT2ZmPTAsIE9uPTMsIERlYnVnPTAsIEZ1bGw9MywgU2l6ZT0xLCBTcGVlZD0yIH0KbG9jYWwgdmFsdWUgPSBtYXBbY2ZnLm9wdGltaXplXQppZiB2YWx1ZSBvciBub3QgY2ZnLmFic3BhdGggdGhlbgpwLncoJ09wdGltaXphdGlvbj0iJXMiJywgdmFsdWUgb3IgMCkKZW5kCmVuZApmdW5jdGlvbiBtLm9wdGltaXplUmVmZXJlbmNlcyhjZmcsIHRvb2xzZXQpCmlmIGNvbmZpZy5pc09wdGltaXplZEJ1aWxkKGNmZykgYW5kIG5vdCB0b29sc2V0IHRoZW4KcC53KCdPcHRpbWl6ZVJlZmVyZW5jZXM9IjIiJykKZW5kCmVuZApmdW5jdGlvbiBtLm91dHB1dChjZmcpCnAudygnT3V0cHV0PSIkKE91dERpciklcyInLCBjZmcuYnVpbGR0YXJnZXQubmFtZSkKZW5kCmZ1bmN0aW9uIG0ub3V0cHV0RGlyZWN0b3J5KGNmZykKbG9jYWwgb3V0ZGlyID0gcHJvamVjdC5nZXRyZWxhdGl2ZShjZmcucHJvamVjdCwgY2ZnLmJ1aWxkdGFyZ2V0LmRpcmVjdG9yeSkKcC54KCdPdXRwdXREaXJlY3Rvcnk9IiVzIicsIHBhdGgudHJhbnNsYXRlKG91dGRpcikpCmVuZApmdW5jdGlvbiBtLm91dHB1dEZpbGUoY2ZnKQpwLngoJ091dHB1dEZpbGU9IiQoT3V0RGlyKVxcJXMiJywgY2ZnLmJ1aWxkdGFyZ2V0Lm5hbWUpCmVuZApmdW5jdGlvbiBtLm91dHB1dEZpbGVOYW1lKGNmZykKaWYgY2ZnLmltYWdlcGF0aCB+PSBuaWwgdGhlbgpwLngoJ091dHB1dEZpbGVOYW1lPSIlcyInLCBwYXRoLnRyYW5zbGF0ZShjZmcuaW1hZ2VwYXRoKSkKZW5kCmVuZApmdW5jdGlvbiBtLnBsYXRmb3JtcyhwcmopCmFyY2hpdGVjdHVyZXMgPSB7fQpmb3IgY2ZnIGluIHByb2plY3QuZWFjaGNvbmZpZyhwcmopIGRvCmxvY2FsIGFyY2ggPSB2c3R1ZGlvLmFyY2hGcm9tQ29uZmlnKGNmZywgdHJ1ZSkKaWYgbm90IHRhYmxlLmNvbnRhaW5zKGFyY2hpdGVjdHVyZXMsIGFyY2gpIHRoZW4KdGFibGUuaW5zZXJ0KGFyY2hpdGVjdHVyZXMsIGFyY2gpCmVuZAplbmQKcC5wdXNoKCc8UGxhdGZvcm1zPicpCnRhYmxlLmZvcmVhY2hpKGFyY2hpdGVjdHVyZXMsIGZ1bmN0aW9uKGFyY2gpCnAucHVzaCgnPFBsYXRmb3JtJykKcC53KCdOYW1lPSIlcyInLCBhcmNoKQpwLnBvcCgnLz4nKQplbmQpCnAucG9wKCc8L1BsYXRmb3Jtcz4nKQplbmQKZnVuY3Rpb24gbS5wcmVwcm9jZXNzb3JEZWZpbml0aW9ucyhjZmcpCmlmICNjZmcuZGVmaW5lcyA+IDAgb3IgdnN0dWRpby5pc01ha2VmaWxlKGNmZykgdGhlbgpwLngoJ1ByZXByb2Nlc3NvckRlZmluaXRpb25zPSIlcyInLCB0YWJsZS5jb25jYXQoY2ZnLmRlZmluZXMsICI7IikpCmVuZAplbmQKZnVuY3Rpb24gbS51bmRlZmluZVByZXByb2Nlc3NvckRlZmluaXRpb25zKGNmZykKaWYgI2NmZy51bmRlZmluZXMgPiAwIHRoZW4KcC54KCdVbmRlZmluZVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIlcyInLCB0YWJsZS5jb25jYXQoY2ZnLnVuZGVmaW5lcywgIjsiKSkKZW5kCmVuZApmdW5jdGlvbiBtLnByb2dyYW1EYXRhYmFzZUZpbGUoY2ZnLCB0b29sc2V0KQppZiB0b29sc2V0IHRoZW4KcC53KCdQcm9ncmFtRGF0YWJhc2VGaWxlPSIiJykKZW5kCmVuZApmdW5jdGlvbiBtLnByb2dyYW1EYXRhQmFzZUZpbGVOYW1lKGNmZywgdG9vbHNldCkKaWYgdG9vbHNldCB0aGVuCnAudygnUHJvZ3JhbURhdGFCYXNlRmlsZU5hbWU9IiInKQplbmQKZW5kCmZ1bmN0aW9uIG0ucHJvamVjdEdVSUQocHJqKQpwLncoJ1Byb2plY3RHVUlEPSJ7JXN9IicsIHByai51dWlkKQplbmQKZnVuY3Rpb24gbS5wcm9qZWN0TmFtZShwcmopCnAueCgnTmFtZT0iJXMiJywgcHJqLm5hbWUpCmVuZApmdW5jdGlvbiBtLnByb2plY3RSZWZlcmVuY2VzKHByaikKbG9jYWwgZGVwcyA9IHByb2plY3QuZ2V0ZGVwZW5kZW5jaWVzKHByaikKaWYgI2RlcHMgPiAwIHRoZW4KZm9yIGksIGRlcCBpbiBpcGFpcnMoZGVwcykgZG8KbG9jYWwgcmVscGF0aCA9IHZzdHVkaW8ucGF0aChwcmoud29ya3NwYWNlLCB2c3R1ZGlvLnByb2plY3RmaWxlKGRlcCkpCmlmIG5vdCByZWxwYXRoOnN0YXJ0c3dpdGgoIi4iKSB0aGVuCnJlbHBhdGggPSAiLlxcIiAuLiByZWxwYXRoCmVuZApwLnB1c2goJzxQcm9qZWN0UmVmZXJlbmNlJykKcC53KCdSZWZlcmVuY2VkUHJvamVjdElkZW50aWZpZXI9Inslc30iJywgZGVwLnV1aWQpCnAudygnUmVsYXRpdmVQYXRoVG9Qcm9qZWN0PSIlcyInLCByZWxwYXRoKQpwLnBvcCgnLz4nKQplbmQKZW5kCmVuZApmdW5jdGlvbiBtLnByb2plY3RUeXBlKHByaikKcC53KCdQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyInKQplbmQKZnVuY3Rpb24gbS5yZUJ1aWxkQ29tbWFuZExpbmUoY2ZnKQpjb21tYW5kcyA9IHRhYmxlLmNvbmNhdChjZmcucmVidWlsZGNvbW1hbmRzLCAiXHJcbiIpCnAueCgnUmVCdWlsZENvbW1hbmRMaW5lPSIlcyInLCBjb21tYW5kcykKZW5kCmZ1bmN0aW9uIG0ucmVzb3VyY2VQcmVwcm9jZXNzb3JEZWZpbml0aW9ucyhjZmcpCmxvY2FsIGRlZnMgPSB0YWJsZS5qb2luKGNmZy5kZWZpbmVzLCBjZmcucmVzZGVmaW5lcykKaWYgI2RlZnMgPiAwIHRoZW4KcC54KCdQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iJXMiJywgdGFibGUuY29uY2F0KGRlZnMsICI7IikpCmVuZAplbmQKZnVuY3Rpb24gbS5yb290TmFtZXNwYWNlKHByaikKbG9jYWwgaGFzV2luZG93cyA9IHByb2plY3QuaGFzQ29uZmlnKHByaiwgZnVuY3Rpb24oY2ZnKQpyZXR1cm4gY2ZnLnN5c3RlbSA9PSBwLldJTkRPV1MKZW5kKQppZiBoYXNXaW5kb3dzIGFuZCBfQUNUSU9OID4gInZzMjAwMyIgdGhlbgpwLngoJ1Jvb3ROYW1lc3BhY2U9IiVzIicsIHByai5uYW1lKQplbmQKZW5kCmZ1bmN0aW9uIG0ucnVudGltZUxpYnJhcnkoY2ZnKQpsb2NhbCBjZmcsIGZpbGVjZmcgPSBjb25maWcubm9ybWFsaXplKGNmZykKaWYgbm90IGZpbGVjZmcgdGhlbgpsb2NhbCBydW50aW1lcyA9IHsKU3RhdGljUmVsZWFzZSA9IDAsClN0YXRpY0RlYnVnID0gMSwKU2hhcmVkUmVsZWFzZSA9IDIsClNoYXJlZERlYnVnID0gMywKfQpsb2NhbCBydW50aW1lID0gY29uZmlnLmdldHJ1bnRpbWUoY2ZnKQppZiBydW50aW1lIHRoZW4KcC53KCdSdW50aW1lTGlicmFyeT0iJXMiJywgcnVudGltZXNbcnVudGltZV0pCmVsc2UKcC53KCdSdW50aW1lTGlicmFyeT0iJXMiJywgaWlmKGNvbmZpZy5pc0RlYnVnQnVpbGQoY2ZnKSwgMywgMikpCmVuZAplbmQKZW5kCmZ1bmN0aW9uIG0ucnVudGltZVR5cGVJbmZvKGNmZykKaWYgY2ZnLnJ0dGkgPT0gcC5PRkYgYW5kIGNmZy5jbHIgPT0gcC5PRkYgdGhlbgpwLncoJ1J1bnRpbWVUeXBlSW5mbz0iZmFsc2UiJykKZWxzZWlmIGNmZy5ydHRpID09IHAuT04gdGhlbgpwLncoJ1J1bnRpbWVUeXBlSW5mbz0idHJ1ZSInKQplbmQKZW5kCmZ1bmN0aW9uIG0uc3RyaW5nUG9vbGluZyhjZmcpCmlmIGNvbmZpZy5pc09wdGltaXplZEJ1aWxkKGNmZykgdGhlbgpwLncoJ1N0cmluZ1Bvb2xpbmc9InRydWUiJykKZW5kCmVuZApmdW5jdGlvbiBtLnN1YlN5c3RlbShjZmcsIHRvb2xzZXQpCmlmIG5vdCB0b29sc2V0IHRoZW4KcC53KCdTdWJTeXN0ZW09IiVzIicsIGlpZihjZmcua2luZCA9PSAiQ29uc29sZUFwcCIsIDEsIDIpKQplbmQKZW5kCmZ1bmN0aW9uIG0udGFyZ2V0RW52aXJvbm1lbnQoY2ZnKQppZiBjZmcuYXJjaGl0ZWN0dXJlID09ICJ4ODZfNjQiIHRoZW4KcC53KCdUYXJnZXRFbnZpcm9ubWVudD0iMyInKQplbmQKZW5kCmZ1bmN0aW9uIG0udGFyZ2V0RnJhbWV3b3JrVmVyc2lvbihwcmopCmxvY2FsIHdpbmRvd3MsIG1ha2VmaWxlCmZvciBjZmcgaW4gcHJvamVjdC5lYWNoY29uZmlnKHByaikgZG8KaWYgY2ZnLnN5c3RlbSA9PSBwLldJTkRPV1MgdGhlbiB3aW5kb3dzID0gdHJ1ZSBlbmQKaWYgdnN0dWRpby5pc01ha2VmaWxlKGNmZykgdGhlbiBtYWtlZmlsZSA9IHRydWUgZW5kCmVuZApsb2NhbCB2ZXJzaW9uID0gMAppZiBtYWtlZmlsZSBvciBub3Qgd2luZG93cyB0aGVuCnZlcnNpb24gPSAxOTY2MTMKZW5kCnAudygnVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iJWQiJywgdmVyc2lvbikKZW5kCmZ1bmN0aW9uIG0udGFyZ2V0TWFjaGluZShjZmcsIHRvb2xzZXQpCmlmIG5vdCB0b29sc2V0IHRoZW4KcC53KCdUYXJnZXRNYWNoaW5lPSIlZCInLCBpaWYoY2ZnLmFyY2hpdGVjdHVyZSA9PSAieDg2XzY0IiwgMTcsIDEpKQplbmQKZW5kCmZ1bmN0aW9uIG0udG9vbEZpbGVzKHByaikKaWYgX0FDVElPTiA+ICJ2czIwMDMiIHRoZW4KcC53KCc8VG9vbEZpbGVzPicpCnAudygnPC9Ub29sRmlsZXM+JykKZW5kCmVuZApmdW5jdGlvbiBtLnRyZWF0V0NoYXJfdEFzQnVpbHRJblR5cGUoY2ZnKQpsb2NhbCBtYXAgPSB7IE9uID0gInRydWUiLCBPZmYgPSAiZmFsc2UiIH0KbG9jYWwgdmFsdWUgPSBtYXBbY2ZnLm5hdGl2ZXdjaGFyXQppZiB2YWx1ZSB0aGVuCnAudygnVHJlYXRXQ2hhcl90QXNCdWlsdEluVHlwZT0iJXMiJywgdmFsdWUpCmVuZAplbmQKZnVuY3Rpb24gbS51c2VPZk1GQyhjZmcpCmlmIChjZmcuZmxhZ3MuTUZDKSB0aGVuCnAudygnVXNlT2ZNRkM9IiVkIicsIGlpZihjZmcuc3RhdGljcnVudGltZSA9PSAiT24iLCAxLCAyKSkKZW5kCmVuZApmdW5jdGlvbiBtLnVzZVByZWNvbXBpbGVkSGVhZGVyKGNmZykKbG9jYWwgcHJqLCBmaWxlID0gY29uZmlnLm5vcm1hbGl6ZShjZmcpCmlmIGZpbGUgdGhlbgppZiBwcmoucGNoc291cmNlID09IGZpbGUuYWJzcGF0aCBhbmQKICAgbm90IHByai5mbGFncy5Ob1BDSCBhbmQKICAgcHJqLnN5c3RlbSA9PSBwLldJTkRPV1MKdGhlbgpwLncoJ1VzZVByZWNvbXBpbGVkSGVhZGVyPSIxIicpCmVsc2VpZiBmaWxlLmZsYWdzLk5vUENIIHRoZW4KcC53KCdVc2VQcmVjb21waWxlZEhlYWRlcj0iMCInKQplbmQKZWxzZQppZiBub3QgcHJqLmZsYWdzLk5vUENIIGFuZCBwcmoucGNoaGVhZGVyIHRoZW4KcC53KCdVc2VQcmVjb21waWxlZEhlYWRlcj0iJXMiJywgaWlmKF9BQ1RJT04gPCAidnMyMDA1IiwgMywgMikpCnAueCgnUHJlY29tcGlsZWRIZWFkZXJUaHJvdWdoPSIlcyInLCBwcmoucGNoaGVhZGVyKQplbHNlCnAudygnVXNlUHJlY29tcGlsZWRIZWFkZXI9IiVzIicsIGlpZihfQUNUSU9OID4gInZzMjAwMyIgb3IgcHJqLmZsYWdzLk5vUENILCAwLCAyKSkKZW5kCmVuZAplbmQKZnVuY3Rpb24gbS52ZXJzaW9uKHByaikKbG9jYWwgbWFwID0gewp2czIwMDIgPSAnNy4wJywKdnMyMDAzID0gJzcuMScsCnZzMjAwNSA9ICc4LjAnLAp2czIwMDggPSAnOS4wJwp9CnAudygnVmVyc2lvbj0iJXMwIicsIG1hcFtfQUNUSU9OXSkKZW5kCmZ1bmN0aW9uIG0ud2FybkFzRXJyb3IoY2ZnKQppZiBjZmcuZmxhZ3MuRmF0YWxDb21waWxlV2FybmluZ3MgYW5kIGNmZy53YXJuaW5ncyB+PSBwLk9GRiB0aGVuCnAudygnV2FybkFzRXJyb3I9InRydWUiJykKZW5kCmVuZApmdW5jdGlvbiBtLndhcm5pbmdMZXZlbChjZmcpCmxvY2FsIHByamNmZywgZmlsZWNmZyA9IGNvbmZpZy5ub3JtYWxpemUoY2ZnKQpsb2NhbCBsZXZlbAppZiBjZmcud2FybmluZ3MgPT0gcC5PRkYgdGhlbgpsZXZlbCA9ICIwIgplbHNlaWYgY2ZnLndhcm5pbmdzID09ICJFeHRyYSIgdGhlbgpsZXZlbCA9ICI0IgplbHNlaWYgbm90IGZpbGVjZmcgdGhlbgpsZXZlbCA9ICIzIgplbmQKaWYgbGV2ZWwgdGhlbgpwLncoJ1dhcm5pbmdMZXZlbD0iJXMi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rgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAAAAAAAACQRkUAAAAAAAAAAAAAAAAA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ZWF0aW5nIGZpbGU6CiAgJXMKAAAlcyBkb2VzIG5vdCBleGlzdAoAACVzLyVzAAAAICBGYWlsZWQgdG8gY3JlYXRlIHN5bWJvbGljIGxpbmsgWyVzLT4lc10KAAAAAAAAICBXcml0aW5nIGRhdGEgdG8gJXMgZmFpbGVkCiAgICVkIGJ5dGVzIHdlcmUgd3JpdHRlbgogICAgJWQgYnl0ZXMgd2VyZSBhdHRlbXB0ZWQgdG8gYmUgd3JpdHRlbgogICAgRmlsZSBtYXkgYmUgY29ycnVwdAoAc3JjL2Jhc2UvX2ZvdW5kYXRpb24ubHVhAAAAAHNyYy9iYXNlL3N0cmluZy5sdWEAc3JjL2Jhc2UvdGFibGUubHVhAABzcmMvYmFzZS9wYXRoLmx1YQAAAHNyYy9iYXNlL29zLmx1YQBzcmMvYmFzZS9pby5sdWEAc3JjL2Jhc2UvdG9vbHMubHVhAABzcmMvYmFzZS90cmVlLmx1YQAAAHNyYy9iYXNlL2dsb2JhbHMubHVhAAAAAHNyYy9iYXNlL21vZHVsZWRvd25sb2FkZXIubHVhAAAAc3JjL2Jhc2Uvc2VtdmVyLmx1YQBzcmMvYmFzZS9odHRwLmx1YQAAAHNyYy9iYXNlL2pzb24ubHVhAAAAc3JjL2Jhc2UvanNvbndyYXBwZXIubHVhAAAAAHNyYy9iYXNlL2xhbmd1YWdlcy5sdWEAAHNyYy9iYXNlL3Rlcm0ubHVhAAAAc3JjL2Jhc2UvZmllbGQubHVhAABzcmMvYmFzZS9jcml0ZXJpYS5sdWEAAABzcmMvYmFzZS9kZXRva2VuLmx1YQAAAABzcmMvYmFzZS9jb25maWdzZXQubHVhAABzcmMvYmFzZS9jb250ZXh0Lmx1YQAAAABzcmMvYmFzZS9jb250YWluZXIubHVhAABzcmMvYmFzZS9vcHRpb24ubHVhAHNyYy9iYXNlL2FjdGlvbi5sdWEAc3JjL2Jhc2UvYXBpLmx1YQAAAABzcmMvYmFzZS9nbG9iYWwubHVhAHNyYy9iYXNlL3dvcmtzcGFjZS5sdWEAAHNyYy9iYXNlL2dyb3VwLmx1YQAAc3JjL2Jhc2UvcHJvamVjdC5sdWEAAAAAc3JjL2Jhc2UvY29uZmlnLmx1YQBzcmMvYmFzZS9maWxlY29uZmlnLmx1YQBzcmMvYmFzZS9ydWxlLmx1YQAAAHNyYy9iYXNlL292ZW4ubHVhAAAAc3JjL2Jhc2UvdmFsaWRhdGlvbi5sdWEAc3JjL2Jhc2UvcHJlbWFrZS5sdWEAAAAAc3JjL2Jhc2UvaGVscC5sdWEAAABzcmMvdG9vbHMvZG90bmV0Lmx1YQAAAABzcmMvdG9vbHMvZ2NjLmx1YQAAAHNyYy90b29scy9tc2MubHVhAAAAc3JjL3Rvb2xzL3NuYy5sdWEAAABzcmMvdG9vbHMvY2xhbmcubHVhAHNyYy9hY3Rpb25zL2NsZWFuL19jbGVhbi5sdWEAAAAAc3JjL19wcmVtYWtlX2luaXQubHVhAAAAYW5kcm9pZC9fcHJlbG9hZC5sdWEAAAAAYW5kcm9pZC9hbmRyb2lkLmx1YQBhbmRyb2lkL3ZzYW5kcm9pZF92Y3hwcm9qLmx1YQAAAGFuZHJvaWQvdnNhbmRyb2lkX3NsbjIwMDUubHVhAAAAYW5kcm9pZC92c2FuZHJvaWRfdnN0dWRpby5sdWEAAABhbmRyb2lkL3ZzYW5kcm9pZF9hbmRyb2lkcHJvai5sdWEAAABjb2RlbGl0ZS9fcHJlbG9hZC5sdWEAAABjb2RlbGl0ZS9jb2RlbGl0ZS5sdWEAAABjb2RlbGl0ZS9jb2RlbGl0ZV93b3Jrc3BhY2UubHVhAGNvZGVsaXRlL2NvZGVsaXRlX3Byb2plY3QubHVhAAAAZC9fcHJlbG9hZC5sdWEAAGQvZC5sdWEAZC9hY3Rpb25zL2dtYWtlLmx1YQBkL2FjdGlvbnMvdmN4cHJvai5sdWEAAABkL2FjdGlvbnMvdmlzdWFsZC5sdWEAAABkL3Rvb2xzL2RtZC5sdWEAZC90b29scy9nZGMubHVhAGQvdG9vbHMvbGRjLmx1YQBnbWFrZS9fcHJlbG9hZC5sdWEAAGdtYWtlL2dtYWtlLmx1YQBnbWFrZS9nbWFrZV9jcHAubHVhAGdtYWtlL2dtYWtlX2NzaGFycC5sdWEAAGdtYWtlL2dtYWtlX21ha2VmaWxlLmx1YQAAAABnbWFrZS9nbWFrZV91dGlsaXR5Lmx1YQBnbWFrZS9nbWFrZV93b3Jrc3BhY2UubHVhAAAAZ21ha2UyL19wcmVsb2FkLmx1YQBnbWFrZTIvZ21ha2UyLmx1YQAAAGdtYWtlMi9nbWFrZTJfY3BwLmx1YQAAAGdtYWtlMi9nbWFrZTJfY3NoYXJwLmx1YQAAAABnbWFrZTIvZ21ha2UyX21ha2VmaWxlLmx1YQAAZ21ha2UyL2dtYWtlMl91dGlsaXR5Lmx1YQAAAGdtYWtlMi9nbWFrZTJfd29ya3NwYWNlLmx1YQByYXcvX3ByZWxvYWQubHVhAAAAAHJhdy9yYXcubHVhAHJhdy9yYXdfYWN0aW9uLmx1YQAAc2VsZi10ZXN0L3NlbGYtdGVzdC5sdWEAc2VsZi10ZXN0L3Rlc3RfYXNzZXJ0aW9ucy5sdWEAAABzZWxmLXRlc3QvdGVzdF9kZWNsYXJlLmx1YQAAc2VsZi10ZXN0L3Rlc3RfaGVscGVycy5sdWEAAHNlbGYtdGVzdC90ZXN0X3J1bm5lci5sdWEAAAB2c3R1ZGlvL19wcmVsb2FkLmx1YQAAAAB2c3R1ZGlvL3ZzdHVkaW8ubHVhAHZzdHVkaW8vdnMyMDA1Lmx1YQAAdnN0dWRpby92czIwMDgubHVhAAB2c3R1ZGlvL3ZzMjAweF92Y3Byb2oubHVhAAAAdnN0dWRpby92czIwMHhfdmNwcm9qX3VzZXIubHVhAAB2c3R1ZGlvL3ZzMjAwNV9zb2x1dGlvbi5sdWEAdnN0dWRpby92czIwMDVfZG90bmV0YmFzZS5sdWEAAAB2c3R1ZGlvL3ZzMjAwNV9jc3Byb2oubHVhAAAAdnN0dWRpby92czIwMDVfY3Nwcm9qX3VzZXIubHVhAAB2c3R1ZGlvL3ZzMjAwNV9mc3Byb2oubHVhAAAAdnN0dWRpby92czIwMDVfZnNwcm9qX3VzZXIubHVhAAB2c3R1ZGlvL3ZzMjAxMC5sdWEAAHZzdHVkaW8vdnMyMDEwX251Z2V0Lmx1YQAAAAB2c3R1ZGlvL3ZzMjAxMF92Y3hwcm9qLmx1YQAAdnN0dWRpby92czIwMTBfdmN4cHJval91c2VyLmx1YQB2c3R1ZGlvL3ZzMjAxMF92Y3hwcm9qX2ZpbHRlcnMubHVhAAB2c3R1ZGlvL3ZzMjAxMF9ydWxlc19wcm9wcy5sdWEAAHZzdHVkaW8vdnMyMDEwX3J1bGVzX3RhcmdldHMubHVhAAAAAHZzdHVkaW8vdnMyMDEwX3J1bGVzX3htbC5sdWEAAAAAdnN0dWRpby92czIwMTIubHVhAAB2c3R1ZGlvL3ZzMjAxMy5sdWEAAHZzdHVkaW8vdnMyMDE1Lmx1YQAAdnN0dWRpby92czIwMTcubHVhAAB2c3R1ZGlvL3ZzMjAxOS5sdWEAAHhjb2RlL19wcmVsb2FkLmx1YQAAeGNvZGUveGNvZGUubHVhAHhjb2RlL3hjb2RlNF93b3Jrc3BhY2UubHVhAAB4Y29kZS94Y29kZV9jb21tb24ubHVhAAB4Y29kZS94Y29kZV9wcm9qZWN0Lmx1YQBzcmMvX21hbmlmZXN0Lmx1YQAAAHNyYy9fbW9kdWxlcy5sdWEAAAAAKCpubyBuYW1lKQAAKCp2YXJhcmcpAAAAKCp0ZW1wb3JhcnkpAAAAAD1bQ10AAAAAQwAAAD0/AABtYWluAAAAAEx1YQBtZXRhbWV0aG9kAABsb2NhbAAAAF9FTlYAAAAAZ2xvYmFsAABmaWVsZAAAAHVwdmFsdWUAY29uc3RhbnQAAAAAaG9vawAAAABmb3IgaXRlcmF0b3IAAAAAICglcyAnJXMnKQAAYXR0ZW1wdCB0byAlcyBhICVzIHZhbHVlJXMAAGNvbmNhdGVuYXRlAG51bWJlciVzIGhhcyBubyBpbnRlZ2VyIHJlcHJlc2VudGF0aW9uAABhdHRlbXB0IHRvIGNvbXBhcmUgdHdvICVzIHZhbHVlcwAAAABhdHRlbXB0IHRvIGNvbXBhcmUgJXMgd2l0aCAlcwAAACVzOiVkOiAlcwAAAF9HAABwYWNrYWdlAGNvcm91dGluZQAAAHRhYmxlAAAAaW8AAG1hdGgAAAAAdXRmOAAAAABlcnJvciBpbiBlcnJvciBoYW5kbGluZwBjYWxsAAAAAEMgc3RhY2sgb3ZlcmZsb3cAAAAAY2Fubm90IHJlc3VtZSBub24tc3VzcGVuZGVkIGNvcm91dGluZQAAAGNhbm5vdCByZXN1bWUgZGVhZCBjb3JvdXRpbmUAAAAAYXR0ZW1wdCB0byB5aWVsZCBhY3Jvc3MgYSBDLWNhbGwgYm91bmRhcnkAAABhdHRlbXB0IHRvIHlpZWxkIGZyb20gb3V0c2lkZSBhIGNvcm91dGluZQAAAGF0dGVtcHQgdG8gbG9hZCBhICVzIGNodW5rIChtb2RlIGlzICclcycpAAAAYmluYXJ5AAB0ZXh0AAAAAGluZGV4AAAAJ19faW5kZXgnIGNoYWluIHRvbyBsb25nOyBwb3NzaWJsZSBsb29wACdfX25ld2luZGV4JyBjaGFpbiB0b28gbG9uZzsgcG9zc2libGUgbG9vcAAAc3RyaW5nIGxlbmd0aCBvdmVyZmxvdwAAZ2V0IGxlbmd0aCBvZgAAAGF0dGVtcHQgdG8gZGl2aWRlIGJ5IHplcm8AAABhdHRlbXB0IHRvIHBlcmZvcm0gJ24lJTAnAAAAJ2ZvcicgbGltaXQgbXVzdCBiZSBhIG51bWJlcgAAAAAnZm9yJyBzdGVwIG11c3QgYmUgYSBudW1iZXIAJ2ZvcicgaW5pdGlhbCB2YWx1ZSBtdXN0IGJlIGEgbnVtYmVyAAAAAG5vIG1lc3NhZ2UAAGVycm9yIGluIF9fZ2MgbWV0YW1ldGhvZCAoJXMpAAAAaW52YWxpZCBrZXkgdG8gJ25leHQnAAAAdGFibGUgb3ZlcmZsb3cAAHRhYmxlIGluZGV4IGlzIG5pbAAAdGFibGUgaW5kZXggaXMgTmFOAAAueFhuTgAAACVsbGQAAAAAJS4xNGcAAAAtMDEyMzQ1Njc4OQAobnVsbCkAADxcJWQ+AAAAJXAAACUAAABpbnZhbGlkIG9wdGlvbiAnJSUlYycgdG8gJ2x1YV9wdXNoZnN0cmluZycAAC4uLgBbc3RyaW5nICIAAAAiXQAAbm90IGVub3VnaCBtZW1vcnkAAAAZkw0KGgoAAG5vIHZhbHVlAAAAAGJvb2xlYW4AbnVtYmVyAABmdW5jdGlvbgAAAAB0aHJlYWQAAHByb3RvAAAAX19pbmRleABfX25ld2luZGV4AABfX21vZGUAAF9fbGVuAAAAX19lcQAAAABfX2FkZAAAAF9fc3ViAAAAX19tdWwAAABfX21vZAAAAF9fcG93AAAAX19kaXYAAABfX2lkaXYAAF9fYmFuZAAAX19ib3IAAABfX2J4b3IAAF9fc2hsAAAAX19zaHIAAABfX3VubQAAAF9fYm5vdAAAX19sdAAAAABfX2xlAAAAAF9fY29uY2F0AAAAAF9fY2FsbAAAcGVyZm9ybSBiaXR3aXNlIG9wZXJhdGlvbiBvbgAAAABwZXJmb3JtIGFyaXRobWV0aWMgb24AAAB0b28gbWFueSAlcyAobGltaXQgaXMgJWQpAAAAbWVtb3J5IGFsbG9jYXRpb24gZXJyb3I6IGJsb2NrIHRvbyBiaWcAAGFuZABicmVhawAAAGRvAABlbHNlAAAAAGVsc2VpZgAAZW5kAGZvcgBnb3RvAAAAAGlmAABpbgAAbm90AG9yAAByZXBlYXQAAHJldHVybgAAdGhlbgAAAAB1bnRpbAAAAHdoaWxlAAAALy8AAD09AAA+PQAAPD0AAH49AAA8PAAAPj4AADo6AAA8bnVtYmVyPgAAAAA8aW50ZWdlcj4AAAA8bmFtZT4AADxzdHJpbmc+AAAAAGxleGljYWwgZWxlbWVudCB0b28gbG9uZwAAAAAnJWMnAAAAACclcycAAAAAJXMgbmVhciAlcwAAY2h1bmsgaGFzIHRvbyBtYW55IGxpbmVzAAAAAEVlAAB4WAAAUHAAAC0rAABtYWxmb3JtZWQgbnVtYmVyAAAAAGNvbW1lbnQAdW5maW5pc2hlZCBsb25nICVzIChzdGFydGluZyBhdCBsaW5lICVkKQAAAABoZXhhZGVjaW1hbCBkaWdpdCBleHBlY3RlZAAAbWlzc2luZyAneycAVVRGLTggdmFsdWUgdG9vIGxhcmdlAAAAbWlzc2luZyAnfScAZGVjaW1hbCBlc2NhcGUgdG9vIGxhcmdlAAAAAHVuZmluaXNoZWQgc3RyaW5nAAAAaW52YWxpZCBlc2NhcGUgc2VxdWVuY2UAaW52YWxpZCBsb25nIHN0cmluZyBkZWxpbWl0ZXIAAABwb3NpdGlvbiBvdXQgb2YgYm91bmRzAAB3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIHRvICdpbnNlcnQnAAAAdG9vIG1hbnkgZWxlbWVudHMgdG8gbW92ZQAAAGRlc3RpbmF0aW9uIHdyYXAgYXJvdW5kAGludmFsaWQgdmFsdWUgKCVzKSBhdCBpbmRleCAlZCBpbiB0YWJsZSBmb3IgJ2NvbmNhdCcAAAAAdG9vIG1hbnkgcmVzdWx0cyB0byB1bnBhY2sAAGludmFsaWQgb3JkZXIgZnVuY3Rpb24gZm9yIHNvcnRpbmcAAGFycmF5IHRvbyBiaWcAAABjb25jYXQAAGluc2VydAAAcGFjawAAAAB1bnBhY2sAAG1vdmUAAAAAc29ydAAAAAAndG9zdHJpbmcnIG11c3QgcmV0dXJuIGEgc3RyaW5nIHRvICdwcmludCcAAAkAAAAgDAoNCQsAAGJhc2Ugb3V0IG9mIHJhbmdlAAAAX19tZXRhdGFibGUAbmlsIG9yIHRhYmxlIGV4cGVjdGVkAAAAY2Fubm90IGNoYW5nZSBhIHByb3RlY3RlZCBtZXRhdGFibGUAdGFibGUgb3Igc3RyaW5nIGV4cGVjdGVkAAAAAHN0b3AAAAAAcmVzdGFydABjb2xsZWN0AGNvdW50AAAAc3RlcAAAAABzZXRwYXVzZQAAAABzZXRzdGVwbXVsAABpc3J1bm5pbmcAAABfX3BhaXJzAHRvbyBtYW55IG5lc3RlZCBmdW5jdGlvbnMAAAByZWFkZXIgZnVuY3Rpb24gbXVzdCByZXR1cm4gYSBzdHJpbmcAAAAAYnQAAD0obG9hZCkAYXNzZXJ0aW9uIGZhaWxlZCEAAABpbmRleCBvdXQgb2YgcmFuZ2UAAGFzc2VydAAAY29sbGVjdGdhcmJhZ2UAAGRvZmlsZQAAZXJyb3IAAABnZXRtZXRhdGFibGUAAAAAaXBhaXJzAABsb2FkZmlsZQAAAABsb2FkAAAAAG5leHQAAAAAcGFpcnMAAABwY2FsbAAAAHJhd2VxdWFsAAAAAHJhd2xlbgAAcmF3Z2V0AAByYXdzZXQAAHNlbGVjdAAAc2V0bWV0YXRhYmxlAAAAAHRvbnVtYmVyAAAAAHR5cGUAAAAAeHBjYWxsAABfVkVSU0lPTgAAAABMdWEgNS4zAGluaXRpYWwgcG9zaXRpb24gb3V0IG9mIHN0cmluZwAAZmluYWwgcG9zaXRpb24gb3V0IG9mIHN0cmluZwAAAABvdXQgb2YgcmFuZ2UAAAAAc3RyaW5nIHNsaWNlIHRvbyBsb25nAAAAaW52YWxpZCBVVEYtOCBjb2RlAAB2YWx1ZSBvdXQgb2YgcmFuZ2UAACVVAABwb3NpdGlvbiBvdXQgb2YgcmFuZ2UAAABpbml0aWFsIHBvc2l0aW9uIGlzIGEgY29udGludWF0aW9uIGJ5dGUAb2Zmc2V0AABjb2RlcG9pbnQAAABjaGFyAAAAAGxlbgBjb2RlcwAAAGNoYXJwYXR0ZXJuAFsALX/CLfRdW4Atv10qAAB1bmFibGUgdG8gZ2V0IE1vZHVsZUZpbGVOYW1lAAAAACEAAABzeXN0ZW0gZXJyb3IgJWQKAAAAAF81XzMAAAAAJXMlcwAAAAA7ATsAOzsAAAEAAABpbml0AAAAAAoJbm8gZmlsZSAnJXMnAAAncGFja2FnZS4lcycgbXVzdCBiZSBhIHN0cmluZwAAAGVycm9yIGxvYWRpbmcgbW9kdWxlICclcycgZnJvbSBmaWxlICclcyc6CgklcwAAAF8AAABsdWFvcGVuXyVzAABjcGF0aAAAAAoJbm8gbW9kdWxlICclcycgaW4gZmlsZSAnJXMnAAAAX1BSRUxPQUQAAAAACglubyBmaWVsZCBwYWNrYWdlLnByZWxvYWRbJyVzJ10AAAAAc2VhcmNoZXJzAAAAJ3BhY2thZ2Uuc2VhcmNoZXJzJyBtdXN0IGJlIGEgdGFibGUAbW9kdWxlICclcycgbm90IGZvdW5kOiVzAAAAAGxvYWRsaWIAc2VhcmNocGF0aAAAcHJlbG9hZABsb2FkZWQAACFcbHVhXD8ubHVhOyFcbHVhXD9caW5pdC5sdWE7IVw/Lmx1YTshXD9caW5pdC5sdWE7IVwuLlxzaGFyZVxsdWFcNS4zXD8ubHVhOyFcLi5cc2hhcmVcbHVhXDUuM1w/XGluaXQubHVhOy5cPy5sdWE7Llw/XGluaXQubHVhAAAATFVBX1BBVEgAAAAAIVw/LmRsbDshXC4uXGxpYlxsdWFcNS4zXD8uZGxsOyFcbG9hZGFsbC5kbGw7Llw/LmRsbAAAAABMVUFfQ1BBVEgAAABcCjsKPwohCi0KAABjb25maWcAAHVuYWJsZSB0byBnZW5lcmF0ZSBhIHVuaXF1ZSBmaWxlbmFtZQAAAABzZWMAbWluAGhvdXIAAAAAZGF5AG1vbnRoAAAAeWVhcgAAAAB3ZGF5AAAAAHlkYXkAAAAAaXNkc3QAAABmaWVsZCAnJXMnIGlzIG5vdCBhbiBpbnRlZ2VyAAAAAGZpZWxkICclcycgbWlzc2luZyBpbiBkYXRlIHRhYmxlAAAAAGZpZWxkICclcycgaXMgb3V0LW9mLWJvdW5kAABhQWJCY2RISWptTXBTVXdXeFh5WXpaJXx8I2MjeCNkI0gjSSNqI20jTSNTI1UjdyNXI3kjWQAAAGludmFsaWQgY29udmVyc2lvbiBzcGVjaWZpZXIgJyUlJXMnACVjAAB0aW1lIHJlc3VsdCBjYW5ub3QgYmUgcmVwcmVzZW50ZWQgaW4gdGhpcyBpbnN0YWxsYXRpb24AACp0AABhbGwAY29sbGF0ZQBjdHlwZQAAAG1vbmV0YXJ5AAAAAG51bWVyaWMAdGltZQAAAABjbG9jawAAAGRhdGUAAAAAZGlmZnRpbWUAAAAAZXhlY3V0ZQBnZXRlbnYAAHNldGxvY2FsZQAAAHRtcG5hbWUAcmVzdWx0aW5nIHN0cmluZyB0b28gbGFyZ2UAAHVuYWJsZSB0byBkdW1wIGdpdmVuIGZ1bmN0aW9uAAAAaW52YWxpZCBjYXB0dXJlIGluZGV4ICUlJWQAAGludmFsaWQgcGF0dGVybiBjYXB0dXJlAG1hbGZvcm1lZCBwYXR0ZXJuIChlbmRzIHdpdGggJyUlJykAAG1hbGZvcm1lZCBwYXR0ZXJuIChtaXNzaW5nICddJykAbWFsZm9ybWVkIHBhdHRlcm4gKG1pc3NpbmcgYXJndW1lbnRzIHRvICclJWInKQAAdG9vIG1hbnkgY2FwdHVyZXMAAABwYXR0ZXJuIHRvbyBjb21wbGV4AG1pc3NpbmcgJ1snIGFmdGVyICclJWYnIGluIHBhdHRlcm4AAHVuZmluaXNoZWQgY2FwdHVyZQAAXiQqKz8uKFslLQAAaW52YWxpZCB1c2Ugb2YgJyVjJyBpbiByZXBsYWNlbWVudCBzdHJpbmcAAABpbnZhbGlkIHJlcGxhY2VtZW50IHZhbHVlIChhICVzKQAAAABzdHJpbmcvZnVuY3Rpb24vdGFibGUgZXhwZWN0ZWQAACUuMTRneDBwKzAAAHAlK2QAAAAAbW9kaWZpZXJzIGZvciBmb3JtYXQgJyUlYScvJyUlQScgbm90IGltcGxlbWVudGVkAAAAAFwlZABcJTAzZAAAACVhAAAweCVsbHgAAHZhbHVlIGhhcyBubyBsaXRlcmFsIGZvcm0AAAAtKyAjMAAAAGludmFsaWQgZm9ybWF0IChyZXBlYXRlZCBmbGFncykAaW52YWxpZCBmb3JtYXQgKHdpZHRoIG9yIHByZWNpc2lvbiB0b28gbG9uZykAAAAAbGwAAHN0cmluZyBjb250YWlucyB6ZXJvcwAAAGludmFsaWQgb3B0aW9uICclJSVjJyB0byAnZm9ybWF0JwAAAGludGVncmFsIHNpemUgKCVkKSBvdXQgb2YgbGltaXRzIFsxLCVkXQBtaXNzaW5nIHNpemUgZm9yIGZvcm1hdCBvcHRpb24gJ2MnAABpbnZhbGlkIGZvcm1hdCBvcHRpb24gJyVjJwAAaW52YWxpZCBuZXh0IG9wdGlvbiBmb3Igb3B0aW9uICdYJwAAZm9ybWF0IGFza3MgZm9yIGFsaWdubWVudCBub3QgcG93ZXIgb2YgMgAAAABpbnRlZ2VyIG92ZXJmbG93AAAAAHVuc2lnbmVkIG92ZXJmbG93AAAAc3RyaW5nIGxvbmdlciB0aGFuIGdpdmVuIHNpemUAAABzdHJpbmcgbGVuZ3RoIGRvZXMgbm90IGZpdCBpbiBnaXZlbiBzaXplAAAAAGZvcm1hdCByZXN1bHQgdG9vIGxhcmdlAHZhcmlhYmxlLWxlbmd0aCBmb3JtYXQAACVkLWJ5dGUgaW50ZWdlciBkb2VzIG5vdCBmaXQgaW50byBMdWEgSW50ZWdlcgAAAGRhdGEgc3RyaW5nIHRvbyBzaG9ydAAAAHRvbyBtYW55IHJlc3VsdHMAAAAAYnl0ZQAAAABkdW1wAAAAAGZpbmQAAAAAZm9ybWF0AABnbWF0Y2gAAGdzdWIAAAAAbG93ZXIAAAByZXAAcmV2ZXJzZQBzdWIAdXBwZXIAAABwYWNrc2l6ZQAAAAB6ZXJvAAAAAHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMAAABpbnRlcnZhbCBpcyBlbXB0eQAAAGludGVydmFsIHRvbyBsYXJnZQAAaW50ZWdlcgBmbG9hdAAAAGFicwBhY29zAAAAAGFzaW4AAAAAYXRhbgAAAABjZWlsAAAAAGNvcwBkZWcAZXhwAHRvaW50ZWdlcgAAAGZsb29yAAAAZm1vZAAAAAB1bHQAbG9nAG1heABtb2RmAAAAAHJhZAByYW5kb20AAHJhbmRvbXNlZWQAAHNpbgBzcXJ0AAAAAHRhbgBwaQAAaHVnZQAAAABtYXhpbnRlZ2VyAABtaW5pbnRlZ2VyAAByd2EAYgAAAEZJTEUqAAAAY2xvc2VkIGZpbGUAZmlsZQAAAABmaWxlIChjbG9zZWQpAAAAZmlsZSAoJXApAAAAYXR0ZW1wdCB0byB1c2UgYSBjbG9zZWQgZmlsZQAAAABfSU9fb3V0cHV0AABjYW5ub3Qgb3BlbiBmaWxlICclcycgKCVzKQAAaW52YWxpZCBtb2RlAAAAAHN0YW5kYXJkICVzIGZpbGUgaXMgY2xvc2VkAABfSU9faW5wdXQAAAB3AAAAdG9vIG1hbnkgYXJndW1lbnRzAAAwMAAAcFAAAGVFAABpbnZhbGlkIGZvcm1hdAAAZmlsZSBpcyBhbHJlYWR5IGNsb3NlZAAAJXMAAHNldABjdXIAbm8AAGZ1bGwAAAAAbGluZQAAAABmbHVzaAAAAGlucHV0AAAAbGluZXMAAABvdXRwdXQAAHBvcGVuAAAAdG1wZmlsZQBzZWVrAAAAAHNldHZidWYAY2Fubm90IGNsb3NlIHN0YW5kYXJkIGZpbGUAAHN0ZGluAAAAc3Rkb3V0AABzdGRlcnIAAGZsblN0dQAAPiVzAGludmFsaWQgb3B0aW9uAABzb3VyY2UAAHNob3J0X3NyYwAAAGxpbmVkZWZpbmVkAGxhc3RsaW5lZGVmaW5lZAB3aGF0AAAAAGN1cnJlbnRsaW5lAG51cHMAAAAAbnBhcmFtcwBpc3ZhcmFyZwAAAABuYW1lAAAAAG5hbWV3aGF0AAAAAGlzdGFpbGNhbGwAAGFjdGl2ZWxpbmVzAGZ1bmMAAAAAbGV2ZWwgb3V0IG9mIHJhbmdlAABpbnZhbGlkIHVwdmFsdWUgaW5kZXgAAABMdWEgZnVuY3Rpb24gZXhwZWN0ZWQAAAB0YWlsIGNhbGwAAABrAAAAZXh0ZXJuYWwgaG9vawAAAGx1YV9kZWJ1Zz4gAGNvbnQKAAAAPShkZWJ1ZyBjb21tYW5kKQAAAABnZXR1c2VydmFsdWUAAAAAZ2V0aG9vawBnZXRpbmZvAGdldGxvY2FsAAAAAGdldHJlZ2lzdHJ5AGdldHVwdmFsdWUAAHVwdmFsdWVqb2luAHVwdmFsdWVpZAAAAHNldHVzZXJ2YWx1ZQAAAABzZXRob29rAHNldGxvY2FsAAAAAHNldHVwdmFsdWUAAHRyYWNlYmFjawAAAHRocmVhZCBleHBlY3RlZAB0b28gbWFueSBhcmd1bWVudHMgdG8gcmVzdW1lAAAAAHRvbyBtYW55IHJlc3VsdHMgdG8gcmVzdW1lAABydW5uaW5nAHN1c3BlbmRlZAAAAG5vcm1hbAAAZGVhZAAAAABjcmVhdGUAAHJlc3VtZQAAc3RhdHVzAAB3cmFwAAAAAHlpZWxkAAAAaXN5aWVsZGFibGUAJXM6ICVzIHByZWNvbXBpbGVkIGNodW5rAAAAAHRydW5jYXRlZAAAACVzIHNpemUgbWlzbWF0Y2ggaW4Abm90IGEAAAB2ZXJzaW9uIG1pc21hdGNoIGluAGZvcm1hdCBtaXNtYXRjaCBpbgAAY29ycnVwdGVkAAAAaW50AHNpemVfdAAASW5zdHJ1Y3Rpb24AbHVhX0ludGVnZXIAbHVhX051bWJlcgAAZW5kaWFubmVzcyBtaXNtYXRjaCBpbgAAZmxvYXQgZm9ybWF0IG1pc21hdGNoIGluAAAAAGJpbmFyeSBzdHJpbmcAAAAlcyBleHBlY3RlZABtYWluIGZ1bmN0aW9uAAAAZnVuY3Rpb24gYXQgbGluZSAlZAB0b28gbWFueSAlcyAobGltaXQgaXMgJWQpIGluICVzACVzIGV4cGVjdGVkICh0byBjbG9zZSAlcyBhdCBsaW5lICVkKQAAAABsb2NhbCB2YXJpYWJsZXMAdXB2YWx1ZXMAAAAAQyBsZXZlbHMAAAAAPGdvdG8gJXM+IGF0IGxpbmUgJWQganVtcHMgaW50byB0aGUgc2NvcGUgb2YgbG9jYWwgJyVzJwBsYWJlbHMvZ290b3MAAAAAPCVzPiBhdCBsaW5lICVkIG5vdCBpbnNpZGUgYSBsb29wAAAAbm8gdmlzaWJsZSBsYWJlbCAnJXMnIGZvciA8Z290bz4gYXQgbGluZSAlZABmdW5jdGlvbnMAAAA8bmFtZT4gb3IgJy4uLicgZXhwZWN0ZWQAAAAAc2VsZgAAAABmdW5jdGlvbiBhcmd1bWVudHMgZXhwZWN0ZWQAdW5leHBlY3RlZCBzeW1ib2wAAABjYW5ub3QgdXNlICcuLi4nIG91dHNpZGUgYSB2YXJhcmcgZnVuY3Rpb24AAHN5bnRheCBlcnJvcgAAAABsYWJlbCAnJXMnIGFscmVhZHkgZGVmaW5lZCBvbiBsaW5lICVkAAAAKGZvciBpbmRleCkAKGZvciBsaW1pdCkAKGZvciBzdGVwKQAAKGZvciBnZW5lcmF0b3IpAChmb3Igc3RhdGUpAChmb3IgY29udHJvbCkAAAAnPScgb3IgJ2luJyBleHBlY3RlZAAAAABjb250cm9sIHN0cnVjdHVyZSB0b28gbG9uZwAAb3Bjb2RlcwBmdW5jdGlvbiBvciBleHByZXNzaW9uIG5lZWRzIHRvbyBtYW55IHJlZ2lzdGVycwBjb25zdGFudHMAAABjb25zdHJ1Y3RvciB0b28gbG9uZwAAAABUT1JSRU5UWklQUEVELVhYWFhYWFhYAAAlMDhsWAAAACVzLy56aXAuWFhYWFhYAAAlcy5YWFhYWFgAAAByK2IAUEsFBgAAAABQSwYHAAAAAFRPUlJFTlRaSVBQRUQtAABQSwYGAAAAAFBLAwQAAAAAUEsBAgAAAABObyBlcnJvcgAAAABXcml0ZSBlcnJvcgBpbmNvcnJlY3QgaGVhZGVyIGNoZWNrAAB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZAAAaW52YWxpZCB3aW5kb3cgc2l6ZQB1bmtub3duIGhlYWRlciBmbGFncyBzZXQAAAAAaGVhZGVyIGNyYyBtaXNtYXRjaABpbnZhbGlkIGJsb2NrIHR5cGUAAGludmFsaWQgc3RvcmVkIGJsb2NrIGxlbmd0aHMAAAAAdG9vIG1hbnkgbGVuZ3RoIG9yIGRpc3RhbmNlIHN5bWJvbHMAaW52YWxpZCBjb2RlIGxlbmd0aHMgc2V0AAAAAGludmFsaWQgYml0IGxlbmd0aCByZXBlYXQAAABpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAAAAAaW52YWxpZCBsaXRlcmFsL2xlbmd0aHMgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldAAAAGludmFsaWQgbGl0ZXJhbC9sZW5ndGggY29kZQBpbnZhbGlkIGRpc3RhbmNlIGNvZGUAAABpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawAAAGluY29ycmVjdCBkYXRhIGNoZWNrAAAAAGluY29ycmVjdCBsZW5ndGggY2hlY2sAAG5lZWQgZGljdGlvbmFyeQBzdHJlYW0gZW5kAABmaWxlIGVycm9yAABzdHJlYW0gZXJyb3IAAAAAZGF0YSBlcnJvcgAAaW5zdWZmaWNpZW50IG1lbW9yeQBidWZmZXIgZXJyb3IAAAAAaW5jb21wYXRpYmxlIHZlcnNpb24AAAAAZWFzeSBoYW5kbGUgYWxyZWFkeSB1c2VkIGluIG11bHRpIGhhbmRsZQAAAABVbnN1cHBvcnRlZCBwcm90b2NvbAAAAABGYWlsZWQgaW5pdGlhbGl6YXRpb24AAABVUkwgdXNpbmcgYmFkL2lsbGVnYWwgZm9ybWF0IG9yIG1pc3NpbmcgVVJMAAAAAABBIHJlcXVlc3RlZCBmZWF0dXJlLCBwcm90b2NvbCBvciBvcHRpb24gd2FzIG5vdCBmb3VuZCBidWlsdC1pbiBpbiB0aGlzIGxpYmN1cmwgZHVlIHRvIGEgYnVpbGQtdGltZSBkZWNpc2lvbi4AAAAAQ291bGRuJ3QgcmVzb2x2ZSBwcm94eSBuYW1lAENvdWxkbid0IHJlc29sdmUgaG9zdCBuYW1lAABDb3VsZG4ndCBjb25uZWN0IHRvIHNlcnZlcgAAV2VpcmQgc2VydmVyIHJlcGx5AABBY2Nlc3MgZGVuaWVkIHRvIHJlbW90ZSByZXNvdXJjZQAAAABGVFA6IFRoZSBzZXJ2ZXIgZmFpbGVkIHRvIGNvbm5lY3QgdG8gZGF0YSBwb3J0AABGVFA6IEFjY2VwdGluZyBzZXJ2ZXIgY29ubmVjdCBoYXMgdGltZWQgb3V0AEZUUDogVGhlIHNlcnZlciBkaWQgbm90IGFjY2VwdCB0aGUgUFJFVCBjb21tYW5kLgAAAABGVFA6IHVua25vd24gUEFTUyByZXBseQBGVFA6IHVua25vd24gUEFTViByZXBseQBGVFA6IHVua25vd24gMjI3IHJlc3BvbnNlIGZvcm1hdAAAAABGVFA6IGNhbid0IGZpZ3VyZSBvdXQgdGhlIGhvc3QgaW4gdGhlIFBBU1YgcmVzcG9uc2UARXJyb3IgaW4gdGhlIEhUVFAyIGZyYW1pbmcgbGF5ZXIAAAAARlRQOiBjb3VsZG4ndCBzZXQgZmlsZSB0eXBlAFRyYW5zZmVycmVkIGEgcGFydGlhbCBmaWxlAABGVFA6IGNvdWxkbid0IHJldHJpZXZlIChSRVRSIGZhaWxlZCkgdGhlIHNwZWNpZmllZCBmaWxlAFF1b3RlIGNvbW1hbmQgcmV0dXJuZWQgZXJyb3IAAAAASFRUUCByZXNwb25zZSBjb2RlIHNhaWQgZXJyb3IAAABGYWlsZWQgd3JpdGluZyByZWNlaXZlZCBkYXRhIHRvIGRpc2svYXBwbGljYXRpb24AAAAAVXBsb2FkIGZhaWxlZCAoYXQgc3RhcnQvYmVmb3JlIGl0IHRvb2sgb2ZmKQBGYWlsZWQgdG8gb3Blbi9yZWFkIGxvY2FsIGRhdGEgZnJvbSBmaWxlL2FwcGxpY2F0aW9uAAAAAE91dCBvZiBtZW1vcnkAAABUaW1lb3V0IHdhcyByZWFjaGVkAEZUUDogY29tbWFuZCBQT1JUIGZhaWxlZAAAAABGVFA6IGNvbW1hbmQgUkVTVCBmYWlsZWQAAAAAUmVxdWVzdGVkIHJhbmdlIHdhcyBub3QgZGVsaXZlcmVkIGJ5IHRoZSBzZXJ2ZXIASW50ZXJuYWwgcHJvYmxlbSBzZXR0aW5nIHVwIHRoZSBQT1NUAAAAAFNTTCBjb25uZWN0IGVycm9yAAAAQ291bGRuJ3QgcmVzdW1lIGRvd25sb2FkAAAAAENvdWxkbid0IHJlYWQgYSBmaWxlOi8vIGZpbGUAAAAATERBUDogY2Fubm90IGJpbmQAAABMREFQOiBzZWFyY2ggZmFpbGVkAEEgcmVxdWlyZWQgZnVuY3Rpb24gaW4gdGhlIGxpYnJhcnkgd2FzIG5vdCBmb3VuZAAAAABPcGVyYXRpb24gd2FzIGFib3J0ZWQgYnkgYW4gYXBwbGljYXRpb24gY2FsbGJhY2sAAAAAQSBsaWJjdXJsIGZ1bmN0aW9uIHdhcyBnaXZlbiBhIGJhZCBhcmd1bWVudABGYWlsZWQgYmluZGluZyBsb2NhbCBjb25uZWN0aW9uIGVuZABOdW1iZXIgb2YgcmVkaXJlY3RzIGhpdCBtYXhpbXVtIGFtb3VudAAAQW4gdW5rbm93biBvcHRpb24gd2FzIHBhc3NlZCBpbiB0byBsaWJjdXJsAABNYWxmb3JtZWQgdGVsbmV0IG9wdGlvbgBTU0wgcGVlciBjZXJ0aWZpY2F0ZSBvciBTU0ggcmVtb3RlIGtleSB3YXMgbm90IE9LAAAAU2VydmVyIHJldHVybmVkIG5vdGhpbmcgKG5vIGhlYWRlcnMsIG5vIGRhdGEpAAAAU1NMIGNyeXB0byBlbmdpbmUgbm90IGZvdW5kAENhbiBub3Qgc2V0IFNTTCBjcnlwdG8gZW5naW5lIGFzIGRlZmF1bHQAAAAARmFpbGVkIHRvIGluaXRpYWxpc2UgU1NMIGNyeXB0byBlbmdpbmUAAEZhaWxlZCBzZW5kaW5nIGRhdGEgdG8gdGhlIHBlZXIARmFpbHVyZSB3aGVuIHJlY2VpdmluZyBkYXRhIGZyb20gdGhlIHBlZXIAAABQcm9ibGVtIHdpdGggdGhlIGxvY2FsIFNTTCBjZXJ0aWZpY2F0ZQAAQ291bGRuJ3QgdXNlIHNwZWNpZmllZCBTU0wgY2lwaGVyAAAAAAAAAFBlZXIgY2VydGlmaWNhdGUgY2Fubm90IGJlIGF1dGhlbnRpY2F0ZWQgd2l0aCBnaXZlbiBDQSBjZXJ0aWZpY2F0ZXMAUHJvYmxlbSB3aXRoIHRoZSBTU0wgQ0EgY2VydCAocGF0aD8gYWNjZXNzIHJpZ2h0cz8pAFVucmVjb2duaXplZCBvciBiYWQgSFRUUCBDb250ZW50IG9yIFRyYW5zZmVyLUVuY29kaW5nAAAASW52YWxpZCBMREFQIFVSTAAAAABNYXhpbXVtIGZpbGUgc2l6ZSBleGNlZWRlZAAAUmVxdWVzdGVkIFNTTCBsZXZlbCBmYWlsZWQAAEZhaWxlZCB0byBzaHV0IGRvd24gdGhlIFNTTCBjb25uZWN0aW9uAABGYWlsZWQgdG8gbG9hZCBDUkwgZmlsZSAocGF0aD8gYWNjZXNzIHJpZ2h0cz8sIGZvcm1hdD8pAElzc3VlciBjaGVjayBhZ2FpbnN0IHBlZXIgY2VydGlmaWNhdGUgZmFpbGVkAAAAAFNlbmQgZmFpbGVkIHNpbmNlIHJld2luZGluZyBvZiB0aGUgZGF0YSBzdHJlYW0gZmFpbGVkAAAATG9naW4gZGVuaWVkAAAAAFRGVFA6IEZpbGUgTm90IEZvdW5kAAAAAFRGVFA6IEFjY2VzcyBWaW9sYXRpb24AAERpc2sgZnVsbCBvciBhbGxvY2F0aW9uIGV4Y2VlZGVkAAAAAFRGVFA6IElsbGVnYWwgb3BlcmF0aW9uAFRGVFA6IFVua25vd24gdHJhbnNmZXIgSUQAAABSZW1vdGUgZmlsZSBhbHJlYWR5IGV4aXN0cwAAVEZUUDogTm8gc3VjaCB1c2VyAABDb252ZXJzaW9uIGZhaWxlZAAAAENhbGxlciBtdXN0IHJlZ2lzdGVyIENVUkxPUFRfQ09OVl8gY2FsbGJhY2sgb3B0aW9ucwBSZW1vdGUgZmlsZSBub3QgZm91bmQAAABFcnJvciBpbiB0aGUgU1NIIGxheWVyAABTb2NrZXQgbm90IHJlYWR5IGZvciBzZW5kL3JlY3YAAFJUU1AgQ1NlcSBtaXNtYXRjaCBvciBpbnZhbGlkIENTZXEAAFJUU1Agc2Vzc2lvbiBlcnJvcgAAVW5hYmxlIHRvIHBhcnNlIEZUUCBmaWxlIGxpc3QAAABDaHVuayBjYWxsYmFjayBmYWlsZWQAAABUaGUgbWF4IGNvbm5lY3Rpb24gbGltaXQgaXMgcmVhY2hlZABTU0wgcHVibGljIGtleSBkb2VzIG5vdCBtYXRjaCBwaW5uZWQgcHVibGljIGtleQBTU0wgc2VydmVyIGNlcnRpZmljYXRlIHN0YXR1cyB2ZXJpZmljYXRpb24gRkFJTEVEAAAAU3RyZWFtIGVycm9yIGluIHRoZSBIVFRQLzIgZnJhbWluZyBsYXllcgAAAABVbmtub3duIGVycm9yAAAAQ2FsbCBpbnRlcnJ1cHRlZAAAAABCYWQgZmlsZQAAAABCYWQgYWNjZXNzAABCYWQgYXJndW1lbnQAAAAASW52YWxpZCBhcmd1bWVudHMAAABPdXQgb2YgZmlsZSBkZXNjcmlwdG9ycwBDYWxsIHdvdWxkIGJsb2NrAAAAAEJsb2NraW5nIGNhbGwgaW4gcHJvZ3Jlc3MAAABEZXNjcmlwdG9yIGlzIG5vdCBhIHNvY2tldAAATmVlZCBkZXN0aW5hdGlvbiBhZGRyZXNzAAAAAEJhZCBtZXNzYWdlIHNpemUAAAAAQmFkIHByb3RvY29sAAAAAFByb3RvY29sIG9wdGlvbiBpcyB1bnN1cHBvcnRlZAAAUHJvdG9jb2wgaXMgdW5zdXBwb3J0ZWQAU29ja2V0IGlzIHVuc3VwcG9ydGVkAAAAT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZAAAAABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZAAAAEFkZHJlc3MgYWxyZWFkeSBpbiB1c2UAAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQAAAE5ldHdvcmsgZG93bgAAAABOZXR3b3JrIHVucmVhY2hhYmxlAE5ldHdvcmsgaGFzIGJlZW4gcmVzZXQAAENvbm5lY3Rpb24gd2FzIGFib3J0ZWQAAENvbm5lY3Rpb24gd2FzIHJlc2V0AAAAAE5vIGJ1ZmZlciBzcGFjZQBTb2NrZXQgaXMgYWxyZWFkeSBjb25uZWN0ZWQAU29ja2V0IGlzIG5vdCBjb25uZWN0ZWQAU29ja2V0IGhhcyBiZWVuIHNodXQgZG93bgAAAFRvbyBtYW55IHJlZmVyZW5jZXMAVGltZWQgb3V0AAAAQ29ubmVjdGlvbiByZWZ1c2VkAABMb29wPz8AAE5hbWUgdG9vIGxvbmcAAABIb3N0IGRvd24AAABIb3N0IHVucmVhY2hhYmxlAAAAAE5vdCBlbXB0eQAAAFByb2Nlc3MgbGltaXQgcmVhY2hlZAAAAFRvbyBtYW55IHVzZXJzAABCYWQgcXVvdGEAAABTb21ldGhpbmcgaXMgc3RhbGUAAFJlbW90ZSBlcnJvcgAAAABEaXNjb25uZWN0ZWQAAAAAV2luc29jayBsaWJyYXJ5IGlzIG5vdCByZWFkeQAAAABXaW5zb2NrIGxpYnJhcnkgbm90IGluaXRpYWxpc2VkAFdpbnNvY2sgdmVyc2lvbiBub3Qgc3VwcG9ydGVkAAAASG9zdCBub3QgZm91bmQAAEhvc3Qgbm90IGZvdW5kLCB0cnkgYWdhaW4AAABVbnJlY292ZXJhYmxlIGVycm9yIGluIGNhbGwgdG8gbmFtZXNlcnZlcgAAAE5vIGRhdGEgcmVjb3JkIG9mIHJlcXVlc3RlZCB0eXBlAAAAAFVua25vd24gZXJyb3IgJWQgKCUjeCkAAENSWVBUX0VfUkVWT0tFRABTRUNfRV9BTEdPUklUSE1fTUlTTUFUQ0gAAAAAU0VDX0VfQkFEX0JJTkRJTkdTAABTRUNfRV9CQURfUEtHSUQAU0VDX0VfQlVGRkVSX1RPT19TTUFMTAAAU0VDX0VfQ0FOTk9UX0lOU1RBTEwAAAAAU0VDX0VfQ0FOTk9UX1BBQ0sAAABTRUNfRV9DRVJUX0VYUElSRUQAAFNFQ19FX0NFUlRfVU5LTk9XTgAAU0VDX0VfQ0VSVF9XUk9OR19VU0FHRQAAU0VDX0VfQ09OVEVYVF9FWFBJUkVEAAAAU0VDX0VfQ1JPU1NSRUFMTV9ERUxFR0FUSU9OX0ZBSUxVUkUAU0VDX0VfQ1JZUFRPX1NZU1RFTV9JTlZBTElEAFNFQ19FX0RFQ1JZUFRfRkFJTFVSRQAAAFNFQ19FX0RFTEVHQVRJT05fUE9MSUNZAFNFQ19FX0RFTEVHQVRJT05fUkVRVUlSRUQAAABTRUNfRV9ET1dOR1JBREVfREVURUNURUQAAAAAU0VDX0VfRU5DUllQVF9GQUlMVVJFAAAAU0VDX0VfSUxMRUdBTF9NRVNTQUdFAAAAU0VDX0VfSU5DT01QTEVURV9DUkVERU5USUFMUwAAAABTRUNfRV9JTkNPTVBMRVRFX01FU1NBR0UAAAAAU0VDX0VfSU5TVUZGSUNJRU5UX01FTU9SWQAAAFNFQ19FX0lOVEVSTkFMX0VSUk9SAAAAAFNFQ19FX0lOVkFMSURfSEFORExFAAAAAFNFQ19FX0lOVkFMSURfUEFSQU1FVEVSAFNFQ19FX0lOVkFMSURfVE9LRU4AU0VDX0VfSVNTVUlOR19DQV9VTlRSVVNURUQAAFNFQ19FX0lTU1VJTkdfQ0FfVU5UUlVTVEVEX0tEQwAAU0VDX0VfS0RDX0NFUlRfRVhQSVJFRAAAU0VDX0VfS0RDX0NFUlRfUkVWT0tFRAAAU0VDX0VfS0RDX0lOVkFMSURfUkVRVUVTVAAAAFNFQ19FX0tEQ19VTkFCTEVfVE9fUkVGRVIAAABTRUNfRV9LRENfVU5LTk9XTl9FVFlQRQBTRUNfRV9MT0dPTl9ERU5JRUQAAFNFQ19FX01BWF9SRUZFUlJBTFNfRVhDRUVERUQAAAAAU0VDX0VfTUVTU0FHRV9BTFRFUkVEAAAAU0VDX0VfTVVMVElQTEVfQUNDT1VOVFMAU0VDX0VfTVVTVF9CRV9LREMAAABTRUNfRV9OT1RfT1dORVIAU0VDX0VfTk9fQVVUSEVOVElDQVRJTkdfQVVUSE9SSVRZAAAAU0VDX0VfTk9fQ1JFREVOVElBTFMAAAAAU0VDX0VfTk9fSU1QRVJTT05BVElPTgAAU0VDX0VfTk9fSVBfQUREUkVTU0VTAAAAU0VDX0VfTk9fS0VSQl9LRVkAAABTRUNfRV9OT19QQV9EQVRBAAAAAFNFQ19FX05PX1M0VV9QUk9UX1NVUFBPUlQAAABTRUNfRV9OT19UR1RfUkVQTFkAAFNFQ19FX09VVF9PRl9TRVFVRU5DRQAAAFNFQ19FX1BLSU5JVF9DTElFTlRfRkFJTFVSRQBTRUNfRV9QS0lOSVRfTkFNRV9NSVNNQVRDSAAAU0VDX0VfUE9MSUNZX05MVE1fT05MWQAAU0VDX0VfUU9QX05PVF9TVVBQT1JURUQAU0VDX0VfUkVWT0NBVElPTl9PRkZMSU5FX0MAAFNFQ19FX1JFVk9DQVRJT05fT0ZGTElORV9LREMAAAAAU0VDX0VfU0VDUEtHX05PVF9GT1VORAAAU0VDX0VfU0VDVVJJVFlfUU9TX0ZBSUxFRAAAAFNFQ19FX1NIVVRET1dOX0lOX1BST0dSRVNTAABTRUNfRV9TTUFSVENBUkRfQ0VSVF9FWFBJUkVEAAAAAFNFQ19FX1NNQVJUQ0FSRF9DRVJUX1JFVk9LRUQAAAAAU0VDX0VfU01BUlRDQVJEX0xPR09OX1JFUVVJUkVEAABTRUNfRV9TVFJPTkdfQ1JZUFRPX05PVF9TVVBQT1JURUQAAABTRUNfRV9UQVJHRVRfVU5LTk9XTgAAAABTRUNfRV9USU1FX1NLRVcAU0VDX0VfVE9PX01BTllfUFJJTkNJUEFMUwAAAFNFQ19FX1VORklOSVNIRURfQ09OVEVYVF9ERUxFVEVEAAAAAFNFQ19FX1VOS05PV05fQ1JFREVOVElBTFMAAABTRUNfRV9VTlNVUFBPUlRFRF9GVU5DVElPTgAAU0VDX0VfVU5TVVBQT1JURURfUFJFQVVUSAAAAFNFQ19FX1VOVFJVU1RFRF9ST09UAAAAAFNFQ19FX1dST05HX0NSRURFTlRJQUxfSEFORExFAAAAU0VDX0VfV1JPTkdfUFJJTkNJUEFMAAAAU0VDX0lfQ09NUExFVEVfQU5EX0NPTlRJTlVFAFNFQ19JX0NPTVBMRVRFX05FRURFRAAAAFNFQ19JX0NPTlRFWFRfRVhQSVJFRAAAAFNFQ19JX0NPTlRJTlVFX05FRURFRAAAAFNFQ19JX0lOQ09NUExFVEVfQ1JFREVOVElBTFMAAAAAU0VDX0lfTE9DQUxfTE9HT04AAABTRUNfSV9OT19MU0FfQ09OVEVYVAAAAABTRUNfSV9SRU5FR09USUFURQAAAFNFQ19JX1NJR05BVFVSRV9ORUVERUQAAAAAAABTRUNfRV9JTExFR0FMX01FU1NBR0UgKDB4JTA4WCkgLSBUaGlzIGVycm9yIHVzdWFsbHkgb2NjdXJzIHdoZW4gYSBmYXRhbCBTU0wvVExTIGFsZXJ0IGlzIHJlY2VpdmVkIChlLmcuIGhhbmRzaGFrZSBmYWlsZWQpLiBNb3JlIGRldGFpbCBtYXkgYmUgYXZhaWxhYmxlIGluIHRoZSBXaW5kb3dzIFN5c3RlbSBldmVudCBsb2cuAAAAACVzICgweCUwOFgpACVzIC0gJXMAQ29ubmVjdGlvbiBjYWNoZSBpcyBmdWxsLCBjbG9zaW5nIHRoZSBvbGRlc3Qgb25lLgoAAENvbm5lY3Rpb24gIyVsZCB0byBob3N0ICVzIGxlZnQgaW50YWN0CgBSZS11c2VkIGNvbm5lY3Rpb24gc2VlbXMgZGVhZCwgZ2V0IGEgbmV3IG9uZQoAAABQaXBlIGJyb2tlOiBoYW5kbGUgJXAsIHVybCA9ICVzCgAAAABJbiBzdGF0ZSAlZCB3aXRoIG5vIGVhc3lfY29ubiwgYmFpbCBvdXQhCgAAAFJlc29sdmluZyB0aW1lZCBvdXQgYWZ0ZXIgJWxkIG1pbGxpc2Vjb25kcwAAQ29ubmVjdGlvbiB0aW1lZCBvdXQgYWZ0ZXIgJWxkIG1pbGxpc2Vjb25kcwAAAAAAT3BlcmF0aW9uIHRpbWVkIG91dCBhZnRlciAlbGQgbWlsbGlzZWNvbmRzIHdpdGggJUk2NGQgb3V0IG9mICVJNjRkIGJ5dGVzIHJlY2VpdmVkAAAAAAAAAE9wZXJhdGlvbiB0aW1lZCBvdXQgYWZ0ZXIgJWxkIG1pbGxpc2Vjb25kcyB3aXRoICVJNjRkIGJ5dGVzIHJlY2VpdmVkAAAAAEhvc3RuYW1lICclcycgd2FzIGZvdW5kIGluIEROUyBjYWNoZQoAAABJbnRlcm5hbCBlcnJvciByZW1vdmluZyBzcGxheSBub2RlID0gJWQKAAAAAEludGVybmFsIGVycm9yIGNsZWFyaW5nIHNwbGF5IG5vZGUgPSAlZAoAAAAAcwBlAGMAdQByAGkAdAB5AC4AZABsAGwAAAAAAHMAZQBjAHUAcgAzADIALgBkAGwAbAAAAEluaXRTZWN1cml0eUludGVyZmFjZVcAAAAAAABTZW5kIGZhaWx1cmU6ICVzAAAAAFJlY3YgZmFpbHVyZTogJXMAAAAAV3JpdGUgY2FsbGJhY2sgYXNrZWQgZm9yIFBBVVNFIHdoZW4gbm90IHN1cHBvcnRlZCEAAEZhaWxlZCB3cml0aW5nIGJvZHkgKCV6dSAhPSAlenUpAAAAAEZhaWxlZCB3cml0aW5nIGhlYWRlcgAAAERhdGEAAAAASGVhZGVyAABmcm9tAAAAAHRvAABbJXMgJXMgJXNdAABGYWlsZWQgdG8gc2V0IFNPX0tFRVBBTElWRSBvbiBmZCAlZAoAAAAARmFpbGVkIHRvIHNldCBTSU9fS0VFUEFMSVZFX1ZBTFMgb24gZmQgJWQ6ICVkCgAAaWYhAGhvc3QhAAAAQ291bGRuJ3QgYmluZCB0byBpbnRlcmZhY2UgJyVzJwBOYW1lICclcycgZmFtaWx5ICVpIHJlc29sdmVkIHRvICclcycgZmFtaWx5ICVpCgBDb3VsZG4ndCBiaW5kIHRvICclcycAAABnZXRzb2NrbmFtZSgpIGZhaWxlZCB3aXRoIGVycm5vICVkOiAlcwAATG9jYWwgcG9ydDogJWh1CgAAAABCaW5kIHRvIGxvY2FsIHBvcnQgJWh1IGZhaWxlZCwgdHJ5aW5nIG5leHQKAGJpbmQgZmFpbGVkIHdpdGggZXJybm8gJWQ6ICVzAAAAZ2V0cGVlcm5hbWUoKSBmYWlsZWQgd2l0aCBlcnJubyAlZDogJXMAAHNzcmVtIGluZXRfbnRvcCgpIGZhaWxlZCB3aXRoIGVycm5vICVkOiAlcwAAc3Nsb2MgaW5ldF9udG9wKCkgZmFpbGVkIHdpdGggZXJybm8gJWQ6ICVzAABDb25uZWN0aW9uIHRpbWUtb3V0AEFmdGVyICVsZG1zIGNvbm5lY3QgdGltZSwgbW92ZSBvbiEKAENvbm5lY3Rpb24gZmFpbGVkCgAAY29ubmVjdCB0byAlcyBwb3J0ICVsZCBmYWlsZWQ6ICVzCgAARmFpbGVkIHRvIGNvbm5lY3QgdG8gJXMgcG9ydCAlbGQ6ICVzAAAAAENvdWxkIG5vdCBzZXQgVENQX05PREVMQVk6ICVzCgAAVENQX05PREVMQVkgc2V0CgAAAABzYV9hZGRyIGluZXRfbnRvcCgpIGZhaWxlZCB3aXRoIGVycm5vICVkOiAlcwAAAAAgIFRyeWluZyAlcy4uLgoASW1tZWRpYXRlIGNvbm5lY3QgZmFpbCBmb3IgJXM6ICVzCgAAJXM6JWQAAABIb3N0bmFtZSBpbiBETlMgY2FjaGUgd2FzIHN0YWxlLCB6YXBwZWQKAAAAAEhvc3RuYW1lICVzIHdhcyBmb3VuZCBpbiBETlMgY2FjaGUKACUyNTVbXjpdOiVkAENvdWxkbid0IHBhcnNlIENVUkxPUFRfUkVTT0xWRSByZW1vdmFsIGVudHJ5ICclcychCgAlMjU1W146XTolZDolMjU1cwAAAENvdWxkbid0IHBhcnNlIENVUkxPUFRfUkVTT0xWRSBlbnRyeSAnJXMnIQoAQWRkcmVzcyBpbiAnJXMnIGZvdW5kIGlsbGVnYWwhCgBBZGRlZCAlczolZDolcyB0byBETlMgY2FjaGUKAAAAADxubyBwcm90b2NvbD4AAABpZGVudGl0eQAAAABBTEwAU0VTUwAAAABGTFVTSAAAAFJFTE9BRAAAU2V0LUNvb2tpZToAQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCBubyBsb25nZXIgc3VwcG9ydHMgMSBhcyB2YWx1ZSEAAABDbG9zaW5nIGNvbm5lY3Rpb24gJWxkCgBDb25uZWN0aW9uICVsZCBzZWVtcyB0byBiZSBkZWFkIQoAAABjYW4gcGlwZWxpbmUAAAAAY2FuIG11bHRpcGxleAAAAHNlcmlhbGx5AAAAAEZvdW5kIGJ1bmRsZSBmb3IgaG9zdCAlczogJXAgWyVzXQoAAFNlcnZlciBkb2Vzbid0IHN1cHBvcnQgbXVsdGktdXNlIHlldCwgd2FpdAoAU2VydmVyIGRvZXNuJ3Qgc3VwcG9ydCBtdWx0aS11c2UgKHlldCkKAENvdWxkIHBpcGVsaW5lLCBidXQgbm90IGFza2VkIHRvIQoAAENvdWxkIG11bHRpcGxleCwgYnV0IG5vdCBhc2tlZCB0byEKAENvbm5lY3Rpb24gIyVsZCBpcyBzdGlsbCBuYW1lIHJlc29sdmluZywgY2FuJ3QgcmV1c2UKAAAAQ29ubmVjdGlvbiAjJWxkIGlzbid0IG9wZW4gZW5vdWdoLCBjYW4ndCByZXVzZQoAUGlwZSBpcyBmdWxsLCBza2lwICglenUpCgAAAFBlbmFsaXplZCwgc2tpcAoAAAAATXVsdGlwbGV4ZWQgY29ubmVjdGlvbiBmb3VuZCEKAABGb3VuZCBwZW5kaW5nIGNhbmRpZGF0ZSBmb3IgcmV1c2UgYW5kIENVUkxPUFRfUElQRVdBSVQgaXMgc2V0CgAAdW5rbm93biBwcm94eXR5cGUgb3B0aW9uIGdpdmVuAABDb25uZWN0ZWQgdG8gJXMgKCVzKSBwb3J0ICVsZCAoIyVsZCkKAAAASUROIHN1cHBvcnQgbm90IHByZXNlbnQsIGNhbid0IHBhcnNlIFVuaWNvZGUgZG9tYWlucwoAAABQcm90b2NvbCAiJXMiIG5vdCBzdXBwb3J0ZWQgb3IgZGlzYWJsZWQgaW4gbGliY3VybAAASWxsZWdhbCBjaGFyYWN0ZXJzIGZvdW5kIGluIFVSTABCYWQgVVJMLCBjb2xvbiBpcyBmaXJzdCBjaGFyYWN0ZXIAAABmaWxlOgAAACUqMTVbXgovOl06JVteCl0AAAAAJVteCl0AAABCYWQgVVJMAGxvY2FsaG9zdC8AADEyNy4wLjAuMS8AAAAAAABJbnZhbGlkIGZpbGU6Ly9ob3N0bmFtZS8sIGV4cGVjdGVkIGxvY2FsaG9zdCBvciAxMjcuMC4wLjEgb3Igbm9uZQAAACUxNVteCi86XTolM1svXSVbXgovPyNdJVteCl0AAAAAJVteCi8/I10lW14KXQAAADx1cmw+IG1hbGZvcm1lZABGVFAuAAAAAGZ0cABESUNULgAAAERJQ1QAAAAATERBUC4AAABMREFQAAAAAElNQVAuAAAASU1BUAAAAABTTVRQLgAAAHNtdHAAAAAAUE9QMy4AAABwb3AzAAAAAGVzAABVbndpbGxpbmdseSBhY2NlcHRlZCBpbGxlZ2FsIFVSTCB1c2luZyAlZCBzbGFzaCVzIQoAJXM6Ly8lcyVzAAAAUmVidWlsdCBVUkwgdG86ICVzCgAlMjUAUGxlYXNlIFVSTCBlbmNvZGUgJSUgYXMgJSUyNSwgc2VlIFJGQyA2ODc0LgoAAAAASW52YWxpZCBJUHY2IGFkZHJlc3MgZm9ybWF0CgAAAAAlSTY0dS0AACwgAAAqAAAAX3Byb3h5AABodHRwX3Byb3h5AABhbGxfcHJveHkAAABBTExfUFJPWFkAAAA6Ly8AaHR0cHMAAABzb2NrczVoAHNvY2tzNQAAc29ja3M0YQBzb2NrczQAAHNvY2tzAAAAaHR0cDoAAABVbnN1cHBvcnRlZCBwcm94eSBzY2hlbWUgZm9yICclcycAAABVbnN1cHBvcnRlZCBwcm94eSAnJXMnLCBsaWJjdXJsIGlzIGJ1aWx0IHdpdGhvdXQgdGhlIEhUVFBTLXByb3h5IHN1cHBvcnQuAAAATm8gdmFsaWQgcG9ydCBudW1iZXIgaW4gcHJveHkgc3RyaW5nICglcykKAABbJSo0NVswMTIzNDU2Nzg5YWJjZGVmQUJDREVGOi5dJWMAAAA7dHlwZT0lYwAAAABdAAAAWwAAACVzOi8vJXMlcyVzOiVodSVzJXMlcwAAAFBvcnQgbnVtYmVyIG91dCBvZiByYW5nZQAAAABJbGxlZ2FsIHBvcnQgbnVtYmVyAENvdWxkbid0IGZpbmQgaG9zdCAlcyBpbiB0aGUgX25ldHJjIGZpbGU7IHVzaW5nIGRlZmF1bHRzCgAAAGFub255bW91cwAAAGZ0cEBleGFtcGxlLmNvbQBObyB2YWxpZCBwb3J0IG51bWJlciBpbiBjb25uZWN0IHRvIGhvc3Qgc3RyaW5nICglcykKAAAAACVzJXMlcwAAQ29ubmVjdGluZyB0byBob3N0bmFtZTogJXMKAENvbm5lY3RpbmcgdG8gcG9ydDogJWQKAENvdWxkbid0IHJlc29sdmUgaG9zdCAnJXMnAABDb3VsZG4ndCByZXNvbHZlIHByb3h5ICclcycAJXM6Ly8lcwBtZW1vcnkgc2hvcnRhZ2UAbm9fcHJveHkAAAAATk9fUFJPWFkAAAAARm91bmQgY29ubmVjdGlvbiAlbGQsIHdpdGggcmVxdWVzdHMgaW4gdGhlIHBpcGUgKCV6dSkKAABXZSBjYW4gcmV1c2UsIGJ1dCB3ZSB3YW50IGEgbmV3IGNvbm5lY3Rpb24gYW55d2F5CgAAcHJveHkAAABSZS11c2luZyBleGlzdGluZyBjb25uZWN0aW9uISAoIyVsZCkgd2l0aCAlcyAlcwoAAAAATm8gbW9yZSBjb25uZWN0aW9ucyBhbGxvd2VkIHRvIGhvc3Q6ICVkCgAAAABObyBjb25uZWN0aW9ucyBhdmFpbGFibGUgaW4gY2FjaGUKAABObyBjb25uZWN0aW9ucyBhdmFpbGFibGUuCgAATlRMTSBwaWNrZWQgQU5EIGF1dGggZG9uZSBzZXQsIGNsZWFyIHBpY2tlZCEKAAAATlRMTS1wcm94eSBwaWNrZWQgQU5EIGF1dGggZG9uZSBzZXQsIGNsZWFyIHBpY2tlZCEKAFVzZXItQWdlbnQ6ICVzDQoAAAAAaWdub3JpbmcgZmFpbGVkIGNvb2tpZV9pbml0IGZvciAlcwoAJTEwMjNbXjsNCj1dID0lNDk5OVteOw0KXQAAAHNlY3VyZQAAaHR0cG9ubHkAAAAAZG9tYWluAABsb2NhbGhvc3QAAAA6AAAAc2tpcHBlZCBjb29raWUgd2l0aCBiYWQgdGFpbG1hdGNoIGRvbWFpbjogJXMKAAAAdmVyc2lvbgBtYXgtYWdlAGV4cGlyZXMAI0h0dHBPbmx5XwAAVFJVRQAAAABGQUxTRQAAAFJlcGxhY2VkAAAAAEFkZGVkAAAAJXMgY29va2llICVzPSIlcyIgZm9yIGRvbWFpbiAlcywgcGF0aCAlcywgZXhwaXJlICVJNjRkCgBub25lAAAAAHJ0AAB1bmtub3duACVzJXMlcwklcwklcwklcwklSTY0ZAklcwklcwB3dAAAIyBOZXRzY2FwZSBIVFRQIENvb2tpZSBGaWxlCiMgaHR0cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9odHRwLWNvb2tpZXMuaHRtbAojIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IGxpYmN1cmwhIEVkaXQgYXQgeW91ciBvd24gcmlzay4KCgAAAAAjCiMgRmF0YWwgbGliY3VybCBlcnJvcgoAAAAAV0FSTklORzogZmFpbGVkIHRvIHNhdmUgY29va2llcyBpbiAlcwoAACVkAABDb3VsZCBub3QgcmVzb2x2ZSAlczogJXMAAAAAaW5pdF9yZXNvbHZlX3RocmVhZCgpIGZhaWxlZCBmb3IgJXM7ICVzCgAAAABnZXRhZGRyaW5mbygpIGZhaWxlZCBmb3IgJXM6JWQ7ICVzCgBVbnJlY29nbml6ZWQgcGFyYW1ldGVyIHZhbHVlIHBhc3NlZCB2aWEgQ1VSTE9QVF9TU0xWRVJTSU9OAAAlczoAbGliY3VybC83LjUzLjEtREVWAAA3LjUzLjEtREVWAABpMzg2LXBjLXdpbjMyAAAASTMyAEk2NAAlbGQALiVsZAAAAAAlczolbGQAAG9wZXJhdGlvbiBhYm9ydGVkIGJ5IGNhbGxiYWNrAAAAUmVhZCBjYWxsYmFjayBhc2tlZCBmb3IgUEFVU0Ugd2hlbiBub3Qgc3VwcG9ydGVkIQAAAHJlYWQgZnVuY3Rpb24gcmV0dXJuZWQgZnVubnkgdmFsdWUAACV4JXMAAAAAc2VlayBjYWxsYmFjayByZXR1cm5lZCBlcnJvciAlZAB0aGUgaW9jdGwgY2FsbGJhY2sgcmV0dXJuZWQgJWQKAGlvY3RsIGNhbGxiYWNrIHJldHVybmVkIGVycm9yICVkAAAAAG5lY2Vzc2FyeSBkYXRhIHJld2luZCB3YXNuJ3QgcG9zc2libGUAAABUaGUgcmVxdWVzdGVkIGRvY3VtZW50IGlzIG5vdCBuZXcgZW5vdWdoCgAAAFRoZSByZXF1ZXN0ZWQgZG9jdW1lbnQgaXMgbm90IG9sZCBlbm91Z2gKAAAAUmV3aW5kaW5nIHN0cmVhbSBieSA6ICV6ZCBieXRlcyBvbiB1cmwgJXMgKHplcm8tbGVuZ3RoIGJvZHkpCgAAAEV4Y2VzcyBmb3VuZCBpbiBhIG5vbiBwaXBlbGluZWQgcmVhZDogZXhjZXNzID0gJXpkIHVybCA9ICVzICh6ZXJvLWxlbmd0aCBib2R5KQoASWdub3JpbmcgdGhlIHJlc3BvbnNlLWJvZHkKAFRoZSBlbnRpcmUgZG9jdW1lbnQgaXMgYWxyZWFkeSBkb3dubG9hZGVkAAAASFRUUCBzZXJ2ZXIgZG9lc24ndCBzZWVtIHRvIHN1cHBvcnQgYnl0ZSByYW5nZXMuIENhbm5vdCByZXN1bWUuAFNpbXVsYXRlIGEgSFRUUCAzMDQgcmVzcG9uc2UhCgAARmFpbGVkIHdyaXRpbmcgZGF0YQAlcyBpbiBjaHVua2VkLWVuY29kaW5nAABMZWZ0b3ZlcnMgYWZ0ZXIgY2h1bmtpbmc6ICV6dSBieXRlcwoAAAAAUmV3aW5kaW5nICV6dSBieXRlcwoAAAAAAAAAAFJld2luZGluZyBzdHJlYW0gYnkgOiAlenUgYnl0ZXMgb24gdXJsICVzIChzaXplID0gJUk2NGQsIG1heGRvd25sb2FkID0gJUk2NGQsIGJ5dGVjb3VudCA9ICVJNjRkLCBucmVhZCA9ICV6ZCkKAABFeGNlc3MgZm91bmQgaW4gYSBub24gcGlwZWxpbmVkIHJlYWQ6IGV4Y2VzcyA9ICV6dSwgc2l6ZSA9ICVJNjRkLCBtYXhkb3dubG9hZCA9ICVJNjRkLCBieXRlY291bnQgPSAlSTY0ZAoAAAB3ZSBhcmUgZG9uZSByZWFkaW5nIGFuZCB0aGlzIGlzIHNldCB0byBjbG9zZSwgc3RvcCBzZW5kCgAAAABGYWlsZWQgdG8gYWxsb2Mgc2NyYXRjaCBidWZmZXIhAFdlIGFyZSBjb21wbGV0ZWx5IHVwbG9hZGVkIGFuZCBmaW5lCgAAAABzZWxlY3QvcG9sbCByZXR1cm5lZCBlcnJvcgAARG9uZSB3YWl0aW5nIGZvciAxMDAtY29udGludWUKAAB0cmFuc2ZlciBjbG9zZWQgd2l0aCAlSTY0ZCBieXRlcyByZW1haW5pbmcgdG8gcmVhZAAAdHJhbnNmZXIgY2xvc2VkIHdpdGggb3V0c3RhbmRpbmcgcmVhZCBkYXRhIHJlbWFpbmluZwAAAABObyBVUkwgc2V0IQAlJSUwMngAACUxNVtePyYvOl06Ly8lYwBNYXhpbXVtICglbGQpIHJlZGlyZWN0cyBmb2xsb3dlZAAAAABJc3N1ZSBhbm90aGVyIHJlcXVlc3QgdG8gdGhpcyBVUkw6ICclcycKAAAAAFN3aXRjaCBmcm9tIFBPU1QgdG8gR0VUCgAAAABIRUFEAAAAAEdFVABEaXNhYmxlcyBQT1NULCBnb2VzIHdpdGggJXMKAAAAAENvbm5lY3Rpb24gZGllZCwgcmV0cnlpbmcgYSBmcmVzaCBjb25uZWN0CgAAQ29ubjogJWxkICglcCkgUmVjZWl2ZSBwaXBlIHdlaWdodDogKCVJNjRkLyV6dSksIHBlbmFsaXplZDogJXMKAFNpdGUgJXM6JWQgaXMgcGlwZWxpbmUgYmxhY2tsaXN0ZWQKAFNlcnZlciAlcyBpcyBibGFja2xpc3RlZAoAAAAtLTotLTotLQAAAAAlMkk2NGQ6JTAySTY0ZDolMDJJNjRkAAAlM0k2NGRkICUwMkk2NGRoAAAAACU3STY0ZGQAJTVJNjRkAAAlNEk2NGRrACUySTY0ZC4lMEk2NGRNAAAlNEk2NGRNACUySTY0ZC4lMEk2NGRHAAAlNEk2NGRHACU0STY0ZFQAJTRJNjRkUABDYWxsYmFjayBhYm9ydGVkAAAAACoqIFJlc3VtaW5nIHRyYW5zZmVyIGZyb20gYnl0ZSBwb3NpdGlvbiAlSTY0ZAoAAAAAAAAgICUlIFRvdGFsICAgICUlIFJlY2VpdmVkICUlIFhmZXJkICBBdmVyYWdlIFNwZWVkICAgVGltZSAgICBUaW1lICAgICBUaW1lICBDdXJyZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERsb2FkICBVcGxvYWQgICBUb3RhbCAgIFNwZW50ICAgIExlZnQgIFNwZWVkCgAAAA0lM0k2NGQgJXMgICUzSTY0ZCAlcyAgJTNJNjRkICVzICAlcyAgJXMgJXMgJXMgJXMgJXMAAAAASFRUUAAAAABIVFRQUwAAACVzOiVzAAAAUHJveHktAAAlc0F1dGhvcml6YXRpb246IEJhc2ljICVzDQoAUmV3aW5kIHN0cmVhbSBhZnRlciBzZW5kCgAAAE5UTE0gc2VuZCwgY2xvc2UgaW5zdGVhZCBvZiBzZW5kaW5nICVJNjRkIGJ5dGVzCgAAAABUaGUgcmVxdWVzdGVkIFVSTCByZXR1cm5lZCBlcnJvcjogJWQAAAAATmVnb3RpYXRlAAAATlRMTQAAAABEaWdlc3QAAFByb3h5LWF1dGhvcml6YXRpb246AAAAAEF1dGhvcml6YXRpb246AABCYXNpYwAAAFByb3h5AAAAU2VydmVyAAAlcyBhdXRoIHVzaW5nICVzIHdpdGggdXNlciAnJXMnCgAAAABBdXRoZW50aWNhdGlvbiBwcm9ibGVtLiBJZ25vcmluZyB0aGlzLgoASWdub3JpbmcgZHVwbGljYXRlIGRpZ2VzdCBhdXRoIGhlYWRlci4KAEVtcHR5IHJlcGx5IGZyb20gc2VydmVyADEuMQAxLjAARXhwZWN0OgAxMDAtY29udGludWUAAAAARXhwZWN0OiAxMDAtY29udGludWUNCgAASG9zdDoAAABDb250ZW50LVR5cGU6AAAAQ29udGVudC1MZW5ndGgAAENvbm5lY3Rpb24AAFRyYW5zZmVyLUVuY29kaW5nOgAAJXMNCgAAAABJbnZhbGlkIFRJTUVWQUxVRQAAACVzLCAlMDJkICVzICU0ZCAlMDJkOiUwMmQ6JTAyZCBHTVQAAElmLU1vZGlmaWVkLVNpbmNlOiAlcw0KAElmLVVubW9kaWZpZWQtU2luY2U6ICVzDQoAAABMYXN0LU1vZGlmaWVkOiAlcw0KAFBPU1QAAAAAUFVUAFVzZXItQWdlbnQ6AFJlZmVyZXI6AAAAAFJlZmVyZXI6ICVzDQoAAABDb29raWU6AEFjY2VwdC1FbmNvZGluZzoAAAAAQWNjZXB0LUVuY29kaW5nOiAlcw0KAAAAY2h1bmtlZABDaHVua3kgdXBsb2FkIGlzIG5vdCBzdXBwb3J0ZWQgYnkgSFRUUCAxLjAAAFRyYW5zZmVyLUVuY29kaW5nOiBjaHVua2VkDQoAAAAASG9zdDogJXMlcyVzDQoAAEhvc3Q6ICVzJXMlczolaHUNCgAAZnRwOi8vAAA7dHlwZT0AAEFjY2VwdDoAQWNjZXB0OiAqLyoNCgAAAENvdWxkIG5vdCBzZWVrIHN0cmVhbQAAAENvdWxkIG9ubHkgcmVhZCAlSTY0ZCBieXRlcyBmcm9tIHRoZSBpbnB1dAAARmlsZSBhbHJlYWR5IGNvbXBsZXRlbHkgdXBsb2FkZWQAAAAAUmFuZ2U6AABSYW5nZTogYnl0ZXM9JXMNCgAAAENvbnRlbnQtUmFuZ2U6AABDb250ZW50LVJhbmdlOiBieXRlcyAwLSVJNjRkLyVJNjRkDQoAAAAAQ29udGVudC1SYW5nZTogYnl0ZXMgJXMlSTY0ZC8lSTY0ZA0KAAAAAENvbnRlbnQtUmFuZ2U6IGJ5dGVzICVzLyVJNjRkDQoAJXMgAGZ0cDovLyVzOiVzQCVzAABQcm94eS1Db25uZWN0aW9uOgAAAFByb3h5LUNvbm5lY3Rpb246IEtlZXAtQWxpdmUNCgAAJXMgSFRUUC8lcw0KJXMlcyVzJXMlcyVzJXMlcyVzJXMlcwAAQ29va2llOiAAAAAAOyAAACVzJXM9JXMAQ29udGVudC1MZW5ndGg6IDANCg0KAAAARmFpbGVkIHNlbmRpbmcgUE9TVCByZXF1ZXN0AENvbnRlbnQtTGVuZ3RoOgBDb250ZW50LUxlbmd0aDogJUk2NGQNCgBDb3VsZCBub3QgZ2V0IENvbnRlbnQtVHlwZSBoZWFkZXIgbGluZSEARmFpbGVkIHNlbmRpbmcgUFVUIHJlcXVlc3QAAENvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkDQoAAAAleA0KAAAAADANCg0KAAAARmFpbGVkIHNlbmRpbmcgSFRUUCBQT1NUIHJlcXVlc3QAAAAARmFpbGVkIHNlbmRpbmcgSFRUUCByZXF1ZXN0AHVwbG9hZCBjb21wbGV0ZWx5IHNlbnQgb2ZmOiAlSTY0ZCBvdXQgb2YgJUk2NGQgYnl0ZXMKAAAASFRUUC8AAABBdm9pZGVkIGdpYW50IHJlYWxsb2MgZm9yIGhlYWRlciAobWF4IGlzICVkKSEAAABGYWlsZWQgdG8gYWxsb2MgbWVtb3J5IGZvciBiaWcgaGVhZGVyIQAAVGhlIHJlcXVlc3RlZCBVUkwgcmV0dXJuZWQgZXJyb3I6ICVzAAAAAFJlY2VpdmVkIDEwMQoAAABubyBjaHVuaywgbm8gY2xvc2UsIG5vIHNpemUuIEFzc3VtZSBjbG9zZSB0byBzaWduYWwgZW5kCgAAAABDb25uZWN0aW9uIGNsb3N1cmUgd2hpbGUgbmVnb3RpYXRpbmcgYXV0aCAoSFRUUCAxLjA/KQoAAEhUVFAgZXJyb3IgYmVmb3JlIGVuZCBvZiBzZW5kLCBrZWVwIHNlbmRpbmcKAAAAAEhUVFAgZXJyb3IgYmVmb3JlIGVuZCBvZiBzZW5kLCBzdG9wIHNlbmRpbmcKAAAAAEtlZXAgc2VuZGluZyBkYXRhIHRvIGdldCB0b3NzZWQgYXdheSEKAAAgSFRUUC8lZC4lZCAlZAAAIEhUVFAvMiAlZAAATHlpbmcgc2VydmVyLCBub3Qgc2VydmluZyBIVFRQLzIKAAAAIEhUVFAgJTNkAAAAIFJUU1AvJWQuJWQgJTNkAEhUVFAgMS4wLCBhc3N1bWUgY2xvc2UgYWZ0ZXIgYm9keQoAAE5lZ2F0aXZlIGNvbnRlbnQtbGVuZ3RoOiAlSTY0ZCwgY2xvc2luZyBhZnRlciB0cmFuc2ZlcgoAU2VydmVyOgBrZWVwLWFsaXZlAABIVFRQLzEuMCBwcm94eSBjb25uZWN0aW9uIHNldCB0byBrZWVwIGFsaXZlIQoAAABIVFRQLzEuMSBwcm94eSBjb25uZWN0aW9uIHNldCBjbG9zZSEKAAAAQ29ubmVjdGlvbjoASFRUUC8xLjAgY29ubmVjdGlvbiBzZXQgdG8ga2VlcCBhbGl2ZSEKAGRlZmxhdGUAZ3ppcAAAAAB4LWd6aXAAAENvbnRlbnQtRW5jb2Rpbmc6AAAATGFzdC1Nb2RpZmllZDoAAFdXVy1BdXRoZW50aWNhdGU6AAAAUHJveHktYXV0aGVudGljYXRlOgBMb2NhdGlvbjoAAABPcGVyYXRpb24gdG9vIHNsb3cuIExlc3MgdGhhbiAlbGQgYnl0ZXMvc2VjIHRyYW5zZmVycmVkIHRoZSBsYXN0ICVsZCBzZWNvbmRzAAAAAExvYWRMaWJyYXJ5RXhXAABcAC8AAAAAAEFkZERsbERpcmVjdG9yeQAlZC4lZC4lZC4lZABFc3RhYmxpc2ggSFRUUCBwcm94eSB0dW5uZWwgdG8gJXM6JWh1CgAAJXM6JWh1AABDT05ORUNUACVzJXMlczolaHUAAEhvc3Q6ICVzDQoAAENPTk5FQ1QgJXMgSFRUUC8lcw0KJXMlcyVzJXMAAAAARmFpbGVkIHNlbmRpbmcgQ09OTkVDVCB0byBwcm94eQBQcm94eSBDT05ORUNUIGFib3J0ZWQgZHVlIHRvIHRpbWVvdXQAAAAAQ09OTkVDVCByZXNwb25zZSB0b28gbGFyZ2UhAFByb3h5IENPTk5FQ1QgYWJvcnRlZCBkdWUgdG8gc2VsZWN0L3BvbGwgZXJyb3IAAFByb3h5IENPTk5FQ1QgY29ubmVjdGlvbiBjbG9zZWQKAAAAAFByb3h5IENPTk5FQ1QgYWJvcnRlZAAAAGNodW5rIHJlYWRpbmcgRE9ORQoASWdub3JlICVJNjRkIGJ5dGVzIG9mIHJlc3BvbnNlLWJvZHkKAAAAAElnbm9yZSBjaHVua2VkIHJlc3BvbnNlLWJvZHkKAAAAQ29udGVudC1MZW5ndGg6IGluICUwM2QgcmVzcG9uc2UAAAAAVHJhbnNmZXItRW5jb2Rpbmc6IGluICUwM2QgcmVzcG9uc2UAQ09OTkVDVCByZXNwb25kZWQgY2h1bmtlZAoAAEhUVFAvMS4lZCAlZAAAAABUVU5ORUxfU1RBVEUgc3dpdGNoZWQgdG86ICVkCgAAAENvbm5lY3QgbWUgYWdhaW4gcGxlYXNlCgAAAABSZWNlaXZlZCBIVFRQIGNvZGUgJWQgZnJvbSBwcm94eSBhZnRlciBDT05ORUNUAABQcm94eSByZXBsaWVkIE9LIHRvIENPTk5FQ1QgcmVxdWVzdAoAAAAAYQAAAFNPQ0tTNCVzOiBjb25uZWN0aW5nIHRvIEhUVFAgcHJveHkgJXMgcG9ydCAlZAoAAFNPQ0tTNCBjb21tdW5pY2F0aW9uIHRvICVzOiVkCgAAU09DS1M0IGNvbm5lY3QgdG8gSVB2NCAlcyAobG9jYWxseSByZXNvbHZlZCkKAAAAU09DS1M0IGNvbm5lY3Rpb24gdG8gJXMgbm90IHN1cHBvcnRlZAoAAEZhaWxlZCB0byByZXNvbHZlICIlcyIgZm9yIFNPQ0tTNCBjb25uZWN0LgAAVG9vIGxvbmcgU09DS1MgcHJveHkgbmFtZSwgY2FuJ3QgdXNlIQoAAEZhaWxlZCB0byBzZW5kIFNPQ0tTNCBjb25uZWN0IHJlcXVlc3QuAABGYWlsZWQgdG8gcmVjZWl2ZSBTT0NLUzQgY29ubmVjdCByZXF1ZXN0IGFjay4AAABTT0NLUzQgcmVwbHkgaGFzIHdyb25nIHZlcnNpb24sIHZlcnNpb24gc2hvdWxkIGJlIDQuAAAAAFNPQ0tTNCVzIHJlcXVlc3QgZ3JhbnRlZC4KAAAAAAAAQ2FuJ3QgY29tcGxldGUgU09DS1M0IGNvbm5lY3Rpb24gdG8gJWQuJWQuJWQuJWQ6JWQuICglZCksIHJlcXVlc3QgcmVqZWN0ZWQgb3IgZmFpbGVkLgAAAENhbid0IGNvbXBsZXRlIFNPQ0tTNCBjb25uZWN0aW9uIHRvICVkLiVkLiVkLiVkOiVkLiAoJWQpLCByZXF1ZXN0IHJlamVjdGVkIGJlY2F1c2UgU09DS1Mgc2VydmVyIGNhbm5vdCBjb25uZWN0IHRvIGlkZW50ZCBvbiB0aGUgY2xpZW50LgBDYW4ndCBjb21wbGV0ZSBTT0NLUzQgY29ubmVjdGlvbiB0byAlZC4lZC4lZC4lZDolZC4gKCVkKSwgcmVxdWVzdCByZWplY3RlZCBiZWNhdXNlIHRoZSBjbGllbnQgcHJvZ3JhbSBhbmQgaWRlbnRkIHJlcG9ydCBkaWZmZXJlbnQgdXNlci1pZHMuAAAAAABDYW4ndCBjb21wbGV0ZSBTT0NLUzQgY29ubmVjdGlvbiB0byAlZC4lZC4lZC4lZDolZC4gKCVkKSwgVW5rbm93bi4AAFNPQ0tTNTogY29ubmVjdGluZyB0byBIVFRQIHByb3h5ICVzIHBvcnQgJWQKAAAAAAAAAABTT0NLUzU6IHNlcnZlciByZXNvbHZpbmcgZGlzYWJsZWQgZm9yIGhvc3RuYW1lcyBvZiBsZW5ndGggPiAyNTUgW2FjdHVhbCBsZW49JXp1XQoAAABTT0NLUzU6IG5vIGNvbm5lY3Rpb24gaGVyZQAAU09DS1M1OiBjb25uZWN0aW9uIHRpbWVvdXQAAFNPQ0tTNTogZXJyb3Igb2NjdXJyZWQgZHVyaW5nIGNvbm5lY3Rpb24AAAAAU09DS1M1IGNvbW11bmljYXRpb24gdG8gJXM6JWQKAABVbmFibGUgdG8gc2VuZCBpbml0aWFsIFNPQ0tTNSByZXF1ZXN0LgAAU09DS1M1IG5vdGhpbmcgdG8gcmVhZAAAU09DS1M1IHJlYWQgdGltZW91dABTT0NLUzUgcmVhZCBlcnJvciBvY2N1cnJlZAAAVW5hYmxlIHRvIHJlY2VpdmUgaW5pdGlhbCBTT0NLUzUgcmVzcG9uc2UuAABSZWNlaXZlZCBpbnZhbGlkIHZlcnNpb24gaW4gaW5pdGlhbCBTT0NLUzUgcmVzcG9uc2UuAAAAAFVuYWJsZSB0byBuZWdvdGlhdGUgU09DS1M1IEdTUy1BUEkgY29udGV4dC4ARmFpbGVkIHRvIHNlbmQgU09DS1M1IHN1Yi1uZWdvdGlhdGlvbiByZXF1ZXN0LgAAVW5hYmxlIHRvIHJlY2VpdmUgU09DS1M1IHN1Yi1uZWdvdGlhdGlvbiByZXNwb25zZS4AAFVzZXIgd2FzIHJlamVjdGVkIGJ5IHRoZSBTT0NLUzUgc2VydmVyICglZCAlZCkuAAAAAABObyBhdXRoZW50aWNhdGlvbiBtZXRob2Qgd2FzIGFjY2VwdGFibGUuIChJdCBpcyBxdWl0ZSBsaWtlbHkgdGhhdCB0aGUgU09DS1M1IHNlcnZlciB3YW50ZWQgYSB1c2VybmFtZS9wYXNzd29yZCwgc2luY2Ugbm9uZSB3YXMgc3VwcGxpZWQgdG8gdGhlIHNlcnZlciBvbiB0aGlzIGNvbm5lY3Rpb24uKQAATm8gYXV0aGVudGljYXRpb24gbWV0aG9kIHdhcyBhY2NlcHRhYmxlLgAAAABVbmRvY3VtZW50ZWQgU09DS1M1IG1vZGUgYXR0ZW1wdGVkIHRvIGJlIHVzZWQgYnkgc2VydmVyLgAAAABTT0NLUzUgY29ubmVjdCB0byBJUHY0ICVzIChsb2NhbGx5IHJlc29sdmVkKQoAAABTT0NLUzUgY29ubmVjdGlvbiB0byAlcyBub3Qgc3VwcG9ydGVkCgAARmFpbGVkIHRvIHJlc29sdmUgIiVzIiBmb3IgU09DS1M1IGNvbm5lY3QuAABTT0NLUzUgR1NTLUFQSSBwcm90ZWN0aW9uIG5vdCB5ZXQgaW1wbGVtZW50ZWQuAABGYWlsZWQgdG8gc2VuZCBTT0NLUzUgY29ubmVjdCByZXF1ZXN0LgAARmFpbGVkIHRvIHJlY2VpdmUgU09DS1M1IGNvbm5lY3QgcmVxdWVzdCBhY2suAAAAU09DS1M1IHJlcGx5IGhhcyB3cm9uZyB2ZXJzaW9uLCB2ZXJzaW9uIHNob3VsZCBiZSA1LgAAAABDYW4ndCBjb21wbGV0ZSBTT0NLUzUgY29ubmVjdGlvbiB0byAlZC4lZC4lZC4lZDolZC4gKCVkKQAAAABDYW4ndCBjb21wbGV0ZSBTT0NLUzUgY29ubmVjdGlvbiB0byAlczolZC4gKCVkKQAAAAAAQ2FuJ3QgY29tcGxldGUgU09DS1M1IGNvbm5lY3Rpb24gdG8gJTAyeCUwMng6JTAyeCUwMng6JTAyeCUwMng6JTAyeCUwMng6JTAyeCUwMng6JTAyeCUwMng6JTAyeCUwMng6JTAyeCUwMng6JWQuICglZCkAAAAAU09DS1M1IHJlcXVlc3QgZ3JhbnRlZC4KAAAAAC8uLwAvLgAALy4uLwAAAAAvLi4AX25ldHJjAAAgCQoAbWFjaGluZQBkZWZhdWx0AGxvZ2luAAAAJS4qcwAAAAAlc0F1dGhvcml6YXRpb246IERpZ2VzdCAlcw0KAAAAAE5UTE0gYXV0aCByZXN0YXJ0ZWQKAAAAAE5UTE0gaGFuZHNoYWtlIHJlamVjdGVkCgAAAABOVExNIGhhbmRzaGFrZSBmYWlsdXJlIChpbnRlcm5hbCBlcnJvcikKAAAAACVzQXV0aG9yaXphdGlvbjogTlRMTSAlcw0KAABNb24AVHVlAFdlZABUaHUARnJpAFNhdABTdW4ATW9uZGF5AABUdWVzZGF5AFdlZG5lc2RheQAAAFRodXJzZGF5AAAAAEZyaWRheQAAU2F0dXJkYXkAAAAAU3VuZGF5AABKYW4ARmViAE1hcgBBcHIATWF5AEp1bgBKdWwAQXVnAFNlcABPY3QATm92AERlYwAlMzFbQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5el0AAAAlMDJkOiUwMmQ6JTAyZCVuAAAAACUwMmQ6JTAyZCVuAHNjaGFubmVsOiBTU0wvVExTIGNvbm5lY3Rpb24gd2l0aCAlcyBwb3J0ICVodSAoc3RlcCAxLzMpCgAAAHNjaGFubmVsOiBXaW5TU0wgdmVyc2lvbiBpcyBvbGQgYW5kIG1heSBub3QgYmUgYWJsZSB0byBjb25uZWN0IHRvIHNvbWUgc2VydmVycyBkdWUgdG8gbGFjayBvZiBTTkksIGFsZ29yaXRobXMsIGV0Yy4KAAAAAHdpbmVfZ2V0X3ZlcnNpb24AAAAAbnRkbGwAAABzY2hhbm5lbDogcmUtdXNpbmcgZXhpc3RpbmcgY3JlZGVudGlhbCBoYW5kbGUKAABzY2hhbm5lbDogaW5jcmVtZW50ZWQgY3JlZGVudGlhbCBoYW5kbGUgcmVmY291bnQgPSAlZAoAAHNjaGFubmVsOiBkaXNhYmxlZCBzZXJ2ZXIgY2VydGlmaWNhdGUgcmV2b2NhdGlvbiBjaGVja3MKAAAAAHNjaGFubmVsOiBjaGVja2luZyBzZXJ2ZXIgY2VydGlmaWNhdGUgcmV2b2NhdGlvbgoAAAAAAAAAc2NoYW5uZWw6IHZlcmlmeWhvc3Qgc2V0dGluZyBwcmV2ZW50cyBTY2hhbm5lbCBmcm9tIGNvbXBhcmluZyB0aGUgc3VwcGxpZWQgdGFyZ2V0IG5hbWUgd2l0aCB0aGUgc3ViamVjdCBuYW1lcyBpbiBzZXJ2ZXIgY2VydGlmaWNhdGVzLgoAAFNjaGFubmVsOiBUTFMgMS4zIGlzIG5vdCB5ZXQgc3VwcG9ydGVkAABVbnJlY29nbml6ZWQgcGFyYW1ldGVyIHBhc3NlZCB2aWEgQ1VSTE9QVF9TU0xWRVJTSU9OAAAAAHNjaGFubmVsOiB1bmFibGUgdG8gYWxsb2NhdGUgbWVtb3J5AAAAAABNAGkAYwByAG8AcwBvAGYAdAAgAFUAbgBpAGYAaQBlAGQAIABTAGUAYwB1AHIAaQB0AHkAIABQAHIAbwB0AG8AYwBvAGwAIABQAHIAbwB2AGkAZABlAHIAAAAAAHNjaGFubmVsOiBTTkkgb3IgY2VydGlmaWNhdGUgY2hlY2sgZmFpbGVkOiAlcwAAAHNjaGFubmVsOiBBY3F1aXJlQ3JlZGVudGlhbHNIYW5kbGUgZmFpbGVkOiAlcwAAAHNjaGFubmVsOiB1c2luZyBJUCBhZGRyZXNzLCBTTkkgaXMgbm90IHN1cHBvcnRlZCBieSBPUy4KAAAAAGh0dHAvMS4xAAAAAHNjaGFubmVsOiBBTFBOLCBvZmZlcmluZyAlcwoAAAAAc2NoYW5uZWw6IGluaXRpYWwgSW5pdGlhbGl6ZVNlY3VyaXR5Q29udGV4dCBmYWlsZWQ6ICVzAAAAAAAAc2NoYW5uZWw6IHNlbmRpbmcgaW5pdGlhbCBoYW5kc2hha2UgZGF0YTogc2VuZGluZyAlbHUgYnl0ZXMuLi4KAHNjaGFubmVsOiBmYWlsZWQgdG8gc2VuZCBpbml0aWFsIGhhbmRzaGFrZSBkYXRhOiBzZW50ICV6ZCBvZiAlbHUgYnl0ZXMAAHNjaGFubmVsOiBzZW50IGluaXRpYWwgaGFuZHNoYWtlIGRhdGE6IHNlbnQgJXpkIGJ5dGVzCgAAc2NoYW5uZWw6IFNTTC9UTFMgY29ubmVjdGlvbiB3aXRoICVzIHBvcnQgJWh1IChzdGVwIDIvMykKAAAAc2NoYW5uZWw6IHVuYWJsZSB0byByZS1hbGxvY2F0ZSBtZW1vcnkAAHNjaGFubmVsOiBmYWlsZWQgdG8gcmVjZWl2ZSBoYW5kc2hha2UsIG5lZWQgbW9yZSBkYXRhCgAAAAAAAHNjaGFubmVsOiBmYWlsZWQgdG8gcmVjZWl2ZSBoYW5kc2hha2UsIFNTTC9UTFMgY29ubmVjdGlvbiBmYWlsZWQAAAAAc2NoYW5uZWw6IGVuY3J5cHRlZCBkYXRhIGJ1ZmZlcjogb2Zmc2V0ICV6dSBsZW5ndGggJXp1CgBzY2hhbm5lbDogcmVjZWl2ZWQgaW5jb21wbGV0ZSBtZXNzYWdlLCBuZWVkIG1vcmUgZGF0YQoAAHNjaGFubmVsOiBhIGNsaWVudCBjZXJ0aWZpY2F0ZSBoYXMgYmVlbiByZXF1ZXN0ZWQKAABzY2hhbm5lbDogc2VuZGluZyBuZXh0IGhhbmRzaGFrZSBkYXRhOiBzZW5kaW5nICVsdSBieXRlcy4uLgoAAAAAc2NoYW5uZWw6IGZhaWxlZCB0byBzZW5kIG5leHQgaGFuZHNoYWtlIGRhdGE6IHNlbnQgJXpkIG9mICVsdSBieXRlcwBzY2hhbm5lbDogbmV4dCBJbml0aWFsaXplU2VjdXJpdHlDb250ZXh0IGZhaWxlZDogJXMAc2NoYW5uZWw6IGVuY3J5cHRlZCBkYXRhIGxlbmd0aDogJWx1CgAAAHNjaGFubmVsOiBTU0wvVExTIGhhbmRzaGFrZSBjb21wbGV0ZQoAAABzY2hhbm5lbDogU1NML1RMUyBjb25uZWN0aW9uIHdpdGggJXMgcG9ydCAlaHUgKHN0ZXAgMy8zKQoAAABzY2hhbm5lbDogZmFpbGVkIHRvIHNldHVwIHNlcXVlbmNlIGRldGVjdGlvbgAAAABzY2hhbm5lbDogZmFpbGVkIHRvIHNldHVwIHJlcGxheSBkZXRlY3Rpb24AAHNjaGFubmVsOiBmYWlsZWQgdG8gc2V0dXAgY29uZmlkZW50aWFsaXR5AAAAc2NoYW5uZWw6IGZhaWxlZCB0byBzZXR1cCBtZW1vcnkgYWxsb2NhdGlvbgBzY2hhbm5lbDogZmFpbGVkIHRvIHNldHVwIHN0cmVhbSBvcmllbnRhdGlvbgAAAABzY2hhbm5lbDogZmFpbGVkIHRvIHJldHJpZXZlIEFMUE4gcmVzdWx0AAAAAHNjaGFubmVsOiBBTFBOLCBzZXJ2ZXIgYWNjZXB0ZWQgdG8gdXNlICUuKnMKAAAAAEFMUE4sIHNlcnZlciBkaWQgbm90IGFncmVlIHRvIGEgcHJvdG9jb2wKAAAAc2NoYW5uZWw6IG9sZCBjcmVkZW50aWFsIGhhbmRsZSBpcyBzdGFsZSwgcmVtb3ZpbmcKAHNjaGFubmVsOiBmYWlsZWQgdG8gc3RvcmUgY3JlZGVudGlhbCBoYW5kbGUAc2NoYW5uZWw6IHN0b3JlZCBjcmVkZW50aWFsIGhhbmRsZSBpbiBzZXNzaW9uIGNhY2hlCgAAAABzY2hhbm5lbDogZmFpbGVkIHRvIHJldHJpZXZlIHJlbW90ZSBjZXJ0IGNvbnRleHQAAAAAU1NML1RMUyBjb25uZWN0aW9uIHRpbWVvdXQAAHNlbGVjdC9wb2xsIG9uIFNTTC9UTFMgc29ja2V0LCBlcnJubzogJWQAAAAAc2NoYW5uZWw6IHRpbWVkIG91dCBzZW5kaW5nIGRhdGEgKGJ5dGVzIHNlbnQ6ICV6ZCkAAHNlbGVjdC9wb2xsIG9uIFNTTCBzb2NrZXQsIGVycm5vOiAlZAAAAABzY2hhbm5lbDogY2xpZW50IHdhbnRzIHRvIHJlYWQgJXp1IGJ5dGVzCgAAAHNjaGFubmVsOiBlbm91Z2ggZGVjcnlwdGVkIGRhdGEgaXMgYWxyZWFkeSBhdmFpbGFibGUKAAAAc2NoYW5uZWw6IGFuIHVucmVjb3ZlcmFibGUgZXJyb3Igb2NjdXJyZWQgaW4gYSBwcmlvciBjYWxsCgAAc2NoYW5uZWw6IHNlcnZlciBpbmRpY2F0ZWQgc2h1dGRvd24gaW4gYSBwcmlvciBjYWxsCgAAAABzY2hhbm5lbDogZW5jZGF0YV9idWZmZXIgcmVzaXplZCAlenUKAAAAc2NoYW5uZWw6IEN1cmxfcmVhZF9wbGFpbiByZXR1cm5lZCBDVVJMRV9BR0FJTgoAc2NoYW5uZWw6IEN1cmxfcmVhZF9wbGFpbiByZXR1cm5lZCBDVVJMRV9SRUNWX0VSUk9SCgAAAABzY2hhbm5lbDogc2VydmVyIGNsb3NlZCB0aGUgY29ubmVjdGlvbgoAc2NoYW5uZWw6IGVuY3J5cHRlZCBkYXRhIGdvdCAlemQKAAAAc2NoYW5uZWw6IGRlY3J5cHRlZCBkYXRhIGxlbmd0aDogJWx1CgAAAHNjaGFubmVsOiBkZWNyeXB0ZWQgZGF0YSBhZGRlZDogJXp1CgAAAABzY2hhbm5lbDogZGVjcnlwdGVkIGRhdGEgY2FjaGVkOiBvZmZzZXQgJXp1IGxlbmd0aCAlenUKAHNjaGFubmVsOiBlbmNyeXB0ZWQgZGF0YSBjYWNoZWQ6IG9mZnNldCAlenUgbGVuZ3RoICV6dQoAc2NoYW5uZWw6IHJlbW90ZSBwYXJ0eSByZXF1ZXN0cyByZW5lZ290aWF0aW9uCgAAc2NoYW5uZWw6IGNhbid0IHJlbm9nb3RpYXRlLCBhbiBlcnJvciBpcyBwZW5kaW5nCgAAAHNjaGFubmVsOiBjYW4ndCByZW5vZ290aWF0ZSwgZW5jcnlwdGVkIGRhdGEgYXZhaWxhYmxlCgAAc2NoYW5uZWw6IHJlbmVnb3RpYXRpbmcgU1NML1RMUyBjb25uZWN0aW9uCgBzY2hhbm5lbDogcmVuZWdvdGlhdGlvbiBmYWlsZWQKAHNjaGFubmVsOiBTU0wvVExTIGNvbm5lY3Rpb24gcmVuZWdvdGlhdGVkCgAAc2NoYW5uZWw6IGZhaWxlZCB0byBkZWNyeXB0IGRhdGEsIG5lZWQgbW9yZSBkYXRhCgAAAHNjaGFubmVsOiBmYWlsZWQgdG8gcmVhZCBkYXRhIGZyb20gc2VydmVyOiAlcwoAAHNjaGFubmVsOiBkZWNyeXB0ZWQgZGF0YSBidWZmZXI6IG9mZnNldCAlenUgbGVuZ3RoICV6dQoAc2NoYW5uZWw6IHNjaGFubmVsX3JlY3YgY2xlYW51cAoAAAAAc2NoYW5uZWw6IHNlcnZlciBjbG9zZWQgYWJydXB0bHkgKG1pc3NpbmcgY2xvc2Vfbm90aWZ5KQoAAAAAc2NoYW5uZWw6IGRlY3J5cHRlZCBkYXRhIHJldHVybmVkICV6dQoAAHNjaGFubmVsOiBzaHV0dGluZyBkb3duIFNTTC9UTFMgY29ubmVjdGlvbiB3aXRoICVzIHBvcnQgJWh1CgAAAABzY2hhbm5lbDogQXBwbHlDb250cm9sVG9rZW4gZmFpbHVyZTogJXMAc2NoYW5uZWw6IGZhaWxlZCB0byBzZW5kIGNsb3NlIG1zZzogJXMgKGJ5dGVzIHdyaXR0ZW46ICV6ZCkKAAAAAHNjaGFubmVsOiBjbGVhciBzZWN1cml0eSBjb250ZXh0IGhhbmRsZQoAAAAAV2luU1NMAAAlYyVjPT0AACVjJWMlYz0AJWMlYyVjJWMAAAAAVG9vIGxvbmcgaGV4YWRlY2ltYWwgbnVtYmVyAElsbGVnYWwgb3IgbWlzc2luZyBoZXhhZGVjaW1hbCBzZXF1ZW5jZQBNYWxmb3JtZWQgZW5jb2RpbmcgZm91bmQAAAAAQmFkIGNvbnRlbnQtZW5jb2RpbmcgZm91bmQAACVzQXV0aG9yaXphdGlvbjogTmVnb3RpYXRlICVzDQoALmdpZgAAAABpbWFnZS9naWYAAAAuanBnAAAAAGltYWdlL2pwZWcAAC5qcGVnAAAALnR4dAAAAAB0ZXh0L3BsYWluAAAuaHRtbAAAAHRleHQvaHRtbAAAAC54bWwAAAAAYXBwbGljYXRpb24veG1sADsgZmlsZW5hbWU9IiVzIgBDb250ZW50LVR5cGU6IG11bHRpcGFydC9mb3JtLWRhdGEAAAAlczsgYm91bmRhcnk9JXMNCgAAAC0tJXMNCgAAQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSIAACIAAAANCkNvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L21peGVkOyBib3VuZGFyeT0lcw0KAAANCi0tJXMNCkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQADQpDb250ZW50LVR5cGU6ICVzAAANCiVzAAAAAA0KDQoAAAAAY291bGRuJ3Qgb3BlbiBmaWxlICIlcyIADQotLSVzLS0AAAAADQotLSVzLS0NCgAALS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJTA4eCUwOHgAAAAAVwBEAGkAZwBlAHMAdAAAAHJlYWxtAAAAc3RhbGUAAABkaWdlc3Rfc3NwaTogTWFrZVNpZ25hdHVyZSBmYWlsZWQsIGVycm9yIDB4JTA4bHgKAAAATgBlAGcAbwB0AGkAYQB0AGUAAABTUE5FR08gaGFuZHNoYWtlIGZhaWx1cmUgKGVtcHR5IGNoYWxsZW5nZSBtZXNzYWdlKQoATgBUAEwATQAAAAAATlRMTSBoYW5kc2hha2UgZmFpbHVyZSAoZW1wdHkgdHlwZS0yIG1lc3NhZ2UpCgAATlRMTSBoYW5kc2hha2UgZmFpbHVyZSAodHlwZS0zIG1lc3NhZ2UpOiBTdGF0dXM9JXgKAFNTUEkgZXJyb3I6ICVzIGZhaWxlZDogJXMAAAByY21kAAAAAEsAZQByAGIAZQByAG8AcwAAAAAAQWNxdWlyZUNyZWRlbnRpYWxzSGFuZGxlAAAAAEZhaWxlZCB0byBhY3F1aXJlIGNyZWRlbnRpYWxzLgAASW5pdGlhbGl6ZVNlY3VyaXR5Q29udGV4dAAAAEZhaWxlZCB0byBpbml0aWFsaXNlIHNlY3VyaXR5IGNvbnRleHQuAABGYWlsZWQgdG8gc2VuZCBTU1BJIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3QuAEZhaWxlZCB0byBzZW5kIFNTUEkgYXV0aGVudGljYXRpb24gdG9rZW4uAAAARmFpbGVkIHRvIHJlY2VpdmUgU1NQSSBhdXRoZW50aWNhdGlvbiByZXNwb25zZS4AVXNlciB3YXMgcmVqZWN0ZWQgYnkgdGhlIFNPQ0tTNSBzZXJ2ZXIgKCV1ICV1KS4ASW52YWxpZCBTU1BJIGF1dGhlbnRpY2F0aW9uIHJlc3BvbnNlIHR5cGUgKCV1ICV1KS4AAEZhaWxlZCB0byByZWNlaXZlIFNTUEkgYXV0aGVudGljYXRpb24gdG9rZW4uAAAAAFF1ZXJ5Q3JlZGVudGlhbEF0dHJpYnV0ZXMAAABGYWlsZWQgdG8gZGV0ZXJtaW5lIHVzZXIgbmFtZS4AAFNPQ0tTNSBzZXJ2ZXIgYXV0aGVuY3RpY2F0ZWQgdXNlciAlcyB3aXRoIEdTUy1BUEkuCgBpbnRlZ3JpdHkAAABjb25maWRlbnRpYWxpdHkAU09DS1M1IHNlcnZlciBzdXBwb3J0cyBHU1MtQVBJICVzIGRhdGEgcHJvdGVjdGlvbi4KAFF1ZXJ5Q29udGV4dEF0dHJpYnV0ZXMAAEZhaWxlZCB0byBxdWVyeSBzZWN1cml0eSBjb250ZXh0IGF0dHJpYnV0ZXMuAAAAAEVuY3J5cHRNZXNzYWdlAABGYWlsZWQgdG8gc2VuZCBTU1BJIGVuY3J5cHRpb24gcmVxdWVzdC4ARmFpbGVkIHRvIHNlbmQgU1NQSSBlbmNyeXB0aW9uIHR5cGUuAAAAAEZhaWxlZCB0byByZWNlaXZlIFNTUEkgZW5jcnlwdGlvbiByZXNwb25zZS4ASW52YWxpZCBTU1BJIGVuY3J5cHRpb24gcmVzcG9uc2UgdHlwZSAoJXUgJXUpLgAARmFpbGVkIHRvIHJlY2VpdmUgU1NQSSBlbmNyeXB0aW9uIHR5cGUuAERlY3J5cHRNZXNzYWdlAABJbnZhbGlkIFNTUEkgZW5jcnlwdGlvbiByZXNwb25zZSBsZW5ndGggKCVsdSkuAABvdXQgR1NTLUFQSSBkYXRhAAAAACBHU1MtQVBJIGludGVncml0eQAAIEdTUy1BUEkgY29uZmlkZW50aWFsaXR5AAAAAFNPQ0tTNSBhY2Nlc3Mgd2l0aCVzIHByb3RlY3Rpb24gZ3JhbnRlZC4KAAAAMS4yLjg0MC4xMDA0MC40LjEAAABkc2EAMS4yLjg0MC4xMDA0MC40LjMAAABkc2Etd2l0aC1zaGExAAAAMS4yLjg0MC4xMDA0NS4yLjEAAABlY1B1YmxpY0tleQAxLjIuODQwLjEwMDQ1LjMuMC4xAGMycG5iMTYzdjEAADEuMi44NDAuMTAwNDUuNC4xAAAAZWNkc2Etd2l0aC1TSEExADEuMi44NDAuMTAwNDYuMi4xAAAAZGhwdWJsaWNudW1iZXIAADEuMi44NDAuMTEzNTQ5LjEuMS4xAAAAAHJzYUVuY3J5cHRpb24AAAAxLjIuODQwLjExMzU0OS4xLjEuMgAAAABtZDJXaXRoUlNBRW5jcnlwdGlvbgAAAAAxLjIuODQwLjExMzU0OS4xLjEuNAAAAABtZDVXaXRoUlNBRW5jcnlwdGlvbgAAAAAxLjIuODQwLjExMzU0OS4xLjEuNQAAAABzaGExV2l0aFJTQUVuY3J5cHRpb24AAAAxLjIuODQwLjExMzU0OS4xLjEuMTAAAABSU0FTU0EtUFNTAAAxLjIuODQwLjExMzU0OS4xLjEuMTQAAABzaGEyMjRXaXRoUlNBRW5jcnlwdGlvbgAxLjIuODQwLjExMzU0OS4xLjEuMTEAAABzaGEyNTZXaXRoUlNBRW5jcnlwdGlvbgAxLjIuODQwLjExMzU0OS4xLjEuMTIAAABzaGEzODRXaXRoUlNBRW5jcnlwdGlvbgAxLjIuODQwLjExMzU0OS4xLjEuMTMAAABzaGE1MTJXaXRoUlNBRW5jcnlwdGlvbgAxLjIuODQwLjExMzU0OS4yLjIAAG1kMgAxLjIuODQwLjExMzU0OS4yLjUAAG1kNQAxLjMuMTQuMy4yLjI2AAAAQ04AADIuNS40LjQAU04AADIuNS40LjUAc2VyaWFsTnVtYmVyAAAAADIuNS40LjYAMi41LjQuNwBMAAAAMi41LjQuOABTVAAAMi41LjQuOQBzdHJlZXRBZGRyZXNzAAAAMi41LjQuMTAAAAAATwAAADIuNS40LjExAAAAAE9VAAAyLjUuNC4xMgAAAAB0aXRsZQAAADIuNS40LjEzAAAAADIuNS40LjE3AAAAAHBvc3RhbENvZGUAADIuNS40LjQxAAAAADIuNS40LjQyAAAAAGdpdmVuTmFtZQAAADIuNS40LjQzAAAAAGluaXRpYWxzAAAAADIuNS40LjQ0AAAAAGdlbmVyYXRpb25RdWFsaWZpZXIAMi41LjQuNDUAAAAAWDUwMFVuaXF1ZUlkZW50aWZpZXIAAAAAMi41LjQuNDYAAAAAZG5RdWFsaWZpZXIAMi41LjQuNjUAAAAAcHNldWRvbnltAAAAMS4yLjg0MC4xMTM1NDkuMS45LjEAAAAAZW1haWxBZGRyZXNzAAAAADIuNS40LjcyAAAAAHJvbGUAAAAAc3ViamVjdEFsdE5hbWUAADIuNS4yOS4xOAAAAGlzc3VlckFsdE5hbWUAAAAyLjUuMjkuMTkAAABiYXNpY0NvbnN0cmFpbnRzAAAAADIuMTYuODQwLjEuMTAxLjMuNC4yLjQAAHNoYTIyNAAAMi4xNi44NDAuMS4xMDEuMy40LjIuMQAAc2hhMjU2AAAyLjE2Ljg0MC4xLjEwMS4zLjQuMi4yAABzaGEzODQAADIuMTYuODQwLjEuMTAxLjMuNC4yLjMAAHNoYTUxMgAAJTAyeDoAAAAweAAAJXMlbHgAAAAgR01UAAAAACUuNHMtJS4ycy0lLjJzICUuMnM6JS4yczolYyVjJXMlLipzJXMlLipzAAAAR01UACV1JS4ycy0lLjJzLSUuMnMgJS4yczolLjJzOiUuMnMgJS4qcwAAAAAgICAlczogJXMKAAAgICBSU0EgUHVibGljIEtleSAoJWx1IGJpdHMpCgAAACVsdQBSU0EgUHVibGljIEtleQAAcnNhKG4pAAByc2EoZSkAAGRzYShwKQAAZHNhKHEpAABkc2EoZykAAGRzYShwdWJfa2V5KQAAAABkaChwKQAAAGRoKGcpAAAAZGgocHViX2tleSkAU3ViamVjdAAlMmQgU3ViamVjdDogJXMKAAAAAElzc3VlcgAAICAgSXNzdWVyOiAlcwoAACVseABWZXJzaW9uACAgIFZlcnNpb246ICVsdSAoMHglbHgpCgAAAABTZXJpYWwgTnVtYmVyAAAAICAgU2VyaWFsIE51bWJlcjogJXMKAAAAU2lnbmF0dXJlIEFsZ29yaXRobQAgICBTaWduYXR1cmUgQWxnb3JpdGhtOiAlcwoAU3RhcnQgRGF0ZQAAICAgU3RhcnQgRGF0ZTogJXMKAABFeHBpcmUgRGF0ZQAgICBFeHBpcmUgRGF0ZTogJXMKAFB1YmxpYyBLZXkgQWxnb3JpdGhtAAAAACAgIFB1YmxpYyBLZXkgQWxnb3JpdGhtOiAlcwoAAAAAU2lnbmF0dXJlAAAAICAgU2lnbmF0dXJlOiAlcwoAAAAtLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0ALS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQAAAENlcnQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AAAAAAABQPzmdUqJG35E/AAAAAAAA8D8YLURU+yEJQAAAAAAAACRAAAAAAAAAMED4wWMa3KVMQAAAAAAAKHdAAAAAAABwf0AAAAAAAECPQAAAAACAhC5BAAAAAAAA4EEAAAAAAADgQwAAAAAAAPB/AAAAAAAA8L8AAAAAAADgwwAAAAAAAPD/CwAAAGAAAAAAAAAAAAAAAAAAAAAgAAAAFwAAABgAAAD/////////f/////////9/AAAAAAAAAIAAAAAAAAAAgP////8AAMA/AAAAAAAAAAAAAAAAAADwQQAAAAAAAAAABGZtb2QAAAAAAAAAAAIWAEAFSQDA4UgAUOFIANDgSADw4EgAwOFIAFDhSADQ4EgAQOFIAEDhSACA4UgAQOFIAMDhSADA4UgAUOFIAMDhSAAAAAAAAAA4QwAAAAAAADhDB1wUMyamkTwYLURU+yH5PwdcFDMmpqG8GC1EVPshCcAHXBQzJqahPBgtRFT7IQlAAAAAAAAAAIAAAAAAAAAAAAAAAPj/////AAAA+P////8AAAAAwP//fwAAAAAAAAAAAAAAAAAAAABVVVVVVVXFvzMzMzMzM7O/t23btm3bpr/poosuuuiWPzMzMzMzM7M/x3Ecx3Ecnz9VVVVVVVXFP0/sxE7sxJE/t23btm3bpj8kcnh4eKiHP5qZmZmZmYw//////////38AAAAAAMD//wAAAAAAAPA/AAAAAAAA4D8AAAAAAAAQAO85+v5CLoZAAADXvTJiCAwAAAAAAADwfwAAAAAAAAAAAAAAAAAA8DcAAAAAAAA4QwAAAAAAADhDB1wUMyamkTwYLURU+yH5PwAAAAAAAACAAAAAAAAAAAAAAAD4/////wAAAPj/////AAAAAMD//39VVVVVVVXFPzMzMzMzM7M/t23btm3bpj/poosuuuiWPzMzMzMzM7M/x3Ecx3Ecnz9VVVVVVVXFP0/sxE7sxJE/t23btm3bpj8kcnh4eKiHP5qZmZmZmYw//////////38AAAAAAMD//wAAAAAAAPA/AAAAAAAAEADvOfr+Qi6GQAAA170yYggMAAAAAAAA8H8AAAAAAAAAAFVVVVVVVcW/AAAAAAAA4L8RERERERGBP1VVVVVVVaU/GqABGqABKr8XbMEWbMFWvzTHVqXjHcc+GqABGqAB+j6DyMltMF8kQAAAAAAAADhDAABgGmG0kD0AAGAaYbSQPQAAQFT7Ibk/c3ADLooZYzsAAAAAAABgQwAAAAAAAIA8////////7z8AAAAAAAAAgAAAAAAAAPA/AAAAAAAA8L//////////fwAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAPD/AAAAAAAA8P/A////AAAAAMD///8AAAAAwP8AAAAAAADA/wAAAAAAAAAAAAAAADhDAAAAAAAAOEMAAAAAAAAwPAAAAAAAADA8/oIrZUcVV0D+gitlRxVXQAAA+v5CLoY/AAD6/kIuhj86O568mvccPTo7nrya9xw95QjRsXQQgT9apGZVVVXFP4Dt7CZXVaU/e+H/////3z8AAAAAAADwPwAAAAAAABAA7zn6/kIuhkAAANe9MmIIDAAAAAAAAPB/AAAAAAAACAAAAAAAAAAAAP///////+9/AAAAAAAAEAAAADA8AAAwPMpkVwTKZFcEAAAAAAAAAAD///////8PAP///////w8AAAAAAADA2z8AAAAAAMDbPxD4/////49CEPj/////j0IAAACA////fwAAAID///9/AHifUBNE0z9YsxIfMe8fPQAAAAAAAAAA/////////////////////wAAAAAAAAAAAAAAAAAA8D8AAAAAAADwPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwQwAAAAAAADBDAAAAAAAA8P8AAAAAAADwfwEAAAAAAPB/AQAAAAAA8H/5zpfGFIk1QD2BKWQJkwjAVYQ1aoDJJcDSNZbcAmr8P/eZGH6fqxZANbF33PJ68r8IQS6/bHpaPwAAAAAAAAAA////////DwD///////8PAA/4/////49CD/j/////j0IAAOD/////fwAA4P////9/ADj6/kIu5j8wZ8eTV/MuPQAAAAAAAAAA/////////////////////wAAAAAAAAAAAAAAAAAA8D8AAAAAAADwPwAAAAAAAAAA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AAAAAAAAAAAAAAD4/////wAAAPj/////AAAAAMD//39VVVVVVVXFPzMzMzMzM7M/t23btm3bpj/poosuuuiWPzMzMzMzM7M/x3Ecx3Ecnz9VVVVVVVXFP0/sxE7sxJE/t23btm3bpj8kcnh4eKiHP5qZmZmZmYw//////////38AAAAAAMD//wAAAAAAAPA/AAAAAAAAEADvOfr+Qi6GQAAA170yYggMAAAAAAAA8H8AAAAAAAAAAFVVVVVVVcW/AAAAAAAA4L8RERERERGBP1VVVVVVVaU/GqABGqABKr8XbMEWbMFWvzTHVqXjHcc+GqABGqAB+j6DyMltMF8kQAAAAAAAADhDAABgGmG0kD0AAGAaYbSQPQAAQFT7Ibk/c3ADLooZYzsAAAAAAABgQwAAAAAAAIA8////////7z8AAAAAAAAAgAAAAAAAAPA/AAAAAAAA8L//////////fwAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAPD/AAAAAAAA8P/A////AAAAAMD///8AAAAAwP8AAAAAAADA/wAAAAAAAAAAAAAAADhDAAAAAAAAOEMAAAAAAAAwPAAAAAAAADA8/oIrZUcVV0D+gitlRxVXQAAA+v5CLoY/AAD6/kIuhj86O568mvccPTo7nrya9xw95QjRsXQQgT9apGZVVVXFP4Dt7CZXVaU/e+H/////3z8AAAAAAADwPwAAAAAAABAA7zn6/kIuhkAAANe9MmIIDAAAAAAAAPB/AAAAAAAAAAD////////vfwAAAAAAABAAAAAwPAAAMDzKZFcEymRXBP///////w8A////////DwAP+P////+PQg/4/////49CAADg/////38AAOD/////fwA4+v5CLuY/MGfHk1fzLj0AAAAAAAAAAP////////////////////8AAAAAAAAAAAAAAAAAAPA/AAAAAAAA8D8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMEMAAAAAAAAwQwAAAAAAAPD/AAAAAAAA8H8BAAAAAADwfwEAAAAAAPB/VcUNCZhJwj8THiD////Pv3V91U3FVcW/p1VVVVVV1T9TeoaYmZnJPxwAAAAAAOC/AAAAAAAAOEMAAAAAAAA4Q////////w8A////////DwAAAAAAAADwPwAAAAAAAPA//////////3//////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AKAUAGAAAAAucnNyYyQwMQAAAABgoBQAgAEAAC5yc3JjJDAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v///wAAAADY////AAAAAP7///+kYEYAt2BGAAAAAAD+////AAAAAMz///8AAAAA/v///1RjRgBoY0YAAAAAAP7///8AAAAA1P///wAAAAD+////WHxGAGt8RgAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAAV5JGAAAAAAAOkkYAGJJGAP7///8AAAAApP///wAAAAD+////AAAAAG6QRgAAAAAAuI9GAMKPRgBAAAAAAAAAAAAAAAAQkUYA/////wAAAAD/////AAAAAAAAAAAAAAAAAQAAAAEAAACAWVQAIgWTGQIAAACQWVQAAQAAAKBZVAAAAAAAAAAAAAAAAAABAAAA/v///wAAAADQ////AAAAAP7////RhkYA1YZGAAAAAAD+////AAAAANj///8AAAAA/v///36HRgCCh0YAAAAAAM+ORgAAAAAAJFpUAAIAAAAwWlQATFpUAAAAAAAgjFQAAAAAAP////8AAAAADAAAAHCORgAAAAAAQIxUAAAAAAD/////AAAAAAwAAACjjkYA/v///wAAAADY////AAAAAP7///9ElEYAe5RGAAAAAAD+////AAAAANT///8AAAAA/v///wAAAADRm0YAAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAOK5RgAAAAAA/v///wAAAAC0////AAAAAP7///8AAAAAhLpGAAAAAAD+////AAAAANT///8AAAAA/v///wAAAADXukYAAAAAAP7///8AAAAAyP///wAAAAD+////AAAAAJu9RgAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAHL5GAAAAAAD+////AAAAANT///8AAAAA/v///wAAAACawEYAAAAAAP7///8AAAAAzP///wAAAAD+////AAAAAGDHRgAAAAAA/v///wAAAAC8////AAAAAP7///8AAAAAasVGAAAAAAD+////AAAAAND///8AAAAA/v///wAAAADTwkYAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAADDCRgAAAAAA/v///wAAAADU////AAAAAP7///8AAAAA6shGAAAAAAD+////AAAAANT///8AAAAA/v///wAAAACuyUYAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAANDHRgAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAAKctGAAAAAAD+////AAAAAND///8AAAAA/v///wAAAADVy0YAAAAAAP7///8AAAAA0P///wAAAAD+////AAAAAAHNRgAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAAs5GAAAAAAD+////AAAAAND///8AAAAA/v///wAAAADPz0YAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAH7TRgAAAAAA/v///wAAAADU////AAAAAP7///8AAAAACeRGAAAAAAD+////AAAAAND///8AAAAA/v///wAAAAB85EYAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAACnrRgAAAAAA/v///wAAAADU////AAAAAP7///8AAAAACPBGAAAAAAD+////AAAAANT///8AAAAA/v///wAAAAD6BUcAAAAAAP7///8AAAAA2P///wAAAAD+////iExHAJhMRwAAAAAA/v///wAAAADY////AAAAAP7///8AAAAAxUtHAAAAAAD+////AAAAANT///8AAAAA/v///wAAAAByTkcAAAAAAP7///8AAAAAzP///wAAAAD+////AAAAAJhgRwAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAX19HAAAAAAD+////AAAAAND///8AAAAA/v///wAAAACYXEcAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAOZkRwAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAAjWtHAAAAAAD+////AAAAALj///8AAAAA/v///wAAAAABZkcAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAOZrRwAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAm25HAAAAAAD+////AAAAALz///8AAAAA/v///wAAAAAUdEcAAAAAAP7///8AAAAAzP///wAAAAD+////AAAAAC57RwAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAmXxHAAAAAAD+////AAAAANT///8AAAAA/v///wAAAAB8gEcAAAAAAP7///8AAAAA1P///wAAAAD+////dJ5HAIieRwAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAtqdHAAAAAAD+////AAAAANT///8AAAAA/v///wAAAABlp0cAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAKGtRwAAAAAA/v///wAAAADY////AAAAAP7///8AAAAAPa1HAAAAAAD+////AAAAANj///8AAAAA/v///wAAAAD3rEcAAAAAAP7///8AAAAA2P///wAAAAD+////ZL9HAGi/RwAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAA/sVHAAAAAAD+////AAAAAND///8AAAAA/v///wAAAAAd0kcAAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAMvdRwAAAAAA/v///wAAAADY////AAAAAP7///8AAAAAx95HAAAAAAD+////AAAAANj///8AAAAA/v///wAAAAAs3kcAAAAAAP7///8AAAAA2P///wAAAAD+////AAAAAHfeRwAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAAfBHAAAAAAD+////AAAAANT///8AAAAA/v///wAAAACp8EcAAAAAAP7///8AAAAA0P///wAAAAD+////AAAAAOz5RwAAAAAA/v///wAAAADU////AAAAAP7///8AAAAAXvtHAAAAAAD+////AAAAANT///8AAAAA/v///wAAAAAJAEgAAAAAAP7///8AAAAAyP///wAAAAD+////AAAAAMwKSAAAAAAA/v///wAAAADE////AAAAAP7///8AAAAAfBFIAAAAAAD+////AAAAAND///8AAAAA/v///wAAAACZD0gAAAAAAP7///8AAAAA2P///wAAAAD+////iChIAKQoSAD/////21lJACIFkxkBAAAARGJUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAP7///8AAAAA1P///wAAAAD+////AAAAADk3SAAAAAAA/v///wAAAADY////AAAAAP7///8AAAAA8jZIAAAAAAD+////AAAAANT///8AAAAA/v///wAAAACoSUgAAAAAAP7///8AAAAA0P///wAAAAD+////AAAAADxXSAAAAAAA/v///wAAAADQ////AAAAAP7///8AAAAA81dIAAAAAAD+////AAAAAMz///8AAAAA/v///wAAAACsYUgAAAAAAAAAAACKYUgA/v///wAAAAC4////AAAAAP7///8AAAAAq2ZIAP7///8AAAAAu2dIAP7///8AAAAA1P///wAAAAD+////AAAAAIF3SAAAAAAA/v///wAAAADY////AAAAAP7///8AAAAAwnJIAAAAAAD+////AAAAANT///8AAAAA/v///wAAAAC7f0gAAAAAAP7///8AAAAA1P///wAAAAD+////AAAAAM+USAAAAAAA/v///wAAAADY////AAAAAP7///9J6kgAXOpIAChnFAAAAAAAAAAAAEBnFACgYgkAiGQUAAAAAAAAAAAAfGcUAABgCQC8ZBQAAAAAAAAAAABwaRQANGAJALRkFAAAAAAAAAAAAJxpFAAsYAkAvGYUAAAAAAAAAAAA6mkUADRiCQDMZhQAAAAAAAAAAAAgahQARGIJAAAAAAAAAAAAAAAAAAAAAAAAAAAApGoUAJRqFABKZxQAWmcUAG5nFAAsahQAgGoUAGxqFABUahQAQmoUAAAAAAB+aRQAAAAAABRoFAAkaBQANGgUAEZoFABWaBQAaGgUAHxoFACOaBQAomgUALhoFADKaBQA2mgUAOZoFAD0aBQAAGkUAA5pFAAiaRQAOGkUAFZpFAAachQA/GcUAOZnFAAIchQA9nEUANxxFADCcRQAqHEUAJxxFACScRQAgHEUAGxxFABecRQASHEUADJxFAAYcRQADHEUAPhwFADocBQA0nAUALpwFACscBQAmHAUAIhwFAB0cBQAXnAUAEhwFAA4cBQAJnAUANpnFADKZxQAuGcUAKBnFACKZxQAJnIUABRsFAC2ahQAzGoUAN5qFADsahQA/moUAAxrFAAcaxQAJmsUAC5rFABGaxQAXmsUAHxrFACUaxQApmsUALxrFADMaxQA4msUAPhrFAA2chQALGwUADpsFABObBQAamwUAH5sFACabBQAuGwUAMpsFADkbBQA+mwUABBtFAAqbRQAQG0UAFRtFABgbRQAiG0UAJRtFACibRQAsG0UALptFADMbRQA3G0UAO5tFAAGbhQAEm4UACBuFAAwbhQATm4UAFxuFABsbhQAjm4UAKZuFAC6bhQAym4UAOZuFAD0bhQACm8UABpvFAAsbxQAPm8UAE5vFABcbxQAeG8UAIRvFACWbxQAqG8UALhvFADIbxQA1G8UAOBvFADybxQABHAUABZwFAAAAAAA1GkUAKhpFADCaRQAAAAAABIAAIACAACA9mkUAAMAAIBwAACABQAAgAYAAIAXAACACgAAgAQAAIACahQACQAAgBUAAIATAACAEAAAgG8AAIB0AACAcwAAgJcAAIASahQADwAAgAcAAIAAAAAAMGcUAAAAAAAnAENvQ3JlYXRlR3VpZAAAb2xlMzIuZGxsAIsCUmVnT3BlbktleUV4QQCYAlJlZ1F1ZXJ5VmFsdWVFeEEAAFsCUmVnQ2xvc2VLZXkAQURWQVBJMzIuZGxsAADvA011bHRpQnl0ZVRvV2lkZUNoYXIACQVTZXRDdXJyZW50RGlyZWN0b3J5VwAApwFGb3JtYXRNZXNzYWdlVwAAYQJHZXRMYXN0RXJyb3IAAK0AQ29weUZpbGVXAP4FV2lkZUNoYXJUb011bHRpQnl0ZQARAkdldEN1cnJlbnREaXJlY3RvcnlXAADSAkdldFN0ZEhhbmRsZQAABwZXcml0ZUNvbnNvbGVBAPkEU2V0Q29uc29sZU1vZGUAAGYEUmVhZENvbnNvbGVBAAD8AUdldENvbnNvbGVNb2RlAAAXAkdldEN1cnJlbnRQcm9jZXNzAK4CR2V0UHJvY0FkZHJlc3MAAHgCR2V0TW9kdWxlSGFuZGxlVwAARQJHZXRGaWxlQXR0cmlidXRlc1cAAIABRmluZEZpcnN0RmlsZVcAAIwBRmluZE5leHRGaWxlVwB1AUZpbmRDbG9zZQAVAURlbGV0ZUZpbGVXAM8DTG9jYWxGcmVlAOgDTW92ZUZpbGVFeFcAuQRSZW1vdmVEaXJlY3RvcnlXAAB0AkdldE1vZHVsZUZpbGVOYW1lVwAAAgJHZXRDb25zb2xlU2NyZWVuQnVmZmVySW5mbwAAAgVTZXRDb25zb2xlVGV4dEF0dHJpYnV0ZQBLRVJORUwzMi5kbGwAAEAAQ2VydEZyZWVDZXJ0aWZpY2F0ZUNvbnRleHQAAENSWVBUMzIuZGxsAAQAR2V0RmlsZVZlcnNpb25JbmZvU2l6ZUEADwBWZXJRdWVyeVZhbHVlQQAAAABHZXRGaWxlVmVyc2lvbkluZm9BAFZFUlNJT04uZGxsADoAV1NBSW9jdGwAAJUAZnJlZWFkZHJpbmZvAACWAGdldGFkZHJpbmZvAFdTMl8zMi5kbGwAANwAQ3J5cHRSZWxlYXNlQ29udGV4dADSAENyeXB0R2VuUmFuZG9tAADCAENyeXB0QWNxdWlyZUNvbnRleHRXAADVAENyeXB0R2V0SGFzaFBhcmFtAMcAQ3J5cHREZXN0cm95SGFzaAAA2QBDcnlwdEhhc2hEYXRhAMQAQ3J5cHRDcmVhdGVIYXNoAHMCR2V0TW9kdWxlRmlsZU5hbWVBAADCA0xvYWRMaWJyYXJ5RXhBAACrAUZyZWVMaWJyYXJ5AKYBRm9ybWF0TWVzc2FnZUEAAOcDTW92ZUZpbGVFeEEAMgVTZXRMYXN0RXJyb3IAAIAFU2xlZXBFeAB9BVNsZWVwADEBRW50ZXJDcml0aWNhbFNlY3Rpb24AAL0DTGVhdmVDcml0aWNhbFNlY3Rpb24AAGADSW5pdGlhbGl6ZUNyaXRpY2FsU2VjdGlvbkV4ABABRGVsZXRlQ3JpdGljYWxTZWN0aW9uAAgDR2V0VGlja0NvdW50NjQAAOACR2V0U3lzdGVtRGlyZWN0b3J5VwDEA0xvYWRMaWJyYXJ5VwAAwQVWZXJTZXRDb25kaXRpb25NYXNrAMUFVmVyaWZ5VmVyc2lvbkluZm9XAABhAUV4cGFuZEVudmlyb25tZW50U3RyaW5nc0EA2AVXYWl0Rm9yU2luZ2xlT2JqZWN0RXgAhgBDbG9zZUhhbmRsZQB1AkdldE1vZHVsZUhhbmRsZUEAAIYDSXNQcm9jZXNzb3JGZWF0dXJlUHJlc2VudAB/A0lzRGVidWdnZXJQcmVzZW50AK0FVW5oYW5kbGVkRXhjZXB0aW9uRmlsdGVyAABtBVNldFVuaGFuZGxlZEV4Y2VwdGlvbkZpbHRlcgDQAkdldFN0YXJ0dXBJbmZvVwBNBFF1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyABgCR2V0Q3VycmVudFByb2Nlc3NJZAAcAkdldEN1cnJlbnRUaHJlYWRJZAAA6QJHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZQBjA0luaXRpYWxpemVTTGlzdEhlYWQAjAVUZXJtaW5hdGVQcm9jZXNzAADTBFJ0bFVud2luZABfA0luaXRpYWxpemVDcml0aWNhbFNlY3Rpb25BbmRTcGluQ291bnQAngVUbHNBbGxvYwAAoAVUbHNHZXRWYWx1ZQChBVRsc1NldFZhbHVlAJ8FVGxzRnJlZQDDA0xvYWRMaWJyYXJ5RXhXAAAtAUVuY29kZVBvaW50ZXIAYgRSYWlzZUV4Y2VwdGlvbgAA6QRTZXRDb25zb2xlQ3RybEhhbmRsZXIAcwRSZWFkRmlsZQAAywBDcmVhdGVGaWxlVwAvAkdldERyaXZlVHlwZVcARwJHZXRGaWxlSW5mb3JtYXRpb25CeUhhbmRsZQAATgJHZXRGaWxlVHlwZQAiBFBlZWtOYW1lZFBpcGUAiQVTeXN0ZW1UaW1lVG9UelNwZWNpZmljTG9jYWxUaW1lAGoBRmlsZVRpbWVUb1N5c3RlbVRpbWUAAFkCR2V0RnVsbFBhdGhOYW1lVwAAEAVTZXRFbmRPZkZpbGUAAE4EUXVlcnlQZXJmb3JtYW5jZUZyZXF1ZW5jeQBeAUV4aXRQcm9jZXNzAHcCR2V0TW9kdWxlSGFuZGxlRXhXAAD2AkdldFRlbXBQYXRoVwAAKwFEdXBsaWNhdGVIYW5kbGUA5QBDcmVhdGVQcm9jZXNzVwAA8wBDcmVhdGVUaHJlYWQAAF8BRXhpdFRocmVhZAAArAFGcmVlTGlicmFyeUFuZEV4aXRUaHJlYWQAABIGV3JpdGVGaWxlANYBR2V0Q29tbWFuZExpbmVBANcBR2V0Q29tbWFuZExpbmVXAHAEUmVhZENvbnNvbGVXAADqAUdldENvbnNvbGVDUAAARQNIZWFwQWxsb2MASQNIZWFwRnJlZQAAIQJHZXREYXRlRm9ybWF0VwAADANHZXRUaW1lRm9ybWF0VwAAmwBDb21wYXJlU3RyaW5nVwAAsQNMQ01hcFN0cmluZ1cAAGUCR2V0TG9jYWxlSW5mb1cAAI0DSXNWYWxpZExvY2FsZQASA0dldFVzZXJEZWZhdWx0TENJRAAAVAFFbnVtU3lzdGVtTG9jYWxlc1cAAJ8BRmx1c2hGaWxlQnVmZmVycwAATAJHZXRGaWxlU2l6ZUV4ACMFU2V0RmlsZVBvaW50ZXJFeAAATANIZWFwUmVBbGxvYwBCAkdldEZpbGVBdHRyaWJ1dGVzRXhXAAAdBVNldEZpbGVBdHRyaWJ1dGVzVwAASgVTZXRTdGRIYW5kbGUAALoAQ3JlYXRlRGlyZWN0b3J5VwAAwQFHZXRDUEluZm8ADgNHZXRUaW1lWm9uZUluZm9ybWF0aW9uAADXBVdhaXRGb3JTaW5nbGVPYmplY3QAPAJHZXRFeGl0Q29kZVByb2Nlc3MAAN0AQ3JlYXRlUGlwZQAAewFGaW5kRmlyc3RGaWxlRXhXAACLA0lzVmFsaWRDb2RlUGFnZQCyAUdldEFDUAAAlwJHZXRPRU1DUAAANwJHZXRFbnZpcm9ubWVudFN0cmluZ3NXAACqAUZyZWVFbnZpcm9ubWVudFN0cmluZ3NXABQFU2V0RW52aXJvbm1lbnRWYXJpYWJsZVcAtAJHZXRQcm9jZXNzSGVhcAAA1wJHZXRTdHJpbmdUeXBlVwAATgNIZWFwU2l6ZQAAEQZXcml0ZUNvbnNvbGVXAAkBRGVjb2RlUG9pbnRlcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wEAAAAAAAAAAAAAALEZv0RO5kC7AQAAAAAAAAD/////AAAAAAAAAAAAAAAAIAWTGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACJAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAgAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAABkgVQAnJBUAJyQVACckFQAnJBUAJyQVACckFQAnJBUAJyQVACckFQAf39/f39/f39ogVQAoJBUAKCQVACgkFQAoJBUAKCQVACgkFQAoJBUABCBVAAuAAAALgAAAAAAAAAMlEkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAgICAgICAgICAgICAgICAgMDAwMDAwMDAAAAAAAAAAD/////AQAAAAiPSQABAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECDVAAAAAAAAAAAAAAAAABAg1QAAAAAAAAAAAAAAAAAQINUAAAAAAAAAAAAAAAAAECDVAAAAAAAAAAAAAAAAABAg1QAAAAAAAAAAAAAAAAAAAAAAAAAAAAQgVQAAAAAAAAAAACIkUkACJNJAPCBSQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAglQAOIRUAEMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAIAACgoKAAAAAAAAAAAAAAAIj0kACpRJAAAAAAAAAAAAAQAAAP7///9QU1QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUERUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJiDVADYg1QA/////wAAAAAAAAAA/////wAAAAAAAAAA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VDpYOlw6YDpkOmg6bDrpOkE7TDudO6g73TsHPAw8FjwgPCo8NDw+PEg8UjxcPGY8cDx6PIQ8jjyYPKI8rDy2PMA8yjzUPN486DzyPPw8Bj0QPRo9JD0uPTg9Qj1MPVY9YD1qPXQ9fj2IPZI9nD2mPbA9uj3EPc492D3iPew99j0APgo+FD4ePig+Mj48PkY+UD5aPmQ+bj54PoI+jD6WPqA+qj60Pr4+yD7PPv8+aT+PP5k/sD+3P7w/wz/KP9E/2D/fP+Y/7T/0PwAAAAAEAFwBAAAKMDIwPTBUMFgwXDBgMGQwaDBsMHAwdDB4MHwwgDCEMIgwjDCQMJQwmDCcMKAwpDCoMKwwsDC0MLgwvDDAMMQwyDDMMNAw1DDYMNww4DDkMOgw7DDwMPQw+DD8MAAxBDEIMQwxEDEUMRgxHDEgMSQxKDEsMTAxNDE4MTwxQDFEMUgxTDFQMVQxWDFcMWAxZDFoMWwxcDF0MXgxfDGAMYQxiDGMMZAxlDGYMZwxoDGkMagxrDGwMbQxuDG8McAxxDHIMcwx0DHUMdgx3DHgMeQx6DHsMfAx9DFSMrwy5DLpMu4yCTMRMxYzMzNIM2QzeTMRNGY0fzS+NMw00DTWNNo04DTkNOk07zT5NAE1FDUrNT01RTVZNXQ1gDWLNZQ1ozWuNbI2yzZHN9s3SzjAOP84GDlhO/A89Dz4PPw8AD0EPQg9DD0QPRQ9GD0cPcs9mT4dPwAAABAEAEgAAAClMCwxLDJ2MtgyFzN+M/Q0LjVgNYg1azYgNzo3TTdtONY4ITn5OUU6Mjt1O+Q7EDxEPFs81zwoPbg9aD6EPgAAACAEAFgAAAAPMCcwljDYMfUzgDTBNOU0YDWHNZQ1hzZlN7I3UjhqOJw4oDikOKg4rDiwOLQ4uDi8OMA4xDjIOMw40DjUONg43DjgOOQ4czt/PPA8sz8AAAAwBABoAAAAbDF2MWIybTLoMhozsjPENAY2gzZRN443sDcMOBs4IzgyODs4QjhNOMM42jgMOTc5Tzl3OZE59TlhOqA6ATuCO/E7LTxZPHg8jjy6PFI9lz2uPdU9VD5FP24/ij+xP80/AEAEAHAAAAB6MYoxjzGUMZsxoDGoMQ8yYjKUMpgynDKgMm80hDShNEY1jzWmNdQ17TUWNjE2fDaGNp82ujbTNvE25jdOOVg5ajmpObM5xTnqOTU6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4DDkMOgw7DDwMfQx+DH8MQAyBDIIMgwyEDIUMhgyHDIgMiQyKDIsMjAyNDI4MjwyQDJEMkgyTDJQMlQyWDJcMmAyZDJoMmwycDJ0MngyfDKAMoQyiDKMMpAylDKYMqQyqDKsMrAytDK4MrwywDLEMsgyzDLQMtQy2DLcMuAy5DLoMuwy8DL0Mvgy/DIAMwQzCDMMMxAzFDMYMxwzIDMkMygzLDMwMzQzODM8M0AzRDNIM0wzUDOwNrQ2uDa8NsA2xDbINsw20DbUNtg23DbgNuQ26DbsNvA29Db4Nvw2AAAAkAkA/AAAABQ2HDYkNiw2NDY8NkQ2TDZUNlw2ZDZsNnQ2fDaENow2lDacNqQ2rDa0Nrw2xDbMNtQ23DbkNuw29DakOKg4rDiwOOg49DgAOQw5GDkkOTA5PDlIOVQ5YDlsOXg5hDmQOZw5qDm0OcA5zDnYOeQ58Dn8OQg6FDogOiw6ODpEOlA6XDpoOnQ6gDqMOpg6pDqwOrw6yDrUOuA67Dr4OgQ7EDscOyg7NDtAO0w7WDtkO3A7fDuIO5Q7oDusO7g7xDvQO9w76Dv4OwQ8EDwcPCg8NDxAPEw8WDxkPHA8fDyIPJQ8oDysPLg8xDzQPNw86Dz0PAA9AAAAoAkA0AEAAMw21DbcNuQ27Db0Nvw2BDcMNxQ3HDckNyw3NDc8N0Q3TDdUN1w3ZDdsN3Q3fDeEN4w3lDecN6Q3rDe0N7w3xDfMN9Q33DfkN+w39Df8NwQ4DDgUOBw4JDgsODQ4PDhEOEw4VDhcOGQ4bDh0OHw4hDiMOJQ4nDikOKw4tDi8OMQ4zDjUONw45DjsOPQ4/DgEOQw5FDkcOSQ5LDk0OTw5RDlMOVQ5XDlkOWw5dDl8OYQ5jDmUOZw5pDmsObQ5vDnEOcw51DncOeQ57Dn0Ofw5BDoMOhQ6HDokOiw6NDo8OkQ6TDpUOlw6ZDpsOnQ6fDqEOow6lDqcOqQ6rDq0Orw6xDrMOtQ63DrkOuw69Dr8OgQ7DDsUOxw7JDssOzQ7PDtEO0w7VDtcO2Q7bDt0O3w7hDuMO5Q7nDukO6w7tDu8O8Q7zDvUO9w75DvsO/Q7/DsEPAw8FDwcPCQ8LDw0PDw8RDxMPFQ8XDxkPGw8dDx8PIQ8jDyUPJw8pDysPLQ8vDzEPMw81DzcPOQ87Dz0PPw8BD0MPRQ9HD0kPSw9ND08PUQ9TD1UPVw9ZD1sPXQ9fD2EPYw9lD2cPaQ9rD20Pbw9xD3MPdQ93D3kPQCwCQDQAQAA6DfwN/g3ADgIOBA4GDggOCg4MDg4OEA4SDhQOFg4YDhoOHA4eDiAOIg4kDiYOKA4qDiwOLg4wDjIONA42DjgOOg48Dj4OAA5CDkQORg5IDkoOTA5ODlAOUg5UDlYOWA5aDlwOXg5gDmIOZA5mDmgOag5sDm4OcA5yDnQOdg54DnoOfA5+DkAOgg6EDoYOiA6KDowOjg6QDpIOlA6WDpgOmg6cDp4OoA6iDqQOpg6oDqoOrA6uDrAOsg60DrYOuA66DrwOvg6ADsIOxA7GDsgOyg7MDs4O0A7SDtQO1g7YDtoO3A7eDuAO4g7kDuYO6A7qDuwO7g7wDvIO9A72DvgO+g78Dv4OwA8CDwQPBg8IDwoPDA8ODxAPEg8UDxYPGA8aDxwPHg8gDyIPJA8mDygPKg8sDy4PMA8yDzQPNg84DzoPPA8+DwAPQg9ED0YPSA9KD0wPTg9QD1IPVA9WD1gPWg9cD14PYA9iD2QPZg9oD2oPbA9uD3APcg90D3YPeA96D3wPfg9AD4IPhA+GD4gPig+MD44PkA+SD5QPlg+YD5oPnA+eD6APog+kD6YPqA+qD6wPrg+wD7IPtA+2D7gPug+8D74PgA/AMAJABAAAAD6OP44AjkGOQDQCQAMAAAAyDHMMQDgCQDgAgAAiDGMMZAxlDGYMZwxoDGkMagxrDGwMbQxuDG8McAxxDHIMcwx0DHUMeAx5DHoMewx8DH0MQAyBDIIMgwyGDIcMiAyJDIoMiwyODI8MkgyTDJYMlwyYDJkMmgybDJwMnQyeDJ8MogyjDKYMpwyoDKkMqgyrDKwMrQywDLEMsgyzDLQMtQy2DLcMuAy5DLoMuwy8DL0Mvgy/DIAMwQzCDMMMxAzFDMYMxwzIDMkMygzLDMwMzQzODM8M0AzRDNIM0wzUDNUM1gzXDNgM2QzaDNsM3AzdDN4M3wzgDOEM4gzjDOQM5QzmDOcM6AzpDOoM6wzuDO8M8AzxDPIM8wz0DPUM9gz3DPgM+Qz6DPsM/Qz+DMANAQ0DDQQNBg0HDQkNCg0MDQ0NDw0QDRINEw0VDRYNGA0ZDRsNHA0eDR8NIQ0iDSQNJQ0nDSgNKg0rDS0NLg0wDTENMw00DTYNNw05DToNPA09DT8NAA1CDUMNRQ1GDUgNSQ1LDUwNTg1PDVENUg1UDVUNVw1YDVoNWw1dDV4NYA1hDWMNZA1mDWcNaQ1qDWwNbQ1vDXANcg1zDXUNdg14DXkNew18DX4Nfw1BDYINhA2FDYcNiA2KDYsNjQ2ODZANkQ2TDZQNlg2XDZkNmg2cDZ0Nnw2gDaINow2lDaYNqA2pDasNrA2uDa8NsQ2yDbQNtQ23DbgNug27Db0Nvg2ADcENww3EDcYNxw3JDcoNzA3NDc8N0A3SDdMN1Q3WDdgN2Q3bDdwN3g3fDeEN4g3kDeUN5w3oDeoN6w3tDe4N8A3xDfMN9A32DfcN+Q36DfwN/Q3/DcAOAg4DDgUOBg4IDgkOCw4MDg4ODw4RDhIOFA4VDhcOGA4aDhsOHQ4eDiAOIQ4jDiQOJg4nDikOKg4sDi0OLw4wDjIOMw41DjYOOA45DjsOPA4+Dj8OAQ5CDkQORQ5HDkgOSg5LDk0OTg5QDlEOUw5UDkAAAoAGAAAAJQ/mD+cP6A/pD+oP6w/sD8AIAoAEAAAAKQ8qDysPLA8AJAKACwAAADsPfA99D34Pfw9AD4EPgg+DD4QPhQ+JD4oPiw+MD40Pjg+AAAA0AoADAAAAGwycDIAAAsAEAAAADQxODE8MQAAADALABgAAACMPpA+lD6cPqA+pD6oPqw+AKALABwAAADMNNA01DTYNNw04DTkNOg07DTwNADwCwAMAAAABDoAAABADAAMAAAATDMAAAAQDQAMAAAAVDlYOQBADQAMAAAAxDXINQBwDQAYAAAA3DDgMOQw6DDsMPAw9DAAAACADQAcAAAApDGoMawxsDG0MbgxvDF8MoAyhDIAsA0AIAAAAAQ2CDYMNhA2FDYYNhw2IDYkNig2LDYwNgAAEQAgAAAAxDDIMMww0DDUMNgw3DDgMOQw6DDsMPAwAOASALQCAABgOGQ4aDhsOHA4dDh4OHw4gDiEOIg4jDiQOJQ4mDicOKA4pDioOKw46DnsOfA59Dn4Ofw5ADoEOgg6DDoQOhQ6GDocOiA6JDooOiw6MDo0Ojg6PDpAOkQ6SDpMOlA6VDpYOlw6YDpkOmg6bDpwOnQ6eDp8OoA6hDqIOow6kDqUOpg6nDqgOqQ6qDqsOrA6tDq4Orw6wDrEOsg6zDrQOtQ62DrgOuQ66DrsOvA69Dr4Ovw6ADsEOwg7DDsQOxQ7IDskOyg7LDswOzQ7ODs8O0A7RDtIO0w7UDtUO1g7XDtgO2Q7aDtsO3A7dDt4O3w7gDuEO4g7jDuQO5Q7mDucO6A7pDuoO6w7sDu0O7g7vDvAO8Q7yDvMO9A72DvoO+w78Dv0O/g7ADwIPBA8GDwoPCw8MDw0PDg8PDxAPEQ8SDxMPFA8VDxYPFw8YDxkPGg8bDxwPHQ8eDx8PIg8jDyQPJQ8mDycPKA8pDyoPKw8sDy0PLg8vDzAPMQ8yDzMPNA81DzYPNw84DzkPOg87DzwPPQ8+Dz8PAA9BD0IPQw9GD0cPSA9JD0oPSw9MD00PTg9PD1APUQ9SD1MPVA9VD1YPVw9YD1kPWg9bD1wPXQ9eD18PYA9hD2IPYw9kD2UPZg9nD2gPaQ9qD2sPbA9tD24Pbw9wD3EPcg9zD3QPdg94D3oPfg9/D0APgQ+CD4MPhA+FD4YPhw+ID4kPig+LD4wPjQ+OD48Pkg+TD5QPlQ+WD5cPmA+ZD5oPmw+cD50Png+fD6APoQ+iD6MPpA+lD6YPpw+qD6sPrA+tD64Prw+wD7EPsg+zD7QPtQ+2D7cPuA+5D7oPuw+8D70Pvg+/D4APwQ/CD8MPxA/FD8YPxw/ID8kPzA/ND84Pzw/QD9EP0g/TD9QP1Q/WD9cP2A/ZD8AEBMAHAAAAIg7lDugO6w7uDvEO9A73DvoO/Q7ACATAOAAAACoNgg3oDekN6g3rDe0N8Q36DfsN/A39Df8NwA4CDgMOPA79Dv4O/w7ADwEPAg8DDwQPBQ8GDwcPCA8JDwoPCw8MDw0PDg8PDxAPEQ8SDxMPFA8VDxYPFw8YDxkPGg8bDxwPHQ8eDx8PIA8hDyIPIw8kDyUPJg8nDygPKQ8qDysPLA8tDy4PLw8wDzEPMg8zDzQPNQ82DzcPOA85DzoPOw88Dz0PPg8/DwAPQQ9CD0MPRA9FD0YPRw9ID0kPSg9LD0wPTQ9OD08PUA9RD1IPUw9UD1UPVg9XD0AwBMAKAAAAAA6BDoIOgw6EDoUOhg6HDogOiQ6KDosOjA6NDo4Ojw6ANATACgAAABAMkQySDJMMlAyVDJYMlwyYDJkMmgybDJwMnQyeDJ8MgBQFADMAAAADDQQNBg0gDSENJQ0mDSgNLg0yDTMNNw04DTkNOw0BDUUNRg1KDUsNTQ1TDXkOOg4BDkIOSQ5KDlIOVA5VDlwOXg5fDmMObA5vDnEOew58DkMOhA6GDogOig6LDo0Okg6UDpkOnw6gDqgOsA64DoAOyA7QDtgO4A7oDvAO+A7ADwgPEA8YDyAPKA8wDzgPAA9ID1APWA9gD2gPbw9wD3gPQA+ID5APmA+gD6gPsA+4D4APyA/QD9gP4A/nD+gP8A/4D8AAABgFABUAAAAADAgMEAwXDBgMIAwoDDAMOAwADEgMUAxYDGAMaAxwDHgMQAyIDI8MkAySDJUMogyqDLIMugyCDMoMzQzUDNcM3gzmDO4M9gz9DP4MwCAFACAAQAAEDEUMRgxHDEgMSQxKDEsMTAxNDFAMUQxSDFMMVAxVDFYMVwxYDFwMYAysDLAMtAy4DLwMggzFDMYMxwzODM8M4AzhDMYNBw0cDl0OXg5fDmAOYQ5iDmQOZQ5mDmcOaA5pDmoOaw5sDm0Obg5vDnAOcQ5yDnMOdA51DnYOdw54DnkOeg57DnwOfQ5+Dn8OQA6BDoIOgw6EDoUOhg6HDogOiQ6KDosOjA6NDo4Ojw6QDpEOkg6TDpQOlQ6WDpcOmA6ZDpoOmw6cDp0Ong6fDqAOoQ6iDqMOpA6lDqYOpw6oDqkOqg6rDqwOrQ6uDq8OsA6xDrIOsw60DrUOtg63DrgOuQ66DrsOvA69Dr4Ovw6ADsEOwg7DDsQOxQ7GDscOyA7JDsoOyw7MDs0Ozg7PDtAO0Q7SDtMO1A7VDtYO1w7YDtkO2g7bDtwO3Q7eDt8O4A7hDuIO4w7kDuUO5g7nDugO6Q7qDu8O8w70DvkO+w7ADwgPEA8XDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA