{"created_by":"Tampermonkey","version":"1","scripts":[{"name":"FACEAUTH + Auto FaceAuth Sender (Manual Button Trigger)","options":{"check_for_updates":true,"comment":null,"compat_foreach":false,"compat_metadata":false,"compat_powerful_this":null,"compat_wrappedjsobject":false,"compatopts_for_requires":true,"noframes":null,"override":{"merge_connects":true,"merge_excludes":true,"merge_includes":true,"merge_matches":true,"orig_connects":[],"orig_excludes":[],"orig_includes":[],"orig_matches":["https://sarathi.parivahan.gov.in/sarathiservice/authenticationaction.do*"],"orig_noframes":null,"orig_run_at":"document-end","orig_run_in":[],"orig_tags":[],"use_blockers":[],"use_connects":[],"use_excludes":[],"use_includes":[],"use_matches":[]},"run_at":null,"run_in":null,"sandbox":null,"tags":[],"unwrap":null,"user_modified":null},"storage":{"ts":1781229867260,"data":{}},"enabled":true,"position":1,"uuid":"8878e377-948a-4f93-a3e8-0b39138d3a31","source":"VGFtcGVybW9ua2V5wq4gYnkgSmFuIEJpbmlvawp2NS40LjEKCkZBQ0VBVVRIICsgQXV0byBGYWNlQXV0aCBTZW5kZXIgKE1hbnVhbCBCdXR0b24gVHJpZ2dlcikKYnkgWW91CjEKLy8gPT1Vc2VyU2NyaXB0PT0KMgovLyBAbmFtZSAgICAgICAgIEZBQ0VBVVRIICsgQXV0byBGYWNlQXV0aCBTZW5kZXIgKE1hbnVhbCBCdXR0b24gVHJpZ2dlcikKMwovLyBAbmFtZXNwYWNlICAgIGh0dHA6Ly90YW1wZXJtb25rZXkubmV0Lwo0Ci8vIEB2ZXJzaW9uICAgICAgMS4xCjUKLy8gQGRlc2NyaXB0aW9uICBTZW5kcyBhcHBsaW1nIGFzIENhcFBobyBvbmx5IHdoZW4gdXNlciBjbGlja3MgdGhlIGN1c3RvbSBidXR0b24gKGZvciBodHRwczovL3NhcmF0aGkucGFyaXZhaGFuLmdvdi5pbi9zYXJhdGhpc2VydmljZS9hdXRoZW50aWNhdGlvbmFjdGlvbi5kbykKNgovLyBAYXV0aG9yICAgICAgIFlvdQo3Ci8vIEBtYXRjaCAgICAgICAgaHR0cHM6Ly9zYXJhdGhpLnBhcml2YWhhbi5nb3YuaW4vc2FyYXRoaXNlcnZpY2UvYXV0aGVudGljYXRpb25hY3Rpb24uZG8qCjgKLy8gQHJ1bi1hdCAgICAgICBkb2N1bWVudC1lbmQKOQovLyBAZ3JhbnQgICAgICAgIG5vbmUKMTAKLy8gPT0vVXNlclNjcmlwdD09CjExCuKAiwoxMgrigIsKMTMKKGZ1bmN0aW9uICgpIHsKMTQKICAgICd1c2Ugc3RyaWN0JzsKMTUK4oCLCjE2CiAgICBsZXQgYWxyZWFkeUV4ZWN1dGVkID0gZmFsc2U7CjE3CuKAiwoxOArigIsKMTkKICAgIChmdW5jdGlvbiAoKSB7CjIwCiAgY29uc29sZS5sb2coIvCflKcgU2VsZWN0aXZlIEZhY2VBdXRoIG92ZXJyaWRlIGluaXRpYWxpemVkIik7CjIxCuKAiwoyMgogIGNvbnN0IHdhaXQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7CjIzCiAgICBpZiAoCjI0CiAgICAgIHR5cGVvZiB3aW5kb3cuZmFjZUF1dGhTdGF0dXMgPT09ICJmdW5jdGlvbiIKMjUKICAgICkgewoyNgogICAgICBjbGVhckludGVydmFsKHdhaXQpOwoyNwogICAgICBpbml0T3ZlcnJpZGUoKTsKMjgKICAgIH0KMjkKICB9LCAzMDApOwozMArigIsKMzEK4oCLCjMyCiAgZnVuY3Rpb24gaW5pdE92ZXJyaWRlKCkgewozMwogICAgY29uc29sZS5sb2coIuKchSBPdmVycmlkaW5nIEZhY2VBdXRoIGZ1bmN0aW9ucyIpOwozNArigIsKMzUKICAgIC8vIEJMT0NLIHB1dEJhY2t0b3Bob3RvVXBsb2FkIGNvbXBsZXRlbHkKMzYKICAgIHdpbmRvdy5wdXRCYWNrdG9waG90b1VwbG9hZCA9IGZ1bmN0aW9uICgpIHsKMzcKICAgICAgY29uc29sZS5sb2coIuKblCBwdXRCYWNrdG9waG90b1VwbG9hZCBibG9ja2VkIik7CjM4CiAgICAgIHJldHVybiB0cnVlOwozOQogICAgfTsKVGFtIC0gWW91ciBzZXJ2aWNlIGJvdAoKRG8geW91IG5lZWQgaGVscCBzeW5jaW5nIGFsbCB5b3VyIGluc3RhbGxlZCBzY3JpcHRzIHRvIGFub3RoZXIgYnJvd3Nlcj8KRGlzYWJsZQpUYW1wZXJtb25rZXkgQm90"},{"name":"FACEAUTH + Auto FaceAuth Sender (Manual Button Trigger)","options":{"check_for_updates":true,"comment":null,"compat_foreach":false,"compat_metadata":false,"compat_powerful_this":null,"compat_wrappedjsobject":false,"compatopts_for_requires":true,"noframes":null,"override":{"merge_connects":true,"merge_excludes":true,"merge_includes":true,"merge_matches":true,"orig_connects":[],"orig_excludes":[],"orig_includes":[],"orig_matches":["https://sarathi.parivahan.gov.in/sarathiservice/authenticationaction.do*"],"orig_noframes":null,"orig_run_at":"document-end","orig_run_in":[],"orig_tags":[],"use_blockers":[],"use_connects":[],"use_excludes":[],"use_includes":[],"use_matches":[]},"run_at":null,"run_in":null,"sandbox":null,"tags":[],"unwrap":null,"user_modified":null},"storage":{"ts":1781229867264,"data":{}},"enabled":true,"position":2,"uuid":"7faa1fbd-8250-4a78-a386-887abf8b9bbd","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICBGQUNFQVVUSCArIEF1dG8gRmFjZUF1dGggU2VuZGVyIChNYW51YWwgQnV0dG9uIFRyaWdnZXIpCi8vIEBuYW1lc3BhY2UgICAgaHR0cDovL3RhbXBlcm1vbmtleS5uZXQvCi8vIEB2ZXJzaW9uICAgICAgMS4xCi8vIEBkZXNjcmlwdGlvbiAgU2VuZHMgYXBwbGltZyBhcyBDYXBQaG8gb25seSB3aGVuIHVzZXIgY2xpY2tzIHRoZSBjdXN0b20gYnV0dG9uIChmb3IgaHR0cHM6Ly9zYXJhdGhpLnBhcml2YWhhbi5nb3YuaW4vc2FyYXRoaXNlcnZpY2UvYXV0aGVudGljYXRpb25hY3Rpb24uZG8pCi8vIEBhdXRob3IgICAgICAgWW91Ci8vIEBtYXRjaCAgICAgICAgaHR0cHM6Ly9zYXJhdGhpLnBhcml2YWhhbi5nb3YuaW4vc2FyYXRoaXNlcnZpY2UvYXV0aGVudGljYXRpb25hY3Rpb24uZG8qCi8vIEBydW4tYXQgICAgICAgZG9jdW1lbnQtZW5kCi8vIEBncmFudCAgICAgICAgbm9uZQovLyA9PS9Vc2VyU2NyaXB0PT0KCgooZnVuY3Rpb24gKCkgewogICAgJ3VzZSBzdHJpY3QnOwoKICAgIGxldCBhbHJlYWR5RXhlY3V0ZWQgPSBmYWxzZTsKCgogICAgKGZ1bmN0aW9uICgpIHsKICBjb25zb2xlLmxvZygi8J+UpyBTZWxlY3RpdmUgRmFjZUF1dGggb3ZlcnJpZGUgaW5pdGlhbGl6ZWQiKTsKCiAgY29uc3Qgd2FpdCA9IHNldEludGVydmFsKCgpID0+IHsKICAgIGlmICgKICAgICAgdHlwZW9mIHdpbmRvdy5mYWNlQXV0aFN0YXR1cyA9PT0gImZ1bmN0aW9uIgogICAgKSB7CiAgICAgIGNsZWFySW50ZXJ2YWwod2FpdCk7CiAgICAgIGluaXRPdmVycmlkZSgpOwogICAgfQogIH0sIDMwMCk7CgoKICBmdW5jdGlvbiBpbml0T3ZlcnJpZGUoKSB7CiAgICBjb25zb2xlLmxvZygi4pyFIE92ZXJyaWRpbmcgRmFjZUF1dGggZnVuY3Rpb25zIik7CgogICAgLy8gQkxPQ0sgcHV0QmFja3RvcGhvdG9VcGxvYWQgY29tcGxldGVseQogICAgd2luZG93LnB1dEJhY2t0b3Bob3RvVXBsb2FkID0gZnVuY3Rpb24gKCkgewogICAgICBjb25zb2xlLmxvZygi4puUIHB1dEJhY2t0b3Bob3RvVXBsb2FkIGJsb2NrZWQiKTsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9OwoKICAgIC8vIE92ZXJyaWRlIGZhY2VBdXRoU3RhdHVzCiAgICBjb25zdCBvcmlnaW5hbEZhY2VBdXRoU3RhdHVzID0gd2luZG93LmZhY2VBdXRoU3RhdHVzOwogICAgd2luZG93LmZhY2VBdXRoU3RhdHVzID0gYXN5bmMgZnVuY3Rpb24gKCkgewogICAgICBjb25zb2xlLmxvZygi8J+UhCBmYWNlQXV0aFN0YXR1cyBvdmVycmlkZGVuIik7CiAgICAgIHRyeSB7CiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgb3JpZ2luYWxGYWNlQXV0aFN0YXR1cy5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgICAgIGNvbnNvbGUubG9nKCJmYWNlQXV0aFN0YXR1cyBvcmlnaW5hbCBjb21wbGV0ZWQiKTsKICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgY29uc29sZS5sb2coImZhY2VBdXRoU3RhdHVzIGJ5cGFzc2VkIik7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgIH07CiAgICBjb25zb2xlLmxvZygi4pyFIEFsbCBvdmVycmlkZXMgYWN0aXZlIik7CiAgfQp9KSgpOwoKCgoKCiAgICAvLyAx77iP4oOjIFNIQS0yNTYgRnVuY3Rpb24KICAgIGFzeW5jIGZ1bmN0aW9uIGhhc2hTSEEyNTYoc3RyKSB7CiAgICAgICAgY29uc3QgZW5jb2RlciA9IG5ldyBUZXh0RW5jb2RlcigpOwogICAgICAgIGNvbnN0IGRhdGEgPSBlbmNvZGVyLmVuY29kZShzdHIpOwogICAgICAgIGNvbnN0IGhhc2hCdWZmZXIgPSBhd2FpdCBjcnlwdG8uc3VidGxlLmRpZ2VzdCgiU0hBLTI1NiIsIGRhdGEpOwogICAgICAgIGNvbnN0IGhhc2hBcnJheSA9IEFycmF5LmZyb20obmV3IFVpbnQ4QXJyYXkoaGFzaEJ1ZmZlcikpOwogICAgICAgIHJldHVybiBoYXNoQXJyYXkubWFwKGIgPT4gYi50b1N0cmluZygxNikucGFkU3RhcnQoMiwgIjAiKSkuam9pbigiIik7CiAgICB9CgogICAgLy8gMu+4j+KDoyBNYWluIGV4ZWN1dGlvbiBmdW5jdGlvbgogICAgYXN5bmMgZnVuY3Rpb24gcnVuU2NyaXB0KCkgewogICAgICAgIGlmIChhbHJlYWR5RXhlY3V0ZWQpIHJldHVybjsKICAgICAgICBpZiAoIWRvY3VtZW50LmJvZHkpIHJldHVybjsKCiAgICAgICAgY29uc3QgcGFnZVRleHQgPSBkb2N1bWVudC5ib2R5LmlubmVyVGV4dDsKCiAgICAgICAgaWYgKCFwYWdlVGV4dC5pbmNsdWRlcygiQXV0aGVudGljYXRlIikgJiYgIXBhZ2VUZXh0LmluY2x1ZGVzKCJQcm9jZWVkIikpIHsKICAgICAgICAgICAgcmV0dXJuOyAvLyBrZWVwIGNoZWNraW5nCiAgICAgICAgfQoKICAgICAgICBhbHJlYWR5RXhlY3V0ZWQgPSB0cnVlOyAvLyBwcmV2ZW50IG11bHRpcGxlIHJ1bnMKICAgICAgICBjbGVhckludGVydmFsKGNoZWNrSW50ZXJ2YWwpOwoKICAgICAgICBjb25zb2xlLmxvZygi4pyFIFJlcXVpcmVkIHRleHQgZGV0ZWN0ZWQuIFJ1bm5pbmcgc2NyaXB0Li4uIik7CgogICAgICAgIGNvbnN0IGxsYXBwbG5GaWVsZCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tuYW1lPSJsbGFwcGxuIl0nKTsKICAgICAgICBjb25zdCBlbnRjYXB0eHRGaWVsZCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tuYW1lPSJlbnRjYXB0eHQiXScpOwoKICAgICAgICBpZiAoIWxsYXBwbG5GaWVsZCB8fCAhZW50Y2FwdHh0RmllbGQpIHsKICAgICAgICAgICAgY29uc29sZS5lcnJvcigi4p2MIFJlcXVpcmVkIGlucHV0IGZpZWxkcyBub3QgZm91bmQuIik7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIGNvbnN0IGxsYXBwbG4gPSBsbGFwcGxuRmllbGQudmFsdWUudHJpbSgpOwogICAgICAgIGNvbnN0IGVudGNhcHR4dCA9IGVudGNhcHR4dEZpZWxkLnZhbHVlLnRyaW0oKTsKCiAgICAgICAgaWYgKCFsbGFwcGxuIHx8ICFlbnRjYXB0eHQpIHsKICAgICAgICAgICAgY29uc29sZS5lcnJvcigi4p2MIGxsYXBwbG4gb3IgZW50Y2FwdHh0IGlzIGVtcHR5LiIpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICBjb25zdCBmYWNlQXV0aFN0cmluZyA9IGxsYXBwbG4gKyBlbnRjYXB0eHQ7CiAgICAgICAgY29uc29sZS5sb2coIvCflLkgQ29tYmluZWQgU3RyaW5nOiIsIGZhY2VBdXRoU3RyaW5nKTsKCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgY29uc3QgZmFjZUF1dGhTdGF0dXMgPSBhd2FpdCBoYXNoU0hBMjU2KGZhY2VBdXRoU3RyaW5nKTsKICAgICAgICAgICAgY29uc29sZS5sb2coIvCflJAgR2VuZXJhdGVkIEhhc2g6IiwgZmFjZUF1dGhTdGF0dXMpOwoKICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCgiZmFjZUF1dGhTdGF0dXMuZG8iLCB7CiAgICAgICAgICAgICAgICBtZXRob2Q6ICJQT1NUIiwKICAgICAgICAgICAgICAgIGhlYWRlcnM6IHsKICAgICAgICAgICAgICAgICAgICAiQ29udGVudC1UeXBlIjogImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBib2R5OiAiZmFjZUF1dGhTdGF0dXM9IiArIGVuY29kZVVSSUNvbXBvbmVudChmYWNlQXV0aFN0YXR1cykKICAgICAgICAgICAgfSk7CgogICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZXNwb25zZS50ZXh0KCk7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKCLinIUgU2VydmVyIFJlc3BvbnNlOiIsIHJlc3VsdCk7CgogICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7CiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIuKdjCBFcnJvcjoiLCBlcnJvcik7CiAgICAgICAgfQogICAgfQoKICAgIC8vIDPvuI/ig6MgQ2hlY2sgZXZlcnkgNTAwbXMKICAgIGNvbnN0IGNoZWNrSW50ZXJ2YWwgPSBzZXRJbnRlcnZhbChydW5TY3JpcHQsIDUwMCk7Cgp9KSgpOwoKKGZ1bmN0aW9uICgpIHsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICAvLyBXYWl0IGZvciBET00gdG8gbG9hZAogICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB7CgogICAgICAgIC8vIEN1c3RvbSBidXR0b24gYmFuYW5hCiAgICAgICAgY29uc3QgYnRuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJyk7CiAgICAgICAgYnRuLmlubmVyVGV4dCA9ICLwn5qAIFNlbmQiOwogICAgICAgIGJ0bi5zdHlsZS5wb3NpdGlvbiA9ICJmaXhlZCI7CiAgICAgICAgYnRuLnN0eWxlLmJvdHRvbSA9ICIyMHB4IjsKICAgICAgICBidG4uc3R5bGUubGVmdCA9ICIyMHB4IjsKICAgICAgICBidG4uc3R5bGUucGFkZGluZyA9ICIxMHB4IDE2cHgiOwogICAgICAgIGJ0bi5zdHlsZS5iYWNrZ3JvdW5kID0gIiMwMGMyZmYiOwogICAgICAgIGJ0bi5zdHlsZS5jb2xvciA9ICJ3aGl0ZSI7CiAgICAgICAgYnRuLnN0eWxlLmZvbnRXZWlnaHQgPSAiYm9sZCI7CiAgICAgICAgYnRuLnN0eWxlLmJvcmRlciA9ICIycHggc29saWQgcmdiKDAgMjkgODEpIjsKICAgICAgICBidG4uc3R5bGUuYm9yZGVyUmFkaXVzID0gIjhweCI7CiAgICAgICAgYnRuLnN0eWxlLmN1cnNvciA9ICJwb2ludGVyIjsKICAgICAgICBidG4uc3R5bGUuekluZGV4ID0gIjk5OTk5IjsKICAgICAgICBidG4udGl0bGUgPSAiQ2xpY2sgdG8gU2VuZCBkYXRhIGF1dG9tYXRpY2FsbHkiOwogICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYnRuKTsKCgoKICAgICAgICBidG4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbigpIHsKICAgIGNvbnN0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4gewogICAgICAgIGNvbnN0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYXBwaHRvMSIpOwogICAgICAgIGlmICh0YXJnZXQpIHsKICAgICAgICAgICAgdGFyZ2V0LmRpc2FibGVkID0gZmFsc2U7CiAgICAgICAgICAgIHRhcmdldC5yZW1vdmVBdHRyaWJ1dGUoImRpc2FibGVkIik7CiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpOwogICAgICAgICAgICBjb25zb2xlLmxvZygiY2FwcGh0bzEgZW5hYmxlZC4iKTsKICAgICAgICB9CiAgICB9LCAzMDApOwoKfSk7CgogICAgICAgIC8vIEJ1dHRvbiBjbGljayBob25lIHBlIG1haW4ga2FhbQogICAgICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGFzeW5jICgpID0+IHsKICAgICAgICAgICAgY29uc29sZS5sb2coIvCflIQgU2VuZCBidXR0b24gY2xpY2tlZCDigJQgc3RhcnRpbmcgRmFjZUF1dGggcmVxdWVzdC4uLiIpOwoKICAgICAgICAgICAgLy8gV2FpdCBhIGJpdCBpZiBhcHBsaW1nIG5vdCByZWFkeQogICAgICAgICAgICBpZiAodHlwZW9mIHdpbmRvdy5hcHBsaW1nID09PSAndW5kZWZpbmVkJyB8fCAhd2luZG93LmFwcGxpbWcpIHsKICAgICAgICAgICAgICAgIGFsZXJ0KCLimqDvuI8gSW1hZ2UgZGF0YSAoYXBwbGltZykgbm90IGZvdW5kIHlldC4gUGxlYXNlIGVuc3VyZSB0aGUgcGFnZSBoYXMgZnVsbHkgbG9hZGVkLiIpOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICBjb25zdCBhcHBsbm8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGxhcHBsbicpPy52YWx1ZSB8fCAnJzsKICAgICAgICAgICAgY29uc3QgcnRvY29kZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdydG9jb2RlJyk/LnZhbHVlIHx8ICcnOwogICAgICAgICAgICBjb25zdCBjYXBQaG8gPSB3aW5kb3cuYXBwbGltZzsKCiAgICAgICAgICAgIGlmICghYXBwbG5vIHx8ICFydG9jb2RlIHx8ICFjYXBQaG8pIHsKICAgICAgICAgICAgICAgIGFsZXJ0KCLinYwgTWlzc2luZyBvbmUgb3IgbW9yZSByZXF1aXJlZCBmaWVsZHMiKTsKICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHsgYXBwbG5vLCBydG9jb2RlLCBjYXBQaG9MZW46IGNhcFBobz8ubGVuZ3RoIH0pOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTsKICAgICAgICAgICAgICAgIGRhdGEuYXBwZW5kKCJhcHBsbm8iLCBhcHBsbm8pOwogICAgICAgICAgICAgICAgZGF0YS5hcHBlbmQoInJ0b2NvZGUiLCBydG9jb2RlKTsKICAgICAgICAgICAgICAgIGRhdGEuYXBwZW5kKCJmYWNlcmVzIiwgIjEiKTsKICAgICAgICAgICAgICAgIGRhdGEuYXBwZW5kKCJDYXBQaG8iLCBjYXBQaG8pOwoKICAgICAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goIi9zYXJhdGhpc2VydmljZS9zYXZlRmFjZUF1dGhEYXRhLmRvIiwgewogICAgICAgICAgICAgICAgICAgIG1ldGhvZDogIlBPU1QiLAogICAgICAgICAgICAgICAgICAgIGNyZWRlbnRpYWxzOiAic2FtZS1vcmlnaW4iLAogICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHsKICAgICAgICAgICAgICAgICAgICAgICAgIkFjY2VwdC1MYW5ndWFnZSI6ICJlbi1VUyxlbjtxPTAuOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICJYLVJlcXVlc3RlZC1XaXRoIjogIlhNTEh0dHBSZXF1ZXN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgIkFjY2VwdCI6ICIvIiwKICAgICAgICAgICAgICAgICAgICAgICAgIkNvbnRlbnQtVHlwZSI6ICJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9VVRGLTgiLAogICAgICAgICAgICAgICAgICAgICAgICAiT3JpZ2luIjogImh0dHBzOi8vc2FyYXRoaS5wYXJpdmFoYW4uZ292LmluIiwKICAgICAgICAgICAgICAgICAgICAgICAgIlJlZmVyZXIiOiAiaHR0cHM6Ly9zYXJhdGhpLnBhcml2YWhhbi5nb3YuaW4vc2FyYXRoaXNlcnZpY2Uvc3RhbGxleGFtYWN0aW9uLmRvIiwKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIGJvZHk6IGRhdGEudG9TdHJpbmcoKQogICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgY29uc3QganNvbiA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTsKICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCLinIUgU2VydmVyIFJlc3BvbnNlOiIsIGpzb24pOwoKICAgICAgICAgICAgICAgIC8vIFdlYnBhZ2UgcGUgcmVzcG9uc2Ugc2hvdyBrYXJuYQogICAgICAgICAgICAgICAgbGV0IG9sZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjdXN0b21SZXNwb25zZUJveCIpOwogICAgICAgICAgICAgICAgaWYgKG9sZCkgb2xkLnJlbW92ZSgpOwoKICAgICAgICAgICAgICAgIGNvbnN0IHByZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInByZSIpOwogICAgICAgICAgICAgICAgcHJlLmlkID0gImN1c3RvbVJlc3BvbnNlQm94IjsKICAgICAgICAgICAgICAgIHByZS5zdHlsZS5wb3NpdGlvbiA9ICJmaXhlZCI7CiAgICAgICAgICAgICAgICBwcmUuc3R5bGUuYm90dG9tID0gIjcwcHgiOwogICAgICAgICAgICAgICAgcHJlLnN0eWxlLnJpZ2h0ID0gIjIwcHgiOwogICAgICAgICAgICAgICAgcHJlLnN0eWxlLm1heEhlaWdodCA9ICIzMDBweCI7CiAgICAgICAgICAgICAgICBwcmUuc3R5bGUub3ZlcmZsb3cgPSAiYXV0byI7CiAgICAgICAgICAgICAgICBwcmUuc3R5bGUuYmFja2dyb3VuZCA9ICIjMTExIjsKICAgICAgICAgICAgICAgIHByZS5zdHlsZS5jb2xvciA9ICIjMGYwIjsKICAgICAgICAgICAgICAgIHByZS5zdHlsZS5wYWRkaW5nID0gIjEwcHgiOwogICAgICAgICAgICAgICAgcHJlLnN0eWxlLnpJbmRleCA9IDk5OTk5OwogICAgICAgICAgICAgICAgcHJlLnN0eWxlLmJvcmRlciA9ICIycHggc29saWQgIzBmMCI7CiAgICAgICAgICAgICAgICBwcmUuaW5uZXJUZXh0ID0gSlNPTi5zdHJpbmdpZnkoanNvbiwgbnVsbCwgMik7CiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHByZSk7CgogICAgICAgICAgICAgICAgYWxlcnQoIuKchSBSZXF1ZXN0IHNlbnQgc3VjY2Vzc2Z1bGx5ISIpOwoKICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7CiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCLinYwgRXJyb3IgZHVyaW5nIEZhY2UgQXV0aCBSZXF1ZXN0OiIsIGVycik7CiAgICAgICAgICAgICAgICBhbGVydCgi4p2MIEVycm9yIHNlbmRpbmcgcmVxdWVzdC4gQ2hlY2sgY29uc29sZSBmb3IgZGV0YWlscy4iKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfSk7Cn0pKCk7"},{"name":"Disable Auto Reload","options":{"check_for_updates":true,"comment":null,"compat_foreach":false,"compat_metadata":false,"compat_powerful_this":null,"compat_wrappedjsobject":false,"compatopts_for_requires":true,"noframes":null,"override":{"merge_connects":true,"merge_excludes":true,"merge_includes":true,"merge_matches":true,"orig_connects":[],"orig_excludes":[],"orig_includes":[],"orig_matches":["https://sarathi.parivahan.gov.in/*"],"orig_noframes":null,"orig_run_at":"document-start","orig_run_in":[],"orig_tags":[],"use_blockers":[],"use_connects":[],"use_excludes":[],"use_includes":[],"use_matches":[]},"run_at":null,"run_in":null,"sandbox":null,"tags":[],"unwrap":null,"user_modified":null},"storage":{"ts":1781229867266,"data":{}},"enabled":true,"position":3,"uuid":"249ac7a0-8680-42e1-b7f8-34a175fe41e1","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICBEaXNhYmxlIEF1dG8gUmVsb2FkCi8vIEBuYW1lc3BhY2UgICAgaHR0cDovL3RhbXBlcm1vbmtleS5uZXQvCi8vIEB2ZXJzaW9uICAgICAgMS4xCi8vIEBkZXNjcmlwdGlvbiAgRGlzYWJsZSBhdXRvIHJlbG9hZCBvbiB0YWIgc3dpdGNoICsgRGV2VG9vbHMgYmxvY2sgb24gU2FyYXRoaQovLyBAbWF0Y2ggICAgICAgIGh0dHBzOi8vc2FyYXRoaS5wYXJpdmFoYW4uZ292LmluLyoKLy8gQGdyYW50ICAgICAgICBub25lCi8vIEBydW4tYXQgICAgICAgZG9jdW1lbnQtc3RhcnQKLy8gPT0vVXNlclNjcmlwdD09CihmdW5jdGlvbigpIHsKICAgICd1c2Ugc3RyaWN0JzsKICAgIC8vIC0tLSAxLiBQcmV2ZW50IGF1dG8gcmVsb2FkIG9uIHRhYiBzd2l0Y2ggLS0tCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZG9jdW1lbnQsICJoaWRkZW4iLCB7IHZhbHVlOiBmYWxzZSwgd3JpdGFibGU6IGZhbHNlIH0pOwogICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsIGZ1bmN0aW9uKGUpIHsKICAgICAgICBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpOwogICAgICAgIGNvbnNvbGUubG9nKCJbQnlwYXNzXSBCbG9ja2VkIHJlbG9hZCBvbiB0YWIgc3dpdGNoIik7CiAgICB9LCB0cnVlKTsKICAgIC8vIC0tLSAyLiBQcmV2ZW50IHBhZ2UgY2xvc2Ugb24gcmVsb2FkL3Jlc3RvcmUgLS0tCiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uKCkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGNvbnN0IG5hdiA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ25hdmlnYXRpb24nKVswXS50eXBlOwogICAgICAgICAgICBpZiAobmF2ICE9PSAibmF2aWdhdGUiKSB7CiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygiW0J5cGFzc10gTmF2aWdhdGlvbiBjaGVjayBuZXV0cmFsaXplZCIpOwogICAgICAgICAgICB9CiAgICAgICAgfSBjYXRjaCAoZSkge30KICAgIH0sIHRydWUpOwogICAgLy8gLS0tIDMuIERpc2FibGUgRGV2VG9vbHMgZGV0ZWN0aW9uIC0tLQogICAgY29uc3QgZHVtbXkgPSBmdW5jdGlvbigpeyBjb25zb2xlLmxvZygiW0J5cGFzc10gRGV2VG9vbHMgZGV0ZWN0aW9uIG5ldXRyYWxpemVkIik7IH07CiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciA9IG5ldyBQcm94eSh3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciwgewogICAgICAgIGFwcGx5KHRhcmdldCwgdGhpc0FyZywgYXJncykgewogICAgICAgICAgICBpZiAoYXJnc1swXSA9PT0gInJlc2l6ZSIgfHwgYXJnc1swXSA9PT0gIm1vdXNlbW92ZSIgfHwgYXJnc1swXSA9PT0gImZvY3VzIiB8fCBhcmdzWzBdID09PSAiYmx1ciIpIHsKICAgICAgICAgICAgICAgIHJldHVybiBkdW1teTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gUmVmbGVjdC5hcHBseSh0YXJnZXQsIHRoaXNBcmcsIGFyZ3MpOwogICAgICAgIH0KICAgIH0pOwogICAgLy8gQmxvY2sgImRlYnVnZ2VyIiB0cmFwCiAgICBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKICAgICAgICBjb25zdCBiZWZvcmUgPSBEYXRlLm5vdygpOwogICAgICAgIC8vIHNpdGUgZXhwZWN0cyBkZWJ1Z2dlciBzbG93ZG93biDigJQgdHJpY2sgaXQKICAgICAgICB3aGlsZSAoRGF0ZS5ub3coKSAtIGJlZm9yZSA8IDEpIHt9CiAgICB9LCAxMDAwKTsKfSkoKTs="},{"name":"Authentication Handler","options":{"check_for_updates":true,"comment":null,"compat_foreach":false,"compat_metadata":false,"compat_powerful_this":null,"compat_wrappedjsobject":false,"compatopts_for_requires":true,"noframes":null,"override":{"merge_connects":true,"merge_excludes":true,"merge_includes":true,"merge_matches":true,"orig_connects":[],"orig_excludes":[],"orig_includes":[],"orig_matches":["*://*/*"],"orig_noframes":null,"orig_run_at":"document-idle","orig_run_in":[],"orig_tags":[],"use_blockers":[],"use_connects":[],"use_excludes":[],"use_includes":[],"use_matches":[]},"run_at":null,"run_in":null,"sandbox":null,"tags":[],"unwrap":null,"user_modified":null},"storage":{"ts":1781229867268,"data":{}},"enabled":true,"position":4,"uuid":"ead605d3-ac8e-417a-ae5b-1c517af3dbe8","source":"Ly8gPT1Vc2VyU2NyaXB0PT0KLy8gQG5hbWUgICAgICAgICBBdXRoZW50aWNhdGlvbiBIYW5kbGVyCi8vIEBuYW1lc3BhY2UgICAgaHR0cDovL3RhbXBlcm1vbmtleS5uZXQvCi8vIEB2ZXJzaW9uICAgICAgMS4wCi8vIEBkZXNjcmlwdGlvbiAgSGFuZGxlIGF1dGhlbnRpY2F0aW9uIGFuZCBXZWJTb2NrZXQgY29ubmVjdGlvbnMKLy8gQG1hdGNoICAgICAgICAqOi8vKi8qCi8vIEBncmFudCAgICAgICAgbm9uZQovLyBAcmVxdWlyZSAgICAgIGh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2pzLXNoYTI1Ni8wLjkuMC9zaGEyNTYubWluLmpzCi8vID09L1VzZXJTY3JpcHQ9PQooZnVuY3Rpb24oKSB7CiAgICAndXNlIHN0cmljdCc7CiAgICAvLyBZb3VyIGV4aXN0aW5nIHZhcmlhYmxlcwogICAgdmFyIHNvY2tldDsKICAgIHZhciBzZXJ2ZXJUb2tlbjsKICAgIC8vIE1ha2UgZnVuY3Rpb25zIGdsb2JhbAogICAgd2luZG93LmNyZWF0ZV9ocyA9IGNyZWF0ZV9oczsKICAgIHdpbmRvdy5hcHBsU3RhdHVzID0gYXBwbFN0YXR1czsKICAgIHdpbmRvdy5sb2dvdXQgPSBsb2dvdXQ7CiAgICBmdW5jdGlvbiBjcmVhdGVfaHMoYXBwbF9ubywgYXV0aFR5cGUpIHsKICAgICAgICB2YXIgc21hcnREaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc21hcnRMb2NrJyk7CiAgICAgICAgdmFyIGZhY2VBdXRoID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZhY2VBdXRoUmVxJyk7CiAgICAgICAgdmFyIHByb2N0b3JSZXEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncHJvY3RvclJlcScpOwogICAgICAgIGlmKGF1dGhUeXBlPT09J0FudWd5bmEnKSB7CiAgICAgICAgICAgIHNvY2tldCA9IG5ldyBXZWJTb2NrZXQoJ3dzOi8vbG9jYWxob3N0OjgwMDAvJyk7CiAgICAgICAgICAgIGlmICh3aW5kb3cuc21hcnRMb2dvdXQpIHNtYXJ0TG9nb3V0LnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siOwogICAgICAgIH0KICAgICAgICBpZihhdXRoVHlwZT09PSJmYWNlQXV0aFJlcSIpIHsKICAgICAgICAgICAgaWYgKHdpbmRvdy5mYWNlQXV0aFJlcSkgZmFjZUF1dGhSZXEuc3R5bGUuZGlzcGxheSA9ICJibG9jayI7CiAgICAgICAgICAgIGlmICh3aW5kb3cuc21hcnRMb2dvdXQpIHNtYXJ0TG9nb3V0LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYoYXV0aFR5cGUhPSdBbnVneW5hJykgewogICAgICAgICAgICAvLyBIYW5kbGUgYWxsIG90aGVyIGF1dGggdHlwZXMKICAgICAgICAgICAgaGFuZGxlQXV0aFR5cGVzKGF1dGhUeXBlKTsKICAgICAgICAgICAgLy8gSGlkZSBhbGwgb3RoZXIgZWxlbWVudHMKICAgICAgICAgICAgaGlkZUFsbEVsZW1lbnRzKCk7CiAgICAgICAgfQogICAgICAgIC8vIFdlYlNvY2tldCBldmVudCBsaXN0ZW5lcnMKICAgICAgICBzZXR1cFdlYlNvY2tldExpc3RlbmVycyhhcHBsX25vLCBhdXRoVHlwZSk7CiAgICB9CiAgICBmdW5jdGlvbiBoYW5kbGVBdXRoVHlwZXMoYXV0aFR5cGUpIHsKICAgICAgICBjb25zdCBlbGVtZW50cyA9IHsKICAgICAgICAgICAgIk5vRXhhbSI6IFsic21hcnROb0V4YW0iLCAiTm9GYWNlQXV0aFJlcSJdLAogICAgICAgICAgICAiY29tcGxldGVGbG93IjogWyJzbWFydGNvbXBsZXRlRmxvdyIsICJOb0ZhY2VBdXRoUmVxIl0sCiAgICAgICAgICAgICJzY2hlZHVsZURhdGUiOiBbInNjaGVkdWxlRGF0ZSIsICJOb0ZhY2VBdXRoUmVxIl0sCiAgICAgICAgICAgICJOT2ZhY2VBdXRoUmVxIjogWyJOb0ZhY2VBdXRoUmVxIl0sCiAgICAgICAgICAgICJiaW9BdXRoIjogWyJOb0ZhY2VBdXRoUmVxIl0sCiAgICAgICAgICAgICJhdHRlbXB0TWF4dGltZXMiOiBbImZhY2VhdXRobWF4dGltZWFsbG93ZWQiLCAiTm9GYWNlQXV0aFJlcSJdLAogICAgICAgICAgICAiYXR0ZW1wdE1heHRpbWVETCI6IFsic21hcnRmYWNlYXV0aG1heHRpbWVhbGxvd2VkREwiLCAiTm9GYWNlQXV0aFJlcSJdLAogICAgICAgICAgICAiYXR0ZW1wdE1heHRpbWVzbG90IjogWyJmYWNlYXV0aG1heHRpbWVhbGxvd2Vkc2xvdCIsICJOb0ZhY2VBdXRoUmVxIl0sCiAgICAgICAgICAgICJhbHJlYWR5Q29tcGxldGVkIjogWyJhbHJlYWR5Q29tcGxldGVkIiwgIk5vRmFjZUF1dGhSZXEiXSwKICAgICAgICAgICAgImV4cGlyZWRBcHBsaWNhdGlvbiI6IFsiZXhwaXJlZEFwcGxpY2F0aW9uIiwgIk5vRmFjZUF1dGhSZXEiXSwKICAgICAgICAgICAgInBob3RvVXBsb2FkIjogWyJzbWFydHBob3RvVXBsb2FkIiwgIk5vRmFjZUF1dGhSZXEiXSwKICAgICAgICAgICAgImNhcHR1cmVQaG90byI6IFsiY2FwdHVyZVBob3RvIiwgIk5vRmFjZUF1dGhSZXEiXSwKICAgICAgICAgICAgIm1heExvZ2lucyI6IFsibWF4TG9naW5zIiwgIk5vRmFjZUF1dGhSZXEiXSwKICAgICAgICAgICAgInF1b3RhRmxhZyI6IFsicXVvdGFGbGFnIiwgIk5vRmFjZUF1dGhSZXEiXQogICAgICAgIH07CiAgICAgICAgaWYgKGVsZW1lbnRzW2F1dGhUeXBlXSkgewogICAgICAgICAgICBjb25zdCBbc2hvd0VsZW1lbnQsIGhpZGVFbGVtZW50XSA9IGVsZW1lbnRzW2F1dGhUeXBlXTsKICAgICAgICAgICAgaWYgKHdpbmRvd1tzaG93RWxlbWVudF0pIHdpbmRvd1tzaG93RWxlbWVudF0uc3R5bGUuZGlzcGxheSA9ICJibG9jayI7CiAgICAgICAgICAgIGlmIChoaWRlRWxlbWVudCAmJiB3aW5kb3dbaGlkZUVsZW1lbnRdKSB3aW5kb3dbaGlkZUVsZW1lbnRdLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CiAgICAgICAgfQogICAgfQogICAgZnVuY3Rpb24gaGlkZUFsbEVsZW1lbnRzKCkgewogICAgICAgIGNvbnN0IGVsZW1lbnRzVG9IaWRlID0gWwogICAgICAgICAgICAncGhvdG9VcGxvYWQnLCAnY29tcGxldGVGbG93JywgJ05vRXhhbScsICdmYWNlYXV0aG1heHRpbWVhbGxvd2VkREwnLAogICAgICAgICAgICAnZmFjZWF1dGhtYXh0aW1lYWxsb3dlZHNsb3QnLCAnZmFjZUF1dGhSZXEnLCAncHJvY3RvclJlcScKICAgICAgICBdOwogICAgICAgIGVsZW1lbnRzVG9IaWRlLmZvckVhY2goZWxlbWVudCA9PiB7CiAgICAgICAgICAgIGlmICh3aW5kb3dbZWxlbWVudF0pIHdpbmRvd1tlbGVtZW50XS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwogICAgICAgIH0pOwogICAgICAgIGlmICh3aW5kb3cuc21hcnRMb2dvdXQpIHNtYXJ0TG9nb3V0LnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siOwogICAgfQogICAgZnVuY3Rpb24gc2V0dXBXZWJTb2NrZXRMaXN0ZW5lcnMoYXBwbF9ubywgYXV0aFR5cGUpIHsKICAgICAgICBpZiAoIXNvY2tldCkgcmV0dXJuOwogICAgICAgIC8vIENvbm5lY3Rpb24gb3BlbmVkCiAgICAgICAgc29ja2V0LmFkZEV2ZW50TGlzdGVuZXIoJ29wZW4nLCBmdW5jdGlvbiAoZXYpIHsKICAgICAgICAgICAgaWYoYXV0aFR5cGU9PT0nQW51Z3luYScgJiYgYXBwbF9ubyE9bnVsbCkgewogICAgICAgICAgICAgICAgdmFyIHJlcU9iID0gewogICAgICAgICAgICAgICAgICAgIHR5cGU6ICJBdXRoZW50aWNhdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgdG9rZW46ICcxMjM0JywKICAgICAgICAgICAgICAgICAgICB1c2VyaWQ6IGFwcGxfbm8KICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICBzZXJ2ZXJUb2tlbiA9ICIxMjM0NSI7CiAgICAgICAgICAgICAgICB2YXIgcmVxdWVzdCA9IEpTT04uc3RyaW5naWZ5KHJlcU9iKTsKICAgICAgICAgICAgICAgIHNvY2tldC5zZW5kKHJlcXVlc3QpOwogICAgICAgICAgICAgICAgdmFyIHNtYXJ0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NtYXJ0TG9jaycpOwogICAgICAgICAgICAgICAgaWYgKHNtYXJ0RGl2KSBzbWFydERpdi5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwogICAgICAgICAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnYXV0aFR5cGUnLCAnQW51Z3luYScpOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgICAgLy8gTGlzdGVuIGZvciBtZXNzYWdlcwogICAgICAgIHNvY2tldC5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24gKGV2ZW50KSB7CiAgICAgICAgICAgIHZhciByZXMgPSBKU09OLnBhcnNlKGV2ZW50LmRhdGEpOwogICAgICAgICAgICBpZiAocmVzWyd0eXBlJ10gPT0gJ0F1dGhlbnRpY2F0aW9uJykgewogICAgICAgICAgICAgICAgaWYgKHNoYTI1NihzZXJ2ZXJUb2tlbikgPT0gcmVzWyd0b2tlbl9oYXNoJ10pIHsKICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh7c3RhdHVzOiAic3VjY2VzcyJ9LCAiYWxsU2V0Iik7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHtzdGF0dXM6ICJmYWlsZWQifSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgICAvLyBDb25uZWN0aW9uIGNsb3NlZAogICAgICAgIHNvY2tldC5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsIGZ1bmN0aW9uIChldmVudCkgewogICAgICAgICAgICBoYW5kbGVDb25uZWN0aW9uQ2xvc2UoYXV0aFR5cGUsIGFwcGxfbm8pOwogICAgICAgIH0pOwogICAgICAgIC8vIEVycm9yIGhhbmRsaW5nCiAgICAgICAgc29ja2V0LmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwgZnVuY3Rpb24gKGV2ZW50KSB7CiAgICAgICAgICAgIGhhbmRsZUNvbm5lY3Rpb25FcnJvcihhdXRoVHlwZSwgYXBwbF9ubyk7CiAgICAgICAgfSk7CiAgICB9CiAgICBmdW5jdGlvbiBoYW5kbGVDb25uZWN0aW9uQ2xvc2UoYXV0aFR5cGUsIGFwcGxfbm8pIHsKICAgICAgICBzZXNzaW9uU3RvcmFnZS5jbGVhcigpOwogICAgICAgIGlmKGF1dGhUeXBlPT09J0FudWd5bmEnICYmIGFwcGxfbm89PT0nMTIzNDUnKSB7CiAgICAgICAgICAgIHZhciBwbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zcGxpdCgnLycpOwogICAgICAgICAgICB2YXIgbmV3dXJsID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbisiLyIrcG5hbWVbMV0rIi80MDMuanNwIjsKICAgICAgICAgICAgLy8gd2luZG93LmxvY2F0aW9uLmhyZWYgPSBuZXd1cmw7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmVzZXRBbGxEaXNwbGF5cygpOwogICAgICAgIH0KICAgICAgICBjb25zb2xlLmxvZygiZGlzY29ubmVjdGVkISIpOwogICAgfQogICAgZnVuY3Rpb24gaGFuZGxlQ29ubmVjdGlvbkVycm9yKGF1dGhUeXBlLCBhcHBsX25vKSB7CiAgICAgICAgc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTsKICAgICAgICBpZihhdXRoVHlwZT09PSdBbnVneW5hJyAmJiBhcHBsX25vPT09JzEyMzQ1JykgewogICAgICAgICAgICB2YXIgcG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuc3BsaXQoJy8nKTsKICAgICAgICAgICAgdmFyIG5ld3VybCA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4rIi8iK3BuYW1lWzFdKyIvNDAzLmpzcCI7CiAgICAgICAgICAgIC8vIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gbmV3dXJsOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJlc2V0QWxsRGlzcGxheXMoKTsKICAgICAgICB9CiAgICAgICAgY29uc29sZS5sb2coInNvbWUgZXJyb3Igb2NjdXJyZWQhIik7CiAgICB9CiAgICBmdW5jdGlvbiByZXNldEFsbERpc3BsYXlzKCkgewogICAgICAgIGNvbnN0IGVsZW1lbnRzID0gWwogICAgICAgICAgICAnc21hcnRMb2NrJywgJ2ZhY2VBdXRoUmVxJywgJ3Byb2N0b3JSZXEnLCAnc21hcnRMb2dvdXQnLAogICAgICAgICAgICAnTm9GYWNlQXV0aFJlcScsICdtYXhMb2dpbnMnLCAnY2FwdHVyZVBob3RvJywgJ3Bob3RvVXBsb2FkJywKICAgICAgICAgICAgJ2FscmVhZHlDb21wbGV0ZWQnLCAnZXhwaXJlZEFwcGxpY2F0aW9uJywgJ2ZhY2VhdXRobWF4dGltZWFsbG93ZWRzbG90JywKICAgICAgICAgICAgJ2ZhY2VhdXRobWF4dGltZWFsbG93ZWRETCcsICdmYWNlYXV0aG1heHRpbWVhbGxvd2VkJywgJ3NjaGVkdWxlRGF0ZScsCiAgICAgICAgICAgICdjb21wbGV0ZUZsb3cnLCAnTm9FeGFtJywgJ3NtYXJ0cGhvdG9VcGxvYWQnLCAnc21hcnRjb21wbGV0ZUZsb3cnLAogICAgICAgICAgICAnc21hcnROb0V4YW0nLCAnc21hcnRmYWNlYXV0aG1heHRpbWVhbGxvd2VkREwnLCAnc21hcnRmYWNlYXV0aG1heHRpbWVhbGxvd2Vkc2xvdCcsCiAgICAgICAgICAgICdmYWNlQXV0aFJlcScKICAgICAgICBdOwogICAgICAgIGVsZW1lbnRzLmZvckVhY2goZWxlbWVudCA9PiB7CiAgICAgICAgICAgIGlmICh3aW5kb3dbZWxlbWVudF0pIHdpbmRvd1tlbGVtZW50XS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwogICAgICAgIH0pOwogICAgfQogICAgZnVuY3Rpb24gYXBwbFN0YXR1cyh1cmwsIHNsb3QsIGFwcGxfbm8pIHsKICAgICAgICBpZiAoIXNvY2tldCkgcmV0dXJuOwogICAgICAgIC8vIEhhbmRsZSBvdmVybG9hZGVkIGZ1bmN0aW9uIHNpZ25hdHVyZQogICAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxKSB7CiAgICAgICAgICAgIHVybCA9IGFyZ3VtZW50c1swXTsKICAgICAgICAgICAgc2xvdCA9IG51bGw7CiAgICAgICAgICAgIGFwcGxfbm8gPSBkb2N1bWVudC5mb3Jtc1siYXV0aGVudGljYXRpb24iXT8ubGxhcHBsbj8udmFsdWU7CiAgICAgICAgfSBlbHNlIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyKSB7CiAgICAgICAgICAgIHVybCA9IGFyZ3VtZW50c1swXTsKICAgICAgICAgICAgc2xvdCA9IGFyZ3VtZW50c1sxXTsKICAgICAgICAgICAgYXBwbF9ubyA9IGRvY3VtZW50LmZvcm1zWyJhdXRoZW50aWNhdGlvbiJdPy5sbGFwcGxuPy52YWx1ZTsKICAgICAgICB9CiAgICAgICAgdmFyIG5ld29iaiA9IHsKICAgICAgICAgICAgdHlwZTogJ0dlbmVyYXRlTGljZW5jZScsCiAgICAgICAgICAgIHVzZXJpZDogYXBwbF9ubwogICAgICAgIH07CiAgICAgICAgaWYoc2xvdCA9PT0gInNsb3RzIikgewogICAgICAgICAgICBuZXdvYmoudXJsID0gbG9jYXRpb24ub3JpZ2luICsgIi8vIiArIHVybDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBuZXdvYmoudXJsID0gbG9jYXRpb24ub3JpZ2luICsgbG9jYXRpb24ucGF0aG5hbWUuc2xpY2UoMCwgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLmxhc3RJbmRleE9mKCcvJykgKyAxKSArIHVybDsKICAgICAgICB9CiAgICAgICAgdmFyIG5ld3JlcXVlc3QgPSBKU09OLnN0cmluZ2lmeShuZXdvYmopOwogICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgICAgICBzb2NrZXQuc2VuZChuZXdyZXF1ZXN0KTsKICAgICAgICB9LCBzbG90ID8gMTAwMCA6IDApOwogICAgfQogICAgZnVuY3Rpb24gbG9nb3V0KCkgewogICAgICAgIGlmICghc29ja2V0KSByZXR1cm47CiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgICAgIHNvY2tldC5zZW5kKCd7InR5cGUiOiJMT0dPVVQifScpOwogICAgICAgIH0sIDEwMDApOwogICAgfQp9KSgpOw==","requires":[{"meta":{"name":"sha256.min.js","url":"https://cdnjs.cloudflare.com/ajax/libs/js-sha256/0.9.0/sha256.min.js","ts":1781229867267,"mimetype":"text/javascript"},"source":"LyoqCiAqIFtqcy1zaGEyNTZde0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9lbW4xNzgvanMtc2hhMjU2fQogKgogKiBAdmVyc2lvbiAwLjkuMAogKiBAYXV0aG9yIENoZW4sIFlpLUN5dWFuIFtlbW4xNzhAZ21haWwuY29tXQogKiBAY29weXJpZ2h0IENoZW4sIFlpLUN5dWFuIDIwMTQtMjAxNwogKiBAbGljZW5zZSBNSVQKICovCiFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0KHQsaSl7aT8oZFswXT1kWzE2XT1kWzFdPWRbMl09ZFszXT1kWzRdPWRbNV09ZFs2XT1kWzddPWRbOF09ZFs5XT1kWzEwXT1kWzExXT1kWzEyXT1kWzEzXT1kWzE0XT1kWzE1XT0wLHRoaXMuYmxvY2tzPWQpOnRoaXMuYmxvY2tzPVswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdLHQ/KHRoaXMuaDA9MzIzODM3MTAzMix0aGlzLmgxPTkxNDE1MDY2Myx0aGlzLmgyPTgxMjcwMjk5OSx0aGlzLmgzPTQxNDQ5MTI2OTcsdGhpcy5oND00MjkwNzc1ODU3LHRoaXMuaDU9MTc1MDYwMzAyNSx0aGlzLmg2PTE2OTQwNzY4MzksdGhpcy5oNz0zMjA0MDc1NDI4KToodGhpcy5oMD0xNzc5MDMzNzAzLHRoaXMuaDE9MzE0NDEzNDI3Nyx0aGlzLmgyPTEwMTM5MDQyNDIsdGhpcy5oMz0yNzczNDgwNzYyLHRoaXMuaDQ9MTM1OTg5MzExOSx0aGlzLmg1PTI2MDA4MjI5MjQsdGhpcy5oNj01Mjg3MzQ2MzUsdGhpcy5oNz0xNTQxNDU5MjI1KSx0aGlzLmJsb2NrPXRoaXMuc3RhcnQ9dGhpcy5ieXRlcz10aGlzLmhCeXRlcz0wLHRoaXMuZmluYWxpemVkPXRoaXMuaGFzaGVkPSExLHRoaXMuZmlyc3Q9ITAsdGhpcy5pczIyND10fWZ1bmN0aW9uIGkoaSxyLHMpe3ZhciBlLG49dHlwZW9mIGk7aWYoInN0cmluZyI9PT1uKXt2YXIgbyxhPVtdLHU9aS5sZW5ndGgsYz0wO2ZvcihlPTA7ZTx1OysrZSkobz1pLmNoYXJDb2RlQXQoZSkpPDEyOD9hW2MrK109bzpvPDIwNDg/KGFbYysrXT0xOTJ8bz4+NixhW2MrK109MTI4fDYzJm8pOm88NTUyOTZ8fG8+PTU3MzQ0PyhhW2MrK109MjI0fG8+PjEyLGFbYysrXT0xMjh8bz4+NiY2MyxhW2MrK109MTI4fDYzJm8pOihvPTY1NTM2KygoMTAyMyZvKTw8MTB8MTAyMyZpLmNoYXJDb2RlQXQoKytlKSksYVtjKytdPTI0MHxvPj4xOCxhW2MrK109MTI4fG8+PjEyJjYzLGFbYysrXT0xMjh8bz4+NiY2MyxhW2MrK109MTI4fDYzJm8pO2k9YX1lbHNle2lmKCJvYmplY3QiIT09bil0aHJvdyBuZXcgRXJyb3IoaCk7aWYobnVsbD09PWkpdGhyb3cgbmV3IEVycm9yKGgpO2lmKGYmJmkuY29uc3RydWN0b3I9PT1BcnJheUJ1ZmZlcilpPW5ldyBVaW50OEFycmF5KGkpO2Vsc2UgaWYoIShBcnJheS5pc0FycmF5KGkpfHxmJiZBcnJheUJ1ZmZlci5pc1ZpZXcoaSkpKXRocm93IG5ldyBFcnJvcihoKX1pLmxlbmd0aD42NCYmKGk9bmV3IHQociwhMCkudXBkYXRlKGkpLmFycmF5KCkpO3ZhciB5PVtdLHA9W107Zm9yKGU9MDtlPDY0OysrZSl7dmFyIGw9aVtlXXx8MDt5W2VdPTkyXmwscFtlXT01NF5sfXQuY2FsbCh0aGlzLHIscyksdGhpcy51cGRhdGUocCksdGhpcy5vS2V5UGFkPXksdGhpcy5pbm5lcj0hMCx0aGlzLnNoYXJlZE1lbW9yeT1zfXZhciBoPSJpbnB1dCBpcyBpbnZhbGlkIHR5cGUiLHI9Im9iamVjdCI9PXR5cGVvZiB3aW5kb3cscz1yP3dpbmRvdzp7fTtzLkpTX1NIQTI1Nl9OT19XSU5ET1cmJihyPSExKTt2YXIgZT0hciYmIm9iamVjdCI9PXR5cGVvZiBzZWxmLG49IXMuSlNfU0hBMjU2X05PX05PREVfSlMmJiJvYmplY3QiPT10eXBlb2YgcHJvY2VzcyYmcHJvY2Vzcy52ZXJzaW9ucyYmcHJvY2Vzcy52ZXJzaW9ucy5ub2RlO24/cz1nbG9iYWw6ZSYmKHM9c2VsZik7dmFyIG89IXMuSlNfU0hBMjU2X05PX0NPTU1PTl9KUyYmIm9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzLGE9ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCxmPSFzLkpTX1NIQTI1Nl9OT19BUlJBWV9CVUZGRVImJiJ1bmRlZmluZWQiIT10eXBlb2YgQXJyYXlCdWZmZXIsdT0iMDEyMzQ1Njc4OWFiY2RlZiIuc3BsaXQoIiIpLGM9Wy0yMTQ3NDgzNjQ4LDgzODg2MDgsMzI3NjgsMTI4XSx5PVsyNCwxNiw4LDBdLHA9WzExMTYzNTI0MDgsMTg5OTQ0NzQ0MSwzMDQ5MzIzNDcxLDM5MjEwMDk1NzMsOTYxOTg3MTYzLDE1MDg5NzA5OTMsMjQ1MzYzNTc0OCwyODcwNzYzMjIxLDM2MjQzODEwODAsMzEwNTk4NDAxLDYwNzIyNTI3OCwxNDI2ODgxOTg3LDE5MjUwNzgzODgsMjE2MjA3ODIwNiwyNjE0ODg4MTAzLDMyNDgyMjI1ODAsMzgzNTM5MDQwMSw0MDIyMjI0Nzc0LDI2NDM0NzA3OCw2MDQ4MDc2MjgsNzcwMjU1OTgzLDEyNDkxNTAxMjIsMTU1NTA4MTY5MiwxOTk2MDY0OTg2LDI1NTQyMjA4ODIsMjgyMTgzNDM0OSwyOTUyOTk2ODA4LDMyMTAzMTM2NzEsMzMzNjU3MTg5MSwzNTg0NTI4NzExLDExMzkyNjk5MywzMzgyNDE4OTUsNjY2MzA3MjA1LDc3MzUyOTkxMiwxMjk0NzU3MzcyLDEzOTYxODIyOTEsMTY5NTE4MzcwMCwxOTg2NjYxMDUxLDIxNzcwMjYzNTAsMjQ1Njk1NjAzNywyNzMwNDg1OTIxLDI4MjAzMDI0MTEsMzI1OTczMDgwMCwzMzQ1NzY0NzcxLDM1MTYwNjU4MTcsMzYwMDM1MjgwNCw0MDk0NTcxOTA5LDI3NTQyMzM0NCw0MzAyMjc3MzQsNTA2OTQ4NjE2LDY1OTA2MDU1Niw4ODM5OTc4NzcsOTU4MTM5NTcxLDEzMjI4MjIyMTgsMTUzNzAwMjA2MywxNzQ3ODczNzc5LDE5NTU1NjIyMjIsMjAyNDEwNDgxNSwyMjI3NzMwNDUyLDIzNjE4NTI0MjQsMjQyODQzNjQ3NCwyNzU2NzM0MTg3LDMyMDQwMzE0NzksMzMyOTMyNTI5OF0sbD1bImhleCIsImFycmF5IiwiZGlnZXN0IiwiYXJyYXlCdWZmZXIiXSxkPVtdOyFzLkpTX1NIQTI1Nl9OT19OT0RFX0pTJiZBcnJheS5pc0FycmF5fHwoQXJyYXkuaXNBcnJheT1mdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfSksIWZ8fCFzLkpTX1NIQTI1Nl9OT19BUlJBWV9CVUZGRVJfSVNfVklFVyYmQXJyYXlCdWZmZXIuaXNWaWV3fHwoQXJyYXlCdWZmZXIuaXNWaWV3PWZ1bmN0aW9uKHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgdCYmdC5idWZmZXImJnQuYnVmZmVyLmNvbnN0cnVjdG9yPT09QXJyYXlCdWZmZXJ9KTt2YXIgQT1mdW5jdGlvbihpLGgpe3JldHVybiBmdW5jdGlvbihyKXtyZXR1cm4gbmV3IHQoaCwhMCkudXBkYXRlKHIpW2ldKCl9fSx3PWZ1bmN0aW9uKGkpe3ZhciBoPUEoImhleCIsaSk7biYmKGg9YihoLGkpKSxoLmNyZWF0ZT1mdW5jdGlvbigpe3JldHVybiBuZXcgdChpKX0saC51cGRhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIGguY3JlYXRlKCkudXBkYXRlKHQpfTtmb3IodmFyIHI9MDtyPGwubGVuZ3RoOysrcil7dmFyIHM9bFtyXTtoW3NdPUEocyxpKX1yZXR1cm4gaH0sYj1mdW5jdGlvbih0LGkpe3ZhciByPWV2YWwoInJlcXVpcmUoJ2NyeXB0bycpIikscz1ldmFsKCJyZXF1aXJlKCdidWZmZXInKS5CdWZmZXIiKSxlPWk/InNoYTIyNCI6InNoYTI1NiIsbj1mdW5jdGlvbihpKXtpZigic3RyaW5nIj09dHlwZW9mIGkpcmV0dXJuIHIuY3JlYXRlSGFzaChlKS51cGRhdGUoaSwidXRmOCIpLmRpZ2VzdCgiaGV4Iik7aWYobnVsbD09PWl8fHZvaWQgMD09PWkpdGhyb3cgbmV3IEVycm9yKGgpO3JldHVybiBpLmNvbnN0cnVjdG9yPT09QXJyYXlCdWZmZXImJihpPW5ldyBVaW50OEFycmF5KGkpKSxBcnJheS5pc0FycmF5KGkpfHxBcnJheUJ1ZmZlci5pc1ZpZXcoaSl8fGkuY29uc3RydWN0b3I9PT1zP3IuY3JlYXRlSGFzaChlKS51cGRhdGUobmV3IHMoaSkpLmRpZ2VzdCgiaGV4Iik6dChpKX07cmV0dXJuIG59LHY9ZnVuY3Rpb24odCxoKXtyZXR1cm4gZnVuY3Rpb24ocixzKXtyZXR1cm4gbmV3IGkocixoLCEwKS51cGRhdGUocylbdF0oKX19LF89ZnVuY3Rpb24odCl7dmFyIGg9digiaGV4Iix0KTtoLmNyZWF0ZT1mdW5jdGlvbihoKXtyZXR1cm4gbmV3IGkoaCx0KX0saC51cGRhdGU9ZnVuY3Rpb24odCxpKXtyZXR1cm4gaC5jcmVhdGUodCkudXBkYXRlKGkpfTtmb3IodmFyIHI9MDtyPGwubGVuZ3RoOysrcil7dmFyIHM9bFtyXTtoW3NdPXYocyx0KX1yZXR1cm4gaH07dC5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKHQpe2lmKCF0aGlzLmZpbmFsaXplZCl7dmFyIGkscj10eXBlb2YgdDtpZigic3RyaW5nIiE9PXIpe2lmKCJvYmplY3QiIT09cil0aHJvdyBuZXcgRXJyb3IoaCk7aWYobnVsbD09PXQpdGhyb3cgbmV3IEVycm9yKGgpO2lmKGYmJnQuY29uc3RydWN0b3I9PT1BcnJheUJ1ZmZlcil0PW5ldyBVaW50OEFycmF5KHQpO2Vsc2UgaWYoIShBcnJheS5pc0FycmF5KHQpfHxmJiZBcnJheUJ1ZmZlci5pc1ZpZXcodCkpKXRocm93IG5ldyBFcnJvcihoKTtpPSEwfWZvcih2YXIgcyxlLG49MCxvPXQubGVuZ3RoLGE9dGhpcy5ibG9ja3M7bjxvOyl7aWYodGhpcy5oYXNoZWQmJih0aGlzLmhhc2hlZD0hMSxhWzBdPXRoaXMuYmxvY2ssYVsxNl09YVsxXT1hWzJdPWFbM109YVs0XT1hWzVdPWFbNl09YVs3XT1hWzhdPWFbOV09YVsxMF09YVsxMV09YVsxMl09YVsxM109YVsxNF09YVsxNV09MCksaSlmb3IoZT10aGlzLnN0YXJ0O248byYmZTw2NDsrK24pYVtlPj4yXXw9dFtuXTw8eVszJmUrK107ZWxzZSBmb3IoZT10aGlzLnN0YXJ0O248byYmZTw2NDsrK24pKHM9dC5jaGFyQ29kZUF0KG4pKTwxMjg/YVtlPj4yXXw9czw8eVszJmUrK106czwyMDQ4PyhhW2U+PjJdfD0oMTkyfHM+PjYpPDx5WzMmZSsrXSxhW2U+PjJdfD0oMTI4fDYzJnMpPDx5WzMmZSsrXSk6czw1NTI5Nnx8cz49NTczNDQ/KGFbZT4+Ml18PSgyMjR8cz4+MTIpPDx5WzMmZSsrXSxhW2U+PjJdfD0oMTI4fHM+PjYmNjMpPDx5WzMmZSsrXSxhW2U+PjJdfD0oMTI4fDYzJnMpPDx5WzMmZSsrXSk6KHM9NjU1MzYrKCgxMDIzJnMpPDwxMHwxMDIzJnQuY2hhckNvZGVBdCgrK24pKSxhW2U+PjJdfD0oMjQwfHM+PjE4KTw8eVszJmUrK10sYVtlPj4yXXw9KDEyOHxzPj4xMiY2Myk8PHlbMyZlKytdLGFbZT4+Ml18PSgxMjh8cz4+NiY2Myk8PHlbMyZlKytdLGFbZT4+Ml18PSgxMjh8NjMmcyk8PHlbMyZlKytdKTt0aGlzLmxhc3RCeXRlSW5kZXg9ZSx0aGlzLmJ5dGVzKz1lLXRoaXMuc3RhcnQsZT49NjQ/KHRoaXMuYmxvY2s9YVsxNl0sdGhpcy5zdGFydD1lLTY0LHRoaXMuaGFzaCgpLHRoaXMuaGFzaGVkPSEwKTp0aGlzLnN0YXJ0PWV9cmV0dXJuIHRoaXMuYnl0ZXM+NDI5NDk2NzI5NSYmKHRoaXMuaEJ5dGVzKz10aGlzLmJ5dGVzLzQyOTQ5NjcyOTY8PDAsdGhpcy5ieXRlcz10aGlzLmJ5dGVzJTQyOTQ5NjcyOTYpLHRoaXN9fSx0LnByb3RvdHlwZS5maW5hbGl6ZT1mdW5jdGlvbigpe2lmKCF0aGlzLmZpbmFsaXplZCl7dGhpcy5maW5hbGl6ZWQ9ITA7dmFyIHQ9dGhpcy5ibG9ja3MsaT10aGlzLmxhc3RCeXRlSW5kZXg7dFsxNl09dGhpcy5ibG9jayx0W2k+PjJdfD1jWzMmaV0sdGhpcy5ibG9jaz10WzE2XSxpPj01NiYmKHRoaXMuaGFzaGVkfHx0aGlzLmhhc2goKSx0WzBdPXRoaXMuYmxvY2ssdFsxNl09dFsxXT10WzJdPXRbM109dFs0XT10WzVdPXRbNl09dFs3XT10WzhdPXRbOV09dFsxMF09dFsxMV09dFsxMl09dFsxM109dFsxNF09dFsxNV09MCksdFsxNF09dGhpcy5oQnl0ZXM8PDN8dGhpcy5ieXRlcz4+PjI5LHRbMTVdPXRoaXMuYnl0ZXM8PDMsdGhpcy5oYXNoKCl9fSx0LnByb3RvdHlwZS5oYXNoPWZ1bmN0aW9uKCl7dmFyIHQsaSxoLHIscyxlLG4sbyxhLGY9dGhpcy5oMCx1PXRoaXMuaDEsYz10aGlzLmgyLHk9dGhpcy5oMyxsPXRoaXMuaDQsZD10aGlzLmg1LEE9dGhpcy5oNix3PXRoaXMuaDcsYj10aGlzLmJsb2Nrcztmb3IodD0xNjt0PDY0OysrdClpPSgocz1iW3QtMTVdKT4+Pjd8czw8MjUpXihzPj4+MTh8czw8MTQpXnM+Pj4zLGg9KChzPWJbdC0yXSk+Pj4xN3xzPDwxNSleKHM+Pj4xOXxzPDwxMylecz4+PjEwLGJbdF09Ylt0LTE2XStpK2JbdC03XStoPDwwO2ZvcihhPXUmYyx0PTA7dDw2NDt0Kz00KXRoaXMuZmlyc3Q/KHRoaXMuaXMyMjQ/KGU9MzAwMDMyLHc9KHM9YlswXS0xNDEzMjU3ODE5KS0xNTAwNTQ1OTk8PDAseT1zKzI0MTc3MDc3PDwwKTooZT03MDQ3NTExMDksdz0ocz1iWzBdLTIxMDI0NDI0OCktMTUyMTQ4NjUzNDw8MCx5PXMrMTQzNjk0NTY1PDwwKSx0aGlzLmZpcnN0PSExKTooaT0oZj4+PjJ8Zjw8MzApXihmPj4+MTN8Zjw8MTkpXihmPj4+MjJ8Zjw8MTApLHI9KGU9ZiZ1KV5mJmNeYSx3PXkrKHM9dysoaD0obD4+PjZ8bDw8MjYpXihsPj4+MTF8bDw8MjEpXihsPj4+MjV8bDw8NykpKyhsJmRefmwmQSkrcFt0XStiW3RdKTw8MCx5PXMrKGkrcik8PDApLGk9KHk+Pj4yfHk8PDMwKV4oeT4+PjEzfHk8PDE5KV4oeT4+PjIyfHk8PDEwKSxyPShuPXkmZileeSZ1XmUsQT1jKyhzPUErKGg9KHc+Pj42fHc8PDI2KV4odz4+PjExfHc8PDIxKV4odz4+PjI1fHc8PDcpKSsodyZsXn53JmQpK3BbdCsxXStiW3QrMV0pPDwwLGk9KChjPXMrKGkrcik8PDApPj4+MnxjPDwzMCleKGM+Pj4xM3xjPDwxOSleKGM+Pj4yMnxjPDwxMCkscj0obz1jJnkpXmMmZl5uLGQ9dSsocz1kKyhoPShBPj4+NnxBPDwyNileKEE+Pj4xMXxBPDwyMSleKEE+Pj4yNXxBPDw3KSkrKEEmd15+QSZsKStwW3QrMl0rYlt0KzJdKTw8MCxpPSgodT1zKyhpK3IpPDwwKT4+PjJ8dTw8MzApXih1Pj4+MTN8dTw8MTkpXih1Pj4+MjJ8dTw8MTApLHI9KGE9dSZjKV51JnlebyxsPWYrKHM9bCsoaD0oZD4+PjZ8ZDw8MjYpXihkPj4+MTF8ZDw8MjEpXihkPj4+MjV8ZDw8NykpKyhkJkFefmQmdykrcFt0KzNdK2JbdCszXSk8PDAsZj1zKyhpK3IpPDwwO3RoaXMuaDA9dGhpcy5oMCtmPDwwLHRoaXMuaDE9dGhpcy5oMSt1PDwwLHRoaXMuaDI9dGhpcy5oMitjPDwwLHRoaXMuaDM9dGhpcy5oMyt5PDwwLHRoaXMuaDQ9dGhpcy5oNCtsPDwwLHRoaXMuaDU9dGhpcy5oNStkPDwwLHRoaXMuaDY9dGhpcy5oNitBPDwwLHRoaXMuaDc9dGhpcy5oNyt3PDwwfSx0LnByb3RvdHlwZS5oZXg9ZnVuY3Rpb24oKXt0aGlzLmZpbmFsaXplKCk7dmFyIHQ9dGhpcy5oMCxpPXRoaXMuaDEsaD10aGlzLmgyLHI9dGhpcy5oMyxzPXRoaXMuaDQsZT10aGlzLmg1LG49dGhpcy5oNixvPXRoaXMuaDcsYT11W3Q+PjI4JjE1XSt1W3Q+PjI0JjE1XSt1W3Q+PjIwJjE1XSt1W3Q+PjE2JjE1XSt1W3Q+PjEyJjE1XSt1W3Q+PjgmMTVdK3VbdD4+NCYxNV0rdVsxNSZ0XSt1W2k+PjI4JjE1XSt1W2k+PjI0JjE1XSt1W2k+PjIwJjE1XSt1W2k+PjE2JjE1XSt1W2k+PjEyJjE1XSt1W2k+PjgmMTVdK3VbaT4+NCYxNV0rdVsxNSZpXSt1W2g+PjI4JjE1XSt1W2g+PjI0JjE1XSt1W2g+PjIwJjE1XSt1W2g+PjE2JjE1XSt1W2g+PjEyJjE1XSt1W2g+PjgmMTVdK3VbaD4+NCYxNV0rdVsxNSZoXSt1W3I+PjI4JjE1XSt1W3I+PjI0JjE1XSt1W3I+PjIwJjE1XSt1W3I+PjE2JjE1XSt1W3I+PjEyJjE1XSt1W3I+PjgmMTVdK3Vbcj4+NCYxNV0rdVsxNSZyXSt1W3M+PjI4JjE1XSt1W3M+PjI0JjE1XSt1W3M+PjIwJjE1XSt1W3M+PjE2JjE1XSt1W3M+PjEyJjE1XSt1W3M+PjgmMTVdK3Vbcz4+NCYxNV0rdVsxNSZzXSt1W2U+PjI4JjE1XSt1W2U+PjI0JjE1XSt1W2U+PjIwJjE1XSt1W2U+PjE2JjE1XSt1W2U+PjEyJjE1XSt1W2U+PjgmMTVdK3VbZT4+NCYxNV0rdVsxNSZlXSt1W24+PjI4JjE1XSt1W24+PjI0JjE1XSt1W24+PjIwJjE1XSt1W24+PjE2JjE1XSt1W24+PjEyJjE1XSt1W24+PjgmMTVdK3Vbbj4+NCYxNV0rdVsxNSZuXTtyZXR1cm4gdGhpcy5pczIyNHx8KGErPXVbbz4+MjgmMTVdK3Vbbz4+MjQmMTVdK3Vbbz4+MjAmMTVdK3Vbbz4+MTYmMTVdK3Vbbz4+MTImMTVdK3Vbbz4+OCYxNV0rdVtvPj40JjE1XSt1WzE1Jm9dKSxhfSx0LnByb3RvdHlwZS50b1N0cmluZz10LnByb3RvdHlwZS5oZXgsdC5wcm90b3R5cGUuZGlnZXN0PWZ1bmN0aW9uKCl7dGhpcy5maW5hbGl6ZSgpO3ZhciB0PXRoaXMuaDAsaT10aGlzLmgxLGg9dGhpcy5oMixyPXRoaXMuaDMscz10aGlzLmg0LGU9dGhpcy5oNSxuPXRoaXMuaDYsbz10aGlzLmg3LGE9W3Q+PjI0JjI1NSx0Pj4xNiYyNTUsdD4+OCYyNTUsMjU1JnQsaT4+MjQmMjU1LGk+PjE2JjI1NSxpPj44JjI1NSwyNTUmaSxoPj4yNCYyNTUsaD4+MTYmMjU1LGg+PjgmMjU1LDI1NSZoLHI+PjI0JjI1NSxyPj4xNiYyNTUscj4+OCYyNTUsMjU1JnIscz4+MjQmMjU1LHM+PjE2JjI1NSxzPj44JjI1NSwyNTUmcyxlPj4yNCYyNTUsZT4+MTYmMjU1LGU+PjgmMjU1LDI1NSZlLG4+PjI0JjI1NSxuPj4xNiYyNTUsbj4+OCYyNTUsMjU1Jm5dO3JldHVybiB0aGlzLmlzMjI0fHxhLnB1c2gobz4+MjQmMjU1LG8+PjE2JjI1NSxvPj44JjI1NSwyNTUmbyksYX0sdC5wcm90b3R5cGUuYXJyYXk9dC5wcm90b3R5cGUuZGlnZXN0LHQucHJvdG90eXBlLmFycmF5QnVmZmVyPWZ1bmN0aW9uKCl7dGhpcy5maW5hbGl6ZSgpO3ZhciB0PW5ldyBBcnJheUJ1ZmZlcih0aGlzLmlzMjI0PzI4OjMyKSxpPW5ldyBEYXRhVmlldyh0KTtyZXR1cm4gaS5zZXRVaW50MzIoMCx0aGlzLmgwKSxpLnNldFVpbnQzMig0LHRoaXMuaDEpLGkuc2V0VWludDMyKDgsdGhpcy5oMiksaS5zZXRVaW50MzIoMTIsdGhpcy5oMyksaS5zZXRVaW50MzIoMTYsdGhpcy5oNCksaS5zZXRVaW50MzIoMjAsdGhpcy5oNSksaS5zZXRVaW50MzIoMjQsdGhpcy5oNiksdGhpcy5pczIyNHx8aS5zZXRVaW50MzIoMjgsdGhpcy5oNyksdH0saS5wcm90b3R5cGU9bmV3IHQsaS5wcm90b3R5cGUuZmluYWxpemU9ZnVuY3Rpb24oKXtpZih0LnByb3RvdHlwZS5maW5hbGl6ZS5jYWxsKHRoaXMpLHRoaXMuaW5uZXIpe3RoaXMuaW5uZXI9ITE7dmFyIGk9dGhpcy5hcnJheSgpO3QuY2FsbCh0aGlzLHRoaXMuaXMyMjQsdGhpcy5zaGFyZWRNZW1vcnkpLHRoaXMudXBkYXRlKHRoaXMub0tleVBhZCksdGhpcy51cGRhdGUoaSksdC5wcm90b3R5cGUuZmluYWxpemUuY2FsbCh0aGlzKX19O3ZhciBCPXcoKTtCLnNoYTI1Nj1CLEIuc2hhMjI0PXcoITApLEIuc2hhMjU2LmhtYWM9XygpLEIuc2hhMjI0LmhtYWM9XyghMCksbz9tb2R1bGUuZXhwb3J0cz1COihzLnNoYTI1Nj1CLnNoYTI1NixzLnNoYTIyND1CLnNoYTIyNCxhJiZkZWZpbmUoZnVuY3Rpb24oKXtyZXR1cm4gQn0pKX0oKTs="}]}]}