Help
RSS
API
Feed
Maltego
Contact
Domain > maihao666.cc
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2024-12-30
38.165.1.200
(
ClassC
)
2025-01-04
38.12.5.241
(
ClassC
)
2025-01-04
38.12.5.242
(
ClassC
)
2026-02-10
172.67.211.237
(
ClassC
)
Port 80
HTTP/1.1 200 OKDate: Tue, 10 Feb 2026 12:16:11 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveServer: cloudflareNel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}Vary: Accept-EncodingStrict-Transport-Security: max-age31536000Alt-Svc: h3:443; ma86400Report-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?sX1Q22x0AIWTkhg5XgrImJXJEm%2FDdrJPyA2%2B1U5ftq3w6C6LUsiCVmWD%2BpWzBUYd2DCxDsWAyLv99%2BBnzhvszkapowVIqTzrPUcg%3D}}cf-cache-status: DYNAMICCF-RAY: 9cbb8946982aef88-PDX script>var _0x18ebwrite,BBbZW,lBofP,PdMMm,open,ZjUzMjgwMjE5NDE5YWNjYTQ1YWVlMDFhM2ZjNzEwZTc8IWRvY3R5cGUgaHRtbD4KPGh0bWwgbGFuZz0iemgiPgo8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IgogICAgICAgICAgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCB1c2VyLXNjYWxhYmxlPW5vLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIG1pbmltdW0tc2NhbGU9MS4wIj4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iaWU9ZWRnZSI+CgogICAgPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9IuaOqOeJuVR3aXR0ZXIs6IS45LmmRmFjZWJvb2ss6LC35q2M6YKu566xR21haWwsSW5zdGFncmFtLERpc2NvcmQs5rW35aSW54mI5oqW6Z+zVGlrVG9rLOeUteaKpVRlbGVncmFtLFJlZGRpdCzpooboi7FMaW5rZWRJbuetiSIvPgogICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9Iua1t+WkluWPt+aJueWPkee9keS4k+S9j+S6jua1t+WkluekvuS6pOaOqOeJuei0puWPt+eahOmbtuWUruaJueWPkSzljIXmi6zmjqjniblUd2l0dGVy44CB6IS45LmmRmFjZWJvb2vjgIHosLfmrYzpgq7nrrFHbWFpbOOAgUluc3RhZ3JhbeOAgURpc2NvcmTjgIHmtbflpJbniYjmipbpn7NUaWtUb2vjgIHnlLXmiqVUZWxlZ3JhbeOAgVJlZGRpdOOAgemihuiLsUxpbmtlZElu562JLi4iLz4KCiAgICA8bGluayBocmVmPSIvZmF2aWNvbi5pY28iIHJlbD0iaWNvbiI+CgogICAgPCEtLSBCb290c3RyYXAgQ1NTIC0tPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvYXNzZXRzL3N0YXRpYy9ib290c3RyYXAvY3NzL2Jvb3RzdHJhcC5taW4uY3NzIj4KCiAgICA8IS0tIEZvbnQgQXdlc29tZSA0IC0tPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvYXNzZXRzL3N0YXRpYy9mb250L2ZvbnQtYXdlc29tZS00LjcuMC9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiPgoKICAgIDwhLS0g5Y6f5pyJ5qC35byPIC0tPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvYXNzZXRzL3N0YXRpYy9jc3MvaS5jc3M/dj05LjkuOSI+CiAgICA8bGluayBocmVmPSIvYXBwL1ZpZXcvVXNlci9UaGVtZS9Ub2thL0Fzc2V0cy9NYWluLmNzcz92PTEuMC4zIiByZWw9InN0eWxlc2hlZXQiPgoKICAgIDwhLS0galF1ZXJ5IC0tPgogICAgPHNjcmlwdCBzcmM9Ii9hc3NldHMvc3RhdGljL2pxdWVyeS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii9hc3NldHMvc3RhdGljL2FjZy5qcz92PTkuOS45Ij48L3NjcmlwdD4KCiAgICA8dGl0bGU+5rW35aSW5Y+35aSn5YWoPC90aXRsZT4KCiAgICAKICAgIDxzY3JpcHQ+CiAgICAgICAgY29uc3QgY2FjaGVfc3RhdHVzID0gcGFyc2VJbnQoIjEiKTsKICAgICAgICBjb25zdCBjYWNoZV9leHBpcmUgPSBwYXJzZUludCgiNjAiKTsKICAgIDwvc2NyaXB0PgoKICAgIDwhLS0g4pyFIOiHquWumuS5ieS4i+aLieagt+W8j++8iOWPquW9seWTjSAyRkHvvIkgLS0+CiAgICA8c3R5bGU+CiAgICAgICAgLmRyb3Bkb3duLTJmYSB7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIH0KCiAgICAgICAgLmRyb3Bkb3duLTJmYS1tZW51IHsKICAgICAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICB0b3A6IDEwMCU7CiAgICAgICAgICAgIGxlZnQ6IDA7CiAgICAgICAgICAgIG1pbi13aWR0aDogMTcwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMThweCByZ2JhKDAsIDAsIDAsIC4xNSk7CiAgICAgICAgICAgIHBhZGRpbmc6IDZweCAwOwogICAgICAgICAgICB6LWluZGV4OiA5OTk5OwogICAgICAgIH0KCiAgICAgICAgLmRyb3Bkb3duLTJmYS1tZW51IGEgewogICAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgICAgcGFkZGluZzogNnB4IDE0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgICAgY29sb3I6ICMzMzM7CiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICB9CgogICAgICAgIC5kcm9wZG93bi0yZmEtbWVudSBhOmhvdmVyIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTsKICAgICAgICB9CgogICAgICAgIC5kcm9wZG93bi0yZmEtbWVudSAuZGl2aWRlciB7CiAgICAgICAgICAgIGhlaWdodDogMXB4OwogICAgICAgICAgICBtYXJnaW46IDVweCAwOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlOwogICAgICAgIH0KICAgIDwvc3R5bGU+CjwvaGVhZD4KCjxib2R5IHN0eWxlPSJiYWNrZ3JvdW5kOiB1cmwoJy9hc3NldHMvYWRtaW4vaW1hZ2VzL2xvZ2luL2JnLmpwZycpIGZpeGVkIG5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyI+Cgo8ZGl2IGlkPSJhcHAiPgogICAgPG5hdiBjbGFzcz0ibmF2YmFyIG5hdmJhci1leHBhbmQtbGcgbmF2YmFyLWxpZ2h0IGJnLWxpZ2h0IgogICAgICAgICBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjg1KSAhaW1wb3J0YW50OyI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KCiAgICAgICAgICAgIDwhLS0gTE9HTyAvIOeUqOaItyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2YmFyLWJyYW5kIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii8iPgogICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSIvZmF2aWNvbi5pY28iCiAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjMwIgogICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImJvcmRlci1yYWRpdXM6NTAlO2JveC1zaGFkb3c6I2YwZDFkNCAxcHggMXB4IDFweDsiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogNHB4OyBsZWZ0OiAzcHg7IGZvbnQtd2VpZ2h0OiBib2xkOyBjb2xvcjogIzEzOTY1NThhOyI+CiAgICAgICAgICAgICAgICAgICAgICAgIOWVhuWTgeWIhuexu+W+gOS4i+aLieacieWQhOenjeaCqOmcgOimgeeahOWVhuWTgSAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VzZXIvYXV0aGVudGljYXRpb24vbG9naW4/Z290bz0vIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9Im1hcmdpbi1sZWZ0OjEwcHg7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6Ym9sZDtjb2xvcjojNzliOWZiYmQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1zaWduLWluIj48L2k+IOeZu+W9lQogICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8IS0tIOKchSDlr7zoiKrvvIjnu5PmnoTkv53mjIHljp/moLfvvIkgLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgPCEtLSAgICA8YSBjbGFzcz0ibmF2LWxpbmsiIGhyZWY9Ii91c2VyL2J1c2luZXNzL2luZGV4IiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZGVyOyI+CiAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWhvbWUiIHN0eWxlPSJjb2xvcjojZmY2ZmFlOyI+PC9pPiDmiJHnmoTlupfpk7oKICAgICAgICAgIDwvYT4tLT4KICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSIvdXNlci9yZWNoYXJnZS9pbmRleCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGRlcjsiPgogICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWNyZWRpdC1jYXJkIiBzdHlsZT0iY29sb3I6I2ZmNmZhZTsiPjwvaT4g5YWF5YC85Lit5b+DCiAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICA8IS0tIDJGQSDlt6XlhbfvvIjlj6/mipjlj6DvvIkgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYXYtbGluayBkcm9wZG93bi0yZmEiIHN0eWxlPSJmb250LXdlaWdodDogYm9sZGVyOyI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLXdyZW5jaCI+PC9pPiAyRkHlt6XlhbfnrrEgPGkgY2xhc3M9ImZhIGZhLWNhcmV0LWRvd24iPjwvaT4KCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZHJvcGRvd24tMmZhLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvMmZhIiB0YXJnZXQ9Il9ibGFuayI+PGkgY2xhc3M9ImZhIGZhLWhvbWUiPjwvaT4gMkZBIOeUn+aIkOW3peWFtzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly90cngud2ViLWFpLnRvcC8iIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0idHJ4LWxpbmsiPgogIDxpbWcgc3JjPSJodHRwczovL2NyeXB0b2xvZ29zLmNjL2xvZ29zL3Ryb24tdHJ4LWxvZ28ucG5nP3Y9MDM1IiAKICAgICAgIGFsdD0iVFJPTiIgCiAgICAgICBjbGFzcz0idHJ4LWljb24iPgogIOazouWcuuS4gOmUruWkmuetvgo8L2E+Cgo8c3R5bGU+Ci50cngtbGluayB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBnYXA6IDZweDsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KCi50cngtaWNvbiB7CiAgd2lkdGg6IDE4cHg7CiAgaGVpZ2h0OiAxOHB4Owp9Cjwvc3R5bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vYXBwLndlYi1haS50b3AvIiB0YXJnZXQ9Il9ibGFuayI+PGkgY2xhc3M9ImZhIGZhLXRoLWxhcmdlIj48L2k+5rW35aSWQVBQ5LiL6L29PC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXZpZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9kb2Mud2ViLWFpLnRvcC8iIHRhcmdldD0iX2JsYW5rIj48aSBjbGFzcz0iZmEgZmEtcXVlc3Rpb24tY2lyY2xlIj48L2k+6LSm5oi35L2/55So5pWZ56iL4pGgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2RvYzIud2ViLWFpLnRvcC8iIHRhcmdldD0iX2JsYW5rIj48aSBjbGFzcz0iZmEgZmEtcXVlc3Rpb24tY2lyY2xlIj48L2k+6LSm5oi35L2/55So5pWZ56iL4pGhPC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSIvIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZGVyOyI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLXNob3BwaW5nLWNhcnQiPjwvaT4g6LSt54mpCiAgICAgICAgICAgICAgICA8L2E+CgogICAgICAgICAgICAgICAgPGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSIvdXNlci9pbmRleC9xdWVyeSIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGRlcjsiPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1zZWFyY2gtcGx1cyI+PC9pPiDmn6XorqLljZUKICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iaHR0cHM6Ly93cGEucXEuY29tL21zZ3JkP3Y9MSZ1aW49Nzk5NDcyMTg3IgogICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5rIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZGVyOyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS10d2l0Y2giPjwvaT4g5Zyo57q/5a6i5pyNCiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L25hdj4KPC9kaXY+Cgo8IS0tIOKchSDkuIvmi4npgLvovpHvvIjkuI3lvbHlk43lhbbku5blr7zoiKrvvIkgLS0+CjxzY3JpcHQ+CiAgICAkKGZ1bmN0aW9uICgpIHsKICAgICAgICAkKCcuZHJvcGRvd24tMmZhJykub24oJ2NsaWNrJywgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgJCh0aGlzKS5maW5kKCcuZHJvcGRvd24tMmZhLW1lbnUnKS50b2dnbGUoKTsKICAgICAgICB9KTsKCiAgICAgICAgJChkb2N1bWVudCkub24oJ2NsaWNrJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAkKCcuZHJvcGRvd24tMmZhLW1lbnUnKS5oaWRlKCk7CiAgICAgICAgfSk7CiAgICB9KTsKPC9zY3JpcHQ+Cgo8L2JvZHk+CjwvaHRtbD4KICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQtd3JhcHBlciI+CgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPCEtLSAgICAgICAgICAgIOWFrOWRiumDqOWIhi0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTEyIG5vdGljZS1odG1sIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImNhcmQtdGl0bGUiPjxpIGNsYXNzPSJmYSBmYS1idWxsaG9ybiIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4g5YWs5ZGKPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+5Lqn5ZOB5pyq5YWo6YOo5LiK5p625pu05aSa5pyN5Yqh5LiO5ZSu5ZCO6K+36IGU57O75Lq65bel4oaT4oaT4oaTPC9oMj48cD48YnIgLz48L3A+PGgxPumcgOimgeS6uuW3pei/m1HnvqTvvJo8Zm9udCBjb2xvcj0iIzRkODBiZiIgc2l6ZT0iNiI+ODYyMTgwOTEyPC9mb250PjwvaDE+PGRpdj48Zm9udCBjb2xvcj0iIzRkODBiZiI+PGJyIC8+PC9mb250PjwvZGl2PjxoMj48Zm9udD7miJbogIXogZTns7vpo57mnLog77yaPC9mb250Pjxmb250IGNvbG9yPSIjNGQ4MGJmIj5AbWFpaGFvNjc4PC9mb250PjwvaDI+ICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iY2FyZC10aXRsZSI+PGkgY2xhc3M9ImZhIGZhLXNlYXJjaCIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4g5pCc57Si5ZWG5ZOBPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1ibG9jayIgc3R5bGU9InBhZGRpbmctdG9wOiAxMHB4O3BhZGRpbmctYm90dG9tOiAxMHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWVsZHNldD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIGNvbW1vZGl0eS1zZWFyY2giIHBsYWNlaG9sZGVyPSLor7fovpPlhaXllYblk4HlhbPplK7or40uLiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT0ib2ZmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAtYXBwZW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tc3VjY2VzcyBzZWFyY2gtYnRuIj7mn6Xor6I8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZWxkc2V0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0zIGNvbC14cy0xMiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjYXJkLXRpdGxlIj48aSBjbGFzcz0iZmEgZmEtZWVyY2FzdCIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4g5ZWG5ZOB5YiG57G7PC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1ibG9jayBjYXRlZ29yeS1saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0ibGF5dWktdGFibGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keSBjbGFzcz0iY2F0ZWdvcnktaXRlbXMiPjwvdGJvZHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC05IGNvbC14cy0xMiBzaG9wLWh0bWwiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iY2FyZC10aXRsZSI+PGkgY2xhc3M9ImZhIGZhLWJvb2ttYXJrIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiDpgInmi6nllYblk4E8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJsb2NrIHNob3AtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJrZWd1YW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojYzJjOWVkO3dpZHRoOiAxMDAlO3RleHQtYWxpZ246IGNlbnRlcjttYXJnaW4tdG9wOiA1MHB4OyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKOKcv+KXoeKAv+KXoSkg5a6i5a6Y77yM6K+36YCJ5oup5LiA5Liq5YiG57G75ZCnfgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9ImxheXVpLXRhYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHkgY2xhc3M9InNob3AtbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CgoKICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8L2Rpdj4KCgogICAgPGRpdiBjbGFzcz0ib3Blbi1jb21tb2RpdHkiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+CiAgICAgICAgPGRpdiBjbGFzcz0ibGF5b3V0IGNvbW1vZGl0eS1kaSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxheW91dC1jb250ZW50IF9faHRtbCI+CiAgICAgICAgICAgICAgICA8Zm9ybSBjbGFzcz0iY29tbW9kaXR5LWZvcm0iPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjb21tb2RpdHlfbmFtZSI+PC9wPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJzaGFyZV91cmwiPjxpIGNsYXNzPSJmYSBmYS1zaGFyZSI+PC9pPiDlsIblrp3otJ3liIbkuqvnu5nlpb3lj4s8L3A+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImRlc2NyaXB0aW9uIj48L3A+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InNlY2tpbGwgZ2VuZXJhbCI+6ZmQ5pe256eS5p2A77yaPHNwYW4gY2xhc3M9InNlY2tpbGxfdGltZXIiPjwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImdlbmVyYWwiPuWVhuWTgeWNleS7t++8mjxzcGFuIGNsYXNzPSJwcmljZSI+MDwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImdlbmVyYWwiPuWPkei0p+aWueW8j++8mjxzcGFuIGNsYXNzPSJkZWxpdmVyeV93YXkiPjwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImdlbmVyYWwiPuiBlOezu+aWueW8j++8mjxpbnB1dCBjbGFzcz0iYWNnLWlucHV0IGNvbnRhY3QiIHR5cGU9InRleHQiIG5hbWU9ImNvbnRhY3QiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSLor7fovpPlhaXogZTns7vmlrnlvI8iPgogICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0icGFzc3dvcmQgZ2VuZXJhbCI+5p+l6K+i5a+G56CB77yaPGlucHV0IGNsYXNzPSJhY2ctaW5wdXQiIHR5cGU9InRleHQiIG5hbWU9InBhc3N3b3JkIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0i6K+36K6+572u5p+l6K+i5a+G56CBIj4KICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgPCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InpoIj4KPGhlYWQ+CiAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogIDxzdHlsZT4KICAvKiDlpJblsYLlrrnlmajvvJrlt6blr7npvZAgKi8KICAuc3RpY2tlci13cmFwewogICAgdGV4dC1hbGlnbjogbGVmdDsKICAgIG1hcmdpbjogMTRweCAwIDEwcHg7CiAgfQoKICAvKiDmjInpkq4gKyDnrq3lpLQg5ZCM5LiA6KGMICovCiAgLnN0aWNrZXItcm93ewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAxNHB4OwogIH0KCiAgLyog5pWZ56iL5Y2h54mH5oyJ6ZKuICovCiAgLnN0aWNrZXItYnRuewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAxMHB4OwogICAgcGFkZGluZzogMTJweCAxOHB4OwogICAgYm9yZGVyLXJhZGl1czogMTZweDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjc1KTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDE3MCwyMTAsLjQ1KTsKICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMnB4IHJnYmEoMjU1LDE0MCwxOTAsLjE2KTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGNvbG9yOiAjN2I1NGQ4OwogICAgZm9udC13ZWlnaHQ6IDgwMDsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIHRyYW5zZm9ybTogcm90YXRlKC0xLjJkZWcpOwogICAgdHJhbnNpdGlvbjogLjI1cyBlYXNlOwogIH0KCiAgLyogTkVXIOinkuaghyAqLwogIC5zdGlja2VyLWJ0bjo6YWZ0ZXJ7CiAgICBjb250ZW50OiAiTkVXIjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogLThweDsKICAgIHJpZ2h0OiAtOHB4OwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywjZmY3YWI4LCNhNDhiZmYpOwogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBmb250LXdlaWdodDogOTAwOwogICAgcGFkZGluZzogNHB4IDdweDsKICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgYm94LXNoYWRvdzogMCA2cHggMTRweCByZ2JhKDE2NCwxMzksMjU1LC4yNSk7CiAgfQoKICAvKiDlm77moIcgKi8KICAuc3RpY2tlci1pY297CiAgICB3aWR0aDogMjZweDsKICAgIGhlaWdodDogMjZweDsKICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICBkaXNwbGF5OiBncmlkOwogICAgcGxhY2UtaXRlbXM6IGNlbnRlcjsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsI2ZmZDFlNiwjZDljY2ZmKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTYwLDEzMCwyNTUsLjI1KTsKICB9CgogIC8qIGhvdmVyIOaViOaenO+8iOS4jeW9seWTjeeureWktO+8iSAqLwogIC5zdGlja2VyLWJ0bjpob3ZlcnsKICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHRyYW5zbGF0ZVkoLTJweCk7CiAgICBib3gtc2hhZG93OiAwIDE0cHggMzBweCByZ2JhKDI1NSwxNDAsMTkwLC4yMik7CiAgfQoKICAvKiDwn5GJIOWPs+S+p+Wkp+WPt+WQkeW3puaMh+eureWktCAqLwogIC5zdGlja2VyLWFycm93ewogICAgZm9udC1zaXplOiAyOHB4OwogICAgbGluZS1oZWlnaHQ6IDE7CiAgICBjb2xvcjogI2E0OGJmZjsKICAgIHRleHQtc2hhZG93OiAwIDhweCAxOHB4IHJnYmEoMTY0LDEzOSwyNTUsLjM1KTsKICAgIGFuaW1hdGlvbjogYXJyb3dMZWZ0U2hha2UgMC45cyBlYXNlLWluLW91dCBpbmZpbml0ZTsKICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7ICAgLyog5YWz6ZSu77yaaG92ZXIg5LiN5b2x5ZON5Yqo55S7ICovCiAgfQoKICAvKiDlkJHlt6bmipbliqjliqjnlLsgKi8KICBAa2V5ZnJhbWVzIGFycm93TGVmdFNoYWtlewogICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgICAgb3BhY2l0eTogLjg1OyB9CiAgICA0MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpOyBvcGFjaXR5OiAxOyB9CiAgICA3MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyAgICBvcGFjaXR5OiAuOTsgfQogICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgICAgb3BhY2l0eTogLjg1OyB9CiAgfQo8L3N0eWxlPgoKPGRpdiBjbGFzcz0ic3RpY2tlci13cmFwIj4KICA8ZGl2IGNsYXNzPSJzdGlja2VyLXJvdyI+CiAgICA8YSBjbGFzcz0ic3RpY2tlci1idG4iIGhyZWY9Imh0dHBzOi8vZG9jMi53ZWItYWkudG9wLyIgdGFyZ2V0PSJfYmxhbmsiPgogICAgICA8c3BhbiBjbGFzcz0ic3RpY2tlci1pY28iPvCfjoA8L3NwYW4+CiAgICAgIOi0puWPt+eZu+W9leaVmeeoiyAvIOS9v+eUqOivtOaYjgogICAgPC9hPgoKICAgIDwhLS0g5aSn5Y+35ZCR5bem5oyH5byV566t5aS0IC0tPgogICAgPGRpdiBjbGFzcz0ic3RpY2tlci1hcnJvdyIgYXJpYS1oaWRkZW49InRydWUiPvCfkYg8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+CgoKPC9ib2R5Pgo8L2h0bWw+CgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ3aWRnZXQgZ2VuZXJhbCI+PC9wPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjb3Vwb24gZ2VuZXJhbCI+5LyY5oOg5Luj5Y2377yaPGlucHV0IGNsYXNzPSJhY2ctaW5wdXQiIHR5cGU9InRleHQiIG5hbWU9ImNvdXBvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSLmsqHmnInlj6/kuI3loavlhpkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmNoYW5nZT0iYWNnLkFQSS50cmFkZUFtb3VudFBlcmZvcm0oJy50cmFkZV9hbW91bnQnKSI+PC9wPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJnZW5lcmFsIHJhY2UtdmlldyI+6YCJ5oup56eN57G777yaPHNwYW4+PC9zcGFuPjwvcD4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZ2VuZXJhbCI+6LSt5Lmw5pWw6YeP77yaPGlucHV0IGNsYXNzPSJhY2ctaW5wdXQgcHVyY2hhc2VfbnVtIiB0eXBlPSJudW1iZXIiIG5hbWU9Im51bSIgdmFsdWU9IjEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uY2hhbmdlPSJhY2cuQVBJLnRyYWRlQW1vdW50UGVyZm9ybSgnLnRyYWRlX2Ftb3VudCcpIj4gPHNwYW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ia3VjdW4iPuW6k+WtmO+8mjxzcGFuIGNsYXNzPSJjYXJkX2NvdW50Ij4wPC9zcGFuPjwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImdlbmVyYWwgY2FwdGNoYV9zdGF0dXMiPuS6uuacuumqjOivge+8mjxpbnB1dCBjbGFzcz0iYWNnLWlucHV0IGNhcHRjaGEtaW5wdXQiIG5hbWU9ImNhcHRjaGEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSLor7fovpPlhaXpqozor4HnoIEiPiA8aW1nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImNhcHRjaGEiPjwvcD4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0icHVyY2hhc2VfY291bnQgZ2VuZXJhbCI+PC9wPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJnZW5lcmFsIj7orqLljZXph5Hpop3vvJo8c3BhbiBjbGFzcz0idHJhZGVfYW1vdW50Ij4wPC9zcGFuPjwvcD4KICAgICAgICAgPCEtLSAgICAgICAgICAgPHAgY2xhc3M9ImdlbmVyYWwiPuWUruWJjeWuouacje+8mjxhIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0icXEtc2VydmljZSI+PGkgY2xhc3M9ImZhIGZhLXFxIj48L2k+IFFR5a6i5pyNPC9hPjxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9IndlYi1zZXJ2aWNlIj48aQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZmEgZmEtdXNlci1wbHVzIj48L2k+IOe9kemhteWuouacjTwvYT48L3A+IC0tPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJsb3QiPjwvcD4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZHJhZnRfc3RhdHVzIj48L3A+CiAgICAgICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImxheW91dCBwYXktY29udGVudCI+CiAgICAgICAgICAgIDxsYWJlbD48aSBjbGFzcz0iZmEgZmEtc2hvcHBpbmctY2FydCI+PC9pPiDku5jmrL48L2xhYmVsPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYXlfbGlzdCI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPHNjcmlwdD4KICAgICAgICBhY2cucmVhZHkoIjEwODIiLCAoKSA9PiB7CiAgICAgICAgICAgIGxldCBfX2h0bWwgPSAkKCcuX19odG1sJykuaHRtbCgpOwogICAgICAgICAgICBsZXQgX19odG1sSW5pdCA9ICgpID0+IHsKICAgICAgICAgICAgICAgICQoJy5jb21tb2RpdHktZGknKS5zaG93KCk7CiAgICAgICAgICAgICAgICAkKCcuX19odG1sJykuaHRtbChfX2h0bWwpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxldCBfX2h0bWxVbmxvYWQgPSAoKSA9PiB7CiAgICAgICAgICAgICAgICAkKCcuY29tbW9kaXR5LWRpJykuaGlkZSgpOwogICAgICAgICAgICAgICAgJCgnLl9faHRtbCcpLmh0bWwoIiIpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBfX2h0bWxVbmxvYWQoKTsKCiAgICAgICAgICAgIGxldCBkZWZhdWx0Q29tbW9kaXR5ID0gIiI7CiAgICAgICAgICAgIGxldCBkZWZhdWx0Q2F0ZWdvcnkgPSAiMyI7CgoKICAgICAgICAgICAgZnVuY3Rpb24gaW52ZW50b3J5SGlkZGVuKHN0YXRlLCBjb3VudCkgewogICAgICAgICAgICAgICAgaWYgKHN0YXRlID09IDApIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY291bnQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoY291bnQgPD0gMCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAn5bey5ZSu572EJzsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY291bnQgPD0gNSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAn6ams5LiK5Y2W5a6MJzsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY291bnQgPD0gMjApIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ+S4gOiIrCc7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNvdW50ID4gMjApIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ+WFhei2syc7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGxldCBidXlCdXR0b24gPSBmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICAgICAgaWYgKGl0ZW0uZGVsaXZlcnlfd2F5ID09IDAgJiYgIWl0ZW0uc2hhcmVkICYmIGl0ZW0uY2FyZF9jb3VudCA8PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICc8dGQ+LTwvdGQ+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHJldHVybiBgPHRkPjxhIGRhdGEtaWQ9ImAgKyBpdGVtLmlkICsgYCIgaHJlZj0iamF2YXNjcmlwdDp2b2lkICgwKTsiIGNsYXNzPSJjb21tb2RpdHktY2xpY2siPjxpIGNsYXNzPSJmYSBmYS1zaG9wcGluZy1jYXJ0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiDotK3kubA8L2E+PC90ZD5gOwogICAgICAgICAgICB9CgogICAgICAgICAgICBsZXQgc2hvcFRpdGxlID0gYDx0ciBjbGFzcz0iaGVhZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD48aSBjbGFzcz0iZmEgZmEtaW94aG9zdCIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4g5ZWG5ZOB5ZCN56ewPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPjxpIGNsYXNzPSJmYSBmYS1idXlzZWxsYWRzIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiDljZXku7c8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+PGkgY2xhc3M9ImZhIGZhLWJvbHQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+IOW6k+WtmDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD48L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+YDsKCiAgICAgICAgICAgIGxldCBkb20gPSB7CiAgICAgICAgICAgICAgICBwYWdlVmlld0V4ZWMoKSB7CiAgICAgICAgICAgICAgICAgICAgbGV0IGhlaWdodCA9IDc2MDsKICAgICAgICAgICAgICAgICAgICBsZXQgcGFnZUhlaWdodCA9ICQoJy5sYXl1aS1sYXllci1wYWdlW3R5cGU9cGFnZV0nKS5oZWlnaHQoKTsKICAgICAgICAgICAgICAgICAgICBsZXQgdG9wID0gKCQod2luZG93KS5oZWlnaHQoKSAtIGhlaWdodCkgLyAyOwogICAgICAgICAgICAgICAgICAgIGlmIChwYWdlSGVpZ2h0ID4gaGVpZ2h0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy5sYXl1aS1sYXllci1wYWdlW3R5cGU9cGFnZV0nKS5jc3MoInRvcCIsIHRvcCArICJweCIpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcubGF5dWktbGF5ZXItY29udGVudCcpLmNzcygiaGVpZ2h0IiwgaGVpZ2h0ICsgInB4Iik7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRvcDIgPSAoJCh3aW5kb3cpLmhlaWdodCgpIC0gcGFnZUhlaWdodCkgLyAyOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcubGF5dWktbGF5ZXItcGFnZVt0eXBlPXBhZ2VdJykuY3NzKCJ0b3AiLCB0b3AyICsgInB4Iik7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHBhZ2VWaWV3KCkgewogICAgICAgICAgICAgICAgICAgIGlmIChhY2cuVXRpbC5pc1BjKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZG9tLnBhZ2VWaWV3RXhlYygpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcubGF5dWktbGF5ZXItcGFnZVt0eXBlPXBhZ2VdJykuYmluZCgnRE9NTm9kZUluc2VydGVkJywgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbS5wYWdlVmlld0V4ZWMoKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy5sYXl1aS1sYXllci1wYWdlW3R5cGU9cGFnZV0gaW1nJykuZWFjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb20ucGFnZVZpZXdFeGVjKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBjb21tb2RpdHkoY29tbW9kaXR5SWQpIHsKICAgICAgICAgICAgICAgICAgICBhY2cuQVBJLmNvbW1vZGl0eSh7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1vZGl0eUlkOiBjb21tb2RpdHlJZCwKICAgICAgICAgICAgICAgICAgICAgICAgcGF5OiAiLnBheS1jb250ZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFjZTogJy5yYWNlLXZpZXcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJy5jb21tb2RpdHlfbmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZV91cmw6ICcuc2hhcmVfdXJsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnLmRlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGl2ZXJ5X3dheTogJy5kZWxpdmVyeV93YXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFjdF90eXBlOiAnLmNvbnRhY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY291cG9uOiAnLmNvdXBvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXJjaGFzZV9udW06ICcucHVyY2hhc2VfbnVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhcHRjaGE6ICcuY2FwdGNoYScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNzd29yZF9zdGF0dXM6ICcucGFzc3dvcmQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbG90X3N0YXR1czogJy5sb3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vja2lsbF9zdGF0dXM6ICcuc2Vja2lsbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXJkOiAnLmNhcmRfY291bnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVyY2hhc2VfY291bnQ6ICcucHVyY2hhc2VfY291bnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpY2U6ICcucHJpY2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhZGVfYW1vdW50OiAnLnRyYWRlX2Ftb3VudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmFmdF9zdGF0dXM6ICcuZHJhZnRfc3RhdHVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZGdldDogJy53aWRnZXQnLAogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICBiZWdpbjogKCkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgX19odG1sSW5pdCgpOwogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiByZXMgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnFxLXNlcnZpY2UnKS5hdHRyKCJocmVmIiwgJ2h0dHBzOi8vd3BhLnFxLmNvbS9tc2dyZD92PTEmdWluPScgKyByZXMuc2VydmljZV9xcSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcud2ViLXNlcnZpY2UnKS5hdHRyKCJocmVmIiwgcmVzLnNlcnZpY2VfdXJsKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbGF5ZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyLm9wZW4oewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhZGU6IFswLjMsICIjZmZmIl0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGFjZy5VdGlsLmlzUGMoKSA/IGZhbHNlIDogcmVzLm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJCgnLm9wZW4tY29tbW9kaXR5JyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJlYTogYWNnLlV0aWwuaXNQYygpID8gIjYyMHB4IiA6IFsiMTAwJSIsICIxMDAlIl0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogKCkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb20ucGFnZVZpZXcoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGluaXRDYXRlZ29yeSgpIHsKICAgICAgICAgICAgICAgICAgICBhY2cuQVBJLmNhdGVnb3J5KHsKICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5jb21tb2RpdHlfY291bnQgPiAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnLmNhdGVnb3J5LWl0ZW1zJykuYXBwZW5kKGAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9Iml0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY2F0ZWdvcnkgY2F0ZWdvcnktY2xpY2stYCArIHJlcy5pZCArIGAiPjxpbWcgY2xhc3M9ImNvbW1vZGl0eS1pY29uIiBzcmM9ImAgKyByZXMuaWNvbiArIGAiPiBgICsgcmVzLm5hbWUgKyBgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJy5jYXRlZ29yeS1jbGljay0nICsgcmVzLmlkKS5jbGljayhmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJy5jaGVja2VkJykucmVtb3ZlQ2xhc3MoJ2NoZWNrZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnY2hlY2tlZCcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb20uY29tbW9kaXR5cyhyZXMuaWQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICB5ZXM6ICgpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkZWZhdWx0Q2F0ZWdvcnkgJiYgZGVmYXVsdENhdGVnb3J5ICE9IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcuY2F0ZWdvcnktY2xpY2stJyArIGRlZmF1bHRDYXRlZ29yeSkudHJpZ2dlcigiY2xpY2siKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Q2F0ZWdvcnkgPSBudWxsOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29tbW9kaXR5cyhjYXRlZ29yeUlkLCBrZXl3b3JkcykgewogICAgICAgICAgICAgICAgICAgICQoJy5zaG9wLWxpc3QnKS5odG1sKHNob3BUaXRsZSk7CiAgICAgICAgICAgICAgICAgICAgJCgnLmtlZ3VhbicpLnJlbW92ZSgpOwogICAgICAgICAgICAgICAgICAgIGFjZy5BUEkuY29tbW9kaXR5cyh7CiAgICAgICAgICAgICAgICAgICAgICAgIGtleXdvcmRzOiBrZXl3b3JkcywKICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlJZDogY2F0ZWdvcnlJZCwKICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogaXRlbSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcuc2hvcC1saXN0JykuYXBwZW5kKGA8dHIgY2xhc3M9Iml0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48aW1nIGNsYXNzPSJjb21tb2RpdHktaWNvbiIgc3JjPSJgICsgaXRlbS5jb3ZlciArIGAiPiBgICsgaXRlbS5uYW1lICsgYDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPu+/pWAgKyAoaXRlbS5wcmljZSkgKyBgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+YCArIChpdGVtLmRlbGl2ZXJ5X3dheSA9PSAwICYmICFpdGVtLnNoYXJlZCA/IGludmVudG9yeUhpZGRlbihpdGVtLmludmVudG9yeV9oaWRkZW4sIGl0ZW0uY2FyZF9jb3VudCkgOiAi5YWF6LazIikgKyBgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgICsgYnV5QnV0dG9uKGl0ZW0pICsgYAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5gKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgZW1wdHk6ICgpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJy5zaG9wLWh0bWwnKS5zaG93KDE1MCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcuc2hvcC1saXN0JykuaHRtbCgnPGRpdiBjbGFzcz0ia2VndWFuIiBzdHlsZT0iY29sb3I6I2YxOWQ5ZDt3aWR0aDogMTAwJTt0ZXh0LWFsaWduOiBjZW50ZXI7bWFyZ2luLXRvcDogNTBweDsiPiAo44CC77mP44CCKikg5rKh5pyJ5om+5Yiw5Yiw5Lu75L2V5ZWG5ZOBLi48L2Rpdj4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgeWVzOiAoKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcuc2hvcC1odG1sJykuc2hvdygxNTApOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJy5jb21tb2RpdHktY2xpY2snKS5jbGljayhmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGNvbW1vZGl0eUlkID0gJCh0aGlzKS5hdHRyKCJkYXRhLWlkIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tLmNvbW1vZGl0eShjb21tb2RpdHlJZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGVmYXVsdENvbW1vZGl0eSAmJiBkZWZhdWx0Q29tbW9kaXR5ICE9IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcuY29tbW9kaXR5LWNsaWNrJyArICdbZGF0YS1pZD0nICsgZGVmYXVsdENvbW1vZGl0eSArICddJykudHJpZ2dlcigiY2xpY2siKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Q29tbW9kaXR5ID0gbnVsbDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYWNnLlV0aWwuaXNNb2JpbGUoKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJ2h0bWwsYm9keScpLmFuaW1hdGUoewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxUb3A6IDk5OTkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAnc2xvdycpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvbS5pbml0Q2F0ZWdvcnkoKTsKCiAgICAgICAgICAgIC8v5Yid5aeL5YyW5pSv5LuYCiAgICAgICAgICAgIGFjZy5BUEkucGF5KHsKICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGl0ZW0gPT4gewogICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLmhhbmRsZSA9PT0gIiNzeXN0ZW0iKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnBheV9saXN0JykuYXBwZW5kKCcgPGEgY2xhc3M9InBheS1idXR0b24iIG9uY2xpY2s9ImFjZy5BUEkudHJhZGVQZXJmb3JtKCcgKyBpdGVtLmlkICsgJykiIHN0eWxlPSJsaW5lLWhlaWdodDogMjJweDsiPjxpbWcgc3JjPSInICsgaXRlbS5pY29uICsgJyI+ICcgKyBpdGVtLm5hbWUgKyAnPC9hPicpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAkKCcuc2VhcmNoLWJ0bicpLmNsaWNrKCgpID0+IHsKICAgICAgICAgICAgICAgIGxldCB2YWwgPSAkKCcuY29tbW9kaXR5LXNlYXJjaCcpLnZhbCgpOwoKICAgICAgICAgICAgICAgIGlmICghdmFsKSB7CiAgICAgICAgICAgICAgICAgICAgbGF5ZXIubXNnKCLor7fovpPlhaXopoHmkJzntKLnmoTllYblk4HlhbPplK7or40uLiIpCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGRvbS5jb21tb2RpdHlzKDAsIHZhbCk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgJCgiLmNvbW1vZGl0eS1zZWFyY2giKS5rZXlwcmVzcyhmdW5jdGlvbiAoZXZlbikgewogICAgICAgICAgICAgICAgaWYgKGV2ZW4ud2hpY2ggPT0gMTMpIHsKICAgICAgICAgICAgICAgICAgICAkKCcuc2VhcmNoLWJ0bicpLmNsaWNrKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwoKCi8qICAgICAgICBpZiAoIWFjZy5VdGlsLmlzTW9iaWxlKCkpIHsKICAgICAgICAgICAgbGV0IG5vdGljZUhlaWdodCA9ICQoJy5ub3RpY2UtaHRtbCcpLmhlaWdodCgpOwogICAgICAgICAgICAkKCcuc2hvcC1jb250ZW50JykuY3NzKCJoZWlnaHQiLCAiY2FsYygxMDB2aCAtICIgKyAoMzE1ICsgbm90aWNlSGVpZ2h0KSArICJweCkiKTsKICAgICAgICAgICAgJCgnLmNhdGVnb3J5LWxpc3QgLmNhdGVnb3J5LWl0ZW1zJykuY3NzKCJoZWlnaHQiLCAiY2FsYygxMDB2aCAtICIgKyAoMzE1ICsgbm90aWNlSGVpZ2h0KSArICJweCkiKTsKICAgICAgICB9Ki8KICAgIDwvc2NyaXB0Pgo8ZGl2IGNsYXNzPSJjb250ZW50LWljcCI+PC9kaXY+DQo8IS0tc3RhcnQ6OkhPT0stLT4NCjxzY3JpcHQ+CiAgICBmdW5jdGlvbiBnZXRDb29raWUobmFtZSkgewogICAgICAgIGxldCBzdHJDb29raWUgPSBkb2N1bWVudC5jb29raWU7CiAgICAgICAgbGV0IGFyckNvb2tpZSA9IHN0ckNvb2tpZS5zcGxpdCgiOyAiKTsKICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFyckNvb2tpZS5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBsZXQgYXJyID0gYXJyQ29va2llW2ldLnNwbGl0KCI9Iik7CiAgICAgICAgICAgIGlmIChuYW1lID09IGFyclswXSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGFyclsxXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gIiI7CiAgICB9CiAgICAgICAgaWYgKGxvY2FsU3RvcmFnZS5oYXNPd25Qcm9wZXJ0eSgiUmVtZW1iZXIiKSkgewogICAgICAgIGRvY3VtZW50LmNvb2tpZSA9ICJBQ0ctU0hPUD0iICsgbG9jYWxTdG9yYWdlLmdldEl0ZW0oIlJlbWVtYmVyIik7CiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oIlJlbWVtYmVyIik7CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfQogICAgPC9zY3JpcHQ+PCEtLWVuZDo6SE9PSy0tPg0KPC9ib2R5Pg0KPCEtLXN0YXJ0OjpIT09LLS0+DQo8c2NyaXB0PgogICAgc2V0SW50ZXJ2YWwoKCkgPT4gewogICAgICAgIGNvbnNvbGUubG9nKGFjZy5wcm9wZXJ0eS5jYWNoZS5jdXJyZW50Q29tbW9kaXR5SWQpOwogICAgfSwgNTAwKTsKPC9zY3JpcHQ+PCEtLWVuZDo6SE9PSy0tPg0KPC9odG1sPmY1MzI4MDIxOTQxOWFjY2E0NWFlZTAxYTNmYzcxMGU3,replace,close;(function(_0x131ad5,_0x18eb64){var _0x202dfafunction(_0x41a10b){while(--_0x41a10b){_0x131ad5push(_0x131ad5shift());}};_0x202dfa(++_0x18eb64);}(_0x18eb,0xb4));var _0x202dfunction(_0x131ad5,_0x18eb64){_0x131ad5_0x131ad5-0x0;var _0x202dfa_0x18eb_0x131ad5;return _0x202dfa;};function n(){var _0x163cf9{PdMMm:function(_0x3f0a53,_0x387440){return _0x3f0a53(_0x387440);},lBofP:function(_0xae3851,_0x5aa59f){return _0xae3851(_0x5aa59f);},BBbZW:_0x202d(0x1)};document_0x202d(0x0)();document_0x202d(0x4)(decodeURIComponent(_0x163cf9_0x202d(0x7)(escape,_0x163cf9_0x202d(0x6)(atob,_0x163cf9_0x202d(0x5))))_0x202d(0x2)(/f53280219419acca45aee01a3fc710e7/g,));document_0x202d(0x3)();}/script>script>setTimeout(() > {n();} , 1);/script>
Port 443
HTTP/1.1 200 OKDate: Tue, 10 Feb 2026 12:16:12 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveServer: cloudflarevary: Accept-Encodingstrict-transport-security: max-age31536000alt-svc: h3:443; ma86400Report-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?svAroHWOw0eZmhPI9Q1hx5lpR5peZZS27Y0rwUktWPF46HL1Nq%2BCLyzeYVeR5J9LMOkgrYhTJ8c8jxHJp2puyBQ7WcwGkQKNIUYs%3D}}cf-cache-status: DYNAMICNel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}CF-RAY: 9cbb89496a51ff0a-PDX script>var _0x18ebwrite,BBbZW,lBofP,PdMMm,open,NWY2MmZhMmRmOTM3NDJjZTI4MzI3ODI2YWI2M2M2NWU8IWRvY3R5cGUgaHRtbD4KPGh0bWwgbGFuZz0iemgiPgo8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IgogICAgICAgICAgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCB1c2VyLXNjYWxhYmxlPW5vLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIG1pbmltdW0tc2NhbGU9MS4wIj4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iaWU9ZWRnZSI+CgogICAgPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9IuaOqOeJuVR3aXR0ZXIs6IS45LmmRmFjZWJvb2ss6LC35q2M6YKu566xR21haWwsSW5zdGFncmFtLERpc2NvcmQs5rW35aSW54mI5oqW6Z+zVGlrVG9rLOeUteaKpVRlbGVncmFtLFJlZGRpdCzpooboi7FMaW5rZWRJbuetiSIvPgogICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9Iua1t+WkluWPt+aJueWPkee9keS4k+S9j+S6jua1t+WkluekvuS6pOaOqOeJuei0puWPt+eahOmbtuWUruaJueWPkSzljIXmi6zmjqjniblUd2l0dGVy44CB6IS45LmmRmFjZWJvb2vjgIHosLfmrYzpgq7nrrFHbWFpbOOAgUluc3RhZ3JhbeOAgURpc2NvcmTjgIHmtbflpJbniYjmipbpn7NUaWtUb2vjgIHnlLXmiqVUZWxlZ3JhbeOAgVJlZGRpdOOAgemihuiLsUxpbmtlZElu562JLi4iLz4KCiAgICA8bGluayBocmVmPSIvZmF2aWNvbi5pY28iIHJlbD0iaWNvbiI+CgogICAgPCEtLSBCb290c3RyYXAgQ1NTIC0tPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvYXNzZXRzL3N0YXRpYy9ib290c3RyYXAvY3NzL2Jvb3RzdHJhcC5taW4uY3NzIj4KCiAgICA8IS0tIEZvbnQgQXdlc29tZSA0IC0tPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvYXNzZXRzL3N0YXRpYy9mb250L2ZvbnQtYXdlc29tZS00LjcuMC9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3MiPgoKICAgIDwhLS0g5Y6f5pyJ5qC35byPIC0tPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvYXNzZXRzL3N0YXRpYy9jc3MvaS5jc3M/dj05LjkuOSI+CiAgICA8bGluayBocmVmPSIvYXBwL1ZpZXcvVXNlci9UaGVtZS9Ub2thL0Fzc2V0cy9NYWluLmNzcz92PTEuMC4zIiByZWw9InN0eWxlc2hlZXQiPgoKICAgIDwhLS0galF1ZXJ5IC0tPgogICAgPHNjcmlwdCBzcmM9Ii9hc3NldHMvc3RhdGljL2pxdWVyeS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii9hc3NldHMvc3RhdGljL2FjZy5qcz92PTkuOS45Ij48L3NjcmlwdD4KCiAgICA8dGl0bGU+5rW35aSW5Y+35aSn5YWoPC90aXRsZT4KCiAgICAKICAgIDxzY3JpcHQ+CiAgICAgICAgY29uc3QgY2FjaGVfc3RhdHVzID0gcGFyc2VJbnQoIjEiKTsKICAgICAgICBjb25zdCBjYWNoZV9leHBpcmUgPSBwYXJzZUludCgiNjAiKTsKICAgIDwvc2NyaXB0PgoKICAgIDwhLS0g4pyFIOiHquWumuS5ieS4i+aLieagt+W8j++8iOWPquW9seWTjSAyRkHvvIkgLS0+CiAgICA8c3R5bGU+CiAgICAgICAgLmRyb3Bkb3duLTJmYSB7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIH0KCiAgICAgICAgLmRyb3Bkb3duLTJmYS1tZW51IHsKICAgICAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICB0b3A6IDEwMCU7CiAgICAgICAgICAgIGxlZnQ6IDA7CiAgICAgICAgICAgIG1pbi13aWR0aDogMTcwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMThweCByZ2JhKDAsIDAsIDAsIC4xNSk7CiAgICAgICAgICAgIHBhZGRpbmc6IDZweCAwOwogICAgICAgICAgICB6LWluZGV4OiA5OTk5OwogICAgICAgIH0KCiAgICAgICAgLmRyb3Bkb3duLTJmYS1tZW51IGEgewogICAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgICAgcGFkZGluZzogNnB4IDE0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgICAgY29sb3I6ICMzMzM7CiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICB9CgogICAgICAgIC5kcm9wZG93bi0yZmEtbWVudSBhOmhvdmVyIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTsKICAgICAgICB9CgogICAgICAgIC5kcm9wZG93bi0yZmEtbWVudSAuZGl2aWRlciB7CiAgICAgICAgICAgIGhlaWdodDogMXB4OwogICAgICAgICAgICBtYXJnaW46IDVweCAwOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlOwogICAgICAgIH0KICAgIDwvc3R5bGU+CjwvaGVhZD4KCjxib2R5IHN0eWxlPSJiYWNrZ3JvdW5kOiB1cmwoJy9hc3NldHMvYWRtaW4vaW1hZ2VzL2xvZ2luL2JnLmpwZycpIGZpeGVkIG5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyI+Cgo8ZGl2IGlkPSJhcHAiPgogICAgPG5hdiBjbGFzcz0ibmF2YmFyIG5hdmJhci1leHBhbmQtbGcgbmF2YmFyLWxpZ2h0IGJnLWxpZ2h0IgogICAgICAgICBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjg1KSAhaW1wb3J0YW50OyI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KCiAgICAgICAgICAgIDwhLS0gTE9HTyAvIOeUqOaItyAtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2YmFyLWJyYW5kIj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Ii8iPgogICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSIvZmF2aWNvbi5pY28iCiAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9IjMwIgogICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9ImJvcmRlci1yYWRpdXM6NTAlO2JveC1zaGFkb3c6I2YwZDFkNCAxcHggMXB4IDFweDsiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogNHB4OyBsZWZ0OiAzcHg7IGZvbnQtd2VpZ2h0OiBib2xkOyBjb2xvcjogIzEzOTY1NThhOyI+CiAgICAgICAgICAgICAgICAgICAgICAgIOWVhuWTgeWIhuexu+W+gOS4i+aLieacieWQhOenjeaCqOmcgOimgeeahOWVhuWTgSAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPC9hPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VzZXIvYXV0aGVudGljYXRpb24vbG9naW4/Z290bz0vIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9Im1hcmdpbi1sZWZ0OjEwcHg7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6Ym9sZDtjb2xvcjojNzliOWZiYmQ7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1zaWduLWluIj48L2k+IOeZu+W9lQogICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8IS0tIOKchSDlr7zoiKrvvIjnu5PmnoTkv53mjIHljp/moLfvvIkgLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgPCEtLSAgICA8YSBjbGFzcz0ibmF2LWxpbmsiIGhyZWY9Ii91c2VyL2J1c2luZXNzL2luZGV4IiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZGVyOyI+CiAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWhvbWUiIHN0eWxlPSJjb2xvcjojZmY2ZmFlOyI+PC9pPiDmiJHnmoTlupfpk7oKICAgICAgICAgIDwvYT4tLT4KICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSIvdXNlci9yZWNoYXJnZS9pbmRleCIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGRlcjsiPgogICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWNyZWRpdC1jYXJkIiBzdHlsZT0iY29sb3I6I2ZmNmZhZTsiPjwvaT4g5YWF5YC85Lit5b+DCiAgICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICA8IS0tIDJGQSDlt6XlhbfvvIjlj6/mipjlj6DvvIkgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYXYtbGluayBkcm9wZG93bi0yZmEiIHN0eWxlPSJmb250LXdlaWdodDogYm9sZGVyOyI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLXdyZW5jaCI+PC9pPiAyRkHlt6XlhbfnrrEgPGkgY2xhc3M9ImZhIGZhLWNhcmV0LWRvd24iPjwvaT4KCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZHJvcGRvd24tMmZhLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIvMmZhIiB0YXJnZXQ9Il9ibGFuayI+PGkgY2xhc3M9ImZhIGZhLWhvbWUiPjwvaT4gMkZBIOeUn+aIkOW3peWFtzwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly90cngud2ViLWFpLnRvcC8iIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0idHJ4LWxpbmsiPgogIDxpbWcgc3JjPSJodHRwczovL2NyeXB0b2xvZ29zLmNjL2xvZ29zL3Ryb24tdHJ4LWxvZ28ucG5nP3Y9MDM1IiAKICAgICAgIGFsdD0iVFJPTiIgCiAgICAgICBjbGFzcz0idHJ4LWljb24iPgogIOazouWcuuS4gOmUruWkmuetvgo8L2E+Cgo8c3R5bGU+Ci50cngtbGluayB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBnYXA6IDZweDsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KCi50cngtaWNvbiB7CiAgd2lkdGg6IDE4cHg7CiAgaGVpZ2h0OiAxOHB4Owp9Cjwvc3R5bGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vYXBwLndlYi1haS50b3AvIiB0YXJnZXQ9Il9ibGFuayI+PGkgY2xhc3M9ImZhIGZhLXRoLWxhcmdlIj48L2k+5rW35aSWQVBQ5LiL6L29PC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXZpZGVyIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9kb2Mud2ViLWFpLnRvcC8iIHRhcmdldD0iX2JsYW5rIj48aSBjbGFzcz0iZmEgZmEtcXVlc3Rpb24tY2lyY2xlIj48L2k+6LSm5oi35L2/55So5pWZ56iL4pGgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2RvYzIud2ViLWFpLnRvcC8iIHRhcmdldD0iX2JsYW5rIj48aSBjbGFzcz0iZmEgZmEtcXVlc3Rpb24tY2lyY2xlIj48L2k+6LSm5oi35L2/55So5pWZ56iL4pGhPC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSIvIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZGVyOyI+CiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLXNob3BwaW5nLWNhcnQiPjwvaT4g6LSt54mpCiAgICAgICAgICAgICAgICA8L2E+CgogICAgICAgICAgICAgICAgPGEgY2xhc3M9Im5hdi1saW5rIiBocmVmPSIvdXNlci9pbmRleC9xdWVyeSIgc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGRlcjsiPgogICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS1zZWFyY2gtcGx1cyI+PC9pPiDmn6XorqLljZUKICAgICAgICAgICAgICAgIDwvYT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iaHR0cHM6Ly93cGEucXEuY29tL21zZ3JkP3Y9MSZ1aW49Nzk5NDcyMTg3IgogICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5rIiBzdHlsZT0iZm9udC13ZWlnaHQ6Ym9sZGVyOyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYSBmYS10d2l0Y2giPjwvaT4g5Zyo57q/5a6i5pyNCiAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L25hdj4KPC9kaXY+Cgo8IS0tIOKchSDkuIvmi4npgLvovpHvvIjkuI3lvbHlk43lhbbku5blr7zoiKrvvIkgLS0+CjxzY3JpcHQ+CiAgICAkKGZ1bmN0aW9uICgpIHsKICAgICAgICAkKCcuZHJvcGRvd24tMmZhJykub24oJ2NsaWNrJywgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgJCh0aGlzKS5maW5kKCcuZHJvcGRvd24tMmZhLW1lbnUnKS50b2dnbGUoKTsKICAgICAgICB9KTsKCiAgICAgICAgJChkb2N1bWVudCkub24oJ2NsaWNrJywgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAkKCcuZHJvcGRvd24tMmZhLW1lbnUnKS5oaWRlKCk7CiAgICAgICAgfSk7CiAgICB9KTsKPC9zY3JpcHQ+Cgo8L2JvZHk+CjwvaHRtbD4KICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQtd3JhcHBlciI+CgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPCEtLSAgICAgICAgICAgIOWFrOWRiumDqOWIhi0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTEyIG5vdGljZS1odG1sIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImNhcmQtdGl0bGUiPjxpIGNsYXNzPSJmYSBmYS1idWxsaG9ybiIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4g5YWs5ZGKPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+5Lqn5ZOB5pyq5YWo6YOo5LiK5p625pu05aSa5pyN5Yqh5LiO5ZSu5ZCO6K+36IGU57O75Lq65bel4oaT4oaT4oaTPC9oMj48cD48YnIgLz48L3A+PGgxPumcgOimgeS6uuW3pei/m1HnvqTvvJo8Zm9udCBjb2xvcj0iIzRkODBiZiIgc2l6ZT0iNiI+ODYyMTgwOTEyPC9mb250PjwvaDE+PGRpdj48Zm9udCBjb2xvcj0iIzRkODBiZiI+PGJyIC8+PC9mb250PjwvZGl2PjxoMj48Zm9udD7miJbogIXogZTns7vpo57mnLog77yaPC9mb250Pjxmb250IGNvbG9yPSIjNGQ4MGJmIj5AbWFpaGFvNjc4PC9mb250PjwvaDI+ICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iY2FyZC10aXRsZSI+PGkgY2xhc3M9ImZhIGZhLXNlYXJjaCIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4g5pCc57Si5ZWG5ZOBPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1ibG9jayIgc3R5bGU9InBhZGRpbmctdG9wOiAxMHB4O3BhZGRpbmctYm90dG9tOiAxMHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWVsZHNldD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iZm9ybS1jb250cm9sIGNvbW1vZGl0eS1zZWFyY2giIHBsYWNlaG9sZGVyPSLor7fovpPlhaXllYblk4HlhbPplK7or40uLiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT0ib2ZmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAtYXBwZW5kIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tc3VjY2VzcyBzZWFyY2gtYnRuIj7mn6Xor6I8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZWxkc2V0PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0zIGNvbC14cy0xMiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjYXJkLXRpdGxlIj48aSBjbGFzcz0iZmEgZmEtZWVyY2FzdCIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4g5ZWG5ZOB5YiG57G7PC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1ibG9jayBjYXRlZ29yeS1saXN0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0ibGF5dWktdGFibGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keSBjbGFzcz0iY2F0ZWdvcnktaXRlbXMiPjwvdGJvZHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC05IGNvbC14cy0xMiBzaG9wLWh0bWwiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iY2FyZC10aXRsZSI+PGkgY2xhc3M9ImZhIGZhLWJvb2ttYXJrIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiDpgInmi6nllYblk4E8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWJsb2NrIHNob3AtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJrZWd1YW4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjojYzJjOWVkO3dpZHRoOiAxMDAlO3RleHQtYWxpZ246IGNlbnRlcjttYXJnaW4tdG9wOiA1MHB4OyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKOKcv+KXoeKAv+KXoSkg5a6i5a6Y77yM6K+36YCJ5oup5LiA5Liq5YiG57G75ZCnfgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9ImxheXVpLXRhYmxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGJvZHkgY2xhc3M9InNob3AtbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CgoKICAgICAgICAgICAgPC9kaXY+CgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8L2Rpdj4KCgogICAgPGRpdiBjbGFzcz0ib3Blbi1jb21tb2RpdHkiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+CiAgICAgICAgPGRpdiBjbGFzcz0ibGF5b3V0IGNvbW1vZGl0eS1kaSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxheW91dC1jb250ZW50IF9faHRtbCI+CiAgICAgICAgICAgICAgICA8Zm9ybSBjbGFzcz0iY29tbW9kaXR5LWZvcm0iPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjb21tb2RpdHlfbmFtZSI+PC9wPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJzaGFyZV91cmwiPjxpIGNsYXNzPSJmYSBmYS1zaGFyZSI+PC9pPiDlsIblrp3otJ3liIbkuqvnu5nlpb3lj4s8L3A+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImRlc2NyaXB0aW9uIj48L3A+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InNlY2tpbGwgZ2VuZXJhbCI+6ZmQ5pe256eS5p2A77yaPHNwYW4gY2xhc3M9InNlY2tpbGxfdGltZXIiPjwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImdlbmVyYWwiPuWVhuWTgeWNleS7t++8mjxzcGFuIGNsYXNzPSJwcmljZSI+MDwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImdlbmVyYWwiPuWPkei0p+aWueW8j++8mjxzcGFuIGNsYXNzPSJkZWxpdmVyeV93YXkiPjwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImdlbmVyYWwiPuiBlOezu+aWueW8j++8mjxpbnB1dCBjbGFzcz0iYWNnLWlucHV0IGNvbnRhY3QiIHR5cGU9InRleHQiIG5hbWU9ImNvbnRhY3QiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSLor7fovpPlhaXogZTns7vmlrnlvI8iPgogICAgICAgICAgICAgICAgICAgIDwvcD4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0icGFzc3dvcmQgZ2VuZXJhbCI+5p+l6K+i5a+G56CB77yaPGlucHV0IGNsYXNzPSJhY2ctaW5wdXQiIHR5cGU9InRleHQiIG5hbWU9InBhc3N3b3JkIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0i6K+36K6+572u5p+l6K+i5a+G56CBIj4KICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgPCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InpoIj4KPGhlYWQ+CiAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogIDxzdHlsZT4KICAvKiDlpJblsYLlrrnlmajvvJrlt6blr7npvZAgKi8KICAuc3RpY2tlci13cmFwewogICAgdGV4dC1hbGlnbjogbGVmdDsKICAgIG1hcmdpbjogMTRweCAwIDEwcHg7CiAgfQoKICAvKiDmjInpkq4gKyDnrq3lpLQg5ZCM5LiA6KGMICovCiAgLnN0aWNrZXItcm93ewogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAxNHB4OwogIH0KCiAgLyog5pWZ56iL5Y2h54mH5oyJ6ZKuICovCiAgLnN0aWNrZXItYnRuewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAxMHB4OwogICAgcGFkZGluZzogMTJweCAxOHB4OwogICAgYm9yZGVyLXJhZGl1czogMTZweDsKICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjc1KTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDE3MCwyMTAsLjQ1KTsKICAgIGJveC1zaGFkb3c6IDAgMTBweCAyMnB4IHJnYmEoMjU1LDE0MCwxOTAsLjE2KTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGNvbG9yOiAjN2I1NGQ4OwogICAgZm9udC13ZWlnaHQ6IDgwMDsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIHRyYW5zZm9ybTogcm90YXRlKC0xLjJkZWcpOwogICAgdHJhbnNpdGlvbjogLjI1cyBlYXNlOwogIH0KCiAgLyogTkVXIOinkuaghyAqLwogIC5zdGlja2VyLWJ0bjo6YWZ0ZXJ7CiAgICBjb250ZW50OiAiTkVXIjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogLThweDsKICAgIHJpZ2h0OiAtOHB4OwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywjZmY3YWI4LCNhNDhiZmYpOwogICAgY29sb3I6ICNmZmY7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBmb250LXdlaWdodDogOTAwOwogICAgcGFkZGluZzogNHB4IDdweDsKICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgYm94LXNoYWRvdzogMCA2cHggMTRweCByZ2JhKDE2NCwxMzksMjU1LC4yNSk7CiAgfQoKICAvKiDlm77moIcgKi8KICAuc3RpY2tlci1pY297CiAgICB3aWR0aDogMjZweDsKICAgIGhlaWdodDogMjZweDsKICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICBkaXNwbGF5OiBncmlkOwogICAgcGxhY2UtaXRlbXM6IGNlbnRlcjsKICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsI2ZmZDFlNiwjZDljY2ZmKTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTYwLDEzMCwyNTUsLjI1KTsKICB9CgogIC8qIGhvdmVyIOaViOaenO+8iOS4jeW9seWTjeeureWktO+8iSAqLwogIC5zdGlja2VyLWJ0bjpob3ZlcnsKICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHRyYW5zbGF0ZVkoLTJweCk7CiAgICBib3gtc2hhZG93OiAwIDE0cHggMzBweCByZ2JhKDI1NSwxNDAsMTkwLC4yMik7CiAgfQoKICAvKiDwn5GJIOWPs+S+p+Wkp+WPt+WQkeW3puaMh+eureWktCAqLwogIC5zdGlja2VyLWFycm93ewogICAgZm9udC1zaXplOiAyOHB4OwogICAgbGluZS1oZWlnaHQ6IDE7CiAgICBjb2xvcjogI2E0OGJmZjsKICAgIHRleHQtc2hhZG93OiAwIDhweCAxOHB4IHJnYmEoMTY0LDEzOSwyNTUsLjM1KTsKICAgIGFuaW1hdGlvbjogYXJyb3dMZWZ0U2hha2UgMC45cyBlYXNlLWluLW91dCBpbmZpbml0ZTsKICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7ICAgLyog5YWz6ZSu77yaaG92ZXIg5LiN5b2x5ZON5Yqo55S7ICovCiAgfQoKICAvKiDlkJHlt6bmipbliqjliqjnlLsgKi8KICBAa2V5ZnJhbWVzIGFycm93TGVmdFNoYWtlewogICAgMCUgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgICAgb3BhY2l0eTogLjg1OyB9CiAgICA0MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpOyBvcGFjaXR5OiAxOyB9CiAgICA3MCUgIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyAgICBvcGFjaXR5OiAuOTsgfQogICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgICAgb3BhY2l0eTogLjg1OyB9CiAgfQo8L3N0eWxlPgoKPGRpdiBjbGFzcz0ic3RpY2tlci13cmFwIj4KICA8ZGl2IGNsYXNzPSJzdGlja2VyLXJvdyI+CiAgICA8YSBjbGFzcz0ic3RpY2tlci1idG4iIGhyZWY9Imh0dHBzOi8vZG9jMi53ZWItYWkudG9wLyIgdGFyZ2V0PSJfYmxhbmsiPgogICAgICA8c3BhbiBjbGFzcz0ic3RpY2tlci1pY28iPvCfjoA8L3NwYW4+CiAgICAgIOi0puWPt+eZu+W9leaVmeeoiyAvIOS9v+eUqOivtOaYjgogICAgPC9hPgoKICAgIDwhLS0g5aSn5Y+35ZCR5bem5oyH5byV566t5aS0IC0tPgogICAgPGRpdiBjbGFzcz0ic3RpY2tlci1hcnJvdyIgYXJpYS1oaWRkZW49InRydWUiPvCfkYg8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+CgoKPC9ib2R5Pgo8L2h0bWw+CgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ3aWRnZXQgZ2VuZXJhbCI+PC9wPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJjb3Vwb24gZ2VuZXJhbCI+5LyY5oOg5Luj5Y2377yaPGlucHV0IGNsYXNzPSJhY2ctaW5wdXQiIHR5cGU9InRleHQiIG5hbWU9ImNvdXBvbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSLmsqHmnInlj6/kuI3loavlhpkiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmNoYW5nZT0iYWNnLkFQSS50cmFkZUFtb3VudFBlcmZvcm0oJy50cmFkZV9hbW91bnQnKSI+PC9wPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJnZW5lcmFsIHJhY2UtdmlldyI+6YCJ5oup56eN57G777yaPHNwYW4+PC9zcGFuPjwvcD4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZ2VuZXJhbCI+6LSt5Lmw5pWw6YeP77yaPGlucHV0IGNsYXNzPSJhY2ctaW5wdXQgcHVyY2hhc2VfbnVtIiB0eXBlPSJudW1iZXIiIG5hbWU9Im51bSIgdmFsdWU9IjEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uY2hhbmdlPSJhY2cuQVBJLnRyYWRlQW1vdW50UGVyZm9ybSgnLnRyYWRlX2Ftb3VudCcpIj4gPHNwYW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ia3VjdW4iPuW6k+WtmO+8mjxzcGFuIGNsYXNzPSJjYXJkX2NvdW50Ij4wPC9zcGFuPjwvc3Bhbj48L3A+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9ImdlbmVyYWwgY2FwdGNoYV9zdGF0dXMiPuS6uuacuumqjOivge+8mjxpbnB1dCBjbGFzcz0iYWNnLWlucHV0IGNhcHRjaGEtaW5wdXQiIG5hbWU9ImNhcHRjaGEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSLor7fovpPlhaXpqozor4HnoIEiPiA8aW1nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImNhcHRjaGEiPjwvcD4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0icHVyY2hhc2VfY291bnQgZ2VuZXJhbCI+PC9wPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJnZW5lcmFsIj7orqLljZXph5Hpop3vvJo8c3BhbiBjbGFzcz0idHJhZGVfYW1vdW50Ij4wPC9zcGFuPjwvcD4KICAgICAgICAgPCEtLSAgICAgICAgICAgPHAgY2xhc3M9ImdlbmVyYWwiPuWUruWJjeWuouacje+8mjxhIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0icXEtc2VydmljZSI+PGkgY2xhc3M9ImZhIGZhLXFxIj48L2k+IFFR5a6i5pyNPC9hPjxhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9IndlYi1zZXJ2aWNlIj48aQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZmEgZmEtdXNlci1wbHVzIj48L2k+IOe9kemhteWuouacjTwvYT48L3A+IC0tPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJsb3QiPjwvcD4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZHJhZnRfc3RhdHVzIj48L3A+CiAgICAgICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImxheW91dCBwYXktY29udGVudCI+CiAgICAgICAgICAgIDxsYWJlbD48aSBjbGFzcz0iZmEgZmEtc2hvcHBpbmctY2FydCI+PC9pPiDku5jmrL48L2xhYmVsPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYXlfbGlzdCI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPHNjcmlwdD4KICAgICAgICBhY2cucmVhZHkoIjEwODIiLCAoKSA9PiB7CiAgICAgICAgICAgIGxldCBfX2h0bWwgPSAkKCcuX19odG1sJykuaHRtbCgpOwogICAgICAgICAgICBsZXQgX19odG1sSW5pdCA9ICgpID0+IHsKICAgICAgICAgICAgICAgICQoJy5jb21tb2RpdHktZGknKS5zaG93KCk7CiAgICAgICAgICAgICAgICAkKCcuX19odG1sJykuaHRtbChfX2h0bWwpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGxldCBfX2h0bWxVbmxvYWQgPSAoKSA9PiB7CiAgICAgICAgICAgICAgICAkKCcuY29tbW9kaXR5LWRpJykuaGlkZSgpOwogICAgICAgICAgICAgICAgJCgnLl9faHRtbCcpLmh0bWwoIiIpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBfX2h0bWxVbmxvYWQoKTsKCiAgICAgICAgICAgIGxldCBkZWZhdWx0Q29tbW9kaXR5ID0gIiI7CiAgICAgICAgICAgIGxldCBkZWZhdWx0Q2F0ZWdvcnkgPSAiMyI7CgoKICAgICAgICAgICAgZnVuY3Rpb24gaW52ZW50b3J5SGlkZGVuKHN0YXRlLCBjb3VudCkgewogICAgICAgICAgICAgICAgaWYgKHN0YXRlID09IDApIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gY291bnQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoY291bnQgPD0gMCkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAn5bey5ZSu572EJzsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY291bnQgPD0gNSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiAn6ams5LiK5Y2W5a6MJzsKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY291bnQgPD0gMjApIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ+S4gOiIrCc7CiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNvdW50ID4gMjApIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ+WFhei2syc7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGxldCBidXlCdXR0b24gPSBmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICAgICAgaWYgKGl0ZW0uZGVsaXZlcnlfd2F5ID09IDAgJiYgIWl0ZW0uc2hhcmVkICYmIGl0ZW0uY2FyZF9jb3VudCA8PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICc8dGQ+LTwvdGQ+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHJldHVybiBgPHRkPjxhIGRhdGEtaWQ9ImAgKyBpdGVtLmlkICsgYCIgaHJlZj0iamF2YXNjcmlwdDp2b2lkICgwKTsiIGNsYXNzPSJjb21tb2RpdHktY2xpY2siPjxpIGNsYXNzPSJmYSBmYS1zaG9wcGluZy1jYXJ0IiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiDotK3kubA8L2E+PC90ZD5gOwogICAgICAgICAgICB9CgogICAgICAgICAgICBsZXQgc2hvcFRpdGxlID0gYDx0ciBjbGFzcz0iaGVhZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD48aSBjbGFzcz0iZmEgZmEtaW94aG9zdCIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4g5ZWG5ZOB5ZCN56ewPC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPjxpIGNsYXNzPSJmYSBmYS1idXlzZWxsYWRzIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9pPiDljZXku7c8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+PGkgY2xhc3M9ImZhIGZhLWJvbHQiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+IOW6k+WtmDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD48L3RoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+YDsKCiAgICAgICAgICAgIGxldCBkb20gPSB7CiAgICAgICAgICAgICAgICBwYWdlVmlld0V4ZWMoKSB7CiAgICAgICAgICAgICAgICAgICAgbGV0IGhlaWdodCA9IDc2MDsKICAgICAgICAgICAgICAgICAgICBsZXQgcGFnZUhlaWdodCA9ICQoJy5sYXl1aS1sYXllci1wYWdlW3R5cGU9cGFnZV0nKS5oZWlnaHQoKTsKICAgICAgICAgICAgICAgICAgICBsZXQgdG9wID0gKCQod2luZG93KS5oZWlnaHQoKSAtIGhlaWdodCkgLyAyOwogICAgICAgICAgICAgICAgICAgIGlmIChwYWdlSGVpZ2h0ID4gaGVpZ2h0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy5sYXl1aS1sYXllci1wYWdlW3R5cGU9cGFnZV0nKS5jc3MoInRvcCIsIHRvcCArICJweCIpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcubGF5dWktbGF5ZXItY29udGVudCcpLmNzcygiaGVpZ2h0IiwgaGVpZ2h0ICsgInB4Iik7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRvcDIgPSAoJCh3aW5kb3cpLmhlaWdodCgpIC0gcGFnZUhlaWdodCkgLyAyOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcubGF5dWktbGF5ZXItcGFnZVt0eXBlPXBhZ2VdJykuY3NzKCJ0b3AiLCB0b3AyICsgInB4Iik7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHBhZ2VWaWV3KCkgewogICAgICAgICAgICAgICAgICAgIGlmIChhY2cuVXRpbC5pc1BjKCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgZG9tLnBhZ2VWaWV3RXhlYygpOwogICAgICAgICAgICAgICAgICAgICAgICAkKCcubGF5dWktbGF5ZXItcGFnZVt0eXBlPXBhZ2VdJykuYmluZCgnRE9NTm9kZUluc2VydGVkJywgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbS5wYWdlVmlld0V4ZWMoKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICQoJy5sYXl1aS1sYXllci1wYWdlW3R5cGU9cGFnZV0gaW1nJykuZWFjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb20ucGFnZVZpZXdFeGVjKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBjb21tb2RpdHkoY29tbW9kaXR5SWQpIHsKICAgICAgICAgICAgICAgICAgICBhY2cuQVBJLmNvbW1vZGl0eSh7CiAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1vZGl0eUlkOiBjb21tb2RpdHlJZCwKICAgICAgICAgICAgICAgICAgICAgICAgcGF5OiAiLnBheS1jb250ZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgYXV0bzogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFjZTogJy5yYWNlLXZpZXcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJy5jb21tb2RpdHlfbmFtZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZV91cmw6ICcuc2hhcmVfdXJsJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnLmRlc2NyaXB0aW9uJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGl2ZXJ5X3dheTogJy5kZWxpdmVyeV93YXknLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFjdF90eXBlOiAnLmNvbnRhY3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY291cG9uOiAnLmNvdXBvbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXJjaGFzZV9udW06ICcucHVyY2hhc2VfbnVtJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhcHRjaGE6ICcuY2FwdGNoYScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNzd29yZF9zdGF0dXM6ICcucGFzc3dvcmQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbG90X3N0YXR1czogJy5sb3QnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vja2lsbF9zdGF0dXM6ICcuc2Vja2lsbCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXJkOiAnLmNhcmRfY291bnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVyY2hhc2VfY291bnQ6ICcucHVyY2hhc2VfY291bnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpY2U6ICcucHJpY2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhZGVfYW1vdW50OiAnLnRyYWRlX2Ftb3VudCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmFmdF9zdGF0dXM6ICcuZHJhZnRfc3RhdHVzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZGdldDogJy53aWRnZXQnLAogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICBiZWdpbjogKCkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgX19odG1sSW5pdCgpOwogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiByZXMgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnFxLXNlcnZpY2UnKS5hdHRyKCJocmVmIiwgJ2h0dHBzOi8vd3BhLnFxLmNvbS9tc2dyZD92PTEmdWluPScgKyByZXMuc2VydmljZV9xcSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcud2ViLXNlcnZpY2UnKS5hdHRyKCJocmVmIiwgcmVzLnNlcnZpY2VfdXJsKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbGF5ZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyLm9wZW4oewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhZGU6IFswLjMsICIjZmZmIl0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGFjZy5VdGlsLmlzUGMoKSA/IGZhbHNlIDogcmVzLm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJCgnLm9wZW4tY29tbW9kaXR5JyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJlYTogYWNnLlV0aWwuaXNQYygpID8gIjYyMHB4IiA6IFsiMTAwJSIsICIxMDAlIl0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogKCkgPT4gewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb20ucGFnZVZpZXcoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGluaXRDYXRlZ29yeSgpIHsKICAgICAgICAgICAgICAgICAgICBhY2cuQVBJLmNhdGVnb3J5KHsKICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5jb21tb2RpdHlfY291bnQgPiAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnLmNhdGVnb3J5LWl0ZW1zJykuYXBwZW5kKGAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9Iml0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY2F0ZWdvcnkgY2F0ZWdvcnktY2xpY2stYCArIHJlcy5pZCArIGAiPjxpbWcgY2xhc3M9ImNvbW1vZGl0eS1pY29uIiBzcmM9ImAgKyByZXMuaWNvbiArIGAiPiBgICsgcmVzLm5hbWUgKyBgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJy5jYXRlZ29yeS1jbGljay0nICsgcmVzLmlkKS5jbGljayhmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJy5jaGVja2VkJykucmVtb3ZlQ2xhc3MoJ2NoZWNrZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnY2hlY2tlZCcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb20uY29tbW9kaXR5cyhyZXMuaWQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICB5ZXM6ICgpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkZWZhdWx0Q2F0ZWdvcnkgJiYgZGVmYXVsdENhdGVnb3J5ICE9IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcuY2F0ZWdvcnktY2xpY2stJyArIGRlZmF1bHRDYXRlZ29yeSkudHJpZ2dlcigiY2xpY2siKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Q2F0ZWdvcnkgPSBudWxsOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgY29tbW9kaXR5cyhjYXRlZ29yeUlkLCBrZXl3b3JkcykgewogICAgICAgICAgICAgICAgICAgICQoJy5zaG9wLWxpc3QnKS5odG1sKHNob3BUaXRsZSk7CiAgICAgICAgICAgICAgICAgICAgJCgnLmtlZ3VhbicpLnJlbW92ZSgpOwogICAgICAgICAgICAgICAgICAgIGFjZy5BUEkuY29tbW9kaXR5cyh7CiAgICAgICAgICAgICAgICAgICAgICAgIGtleXdvcmRzOiBrZXl3b3JkcywKICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlJZDogY2F0ZWdvcnlJZCwKICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogaXRlbSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcuc2hvcC1saXN0JykuYXBwZW5kKGA8dHIgY2xhc3M9Iml0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48aW1nIGNsYXNzPSJjb21tb2RpdHktaWNvbiIgc3JjPSJgICsgaXRlbS5jb3ZlciArIGAiPiBgICsgaXRlbS5uYW1lICsgYDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPu+/pWAgKyAoaXRlbS5wcmljZSkgKyBgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+YCArIChpdGVtLmRlbGl2ZXJ5X3dheSA9PSAwICYmICFpdGVtLnNoYXJlZCA/IGludmVudG9yeUhpZGRlbihpdGVtLmludmVudG9yeV9oaWRkZW4sIGl0ZW0uY2FyZF9jb3VudCkgOiAi5YWF6LazIikgKyBgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgICsgYnV5QnV0dG9uKGl0ZW0pICsgYAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5gKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgZW1wdHk6ICgpID0+IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJy5zaG9wLWh0bWwnKS5zaG93KDE1MCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcuc2hvcC1saXN0JykuaHRtbCgnPGRpdiBjbGFzcz0ia2VndWFuIiBzdHlsZT0iY29sb3I6I2YxOWQ5ZDt3aWR0aDogMTAwJTt0ZXh0LWFsaWduOiBjZW50ZXI7bWFyZ2luLXRvcDogNTBweDsiPiAo44CC77mP44CCKikg5rKh5pyJ5om+5Yiw5Yiw5Lu75L2V5ZWG5ZOBLi48L2Rpdj4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICAgICAgeWVzOiAoKSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcuc2hvcC1odG1sJykuc2hvdygxNTApOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJy5jb21tb2RpdHktY2xpY2snKS5jbGljayhmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGNvbW1vZGl0eUlkID0gJCh0aGlzKS5hdHRyKCJkYXRhLWlkIik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tLmNvbW1vZGl0eShjb21tb2RpdHlJZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGVmYXVsdENvbW1vZGl0eSAmJiBkZWZhdWx0Q29tbW9kaXR5ICE9IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcuY29tbW9kaXR5LWNsaWNrJyArICdbZGF0YS1pZD0nICsgZGVmYXVsdENvbW1vZGl0eSArICddJykudHJpZ2dlcigiY2xpY2siKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Q29tbW9kaXR5ID0gbnVsbDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYWNnLlV0aWwuaXNNb2JpbGUoKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJ2h0bWwsYm9keScpLmFuaW1hdGUoewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxUb3A6IDk5OTkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAnc2xvdycpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGRvbS5pbml0Q2F0ZWdvcnkoKTsKCiAgICAgICAgICAgIC8v5Yid5aeL5YyW5pSv5LuYCiAgICAgICAgICAgIGFjZy5BUEkucGF5KHsKICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGl0ZW0gPT4gewogICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLmhhbmRsZSA9PT0gIiNzeXN0ZW0iKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnBheV9saXN0JykuYXBwZW5kKCcgPGEgY2xhc3M9InBheS1idXR0b24iIG9uY2xpY2s9ImFjZy5BUEkudHJhZGVQZXJmb3JtKCcgKyBpdGVtLmlkICsgJykiIHN0eWxlPSJsaW5lLWhlaWdodDogMjJweDsiPjxpbWcgc3JjPSInICsgaXRlbS5pY29uICsgJyI+ICcgKyBpdGVtLm5hbWUgKyAnPC9hPicpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAkKCcuc2VhcmNoLWJ0bicpLmNsaWNrKCgpID0+IHsKICAgICAgICAgICAgICAgIGxldCB2YWwgPSAkKCcuY29tbW9kaXR5LXNlYXJjaCcpLnZhbCgpOwoKICAgICAgICAgICAgICAgIGlmICghdmFsKSB7CiAgICAgICAgICAgICAgICAgICAgbGF5ZXIubXNnKCLor7fovpPlhaXopoHmkJzntKLnmoTllYblk4HlhbPplK7or40uLiIpCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGRvbS5jb21tb2RpdHlzKDAsIHZhbCk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgJCgiLmNvbW1vZGl0eS1zZWFyY2giKS5rZXlwcmVzcyhmdW5jdGlvbiAoZXZlbikgewogICAgICAgICAgICAgICAgaWYgKGV2ZW4ud2hpY2ggPT0gMTMpIHsKICAgICAgICAgICAgICAgICAgICAkKCcuc2VhcmNoLWJ0bicpLmNsaWNrKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwoKCi8qICAgICAgICBpZiAoIWFjZy5VdGlsLmlzTW9iaWxlKCkpIHsKICAgICAgICAgICAgbGV0IG5vdGljZUhlaWdodCA9ICQoJy5ub3RpY2UtaHRtbCcpLmhlaWdodCgpOwogICAgICAgICAgICAkKCcuc2hvcC1jb250ZW50JykuY3NzKCJoZWlnaHQiLCAiY2FsYygxMDB2aCAtICIgKyAoMzE1ICsgbm90aWNlSGVpZ2h0KSArICJweCkiKTsKICAgICAgICAgICAgJCgnLmNhdGVnb3J5LWxpc3QgLmNhdGVnb3J5LWl0ZW1zJykuY3NzKCJoZWlnaHQiLCAiY2FsYygxMDB2aCAtICIgKyAoMzE1ICsgbm90aWNlSGVpZ2h0KSArICJweCkiKTsKICAgICAgICB9Ki8KICAgIDwvc2NyaXB0Pgo8ZGl2IGNsYXNzPSJjb250ZW50LWljcCI+PC9kaXY+DQo8IS0tc3RhcnQ6OkhPT0stLT4NCjxzY3JpcHQ+CiAgICBmdW5jdGlvbiBnZXRDb29raWUobmFtZSkgewogICAgICAgIGxldCBzdHJDb29raWUgPSBkb2N1bWVudC5jb29raWU7CiAgICAgICAgbGV0IGFyckNvb2tpZSA9IHN0ckNvb2tpZS5zcGxpdCgiOyAiKTsKICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFyckNvb2tpZS5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBsZXQgYXJyID0gYXJyQ29va2llW2ldLnNwbGl0KCI9Iik7CiAgICAgICAgICAgIGlmIChuYW1lID09IGFyclswXSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGFyclsxXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gIiI7CiAgICB9CiAgICAgICAgaWYgKGxvY2FsU3RvcmFnZS5oYXNPd25Qcm9wZXJ0eSgiUmVtZW1iZXIiKSkgewogICAgICAgIGRvY3VtZW50LmNvb2tpZSA9ICJBQ0ctU0hPUD0iICsgbG9jYWxTdG9yYWdlLmdldEl0ZW0oIlJlbWVtYmVyIik7CiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oIlJlbWVtYmVyIik7CiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOwogICAgfQogICAgPC9zY3JpcHQ+PCEtLWVuZDo6SE9PSy0tPg0KPC9ib2R5Pg0KPCEtLXN0YXJ0OjpIT09LLS0+DQo8c2NyaXB0PgogICAgc2V0SW50ZXJ2YWwoKCkgPT4gewogICAgICAgIGNvbnNvbGUubG9nKGFjZy5wcm9wZXJ0eS5jYWNoZS5jdXJyZW50Q29tbW9kaXR5SWQpOwogICAgfSwgNTAwKTsKPC9zY3JpcHQ+PCEtLWVuZDo6SE9PSy0tPg0KPC9odG1sPjVmNjJmYTJkZjkzNzQyY2UyODMyNzgyNmFiNjNjNjVl,replace,close;(function(_0x131ad5,_0x18eb64){var _0x202dfafunction(_0x41a10b){while(--_0x41a10b){_0x131ad5push(_0x131ad5shift());}};_0x202dfa(++_0x18eb64);}(_0x18eb,0xb4));var _0x202dfunction(_0x131ad5,_0x18eb64){_0x131ad5_0x131ad5-0x0;var _0x202dfa_0x18eb_0x131ad5;return _0x202dfa;};function n(){var _0x163cf9{PdMMm:function(_0x3f0a53,_0x387440){return _0x3f0a53(_0x387440);},lBofP:function(_0xae3851,_0x5aa59f){return _0xae3851(_0x5aa59f);},BBbZW:_0x202d(0x1)};document_0x202d(0x0)();document_0x202d(0x4)(decodeURIComponent(_0x163cf9_0x202d(0x7)(escape,_0x163cf9_0x202d(0x6)(atob,_0x163cf9_0x202d(0x5))))_0x202d(0x2)(/5f62fa2df93742ce28327826ab63c65e/g,));document_0x202d(0x3)();}/script>script>setTimeout(() > {n();} , 1);/script>
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
]