PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItMCc+PGRpdiBzdHlsZT0ibWF4LWhlaWdodDozMyUhaW1wb3J0YW50O3dpZHRoOjEwMCU7YmFja2dyb3VuZDp5ZWxsb3c7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICMwMDA7cGFkZGluZzoyJSAwO21hcmdpbjoyJSAwIj4NCjxkaXYgaWQ9InlhbmRleF9ydGJfUi1BLTIzMTM4Ny0xMCI+PC9kaXY+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgKGZ1bmN0aW9uKHcsIGQsIG4sIHMsIHQpIHsNCiAgICAgICAgd1tuXSA9IHdbbl0gfHwgW107DQogICAgICAgIHdbbl0ucHVzaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIFlhLkNvbnRleHQuQWR2TWFuYWdlci5yZW5kZXIoew0KICAgICAgICAgICAgICAgIGJsb2NrSWQ6ICJSLUEtMjMxMzg3LTEwIiwNCiAgICAgICAgICAgICAgICByZW5kZXJUbzogInlhbmRleF9ydGJfUi1BLTIzMTM4Ny0xMCIsDQogICAgICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWduOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgICB0ID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07DQogICAgICAgIHMgPSBkLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICBzLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsNCiAgICAgICAgcy5zcmMgPSAiLy9hbi55YW5kZXgucnUvc3lzdGVtL2NvbnRleHQuanMiOw0KICAgICAgICBzLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0KTsNCiAgICB9KSh0aGlzLCB0aGlzLmRvY3VtZW50LCAieWFuZGV4Q29udGV4dEFzeW5jQ2FsbGJhY2tzIik7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS0wJz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPg0KPGRpdiBpZD0ieWFuZGV4X3J0Yl9SLUEtMjMxMzg3LTEiPjwvZGl2Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbih3LCBkLCBuLCBzLCB0KSB7DQogICAgICAgIHdbbl0gPSB3W25dIHx8IFtdOw0KICAgICAgICB3W25dLnB1c2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBZYS5Db250ZXh0LkFkdk1hbmFnZXIucmVuZGVyKHsNCiAgICAgICAgICAgICAgICBibG9ja0lkOiAiUi1BLTIzMTM4Ny0xIiwNCiAgICAgICAgICAgICAgICByZW5kZXJUbzogInlhbmRleF9ydGJfUi1BLTIzMTM4Ny0xIiwNCiAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgICB0ID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07DQogICAgICAgIHMgPSBkLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICBzLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsNCiAgICAgICAgcy5zcmMgPSAiLy9hbi55YW5kZXgucnUvc3lzdGVtL2NvbnRleHQuanMiOw0KICAgICAgICBzLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0KTsNCiAgICB9KSh0aGlzLCB0aGlzLmRvY3VtZW50LCAieWFuZGV4Q29udGV4dEFzeW5jQ2FsbGJhY2tzIik7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItMCc+PGRpdiBzdHlsZT0ibWF4LWhlaWdodDozMyUhaW1wb3J0YW50O3dpZHRoOjEwMCU7YmFja2dyb3VuZDp5ZWxsb3c7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICMwMDA7cGFkZGluZzoyJSAwO21hcmdpbjoyJSAwIj4NCjxkaXYgaWQ9InlhbmRleF9ydGJfUi1BLTIzMTM4Ny0xMCI+PC9kaXY+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgKGZ1bmN0aW9uKHcsIGQsIG4sIHMsIHQpIHsNCiAgICAgICAgd1tuXSA9IHdbbl0gfHwgW107DQogICAgICAgIHdbbl0ucHVzaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIFlhLkNvbnRleHQuQWR2TWFuYWdlci5yZW5kZXIoew0KICAgICAgICAgICAgICAgIGJsb2NrSWQ6ICJSLUEtMjMxMzg3LTEwIiwNCiAgICAgICAgICAgICAgICByZW5kZXJUbzogInlhbmRleF9ydGJfUi1BLTIzMTM4Ny0xMCIsDQogICAgICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWduOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgICB0ID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07DQogICAgICAgIHMgPSBkLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICBzLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsNCiAgICAgICAgcy5zcmMgPSAiLy9hbi55YW5kZXgucnUvc3lzdGVtL2NvbnRleHQuanMiOw0KICAgICAgICBzLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0KTsNCiAgICB9KSh0aGlzLCB0aGlzLmRvY3VtZW50LCAieWFuZGV4Q29udGV4dEFzeW5jQ2FsbGJhY2tzIik7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS0wJz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPg0KPGRpdiBpZD0ieWFuZGV4X3J0Yl9SLUEtMjMxMzg3LTEiPjwvZGl2Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbih3LCBkLCBuLCBzLCB0KSB7DQogICAgICAgIHdbbl0gPSB3W25dIHx8IFtdOw0KICAgICAgICB3W25dLnB1c2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBZYS5Db250ZXh0LkFkdk1hbmFnZXIucmVuZGVyKHsNCiAgICAgICAgICAgICAgICBibG9ja0lkOiAiUi1BLTIzMTM4Ny0xIiwNCiAgICAgICAgICAgICAgICByZW5kZXJUbzogInlhbmRleF9ydGJfUi1BLTIzMTM4Ny0xIiwNCiAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgICB0ID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07DQogICAgICAgIHMgPSBkLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICBzLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsNCiAgICAgICAgcy5zcmMgPSAiLy9hbi55YW5kZXgucnUvc3lzdGVtL2NvbnRleHQuanMiOw0KICAgICAgICBzLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0KTsNCiAgICB9KSh0aGlzLCB0aGlzLmRvY3VtZW50LCAieWFuZGV4Q29udGV4dEFzeW5jQ2FsbGJhY2tzIik7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC1nbC1tb2ItMScgPjxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6MzMlIWltcG9ydGFudDt3aWR0aDoxMDAlO2JhY2tncm91bmQ6eWVsbG93O2JvcmRlci1sZWZ0OjNweCBzb2xpZCAjMDAwO3BhZGRpbmc6MiUgMDttYXJnaW46MiUgMCIgY2xhc3M9ImhpZGRlbi1tZCBoaWRkZW4tbGciPg0KPHNjcmlwdCBhc3luYyBzcmM9Ii8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzIj48L3NjcmlwdD4NCiAgICA8aW5zIGNsYXNzPSJhZHNieWdvb2dsZSIgc3R5bGU9ImRpc3BsYXk6YmxvY2siIA0KICAgIGRhdGEtYWQtY2xpZW50PSJjYS1wdWItNjk4MDgyOTE2MzgxMjA0NyIgDQogICAgZGF0YS1hZC1zbG90PSI3MTU3OTE2MjE1Ij48L2lucz4NCiAgICA8c2NyaXB0Pg0KICAgICAgICB2YXIgZWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuaGlkZGVuLW1kLCAuaGlkZGVuLWxnJyk7DQogICAgICAgIHZhciBkaXNwbGF5ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwsIG51bGwpLmdldFByb3BlcnR5VmFsdWUoJ2Rpc3BsYXknKTsNCiAgICAgICAgdmFyIGlucyA9IGVsLnF1ZXJ5U2VsZWN0b3IoJ2lucycpOw0KICAgICAgICBpZiAoZGlzcGxheSA9PT0gJ2Jsb2NrJyl7DQogICAgICAgICAgICBpbnMuc2V0QXR0cmlidXRlKCdkYXRhLWFkLWZvcm1hdCcsICdhdXRvJyk7DQogICAgICAgIH0NCiAgICAgICAgKGFkc2J5Z29vZ2xlID0gd2luZG93LmFkc2J5Z29vZ2xlIHx8IFtdKS5wdXNoKHt9KTsNCiAgICA8L3NjcmlwdD4NCjwvZGl2PjwvZGl2Pg==PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC1nbC0xJz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiIGNsYXNzPSJoaWRkZW4tbWQgaGlkZGVuLWxnIj4NCjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQogICAgPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiIHN0eWxlPSJkaXNwbGF5OmJsb2NrIiANCiAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciIA0KICAgIGRhdGEtYWQtc2xvdD0iOTk0NjE4NjQ4NCI+PC9pbnM+DQogICAgPHNjcmlwdD4NCiAgICAgICAgdmFyIGVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmhpZGRlbi1tZCwgLmhpZGRlbi1sZycpOw0KICAgICAgICB2YXIgZGlzcGxheSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsLCBudWxsKS5nZXRQcm9wZXJ0eVZhbHVlKCdkaXNwbGF5Jyk7DQogICAgICAgIHZhciBpbnMgPSBlbC5xdWVyeVNlbGVjdG9yKCdpbnMnKTsNCiAgICAgICAgaWYgKGRpc3BsYXkgPT09ICdibG9jaycpew0KICAgICAgICAgICAgaW5zLnNldEF0dHJpYnV0ZSgnZGF0YS1hZC1mb3JtYXQnLCAnYXV0bycpOw0KICAgICAgICB9DQogICAgICAgIChhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQogICAgPC9zY3JpcHQ+DQo8L2Rpdj48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItMSc+PCEtLSBZYW5kZXguUlRCIFItQS0yMzEzODctNyAtLT4NCjxkaXYgaWQ9InlhbmRleF9ydGJfUi1BLTIzMTM4Ny03Ij48L2Rpdj4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAoZnVuY3Rpb24odywgZCwgbiwgcywgdCkgew0KICAgICAgICB3W25dID0gd1tuXSB8fCBbXTsNCiAgICAgICAgd1tuXS5wdXNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgWWEuQ29udGV4dC5BZHZNYW5hZ2VyLnJlbmRlcih7DQogICAgICAgICAgICAgICAgYmxvY2tJZDogIlItQS0yMzEzODctNyIsDQogICAgICAgICAgICAgICAgcmVuZGVyVG86ICJ5YW5kZXhfcnRiX1ItQS0yMzEzODctNyIsDQogICAgICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWduOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgICB0ID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07DQogICAgICAgIHMgPSBkLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICBzLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsNCiAgICAgICAgcy5zcmMgPSAiLy9hbi55YW5kZXgucnUvc3lzdGVtL2NvbnRleHQuanMiOw0KICAgICAgICBzLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0KTsNCiAgICB9KSh0aGlzLCB0aGlzLmRvY3VtZW50LCAieWFuZGV4Q29udGV4dEFzeW5jQ2FsbGJhY2tzIik7DQo8L3NjcmlwdD48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS0xJz48ZGl2IHN0eWxlPSJ3aWR0aDoxMDAlO21heC1oZWlnaHQ6MjAwcHg7cGFkZGluZzowLjUlIj48IS0tIFlhbmRleC5SVEIgUi1BLTIzMTM4Ny00IC0tPg0KPGRpdiBpZD0ieWFuZGV4X3J0Yl9SLUEtMjMxMzg3LTQiPjwvZGl2Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbih3LCBkLCBuLCBzLCB0KSB7DQogICAgICAgIHdbbl0gPSB3W25dIHx8IFtdOw0KICAgICAgICB3W25dLnB1c2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBZYS5Db250ZXh0LkFkdk1hbmFnZXIucmVuZGVyKHsNCiAgICAgICAgICAgICAgICBibG9ja0lkOiAiUi1BLTIzMTM4Ny00IiwNCiAgICAgICAgICAgICAgICByZW5kZXJUbzogInlhbmRleF9ydGJfUi1BLTIzMTM4Ny00IiwNCiAgICAgICAgICAgICAgICBob3Jpem9udGFsQWxpZ246IGZhbHNlLA0KICAgICAgICAgICAgICAgIGFzeW5jOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSk7DQogICAgICAgIHQgPSBkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsNCiAgICAgICAgcyA9IGQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7DQogICAgICAgIHMudHlwZSA9ICJ0ZXh0L2phdmFzY3JpcHQiOw0KICAgICAgICBzLnNyYyA9ICIvL2FuLnlhbmRleC5ydS9zeXN0ZW0vY29udGV4dC5qcyI7DQogICAgICAgIHMuYXN5bmMgPSB0cnVlOw0KICAgICAgICB0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHMsIHQpOw0KICAgIH0pKHRoaXMsIHRoaXMuZG9jdW1lbnQsICJ5YW5kZXhDb250ZXh0QXN5bmNDYWxsYmFja3MiKTsNCjwvc2NyaXB0PjwvZGl2PjwvZGl2Pg==PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC1nbC1tb2ItMicgPjxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6MzMlIWltcG9ydGFudDt3aWR0aDoxMDAlO2JhY2tncm91bmQ6eWVsbG93O2JvcmRlci1sZWZ0OjNweCBzb2xpZCAjMDAwO3BhZGRpbmc6MiUgMDttYXJnaW46MiUgMCI+PHNjcmlwdCBhc3luYyBzcmM9Ii8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzIj48L3NjcmlwdD4NCjwhLS0gc2xfX3NuZ2xfXzIgLS0+DQo8aW5zIGNsYXNzPSJhZHNieWdvb2dsZSINCiAgICAgc3R5bGU9ImRpc3BsYXk6YmxvY2siDQogICAgIGRhdGEtYWQtY2xpZW50PSJjYS1wdWItNjk4MDgyOTE2MzgxMjA0NyINCiAgICAgZGF0YS1hZC1zbG90PSI1MTIxMzA1Mjk1Ig0KICAgICBkYXRhLWFkLWZvcm1hdD0iYXV0byI+PC9pbnM+DQo8c2NyaXB0Pg0KKGFkc2J5Z29vZ2xlID0gd2luZG93LmFkc2J5Z29vZ2xlIHx8IFtdKS5wdXNoKHt9KTsNCjwvc2NyaXB0Pg0KPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC1nbC0yJz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQo8IS0tIHNsX19zbmdsX18yIC0tPg0KPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiDQogICAgIHN0eWxlPSJkaXNwbGF5OmJsb2NrIg0KICAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciDQogICAgIGRhdGEtYWQtc2xvdD0iNTEyMTMwNTI5NSINCiAgICAgZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPg0KPHNjcmlwdD4NCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD4NCjwvZGl2PjwvZGl2Pg==PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItMic+PCEtLSBZYW5kZXguUlRCIFItQS0yMzEzODctOCAtLT4NCjxkaXYgaWQ9InlhbmRleF9ydGJfUi1BLTIzMTM4Ny04Ij48L2Rpdj4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAoZnVuY3Rpb24odywgZCwgbiwgcywgdCkgew0KICAgICAgICB3W25dID0gd1tuXSB8fCBbXTsNCiAgICAgICAgd1tuXS5wdXNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgWWEuQ29udGV4dC5BZHZNYW5hZ2VyLnJlbmRlcih7DQogICAgICAgICAgICAgICAgYmxvY2tJZDogIlItQS0yMzEzODctOCIsDQogICAgICAgICAgICAgICAgcmVuZGVyVG86ICJ5YW5kZXhfcnRiX1ItQS0yMzEzODctOCIsDQogICAgICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWduOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgICB0ID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07DQogICAgICAgIHMgPSBkLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICBzLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsNCiAgICAgICAgcy5zcmMgPSAiLy9hbi55YW5kZXgucnUvc3lzdGVtL2NvbnRleHQuanMiOw0KICAgICAgICBzLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0KTsNCiAgICB9KSh0aGlzLCB0aGlzLmRvY3VtZW50LCAieWFuZGV4Q29udGV4dEFzeW5jQ2FsbGJhY2tzIik7DQo8L3NjcmlwdD48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS0yJz48ZGl2IHN0eWxlPSJ3aWR0aDoxMDAlO21heC1oZWlnaHQ6MjAwcHg7cGFkZGluZzowLjUlIj48IS0tIFlhbmRleC5SVEIgUi1BLTIzMTM4Ny01IC0tPg0KPGRpdiBpZD0ieWFuZGV4X3J0Yl9SLUEtMjMxMzg3LTUiPjwvZGl2Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbih3LCBkLCBuLCBzLCB0KSB7DQogICAgICAgIHdbbl0gPSB3W25dIHx8IFtdOw0KICAgICAgICB3W25dLnB1c2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBZYS5Db250ZXh0LkFkdk1hbmFnZXIucmVuZGVyKHsNCiAgICAgICAgICAgICAgICBibG9ja0lkOiAiUi1BLTIzMTM4Ny01IiwNCiAgICAgICAgICAgICAgICByZW5kZXJUbzogInlhbmRleF9ydGJfUi1BLTIzMTM4Ny01IiwNCiAgICAgICAgICAgICAgICBob3Jpem9udGFsQWxpZ246IGZhbHNlLA0KICAgICAgICAgICAgICAgIGFzeW5jOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSk7DQogICAgICAgIHQgPSBkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsNCiAgICAgICAgcyA9IGQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7DQogICAgICAgIHMudHlwZSA9ICJ0ZXh0L2phdmFzY3JpcHQiOw0KICAgICAgICBzLnNyYyA9ICIvL2FuLnlhbmRleC5ydS9zeXN0ZW0vY29udGV4dC5qcyI7DQogICAgICAgIHMuYXN5bmMgPSB0cnVlOw0KICAgICAgICB0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHMsIHQpOw0KICAgIH0pKHRoaXMsIHRoaXMuZG9jdW1lbnQsICJ5YW5kZXhDb250ZXh0QXN5bmNDYWxsYmFja3MiKTsNCjwvc2NyaXB0PjwvZGl2PjwvZGl2Pg==PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC1nbC1tb2ItMycgPjxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6MzMlIWltcG9ydGFudDt3aWR0aDoxMDAlO2JhY2tncm91bmQ6eWVsbG93O2JvcmRlci1sZWZ0OjNweCBzb2xpZCAjMDAwO3BhZGRpbmc6MiUgMDttYXJnaW46MiUgMCI+PHNjcmlwdCBhc3luYyBzcmM9Ii8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzIj48L3NjcmlwdD4NCjwhLS0gc2xfX3NuZ2xfXzMgLS0+DQo8aW5zIGNsYXNzPSJhZHNieWdvb2dsZSINCiAgICAgc3R5bGU9ImRpc3BsYXk6YmxvY2siDQogICAgIGRhdGEtYWQtY2xpZW50PSJjYS1wdWItNjk4MDgyOTE2MzgxMjA0NyINCiAgICAgZGF0YS1hZC1zbG90PSIxNTYxMjEwNTI1Ig0KICAgICBkYXRhLWFkLWZvcm1hdD0iYXV0byI+PC9pbnM+DQo8c2NyaXB0Pg0KKGFkc2J5Z29vZ2xlID0gd2luZG93LmFkc2J5Z29vZ2xlIHx8IFtdKS5wdXNoKHt9KTsNCjwvc2NyaXB0Pg0KPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC1nbC0zJz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQo8IS0tIHNsX19zbmdsX18zIC0tPg0KPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiDQogICAgIHN0eWxlPSJkaXNwbGF5OmJsb2NrIg0KICAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciDQogICAgIGRhdGEtYWQtc2xvdD0iMTU2MTIxMDUyNSINCiAgICAgZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPg0KPHNjcmlwdD4NCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD4NCjwvZGl2PjwvZGl2Pg==PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItMyc+PCEtLSBZYW5kZXguUlRCIFItQS0yMzEzODctOSAtLT4NCjxkaXYgaWQ9InlhbmRleF9ydGJfUi1BLTIzMTM4Ny05Ij48L2Rpdj4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAoZnVuY3Rpb24odywgZCwgbiwgcywgdCkgew0KICAgICAgICB3W25dID0gd1tuXSB8fCBbXTsNCiAgICAgICAgd1tuXS5wdXNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgWWEuQ29udGV4dC5BZHZNYW5hZ2VyLnJlbmRlcih7DQogICAgICAgICAgICAgICAgYmxvY2tJZDogIlItQS0yMzEzODctOSIsDQogICAgICAgICAgICAgICAgcmVuZGVyVG86ICJ5YW5kZXhfcnRiX1ItQS0yMzEzODctOSIsDQogICAgICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWduOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgICB0ID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07DQogICAgICAgIHMgPSBkLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICBzLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsNCiAgICAgICAgcy5zcmMgPSAiLy9hbi55YW5kZXgucnUvc3lzdGVtL2NvbnRleHQuanMiOw0KICAgICAgICBzLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0KTsNCiAgICB9KSh0aGlzLCB0aGlzLmRvY3VtZW50LCAieWFuZGV4Q29udGV4dEFzeW5jQ2FsbGJhY2tzIik7DQo8L3NjcmlwdD48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS0zJz48ZGl2IHN0eWxlPSJ3aWR0aDoxMDAlO21heC1oZWlnaHQ6MjAwcHg7cGFkZGluZzowLjUlIj48IS0tIFlhbmRleC5SVEIgUi1BLTIzMTM4Ny02IC0tPg0KPGRpdiBpZD0ieWFuZGV4X3J0Yl9SLUEtMjMxMzg3LTYiPjwvZGl2Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbih3LCBkLCBuLCBzLCB0KSB7DQogICAgICAgIHdbbl0gPSB3W25dIHx8IFtdOw0KICAgICAgICB3W25dLnB1c2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBZYS5Db250ZXh0LkFkdk1hbmFnZXIucmVuZGVyKHsNCiAgICAgICAgICAgICAgICBibG9ja0lkOiAiUi1BLTIzMTM4Ny02IiwNCiAgICAgICAgICAgICAgICByZW5kZXJUbzogInlhbmRleF9ydGJfUi1BLTIzMTM4Ny02IiwNCiAgICAgICAgICAgICAgICBob3Jpem9udGFsQWxpZ246IGZhbHNlLA0KICAgICAgICAgICAgICAgIGFzeW5jOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSk7DQogICAgICAgIHQgPSBkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsNCiAgICAgICAgcyA9IGQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7DQogICAgICAgIHMudHlwZSA9ICJ0ZXh0L2phdmFzY3JpcHQiOw0KICAgICAgICBzLnNyYyA9ICIvL2FuLnlhbmRleC5ydS9zeXN0ZW0vY29udGV4dC5qcyI7DQogICAgICAgIHMuYXN5bmMgPSB0cnVlOw0KICAgICAgICB0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHMsIHQpOw0KICAgIH0pKHRoaXMsIHRoaXMuZG9jdW1lbnQsICJ5YW5kZXhDb250ZXh0QXN5bmNDYWxsYmFja3MiKTsNCjwvc2NyaXB0PjwvZGl2PjwvZGl2Pg==PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItNCc+PGRpdiBzdHlsZT0ibWF4LWhlaWdodDozMyUhaW1wb3J0YW50O3dpZHRoOjEwMCU7YmFja2dyb3VuZDp5ZWxsb3c7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICMwMDA7cGFkZGluZzoyJSAwO21hcmdpbjoyJSAwIj48c2NyaXB0IGFzeW5jIHNyYz0iLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvanMvYWRzYnlnb29nbGUuanMiPjwvc2NyaXB0Pg0KPCEtLSBzbF9fc25nbF9fNCAtLT4NCjxpbnMgY2xhc3M9ImFkc2J5Z29vZ2xlIg0KICAgICBzdHlsZT0iZGlzcGxheTpibG9jayINCiAgICAgZGF0YS1hZC1jbGllbnQ9ImNhLXB1Yi02OTgwODI5MTYzODEyMDQ3Ig0KICAgICBkYXRhLWFkLXNsb3Q9IjMwNjE5OTQ0NTYiDQogICAgIGRhdGEtYWQtZm9ybWF0PSJhdXRvIj48L2lucz4NCjxzY3JpcHQ+DQooYWRzYnlnb29nbGUgPSB3aW5kb3cuYWRzYnlnb29nbGUgfHwgW10pLnB1c2goe30pOw0KPC9zY3JpcHQ+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS00Jz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQo8IS0tIHNsX19zbmdsX180IC0tPg0KPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiDQogICAgIHN0eWxlPSJkaXNwbGF5OmJsb2NrIg0KICAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciDQogICAgIGRhdGEtYWQtc2xvdD0iMzA2MTk5NDQ1NiINCiAgICAgZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPg0KPHNjcmlwdD4NCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItNCc+PGRpdiBzdHlsZT0ibWF4LWhlaWdodDozMyUhaW1wb3J0YW50O3dpZHRoOjEwMCU7YmFja2dyb3VuZDp5ZWxsb3c7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICMwMDA7cGFkZGluZzoyJSAwO21hcmdpbjoyJSAwIj48c2NyaXB0IGFzeW5jIHNyYz0iLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvanMvYWRzYnlnb29nbGUuanMiPjwvc2NyaXB0Pg0KPCEtLSBzbF9fc25nbF9fNCAtLT4NCjxpbnMgY2xhc3M9ImFkc2J5Z29vZ2xlIg0KICAgICBzdHlsZT0iZGlzcGxheTpibG9jayINCiAgICAgZGF0YS1hZC1jbGllbnQ9ImNhLXB1Yi02OTgwODI5MTYzODEyMDQ3Ig0KICAgICBkYXRhLWFkLXNsb3Q9IjMwNjE5OTQ0NTYiDQogICAgIGRhdGEtYWQtZm9ybWF0PSJhdXRvIj48L2lucz4NCjxzY3JpcHQ+DQooYWRzYnlnb29nbGUgPSB3aW5kb3cuYWRzYnlnb29nbGUgfHwgW10pLnB1c2goe30pOw0KPC9zY3JpcHQ+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS00Jz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQo8IS0tIHNsX19zbmdsX180IC0tPg0KPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiDQogICAgIHN0eWxlPSJkaXNwbGF5OmJsb2NrIg0KICAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciDQogICAgIGRhdGEtYWQtc2xvdD0iMzA2MTk5NDQ1NiINCiAgICAgZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPg0KPHNjcmlwdD4NCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=

Секрет плоского живота Миши Романовой: пресс каждые пять минут!

Секрет плоского живота Миши Романовой диета для похудения

В этом году обновленный состав группы «Виа Гра» отметил свое двухлетие! Как же хороши собою солистки сексапильного трио. Настя, Эрика, Миша – все как на подбор!

У продюсера Константина Меладзе отменный вкус!

А теперь немного о грустном: за такой красотой уход нужен, причем каждодневный.

В первое время трудно приходилось «рыженькой» Мише Романовой, которая на фоне своих худеньких и изящных коллег выглядела эдакой фигуристой мадам.

Год спустя певицу было не узнать: она сильно похудела и стала еще лучше смотреться в откровенных сценических нарядах!

Забила холодильник полезной едой

Принципы питания Миши не сложны.

В чем же секрет?

  • Красотка пересмотрела свое питание: на долгое время исключила из своего рациона жареную, мучную, соленую еду и сладости;
  • Стала налегать на пищу, богатую углеводами и протеинами. Она забила свой холодильник постным мясом индейки, курицы, говядины и крольчатины, нежирной рыбой, орешками, овощами, фруктами, обезжиренными кисломолочными продуктами;
  • Не ела после семи вечера;
  • Не пропускала утреннего приема пищи;
  • Кушала маленькими порциями и часто: по пять-шесть раз в день;
  • По возможности придерживалась принципов раздельного питания.

Сладости? Нет, не слышала!

Все эти правила знаменитость соблюдает до сих пор и ни в коем случае не позволяет себе расслабиться.

Примерное меню звезды на один день выглядит так:

  • На завтрак съедает одно отварное куриное яйцо, кусочек подсушенного ржаного хлеба;
  • Перекус состоит из яблока, запеченного в духовке с нежирным творогом и сухофруктами;

Яблочки с творогом .🍎🍏💁😜

A photo posted by @misharomanova on

  • Обедает 250 г нежирной рыбы, приготовленной на пару и 200 г салата из свежих овощей;
  • Перекусывает чашечкой овощного бульона;
  • Ужинает 200 г вареной телятины и апельсином;
  • На ночь выпивает стакан простокваши.

Благодаря такому питанию Романовой удается сохранить идеально плоский животик, который она старается не прятать под одеждой:

Миша, безусловно, неравнодушна к спорту.

В перерывах между гастролями и концертами, девушка посещает тренажерный зал, а дома ежедневно качает пресс чуть ли не каждые пять минут.

💪😜

A photo posted by @misharomanova on

По достоинству оценить подтянутые фигурки обворожительных солисток «Виа Гры» вы сможете в новом клипе группы.

Клип называется «Так сильно».

PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItNSc+PGRpdiBzdHlsZT0ibWF4LWhlaWdodDozMyUhaW1wb3J0YW50O3dpZHRoOjEwMCU7YmFja2dyb3VuZDp5ZWxsb3c7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICMwMDA7cGFkZGluZzoyJSAwO21hcmdpbjoyJSAwIj48c2NyaXB0IGFzeW5jIHNyYz0iLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvanMvYWRzYnlnb29nbGUuanMiPjwvc2NyaXB0Pg0KPCEtLSBzbF9fc25nbF9fNSAtLT4NCjxpbnMgY2xhc3M9ImFkc2J5Z29vZ2xlIg0KICAgICBzdHlsZT0iZGlzcGxheTpibG9jayINCiAgICAgZGF0YS1hZC1jbGllbnQ9ImNhLXB1Yi02OTgwODI5MTYzODEyMDQ3Ig0KICAgICBkYXRhLWFkLXNsb3Q9IjYzMTg3MTMxODgiDQogICAgIGRhdGEtYWQtZm9ybWF0PSJhdXRvIj48L2lucz4NCjxzY3JpcHQ+DQooYWRzYnlnb29nbGUgPSB3aW5kb3cuYWRzYnlnb29nbGUgfHwgW10pLnB1c2goe30pOw0KPC9zY3JpcHQ+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS01Jz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQo8IS0tIHNsX19zbmdsX181IC0tPg0KPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiDQogICAgIHN0eWxlPSJkaXNwbGF5OmJsb2NrIg0KICAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciDQogICAgIGRhdGEtYWQtc2xvdD0iNjMxODcxMzE4OCINCiAgICAgZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPg0KPHNjcmlwdD4NCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItNSc+PGRpdiBzdHlsZT0ibWF4LWhlaWdodDozMyUhaW1wb3J0YW50O3dpZHRoOjEwMCU7YmFja2dyb3VuZDp5ZWxsb3c7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICMwMDA7cGFkZGluZzoyJSAwO21hcmdpbjoyJSAwIj48c2NyaXB0IGFzeW5jIHNyYz0iLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvanMvYWRzYnlnb29nbGUuanMiPjwvc2NyaXB0Pg0KPCEtLSBzbF9fc25nbF9fNSAtLT4NCjxpbnMgY2xhc3M9ImFkc2J5Z29vZ2xlIg0KICAgICBzdHlsZT0iZGlzcGxheTpibG9jayINCiAgICAgZGF0YS1hZC1jbGllbnQ9ImNhLXB1Yi02OTgwODI5MTYzODEyMDQ3Ig0KICAgICBkYXRhLWFkLXNsb3Q9IjYzMTg3MTMxODgiDQogICAgIGRhdGEtYWQtZm9ybWF0PSJhdXRvIj48L2lucz4NCjxzY3JpcHQ+DQooYWRzYnlnb29nbGUgPSB3aW5kb3cuYWRzYnlnb29nbGUgfHwgW10pLnB1c2goe30pOw0KPC9zY3JpcHQ+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS01Jz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQo8IS0tIHNsX19zbmdsX181IC0tPg0KPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiDQogICAgIHN0eWxlPSJkaXNwbGF5OmJsb2NrIg0KICAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciDQogICAgIGRhdGEtYWQtc2xvdD0iNjMxODcxMzE4OCINCiAgICAgZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPg0KPHNjcmlwdD4NCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=
PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC1nbC1tb2ItNycgPjxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6MzMlIWltcG9ydGFudDt3aWR0aDoxMDAlO2JhY2tncm91bmQ6eWVsbG93O2JvcmRlci1sZWZ0OjNweCBzb2xpZCAjMDAwO3BhZGRpbmc6MiUgMDttYXJnaW46MiUgMCI+PHNjcmlwdCBhc3luYyBzcmM9Ii8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzIj48L3NjcmlwdD4NCjwhLS0gc2xfX3NuZ2xfXzcgLS0+DQo8aW5zIGNsYXNzPSJhZHNieWdvb2dsZSINCiAgICAgc3R5bGU9ImRpc3BsYXk6YmxvY2siDQogICAgIGRhdGEtYWQtY2xpZW50PSJjYS1wdWItNjk4MDgyOTE2MzgxMjA0NyINCiAgICAgZGF0YS1hZC1zbG90PSI3OTYzMzc2NDY1Ig0KICAgICBkYXRhLWFkLWZvcm1hdD0iYXV0byI+PC9pbnM+DQo8c2NyaXB0Pg0KKGFkc2J5Z29vZ2xlID0gd2luZG93LmFkc2J5Z29vZ2xlIHx8IFtdKS5wdXNoKHt9KTsNCjwvc2NyaXB0PjwvZGl2PjwvZGl2Pg==PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC1nbC03Jz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQo8IS0tIHNsX19zbmdsX183IC0tPg0KPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiDQogICAgIHN0eWxlPSJkaXNwbGF5OmJsb2NrIg0KICAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciDQogICAgIGRhdGEtYWQtc2xvdD0iNzk2MzM3NjQ2NSINCiAgICAgZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPg0KPHNjcmlwdD4NCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItNyc+PCEtLSBZYW5kZXguUlRCIFItQS0yMzEzODctMiAtLT4NCjxkaXYgaWQ9InlhbmRleF9ydGJfUi1BLTIzMTM4Ny0yIj48L2Rpdj4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAoZnVuY3Rpb24odywgZCwgbiwgcywgdCkgew0KICAgICAgICB3W25dID0gd1tuXSB8fCBbXTsNCiAgICAgICAgd1tuXS5wdXNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgWWEuQ29udGV4dC5BZHZNYW5hZ2VyLnJlbmRlcih7DQogICAgICAgICAgICAgICAgYmxvY2tJZDogIlItQS0yMzEzODctMiIsDQogICAgICAgICAgICAgICAgcmVuZGVyVG86ICJ5YW5kZXhfcnRiX1ItQS0yMzEzODctMiIsDQogICAgICAgICAgICAgICAgaG9yaXpvbnRhbEFsaWduOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBhc3luYzogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgICB0ID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07DQogICAgICAgIHMgPSBkLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOw0KICAgICAgICBzLnR5cGUgPSAidGV4dC9qYXZhc2NyaXB0IjsNCiAgICAgICAgcy5zcmMgPSAiLy9hbi55YW5kZXgucnUvc3lzdGVtL2NvbnRleHQuanMiOw0KICAgICAgICBzLmFzeW5jID0gdHJ1ZTsNCiAgICAgICAgdC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB0KTsNCiAgICB9KSh0aGlzLCB0aGlzLmRvY3VtZW50LCAieWFuZGV4Q29udGV4dEFzeW5jQ2FsbGJhY2tzIik7DQo8L3NjcmlwdD48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS03Jz48IS0tIFlhbmRleC5SVEIgUi1BLTIzMTM4Ny0yIC0tPg0KPGRpdiBpZD0ieWFuZGV4X3J0Yl9SLUEtMjMxMzg3LTIiPjwvZGl2Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KICAgIChmdW5jdGlvbih3LCBkLCBuLCBzLCB0KSB7DQogICAgICAgIHdbbl0gPSB3W25dIHx8IFtdOw0KICAgICAgICB3W25dLnB1c2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBZYS5Db250ZXh0LkFkdk1hbmFnZXIucmVuZGVyKHsNCiAgICAgICAgICAgICAgICBibG9ja0lkOiAiUi1BLTIzMTM4Ny0yIiwNCiAgICAgICAgICAgICAgICByZW5kZXJUbzogInlhbmRleF9ydGJfUi1BLTIzMTM4Ny0yIiwNCiAgICAgICAgICAgICAgICBob3Jpem9udGFsQWxpZ246IGZhbHNlLA0KICAgICAgICAgICAgICAgIGFzeW5jOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSk7DQogICAgICAgIHQgPSBkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsNCiAgICAgICAgcyA9IGQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7DQogICAgICAgIHMudHlwZSA9ICJ0ZXh0L2phdmFzY3JpcHQiOw0KICAgICAgICBzLnNyYyA9ICIvL2FuLnlhbmRleC5ydS9zeXN0ZW0vY29udGV4dC5qcyI7DQogICAgICAgIHMuYXN5bmMgPSB0cnVlOw0KICAgICAgICB0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHMsIHQpOw0KICAgIH0pKHRoaXMsIHRoaXMuZG9jdW1lbnQsICJ5YW5kZXhDb250ZXh0QXN5bmNDYWxsYmFja3MiKTsNCjwvc2NyaXB0PjwvZGl2Pg==
PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItOCc+PGRpdiBzdHlsZT0ibWF4LWhlaWdodDozMyUhaW1wb3J0YW50O3dpZHRoOjEwMCU7YmFja2dyb3VuZDp5ZWxsb3c7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICMwMDA7cGFkZGluZzoyJSAwO21hcmdpbjoyJSAwIj48c2NyaXB0IGFzeW5jIHNyYz0iLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvanMvYWRzYnlnb29nbGUuanMiPjwvc2NyaXB0Pg0KPCEtLSBzbF9fc25nbF9fOCAtLT4NCjxpbnMgY2xhc3M9ImFkc2J5Z29vZ2xlIg0KICAgICBzdHlsZT0iZGlzcGxheTpibG9jayINCiAgICAgZGF0YS1hZC1jbGllbnQ9ImNhLXB1Yi02OTgwODI5MTYzODEyMDQ3Ig0KICAgICBkYXRhLWFkLXNsb3Q9IjI1OTUwOTA1OTUiDQogICAgIGRhdGEtYWQtZm9ybWF0PSJhdXRvIj48L2lucz4NCjxzY3JpcHQ+DQooYWRzYnlnb29nbGUgPSB3aW5kb3cuYWRzYnlnb29nbGUgfHwgW10pLnB1c2goe30pOw0KPC9zY3JpcHQ+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS04Jz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQo8IS0tIHNsX19zbmdsX184IC0tPg0KPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiDQogICAgIHN0eWxlPSJkaXNwbGF5OmJsb2NrIg0KICAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciDQogICAgIGRhdGEtYWQtc2xvdD0iMjU5NTA5MDU5NSINCiAgICAgZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPg0KPHNjcmlwdD4NCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS1tb2ItOCc+PGRpdiBzdHlsZT0ibWF4LWhlaWdodDozMyUhaW1wb3J0YW50O3dpZHRoOjEwMCU7YmFja2dyb3VuZDp5ZWxsb3c7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICMwMDA7cGFkZGluZzoyJSAwO21hcmdpbjoyJSAwIj48c2NyaXB0IGFzeW5jIHNyYz0iLy9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvanMvYWRzYnlnb29nbGUuanMiPjwvc2NyaXB0Pg0KPCEtLSBzbF9fc25nbF9fOCAtLT4NCjxpbnMgY2xhc3M9ImFkc2J5Z29vZ2xlIg0KICAgICBzdHlsZT0iZGlzcGxheTpibG9jayINCiAgICAgZGF0YS1hZC1jbGllbnQ9ImNhLXB1Yi02OTgwODI5MTYzODEyMDQ3Ig0KICAgICBkYXRhLWFkLXNsb3Q9IjI1OTUwOTA1OTUiDQogICAgIGRhdGEtYWQtZm9ybWF0PSJhdXRvIj48L2lucz4NCjxzY3JpcHQ+DQooYWRzYnlnb29nbGUgPSB3aW5kb3cuYWRzYnlnb29nbGUgfHwgW10pLnB1c2goe30pOw0KPC9zY3JpcHQ+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nZGV0ZWN0X2NsJyBkYXRhLWlkPSdhZC15YS04Jz48ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OjMzJSFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOnllbGxvdztib3JkZXItbGVmdDozcHggc29saWQgIzAwMDtwYWRkaW5nOjIlIDA7bWFyZ2luOjIlIDAiPjxzY3JpcHQgYXN5bmMgc3JjPSIvL3BhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tL3BhZ2VhZC9qcy9hZHNieWdvb2dsZS5qcyI+PC9zY3JpcHQ+DQo8IS0tIHNsX19zbmdsX184IC0tPg0KPGlucyBjbGFzcz0iYWRzYnlnb29nbGUiDQogICAgIHN0eWxlPSJkaXNwbGF5OmJsb2NrIg0KICAgICBkYXRhLWFkLWNsaWVudD0iY2EtcHViLTY5ODA4MjkxNjM4MTIwNDciDQogICAgIGRhdGEtYWQtc2xvdD0iMjU5NTA5MDU5NSINCiAgICAgZGF0YS1hZC1mb3JtYXQ9ImF1dG8iPjwvaW5zPg0KPHNjcmlwdD4NCihhZHNieWdvb2dsZSA9IHdpbmRvdy5hZHNieWdvb2dsZSB8fCBbXSkucHVzaCh7fSk7DQo8L3NjcmlwdD48L2Rpdj48L2Rpdj4=