PGRpdiBjbGFzcz0iZm9ybSBjYWxsYmFjayI+CiAgPGZvcm0gbmFtZT0iY2FsbGJhY2siIGFjdGlvbj0iL3VuaXRzL2FqYXgucGhwIiB0YXJnZXQ9ImZvcm1fc2VuZCIgbWV0aG9kPSJwb3N0Ij4KICAgIDxpbnB1dCBuYW1lPSJmdW5jIiB0eXBlPSJoaWRkZW4iIHZhbHVlPSJmZWVkYmFja19zZW5kbWFpbCI+CiAgICA8aW5wdXQgbmFtZT0iZm9ybV9odXUiIHR5cGU9ImhpZGRlbiIgdmFsdWU9ImNhbGxiYWNrIj4KICAgIDxpbnB1dCBuYW1lPSJ0ZW1wbGF0ZSIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0id3VuZGVycGFyayI+CiAgICA8aW5wdXQgbmFtZT0ic3VjY2VzcyIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0i0JfQsNC/0YDQvtGBINGD0YHQv9C10YjQvdC+INC+0YLQv9GA0LDQstC70LXQvS4g0JzRiyDRgdCy0Y/QttC10LzRgdGPINCyINCS0LDQvNC4INCyINCx0LvQuNC20LDQudGI0LXQtSDQstGA0LXQvNGPLiI+CiAgICA8aW5wdXQgbmFtZT0idHJpZCIgaWQ9InRyaWRfY2FsbGJhY2siIHR5cGU9ImhpZGRlbiIgdmFsdWU9IiI+CgogICAgPGEgY2xhc3M9ImNsb3NlIiBvbmNsaWNrPSIkKCcjZmxvYXRpbmdfYmFjaycpLmZhZGVPdXQoJ2Zhc3QnKTsiPjwvYT4KICAgIDxoMz7Ql9Cw0LrQsNC30LDRgtGMINC30LLQvtC90L7QujwvaDM+CiAgICA8cD7QktCw0YjQtSDQuNC80Y86ICo8L3A+CiAgICA8aW5wdXQgbmFtZT0iY2JfbmFtZSIgaWQ9ImNiX25hbWUiLz4KICAgIDxwPtCS0LDRiCDQvdC+0LzQtdGAINGC0LXQu9C10YTQvtC90LA6ICo8L3A+CiAgICA8aW5wdXQgbmFtZT0iY2JfcGhvbmUiIGlkPSJjYl9waG9uZSIvPgogICAgPHA+0JLQsNGIINC60L7QvNC80LXQvdGC0LDRgNC40Lk6PC9wPgogICAgPHRleHRhcmVhIG5hbWU9ImNiX2NvbW1lbnQiIGlkPSJjYl9jb21tZW50Ii8+PC90ZXh0YXJlYT4KICAgIDxicj4KICAgIDxwPjxsYWJlbCBmb3I9InRlcm1zIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InRlcm1zIiBpZD0idGVybXMiIHZhbHVlPSIxIiBzdHlsZT0id2lkdGg6MzBweDtoZWlnaHQ6MjBweCI+0K8g0YHQvtCz0LvQsNGB0LXQvSDQvdCwINC+0LHRgNCw0LHQvtGC0LrRgyDQuCDRhdGA0LDQvdC10L3QuNC1INGB0LLQvtC40YUg0L/QtdGA0YHQvtC90LDQu9GM0L3Ri9GFINC00LDQvdC90YvRhSDQsiDRgdC+0L7RgtCy0LXRgtGB0YLQstC40Lgg0YEgPGEgaHJlZj0iaHR0cDovL3d1bmRlcnBhcmsucnUvdGVybXNvZnVzZV9zaXJpdXMvIiB0YXJnZXQ9Il9ibGFuayIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Ij7Qv9C+0LvRjNC30L7QstCw0YLQtdC70YzRgdC60LjQvCDRgdC+0LPQu9Cw0YjQtdC90LjQtdC8PC9hPiAqPC9sYWJlbD48L3A+CiAgICA8cD48bGFiZWwgZm9yPSJwcm9tb19vZmZlcnMiPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0icHJvbW9fb2ZmZXJzIiBpZD0icHJvbW9fb2ZmZXJzIiB2YWx1ZT0iMSIgY2hlY2tlZD0iY2hlY2tlZCIgc3R5bGU9IndpZHRoOjMwcHg7aGVpZ2h0OjIwcHgiPtCvINGB0L7Qs9C70LDRgdC10L0g0L/QvtC70YPRh9Cw0YLRjCDQv9GA0LXQtNC70L7QttC10L3QuNGPIFd1bmRlcnBhcms8L2xhYmVsPjwvcD4KCiAgICA8IS0tIDxwIGNsYXNzPSJyZW1hcmsiPtCS0YHQtSDQv9C+0LvRjyDQvtCx0Y/Qt9Cw0YLQtdC70YzQvdGLINC6INC30LDQv9C+0LvQvdC10L3QuNGOPC9wPiAtLT4KICAgIDxidXR0b24gb25jbGljaz0iaWYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NiX25hbWUnKS52YWx1ZSAmJiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2JfcGhvbmUnKS52YWx1ZSAmJiAkKCcjdGVybXMnKS5wcm9wKCdjaGVja2VkJykpIHskKCcjZmxvYXRpbmdfYmFjaycpLmZhZGVPdXQoJ2Zhc3QnKTsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RyaWRfY2FsbGJhY2snKS52YWx1ZT1NYXRoLnJhbmRvbSgpKjEwMDAwOyBhamF4X2Zvcm1fc3VibWl0KCdjYWxsYmFjaycpO30gZWxzZSBhbGVydCgn0J/QvtC20LDQu9GD0LnRgdGC0LAsINC30LDQv9C+0LvQvdC40YLQtSDQstGB0LUg0L7QsdGP0LfQsNGC0LXQu9GM0L3Ri9C1INC/0L7Qu9GPJyk7IHJldHVybiBmYWxzZTsiPtCe0YLQv9GA0LDQstC40YLRjDwvYnV0dG9uPgogIDwvZm9ybT4KPC9kaXY+
PGRpdiBjbGFzcz0iZm9ybSBjYWxsYmFjayI+CiAgPGZvcm0gbmFtZT0icmVnaXN0ZXIiIGFjdGlvbj0iL3VuaXRzL2FqYXgucGhwIiB0YXJnZXQ9ImZvcm1fc2VuZCIgbWV0aG9kPSJwb3N0Ij4KICAgIDxpbnB1dCBuYW1lPSJmdW5jIiB0eXBlPSJoaWRkZW4iIHZhbHVlPSJmZWVkYmFja19zZW5kbWFpbCI+CiAgICA8aW5wdXQgbmFtZT0iZm9ybV9odXUiIHR5cGU9ImhpZGRlbiIgdmFsdWU9InJlZ2lzdGVyIj4KICAgIDxpbnB1dCBuYW1lPSJ0ZW1wbGF0ZSIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0id3VuZGVycGFyayI+CiAgICA8aW5wdXQgbmFtZT0idHJpZCIgaWQ9InRyaWRfcmVnaXN0ZXIiIHR5cGU9ImhpZGRlbiIgdmFsdWU9IiI+CiAgICA8aW5wdXQgbmFtZT0ic3VjY2VzcyIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0i0JfQsNC/0YDQvtGBINGD0YHQv9C10YjQvdC+INC+0YLQv9GA0LDQstC70LXQvS4g0JzRiyDRgdCy0Y/QttC10LzRgdGPINCyINCS0LDQvNC4INCyINCx0LvQuNC20LDQudGI0LXQtSDQstGA0LXQvNGPLiI+CgoKICAgIDxhIGNsYXNzPSJjbG9zZSIgb25jbGljaz0iJCgnI2Zsb2F0aW5nX2JhY2snKS5mYWRlT3V0KCdmYXN0Jyk7Ij48L2E+CiAgICA8aDMgaWQ9ImNiX2gzIj7Ql9Cw0YDQtdCz0LjRgdGC0YDQuNGA0L7QstCw0YLRjNGB0Y88L2gzPgogICAgPGlucHV0IGlkPSJjYl9ldmVudCIgbmFtZT0iY2JfZXZlbnQiIHR5cGU9ImhpZGRlbiIvPgogICAgPGlucHV0IGlkPSJjYl9zdHVkaW8iIG5hbWU9ImNiX3N0dWRpbyIgdHlwZT0iaGlkZGVuIi8+CiAgICA8aW5wdXQgaWQ9ImNiX3Bhc3MiIG5hbWU9ImNiX3Bhc3MiIHR5cGU9ImhpZGRlbiIvPgogICAgPGlucHV0IGlkPSJjYl9hZHZlbnR1cmUiIG5hbWU9ImNiX2FkdmVudHVyZSIgdHlwZT0iaGlkZGVuIi8+CgogICAgPHA+0JLQsNGI0LUg0LjQvNGPOjwvcD4KICAgIDxpbnB1dCBuYW1lPSJjYl9uYW1lIiBpZD0iY2JfbmFtZSIvPgogICAgPHA+0JLQsNGIINC90L7QvNC10YAg0YLQtdC70LXRhNC+0L3QsDo8L3A+CiAgICA8aW5wdXQgbmFtZT0iY2JfcGhvbmUiIGlkPSJjYl9waG9uZSIvPgogICAgPHA+0JLQsNGIIGUtbWFpbDo8L3A+CiAgICA8aW5wdXQgbmFtZT0iY2JfbWFpbCIgaWQ9ImNiX21haWwiLz4KICAgIDxicj4KICAgIDxwPjxsYWJlbCBmb3I9InRlcm1zIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InRlcm1zIiBpZD0idGVybXMiIHZhbHVlPSIxIiBzdHlsZT0id2lkdGg6MzBweDtoZWlnaHQ6MjBweCI+0K8g0YHQvtCz0LvQsNGB0LXQvSDQvdCwINC+0LHRgNCw0LHQvtGC0LrRgyDQuCDRhdGA0LDQvdC10L3QuNC1INGB0LLQvtC40YUg0L/QtdGA0YHQvtC90LDQu9GM0L3Ri9GFINC00LDQvdC90YvRhSDQsiDRgdC+0L7RgtCy0LXRgtGB0YLQstC40Lgg0YEgPGEgaHJlZj0iaHR0cDovL3d1bmRlcnBhcmsucnUvdGVybXNvZnVzZV9zaXJpdXMvIiB0YXJnZXQ9Il9ibGFuayIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Ij7Qv9C+0LvRjNC30L7QstCw0YLQtdC70YzRgdC60LjQvCDRgdC+0LPQu9Cw0YjQtdC90LjQtdC8PC9hPiAqPC9sYWJlbD48L3A+CiAgICA8cD48bGFiZWwgZm9yPSJwcm9tb19vZmZlcnMiPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0icHJvbW9fb2ZmZXJzIiBpZD0icHJvbW9fb2ZmZXJzIiB2YWx1ZT0iMSIgY2hlY2tlZD0iY2hlY2tlZCIgc3R5bGU9IndpZHRoOjMwcHg7aGVpZ2h0OjIwcHgiPtCvINGB0L7Qs9C70LDRgdC10L0g0L/QvtC70YPRh9Cw0YLRjCDQv9GA0LXQtNC70L7QttC10L3QuNGPIFd1bmRlcnBhcms8L2xhYmVsPjwvcD4KCiAgICA8IS0tIDxwIGNsYXNzPSJyZW1hcmsiPtCS0YHQtSDQv9C+0LvRjyDQvtCx0Y/Qt9Cw0YLQtdC70YzQvdGLINC6INC30LDQv9C+0LvQvdC10L3QuNGOPC9wPiAtLT4KICAgIDxidXR0b24gb25jbGljaz0iaWYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NiX25hbWUnKS52YWx1ZSAmJiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2JfcGhvbmUnKS52YWx1ZSAmJiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2JfbWFpbCcpLnZhbHVlICYmICQoJyN0ZXJtcycpLnByb3AoJ2NoZWNrZWQnKSkgeyQoJyNmbG9hdGluZ19iYWNrJykuZmFkZU91dCgnZmFzdCcpOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndHJpZF9yZWdpc3RlcicpLnZhbHVlPU1hdGgucmFuZG9tKCkqMTAwMDA7IGFqYXhfZm9ybV9zdWJtaXQoJ3JlZ2lzdGVyJyk7fSBlbHNlIGFsZXJ0KCfQn9C+0LbQsNC70YPQudGB0YLQsCwg0LfQsNC/0L7Qu9C90LjRgtC1INCy0YHQtSDQv9C+0LvRjycpOyByZXR1cm4gZmFsc2U7Ij7QntGC0L/RgNCw0LLQuNGC0Yw8L2J1dHRvbj4KICA8L2Zvcm0+CjwvZGl2Pg==
PGRpdiBjbGFzcz0iZm9ybSByZXF1ZXN0Ij4KICA8YSBjbGFzcz0iY2xvc2UiIG9uY2xpY2s9IiQoJyNmbG9hdGluZ19iYWNrJykuZmFkZU91dCgnZmFzdCcpOyI+PC9hPgogIDxoMz7Qn9Cw0YDRgtC90LXRgNGB0YLQstC+INC4INGA0LXQutC70LDQvNCwPC9oMz4KCiAgPGZvcm0gbmFtZT0icGFydG5lcnMiIGFjdGlvbj0iL3VuaXRzL2FqYXgucGhwIiB0YXJnZXQ9ImZvcm1fc2VuZCIgbWV0aG9kPSJwb3N0Ij4KICAgIDxpbnB1dCBuYW1lPSJmdW5jIiB0eXBlPSJoaWRkZW4iIHZhbHVlPSJmZWVkYmFja19zZW5kbWFpbCI+CiAgICA8aW5wdXQgbmFtZT0iZm9ybV9odXUiIHR5cGU9ImhpZGRlbiIgdmFsdWU9InBhcnRuZXJzIj4KICAgIDxpbnB1dCBuYW1lPSJ0ZW1wbGF0ZSIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0id3VuZGVycGFyayI+CiAgICA8aW5wdXQgbmFtZT0idHJpZCIgaWQ9InRyaWRfcGFydG5lcnMiIHR5cGU9ImhpZGRlbiIgdmFsdWU9IiI+CiAgICA8aW5wdXQgbmFtZT0ic3VjY2VzcyIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0i0JfQsNC/0YDQvtGBINGD0YHQv9C10YjQvdC+INC+0YLQv9GA0LDQstC70LXQvS4g0JzRiyDRgdCy0Y/QttC10LzRgdGPINCyINCS0LDQvNC4INCyINCx0LvQuNC20LDQudGI0LXQtSDQstGA0LXQvNGPLiI+CgogIDxwPtCf0L4g0LLQvtC/0YDQvtGB0LDQvCDQv9Cw0YDRgtC90LXRgNGB0YLQstCwINCy0Ysg0LzQvtC20LXRgtC1INGB0LLRj9C30LDRgtGM0YHRjyA8YnIvPgogICAgIG1hcmtldGluZ0B3dW5kZXJwYXJrLnJ1PGJyLz4KICAgICDRgtC10Ls6ICs3ICg0OTUpIDEyMi0wMC0wMjxici8+CiAgICAg0JjQu9C4INC30LDQv9C+0LvQvdC40YLRjCDRhNC+0YDQvNGDINC90LjQttC1LCDQvNGLINC+0LHRj9C30LDRgtC10LvRjNC90L4g0YEg0LLQsNC80Lgg0YHQstGP0LbQtdC80YHRjy48L3A+CiAgPHA+0JLQsNGI0LUg0LjQvNGPOjwvcD4KICA8aW5wdXQgbmFtZT0iY2JfbmFtZSIgaWQ9ImNiX25hbWUiPgogIDxwPtCi0LXQu9C10YTQvtC9OjwvcD4KICA8aW5wdXQgbmFtZT0iY2JfcGhvbmUiICBpZD0iY2JfcGhvbmUiPgogIDxwPtCa0L7QvNC80LXQvdGC0LDRgNC40Lk6PC9wPgogIDx0ZXh0YXJlYSBuYW1lPSJjYl90ZXh0IiBpZD0iY2JfdGV4dCI+PC90ZXh0YXJlYT4KICA8IS0tIDxwIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAtMjBweDsiPtCS0YHQtSDQv9C+0LvRjyDQvtCx0Y/Qt9Cw0YLQtdC70YzQvdGLPGJyLz7QuiDQt9Cw0L/QvtC70L3QtdC90LjRjjwvcD4gLS0+CiAgPGJ1dHRvbiBvbmNsaWNrPSJpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2JfbmFtZScpLnZhbHVlICYmIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYl9waG9uZScpLnZhbHVlKSB7JCgnI2Zsb2F0aW5nX2JhY2snKS5mYWRlT3V0KCdmYXN0Jyk7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0cmlkX3BhcnRuZXJzJykudmFsdWU9TWF0aC5yYW5kb20oKSoxMDAwMDsgYWpheF9mb3JtX3N1Ym1pdCgncGFydG5lcnMnKTt9IGVsc2UgYWxlcnQoJ9Cf0L7QttCw0LvRg9C50YHRgtCwLCDQt9Cw0L/QvtC70L3QuNGC0LUg0LLRgdC1INC/0L7Qu9GPJyk7IHJldHVybiBmYWxzZTsiPtCe0YLQv9GA0LDQstC40YLRjDwvYnV0dG9uPgogIDwvZm9ybT4KPC9kaXY+