Help
RSS
API
Feed
Maltego
Contact
Domain > sc.duanxinhongzha.xyz
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-09-04
216.73.156.168
(
ClassC
)
2025-10-21
154.26.246.49
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyDate: Tue, 21 Oct 2025 23:20:43 GMTContent-Type: text/htmlContent-Length: 166Connection: keep-aliveLocation: https://sc.duanxinhongzha.xyz/Server: cdn html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>openresty/center>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Tue, 21 Oct 2025 23:20:44 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveVary: Accept-EncodingStrict-Transport-Security: max-age31536000Vary: Accept-EncodingServer: cdn script>var _0x18ebwrite,BBbZW,lBofP,PdMMm,open,ZjlhOTdiNWQ2YWIxZjM1MzFjZTE5Y2U1OWVkZDQ1NTY8IURPQ1RZUEUgaHRtbD4NCjxodG1sIGxhbmc9ImVuLVVTIj4NCjxoZWFkPg0KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4NCiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIG1heGltdW0tc2NhbGU9MSI+DQogICAgPHRpdGxlPuefreS/oeeUteivnSAtIOacgOmAguWQiOS9oOeahOS4quS6uuW6l+mTuuezu+e7n++8gTwvdGl0bGU+DQogICAgPG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9IiIvPg0KICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSIiLz4NCiAgICA8bGluayBocmVmPSIvZmF2aWNvbi5pY28iIHJlbD0iaWNvbiI+DQoNCiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9hcHAvVmlldy9Vc2VyL1RoZW1lL0xhbi9Bc3NldHMvY3NzL2Jvb3RzdHJhcC5taW4uY3NzP3Y9My4yLjIiIGNsYXNzPSJjZG4tc3VwcG9ydCI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvYXBwL1ZpZXcvVXNlci9UaGVtZS9MYW4vQXNzZXRzL2Nzcy9hbGwubWluLmNzcz92PTMuMi4yIiBjbGFzcz0iY2RuLXN1cHBvcnQiPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2FwcC9WaWV3L1VzZXIvVGhlbWUvTGFuL0Fzc2V0cy9jc3Mvc2xpY2suY3NzP3Y9My4yLjIiIGNsYXNzPSJjZG4tc3VwcG9ydCI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvYXBwL1ZpZXcvVXNlci9UaGVtZS9MYW4vQXNzZXRzL2Nzcy9zaW1wbGUtbGluZS1pY29ucy5jc3M/dj0zLjIuMiIgY2xhc3M9ImNkbi1zdXBwb3J0Ij48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9hcHAvVmlldy9Vc2VyL1RoZW1lL0xhbi9Bc3NldHMvY3NzL3N0eWxlLmNzcz92PTMuMi4yIiBjbGFzcz0iY2RuLXN1cHBvcnQiPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2Fzc2V0cy9zdGF0aWMvZm9udC9mb250LWF3ZXNvbWUtNC43LjAvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzP3Y9My4yLjIiIGNsYXNzPSJjZG4tc3VwcG9ydCI+DQogICAgPCEtLXN0YXJ0OjpIT09LLS0+DQogICAgICAgIDwhLS1lbmQ6OkhPT0stLT4NCg0KICAgIDxzY3JpcHQ+DQogICAgICAgIGNvbnN0IGNhY2hlX3N0YXR1cyA9IHBhcnNlSW50KCIiKTsNCiAgICAgICAgY29uc3QgY2FjaGVfZXhwaXJlID0gcGFyc2VJbnQoIiIpOw0KICAgIDwvc2NyaXB0Pg0KPC9oZWFkPg0KDQo8Ym9keSBzdHlsZT0iYmFja2dyb3VuZDogdXJsKCcvYXNzZXRzL2NhY2hlL2ltYWdlcy8nKSAgZml4ZWQgbm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTogY292ZXI7Ij4NCg0KPGRpdiBzdHlsZT0iYmFja2dyb3VuZDogI2ZmZmZmZmYyO292ZXJmbG93OmF1dG87aGVpZ2h0OjEwMHZoOyI+DQoNCiAgICA8IS0tIHNpdGUgd3JhcHBlciAtLT4NCiAgICA8ZGl2IGNsYXNzPSJzaXRlLXdyYXBwZXIiPg0KDQogICAgICAgIDxkaXYgY2xhc3M9Im1haW4tb3ZlcmxheSI+PC9kaXY+DQoNCiAgICAgICAgPCEtLSBoZWFkZXIgLS0+DQogICAgICAgIDxoZWFkZXIgY2xhc3M9ImhlYWRlci1wZXJzb25hbCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXItZmx1aWQgaGVhZGVyLXRvcCI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IGFsaWduLWl0ZW1zLWNlbnRlciI+DQoNCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTQgZC1ub25lIGQtbWQtYmxvY2sgZC1sZy1ibG9jayI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00IGNvbC1zbS0xMiBjb2wteHMtMTIgdGV4dC1jZW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBzaXRlIGxvZ28gLS0+DQogICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibmF2YmFyLWJyYW5kIiBocmVmPSIvdXNlci9kYXNoYm9hcmQvaW5kZXgiPjxpbWcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz0iL2Zhdmljb24uaWNvIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PSJsb2dvIi8+PC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iL3VzZXIvZGFzaGJvYXJkL2luZGV4Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImQtYmxvY2sgdGV4dC1sb2dvIj7ngrjpuKHlupfpk7o8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2xvZ2FuIGQtYmxvY2siPldlbGNvbWUgdG8gdmlzaXQgbXkgc2hvcC48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC00IGNvbC1zbS0xMiBjb2wteHMtMTIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBoZWFkZXIgYnV0dG9ucyAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1idXR0b25zIGZsb2F0LW1kLWVuZCBtdC00IG10LW1kLTAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InNlYXJjaCBpY29uLWJ1dHRvbiI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJpY29uLW1hZ25pZmllciI+PC9pPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgPG5hdiBjbGFzcz0ibmF2YmFyIG5hdmJhci1leHBhbmQtbGciPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCI+DQoNCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2YmFyLWNvbGxhcHNlIGp1c3RpZnktY29udGVudC1jZW50ZXIgY2VudGVyZWQtbmF2Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gbWVudXMgLS0+DQogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdmJhci1uYXYiPg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iL3VzZXIvYXV0aGVudGljYXRpb24vbG9naW4/Z290bz0vIj48aQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZhIGZhLXNpZ24taW4iPjwvaT4g55m75b2VPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iL3VzZXIvYXV0aGVudGljYXRpb24vcmVnaXN0ZXI/Z290bz0vIj48aQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImZhIGZhLXVzZXItcGx1cyI+PC9pPiDms6jlhow8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJuYXYtbGluayBxdWVyeS12aWV3IiBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCk7Ij48aSBjbGFzcz0iZmEgZmEtc2FmYXJpIj48L2k+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDorqLljZXmn6Xor6I8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJuYXYtbGluayIgaHJlZj0iIg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9IiI+PGkgY2xhc3M9IiI+PC9pPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgIDwvbmF2Pg0KICAgICAgICA8L2hlYWRlcj4NCg0KICAgICAgICA8c2VjdGlvbiBjbGFzcz0icGFnZS1oZWFkZXIiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciI+DQogICAgICAgICAgICAgICAgICAgIDxwPjxiciAvPjwvcD48cD48Yj48Zm9udCBjb2xvcj0iI2Y5OTYzYiI+572R5Z2A5omT5LiN5byA6K+35Yu/6LSt5Lmw77yB77yB77yBPC9mb250PjwvYj48L3A+PHA+PHNwYW4+PGI+PGZvbnQgc2l6ZT0iNCI+PGZvbnQgZmFjZT0iSGVsdmV0aWNhIE5ldWUsIEhlbHZldGljYSwgUGluZ0ZhbmcgU0MsIFRhaG9tYSwgQXJpYWwsIHNhbnMtc2VyaWYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMzgsMjM2LDIyNCk7Ij7kvb/nlKjor7TmmI7vvJo8L2ZvbnQ+PGZvbnQgZmFjZT0i6buR5L2TIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ5LDE1MCw1OSk7Ij7otK3kubDlkI7kvJroh6rliqjlj5HpgIHmgqjnm7jlupTnmoTljaHlr4bvvIzlpI3liLbljaHlr4bliLDkvb/nlKjnmoTllYblk4HlnLDlnYDljbPlj6/kvb/nlKg8L2ZvbnQ+PC9mb250PjwvYj48L3NwYW4+PC9wPjxwPjxzcGFuPjxiPjxmb250IHNpemU9IjQiPjxmb250IGZhY2U9Ium7keS9kyIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiKDI0OSwxNTAsNTkpOyI+5pyJ5Lu75L2V55aR6Zeu6K+36IGU57O75a6i5pyN77yM5bCP55m95LiN6KaB5LiL5Y2V77yBPC9mb250PjwvZm9udD48L2I+PC9zcGFuPjwvcD48cD48c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpOyI+PGI+PGZvbnQgc2l6ZT0iNCI+PGZvbnQgZmFjZT0i6buR5L2TIj7lhY3otLnovbDngrjmnLrlmajkurrvvJrCoDwvZm9udD48L2ZvbnQ+PC9iPjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6J0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCAnUGluZ0ZhbmcgU0MnLCBUYWhvbWEsIEFyaWFsLCBzYW5zLXNlcmlmOyI+QGxtZHhoempfYm90PC9zcGFuPjwvcD48cD48Zm9udCBjb2xvcj0iI2Y5OTYzYiIgc2l6ZT0iNSI+5aaC5p6c5pyq5pi+56S65ZWG5ZOB77yM6K+35aSa5Yi35paw6aG16Z2iPC9mb250PjwvcD48cD48Zm9udCBjb2xvcj0iI2Y5OTYzYiIgc2l6ZT0iNSI+56ys5LiA5qyh5omT5byA5Y+v6IO957yT5oWi77yM5oSf6LCi5pSv5oyB77yBPC9mb250PjwvcD48cD48Zm9udCBjb2xvcj0iI2Y5OTYzYiIgc2l6ZT0iNSI+6LSt5Lmw6IGU57O75pa55byP5YiH6K6w5LiN6KaB5YaZMTIzNDU2562J77yM6Ziy5q2i6KKr55uX5Y2h77yBPC9mb250PjwvcD4gICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9zZWN0aW9uPg0KDQogICAgICAgIDwhLS0gc2VjdGlvbiBtYWluIGNvbnRlbnQgLS0+DQogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJtYWluLWNvbnRlbnQiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4NCg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBneS00Ij4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTEyIj4NCg0KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBzaWRlYmFyIC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSB3aWRnZXQgY2F0ZWdvcmllcyAtLT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aWRnZXQgcm91bmRlZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndpZGdldC1oZWFkZXIgdGV4dC1jZW50ZXIiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ3aWRnZXQtdGl0bGUiPuWVhuWTgeWIhuexuzwvaDM+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iL2FwcC9WaWV3L1VzZXIvVGhlbWUvTGFuL0Fzc2V0cy9pbWFnZXMvd2F2ZS5zdmc/dj0xLjAuNSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9IndhdmUiIGFsdD0id2F2ZSIvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0LWNvbnRlbnQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0IG5hdi1waWxscyI+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KDQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCg0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLWxnLTEyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBneS00IGNvbW1vZGl0eXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvc2VjdGlvbj4NCg0KDQogICAgICAgIDwhLS0gZm9vdGVyIC0tPg0KICAgICAgICA8Zm9vdGVyPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItaW5uZXIiPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBneS00Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gY29weXJpZ2h0IHRleHQgLS0+DQogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29weXJpZ2h0IiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyIj48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZm9vdGVyPg0KDQogICAgPC9kaXY+PCEtLSBlbmQgc2l0ZSB3cmFwcGVyIC0tPg0KDQogICAgPCEtLSBzZWFyY2ggcG9wdXAgYXJlYSAtLT4NCiAgICA8ZGl2IGNsYXNzPSJzZWFyY2gtcG9wdXAiPg0KICAgICAgICA8IS0tIGNsb3NlIGJ1dHRvbiAtLT4NCiAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4tY2xvc2UiIGFyaWEtbGFiZWw9IkNsb3NlIj48L2J1dHRvbj4NCiAgICAgICAgPCEtLSBjb250ZW50IC0tPg0KICAgICAgICA8ZGl2IGNsYXNzPSJzZWFyY2gtY29udGVudCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciI+DQogICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJtYi00IG10LTAiPuaMiSJFU0Mi6ZSu5YWz6ZetPC9oMz4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgPCEtLSBmb3JtIC0tPg0KICAgICAgICAgICAgPGZvcm0gY2xhc3M9ImQtZmxleCBzZWFyY2gtZm9ybSI+DQogICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb3JtLWNvbnRyb2wgbWUtMiBzZWFyY2gta2V5d29yZHMiIHR5cGU9InNlYXJjaCIgcGxhY2Vob2xkZXI9IuaQnOe0ouS9oOWWnOasoueahOWVhuWTgS4uIg0KICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSJTZWFyY2giPg0KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tZGVmYXVsdCBidG4tbGcgc2VhcmNoLWJ0biIgdHlwZT0iYnV0dG9uIj48aSBjbGFzcz0iaWNvbi1tYWduaWZpZXIiPjwvaT48L2J1dHRvbj4NCiAgICAgICAgICAgIDwvZm9ybT4NCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQoNCjwvZGl2Pg0KDQo8IS0tIEpBVkEgU0NSSVBUUyAtLT4NCjxzY3JpcHQgc3JjPSIvYXNzZXRzL3N0YXRpYy9qcXVlcnkubWluLmpzP3Y9My4yLjIiICBjbGFzcz0iY2RuLXN1cHBvcnQiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvYXBwL1ZpZXcvVXNlci9UaGVtZS9MYW4vQXNzZXRzL2pzL3BvcHBlci5taW4uanM/dj0zLjIuMiIgIGNsYXNzPSJjZG4tc3VwcG9ydCI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9hcHAvVmlldy9Vc2VyL1RoZW1lL0xhbi9Bc3NldHMvanMvYm9vdHN0cmFwLm1pbi5qcz92PTMuMi4yIiAgY2xhc3M9ImNkbi1zdXBwb3J0Ij48L3NjcmlwdD48c2NyaXB0IHNyYz0iL2FwcC9WaWV3L1VzZXIvVGhlbWUvTGFuL0Fzc2V0cy9qcy9zbGljay5taW4uanM/dj0zLjIuMiIgIGNsYXNzPSJjZG4tc3VwcG9ydCI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9hcHAvVmlldy9Vc2VyL1RoZW1lL0xhbi9Bc3NldHMvanMvanF1ZXJ5LnN0aWNreS1zaWRlYmFyLm1pbi5qcz92PTMuMi4yIiAgY2xhc3M9ImNkbi1zdXBwb3J0Ij48L3NjcmlwdD48c2NyaXB0IHNyYz0iL2FwcC9WaWV3L1VzZXIvVGhlbWUvTGFuL0Fzc2V0cy9qcy9jdXN0b20uanM/dj0zLjIuMiIgIGNsYXNzPSJjZG4tc3VwcG9ydCI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9hc3NldHMvc3RhdGljL2FjZy5qcz92PTMuMi4yIiAgY2xhc3M9ImNkbi1zdXBwb3J0Ij48L3NjcmlwdD4NCjxkaXYgY2xhc3M9Im9wZW4tY29tbW9kaXR5IiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPg0KICAgIDxkaXYgY2xhc3M9ImxheW91dCBjb21tb2RpdHktZGkiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJsYXlvdXQtY29udGVudCBfX2h0bWwiPg0KICAgICAgICAgICAgPGZvcm0gY2xhc3M9ImNvbW1vZGl0eS1mb3JtIj4NCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0iY29tbW9kaXR5X25hbWUiPjwvcD4NCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0ic2hhcmVfdXJsIj48aSBjbGFzcz0iaWNvbi1zaGFyZS1hbHQiPjwvaT4g5bCG5a6d6LSd5YiG5Lqr57uZ5aW95Y+LPC9wPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJkZXNjcmlwdGlvbiI+PC9wPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJzZWNraWxsIGdlbmVyYWwiPumZkOaXtuenkuadgO+8mjxzcGFuIGNsYXNzPSJzZWNraWxsX3RpbWVyIj48L3NwYW4+PC9wPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJnZW5lcmFsIj7llYblk4HljZXku7fvvJo8c3BhbiBjbGFzcz0icHJpY2UiPjA8L3NwYW4+PC9wPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJnZW5lcmFsIj7lj5HotKfmlrnlvI/vvJo8c3BhbiBjbGFzcz0iZGVsaXZlcnlfd2F5Ij48L3NwYW4+IDxzcGFuIGNsYXNzPSJzdG9jayI+5bqT5a2YOiAuLi48L3NwYW4+PC9wPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJnZW5lcmFsIHJhY2UtdmlldyI+5a6d6LSd57G75Z6L77yaPHNwYW4+PC9zcGFuPjwvcD4NCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZ2VuZXJhbCBza3UtdmlldyI+PC9wPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJnZW5lcmFsIj7ogZTns7vmlrnlvI/vvJo8aW5wdXQgY2xhc3M9ImFjZy1pbnB1dCBjb250YWN0IiB0eXBlPSJ0ZXh0IiBuYW1lPSJjb250YWN0Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Iuivt+i+k+WFpeiBlOezu+aWueW8jyI+DQogICAgICAgICAgICAgICAgPC9wPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwYXNzd29yZCBnZW5lcmFsIj7mn6Xor6Llr4bnoIHvvJo8aW5wdXQgY2xhc3M9ImFjZy1pbnB1dCIgdHlwZT0idGV4dCIgbmFtZT0icGFzc3dvcmQiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0i6K+36K6+572u5p+l6K+i5a+G56CBIj4NCiAgICAgICAgICAgICAgICA8L3A+DQogICAgICAgICAgICAgICAgPHAgY2xhc3M9IndpZGdldF9nIGdlbmVyYWwiPjwvcD4NCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0iY291cG9uIGdlbmVyYWwiPuS8mOaDoOS7o+WNt++8mjxpbnB1dCBjbGFzcz0iYWNnLWlucHV0IiB0eXBlPSJ0ZXh0IiBuYW1lPSJjb3Vwb24iDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IuayoeacieWPr+S4jeWhq+WGmSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmNoYW5nZT0iYWNnLkFQSS50cmFkZUFtb3VudFBlcmZvcm0oJy50cmFkZV9hbW91bnQnKSI+PC9wPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJnZW5lcmFsIj7otK3kubDmlbDph4/vvJo8aW5wdXQgY2xhc3M9ImFjZy1pbnB1dCBwdXJjaGFzZV9udW0iIHR5cGU9Im51bWJlciIgbmFtZT0ibnVtIiB2YWx1ZT0iMSINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uY2hhbmdlPSJhY2cuQVBJLnRyYWRlQW1vdW50UGVyZm9ybSgnLnRyYWRlX2Ftb3VudCcpIj4gPHNwYW4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ia3VjdW4iPuW6k+WtmO+8mjxzcGFuIGNsYXNzPSJjYXJkX2NvdW50Ij4wPC9zcGFuPjwvc3Bhbj48L3A+DQogICAgICAgICAgICAgICAgPHAgY2xhc3M9ImdlbmVyYWwgY2FwdGNoYV9zdGF0dXMiPuS6uuacuumqjOivge+8mjxpbnB1dCBjbGFzcz0iYWNnLWlucHV0IGNhcHRjaGEtaW5wdXQiIG5hbWU9ImNhcHRjaGEiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJ0ZXh0Ig0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Iuivt+i+k+WFpemqjOivgeeggSI+IDxpbWcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iY2FwdGNoYSI+PC9wPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwdXJjaGFzZV9jb3VudCBnZW5lcmFsIj48L3A+DQogICAgICAgICAgICAgICAgPHAgY2xhc3M9ImdlbmVyYWwiPuiuouWNlemHkemine+8mjxzcGFuIGNsYXNzPSJ0cmFkZV9hbW91bnQiPjA8L3NwYW4+PC9wPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJnZW5lcmFsIj7llK7liY3lrqLmnI3vvJo8YSB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9InFxLXNlcnZpY2UiPlFR5a6i5pyNPC9hPjxhDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJfYmxhbmsiDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9IndlYi1zZXJ2aWNlIj7nvZHpobXlrqLmnI08L2E+PC9wPg0KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJsb3QiPjwvcD4NCiAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZHJhZnRfc3RhdHVzIj48L3A+DQogICAgICAgICAgICA8L2Zvcm0+DQogICAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImxheW91dCBwYXktY29udGVudCI+DQogICAgICAgIDxsYWJlbD48aSBjbGFzcz0iaWNvbi1iYXNrZXQiPjwvaT4g5LuY5qy+PC9sYWJlbD4NCiAgICAgICAgPGRpdiBjbGFzcz0icGF5X2xpc3QiPg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJvcGVuLXF1ZXJ5IiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPg0KICAgIDxkaXYgY2xhc3M9ImxheW91dCI+DQogICAgICAgIDxkaXYgY2xhc3M9ImxheW91dC1jb250ZW50IF9fcXVlcnkiPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VhcmNoLXBhZ2UiPg0KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBjbGFzcz0icHJvZmlsZV9fcHJvZHVjdHNfX3NlYXJjaC0taW5wdXQgZm9ybS1jb250cm9sIHNlYXJjaC12YWx1ZSINCiAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9IiINCiAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Iuivt+i+k+WFpeiuouWNleWPt+aIluiAheiBlOezu+aWueW8jy4uLiI+DQogICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJzZWFyY2gtcXVlcnkiPuafpeivojwvYnV0dG9uPg0KICAgICAgICAgICAgPC9kaXY+DQoNCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9yZGVyLXN1Y2Nlc3MiPjwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCjwvZGl2Pg0KDQo8c2NyaXB0Pg0KICAgIHRyeSB7DQogICAgICAgIGFjZy5yZWFkeSgiMCIsICgpID0+IHsNCg0KICAgICAgICAgICAgbGV0IF9faHRtbCA9ICQoJy5fX2h0bWwnKS5odG1sKCk7DQogICAgICAgICAgICBsZXQgX19odG1sSW5pdCA9ICgpID0+IHsNCiAgICAgICAgICAgICAgICAkKCcuY29tbW9kaXR5LWRpJykuc2hvdygpOw0KICAgICAgICAgICAgICAgICQoJy5fX2h0bWwnKS5odG1sKF9faHRtbCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBsZXQgX19odG1sVW5sb2FkID0gKCkgPT4gew0KICAgICAgICAgICAgICAgICQoJy5jb21tb2RpdHktZGknKS5oaWRlKCk7DQogICAgICAgICAgICAgICAgJCgnLl9faHRtbCcpLmh0bWwoIiIpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBfX2h0bWxVbmxvYWQoKTsNCg0KICAgICAgICAgICAgbGV0IGRlZmF1bHRDYXRlZ29yeSA9ICIwIjsNCiAgICAgICAgICAgIGxldCBkZWZhdWx0Q29tbW9kaXR5ID0gIiI7DQoNCiAgICAgICAgICAgIGZ1bmN0aW9uIGludmVudG9yeUhpZGRlbihzdGF0ZSwgY291bnQpIHsNCiAgICAgICAgICAgICAgICBpZiAoc3RhdGUgPT0gMCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gY291bnQ7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlmIChjb3VudCA8PSAwKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAn5bey5ZSu572EJzsNCiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNvdW50IDw9IDUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICfpqazkuIrljZblrownOw0KICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY291bnQgPD0gMjApIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICfkuIDoiKwnOw0KICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY291bnQgPiAyMCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ+WFhei2syc7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQoNCiAgICAgICAgICAgICQoJy5zZWFyY2gtY2xlYXInKS5jbGljaygoKSA9PiB7DQogICAgICAgICAgICAgICAgJCgnLnNlYXJjaC1rZXl3b3JkcycpLnZhbCgiIik7DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgJCgnLnNlYXJjaC1idG4nKS5jbGljaygoKSA9PiB7DQogICAgICAgICAgICAgICAgZG9tLmNvbW1vZGl0eXMoMCwgJCgnLnNlYXJjaC1rZXl3b3JkcycpLnZhbCgpKTsNCiAgICAgICAgICAgICAgICAkKCcuc2VhcmNoLXBvcHVwJykucmVtb3ZlQ2xhc3MoInZpc2libGUiKTsNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICAkKCcuc2VhcmNoLWtleXdvcmRzJykua2V5dXAoZnVuY3Rpb24gKGV2ZW50KSB7DQogICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleUNvZGUgPT0gMTMpIHsNCiAgICAgICAgICAgICAgICAgICAgJCgiLnNlYXJjaC1idG4iKS50cmlnZ2VyKCJjbGljayIpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBsZXQgZG9tID0gew0KICAgICAgICAgICAgICAgIHBhZ2VWaWV3KCkgew0KICAgICAgICAgICAgICAgICAgICBpZiAoYWNnLlV0aWwuaXNQYygpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBsZXQgaGVpZ2h0ID0gNzYwOw0KICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHBhZ2VIZWlnaHQgPSAkKCcubGF5dWktbGF5ZXItcGFnZVt0eXBlPXBhZ2VdJykuaGVpZ2h0KCk7DQogICAgICAgICAgICAgICAgICAgICAgICBsZXQgdG9wID0gKCQod2luZG93KS5oZWlnaHQoKSAtIGhlaWdodCkgLyAyOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBhZ2VIZWlnaHQgPiBoZWlnaHQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcubGF5dWktbGF5ZXItcGFnZVt0eXBlPXBhZ2VdJykuY3NzKCJ0b3AiLCB0b3AgKyAicHgiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcubGF5dWktbGF5ZXItY29udGVudCcpLmNzcygiaGVpZ2h0IiwgaGVpZ2h0ICsgInB4Iik7DQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0b3AyID0gKCQod2luZG93KS5oZWlnaHQoKSAtIHBhZ2VIZWlnaHQpIC8gMjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcubGF5dWktbGF5ZXItcGFnZVt0eXBlPXBhZ2VdJykuY3NzKCJ0b3AiLCB0b3AyICsgInB4Iik7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbW1vZGl0eXMoY2F0ZWdvcnlJZCwga2V5d29yZHMgPSBudWxsKSB7DQogICAgICAgICAgICAgICAgICAgICQoJy5jb21tb2RpdHlzJykuaHRtbCgiIik7DQogICAgICAgICAgICAgICAgICAgIGFjZy5BUEkuY29tbW9kaXR5cyh7DQogICAgICAgICAgICAgICAgICAgICAgICBrZXl3b3Jkczoga2V5d29yZHMsDQogICAgICAgICAgICAgICAgICAgICAgICBjYXRlZ29yeUlkOiBjYXRlZ29yeUlkLA0KICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogaXRlbSA9PiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnLmNvbW1vZGl0eXMnKS5hcHBlbmQoYA0KIDxkaXYgY2xhc3M9ImNvbC1zbS0yIGNvbW1vZGl0eS1jbGljayIgZGF0YS1pZD0iYCArIGl0ZW0uaWQgKyBgIiBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBwb3N0IC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBvc3QgcG9zdC1ncmlkIHJvdW5kZWQgYm9yZGVyZWQiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aHVtYiB0b3Atcm91bmRlZCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSAgPGEgaHJlZj0iY2F0ZWdvcnkuaHRtbCIgY2xhc3M9ImNhdGVnb3J5LWJhZGdlIHBvc2l0aW9uLWFic29sdXRlIj5ERU1PPC9hPi0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBvc3QtZm9ybWF0Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iaWNvbi1iYXNrZXQiPjwvaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbm5lciI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJgICsgaXRlbS5jb3ZlciArIGAiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlscyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9InBvc3QtdGl0bGUgbWItMyBtdC0zIj5gICsgaXRlbS5uYW1lICsgYDwvaDU+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3N0LWJvdHRvbSBjbGVhcmZpeCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNvY2lhbC1zaGFyZSBtZS1hdXRvIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDvv6VgICsgaXRlbS5wcmljZSArIGANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9yZS1idXR0b24gZmxvYXQtZW5kIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDlupPlrZjvvJo8c3BhbiBjbGFzcz0ia3VjdW4iPmAgKyBpdGVtLnN0b2NrICsgYDwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KYCk7DQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgZW1wdHk6ICgpID0+IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcuY29tbW9kaXR5cycpLmh0bWwoJzxkaXYgc3R5bGU9Im1hcmdpbjogMjBweCBhdXRvOyAwIGF1dG87Y29sb3I6ICNjYjQ0OGY7Ij7kuIDkuKrllYblk4HkuZ/msqHmnIko4oGOy4PhhrrLgik8L2Rpdj4nKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICB5ZXM6ICgpID0+IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcuY29tbW9kaXR5LWNsaWNrJykuY2xpY2soZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgY29tbW9kaXR5SWQgPSAkKHRoaXMpLmF0dHIoImRhdGEtaWQiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tLmNvbW1vZGl0eShjb21tb2RpdHlJZCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGVmYXVsdENvbW1vZGl0eSAmJiBkZWZhdWx0Q29tbW9kaXR5ICE9IDApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnLmNvbW1vZGl0eS1jbGlja1tkYXRhLWlkPScgKyBkZWZhdWx0Q29tbW9kaXR5ICsgJ10nKS50cmlnZ2VyKCJjbGljayIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Q29tbW9kaXR5ID0gbnVsbDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgaW5pdENhdGVnb3J5KCkgew0KICAgICAgICAgICAgICAgICAgICBsZXQgc2VsZiA9IHRoaXM7DQogICAgICAgICAgICAgICAgICAgICQoJy5uYXYtcGlsbHMnKS5hcHBlbmQoJzxsaT48YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQoMCk7IiAgZGF0YS1pZD0iMCIgY2xhc3M9ImNhdGVnb3J5LWNsaWNrIj7lhajpg6g8L2E+PC9saT4nKTsNCiAgICAgICAgICAgICAgICAgICAgYWNnLkFQSS5jYXRlZ29yeSh7DQogICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAocmVzKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnLm5hdi1waWxscycpLmFwcGVuZCgnPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiIGRhdGEtaWQ9IicgKyByZXMuaWQgKyAnIiAgY2xhc3M9ImNhdGVnb3J5LWNsaWNrIj48aW1nIGNsYXNzPSJjb21tb2RpdHktaWNvbiIgc3JjPSInICsgcmVzLmljb24gKyAnIj4gJyArIHJlcy5uYW1lICsgJzwvYT48L2xpPicpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGVtcHR5OiAoKSA9PiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnLm5hdi1waWxscycpLmh0bWwoJzxsaT7msqHmnInliIbnsbs8L2xpPicpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHllczogKCkgPT4gew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJy5jYXRlZ29yeS1jbGljaycpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnLmNhdGVnb3J5LWNsaWNrJykucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJyb3V0ZXItbGluay1leGFjdC1hY3RpdmUiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygiYWN0aXZlIikuYWRkQ2xhc3MoInJvdXRlci1saW5rLWV4YWN0LWFjdGl2ZSIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaWQgPSAkKHRoaXMpLmF0dHIoImRhdGEtaWQiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tLmNvbW1vZGl0eXMoaWQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkZWZhdWx0Q2F0ZWdvcnkgJiYgZGVmYXVsdENhdGVnb3J5ICE9IDApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnLmNhdGVnb3J5LWNsaWNrW2RhdGEtaWQ9JyArIGRlZmF1bHRDYXRlZ29yeSArICddJykudHJpZ2dlcigiY2xpY2siKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdENhdGVnb3J5ID0gbnVsbDsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb20uY29tbW9kaXR5cygwKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb21tb2RpdHkoY29tbW9kaXR5SWQpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNnLkFQSS5jb21tb2RpdHkoew0KICAgICAgICAgICAgICAgICAgICAgICAgY29tbW9kaXR5SWQ6IGNvbW1vZGl0eUlkLA0KICAgICAgICAgICAgICAgICAgICAgICAgcGF5OiAiLnBheS1jb250ZW50IiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG86IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWNlOiAnLnJhY2UtdmlldycsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJy5jb21tb2RpdHlfbmFtZScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVfdXJsOiAnLnNoYXJlX3VybCcsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICcuZGVzY3JpcHRpb24nLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGl2ZXJ5X3dheTogJy5kZWxpdmVyeV93YXknLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhY3RfdHlwZTogJy5jb250YWN0JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3Vwb246ICcuY291cG9uJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXJjaGFzZV9udW06ICcucHVyY2hhc2VfbnVtJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXB0Y2hhOiAnLmNhcHRjaGEnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3N3b3JkX3N0YXR1czogJy5wYXNzd29yZCcsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbG90X3N0YXR1czogJy5sb3QnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY2tpbGxfc3RhdHVzOiAnLnNlY2tpbGwnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhcmQ6ICcuY2FyZF9jb3VudCcsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVyY2hhc2VfY291bnQ6ICcucHVyY2hhc2VfY291bnQnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaWNlOiAnLnByaWNlJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFkZV9hbW91bnQ6ICcudHJhZGVfYW1vdW50JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmFmdF9zdGF0dXM6ICcuZHJhZnRfc3RhdHVzJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWRnZXQ6ICcud2lkZ2V0X2cnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNrdTogJy5za3UtdmlldycNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBiZWdpbjogKCkgPT4gew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9faHRtbEluaXQoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiByZXMgPT4gew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJy5xcS1zZXJ2aWNlJykuYXR0cigiaHJlZiIsICdodHRwczovL3dwYS5xcS5jb20vbXNncmQ/dj0xJnVpbj0nICsgcmVzLnNlcnZpY2VfcXEpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJy53ZWItc2VydmljZScpLmF0dHIoImhyZWYiLCByZXMuc2VydmljZV91cmwpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbGF5ZXINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllci5vcGVuKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogMSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhZGU6IFswLjMsICIjZmZmIl0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBhY2cuVXRpbC5pc1BjKCkgPyBmYWxzZSA6IHJlcy5uYW1lLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAkKCcub3Blbi1jb21tb2RpdHknKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJlYTogYWNnLlV0aWwuaXNQYygpID8gIjcyMHB4IiA6IFsiMTAwJSIsICIxMDAlIl0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3M6ICgpID0+IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbS5wYWdlVmlldygpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tLnBhZ2VWaWV3KCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAyMDApOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZG9tLmluaXRDYXRlZ29yeSgpOw0KDQogICAgICAgICAgICAvL+WIneWni+WMluaUr+S7mA0KICAgICAgICAgICAgYWNnLkFQSS5wYXkoew0KICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGl0ZW0gPT4gew0KICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbS5oYW5kbGUgPT09ICIjc3lzdGVtIikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnBheV9saXN0JykuYXBwZW5kKCcgPGEgY2xhc3M9InBheS1idXR0b24iIG9uY2xpY2s9ImFjZy5BUEkudHJhZGVQZXJmb3JtKCcgKyBpdGVtLmlkICsgJykiIHN0eWxlPSJsaW5lLWhlaWdodDogMjJweDsiPjxpbWcgc3JjPSInICsgaXRlbS5pY29uICsgJyI+ICcgKyBpdGVtLm5hbWUgKyAnPC9hPicpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCg0KICAgICAgICAgICAgLy/orqLljZXmn6Xor6INCiAgICAgICAgICAgICQoJy5xdWVyeS12aWV3JykuY2xpY2soZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGxheWVyLm9wZW4oew0KICAgICAgICAgICAgICAgICAgICB0eXBlOiAxLA0KICAgICAgICAgICAgICAgICAgICBzaGFkZTogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgIHRpdGxlOiBhY2cuVXRpbC5pc1BjKCkgPyBmYWxzZSA6ICLorqLljZXmn6Xor6IiLA0KICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAkKCcub3Blbi1xdWVyeScpLA0KICAgICAgICAgICAgICAgICAgICBhcmVhOiBhY2cuVXRpbC5pc1BjKCkgPyAiNTIwcHgiIDogWyIxMDAlIiwgIjEwMCUiXSwNCiAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogKCkgPT4gew0KICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICAgICBkb20ucGFnZVZpZXcoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbS5wYWdlVmlldygpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSk7DQoNCg0KICAgICAgICAgICAgbGV0IGluc3RhbmNlID0gJCgnLnNlYXJjaC12YWx1ZScpOw0KDQogICAgICAgICAgICBmdW5jdGlvbiBxdWVyeShrZXl3b3Jkcykgew0KICAgICAgICAgICAgICAgIGxldCBvcmRlclN1Y2Nlc3MgPSAkKCcub3JkZXItc3VjY2VzcycpOw0KICAgICAgICAgICAgICAgICQoJy5ub3Rmb3VuZCcpLmhpZGUoKTsNCiAgICAgICAgICAgICAgICBvcmRlclN1Y2Nlc3MuaGlkZSgpOw0KICAgICAgICAgICAgICAgIG9yZGVyU3VjY2Vzcy5odG1sKCcnKTsNCiAgICAgICAgICAgICAgICBhY2cuQVBJLnF1ZXJ5KHsNCiAgICAgICAgICAgICAgICAgICAga2V5d29yZHM6IGtleXdvcmRzLA0KICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiBvcmRlciA9PiB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAob3JkZXIuY29tbW9kaXR5ICYmIG9yZGVyLnBheSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzdGF0dXMgPSAnPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij7mnKrmlK/ku5g8L3NwYW4+JzsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3JkZXIuc3RhdHVzID09PSAxKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cyA9ICc8c3BhbiBzdHlsZT0iY29sb3I6IGdyZWVuOyI+5bey5pSv5LuYPC9zcGFuPic7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJhY2UgPSAiIjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3JkZXIucmFjZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWNlID0gIiAoIDxiIHN0eWxlPSdjb2xvcjogIzIwYjAzMzsnPiIgKyBvcmRlci5yYWNlICsgIjwvYj4gKSI7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGh0bWwgPSAnPGRpdiBjbGFzcz0iaHItdG9wIj5cbicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxNHB4OyI+6K6i5Y2V5Y+377yaPHNwYW4gY2xhc3M9InRyYWRlX25vIj4nICsgb3JkZXIudHJhZGVfbm8gKyAnPC9zcGFuPiBbPGEgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkO2NvbG9yOiByZWQ7IiBocmVmPSIvcGx1Z2luL09yZGVyRmVlZGJhY2svaW5kZXgvc3VibWl0P3RyYWRlTm89JytvcmRlci50cmFkZV9ubysnIiB0YXJnZXQ9Il9ibGFuayI+5oqV6K+J6K6i5Y2VPC9hPl08L2Rpdj5cbicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxNHB4OyI+5LiL5Y2V6YeR6aKd77yaPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7IiBjbGFzcz0iYW1vdW50Ij7vv6UnICsgb3JkZXIuYW1vdW50ICsgJzwvc3Bhbj48L2Rpdj5cbicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxNHB4OyI+6LSt5Lmw5pWw6YeP77yaPHNwYW4gc3R5bGU9ImNvbG9yOiAjM2Y4ZjdmOyIgY2xhc3M9ImJ1eU51bSI+JyArIG9yZGVyLmNhcmRfbnVtICsgJzwvc3Bhbj48L2Rpdj5cbicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxNHB4OyI+5LiL5Y2V5pe26Ze077yaPHNwYW4gY2xhc3M9ImNyZWF0ZV90aW1lIj4nICsgb3JkZXIuY3JlYXRlX3RpbWUgKyAnPC9zcGFuPjwvZGl2PlxuJyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDE0cHg7Ij7llYblk4HlkI3np7DvvJo8c3Bhbj4nICsgb3JkZXIuY29tbW9kaXR5Lm5hbWUgKyByYWNlICsgJzwvc3Bhbj48L2Rpdj5cbicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxNHB4OyI+5pSv5LuY5pa55byP77yaPHNwYW4gY2xhc3M9Imljb24iPjxpbWcgc3JjPSInICsgb3JkZXIucGF5Lmljb24gKyAnIiBzdHlsZT0iaGVpZ2h0OiAxNnB4OyIgIj4nICsgb3JkZXIucGF5Lm5hbWUgKyAnPC9zcGFuPjwvZGl2PlxuJyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDE0cHg7Ij7orqLljZXnirbmgIHvvJo8c3BhbiBjbGFzcz0ic3RhdHVzIj4nICsgc3RhdHVzICsgJzwvc3Bhbj48L2Rpdj5cbicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxNHB4OycgKyAob3JkZXIuc3RhdHVzID09IDEgPyAnJyA6ICdkaXNwbGF5OiBub25lOycpICsgJyIgY2xhc3M9InBheURhdGVWaWV3Ij7mlK/ku5jml7bpl7TvvJo8c3BhbiBjbGFzcz0icGF5X2RhdGUiXG4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSJjb2xvcjogZ3JlZW47Ij4nICsgb3JkZXIucGF5X3RpbWUgKyAnPC9zcGFuPlxuJyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxNHB4OycgKyAob3JkZXIubGVhdmVfbWVzc2FnZSA/ICIiIDogIiBkaXNwbGF5OiBub25lOyIpICsgJyI+5L2/55So6K+05piO77yaPHNwYW4+JyArIG9yZGVyLmxlYXZlX21lc3NhZ2UgKyAnPC9zcGFuPjwvZGl2PlxuJyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDE0cHg7bWFyZ2luOiA1cHggMCA1cHggMDsiPuWNoeWvhuS/oeaBr++8mjxpbnB1dCBzdHlsZT0iaGVpZ2h0OiAyMnB4O2JhY2tncm91bmQ6ICNiOWI5Yjk0ZDtib3JkZXItcmFkaXVzOiA1cHg7ICcgKyAob3JkZXIuY29tbW9kaXR5LnBhc3N3b3JkX3N0YXR1cyA9PSAxID8gJycgOiAnZGlzcGxheTpub25lOycpICsgJyIgIHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSLor7fovpPlhaXmn6Xor6Llr4bnoIEuLiIgY2xhc3M9InF1ZXJ5LXBhc3N3b3JkIHBhc3NJZC0nICsgb3JkZXIuaWQgKyAnIj4gPHNwYW4gY2xhc3M9ImdldENhcmQiIGRhdGEtaWQ9IicgKyBvcmRlci5pZCArICciPuafpeecizwvc3Bhbj48L2Rpdj5cbicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLXRvcDogMTBweDsgZGlzcGxheTogbm9uZTsiIGNsYXNzPSJjYXJkSW5mb1ZpZXctJyArIG9yZGVyLmlkICsgJyI+XG4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgY2xhc3M9ImNhcmQtdGV4dGFyZWEgY2FyZEluZm8tJyArIG9yZGVyLmlkICsgJyIgc3R5bGU9ImhlaWdodDogNDIwcHg7Ij48L3RleHRhcmVhPlxuJyArDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICAgICAgICAgICAgICAgICAgICA8L2Rpdj4nOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyU3VjY2Vzcy5hcHBlbmQoaHRtbCk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIHllczogcmVzID0+IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyU3VjY2Vzcy5zaG93KCk7DQogICAgICAgICAgICAgICAgICAgICAgICAkKCcuZ2V0Q2FyZCcpLmNsaWNrKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgb3JkZXJJZCA9ICQodGhpcykuYXR0cignZGF0YS1pZCcpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjZy5BUEkuc2VjcmV0KHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXJJZDogb3JkZXJJZCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQ6ICQoJy5wYXNzSWQtJyArIG9yZGVySWQpLnZhbCgpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiByZXMgPT4gew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNlY3JldCA9ICIiOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy53aWRnZXQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWNyZXQgKz0gIi0tLS0tLS0tLS0tLS0t5oKo6ZqQ56eB5YaF5a65LS0tLS0tLS0tLS0tLS0tXG4iOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgd2lkZ2V0S2V5IGluIHJlcy53aWRnZXQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjcmV0ICs9IHJlcy53aWRnZXRbd2lkZ2V0S2V5XS5jbiArICLvvJoiICsgcmVzLndpZGdldFt3aWRnZXRLZXldLnZhbHVlICsgIlxuIjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjcmV0ICs9ICItLS0tLS0tLS0tLS0tLeWNoeWvhuS/oeaBry0tLS0tLS0tLS0tLS0tLVxuIjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3JldCArPSByZXMuc2VjcmV0Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnLmNhcmRJbmZvLScgKyBvcmRlcklkKS5odG1sKHNlY3JldCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcuY2FyZEluZm9WaWV3LScgKyBvcmRlcklkKS5zaG93KDgwKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbS5wYWdlVmlldygpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMjAwKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgICAgICBkb20ucGFnZVZpZXcoKTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgZXJyb3I6ICgpID0+IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICQoJy5ub3Rmb3VuZCcpLnNob3coKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAkKCcuc2VhcmNoLXF1ZXJ5JykuY2xpY2soZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHF1ZXJ5KGluc3RhbmNlLnZhbCgpKTsNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgIH0gY2F0Y2ggKGUpIHsNCg0KICAgIH0NCjwvc2NyaXB0Pg0KDQoNCjwhLS1zdGFydDo6SE9PSy0tPg0KPHNjcmlwdD4KICAgIGZ1bmN0aW9uIGdldENvb2tpZShuYW1lKSB7CiAgICAgICAgbGV0IHN0ckNvb2tpZSA9IGRvY3VtZW50LmNvb2tpZTsKICAgICAgICBsZXQgYXJyQ29va2llID0gc3RyQ29va2llLnNwbGl0KCI7ICIpOwogICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyQ29va2llLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgIGxldCBhcnIgPSBhcnJDb29raWVbaV0uc3BsaXQoIj0iKTsKICAgICAgICAgICAgaWYgKG5hbWUgPT0gYXJyWzBdKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gYXJyWzFdOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiAiIjsKICAgIH0KICAgICAgICBpZiAobG9jYWxTdG9yYWdlLmhhc093blByb3BlcnR5KCJSZW1lbWJlciIpKSB7CiAgICAgICAgZG9jdW1lbnQuY29va2llID0gIkFDRy1TSE9QPSIgKyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiUmVtZW1iZXIiKTsKICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgiUmVtZW1iZXIiKTsKICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7CiAgICB9CiAgICA8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgd2lkdGg9IjEwMCUiIGhlaWdodDogMTAwJTsgcG9pbnRjb2xvcj0iMjEsNzYsMTY0IiBjb2xvcj0iMjEsNzYsMTY0IiBvcGFjaXR5PSIxIiB6aW5kZXg9IjIiIGNvdW50PSI1MCIgc3JjPSIvYXBwL1BsdWdpbi9OZXN0L1ZpZXcvSnMvY2FudmFzLW5lc3QuanM/dj0xLjAuMDEiPjwvc2NyaXB0PjwhLS1lbmQ6OkhPT0stLT4NCjwvYm9keT4NCjwhLS1zdGFydDo6SE9PSy0tPg0KPCEtLWVuZDo6SE9PSy0tPg0KPC9odG1sPmY5YTk3YjVkNmFiMWYzNTMxY2UxOWNlNTllZGQ0NTU2,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)(/f9a97b5d6ab1f3531ce19ce59edd4556/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
]