U0FYLnNldERvY3VtZW50TG9jYXRvcigpClNBWC5zdGFydERvY3VtZW50KCkKU0FYLnN0YXJ0RWxlbWVudChSREY6UkRGLCB4bWxuczpSREY9J2h0dHA6Ly93d3cudzMub3JnL1RSL1dELXJkZi1zeW50YXgjJywgeG1sbnM6UlBNPSdodHRwOi8vd3d3LnJwbS5vcmcvJykKU0FYLmNoYXJhY3RlcnMoCiAgPFJERjpEZXNjcmlwdGlvbiBhYm91dD0iZnRwLCAzKQpTQVguc3RhcnRFbGVtZW50KFJERjpEZXNjcmlwdGlvbiwgYWJvdXQ9J2Z0cDovL3J1ZnVzLnczLm9yZy9saW51eC9kbGQvNS40L2kzODYvUlBNUy9pMzg2L25jdXJzZXM0LTQuMi0zLmkzODYucnBtJykKU0FYLmNoYXJhY3RlcnMoCiAgICA8UlBNOk5hbWU+bmN1cnNlczQ8L1JQTTpOLCA1KQpTQVguc3RhcnRFbGVtZW50KFJQTTpOYW1lKQpTQVguY2hhcmFjdGVycyhuY3Vyc2VzNDwvUlBNOk5hbWU+CiAgICA8UlBNOlYsIDgpClNBWC5lbmRFbGVtZW50KFJQTTpOYW1lKQpTQVguY2hhcmFjdGVycygKICAgIDxSUE06VmVyc2lvbj40LjI8L1JQTTpWZXIsIDUpClNBWC5zdGFydEVsZW1lbnQoUlBNOlZlcnNpb24pClNBWC5jaGFyYWN0ZXJzKDQuMjwvUlBNOlZlcnNpb24+CiAgICA8UlBNOlJlbCwgMykKU0FYLmVuZEVsZW1lbnQoUlBNOlZlcnNpb24pClNBWC5jaGFyYWN0ZXJzKAogICAgPFJQTTpSZWxlYXNlPjM8L1JQTTpSZWxlYSwgNSkKU0FYLnN0YXJ0RWxlbWVudChSUE06UmVsZWFzZSkKU0FYLmNoYXJhY3RlcnMoMzwvUlBNOlJlbGVhc2U+CiAgICA8UlBNOkFyY2g+LCAxKQpTQVguZW5kRWxlbWVudChSUE06UmVsZWFzZSkKU0FYLmNoYXJhY3RlcnMoCiAgICA8UlBNOkFyY2g+aTM4NjwvUlBNOkFyY2g+LCA1KQpTQVguc3RhcnRFbGVtZW50KFJQTTpBcmNoKQpTQVguY2hhcmFjdGVycyhpMzg2PC9SUE06QXJjaD4KICAgIDxSUE06T3M+TGksIDQpClNBWC5lbmRFbGVtZW50KFJQTTpBcmNoKQpTQVguY2hhcmFjdGVycygKICAgIDxSUE06T3M+TGludXg8L1JQTTpPcz4KICAsIDUpClNBWC5zdGFydEVsZW1lbnQoUlBNOk9zKQpTQVguY2hhcmFjdGVycyhMaW51eDwvUlBNOk9zPgogICAgPFJQTTpEaXN0cmksIDUpClNBWC5lbmRFbGVtZW50KFJQTTpPcykKU0FYLmNoYXJhY3RlcnMoCiAgICA8UlBNOkRpc3RyaWJ1dGlvbj5ETEQ8L1JQLCA1KQpTQVguc3RhcnRFbGVtZW50KFJQTTpEaXN0cmlidXRpb24pClNBWC5jaGFyYWN0ZXJzKERMRDwvUlBNOkRpc3RyaWJ1dGlvbj4KICAgIDxSUCwgMykKU0FYLmVuZEVsZW1lbnQoUlBNOkRpc3RyaWJ1dGlvbikKU0FYLmNoYXJhY3RlcnMoCiAgICA8UlBNOlZlbmRvcj5kZWxpeCBDb21wdXRlLCA1KQpTQVguc3RhcnRFbGVtZW50KFJQTTpWZW5kb3IpClNBWC5jaGFyYWN0ZXJzKGRlbGl4IENvbXB1dGVyIEdtYkg8L1JQTTpWZW5kbywgMTkpClNBWC5lbmRFbGVtZW50KFJQTTpWZW5kb3IpClNBWC5jaGFyYWN0ZXJzKAogICAgPFJQTTpQYWNrYWdlcj5UaWxsIEJ1YmVjaywgNSkKU0FYLnN0YXJ0RWxlbWVudChSUE06UGFja2FnZXIpClNBWC5jaGFyYWN0ZXJzKFRpbGwgQnViZWNrICZsdDtidWJlY2tAZGVsaXguZCwgMTIpClNBWC5nZXRFbnRpdHkobHQpClNBWC5jaGFyYWN0ZXJzKDwsIDEpClNBWC5jaGFyYWN0ZXJzKGJ1YmVja0BkZWxpeC5kZSZndDssIE5nbyBUaGFuICwgMTUpClNBWC5nZXRFbnRpdHkoZ3QpClNBWC5jaGFyYWN0ZXJzKD4sIDEpClNBWC5jaGFyYWN0ZXJzKCwgTmdvIFRoYW4gJmx0O3RoYW5AZGVsaXguZGUmZywgMTEpClNBWC5nZXRFbnRpdHkobHQpClNBWC5jaGFyYWN0ZXJzKDwsIDEpClNBWC5jaGFyYWN0ZXJzKHRoYW5AZGVsaXguZGUmZ3Q7PC9SUE06UGFja2FnZSwgMTMpClNBWC5nZXRFbnRpdHkoZ3QpClNBWC5jaGFyYWN0ZXJzKD4sIDEpClNBWC5lbmRFbGVtZW50KFJQTTpQYWNrYWdlcikKU0FYLmNoYXJhY3RlcnMoCiAgICA8UlBNOkdyb3VwPkxpYnJhcmllczwvUlBNLCA1KQpTQVguc3RhcnRFbGVtZW50KFJQTTpHcm91cCkKU0FYLmNoYXJhY3RlcnMoTGlicmFyaWVzPC9SUE06R3JvdXA+CiAgICA8UlBNLCA5KQpTQVguZW5kRWxlbWVudChSUE06R3JvdXApClNBWC5jaGFyYWN0ZXJzKAogICAgPFJQTTpTdW1tYXJ5PkJpYmxpb3RoZWsgeiwgNSkKU0FYLnN0YXJ0RWxlbWVudChSUE06U3VtbWFyeSkKU0FYLmNoYXJhY3RlcnMoQmlibGlvdGhlayB6dXIgQW5zdGV1ZXJ1bmcgdm9uLCA0MCkKU0FYLmVuZEVsZW1lbnQoUlBNOlN1bW1hcnkpClNBWC5jaGFyYWN0ZXJzKAogICAgPFJQTTpEZXNjcmlwdGlvbj5EaWVzZSBMaSwgNSkKU0FYLnN0YXJ0RWxlbWVudChSUE06RGVzY3JpcHRpb24pClNBWC5jaGFyYWN0ZXJzKERpZXNlIExpYnJhcnkgc3RlbGx0IGRlbSBQcm9nciwgNTcpClNBWC5jaGFyYWN0ZXJzKOQsIDEpClNBWC5jaGFyYWN0ZXJzKG5naWdlClJvdXRpbmVuIHp1ciBBbnN0ZXVlcnVuZywgNTcpClNBWC5jaGFyYWN0ZXJzKPwsIDEpClNBWC5jaGFyYWN0ZXJzKGd1bmcsIGRpZQpzcGV6aWVsbCBvcHRpbWllcnQgcywgNTcpClNBWC5nZXRFbnRpdHkoYXBvcykKU0FYLmNoYXJhY3RlcnMoJywgMSkKU0FYLmNoYXJhY3RlcnMobmV3IGN1cnNlcyZhcG9zOyAobmN1cnNlcykgVmFyLCAxMCkKU0FYLmdldEVudGl0eShhcG9zKQpTQVguY2hhcmFjdGVycygnLCAxKQpTQVguY2hhcmFjdGVycyggKG5jdXJzZXMpIFZhcmlhbnRlIHVuZCBpc3QgZGUsIDUxKQpTQVguY2hhcmFjdGVycyj8LCAxKQpTQVguY2hhcmFjdGVycyhyIGRpZSBrbGFzc2lzY2hlIEN1cnNlcy1MaWJyYXIsIDcwKQpTQVguZW5kRWxlbWVudChSUE06RGVzY3JpcHRpb24pClNBWC5jaGFyYWN0ZXJzKAogICAgPFJQTTpDb3B5cmlnaHQ+R1BMPC9SUE06QywgNSkKU0FYLnN0YXJ0RWxlbWVudChSUE06Q29weXJpZ2h0KQpTQVguY2hhcmFjdGVycyhHUEw8L1JQTTpDb3B5cmlnaHQ+CiAgICA8UlBNOlMsIDMpClNBWC5lbmRFbGVtZW50KFJQTTpDb3B5cmlnaHQpClNBWC5jaGFyYWN0ZXJzKAogICAgPFJQTTpTb3VyY2VzPm5jdXJzZXM0LTQuMiwgNSkKU0FYLnN0YXJ0RWxlbWVudChSUE06U291cmNlcykKU0FYLmNoYXJhY3RlcnMobmN1cnNlczQtNC4yLTMuc3JjLnJwbTwvUlBNOlNvLCAyMikKU0FYLmVuZEVsZW1lbnQoUlBNOlNvdXJjZXMpClNBWC5jaGFyYWN0ZXJzKAogICAgPFJQTTpCdWlsZERhdGU+VHVlIE1heSAxMiwgNSkKU0FYLnN0YXJ0RWxlbWVudChSUE06QnVpbGREYXRlKQpTQVguY2hhcmFjdGVycyhUdWUgTWF5IDEyIDE5OjMwOjI2IDE5OTg8L1JQTTosIDI0KQpTQVguZW5kRWxlbWVudChSUE06QnVpbGREYXRlKQpTQVguY2hhcmFjdGVycygKICAgIDxSUE06RGF0ZT44OTUwMTU4MjY8L1JQTTosIDUpClNBWC5zdGFydEVsZW1lbnQoUlBNOkRhdGUpClNBWC5jaGFyYWN0ZXJzKDg5NTAxNTgyNjwvUlBNOkRhdGU+CiAgICA8UlBNOiwgOSkKU0FYLmVuZEVsZW1lbnQoUlBNOkRhdGUpClNBWC5jaGFyYWN0ZXJzKAogICAgPFJQTTpTaXplPjEzNzM1MTM8L1JQTTpTaSwgNSkKU0FYLnN0YXJ0RWxlbWVudChSUE06U2l6ZSkKU0FYLmNoYXJhY3RlcnMoMTM3MzUxMzwvUlBNOlNpemU+CiAgICA8UlBNOkJ1LCA3KQpTQVguZW5kRWxlbWVudChSUE06U2l6ZSkKU0FYLmNoYXJhY3RlcnMoCiAgICA8UlBNOkJ1aWxkSG9zdD5lcmRiZWVyZS5kLCA1KQpTQVguc3RhcnRFbGVtZW50KFJQTTpCdWlsZEhvc3QpClNBWC5jaGFyYWN0ZXJzKGVyZGJlZXJlLmRlbGl4LmRlPC9SUE06QnVpbGRIbywgMTcpClNBWC5lbmRFbGVtZW50KFJQTTpCdWlsZEhvc3QpClNBWC5jaGFyYWN0ZXJzKAogICAgPFJQTTpQcm92aWRlcz4KICAgICAgPFJERiwgNSkKU0FYLnN0YXJ0RWxlbWVudChSUE06UHJvdmlkZXMpClNBWC5jaGFyYWN0ZXJzKAogICAgICA8UkRGOkJhZz4KICAgICAgICA8UlBNOiwgNykKU0FYLnN0YXJ0RWxlbWVudChSREY6QmFnKQpTQVguY2hhcmFjdGVycygKICAgICAgICA8UlBNOlJlc291cmNlIGhyZWY9Ii4sIDkpClNBWC5zdGFydEVsZW1lbnQoUlBNOlJlc291cmNlLCBocmVmPScuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbmN1cnNlczQucmRmJykKU0FYLmNoYXJhY3RlcnMobmN1cnNlczQ8L1JQTTpSZXNvdXJjZT4KICAgICAgLCA4KQpTQVguZW5kRWxlbWVudChSUE06UmVzb3VyY2UpClNBWC5jaGFyYWN0ZXJzKAogICAgICAgIDxSUE06UmVzb3VyY2UgaHJlZj0iLiwgOSkKU0FYLnN0YXJ0RWxlbWVudChSUE06UmVzb3VyY2UsIGhyZWY9Jy4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9saWJwYW5lbC5zby40LnJkZicpClNBWC5jaGFyYWN0ZXJzKGxpYnBhbmVsLnNvLjQ8L1JQTTpSZXNvdXJjZT4KICwgMTMpClNBWC5lbmRFbGVtZW50KFJQTTpSZXNvdXJjZSkKU0FYLmNoYXJhY3RlcnMoCiAgICAgICAgPFJQTTpSZXNvdXJjZSBocmVmPSIuLCA5KQpTQVguc3RhcnRFbGVtZW50KFJQTTpSZXNvdXJjZSwgaHJlZj0nLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2xpYm5jdXJzZXMuc28uNC5yZGYnKQpTQVguY2hhcmFjdGVycyhsaWJuY3Vyc2VzLnNvLjQ8L1JQTTpSZXNvdXJjZT4sIDE1KQpTQVguZW5kRWxlbWVudChSUE06UmVzb3VyY2UpClNBWC5jaGFyYWN0ZXJzKAogICAgICAgIDxSUE06UmVzb3VyY2UgaHJlZj0iLiwgOSkKU0FYLnN0YXJ0RWxlbWVudChSUE06UmVzb3VyY2UsIGhyZWY9Jy4uLy4uLy4uLy4uLy4uL3Jlc291cmNlcy9saWJtZW51LnNvLjQucmRmJykKU0FYLmNoYXJhY3RlcnMobGlibWVudS5zby40PC9SUE06UmVzb3VyY2U+CiAgLCAxMikKU0FYLmVuZEVsZW1lbnQoUlBNOlJlc291cmNlKQpTQVguY2hhcmFjdGVycygKICAgICAgICA8UlBNOlJlc291cmNlIGhyZWY9Ii4sIDkpClNBWC5zdGFydEVsZW1lbnQoUlBNOlJlc291cmNlLCBocmVmPScuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvbGliZm9ybS5zby40LnJkZicpClNBWC5jaGFyYWN0ZXJzKGxpYmZvcm0uc28uNDwvUlBNOlJlc291cmNlPgogICwgMTIpClNBWC5lbmRFbGVtZW50KFJQTTpSZXNvdXJjZSkKU0FYLmNoYXJhY3RlcnMoCiAgICAgICAgPFJQTTpSZXNvdXJjZSBocmVmPSIuLCA5KQpTQVguc3RhcnRFbGVtZW50KFJQTTpSZXNvdXJjZSwgaHJlZj0nLi4vLi4vLi4vLi4vLi4vcmVzb3VyY2VzL25jdXJzZXMucmRmJykKU0FYLmNoYXJhY3RlcnMobmN1cnNlczwvUlBNOlJlc291cmNlPgogICAgICA8LCA3KQpTQVguZW5kRWxlbWVudChSUE06UmVzb3VyY2UpClNBWC5jaGFyYWN0ZXJzKAogICAgICA8L1JERjpCYWc+CiAgICA8L1JQTTpQciwgNykKU0FYLmVuZEVsZW1lbnQoUkRGOkJhZykKU0FYLmNoYXJhY3RlcnMoCiAgICA8L1JQTTpQcm92aWRlcz4KICAgIDxSUE06LCA1KQpTQVguZW5kRWxlbWVudChSUE06UHJvdmlkZXMpClNBWC5jaGFyYWN0ZXJzKAogICAgPFJQTTpGaWxlcz4vbGliL2xpYm5jdXJzZSwgNSkKU0FYLnN0YXJ0RWxlbWVudChSUE06RmlsZXMpClNBWC5jaGFyYWN0ZXJzKC9saWIvbGlibmN1cnNlcy5zby40Ci9saWIvbGlibiwgNzI5MTUpClNBWC5lbmRFbGVtZW50KFJQTTpGaWxlcykKU0FYLmNoYXJhY3RlcnMoCiAgPC9SREY6RGVzY3JpcHRpb24+CjwvUkRGOlJELCAzKQpTQVguZW5kRWxlbWVudChSREY6RGVzY3JpcHRpb24pClNBWC5jaGFyYWN0ZXJzKAo8L1JERjpSREY+CiwgMSkKU0FYLmVuZEVsZW1lbnQoUkRGOlJERikKU0FYLmVuZERvY3VtZW50KCkK