#!/bin/bash HOSTNAME=`hostname -f` sudo yum install -y mod_ssl sudo mv /etc/httpd/conf.d/ssl.conf /home/hadoop/ssl.conf_original sudo mv /etc/httpd/conf/httpd.conf /home/hadoop/httpd.conf_original sudo unzip -o /usr/share/aws/emr/security/workingdir/tls-artifacts.zip -d /etc/ssl/certs/ #Dynamicportfordwarding ssl.conf sudo echo IwojIFdoZW4gd2UgYWxzbyBwcm92aWRlIFNTTCB3ZSBoYXZlIHRvIGxpc3RlbiB0byB0aGUKIyB0aGUgSFRUUFMgcG9ydCBpbiBhZGRpdGlvbi4KIwpMaXN0ZW4gMTk0NDMgaHR0cHMKI0xpc3RlbiA0NDMgaHR0cHMKIyMKIyMgIFNTTCBHbG9iYWwgQ29udGV4dAojIwojIyAgQWxsIFNTTCBjb25maWd1cmF0aW9uIGluIHRoaXMgY29udGV4dCBhcHBsaWVzIGJvdGggdG8KIyMgIHRoZSBtYWluIHNlcnZlciBhbmQgYWxsIFNTTC1lbmFibGVkIHZpcnR1YWwgaG9zdHMuCiMjCiMgICBQYXNzIFBocmFzZSBEaWFsb2c6CiMgICBDb25maWd1cmUgdGhlIHBhc3MgcGhyYXNlIGdhdGhlcmluZyBwcm9jZXNzLgojICAgVGhlIGZpbHRlcmluZyBkaWFsb2cgcHJvZ3JhbSAoYGJ1aWx0aW4nIGlzIGEgaW50ZXJuYWwKIyAgIHRlcm1pbmFsIGRpYWxvZykgaGFzIHRvIHByb3ZpZGUgdGhlIHBhc3MgcGhyYXNlIG9uIHN0ZG91dC4KU1NMUGFzc1BocmFzZURpYWxvZyBleGVjOi91c3IvbGliZXhlYy9odHRwZC1zc2wtcGFzcy1kaWFsb2cKIyAgIEludGVyLVByb2Nlc3MgU2Vzc2lvbiBDYWNoZToKIyAgIENvbmZpZ3VyZSB0aGUgU1NMIFNlc3Npb24gQ2FjaGU6IEZpcnN0IHRoZSBtZWNoYW5pc20KIyAgIHRvIHVzZSBhbmQgc2Vjb25kIHRoZSBleHBpcmluZyB0aW1lb3V0IChpbiBzZWNvbmRzKS4KU1NMU2Vzc2lvbkNhY2hlICAgICAgICAgc2htY2I6L3J1bi9odHRwZC9zc2xjYWNoZSg1MTIwMDApClNTTFNlc3Npb25DYWNoZVRpbWVvdXQgIDMwMAojICAgUHNldWRvIFJhbmRvbSBOdW1iZXIgR2VuZXJhdG9yIChQUk5HKToKIyAgIENvbmZpZ3VyZSBvbmUgb3IgbW9yZSBzb3VyY2VzIHRvIHNlZWQgdGhlIFBSTkcgb2YgdGhlCiMgICBTU0wgbGlicmFyeS4gVGhlIHNlZWQgZGF0YSBzaG91bGQgYmUgb2YgZ29vZCByYW5kb20gcXVhbGl0eS4KIyAgIFdBUk5JTkchIE9uIHNvbWUgcGxhdGZvcm1zIC9kZXYvcmFuZG9tIGJsb2NrcyBpZiBub3QgZW5vdWdoIGVudHJvcHkKIyAgIGlzIGF2YWlsYWJsZS4gVGhpcyBtZWFucyB5b3UgdGhlbiBjYW5ub3QgdXNlIHRoZSAvZGV2L3JhbmRvbSBkZXZpY2UKIyAgIGJlY2F1c2UgaXQgd291bGQgbGVhZCB0byB2ZXJ5IGxvbmcgY29ubmVjdGlvbiB0aW1lcyAoYXMgbG9uZyBhcwojICAgaXQgcmVxdWlyZXMgdG8gbWFrZSBtb3JlIGVudHJvcHkgYXZhaWxhYmxlKS4gQnV0IHVzdWFsbHkgdGhvc2UKIyAgIHBsYXRmb3JtcyBhZGRpdGlvbmFsbHkgcHJvdmlkZSBhIC9kZXYvdXJhbmRvbSBkZXZpY2Ugd2hpY2ggZG9lc24ndAojICAgYmxvY2suIFNvLCBpZiBhdmFpbGFibGUsIHVzZSB0aGlzIG9uZSBpbnN0ZWFkLiBSZWFkIHRoZSBtb2Rfc3NsIFVzZXIKIyAgIE1hbnVhbCBmb3IgbW9yZSBkZXRhaWxzLgpTU0xSYW5kb21TZWVkIHN0YXJ0dXAgZmlsZTovZGV2L3VyYW5kb20gIDI1NgpTU0xSYW5kb21TZWVkIGNvbm5lY3QgYnVpbHRpbgojU1NMUmFuZG9tU2VlZCBzdGFydHVwIGZpbGU6L2Rldi9yYW5kb20gIDUxMgojU1NMUmFuZG9tU2VlZCBjb25uZWN0IGZpbGU6L2Rldi9yYW5kb20gIDUxMgojU1NMUmFuZG9tU2VlZCBjb25uZWN0IGZpbGU6L2Rldi91cmFuZG9tIDUxMgojCiMgVXNlICJTU0xDcnlwdG9EZXZpY2UiIHRvIGVuYWJsZSBhbnkgc3VwcG9ydGVkIGhhcmR3YXJlCiMgYWNjZWxlcmF0b3JzLiBVc2UgIm9wZW5zc2wgZW5naW5lIC12IiB0byBsaXN0IHN1cHBvcnRlZAojIGVuZ2luZSBuYW1lcy4gIE5PVEU6IElmIHlvdSBlbmFibGUgYW4gYWNjZWxlcmF0b3IgYW5kIHRoZQojIHNlcnZlciBkb2VzIG5vdCBzdGFydCwgY29uc3VsdCB0aGUgZXJyb3IgbG9ncyBhbmQgZW5zdXJlCiMgeW91ciBhY2NlbGVyYXRvciBpcyBmdW5jdGlvbmluZyBwcm9wZXJseS4KIwpTU0xDcnlwdG9EZXZpY2UgYnVpbHRpbgojU1NMQ3J5cHRvRGV2aWNlIHVic2VjCiMjCiMjIFNTTCBWaXJ0dWFsIEhvc3QgQ29udGV4dAojIwo8VmlydHVhbEhvc3QgKjoxOTQ0Mz4KU2VydmVyTmFtZSBzZXJ2ZXJob3N0bmFtZQpTU0xFbmdpbmUgb24KU1NMQ2VydGlmaWNhdGVDaGFpbkZpbGUgL2V0Yy9zc2wvY2VydHMvdHJ1c3RlZENlcnRpZmljYXRlcy5wZW0KU1NMQ2VydGlmaWNhdGVLZXlGaWxlIC9ldGMvc3NsL2NlcnRzL3ByaXZhdGVLZXkucGVtClNTTENlcnRpZmljYXRlRmlsZSAvZXRjL3NzbC9jZXJ0cy9jZXJ0aWZpY2F0ZUNoYWluLnBlbQpSZXdyaXRlRW5naW5lIG9uClJld3JpdGVSdWxlIF4vc2hzJCAvc2hzLyBbUl0KUmV3cml0ZVJ1bGUgXi95dHMkIC95dHMvIFtSXQpSZXdyaXRlUnVsZSBeL2FwcGxpY2F0aW9uaGlzdG9yeSQgL2FwcGxpY2F0aW9uaGlzdG9yeS8gW1JdClJld3JpdGVSdWxlIF4vamgkIC9qaC8gW1JdClJld3JpdGVSdWxlIF4vcm0kIC9ybS8gW1JdClJld3JpdGVSdWxlIF4vY2x1c3RlciQgL2NsdXN0ZXIvIFtSXQpQcm94eVBhc3NSZXZlcnNlIGh0dHBzOi8vc2VydmVyaG9zdG5hbWU6MTk0NDMvIGh0dHA6Ly9sb2NhbGhvc3Q6MTg4OTkvClByb3h5UGFzc1JldmVyc2UgaHR0cHM6Ly9zZXJ2ZXJob3N0bmFtZToxOTQ0My8gaHR0cHM6Ly9sb2NhbGhvc3Q6MTg4OTkvCjxMb2NhdGlvbiAiL3Byb3h5Ij4KICBQcm94eVBhc3MgImh0dHA6Ly9sb2NhbGhvc3Q6MTg4OTkvcHJveHkiIGNvbm5lY3Rpb250aW1lb3V0PTI1IHRpbWVvdXQ9MzAKICBBZGRPdXRwdXRGaWx0ZXJCeVR5cGUgU1VCU1RJVFVURSB0ZXh0L3RleHQgdGV4dC9odG1sIHRleHQvcGxhaW4gdGV4dC94bWwgdGV4dC9jc3MgYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IGFwcGxpY2F0aW9uL2phdmFzY3JpcHQgYXBwbGljYXRpb24vanNvbgogIFN1YnN0aXR1dGUgInN8aHR0cDovL0hPU1ROQU1FLkRPTUFJTk5BTUUuRlFETjo4MDgwL3Rlei11aS98L3Rlei90ZXotdWkvfG5xIgogIFN1YnN0aXR1dGUgInN8aHR0cDpcL1wvKGlwLS4qPzo4MDQyKXwvbm0vJDF8Igo8L0xvY2F0aW9uPgo8TG9jYXRpb24gIi9qaC8iPgogIFByb3h5UGFzcyAiaHR0cDovL2xvY2FsaG9zdDoxODg5OS9qaC8iIGNvbm5lY3Rpb250aW1lb3V0PTI1IHRpbWVvdXQ9MzAKICBBZGRPdXRwdXRGaWx0ZXJCeVR5cGUgU1VCU1RJVFVURSB0ZXh0L3RleHQgdGV4dC9odG1sIHRleHQvcGxhaW4gdGV4dC94bWwgdGV4dC9jc3MgYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IGFwcGxpY2F0aW9uL2phdmFzY3JpcHQgYXBwbGljYXRpb24vanNvbgogIFN1YnN0aXR1dGUgInN8W2hIXVtyUl1bZUVdW2ZGXT0nXC8oKD8hc3RhdGljKS4qPyknfGhyZWY9Jy9qaC8kMSd8IgogIFN1YnN0aXR1dGUgJ3N8W2hIXVtyUl1bZUVdW2ZGXT0iXC8oKD8hc3RhdGljKS4qPykifGhyZWY9Ii9qaC8kMSJ8Jwo8L0xvY2F0aW9uPgo8TG9jYXRpb25NYXRjaCAiXihcL25tXC8oPzxub2RlaXA+Lio6ODA0MilcLyg/PHVybD4uKikkKSI+CiAgUHJveHlQYXNzICJodHRwOi8vbG9jYWxob3N0OjE4ODk5LyIgY29ubmVjdGlvbnRpbWVvdXQ9MjUgdGltZW91dD0zMAo8L0xvY2F0aW9uTWF0Y2g+CjxMb2NhdGlvbiAiL3Nocy8iPgogIFByb3h5UGFzcyAiaHR0cDovL2xvY2FsaG9zdDoxODg5OS9zaHMvIiBjb25uZWN0aW9udGltZW91dD0yNSB0aW1lb3V0PTMwCiAgQWRkT3V0cHV0RmlsdGVyQnlUeXBlIFNVQlNUSVRVVEUgdGV4dC90ZXh0IHRleHQvaHRtbCB0ZXh0L3BsYWluIHRleHQveG1sIHRleHQvY3NzIGFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0IGFwcGxpY2F0aW9uL2pzb24KICBTdWJzdGl0dXRlICdzfGhyZWY9Ii98aHJlZj0iL3Nocy98bnEnCiAgU3Vic3RpdHV0ZSAnc3xzcmM9Ii98c3JjPSIvc2hzL3xucScKICBTdWJzdGl0dXRlICdzfHVpUm9vdD0iInx1aVJvb3Q9Ii9zaHMifG5xJwogIFN1YnN0aXR1dGUgInN8c2V0VUlSb290KCcnKXxzZXRVSVJvb3QoJy9zaHMnKXxucSIKICBTdWJzdGl0dXRlICJzfGh0dHA6XC9cLyhpcC0uKj86ODA0Mil8L25tLyQxfCIKPC9Mb2NhdGlvbj4KPExvY2F0aW9uICIvc3RhdGljLyI+CiAgUHJveHlQYXNzICJodHRwOi8vbG9jYWxob3N0OjE4ODk5L3N0YXRpYy8iIGNvbm5lY3Rpb250aW1lb3V0PTI1IHRpbWVvdXQ9MzAKPC9Mb2NhdGlvbj4KPExvY2F0aW9uICIvYXBwbGljYXRpb25oaXN0b3J5LyI+CiAgUHJveHlQYXNzICJodHRwOi8vbG9jYWxob3N0OjE4ODk5L2FwcGxpY2F0aW9uaGlzdG9yeS8iIGNvbm5lY3Rpb250aW1lb3V0PTI1IHRpbWVvdXQ9MzAKICBBZGRPdXRwdXRGaWx0ZXJCeVR5cGUgU1VCU1RJVFVURSB0ZXh0L3RleHQgdGV4dC9odG1sIHRleHQvcGxhaW4gdGV4dC94bWwgdGV4dC9jc3MgYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IGFwcGxpY2F0aW9uL2phdmFzY3JpcHQgYXBwbGljYXRpb24vanNvbgogIFN1YnN0aXR1dGUgInN8W2hIXVtyUl1bZUVdW2ZGXT0nXC8oKD8hc3RhdGljKS4qPyknfGhyZWY9Jy95dHMvJDEnfCIKICBTdWJzdGl0dXRlICdzfFtoSF1bclJdW2VFXVtmRl09IlwvKCg/IXN0YXRpYykuKj8pInxocmVmPSIveXRzLyQxInwnCiAgU3Vic3RpdHV0ZSAic3xbaEhdW3JSXVtlRV1bZkZdPSdodHRwKHMpPzpcL1wvKC4qPzo4MDQyKSd8aHJlZj0nL25tLyQyLyd8IgogIFN1YnN0aXR1dGUgJ3N8W2hIXVtyUl1bZUVdW2ZGXT0iaHR0cChzKT86XC9cLyguKj86ODA0MikifGhyZWY9Ii9ubS8kMi8ifCcKICBTdWJzdGl0dXRlICJzfGh0dHA6Ly9IT1NUTkFNRS5ET01BSU5OQU1FLkZRRE46ODE4OC98L3l0cy98bnEiCiAgU3Vic3RpdHV0ZSAic3xodHRwOi8vSE9TVE5BTUUuRE9NQUlOTkFNRS5GUUROOjgwODgvfC9ybS98bnEiCiAgU3Vic3RpdHV0ZSAic3xodHRwOi8vSE9TVE5BTUUuRE9NQUlOTkFNRS5GUUROOjIwODg4L3Byb3h5L3wvcHJveHkvfG5xIgo8L0xvY2F0aW9uPgo8TG9jYXRpb24gIi95dHMvIj4KICBQcm94eVBhc3MgImh0dHA6Ly9sb2NhbGhvc3Q6MTg4OTkveXRzLyIgY29ubmVjdGlvbnRpbWVvdXQ9MjUgdGltZW91dD0zMAogIEFkZE91dHB1dEZpbHRlckJ5VHlwZSBTVUJTVElUVVRFIHRleHQvdGV4dCB0ZXh0L2h0bWwgdGV4dC9wbGFpbiB0ZXh0L3htbCB0ZXh0L2NzcyBhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQgYXBwbGljYXRpb24vamF2YXNjcmlwdCBhcHBsaWNhdGlvbi9qc29uCiAgU3Vic3RpdHV0ZSAic3xbaEhdW3JSXVtlRV1bZkZdPSdcLygoPyFzdGF0aWMpLio/KSd8aHJlZj0nL3l0cy8kMSd8IgogIFN1YnN0aXR1dGUgJ3N8W2hIXVtyUl1bZUVdW2ZGXT0iXC8oKD8hc3RhdGljKS4qPykifGhyZWY9Ii95dHMvJDEifCcKICBTdWJzdGl0dXRlICJzfFtoSF1bclJdW2VFXVtmRl09J2h0dHAocyk/OlwvXC8oLio/OjgwNDIpJ3xocmVmPScvbm0vJDIvJ3wiCiAgU3Vic3RpdHV0ZSAnc3xbaEhdW3JSXVtlRV1bZkZdPSJodHRwKHMpPzpcL1wvKC4qPzo4MDQyKSJ8aHJlZj0iL25tLyQyLyJ8JwogIFN1YnN0aXR1dGUgInN8aHR0cDovL0hPU1ROQU1FLkRPTUFJTk5BTUUuRlFETjo4MTg4L3wveXRzL3xucSIKICBTdWJzdGl0dXRlICJzfGh0dHA6Ly9IT1NUTkFNRS5ET01BSU5OQU1FLkZRRE46ODA4OC98L3JtL3xucSIKICBTdWJzdGl0dXRlICJzfGh0dHA6Ly9IT1NUTkFNRS5ET01BSU5OQU1FLkZRRE46MjA4ODgvcHJveHkvfC9wcm94eS98bnEiCjwvTG9jYXRpb24+CjxMb2NhdGlvbiAiL3JtLyI+CiAgUHJveHlQYXNzICJodHRwOi8vbG9jYWxob3N0OjE4ODk5L3JtLyIgY29ubmVjdGlvbnRpbWVvdXQ9MjUgdGltZW91dD0zMAogIEFkZE91dHB1dEZpbHRlckJ5VHlwZSBTVUJTVElUVVRFIHRleHQvdGV4dCB0ZXh0L2h0bWwgdGV4dC9wbGFpbiB0ZXh0L3htbCB0ZXh0L2NzcyBhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQgYXBwbGljYXRpb24vamF2YXNjcmlwdCBhcHBsaWNhdGlvbi9qc29uCiAgU3Vic3RpdHV0ZSAic3xbaEhdW3JSXVtlRV1bZkZdPSdcL1wvKGlwLS4qPzo4MDQyKSd8aHJlZj0nL25tLyQxLyd8IgogIFN1YnN0aXR1dGUgJ3N8W2hIXVtyUl1bZUVdW2ZGXT0iXC9cLyhpcC0uKj86ODA0MikifGhyZWY9Ii9ubS8kMS8ifCcKICBTdWJzdGl0dXRlICdzJVtoSF1bclJdW2VFXVtmRl09IlwvKCg/IXN0YXRpY3xubXxybSkuKj8pIiVocmVmPSIvcm0vJDEiJScKICBTdWJzdGl0dXRlICJzfFtoSF1bclJdW2VFXVtmRl09J2h0dHAocyk/OlwvXC8oLio/OjgwNDIpJ3xocmVmPScvbm0vJDIvJ3wiCiAgU3Vic3RpdHV0ZSAnc3xbaEhdW3JSXVtlRV1bZkZdPSJodHRwKHMpPzpcL1wvKC4qPzo4MDQyKSJ8aHJlZj0iL25tLyQyLyJ8JwogIFN1YnN0aXR1dGUgInN8W2hIXVtyUl1bZUVdW2ZGXT0naHR0cChzKT86XC9cLyguKjo4MDQyKVwvKC4qPyknfGhyZWY9Jy9ubS8kMi8kMyd8IgogIFN1YnN0aXR1dGUgJ3N8W2hIXVtyUl1bZUVdW2ZGXT0iaHR0cChzKT86XC9cLyguKjo4MDQyKVwvKC4qPykifGhyZWY9Ii9ubS8kMi8kMyJ8JwogIFN1YnN0aXR1dGUgInN8aHR0cDovL0hPU1ROQU1FLkRPTUFJTk5BTUUuRlFETjo4MDg4L3wvcm0vfG5xIgogIFN1YnN0aXR1dGUgInN8aHR0cDovL0hPU1ROQU1FLkRPTUFJTk5BTUUuRlFETjoyMDg4OC9wcm94eS98L3Byb3h5L3xucSIKPC9Mb2NhdGlvbj4KPExvY2F0aW9uICIvY2x1c3Rlci8iPgogIFByb3h5UGFzcyAiaHR0cDovL2xvY2FsaG9zdDoxODg5OS9jbHVzdGVyLyIgY29ubmVjdGlvbnRpbWVvdXQ9MjUgdGltZW91dD0zMAo8L0xvY2F0aW9uPgo8TG9jYXRpb24gIi90ZXovIj4KICBQcm94eVBhc3MgImh0dHA6Ly9sb2NhbGhvc3Q6MTg4OTkvdGV6LyIgY29ubmVjdGlvbnRpbWVvdXQ9MjUgdGltZW91dD0zMAo8L0xvY2F0aW9uPgoKPExvY2F0aW9uICIvcHJlc3RvLyI+CiAgUHJveHlQYXNzICJodHRwOi8vbG9jYWxob3N0OjE4ODk5L3ByZXN0by8iIGNvbm5lY3Rpb250aW1lb3V0PTI1IHRpbWVvdXQ9MzAKICBSZXF1ZXN0SGVhZGVyIHVuc2V0IEFjY2VwdC1FbmNvZGluZwogIEFkZE91dHB1dEZpbHRlckJ5VHlwZSBTVUJTVElUVVRFIHRleHQvdGV4dCB0ZXh0L2h0bWwgdGV4dC9wbGFpbiB0ZXh0L3htbCB0ZXh0L2NzcyBhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQgYXBwbGljYXRpb24vamF2YXNjcmlwdCBhcHBsaWNhdGlvbi9qc29uCiAgU3Vic3RpdHV0ZSAnc3wiL3YxL3wiL3ByZXN0by92MS98bnEnCiAgU3Vic3RpdHV0ZSAic3wnL3YxL3wnL3ByZXN0by92MS98bnEiCiAgU3Vic3RpdHV0ZSAnc3xocmVmOiBcIi91aS98aHJlZjogXCIvcHJlc3RvL3VpL3xucScKICBTdWJzdGl0dXRlICdzfFxRX3JlYWN0Mi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXG5cRVxzKlxRXCJhXCIsXG5cRVxzKntccypocmVmOlxzKnRhc2tcLnRhc2tTdGF0dXNcLnNlbGZccypcK1xzKlxRXCI/cHJldHR5XCJcRVxzKn0sXFFcblxFXHMqXCgwLFxzKlxRX3V0aWxzLmdldFRhc2tJZFN1ZmZpeCkodGFzay50YXNrSWQpXG5cRVxzKlwpfCgwLCBfdXRpbHMuZ2V0VGFza0lkU3VmZml4KSh0YXNrLnRhc2tJZCl8Jwo8L0xvY2F0aW9uPgoKPExvY2F0aW9uICIvaGl2ZXVpLyI+CiAgUHJveHlQYXNzICJodHRwOi8vbG9jYWxob3N0OjE4ODk5L2hpdmV1aS8iIGNvbm5lY3Rpb250aW1lb3V0PTI1IHRpbWVvdXQ9MzAKICBTZXRPdXRwdXRGaWx0ZXIgU1VCU1RJVFVURTtERUZMQVRFCiAgU3Vic3RpdHV0ZSAnc3xocmVmPSIvfGhyZWY9Ii9oaXZldWkvfG5xJwogIFN1YnN0aXR1dGUgJ3N8c3JjPSIvfHNyYz0iL2hpdmV1aS98bnEnCiAgU3Vic3RpdHV0ZSAnc3xocmVmPSAvfGhyZWY9IC9oaXZldWkvfG5xJwo8L0xvY2F0aW9uPgoKPC9WaXJ0dWFsSG9zdD4= |base64 -d > /home/hadoop/ssl.conf #Dynamicportfordwarding nginx.conf sudo echo I3VzZXIgIG5vYm9keTsKd29ya2VyX3Byb2Nlc3NlcyAgMTsKCiNlcnJvcl9sb2cgIGxvZ3MvZXJyb3IubG9nOwojZXJyb3JfbG9nICBsb2dzL2Vycm9yLmxvZyAgbm90aWNlOwojZXJyb3JfbG9nICBsb2dzL2Vycm9yLmxvZyAgaW5mbzsKCiNwaWQgICAgICAgIGxvZ3MvbmdpbngucGlkOwoKCmV2ZW50cyB7CiAgICB3b3JrZXJfY29ubmVjdGlvbnMgIDEwMjQ7Cn0KCgpodHRwIHsKICAgIGluY2x1ZGUgICAgICAgbWltZS50eXBlczsKICAgIGRlZmF1bHRfdHlwZSAgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtOwoKICAgICNsb2dfZm9ybWF0ICBtYWluICAnJHJlbW90ZV9hZGRyIC0gJHJlbW90ZV91c2VyIFskdGltZV9sb2NhbF0gIiRyZXF1ZXN0IiAnCiAgICAjICAgICAgICAgICAgICAgICAgJyRzdGF0dXMgJGJvZHlfYnl0ZXNfc2VudCAiJGh0dHBfcmVmZXJlciIgJwogICAgIyAgICAgICAgICAgICAgICAgICciJGh0dHBfdXNlcl9hZ2VudCIgIiRodHRwX3hfZm9yd2FyZGVkX2ZvciInOwoKICAgICNhY2Nlc3NfbG9nICBsb2dzL2FjY2Vzcy5sb2cgIG1haW47CgogICAgc2VuZGZpbGUgICAgICAgIG9uOwogICAgI3RjcF9ub3B1c2ggICAgIG9uOwoKICAgICNrZWVwYWxpdmVfdGltZW91dCAgMDsKICAgIGtlZXBhbGl2ZV90aW1lb3V0ICA2NTsKCiAgICAjZ3ppcCAgb247CgogICAgI3NlcnZlciB7CiAgICAgICAgI2xpc3RlbiAgICAgICA4MDsKICAgICAgICAjc2VydmVyX25hbWUgIGxvY2FsaG9zdDsKCiAgICAgICAgI2NoYXJzZXQga29pOC1yOwoKICAgICAgICAjYWNjZXNzX2xvZyAgbG9ncy9ob3N0LmFjY2Vzcy5sb2cgIG1haW47CgogICAgICAgICNsb2NhdGlvbiAvIHsKICAgICAgICAgICAgI3Jvb3QgICBodG1sOwogICAgICAgICAgICAjaW5kZXggIGluZGV4Lmh0bWwgaW5kZXguaHRtOwogICAgICAgICN9CgogICAgICAgICNlcnJvcl9wYWdlICA0MDQgICAgICAgICAgICAgIC80MDQuaHRtbDsKCiAgICAgICAgIyByZWRpcmVjdCBzZXJ2ZXIgZXJyb3IgcGFnZXMgdG8gdGhlIHN0YXRpYyBwYWdlIC81MHguaHRtbAogICAgICAgICMKICAgICAgICAjZXJyb3JfcGFnZSAgIDUwMCA1MDIgNTAzIDUwNCAgLzUweC5odG1sOwogICAgICAgICNsb2NhdGlvbiA9IC81MHguaHRtbCB7CiAgICAgICAgICAgICNyb290ICAgaHRtbDsKICAgICAgICAjfQoKICAgICAgICAjIHByb3h5IHRoZSBQSFAgc2NyaXB0cyB0byBBcGFjaGUgbGlzdGVuaW5nIG9uIDEyNy4wLjAuMTo4MAogICAgICAgICMKICAgICAgICAjbG9jYXRpb24gfiBcLnBocCQgewogICAgICAgICMgICAgcHJveHlfcGFzcyAgIGh0dHA6Ly8xMjcuMC4wLjE7CiAgICAgICAgI30KCiAgICAgICAgIyBwYXNzIHRoZSBQSFAgc2NyaXB0cyB0byBGYXN0Q0dJIHNlcnZlciBsaXN0ZW5pbmcgb24gMTI3LjAuMC4xOjkwMDAKICAgICAgICAjCiAgICAgICAgI2xvY2F0aW9uIH4gXC5waHAkIHsKICAgICAgICAjICAgIHJvb3QgICAgICAgICAgIGh0bWw7CiAgICAgICAgIyAgICBmYXN0Y2dpX3Bhc3MgICAxMjcuMC4wLjE6OTAwMDsKICAgICAgICAjICAgIGZhc3RjZ2lfaW5kZXggIGluZGV4LnBocDsKICAgICAgICAjICAgIGZhc3RjZ2lfcGFyYW0gIFNDUklQVF9GSUxFTkFNRSAgL3NjcmlwdHMkZmFzdGNnaV9zY3JpcHRfbmFtZTsKICAgICAgICAjICAgIGluY2x1ZGUgICAgICAgIGZhc3RjZ2lfcGFyYW1zOwogICAgICAgICN9CgogICAgICAgICMgZGVueSBhY2Nlc3MgdG8gLmh0YWNjZXNzIGZpbGVzLCBpZiBBcGFjaGUncyBkb2N1bWVudCByb290CiAgICAgICAgIyBjb25jdXJzIHdpdGggbmdpbngncyBvbmUKICAgICAgICAjCiAgICAgICAgI2xvY2F0aW9uIH4gL1wuaHQgewogICAgICAgICMgICAgZGVueSAgYWxsOwogICAgICAgICN9CiAgICAjfQoKCiAgICAjIGFub3RoZXIgdmlydHVhbCBob3N0IHVzaW5nIG1peCBvZiBJUC0sIG5hbWUtLCBhbmQgcG9ydC1iYXNlZCBjb25maWd1cmF0aW9uCiAgICAjCiAgICAjc2VydmVyIHsKICAgICMgICAgbGlzdGVuICAgICAgIDgwMDA7CiAgICAjICAgIGxpc3RlbiAgICAgICBzb21lbmFtZTo4MDgwOwogICAgIyAgICBzZXJ2ZXJfbmFtZSAgc29tZW5hbWUgIGFsaWFzICBhbm90aGVyLmFsaWFzOwoKICAgICMgICAgbG9jYXRpb24gLyB7CiAgICAjICAgICAgICByb290ICAgaHRtbDsKICAgICMgICAgICAgIGluZGV4ICBpbmRleC5odG1sIGluZGV4Lmh0bTsKICAgICMgICAgfQogICAgI30KICAgIHVwc3RyZWFtIG5vdGVib29rIHsKICAgICAgICBzZXJ2ZXIgbG9jYWxob3N0Ojk1NDc7CiAgICB9CgogICAgIyBIVFRQUyBzZXJ2ZXIKICAgICMKICAgIHNlcnZlciB7CgogICAgICAgIGxpc3RlbiAxODg4OCBzc2w7CiAgICAgICAgc3NsX2NlcnRpZmljYXRlIC9ldGMvc3NsL2NlcnRzL25naW54LmNydDsKICAgICAgICBzc2xfY2VydGlmaWNhdGVfa2V5IC9ldGMvc3NsL2NlcnRzL25naW54LmtleTsKICAgICAgICBzc2xfcHJvdG9jb2xzIFRMU3YxLjI7CgogICAgICAgIHNlcnZlcl9uYW1lIGxvY2FsaG9zdDsKCiAgICAgICAgbG9jYXRpb24gL3dlYmhkZnMvdjEvdXNlciB7CiAgICAgICAgICBwcm94eV9wYXNzICAgIGh0dHA6Ly9sb2NhbGhvc3Q6MTQwMDA7CiAgICAgICAgICBwcm94eV9yZWFkX3RpbWVvdXQgMTgwMDsKICAgICAgICAgIHByb3h5X2Nvbm5lY3RfdGltZW91dCAxODAwOwogICAgICAgIH0KCiAgICAgICAgbG9jYXRpb24gL3Nlc3Npb25zIHsKICAgICAgICAgIHByb3h5X3Bhc3MgICAgaHR0cDovL2xvY2FsaG9zdDo4OTk4OwogICAgICAgICAgcHJveHlfcmVhZF90aW1lb3V0IDE4MDA7CiAgICAgICAgICBwcm94eV9jb25uZWN0X3RpbWVvdXQgMTgwMDsKICAgICAgICB9CgogICAgICAgIGxvY2F0aW9uIC9iYXRjaGVzIHsKICAgICAgICAgIHByb3h5X3Bhc3MgICAgaHR0cDovL2xvY2FsaG9zdDo4OTk4OwogICAgICAgICAgcHJveHlfcmVhZF90aW1lb3V0IDE4MDA7CiAgICAgICAgICBwcm94eV9jb25uZWN0X3RpbWVvdXQgMTgwMDsKICAgICAgICB9CiAgICAgICAgbG9jYXRpb24gL3Byb3h5IHsKICAgICAgICAgIHByb3h5X3Bhc3MgICAgaHR0cDovL0hPU1ROQU1FLkRPTUFJTk5BTUUuRlFETjoyMDg4ODsKICAgICAgICAgIHByb3h5X3JlYWRfdGltZW91dCAxODAwOwogICAgICAgICAgcHJveHlfY29ubmVjdF90aW1lb3V0IDE4MDA7CiAgICAgICAgfQoKICAgICAgICBsb2NhdGlvbiAvYXBpL2tlcm5lbHMgewogICAgICAgICAgcHJveHlfcGFzcyAgICBodHRwOi8vbG9jYWxob3N0Ojk1NDc7CiAgICAgICAgICBwcm94eV9yZWFkX3RpbWVvdXQgMTgwMDsKICAgICAgICAgIHByb3h5X2Nvbm5lY3RfdGltZW91dCAxODAwOwogICAgICAgIH0KCiAgICAgICAgbG9jYXRpb24gL2FwaS9zZXNzaW9ucyB7CiAgICAgICAgICBwcm94eV9wYXNzICAgIGh0dHA6Ly9sb2NhbGhvc3Q6OTU0NzsKICAgICAgICAgIHByb3h5X3JlYWRfdGltZW91dCAxODAwOwogICAgICAgICAgcHJveHlfY29ubmVjdF90aW1lb3V0IDE4MDA7CiAgICAgICAgfQoKICAgICAgICBsb2NhdGlvbiAvYXBpL2tlcm5lbHNwZWNzIHsKICAgICAgICAgIHByb3h5X3Bhc3MgICAgaHR0cDovL2xvY2FsaG9zdDo5NTQ3OwogICAgICAgICAgcHJveHlfcmVhZF90aW1lb3V0IDE4MDA7CiAgICAgICAgICBwcm94eV9jb25uZWN0X3RpbWVvdXQgMTgwMDsKICAgICAgICB9CgogICAgICAgIGxvY2F0aW9uIC9rZXJuZWxzcGVjcyB7CiAgICAgICAgICBwcm94eV9wYXNzICAgIGh0dHA6Ly9sb2NhbGhvc3Q6OTU0NzsKICAgICAgICAgIHByb3h5X3JlYWRfdGltZW91dCAxODAwOwogICAgICAgICAgcHJveHlfY29ubmVjdF90aW1lb3V0IDE4MDA7CiAgICAgICAgfQoKICAgICAgICBsb2NhdGlvbiB+KiAvKGFwaS9rZXJuZWxzL1teL10rLyhjaGFubmVsc3xpb3B1YnxzaGVsbHxzdGRpbil8dGVybWluYWxzL3dlYnNvY2tldCkvPyB7CiAgICAgICAgICAgICAgICBwcm94eV9wYXNzICAgICAgICAgICAgaHR0cDovL25vdGVib29rOwogICAgICAgICAgICAgICAgcHJveHlfc2V0X2hlYWRlciAgICAgIEhvc3QgJGhvc3Q7CiAgICAgICAgICAgICAgICAjIHdlYnNvY2tldCBzdXBwb3J0CiAgICAgICAgICAgICAgICBwcm94eV9odHRwX3ZlcnNpb24gICAgMS4xOwogICAgICAgICAgICAgICAgcHJveHlfc2V0X2hlYWRlciAgICAgIFVwZ3JhZGUgIndlYnNvY2tldCI7CiAgICAgICAgICAgICAgICBwcm94eV9zZXRfaGVhZGVyICAgICAgQ29ubmVjdGlvbiAiVXBncmFkZSI7CiAgICAgICAgICAgICAgICBwcm94eV9yZWFkX3RpbWVvdXQgICAgODY0MDA7CiAgICAgICAgfQoKICAgICAgICBsb2NhdGlvbiAvZW1yL2tlcm5lbG1ldGEgewogICAgICAgICAgcHJveHlfcGFzcyAgICBodHRwOi8vbG9jYWxob3N0Ojc3ODA7CiAgICAgICAgICBwcm94eV9yZWFkX3RpbWVvdXQgMTgwMDsKICAgICAgICAgIHByb3h5X2Nvbm5lY3RfdGltZW91dCAxODAwOwogICAgICAgIH0KCiAgICAgICAgbG9jYXRpb24gL2Vtci9jbHVzdGVyY29uZmlnIHsKICAgICAgICAgIHByb3h5X3Bhc3MgICAgaHR0cDovL2xvY2FsaG9zdDo3NzgwOwogICAgICAgICAgcHJveHlfcmVhZF90aW1lb3V0IDE4MDA7CiAgICAgICAgICBwcm94eV9jb25uZWN0X3RpbWVvdXQgMTgwMDsKICAgICAgICB9CiAgICB9CgogIHNlcnZlciB7CiAgICAgIGxpc3RlbiAxODg5OTsKICAgICAgc2VydmVyX25hbWUgIGxvY2FsaG9zdDsKCiAgICAgIGxvY2F0aW9uIC8gewogICAgICAgIHJvb3QgICBodG1sOwogICAgICAgIGluZGV4ICBpbmRleC5odG1sIGluZGV4Lmh0bTsKICAgICAgfQoKICAgICAgbG9jYXRpb24gL3Byb3h5IHsKICAgICAgICBwcm94eV9wYXNzICAgIGh0dHA6Ly9IT1NUTkFNRS5ET01BSU5OQU1FLkZRRE46MjA4ODg7CiAgICAgICAgcHJveHlfcmVhZF90aW1lb3V0IDI1OwogICAgICAgIHByb3h5X2Nvbm5lY3RfdGltZW91dCAyMDsKICAgICAgICBwcm94eV9yZWRpcmVjdCBodHRwOi8vSE9TVE5BTUUuRE9NQUlOTkFNRS5GUUROOjE4MDgwL2hpc3RvcnkvIC9zaHMvaGlzdG9yeS87CiAgICAgICAgcHJveHlfcmVkaXJlY3QgaHR0cDovL0hPU1ROQU1FLkRPTUFJTk5BTUUuRlFETjo4MDgwLyAvdGV6LzsKICAgICAgICBwcm94eV9yZWRpcmVjdCBodHRwOi8vSE9TVE5BTUUuRE9NQUlOTkFNRS5GUUROOjgwODgvY2x1c3Rlci8gL2NsdXN0ZXIvOwogICAgICB9CgogICAgICBsb2NhdGlvbiB+IF4oPzxwcmVmaXg+L2hpc3RvcnkkKSB7CiAgICAgICAgcmV0dXJuIDMwMiAkc2NoZW1lOi8vJGhvc3Q6JHNlcnZlcl9wb3J0JHByZWZpeC87CiAgICAgIH0KCiAgICAgIGxvY2F0aW9uIC9qaC8gewogICAgICAgIHByb3h5X3Bhc3MgICAgaHR0cDovL0hPU1ROQU1FLkRPTUFJTk5BTUUuRlFETjoxOTg4OC87CiAgICAgICAgcHJveHlfcmVhZF90aW1lb3V0IDI1OwogICAgICAgIHByb3h5X2Nvbm5lY3RfdGltZW91dCAyMDsKICAgICAgfQoKICAgICAgbG9jYXRpb24gfiogXig/PHByZWZpeD4vc2hzJCkgewogICAgICAgIHJldHVybiAzMDIgJHNjaGVtZTovLyRob3N0OiRzZXJ2ZXJfcG9ydCRwcmVmaXgvOwogICAgICB9CgogICAgICBsb2NhdGlvbiB+KiBeKFwvbm1cLyg/PG5vZGVBZGRyZXNzPi4qOjgwNDIpXC8oPzx1cmw+LiopJCkgewogICAgICAgIHJlc29sdmVyIDE3Mi4zMS4wLjI7CiAgICAgICAgcmVzb2x2ZXJfdGltZW91dCAyczsKICAgICAgICBwcm94eV9wYXNzIGh0dHA6Ly8kbm9kZUFkZHJlc3MvJHVybCRpc19hcmdzJGFyZ3M7CiAgICAgICAgcHJveHlfcmVhZF90aW1lb3V0IDI1OwogICAgICAgIHByb3h5X2Nvbm5lY3RfdGltZW91dCAyMDsKICAgICAgICBwcm94eV9zZXRfaGVhZGVyIEFjY2VwdC1FbmNvZGluZyAiIjsKICAgICAgICBwcm94eV9yZWRpcmVjdCBodHRwOi8vSE9TVE5BTUUuRE9NQUlOTkFNRS5GUUROOjE5ODg4LyAvamgvOwogICAgICAgIHByb3h5X3JlZGlyZWN0IH4qaHR0cChzKT86XC9cLyguKjo4MDQyKVwvKC4qKSAvbm0vJDIvJDM7CiAgICAgICAgc3ViX2ZpbHRlcl9vbmNlIG9mZjsKICAgICAgICBzdWJfZmlsdGVyX3R5cGVzICo7CiAgICAgICAgc3ViX2ZpbHRlciBodHRwOi8vSE9TVE5BTUUuRE9NQUlOTkFNRS5GUUROOjgwODggL3JtLzsKICAgICAgICBzdWJfZmlsdGVyIC9ub2RlLyAvbm0vJG5vZGVBZGRyZXNzL25vZGUvOwogICAgICAgIHN1Yl9maWx0ZXIgL2NvbmYgL25tLyRub2RlQWRkcmVzcy9jb25mOwogICAgICAgIHN1Yl9maWx0ZXIgL2xvZ3MgL25tLyRub2RlQWRkcmVzcy9sb2dzOwogICAgICAgIHN1Yl9maWx0ZXIgL3N0YWNrcyAvbm0vJG5vZGVBZGRyZXNzL3N0YWNrczsKICAgICAgICBzdWJfZmlsdGVyIC9qbXg/cXJ5PUhhZG9vcDoqIC9ubS8kbm9kZUFkZHJlc3Mvam14P3FyeT1IYWRvb3A6KjsKICAgICAgfQoKICAgICAgbG9jYXRpb24gL3Nocy8gewogICAgICAgIHByb3h5X3Bhc3MgaHR0cDovL0hPU1ROQU1FLkRPTUFJTk5BTUUuRlFETjoxODA4MC87CiAgICAgICAgcHJveHlfcmVhZF90aW1lb3V0IDI1OwogICAgICAgIHByb3h5X2Nvbm5lY3RfdGltZW91dCAyMDsKICAgICAgICBwcm94eV9zZXRfaGVhZGVyIEFjY2VwdC1FbmNvZGluZyAiIjsKICAgICAgICBwcm94eV9yZWRpcmVjdCBodHRwOi8vSE9TVE5BTUUuRE9NQUlOTkFNRS5GUUROOjE4MDgwL2hpc3RvcnkvIC9zaHMvaGlzdG9yeS87CiAgICAgIH0KCiAgICAgIGxvY2F0aW9uIC9zdGF0aWMvIHsKICAgICAgICBwcm94eV9wYXNzICAgIGh0dHA6Ly9IT1NUTkFNRS5ET01BSU5OQU1FLkZRRE46MTk4ODgvc3RhdGljLzsKICAgICAgICBwcm94eV9yZWFkX3RpbWVvdXQgMjU7CiAgICAgICAgcHJveHlfY29ubmVjdF90aW1lb3V0IDIwOwogICAgICB9CgogICAgICBsb2NhdGlvbiAvYXBwbGljYXRpb25oaXN0b3J5LyB7CiAgICAgICAgcmV3cml0ZSAvYXBwbGljYXRpb25oaXN0b3J5LyAveXRzL2FwcGxpY2F0aW9uaGlzdG9yeS87CiAgICAgIH0KCiAgICAgIGxvY2F0aW9uIC95dHMvIHsKICAgICAgICBwcm94eV9wYXNzICAgIGh0dHA6Ly9IT1NUTkFNRS5ET01BSU5OQU1FLkZRRE46ODE4OC87CiAgICAgICAgcHJveHlfcmVhZF90aW1lb3V0IDI1OwogICAgICAgIHByb3h5X2Nvbm5lY3RfdGltZW91dCAyMDsKICAgICAgICBwcm94eV9zZXRfaGVhZGVyIEFjY2VwdC1FbmNvZGluZyAiIjsKICAgICAgfQoKICAgICAgbG9jYXRpb24gL3JtLyB7CiAgICAgICAgcHJveHlfcGFzcwlodHRwOi8vSE9TVE5BTUUuRE9NQUlOTkFNRS5GUUROOjgwODgvOwogICAgICAgIHByb3h5X3JlYWRfdGltZW91dCAyNTsKICAgICAgICBwcm94eV9jb25uZWN0X3RpbWVvdXQgMjA7CiAgICAgICAgcHJveHlfc2V0X2hlYWRlciBBY2NlcHQtRW5jb2RpbmcgIiI7CiAgICAgICAgcHJveHlfcmVkaXJlY3QgaHR0cDovL0hPU1ROQU1FLkRPTUFJTk5BTUUuRlFETjoxOTg4OC8gL2poLzsKICAgICAgICBwcm94eV9yZWRpcmVjdCBodHRwOi8vSE9TVE5BTUUuRE9NQUlOTkFNRS5GUUROOjgwODgvIC9ybS87CiAgICAgIH0KCiAgICAgIGxvY2F0aW9uIH4qIF4vY2x1c3Rlci8oPzx1cmw+LiopIHsKICAgICAgICByZXR1cm4gMzAyIC9ybS9jbHVzdGVyLyR1cmw7CiAgICAgIH0KCiAgICAgIGxvY2F0aW9uIC90ZXovIHsKICAgICAgICBwcm94eV9wYXNzICAgIGh0dHA6Ly9IT1NUTkFNRS5ET01BSU5OQU1FLkZRRE46ODA4MC90ZXotdWkvOwogICAgICAgIHByb3h5X3JlYWRfdGltZW91dCAyNTsKICAgICAgICBwcm94eV9jb25uZWN0X3RpbWVvdXQgMjA7CiAgICAgICAgcHJveHlfc2V0X2hlYWRlciBBY2NlcHQtRW5jb2RpbmcgIiI7CiAgICAgICAgc3ViX2ZpbHRlcl9vbmNlIG9mZjsKICAgICAgICBzdWJfZmlsdGVyX3R5cGVzICo7CiAgICAgICAgc3ViX2ZpbHRlciBodHRwOi8vSE9TVE5BTUUuRE9NQUlOTkFNRS5GUUROOjgxODggL3l0czsKICAgICAgICBzdWJfZmlsdGVyIGh0dHA6Ly9IT1NUTkFNRS5ET01BSU5OQU1FLkZRRE46ODA4OCAvcm07CiAgICAgICAgc3ViX2ZpbHRlciAnImh0dHA6Ly9IT1NUTkFNRS5ET01BSU5OQU1FLkZRRE46MjA4ODgiJyAnIi9wcm94eSInOwogICAgICAgIHN1Yl9maWx0ZXIgJ3Byb3h5L3thcHBfaWR9JyAne2FwcF9pZH0nOwogICAgICAgIHN1Yl9maWx0ZXIgJ2hyZWY6IGxvZ3MnICdocmVmOiAiL25tLyIgKyBsb2dzLnN1YnN0cmluZyhsb2dzLmluZGV4T2YoIjovLyIpKzMpJzsKICAgICAgICBzdWJfZmlsdGVyICJyZXR1cm4geWFyblByb3RvY29sICsgJzovLycgKyBsb2dVUkwiICJyZXR1cm4gJy9ubS8nICsgbG9nVVJMIjsKICAgICAgICBzdWJfZmlsdGVyICd0aGlzLm5vcm1hbGl6ZVVSTCh0aGlzLmdldCgiZW52LmFwcC5ob3N0cy50aW1lbGluZSIpKScgJ2xvY2F0aW9uLm9yaWdpbiArIHRoaXMubm9ybWFsaXplVVJMKHRoaXMuZ2V0KCJlbnYuYXBwLmhvc3RzLnRpbWVsaW5lIikpLnJlcGxhY2UobG9jYXRpb24ucHJvdG9jb2wgKyAiLy8vIiwgIi8iKSc7CiAgICAgICAgc3ViX2ZpbHRlciAndGhpcy5ub3JtYWxpemVVUkwodGhpcy5nZXQoImVudi5hcHAuaG9zdHMucm0iKSknICdsb2NhdGlvbi5vcmlnaW4gKyB0aGlzLm5vcm1hbGl6ZVVSTCh0aGlzLmdldCgiZW52LmFwcC5ob3N0cy5ybSIpKS5yZXBsYWNlKGxvY2F0aW9uLnByb3RvY29sICsgIi8vLyIsICIvIiknOwogICAgICAgIHN1Yl9maWx0ZXIgJ3RoaXMubm9ybWFsaXplVVJMKHVybCknICdsb2NhdGlvbi5vcmlnaW4gKyB0aGlzLm5vcm1hbGl6ZVVSTCh1cmwpLnJlcGxhY2UobG9jYXRpb24ucHJvdG9jb2wgKyAiLy8vIiwgIi8iKSc7CiAgICB9CiAgICAKICAgICAgbG9jYXRpb24gL3ByZXN0by8gewogICAgICAgIHByb3h5X3Bhc3MgICAgaHR0cHM6Ly9sb2NhbGhvc3Q6ODQ0Ni87CiAgICAgICAgcHJveHlfcmVhZF90aW1lb3V0IDI1OwogICAgICAgIHByb3h5X2Nvbm5lY3RfdGltZW91dCAyMDsKICAgICAgfQoKICAgICAgbG9jYXRpb24gL2hpdmV1aS8gewogICAgICAgIHByb3h5X3Bhc3MgICAgaHR0cDovL2xvY2FsaG9zdDoxMDAwMi87CiAgICAgICAgcHJveHlfcmVhZF90aW1lb3V0IDI1OwogICAgICAgIHByb3h5X2Nvbm5lY3RfdGltZW91dCAyMDsKICAgICAgfQogIH0KfQo= |base64 -d > /home/hadoop/nginx.conf #Dynamicportfordwarding httpd.conf sudo echo ClNlcnZlclJvb3QgIi9ldGMvaHR0cGQiCgpUcmFjZUVuYWJsZSBPZmYKCkxpc3RlbiAxOTk5OQoKSW5jbHVkZSBjb25mLm1vZHVsZXMuZC8qLmNvbmYKClVzZXIgYXBhY2hlCkdyb3VwIGFwYWNoZQoKU2VydmVyQWRtaW4gcm9vdEBsb2NhbGhvc3QKCgo8RGlyZWN0b3J5IC8+CiAgICBBbGxvd092ZXJyaWRlIG5vbmUKICAgIFJlcXVpcmUgYWxsIGRlbmllZAo8L0RpcmVjdG9yeT4KCgpEb2N1bWVudFJvb3QgIi92YXIvd3d3L2h0bWwiCgo8RGlyZWN0b3J5ICIvdmFyL3d3dyI+CiAgICBBbGxvd092ZXJyaWRlIE5vbmUKICAgICMgQWxsb3cgb3BlbiBhY2Nlc3M6CiAgICBSZXF1aXJlIGFsbCBncmFudGVkCjwvRGlyZWN0b3J5PgoKIyBGdXJ0aGVyIHJlbGF4IGFjY2VzcyB0byB0aGUgZGVmYXVsdCBkb2N1bWVudCByb290Ogo8RGlyZWN0b3J5ICIvdmFyL3d3dy9odG1sIj4KCiAgICBPcHRpb25zIEluZGV4ZXMgRm9sbG93U3ltTGlua3MKCgogICAgQWxsb3dPdmVycmlkZSBOb25lCgoKICAgIFJlcXVpcmUgYWxsIGdyYW50ZWQKPC9EaXJlY3Rvcnk+CgoKPElmTW9kdWxlIGRpcl9tb2R1bGU+CiAgICBEaXJlY3RvcnlJbmRleCBpbmRleC5odG1sCjwvSWZNb2R1bGU+CgoKPEZpbGVzICIuaHQqIj4KICAgIFJlcXVpcmUgYWxsIGRlbmllZAo8L0ZpbGVzPgoKCkVycm9yTG9nICJsb2dzL2Vycm9yX2xvZyIKCgpMb2dMZXZlbCB3YXJuCgo8SWZNb2R1bGUgbG9nX2NvbmZpZ19tb2R1bGU+CgogICAgTG9nRm9ybWF0ICIlaCAlbCAldSAldCBcIiVyXCIgJT5zICViIFwiJXtSZWZlcmVyfWlcIiBcIiV7VXNlci1BZ2VudH1pXCIiIGNvbWJpbmVkCiAgICBMb2dGb3JtYXQgIiVoICVsICV1ICV0IFwiJXJcIiAlPnMgJWIiIGNvbW1vbgoKICAgIDxJZk1vZHVsZSBsb2dpb19tb2R1bGU+CiAgICAgICMgWW91IG5lZWQgdG8gZW5hYmxlIG1vZF9sb2dpby5jIHRvIHVzZSAlSSBhbmQgJU8KICAgICAgTG9nRm9ybWF0ICIlaCAlbCAldSAldCBcIiVyXCIgJT5zICViIFwiJXtSZWZlcmVyfWlcIiBcIiV7VXNlci1BZ2VudH1pXCIgJUkgJU8iIGNvbWJpbmVkaW8KICAgIDwvSWZNb2R1bGU+CgoKICAgIEN1c3RvbUxvZyAibG9ncy9hY2Nlc3NfbG9nIiBjb21iaW5lZAo8L0lmTW9kdWxlPgoKPElmTW9kdWxlIGFsaWFzX21vZHVsZT4KCiAgICBTY3JpcHRBbGlhcyAvY2dpLWJpbi8gIi92YXIvd3d3L2NnaS1iaW4vIgoKPC9JZk1vZHVsZT4KCgo8RGlyZWN0b3J5ICIvdmFyL3d3dy9jZ2ktYmluIj4KICAgIEFsbG93T3ZlcnJpZGUgTm9uZQogICAgT3B0aW9ucyBOb25lCiAgICBSZXF1aXJlIGFsbCBncmFudGVkCjwvRGlyZWN0b3J5PgoKPElmTW9kdWxlIG1pbWVfbW9kdWxlPgogICAgVHlwZXNDb25maWcgL2V0Yy9taW1lLnR5cGVzCgogICAgQWRkVHlwZSBhcHBsaWNhdGlvbi94LWNvbXByZXNzIC5aCiAgICBBZGRUeXBlIGFwcGxpY2F0aW9uL3gtZ3ppcCAuZ3ogLnRnegoKCiAgICBBZGRUeXBlIHRleHQvaHRtbCAuc2h0bWwKICAgIEFkZE91dHB1dEZpbHRlciBJTkNMVURFUyAuc2h0bWwKPC9JZk1vZHVsZT4KCkFkZERlZmF1bHRDaGFyc2V0IFVURi04Cgo8SWZNb2R1bGUgbWltZV9tYWdpY19tb2R1bGU+CgogICAgTUlNRU1hZ2ljRmlsZSBjb25mL21hZ2ljCjwvSWZNb2R1bGU+CgpFbmFibGVTZW5kZmlsZSBvbgoKPElmTW9kdWxlIG1vZF9odHRwMi5jPgogICAgUHJvdG9jb2xzIGgyIGgyYyBodHRwLzEuMQo8L0lmTW9kdWxlPgoKCjxWaXJ0dWFsSG9zdCAqOjE5OTk5PgpTZXJ2ZXJOYW1lIGxvY2FsaG9zdAoKUmV3cml0ZUVuZ2luZSBvbgpSZXdyaXRlUnVsZSBeL3NocyQgL3Nocy8gW1JdClJld3JpdGVSdWxlIF4veXRzJCAveXRzLyBbUl0KUmV3cml0ZVJ1bGUgXi9hcHBsaWNhdGlvbmhpc3RvcnkkIC9hcHBsaWNhdGlvbmhpc3RvcnkvIFtSXQpSZXdyaXRlUnVsZSBeL2poJCAvamgvIFtSXQpSZXdyaXRlUnVsZSBeL3JtJCAvcm0vIFtSXQpSZXdyaXRlUnVsZSBeL2NsdXN0ZXIkIC9jbHVzdGVyLyBbUl0KClByb3h5UGFzc1JldmVyc2UgaHR0cDovL2xvY2FsaG9zdDoxOTk5OS8gaHR0cDovL2xvY2FsaG9zdDoxODg5OS8KUHJveHlQYXNzUmV2ZXJzZSBodHRwOi8vbG9jYWxob3N0OjE5OTk5LyBodHRwczovL2xvY2FsaG9zdDoxODg5OS8KCjxMb2NhdGlvbiAiL3Byb3h5Ij4KICBQcm94eVBhc3MgImh0dHA6Ly9sb2NhbGhvc3Q6MTg4OTkvcHJveHkiIGNvbm5lY3Rpb250aW1lb3V0PTI1IHRpbWVvdXQ9MzAKICBBZGRPdXRwdXRGaWx0ZXJCeVR5cGUgU1VCU1RJVFVURSB0ZXh0L3RleHQgdGV4dC9odG1sIHRleHQvcGxhaW4gdGV4dC94bWwgdGV4dC9jc3MgYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IGFwcGxpY2F0aW9uL2phdmFzY3JpcHQgYXBwbGljYXRpb24vanNvbgogIFN1YnN0aXR1dGUgInN8aHR0cDovL0hPU1ROQU1FLkRPTUFJTk5BTUUuRlFETjo4MDgwL3Rlei11aS98L3Rlei90ZXotdWkvfG5xIgogIFN1YnN0aXR1dGUgInN8aHR0cDpcL1wvKGlwLS4qPzo4MDQyKXwvbm0vJDF8Igo8L0xvY2F0aW9uPgoKPExvY2F0aW9uICIvamgvIj4KICBQcm94eVBhc3MgImh0dHA6Ly9sb2NhbGhvc3Q6MTg4OTkvamgvIiBjb25uZWN0aW9udGltZW91dD0yNSB0aW1lb3V0PTMwCiAgQWRkT3V0cHV0RmlsdGVyQnlUeXBlIFNVQlNUSVRVVEUgdGV4dC90ZXh0IHRleHQvaHRtbCB0ZXh0L3BsYWluIHRleHQveG1sIHRleHQvY3NzIGFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0IGFwcGxpY2F0aW9uL2pzb24KICBTdWJzdGl0dXRlICJzfFtoSF1bclJdW2VFXVtmRl09J1wvKCg/IXN0YXRpYykuKj8pJ3xocmVmPScvamgvJDEnfCIKICBTdWJzdGl0dXRlICdzfFtoSF1bclJdW2VFXVtmRl09IlwvKCg/IXN0YXRpYykuKj8pInxocmVmPSIvamgvJDEifCcKPC9Mb2NhdGlvbj4KCjxMb2NhdGlvbk1hdGNoICJeKFwvbm1cLyg/PG5vZGVpcD4uKjo4MDQyKVwvKD88dXJsPi4qKSQpIj4KICBQcm94eVBhc3MgImh0dHA6Ly9sb2NhbGhvc3Q6MTg4OTkvIiBjb25uZWN0aW9udGltZW91dD0yNSB0aW1lb3V0PTMwCjwvTG9jYXRpb25NYXRjaD4KCjxMb2NhdGlvbiAiL3Nocy8iPgogIFByb3h5UGFzcyAiaHR0cDovL2xvY2FsaG9zdDoxODg5OS9zaHMvIiBjb25uZWN0aW9udGltZW91dD0yNSB0aW1lb3V0PTMwCiAgQWRkT3V0cHV0RmlsdGVyQnlUeXBlIFNVQlNUSVRVVEUgdGV4dC90ZXh0IHRleHQvaHRtbCB0ZXh0L3BsYWluIHRleHQveG1sIHRleHQvY3NzIGFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0IGFwcGxpY2F0aW9uL2pzb24KICBTdWJzdGl0dXRlICdzfGhyZWY9Ii98aHJlZj0iL3Nocy98bnEnCiAgU3Vic3RpdHV0ZSAnc3xzcmM9Ii98c3JjPSIvc2hzL3xucScKICBTdWJzdGl0dXRlICdzfHVpUm9vdD0iInx1aVJvb3Q9Ii9zaHMifG5xJwogIFN1YnN0aXR1dGUgInN8c2V0VUlSb290KCcnKXxzZXRVSVJvb3QoJy9zaHMnKXxucSIKICBTdWJzdGl0dXRlICJzfGh0dHA6XC9cLyhpcC0uKj86ODA0Mil8L25tLyQxfCIKPC9Mb2NhdGlvbj4KCjxMb2NhdGlvbiAiL3N0YXRpYy8iPgogIFByb3h5UGFzcyAiaHR0cDovL2xvY2FsaG9zdDoxODg5OS9zdGF0aWMvIiBjb25uZWN0aW9udGltZW91dD0yNSB0aW1lb3V0PTMwCjwvTG9jYXRpb24+Cgo8TG9jYXRpb24gIi9hcHBsaWNhdGlvbmhpc3RvcnkvIj4KICBQcm94eVBhc3MgImh0dHA6Ly9sb2NhbGhvc3Q6MTg4OTkvYXBwbGljYXRpb25oaXN0b3J5LyIgY29ubmVjdGlvbnRpbWVvdXQ9MjUgdGltZW91dD0zMAogIEFkZE91dHB1dEZpbHRlckJ5VHlwZSBTVUJTVElUVVRFIHRleHQvdGV4dCB0ZXh0L2h0bWwgdGV4dC9wbGFpbiB0ZXh0L3htbCB0ZXh0L2NzcyBhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQgYXBwbGljYXRpb24vamF2YXNjcmlwdCBhcHBsaWNhdGlvbi9qc29uCiAgU3Vic3RpdHV0ZSAic3xbaEhdW3JSXVtlRV1bZkZdPSdcLygoPyFzdGF0aWMpLio/KSd8aHJlZj0nL3l0cy8kMSd8IgogIFN1YnN0aXR1dGUgJ3N8W2hIXVtyUl1bZUVdW2ZGXT0iXC8oKD8hc3RhdGljKS4qPykifGhyZWY9Ii95dHMvJDEifCcKICBTdWJzdGl0dXRlICJzfFtoSF1bclJdW2VFXVtmRl09J2h0dHAocyk/OlwvXC8oLio/OjgwNDIpJ3xocmVmPScvbm0vJDIvJ3wiCiAgU3Vic3RpdHV0ZSAnc3xbaEhdW3JSXVtlRV1bZkZdPSJodHRwKHMpPzpcL1wvKC4qPzo4MDQyKSJ8aHJlZj0iL25tLyQyLyJ8JwogIFN1YnN0aXR1dGUgInN8aHR0cDovL0hPU1ROQU1FLkRPTUFJTk5BTUUuRlFETjo4MTg4L3wveXRzL3xucSIKICBTdWJzdGl0dXRlICJzfGh0dHA6Ly9IT1NUTkFNRS5ET01BSU5OQU1FLkZRRE46ODA4OC98L3JtL3xucSIKICBTdWJzdGl0dXRlICJzfGh0dHA6Ly9IT1NUTkFNRS5ET01BSU5OQU1FLkZRRE46MjA4ODgvcHJveHkvfC9wcm94eS98bnEiCjwvTG9jYXRpb24+Cgo8TG9jYXRpb24gIi95dHMvIj4KICBQcm94eVBhc3MgImh0dHA6Ly9sb2NhbGhvc3Q6MTg4OTkveXRzLyIgY29ubmVjdGlvbnRpbWVvdXQ9MjUgdGltZW91dD0zMAogIEFkZE91dHB1dEZpbHRlckJ5VHlwZSBTVUJTVElUVVRFIHRleHQvdGV4dCB0ZXh0L2h0bWwgdGV4dC9wbGFpbiB0ZXh0L3htbCB0ZXh0L2NzcyBhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQgYXBwbGljYXRpb24vamF2YXNjcmlwdCBhcHBsaWNhdGlvbi9qc29uCiAgU3Vic3RpdHV0ZSAic3xbaEhdW3JSXVtlRV1bZkZdPSdcLygoPyFzdGF0aWMpLio/KSd8aHJlZj0nL3l0cy8kMSd8IgogIFN1YnN0aXR1dGUgJ3N8W2hIXVtyUl1bZUVdW2ZGXT0iXC8oKD8hc3RhdGljKS4qPykifGhyZWY9Ii95dHMvJDEifCcKICBTdWJzdGl0dXRlICJzfFtoSF1bclJdW2VFXVtmRl09J2h0dHAocyk/OlwvXC8oLio/OjgwNDIpJ3xocmVmPScvbm0vJDIvJ3wiCiAgU3Vic3RpdHV0ZSAnc3xbaEhdW3JSXVtlRV1bZkZdPSJodHRwKHMpPzpcL1wvKC4qPzo4MDQyKSJ8aHJlZj0iL25tLyQyLyJ8JwogIFN1YnN0aXR1dGUgInN8aHR0cDovL0hPU1ROQU1FLkRPTUFJTk5BTUUuRlFETjo4MTg4L3wveXRzL3xucSIKICBTdWJzdGl0dXRlICJzfGh0dHA6Ly9IT1NUTkFNRS5ET01BSU5OQU1FLkZRRE46ODA4OC98L3JtL3xucSIKICBTdWJzdGl0dXRlICJzfGh0dHA6Ly9IT1NUTkFNRS5ET01BSU5OQU1FLkZRRE46MjA4ODgvcHJveHkvfC9wcm94eS98bnEiCjwvTG9jYXRpb24+Cgo8TG9jYXRpb24gIi9ybS8iPgogIFByb3h5UGFzcyAiaHR0cDovL2xvY2FsaG9zdDoxODg5OS9ybS8iIGNvbm5lY3Rpb250aW1lb3V0PTI1IHRpbWVvdXQ9MzAKICBBZGRPdXRwdXRGaWx0ZXJCeVR5cGUgU1VCU1RJVFVURSB0ZXh0L3RleHQgdGV4dC9odG1sIHRleHQvcGxhaW4gdGV4dC94bWwgdGV4dC9jc3MgYXBwbGljYXRpb24veC1qYXZhc2NyaXB0IGFwcGxpY2F0aW9uL2phdmFzY3JpcHQgYXBwbGljYXRpb24vanNvbgogIFN1YnN0aXR1dGUgInN8W2hIXVtyUl1bZUVdW2ZGXT0nXC9cLyhpcC0uKj86ODA0MiknfGhyZWY9Jy9ubS8kMS8nfCIKICBTdWJzdGl0dXRlICdzfFtoSF1bclJdW2VFXVtmRl09IlwvXC8oaXAtLio/OjgwNDIpInxocmVmPSIvbm0vJDEvInwnCiAgU3Vic3RpdHV0ZSAncyVbaEhdW3JSXVtlRV1bZkZdPSJcLygoPyFzdGF0aWN8bm18cm0pLio/KSIlaHJlZj0iL3JtLyQxIiUnCiAgU3Vic3RpdHV0ZSAic3xbaEhdW3JSXVtlRV1bZkZdPSdodHRwKHMpPzpcL1wvKC4qPzo4MDQyKSd8aHJlZj0nL25tLyQyLyd8IgogIFN1YnN0aXR1dGUgJ3N8W2hIXVtyUl1bZUVdW2ZGXT0iaHR0cChzKT86XC9cLyguKj86ODA0MikifGhyZWY9Ii9ubS8kMi8ifCcKICBTdWJzdGl0dXRlICJzfFtoSF1bclJdW2VFXVtmRl09J2h0dHAocyk/OlwvXC8oLio6ODA0MilcLyguKj8pJ3xocmVmPScvbm0vJDIvJDMnfCIKICBTdWJzdGl0dXRlICdzfFtoSF1bclJdW2VFXVtmRl09Imh0dHAocyk/OlwvXC8oLio6ODA0MilcLyguKj8pInxocmVmPSIvbm0vJDIvJDMifCcKICBTdWJzdGl0dXRlICJzfGh0dHA6Ly9IT1NUTkFNRS5ET01BSU5OQU1FLkZRRE46ODA4OC98L3JtL3xucSIKICBTdWJzdGl0dXRlICJzfGh0dHA6Ly9IT1NUTkFNRS5ET01BSU5OQU1FLkZRRE46MjA4ODgvcHJveHkvfC9wcm94eS98bnEiCjwvTG9jYXRpb24+Cgo8TG9jYXRpb24gIi9jbHVzdGVyLyI+CiAgUHJveHlQYXNzICJodHRwOi8vbG9jYWxob3N0OjE4ODk5L2NsdXN0ZXIvIiBjb25uZWN0aW9udGltZW91dD0yNSB0aW1lb3V0PTMwCjwvTG9jYXRpb24+Cgo8TG9jYXRpb24gIi90ZXovIj4KICBQcm94eVBhc3MgImh0dHA6Ly9sb2NhbGhvc3Q6MTg4OTkvdGV6LyIgY29ubmVjdGlvbnRpbWVvdXQ9MjUgdGltZW91dD0zMAo8L0xvY2F0aW9uPgoKPExvY2F0aW9uICIvcHJlc3RvLyI+CiAgUHJveHlQYXNzICJodHRwOi8vbG9jYWxob3N0OjE4ODk5L3ByZXN0by8iIGNvbm5lY3Rpb250aW1lb3V0PTI1IHRpbWVvdXQ9MzAKICBSZXF1ZXN0SGVhZGVyIHVuc2V0IEFjY2VwdC1FbmNvZGluZwogIEFkZE91dHB1dEZpbHRlckJ5VHlwZSBTVUJTVElUVVRFIHRleHQvdGV4dCB0ZXh0L2h0bWwgdGV4dC9wbGFpbiB0ZXh0L3htbCB0ZXh0L2NzcyBhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQgYXBwbGljYXRpb24vamF2YXNjcmlwdCBhcHBsaWNhdGlvbi9qc29uCiAgU3Vic3RpdHV0ZSAnc3wiL3YxL3wiL3ByZXN0by92MS98bnEnCiAgU3Vic3RpdHV0ZSAic3wnL3YxL3wnL3ByZXN0by92MS98bnEiCiAgU3Vic3RpdHV0ZSAnc3xocmVmOiBcIi91aS98aHJlZjogXCIvcHJlc3RvL3VpL3xucScKICBTdWJzdGl0dXRlICdzfFxRX3JlYWN0Mi5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXG5cRVxzKlxRXCJhXCIsXG5cRVxzKntccypocmVmOlxzKnRhc2tcLnRhc2tTdGF0dXNcLnNlbGZccypcK1xzKlxRXCI/cHJldHR5XCJcRVxzKn0sXFFcblxFXHMqXCgwLFxzKlxRX3V0aWxzLmdldFRhc2tJZFN1ZmZpeCkodGFzay50YXNrSWQpXG5cRVxzKlwpfCgwLCBfdXRpbHMuZ2V0VGFza0lkU3VmZml4KSh0YXNrLnRhc2tJZCl8Jwo8L0xvY2F0aW9uPgoKPExvY2F0aW9uICIvaGl2ZXVpLyI+CiAgUHJveHlQYXNzICJodHRwOi8vbG9jYWxob3N0OjE4ODk5L2hpdmV1aS8iIGNvbm5lY3Rpb250aW1lb3V0PTI1IHRpbWVvdXQ9MzAKICBTZXRPdXRwdXRGaWx0ZXIgU1VCU1RJVFVURTtERUZMQVRFCiAgU3Vic3RpdHV0ZSAnc3xocmVmPSIvfGhyZWY9Ii9oaXZldWkvfG5xJwogIFN1YnN0aXR1dGUgJ3N8c3JjPSIvfHNyYz0iL2hpdmV1aS98bnEnCiAgU3Vic3RpdHV0ZSAnc3xocmVmPSAvfGhyZWY9IC9oaXZldWkvfG5xJwo8L0xvY2F0aW9uPgoKPC9WaXJ0dWFsSG9zdD4KCgojIFN1cHBsZW1lbnRhbCBjb25maWd1cmF0aW9uCiMKIyBMb2FkIGNvbmZpZyBmaWxlcyBpbiB0aGUgIi9ldGMvaHR0cGQvY29uZi5kIiBkaXJlY3RvcnksIGlmIGFueS4KSW5jbHVkZU9wdGlvbmFsIGNvbmYuZC8qLmNvbmYK |base64 -d > /home/hadoop/httpd.conf sudo sed -i -e "s|HOSTNAME.DOMAINNAME.FQDN|$HOSTNAME|g" /home/hadoop/ssl.conf sudo sed -i -e "s|HOSTNAME.DOMAINNAME.FQDN|$HOSTNAME|g" /home/hadoop/httpd.conf sudo sed -i -e "s|HOSTNAME.DOMAINNAME.FQDN|$HOSTNAME|g" /home/hadoop/nginx.conf sudo sed -i -e "s|serverhostname|$HOSTNAME|g" /home/hadoop/ssl.conf sudo cp /home/hadoop/ssl.conf /etc/httpd/conf.d/ssl.conf sudo cp /home/hadoop/httpd.conf /etc/httpd/conf/httpd.conf sudo cp /home/hadoop/nginx.conf /etc/nginx/nginx.conf sudo systemctl restart httpd.service sudo systemctl restart nginx.service