Die Infos & Tipps werden beim Klicken auf den untenstehenden Button von externen Quellen unserer Partner bereitgestellt.
Bitte beachten Sie die Datenschutzerklärung.
PGJyIC8+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZnVuY3Rpb24gcHJpbnREaXYodGl0ZWwsIGRpdk5hbWUpIHsKCXZhciBwcmludENvbnRlbnRzID0gIjxzdHlsZT4gKiB7Zm9udC1mYW1pbHk6IEFyaWFsOyBmb250LXNpemU6MTJweDsgbGluZS1oZWlnaHQ6MS40ZW07fSBib2R5IHttYXJnaW4tbGVmdDo1MHB4OyBtYXJnaW4tcmlnaHQ6NTBweDt9IGgxIHtmb250LXNpemU6MTZweDsgZm9udC13ZWlnaHQ6Ym9sZDsgZm9udC1mYW1pbHk6YXJpYWw7IG1hcmdpbi1ib3R0b206MjBweDt9IC5ub19wcmludCB7ZGlzcGxheTogbm9uZTt9PC9zdHlsZT48aDE+Iit0aXRlbCsiPC9oMT4iK2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKGRpdk5hbWUpLmlubmVySFRNTDsKCXZhciBvcmlnaW5hbENvbnRlbnRzID0gZG9jdW1lbnQuYm9keS5pbm5lckhUTUw7Cglkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9IHByaW50Q29udGVudHM7Cgl3aW5kb3cucHJpbnQoKTsKCWRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gb3JpZ2luYWxDb250ZW50czsKfQpmdW5jdGlvbiBGZW5zdGVyT2VmZm5lbiAoQWRyZXNzZSwgYnJlaXRlLCBob2VoZSkgewoJTWVpbkZlbnN0ZXIgPSB3aW5kb3cub3BlbihBZHJlc3NlLCAiWndlaXRmZW5zdGVyIiwgIndpZHRoPSIrYnJlaXRlKyIsaGVpZ2h0PSIraG9laGUrIixsZWZ0PTIwMCx0b3A9MjAwLHNjcm9sbGJhcnM9MSIpOwoJTWVpbkZlbnN0ZXIuZm9jdXMoKTsKfQo8L3NjcmlwdD4KCgo8c2NyaXB0IGxhbmd1YWdlPSJKYXZhU2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoKZnVuY3Rpb24gdG9nZ2xlRGl2KGVsZW1lbnQpewogaWYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudCkuc3R5bGUuZGlzcGxheSA9PSAnbm9uZScpIHsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50KS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKICAvL3dpbmRvdy5sb2NhdGlvbiA9ICIjZW5kZSI7CiB9CiBlbHNlCiAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50KS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwp9CgpmdW5jdGlvbiB0b2dnbGVEb3VibGVEaXYoZWxlbWVudDEsZWxlbWVudDIpewppZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50MSkuc3R5bGUuZGlzcGxheSA9PSAnbm9uZScpIHsKCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnQxKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnQyKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwp9IGVsc2UgewoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudDEpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50Mikuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7Cn0KfQoKZnVuY3Rpb24gZ2V0Q2hlY2tib3hWYWx1ZXMoZm9ybSkgewogIHZhciB2YWx1ZXMgPSBbXTsKICB2YXIgY2JfaXRlbXMgPSBmb3JtLmNiX2l0ZW07CgogIGZvciAodmFyIGk9MCwgaUxlbj1jYl9pdGVtcy5sZW5ndGg7IGk8aUxlbjsgaSsrKSB7CiAgICBpZiAoY2JfaXRlbXNbaV0uY2hlY2tlZCkgewogICAgICB2YWx1ZXMucHVzaChjYl9pdGVtc1tpXS52YWx1ZSk7CiAgICB9CiAgfQogIHJldHVybiB2YWx1ZXMuam9pbignfCcpOwp9CgoKZnVuY3Rpb24gc2hvd1Jlc3VsdChzdWNoc3RyLCBtb25hdCwgamFociwgcnVicmlrZW4sIHppZWxncnVwcGVuLCBzZWl0ZSwgdGVhc2VybW9kdXMsIGFuemFobCwgZmFjaGdlYmlldCwgdmFyaWFudGUsIG90YSwgaW5pdGlhbCkgewoJeG1saHR0cCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwoJeG1saHR0cC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHsKCQlpZiAoeG1saHR0cC5yZWFkeVN0YXRlID09IDQgJiYgeG1saHR0cC5zdGF0dXMgPT0gMjAwKSB7CgkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0eHRIaW50IikuaW5uZXJIVE1MID0geG1saHR0cC5yZXNwb25zZVRleHQ7CgkJfQoJfQoJeG1saHR0cC5vcGVuKCJHRVQiLCJodHRwczovL3d3dy5kZXVibmVyLW9ubGluZS5kZS9laW5iYXUvbWlvL2Jpbi9oaW50ZXJncnVuZGxhZGVuLnBocD9wYWdlPSIrc2VpdGUrIiZzPSIrZW5jb2RlVVJJQ29tcG9uZW50KHN1Y2hzdHIpKyImbT0iK21vbmF0KyImaj0iK2phaHIrIiZydWJyaWtlbj0iK2VuY29kZVVSSUNvbXBvbmVudChydWJyaWtlbikrIiZ6aWVsZ3J1cHBlbj0iK3ppZWxncnVwcGVuKyImdGVhc2VybW9kdXM9Iit0ZWFzZXJtb2R1cysiJmFuemFobD0iK2FuemFobCsiJmZhY2hnZWJpZXQ9IitmYWNoZ2ViaWV0KyImdmFyaWFudGU9Iit2YXJpYW50ZSsiJm90YT0iK290YSx0cnVlKTsKCXhtbGh0dHAuc2VuZCgpOwoJCglpZiAoaW5pdGlhbCA9PSAwKSB7IAoJCXdpbmRvdy5sb2NhdGlvbi5oYXNoID0gImVyZ2VibmlzbGlzdGUiOwoJfQkKfQoKZnVuY3Rpb24gc2hvd0FsbChrZG5yLCByZXNldFN0cikgewoJLy8gTGVlcmVuIGRlcyBGb3JtdWxhcnMKCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdWNoYmVncmlmZicpLnZhbHVlPScnOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vbmF0JykudmFsdWU9J2FsbGUnOwoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2phaHInKS52YWx1ZT0nYWxsZSc7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncnVicmlrZW4nKS52YWx1ZT0nYWxsZSBaaWVsZ3J1cHBlbic7Cglkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncnVicmlrZW4nKS5zZWxlY3RlZEluZGV4ID0gMDsKCWNiX2l0ZW1zID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ppZWxncnVwcGVuJykuY2JfaXRlbTsKCWZvciAodmFyIGk9MCwgaUxlbj1jYl9pdGVtcy5sZW5ndGg7IGk8aUxlbjsgaSsrKSB7CgkJY2JfaXRlbXNbaV0uY2hlY2tlZD1mYWxzZTsKCX0JCglzaG93UmVzdWx0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdWNoYmVncmlmZicpLnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbW9uYXQnKS52YWx1ZSwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2phaHInKS52YWx1ZSwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3J1YnJpa2VuJykudmFsdWUsIGdldENoZWNrYm94VmFsdWVzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd6aWVsZ3J1cHBlbicpKSwgMSwgdGVhc2VybW9kdXMsIGFuemFobCwgZmFjaGdlYmlldCwgdmFyaWFudGUsIGtkbnIsIDApOwoJc3dpdGNoU2l6ZVJ1YnJpa2VuKCk7Cn0KCmZ1bmN0aW9uIHN3aXRjaFNpemVSdWJyaWtlbigpIHsKCWlmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncnVicmlrZW4nKS52YWx1ZS5sZW5ndGggPCAyOCkgCgkJeyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncnVicmlrZW4nKS5zdHlsZS53aWR0aCA9ICcxMjBweCc7IH0KCWVsc2UKCQl7IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdydWJyaWtlbicpLnN0eWxlLndpZHRoID0gJzMyMHB4JzsgfQp9IAoKPC9zY3JpcHQ+CgoKPHN0eWxlPgppbWcucGlrdG9ncmFtbSB7CmJhY2tncm91bmQtY29sb3I6I2RkZDsKbWFyZ2luLXJpZ2h0OiAxMHB4Owp9CgoucnVicmlrIHsKcGFkZGluZy1sZWZ0OjEwcHg7CnBhZGRpbmctdG9wOjEwcHg7CmhlaWdodDo0MHB4Owp2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Cn0KCiNEaXZSdWJyaWtlbiwgI0RpdlppZWxncnVwcGVuLCAjRGl2WmVpdHJhdW0gewpmbG9hdDpsZWZ0OwpwYWRkaW5nLXJpZ2h0OjMwcHg7CnBhZGRpbmctYm90dG9tOjMwcHg7CmJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Cn0KI0Rpdk1vbmF0Vm9uLCAjRGl2SmFoclZvbiB7CmZsb2F0OmxlZnQ7CnBhZGRpbmctcmlnaHQ6MTBweDsKfQoubWlvICNzdGV1ZXJ0ZXJtaW4xLCAubWlvICNzdGV1ZXJ0ZXJtaW4yIHsKZmxvYXQ6bGVmdDsKcGFkZGluZzoxMHB4Owp3aWR0aDo0MDBweDsKZm9udC1zaXplOjAuOGVtOwp9Ci5taW8gI3N0ZXVlcnRlcm1pbjEgcCwgLm1pbyAjc3RldWVydGVybWluMiBwIHsKbGluZS1oZWlnaHQ6MTEwJTsKfQkKCi5taW9faGVhZCAjc3RldWVydGVybWluMiB7CmNsZWFyOnJpZ2h0Owp9CgoubWlvIC5uZXdzZGF0dW0gewpmb250LXNpemU6MC44ZW07Cn0KCi5taW9faGVhZCBpbnB1dFt0eXBlPSJyYWRpbyJdLAoubWlvX2hlYWQgaW5wdXRbdHlwZT0iY2hlY2tib3giXSB7Cm1hcmdpbjowcHggOHB4IDNweCAxcHg7Cn0KCi5taW9faGVhZCAjc3VjaHN0ZXVlcnVuZyB7CnRleHQtYWxpZ246cmlnaHQ7IApmbG9hdDpyaWdodDsJCn0KCi5taW9faGVhZCAjZWluZ2FiZV9zdWNoYmVncmlmZiB7CmRpc3BsYXk6aW5saW5lOwp9CgoubWlvX2hlYWQgc2VsZWN0CnsKYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsKYm9yZGVyLXRvcC13aWR0aDogMHB4Owpib3JkZXItcmlnaHQtd2lkdGg6IDBweDsKYm9yZGVyLWJvdHRvbS13aWR0aDogMHB4Owpib3JkZXItbGVmdC13aWR0aDogMHB4Owpib3JkZXItaW1hZ2Utc291cmNlOiBub25lOwpib3JkZXItaW1hZ2Utc2xpY2U6IDEwMCUgMTAwJSAxMDAlIDEwMCU7CmJvcmRlci1pbWFnZS13aWR0aDogMSAxIDEgMTsKYm9yZGVyLWltYWdlLW91dHNldDogMCAwIDAgMDsKYm9yZGVyLWltYWdlLXJlcGVhdDogc3RyZXRjaCBzdHJldGNoOwpib3JkZXItY29sb3I6ICNjY2M7CnBhZGRpbmctdG9wOiAwcHg7CnBhZGRpbmctcmlnaHQ6IDBweDsKcGFkZGluZy1ib3R0b206IDBweDsKcGFkZGluZy1sZWZ0OiA1cHg7Cm1hcmdpbi1yaWdodDogMTBweDsKaGVpZ2h0OiAyNnB4Owpmb250LXNpemU6MC43ZW07Cn0KCi5taW9faGVhZCBpbnB1dAp7CnBhZGRpbmctbGVmdDogMTBweDsKaGVpZ2h0OiAyNnB4Owp3aWR0aDogNTAlOwpwYWRkaW5nLXJpZ2h0OjEwcHg7CmJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwpiYWNrZ3JvdW5kLWltYWdlOiBub25lOwpiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0OwpiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbDsKYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgMCU7CmJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDsKYmFja2dyb3VuZC1vcmlnaW46IHBhZGRpbmctYm94OwpiYWNrZ3JvdW5kLXNpemU6IGF1dG8gYXV0bzsKYm9yZGVyLXRvcC13aWR0aDogMHB4Owpib3JkZXItcmlnaHQtd2lkdGg6IDBweDsKYm9yZGVyLWJvdHRvbS13aWR0aDogMHB4Owpib3JkZXItbGVmdC13aWR0aDogMHB4Owpib3JkZXItaW1hZ2Utc291cmNlOiBub25lOwpib3JkZXItaW1hZ2Utc2xpY2U6IDEwMCUgMTAwJSAxMDAlIDEwMCU7CmJvcmRlci1pbWFnZS13aWR0aDogMSAxIDEgMTsKYm9yZGVyLWltYWdlLW91dHNldDogMCAwIDAgMDsKYm9yZGVyLWltYWdlLXJlcGVhdDogc3RyZXRjaCBzdHJldGNoOwp9CgoubWlvX2hlYWQgaW5wdXQsIC5taW9faGVhZCBzZWxlY3QKewpjb2xvcjogIzAwMDsKbWFyZ2luLXRvcDogMHB4OwptYXJnaW4tYm90dG9tOiA1cHg7Cn0KCi5taW8gI2F1c3dhaGxTdGFuZGFyZAp7CnBhZGRpbmc6NXB4OwpiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7CmJvcmRlcjogMXB4IHNvbGlkICNlZWU7Cm1hcmdpbi1ib3R0b206MjBweDsKfQoKLm1pbyAuZGF0ZW5zY2h1dHogewptYXJnaW4tdG9wOjIwcHg7CmZvbnQtc2l6ZToxMHB4Owp9CgoubWlvIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IAogICAgY29sb3I6ICAgICNhYWE7Cn0KLm1pbyA6Oi1tb3otcGxhY2Vob2xkZXIgeyAKICAgY29sb3I6ICAgICNhYWE7CiAgIG9wYWNpdHk6ICAxOwp9Ci5taW8gOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IAogICBjb2xvcjogICAgI2FhYTsKfQoubWlvIDo6cGxhY2Vob2xkZXIgeyAKICBjb2xvcjogICAgI2FhYTsKfQoKLm1pbyBpbnB1dCB7CmJvcmRlci1sZWZ0LXdpZHRoOiAwcHg7CmZsb2F0OiBjbGVhcjsKfQoKLm1pbyAjc3RldWVydGVybWluMSwgLm1pbyAjc3RldWVydGVybWluMiB7CndpZHRoOjQ1JTsKfQoKLm5ld3Nfb3BlbiB7Cm1hcmdpbi10b3A6MTVweDsKbWFyZ2luLWJvdHRvbTogMTBweDsKZm9udC1zaXplOjEuMmVtOwp9CgoudGl0ZWxfaW5fYXJ0aWtlbCB7CmRpc3BsYXk6bm9uZTsKfQoKLmVpbnRlaWx1bmdfc29uZGVybWVsZHVuZ2VuIHsKZm9udC1zaXplOiAxLjJyZW07CQptYXJnaW4tdG9wOiAyMHB4OwptYXJnaW4tYm90dG9tOiAxNXB4Owpib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FhYTsKfQoKQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHsKc2VsZWN0I3J1YnJpa2VuIHsKZGlzcGxheTpibG9jayAhaW1wb3J0YW50Owp9CgoubWlvICNzdGV1ZXJ0ZXJtaW4xLCAubWlvICNzdGV1ZXJ0ZXJtaW4yIHsKd2lkdGg6MTAwJTsKfQoKaW5wdXQjc3VjaGJlZ3JpZmYgewptYXJnaW4tbGVmdDogMHB4ICFpbXBvcnRhbnQ7CndpZHRoOjgwJSAhaW1wb3J0YW50Owp9Cn0KPC9zdHlsZT4KPHN0eWxlPjwvc3R5bGU+PCEtLUswMDFiMDAwMDAwc1V5VTRPT1RBLTIwMjAxMDE2NjhQVEFHRVNBS1RVRUxMLS0+CjxkaXYgY2xhc3M9Im1pbyI+CjxkaXYgaWQ9InN0ZXVlcnRlcm1pbmUiPjxkaXYgaWQ9InN0ZXVlcnRlcm1pbjEiPjxoNCBjbGFzcz0idWViX3N0ZXVlcnRlcm1pbmUiIGlkPSJ1ZWJfc3R0MSI+U3RldWVydGVybWluZSBPa3RvYmVyIDIwMjU8L2g0PjxkaXYgY2xhc3M9ImJlaXRyYWdfc3RldWVydGVybWluZSI+PHRhYmxlPjx0ciB2YWxpZ249InRvcCI+PHRkIHdpZHRoPSI1MCI+MTAuMTAuPC90ZD48dGQ+VW1zYXR6c3RldWVyPGJyLz5Mb2huc3RldWVyKjxici8+U29saWRhcml0w6R0c3p1c2NobGFnKjxici8+S2lyY2hlbmxvaG5zdGV1ZXIgZXYuIHVuZCByLmthdGguKjwvdGQ+PC90cj48L3RhYmxlPjxwPlphaGx1bmdzc2Nob25mcmlzdDogYmlzIHp1bSAxMy4xMC4yMDI1LiBEaWVzZSBTY2hvbmZyaXN0IGdpbHQgbmljaHQgYmVpIEJhcnphaGx1bmdlbiB1bmQgWmFobHVuZ2VuIHBlciBTY2hlY2suIFsqIGJlaSBtb25hdGxpY2hlciBBYmbDvGhydW5nIGbDvHIgU2VwdGVtYmVyIDIwMjU7IGJlaSB2aWVydGVsasOkaHJsaWNoZXIgQWJmw7xocnVuZyBmw7xyIGRhcyBJSUkuIFF1YXJ0YWwgMjAyNV08L3A+PC9kaXY+PC9kaXY+PGRpdiBpZD0ic3RldWVydGVybWluMiI+PGg0IGNsYXNzPSJ1ZWJfc3RldWVydGVybWluZSIgaWQ9InVlYl9zdHQyIj5TdGV1ZXJ0ZXJtaW5lIE5vdmVtYmVyIDIwMjU8L2g0PjxkaXYgY2xhc3M9ImJlaXRyYWdfc3RldWVydGVybWluZSI+PHRhYmxlPjx0ciB2YWxpZ249InRvcCI+PHRkIHdpZHRoPSI1MCI+MTAuMTEuPC90ZD48dGQ+VW1zYXR6c3RldWVyKjxici8+TG9obnN0ZXVlcio8YnIvPlNvbGlkYXJpdMOkdHN6dXNjaGxhZyo8YnIvPktpcmNoZW5sb2huc3RldWVyIGV2LiB1bmQgci5rYXRoLio8L3RkPjwvdHI+PHRyIHZhbGlnbj0idG9wIj48dGQgd2lkdGg9IjUwIj4xMC4xMS4xNy4xMS48L3RkPjx0ZD5LaXJjaGVubG9obnN0ZXVlciBldi4gdW5kIHIua2F0aC4qR3J1bmRzdGV1ZXIqKjwvdGQ+PC90cj48dHIgdmFsaWduPSJ0b3AiPjx0ZCB3aWR0aD0iNTAiPjE3LjExLjwvdGQ+PHRkPkdld2VyYmVzdGV1ZXIqKjwvdGQ+PC90cj48L3RhYmxlPjxwPlphaGx1bmdzc2Nob25mcmlzdDogYmlzIHp1bSAxMy4xMS4gYnp3LiAyMC4xMS4yMDI1LiBEaWVzZSBTY2hvbmZyaXN0IGdpbHQgbmljaHQgYmVpIEJhcnphaGx1bmdlbiB1bmQgWmFobHVuZ2VuIHBlciBTY2hlY2suIFsqIGJlaSBtb25hdGxpY2hlciBBYmbDvGhydW5nIGbDvHIgT2t0b2JlciAyMDI1OyoqIFZpZXJ0ZWxqYWhyZXNyYXRlIGFuIGRpZSBHZW1laW5kZV08L3A+PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0iY2xlYXI6bGVmdDsiPjwvZGl2PjwvZGl2PjxociBjbGFzcz0ic3RfdGVybWluX3RyZW5uZXIiPjxkaXYgc3R5bGU9ImRpc3BsYXk6bm9uZTsiIGlkPSJzdF90ZXJtaW5fdHJlbm5lcl9kdW1teSI+PC9kaXY+CjxkaXYgY2xhc3M9Im1pb19oZWFkIj4KCTxhIGlkPSJlcmdlYm5pc2xpc3RlIj48L2E+Cgk8ZGl2IGlkPSJlcmdlYm5pc2xpc3RlIj48L2Rpdj4KCTxkaXYgaWQ9ImF1c3dhaGxTdGFuZGFyZCIgc3R5bGU9IiI+PGZvcm0gaWQ9ImVpbmdhYmVfc3VjaGJlZ3JpZmYiPjxzZWxlY3Qgb25DbGljaz0ic3dpdGNoU2l6ZVJ1YnJpa2VuKCkiIHN0eWxlPSJ3aWR0aDoxMjBweDtvdmVyZmxvdzpoaWRkZW4iIGlkPSJydWJyaWtlbiI+PG9wdGlvbiBzZWxlY3RlZD0ic2VsZWN0ZWQiPmFsbGUgWmllbGdydXBwZW48L29wdGlvbj48b3B0aW9uPkluZm9ybWF0aW9uZW4gZsO8ciBhbGxlIFN0ZXVlcnphaGxlcjwvb3B0aW9uPjxvcHRpb24+SW5mb3JtYXRpb25lbiBmw7xyIEFyYmVpdGdlYmVyIHVuZCBBcmJlaXRuZWhtZXI8L29wdGlvbj48b3B0aW9uPkluZm9ybWF0aW9uZW4gZsO8ciBGcmVpYmVydWZsZXI8L29wdGlvbj48b3B0aW9uPkluZm9ybWF0aW9uZW4gZsO8ciBHbWJILUdlc2VsbHNjaGFmdGVyLy1HRjwvb3B0aW9uPjxvcHRpb24+SW5mb3JtYXRpb25lbiBmw7xyIEhhdXNiZXNpdHplcjwvb3B0aW9uPjxvcHRpb24+SW5mb3JtYXRpb25lbiBmw7xyIEthcGl0YWxhbmxlZ2VyPC9vcHRpb24+PG9wdGlvbj5JbmZvcm1hdGlvbmVuIGbDvHIgVW50ZXJuZWhtZXI8L29wdGlvbj48L3NlbGVjdD48aW5wdXQgdHlwZT0idGV4dCIgaWQ9InN1Y2hiZWdyaWZmIiBwbGFjZWhvbGRlcj0iU3VjaGJlZ3JpZmYiIHNpemU9IjQwIj48L2Zvcm0+PCEtLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGNsYXNzPSJmaWx0ZXJsaW5rIiBocmVmPSJqYXZhc2NyaXB0OnRvZ2dsZURpdignZmlsdGVyYm94Jyk7Ij48aW1nIHNyYz0iaHR0cHM6Ly93d3cuZGV1Ym5lci1vbmxpbmUuZGUvZWluYmF1L21pby9iaW4vaW1nL0x1cGUucG5nIj4mbmJzcDtFcndlaXRlcnRlIE9wdGlvbmVuIGVpbi0vYXVzYmxlbmRlbjwvYT4tLT4KCQk8ZGl2IGlkPSJzdWNoc3RldWVydW5nIj48YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCk7IiBvbmNsaWNrPSJzaG93UmVzdWx0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdWNoYmVncmlmZicpLnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbW9uYXQnKS52YWx1ZSwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2phaHInKS52YWx1ZSwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3J1YnJpa2VuJykudmFsdWUsICcnLCAxLCAnMCcsICcyMCcsICdTJywgJ1RBR0VTQUtUVUVMTCcsICdPVEEtMjAyMDEwMTY2OCcsIDEpOyI+PGltZyBpZD0ibHVwZSIgYWx0PSJsdXBlIiBzcmM9Imh0dHBzOi8vd3d3LmRldWJuZXItb25saW5lLmRlL2VpbmJhdS9taW8vYmluL2ltZy9MdXBlLnBuZyI+PC9hPjwvZGl2PgkKCQkKCQkKCTwvZGl2PgoJPGRpdiBpZD0iZmlsdGVyYm94IiBzdHlsZT0iZGlzcGxheTpub25lOyI+Cgk8YnI+PGJyPjxkaXYgaWQ9ImF1c3dhaGxFcndlaXRlcnQiPjxkaXYgaWQ9IkRpdlppZWxncnVwcGVuIj4KCQkJPGg0PlppZWxncnVwcGVuPC9oND4KCQkJPGZvcm0gaWQ9InppZWxncnVwcGVuIj48bGFiZWw+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBjbGFzcz0iY2JfaXRlbSIgdmFsdWU9IkluZm9ybWF0aW9uZW4gZsO8ciBVbnRlcm5laG1lciI+SW5mb3JtYXRpb25lbiBmw7xyIFVudGVybmVobWVyPC9sYWJlbD48YnI+PGxhYmVsPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9ImNiX2l0ZW0iIHZhbHVlPSJJbmZvcm1hdGlvbmVuIGbDvHIgS2FwaXRhbGFubGVnZXIiPkluZm9ybWF0aW9uZW4gZsO8ciBLYXBpdGFsYW5sZWdlcjwvbGFiZWw+PGJyPjxsYWJlbD48aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJjYl9pdGVtIiB2YWx1ZT0iSW5mb3JtYXRpb25lbiBmw7xyIEdtYkgtR2VzZWxsc2NoYWZ0ZXIvLUdGIj5JbmZvcm1hdGlvbmVuIGbDvHIgR21iSC1HZXNlbGxzY2hhZnRlci8tR0Y8L2xhYmVsPjxicj48bGFiZWw+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBjbGFzcz0iY2JfaXRlbSIgdmFsdWU9IkluZm9ybWF0aW9uZW4gZsO8ciBhbGxlIFN0ZXVlcnphaGxlciI+SW5mb3JtYXRpb25lbiBmw7xyIGFsbGUgU3RldWVyemFobGVyPC9sYWJlbD48YnI+PGxhYmVsPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9ImNiX2l0ZW0iIHZhbHVlPSJJbmZvcm1hdGlvbmVuIGbDvHIgQXJiZWl0Z2ViZXIgdW5kIEFyYmVpdG5laG1lciI+SW5mb3JtYXRpb25lbiBmw7xyIEFyYmVpdGdlYmVyIHVuZCBBcmJlaXRuZWhtZXI8L2xhYmVsPjxicj48bGFiZWw+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBjbGFzcz0iY2JfaXRlbSIgdmFsdWU9IkluZm9ybWF0aW9uZW4gZsO8ciBGcmVpYmVydWZsZXIiPkluZm9ybWF0aW9uZW4gZsO8ciBGcmVpYmVydWZsZXI8L2xhYmVsPjxicj48bGFiZWw+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBjbGFzcz0iY2JfaXRlbSIgdmFsdWU9IkluZm9ybWF0aW9uZW4gZsO8ciBIYXVzYmVzaXR6ZXIiPkluZm9ybWF0aW9uZW4gZsO8ciBIYXVzYmVzaXR6ZXI8L2xhYmVsPjxicj48L2Zvcm0+CgkJCTwvZGl2PgoJCTxkaXYgaWQ9IkRpdlplaXRyYXVtIj4KCQkJPGg0PlplaXRyYXVtPC9oND4KCQkJPGRpdiBpZD0iRGl2TW9uYXRWb24iPgoJCQkJPGg1Pk1vbmF0PC9oNT4KCQkJCTxmb3JtPgoJCQkJCTxzZWxlY3QgaWQ9Im1vbmF0IiBzaXplPSIxIj4KCQkJCQkJPG9wdGlvbj5hbGxlPC9vcHRpb24+CgkJCQkJPC9zZWxlY3Q+CgkJCQk8L2Zvcm0+CgkJCTwvZGl2PgkKCQkJPGRpdiBpZD0iRGl2SmFoclZvbiI+CgkJCQk8aDU+SmFocjwvaDU+CgkJCQk8Zm9ybSBtZXRob2Q9IlBPU1QiPgoJCQkJCTxzZWxlY3QgaWQ9ImphaHIiIHNpemU9IjEiPgoJCQkJCTwvc2VsZWN0PgoJCQkJPC9mb3JtPgkJCQoJCQk8L2Rpdj4JCgkJPC9kaXY+CQoJPC9kaXY+CQoJCTxkaXYgc3R5bGU9ImNsZWFyOiBsZWZ0O3BhZGRpbmctdG9wOjIwcHg7Ij4KCQkJPGJ1dHRvbiB0eXBlPSJidXR0b24iIGlkPSJmaWx0ZXIiIG9uY2xpY2s9InNob3dSZXN1bHQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Y2hiZWdyaWZmJykudmFsdWUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb25hdCcpLnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnamFocicpLnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncnVicmlrZW4nKS52YWx1ZSwgZ2V0Q2hlY2tib3hWYWx1ZXMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ppZWxncnVwcGVuJykpLCAxLCAnMCcsICcyMCcsICdTJywgJ1RBR0VTQUtUVUVMTCcsICdPVEEtMjAyMDEwMTY2OCcsIDEpOyI+RmlsdGVyIGFud2VuZGVuPC9idXR0b24+Jm5ic3A7Jm5ic3A7CgkJCTxidXR0b24gdHlwZT0iYnV0dG9uIiBpZD0iZmlsdGVyIiBvbmNsaWNrPSJzaG93QWxsKCdPVEEtMjAyMDEwMTY2OCcpOyIgaHJlZj0iI2VyZ2VibmlzbGlzdGUiPkFsbGUgYW56ZWlnZW48L2J1dHRvbj4KCQk8L2Rpdj4JCgk8L2Rpdj4KPC9kaXY+CTxkaXYgY2xhc3M9Im1pb19zdGFuZGFyZCBtaW9fbmV3cyI+CQk8ZGl2IGlkPSJ0eHRIaW50Ij48L2Rpdj4KCQk8c2NyaXB0PgoJCXNob3dSZXN1bHQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Y2hiZWdyaWZmJykudmFsdWUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb25hdCcpLnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnamFocicpLnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncnVicmlrZW4nKS52YWx1ZSwgJycsIDEsIDAsIDIwLCAnUycsICdUQUdFU0FLVFVFTEwnLCAnT1RBLTIwMjAxMDE2NjgnLCAxKTsgCgoJCWRvY3VtZW50Lm9ua2V5ZG93biA9IGZ1bmN0aW9uKGV2ZW50KSB7CgkJCWlmIChldmVudC5rZXlDb2RlID09IDEzKSB7IAoJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKSAKCQkJCXNob3dSZXN1bHQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Y2hiZWdyaWZmJykudmFsdWUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb25hdCcpLnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnamFocicpLnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncnVicmlrZW4nKS52YWx1ZSwgJycsIDEsIDAsIDIwLCAnUycsICdUQUdFU0FLVFVFTEwnLCAnT1RBLTIwMjAxMDE2NjgnLCAxKTsgCgkJCX0KCQl9CQoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdydWJyaWtlbicpLm9uY2hhbmdlID0gZnVuY3Rpb24oKSB7CgkJCXNob3dSZXN1bHQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N1Y2hiZWdyaWZmJykudmFsdWUsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb25hdCcpLnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnamFocicpLnZhbHVlLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncnVicmlrZW4nKS52YWx1ZSwgJycsIDEsIDAsIDIwLCAnUycsICdUQUdFU0FLVFVFTEwnLCAnT1RBLTIwMjAxMDE2NjgnLCAxKTsgCgkJfQoJCTwvc2NyaXB0PgoJPC9kaXY+CQo8L2Rpdj4JIA==