--- http_interactions: - request: method: get uri: http://www.squidoo.com body: encoding: US-ASCII string: '' headers: {} response: status: code: 200 message: !binary |- T0s= headers: !binary "U2VydmVy": - !binary |- QXBhY2hl !binary "U2V0LUNvb2tpZQ==": - !binary |- UEhQU0VTU0lEPW8yMHRvM3NzY2U5dmUydXFwcGcxNHRqcW8yOyBwYXRoPS8= !binary "RXhwaXJlcw==": - !binary |- VGh1LCAxOSBOb3YgMTk4MSAwODo1MjowMCBHTVQ= !binary "Q2FjaGUtQ29udHJvbA==": - !binary |- bm8tc3RvcmUsIG5vLWNhY2hlLCBtdXN0LXJldmFsaWRhdGUsIHBvc3QtY2hl Y2s9MCwgcHJlLWNoZWNrPTA= !binary "UHJhZ21h": - !binary |- bm8tY2FjaGU= !binary "VmFyeQ==": - !binary |- QWNjZXB0LUVuY29kaW5n !binary "Q29udGVudC1FbmNvZGluZw==": - !binary |- Z3ppcA== !binary "Q29udGVudC1UeXBl": - !binary |- dGV4dC9odG1sOyBjaGFyc2V0PVVURi04 !binary "Q29udGVudC1MZW5ndGg=": - !binary |- Njk1Nw== !binary "QWNjZXB0LVJhbmdlcw==": - !binary |- Ynl0ZXM= !binary "RGF0ZQ==": - !binary |- VHVlLCAwNiBNYXIgMjAxMiAyMToxOTo0MSBHTVQ= !binary "WC1WYXJuaXNo": - !binary |- NDUyODI5NTU4 !binary "QWdl": - !binary |- MA== !binary "Vmlh": - !binary |- MS4xIHZhcm5pc2g= !binary "Q29ubmVjdGlvbg==": - !binary |- a2VlcC1hbGl2ZQ== body: encoding: ASCII-8BIT string: !binary |- PCFkb2N0eXBlIGh0bWw+CjwhLS0KIF9fX18gICAgX19fX18gICBfXyAgX18g IF9fX19fXyAgIF9fX18gICAgX19fX18gICBfX19fXyAgICAgIAovXCAgX2Bc IC9cICBfX2BcL1wgXC9cIFwvXF9fICBfXCAvXCAgX2BcIC9cICBfX2BcL1wg IF9fYFwgICAgClwgXCxcTFxfXCBcIFwvXCBcIFwgXCBcIFwvXy9cIFwvIFwg XCBcL1wgXCBcIFwvXCBcIFwgXC9cIFwgICAKIFwvX1xfXyBcXCBcIFwgXCBc IFwgXCBcIFwgXCBcIFwgIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgIAog ICAvXCBcTFwgXCBcIFxcJ1xcIFwgXF9cIFwgXF9cIFxfX1wgXCBcX1wgXCBc IFxfXCBcIFwgXF9cIFwgCiAgIFwgYFxfX19fXCBcX19fXF9cIFxfX19fX1wv XF9fX19fXFwgXF9fX18vXCBcX19fX19cIFxfX19fX1wKICAgIFwvX19fX18v XC9fXy8vXy9cL19fX19fL1wvX19fX18vIFwvX19fLyAgXC9fX19fXy9cL19f X19fLwotLT4KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkv eGh0bWwiIHhtbG5zOmZiPSJodHRwOi8vd3d3LmZhY2Vib29rLmNvbS8yMDA4 L2ZibWwiIHhtbDpsYW5nPSJlbiIgbGFuZz0iZW4iID4KICA8aGVhZD4KICA8 dGl0bGU+U3F1aWRvbyA6IFdlbGNvbWUgdG8gU3F1aWRvbzwvdGl0bGU+CiAg PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwOi8vdGhlLnNxdWlk b29jZG4uY29tL3N0eWxlcy9zdHlsZXMudjYyMTEwODgxNS5jc3MiIC8+Cjxs aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cDovL3RoZS5zcXVpZG9v Y2RuLmNvbS9zdHlsZXMvc3R5bGVfaG9tZS52Mjk2MzYyMDQ1MS5jc3MiIC8+ CiAgICA8IS0tW2lmIGllIDhdPgogICAgICA8bGluayByZWw9InN0eWxlc2hl ZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIvc3R5bGVzL2llOC5jc3MiIC8+ CiAgICA8IVtlbmRpZl0tLT4KICAgIDwhLS1baWYgaWUgN10+CiAgICAgIDxs aW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Ii9z dHlsZXMvaWU3LmNzcyIgLz4KICAgIDwhW2VuZGlmXS0tPgogICAgPCEtLVtp ZiBpZSA2XT4KICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0 ZXh0L2NzcyIgaHJlZj0iL3N0eWxlcy9pZTYuY3NzIiAvPgogICAgPCFbZW5k aWZdLS0+IAogICAgICAgICAgICAgIDxtZXRhIG5hbWU9ImRlc2NyaXB0aW9u IiBjb250ZW50PSJTcXVpZG9vLiBUaGUgcG9wdWxhciAoZnJlZSkgc2l0ZSBm b3IgY3JlYXRpbmcgc2luZ2xlIHdlYnBhZ2VzIG9uIHlvdXIgaW50ZXJlc3Rz IGFuZCByZWNvbW1lbmRhdGlvbnMuIEV2ZW4gZWFybiBtb25leSBmb3IgY2hh cml0eSBvciB5b3Vyc2VsZi4iPgogICAgICAgICAgICAgIDxtZXRhIG5hbWU9 InZlcmlmeS12MSIgY29udGVudD0iWTlQcWxjRmFHU1BCcU5ncUFlSE9IbWY0 RlZ6MzNGV09tcHZ4cWZtMVkrTT0iPgogICAgICAgICAgICAgIDxtZXRhIG5h bWU9Inlfa2V5IiBjb250ZW50PSIxMzlhNmY4MjEzNWViYzZmIj4KICAgICAg ICAgICAgICA8bWV0YSBuYW1lPSJtc3ZhbGlkYXRlLjAxIiBjb250ZW50PSI0 NzI5OEM1Rjk1QkFCMUVFMUIxMjY1MzI1MEUxMzE0MCI+CiAgICAgICAgICAg IDxsaW5rIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2Uvdm5kLm1pY3Jvc29mdC5p Y29uIiBocmVmPSJodHRwOi8vdGhlLnNxdWlkb29jZG4uY29tL2ltYWdlcy9m YXZpY29uLmljbyIgLz4KICA8bGluayByZWw9IlNIT1JUQ1VUIElDT04iIGhy ZWY9Imh0dHA6Ly90aGUuc3F1aWRvb2Nkbi5jb20vaW1hZ2VzL2Zhdmljb24u aWNvIi8+CiAgICAKICA8c2NyaXB0IHNyYz0iLy9hamF4Lmdvb2dsZWFwaXMu Y29tL2FqYXgvbGlicy9qcXVlcnkvMS43LjEvanF1ZXJ5Lm1pbi5qcyI+PC9z Y3JpcHQ+CjxzY3JpcHQ+IXdpbmRvdy5qUXVlcnkgJiYgZG9jdW1lbnQud3Jp dGUodW5lc2NhcGUoJyUzQ3NjcmlwdCBzcmM9Imh0dHA6Ly90aGUuc3F1aWRv b2Nkbi5jb20vc2NyaXB0cy9qcXVlcnkvanF1ZXJ5LTEuNy4xLm1pbi5qcyIl M0UlM0Mvc2NyaXB0JTNFJykpPC9zY3JpcHQ+CjxzY3JpcHQ+JEogPSBqUXVl cnkubm9Db25mbGljdCgpOzwvc2NyaXB0Pgo8c2NyaXB0PgpTcXVpZG9vPXtz dGF0aWNob3N0OidodHRwOi8vdGhlLnNxdWlkb29jZG4uY29tJyxfX2dlbmVy YXRlZF9fOicyMDEyLTAzLTA2VDE2OjA1OjUyLTA1OjAwJyxob3N0OidodHRw Oi8vd3d3LnNxdWlkb28uY29tJyxzZWN1cmU6J2h0dHBzOi8vd3d3LnNxdWlk b28uY29tJyxfX2NhcHRjaGFfXzonX3NxdWlkY2FwX2UnLERFUFM6e319O1Nx dWlkb28uREVQUy5KUVVFUlk9e3NyYzonLy9hamF4Lmdvb2dsZWFwaXMuY29t L2FqYXgvbGlicy9qcXVlcnkvMS42LjQvanF1ZXJ5Lm1pbi5qcycsYWx0Oidq cXVlcnkvanF1ZXJ5LTEuNi40Lm1pbicsaXNMb2FkZWQ6ZnVuY3Rpb24oY2Fs bGJhY2spe2lmKCdqUXVlcnknaW4gd2luZG93KXtpZihqUXVlcnkuZm4uanF1 ZXJ5LnN1YnN0cigwLDMpPj0xLjYpe2NhbGxiYWNrKHRydWUpO31lbHNle2pR dWVyeT1udWxsO2NhbGxiYWNrKGZhbHNlKTt9fWVsc2V7Y2FsbGJhY2soZmFs c2UpO319LG9uTG9hZDpmdW5jdGlvbihjYWxsYmFjayl7d2luZG93LiRKPWpR dWVyeS5ub0NvbmZsaWN0KCkKY2FsbGJhY2soKTt9fTtTcXVpZG9vLkRFUFMu VFJBQ0tFUj17c3JjOidzcXVpZG9vL2xpYi90cmFja2VyJyxpc0xvYWRlZDpm dW5jdGlvbihjYWxsYmFjayl7Y2FsbGJhY2soU3F1aWRvby5UcmFja2VyJiZT cXVpZG9vLlRyYWNrZXIubGliKTt9fTtTcXVpZG9vLkRFUFMuSlFVRVJZX1VJ PXtkZXBzOltTcXVpZG9vLkRFUFMuSlFVRVJZXSxzcmM6Jy8vYWpheC5nb29n bGVhcGlzLmNvbS9hamF4L2xpYnMvanF1ZXJ5dWkvMS44LjE2L2pxdWVyeS11 aS5taW4uanMnLGFsdDonanF1ZXJ5L2pxdWVyeS11aS0xLjguMTYubWluJyxp c0xvYWRlZDpmdW5jdGlvbihjYWxsYmFjayl7Y2FsbGJhY2soalF1ZXJ5LnVp JiZqUXVlcnkudWkudmVyc2lvbj09JzEuOC4xNicpO319O1NxdWlkb28uREVQ Uy5URU1QTEFURVM9e2RlcHM6W1NxdWlkb28uREVQUy5KUVVFUlldLHNyYzon L3NjcmlwdHMvc3F1aWRvby9saWIvdGVtcGxhdGVzLnYyMjAyNjU2NTEzLmpz Jyxpc0xvYWRlZDpmdW5jdGlvbihjYWxsYmFjayl7Y2FsbGJhY2soU3F1aWRv by5UZW1wbGF0ZXMmJlNxdWlkb28uVGVtcGxhdGVzLmxpYik7fX07U3F1aWRv by5ERVBTLkNPVU5URE9XTj17ZGVwczpbXSxzcmM6Jy9zY3JpcHRzL2NvdW50 ZG93bi9jb3VudGRvd24udjEyMjExNTExNjAuanMnLGlzTG9hZGVkOmZ1bmN0 aW9uKGNhbGxiYWNrKXtjYWxsYmFjayh3aW5kb3cuc3F1aWR0aW1lKTt9fTtT cXVpZG9vLkRFUFMuVkFMSURBVElPTj17ZGVwczpbU3F1aWRvby5ERVBTLkpR VUVSWV0sc3JjOicvc2NyaXB0cy9zcXVpZG9vL2NvcmUvdmFsaWRhdGlvbi52 MzUzNDcxMzY1LmpzJyxpc0xvYWRlZDpmdW5jdGlvbihjYWxsYmFjayl7Y2Fs bGJhY2soU3F1aWRvby5WYWxpZGF0aW9uJiZTcXVpZG9vLlZhbGlkYXRpb24u bGliKTt9fTtTcXVpZG9vLkRFUFMuQVVUT0NPTVBMRVRFPXtkZXBzOltTcXVp ZG9vLkRFUFMuSlFVRVJZX1VJXSxzcmM6J3NxdWlkb28vY29yZS9hdXRvY29t cGxldGUnLGlzTG9hZGVkOmZ1bmN0aW9uKGNhbGxiYWNrKXtjYWxsYmFjayhT cXVpZG9vLkF1dG9jb21wbGV0ZSYmU3F1aWRvby5BdXRvY29tcGxldGUubGli KTt9fTtTcXVpZG9vLkRFUFMuTUVESUE9e2RlcHM6W1NxdWlkb28uREVQUy5K UVVFUlldLHNyYzonc3F1aWRvby9jb3JlL21lZGlhJyxpc0xvYWRlZDpmdW5j dGlvbihjYWxsYmFjayl7Y2FsbGJhY2soU3F1aWRvby5NZWRpYSYmU3F1aWRv by5NZWRpYS5VcGxvYWRhYmxlKTt9fTtTcXVpZG9vLkRFUFMuVE9PTFRJUD17 ZGVwczpbU3F1aWRvby5ERVBTLkpRVUVSWSxTcXVpZG9vLkRFUFMuSlFVRVJZ X1VJXSxzcmM6J3NxdWlkb28vbGliL3Rvb2x0aXAnLGlzTG9hZGVkOmZ1bmN0 aW9uKGNhbGxiYWNrKXtjYWxsYmFjayhqUXVlcnkuZm4ucG9pbnRlcil9fTtT cXVpZG9vLkRFUFMuTk9USUZZQkFSPXtkZXBzOltTcXVpZG9vLkRFUFMuSlFV RVJZXSxzcmM6J3NxdWlkb28vbGliL25vdGlmeWJhcicsaXNMb2FkZWQ6ZnVu Y3Rpb24oY2FsbGJhY2spe2NhbGxiYWNrKHdpbmRvdy5Ob3RpZnlCYXIpfX07 U3F1aWRvby5ERVBTLlVQTE9BRD17ZGVwczpbU3F1aWRvby5ERVBTLkpRVUVS WV0sc3JjOidzcXVpZG9vL2xpYi9wbHVwbG9hZC9wbHVwbG9hZC5zcXVpZG9v Jyxpc0xvYWRlZDpmdW5jdGlvbihjYWxsYmFjayl7Y2FsbGJhY2soU3F1aWRv by5VcGxvYWQubGliKX19O1NxdWlkb28uREVQUy5GQUNFQk9PSz17ZGVwczpb U3F1aWRvby5ERVBTLkpRVUVSWV0sc3JjOicvc2NyaXB0cy9zcXVpZG9vL2xp Yi9mYWNlYm9vay52MTM2MzUzODc1MC5qcycsaXNMb2FkZWQ6ZnVuY3Rpb24o Y2FsbGJhY2spe2NhbGxiYWNrKFNxdWlkb28uRmFjZWJvb2smJlNxdWlkb28u RmFjZWJvb2subGliKTt9LG9uTG9hZDpmdW5jdGlvbihjYWxsYmFjayl7U3F1 aWRvby53YWl0Rm9yU2VsZWN0aW9uKCdib2R5JyxmdW5jdGlvbigpeyRKKCdi b2R5JykucHJlcGVuZCgnPGRpdiBpZD0iZmItcm9vdCI+PC9kaXY+Jyk7d2lu ZG93LmZiQXN5bmNJbml0PWZ1bmN0aW9uKCl7RkIuaW5pdCh7Y2hhbm5lbFVy bDonL2NoYW5uZWwuaHRtbCcsYXBwSWQ6JzM3NDU5MzgwMDQ5JyxzdGF0dXM6 dHJ1ZSxjb29raWU6dHJ1ZSx4ZmJtbDp0cnVlLG9hdXRoOnRydWV9KTtTcXVp ZG9vLkZhY2Vib29rLmluaXQoKTtTcXVpZG9vLkZhY2Vib29rLnNka0xvYWRl ZD10cnVlO2NhbGxiYWNrKCk7fTsoZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVu dC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtlLmFzeW5jPXRydWU7ZS5zcmM9 ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wrJy8vY29ubmVjdC5mYWNlYm9v ay5uZXQvZW5fVVMvYWxsLmpzJztkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn ZmItcm9vdCcpLmFwcGVuZENoaWxkKGUpO30oKSk7fSk7fX07U3F1aWRvby5G YWNlYm9vaz17YXBwSWQ6JzM3NDU5MzgwMDQ5JyxzZGtMb2FkZWQ6ZmFsc2Us ZGVmYXVsdFBpY3R1cmU6J2h0dHA6Ly9pMi5zcXVpZG9vY2RuLmNvbS9yZXNp emVfc3F1YXJlL3NxdWlkb29faW1hZ2VzLzUwL2xtX3BsYWNlaG9sZGVyLmpw ZycscmVsb2FkOmZ1bmN0aW9uKGJ0bixjYWxsYmFjayl7aWYoJC5pc0Z1bmN0 aW9uKGJ0bikpe2NhbGxiYWNrPWJ0bjtidG49bnVsbDt9CkZCLmluaXQoe2No YW5uZWxVcmw6Jy9jaGFubmVsLmh0bWwnLGFwcElkOiczNzQ1OTM4MDA0OScs c3RhdHVzOnRydWUsY29va2llOnRydWUseGZibWw6dHJ1ZSxvYXV0aDp0cnVl fSk7c2VsZi5zZGtMb2FkZWQ9dHJ1ZTtpZigkLmlzRnVuY3Rpb24oY2FsbGJh Y2spKXtjYWxsYmFjayh0cnVlKTt9CmlmKGJ0bil7JEooYnRuKS5yZW1vdmVD bGFzcygnYnRuX3dvcmtpbmcnKTt9fSx3aXRoRkI6ZnVuY3Rpb24oY2FsbGJh Y2spe2lmKFNxdWlkb28uRmFjZWJvb2suc2RrTG9hZGVkKXtjYWxsYmFjaygp O31lbHNle3ZhciBpPXNldEludGVydmFsKGZ1bmN0aW9uKCl7aWYoU3F1aWRv by5GYWNlYm9vay5zZGtMb2FkZWQpe2NsZWFySW50ZXJ2YWwoaSk7Y2FsbGJh Y2soKTt9fSwxMDApO319fTskSi5leHRlbmQoU3F1aWRvb3x8e30se2lzTW9i aWxlOicnLGlzSVBhZDonJyxpc0lPUzonJ30pO3RoZUxlbnNOYW1lPScnO3Ro ZUxlbnNJZD0nJzt0aGVSZXF1ZXN0U2VydmVyTmFtZT0nd3d3LnNxdWlkb28u Y29tJzt0aGVTZXJ2ZXJOYW1lPSd3d3cuc3F1aWRvby5jb20nO2lzTG9nZ2Vk SW49ZmFsc2U7aGFzR2FtaW5nPWZhbHNlO3RoZVdpbmRvd1ByZWY9ZmFsc2U7 dGhlTGVuc093bmVyPWZhbHNlO3RoZU1lbWJlcj1mYWxzZTtpc01BUD1mYWxz ZTs8L3NjcmlwdD48c2NyaXB0IHNyYz0iaHR0cDovL3RoZS5zcXVpZG9vY2Ru LmNvbS9zY3JpcHRzL3NxdWlkb28vY29yZS9zcXVpZG9vLnYzOTMxMjk2MDk3 LmpzIj48L3NjcmlwdD4KICAgIDwhLS0gYWRzZW5zZSBzZXR1cCAtLT4KICA8 c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwOi8vcGFy dG5lci5nb29nbGVhZHNlcnZpY2VzLmNvbS9nYW1wYWQvZ29vZ2xlX3NlcnZp Y2UuanMiPgogIDwvc2NyaXB0PgogIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh c2NyaXB0Ij4KICAgIEdTX2dvb2dsZUFkZEFkU2Vuc2VTZXJ2aWNlKCJjYS1w dWItOTg3OTE2Mjc3Njc4NDgyOCIpOwogICAgR1NfZ29vZ2xlRW5hYmxlQWxs U2VydmljZXMoKTsKICA8L3NjcmlwdD4KICA8c2NyaXB0PgogIAogICAgR0Ff Z29vZ2xlQWRkU2xvdCgiY2EtcHViLTk4NzkxNjI3NzY3ODQ4MjgiLCAic3F1 aWRvb19nZW5lcmljXzcyOHg5MF90b3AiKTsKICAgIEdBX2dvb2dsZUFkZFNs b3QoImNhLXB1Yi05ODc5MTYyNzc2Nzg0ODI4IiwgInNxdWlkb29fZ2VuZXJp Y18zMDB4MjUwX3NpZGViYXJ0b3AiKTsKICAgIEdBX2dvb2dsZUFkZFNsb3Qo ImNhLXB1Yi05ODc5MTYyNzc2Nzg0ODI4IiwgInNxdWlkb29fZ2VuZXJpY18x NjB4NjAwX3NpZGViYXJib3R0b20iKTsKICAgIEdBX2dvb2dsZUFkZFNsb3Qo ImNhLXB1Yi05ODc5MTYyNzc2Nzg0ODI4IiwgIkNoaXRpa2E6U2lkZWJhcjMw MHg0MDAiKTsKICAgIEdBX2dvb2dsZUFkZFNsb3QoImNhLXB1Yi05ODc5MTYy Nzc2Nzg0ODI4IiwgInNheV9tZWRpYV90d2lnIik7CgogICAgR0FfZ29vZ2xl RmV0Y2hBZHMoKTsKICA8L3NjcmlwdD48IS0tIC9hZHNlbnNlIHNldHVwIC0t PgogIDxzY3JpcHQ+CiAgdmFyIF9nYXEgPSBfZ2FxIHx8IFtdOwogIF9nYXEu cHVzaChbJ19zZXRBY2NvdW50JywgJ1VBLTE4NTIwOS0yJ10sWydfc2V0RG9t YWluTmFtZScsICd3d3cuc3F1aWRvby5jb20nXSxbJ19zZXRDdXN0b21WYXIn LCAxLCAnUm9sZScsICd2aXNpdG9yJywgMV0sWydfdHJhY2tQYWdldmlldydd LFsnc3Fldi5fc2V0QWNjb3VudCcsICdVQS0xODUyMDktMTYnXSxbJ3NxZXYu X3NldERvbWFpbk5hbWUnLCAnd3d3LnNxdWlkb28uY29tJ10sWydzcWV2Ll90 cmFja1BhZ2V2aWV3J10pOyAvLyBlbmQgZ2FxLnB1c2gKCiAgLy8gCiAgLy8g R29vZ2xlIEFuYWx5dGljcyBsYXp5LWxvYWQKICAvLwogIChmdW5jdGlvbigp IHsKICAgIHZhciB1c2VfZGVidWcgPSBmYWxzZTsgZmFsc2U7CiAgICB2YXIg Z2EgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsgZ2EudHlw ZSA9ICd0ZXh0L2phdmFzY3JpcHQnOyBnYS5hc3luYyA9IHRydWU7CiAgICBn YS5zcmMgPSAoJ2h0dHBzOicgPT0gZG9jdW1lbnQubG9jYXRpb24ucHJvdG9j b2wgPyAnaHR0cHM6Ly9zc2wnIDogJ2h0dHA6Ly93d3cnKSArICcuZ29vZ2xl LWFuYWx5dGljcy5jb20vJyArICh1c2VfZGVidWcgPyAndS9nYV9kZWJ1Zy5q cycgOiAnZ2EuanMnKTsKICAgIHZhciBzID0gZG9jdW1lbnQuZ2V0RWxlbWVu dHNCeVRhZ05hbWUoJ3NjcmlwdCcpWzBdOyBzLnBhcmVudE5vZGUuaW5zZXJ0 QmVmb3JlKGdhLCBzKTsKICB9KSgpOwoKICB2YXIgZXZUcmFjayA9IGZ1bmN0 aW9uKGNhdGVnb3J5LCBhY3Rpb24sIG9wdF9sYWJlbCwgb3B0X3ZhbHVlKSB7 CiAgICB0cnkgewogICAgICAgICAgICAgIF9nYXEucHVzaChbJ190cmFja0V2 ZW50JywgY2F0ZWdvcnksIGFjdGlvbiwgb3B0X2xhYmVsLCBvcHRfdmFsdWVd KTsKICAgICAgICAgIH0gY2F0Y2ggKGV4KSB7fQogIH07CgogIHZhciBldlNv Y2lhbCA9IGZ1bmN0aW9uKG5ldHdvcmssIHNvY2lhbEFjdGlvbiwgb3B0X3Rh cmdldCwgb3B0X3BhZ2VQYXRoKSB7CiAgICB0cnkgewogICAgICAgICAgICAg IF9nYXEucHVzaChbJ190cmFja1NvY2lhbCcsIG5ldHdvcmssIHNvY2lhbEFj dGlvbiwgb3B0X3RhcmdldCwgb3B0X3BhZ2VQYXRoXSk7CiAgICAgICAgICB9 IGNhdGNoIChleCkge30KICB9OwoKICAvLyBsZW5zIHN0YXRzCiAgCiAgLy8K ICAvLyBxdWFudGNhc3QgYmVhY29uCiAgLy8KICB2YXIgX3FldmVudHMgPSBf cWV2ZW50cyB8fCBbXTsKCiAgKGZ1bmN0aW9uKCkgewogICAgdmFyIGVsZW0g PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgIGVsZW0u c3JjID0gKGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sID09ICJodHRwczoi ID8gImh0dHBzOi8vc2VjdXJlIiA6ICJodHRwOi8vZWRnZSIpICsgIi5xdWFu dHNlcnZlLmNvbS9xdWFudC5qcyI7CiAgICBlbGVtLmFzeW5jID0gdHJ1ZTsK ICAgIGVsZW0udHlwZSA9ICJ0ZXh0L2phdmFzY3JpcHQiOwogICAgdmFyIHNj cHQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0Jylb MF07CiAgICBzY3B0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGVsZW0sIHNj cHQpOwogIH0pKCk7CgogIF9xZXZlbnRzLnB1c2goewogICAgcWFjY3Q6InAt NWFNRFluTkxBZF94TSIKICB9KTsKCiAgICAgIC8vCiAgICAvLyBtaXggcGFu ZWwKICAgIC8vCiAgICAvLyB2YXIgbXBxPVtdO21wcS5wdXNoKFsiaW5pdCIs IjY4OGM4Zjc3NWFiZGU3YzExMzVkOGZlOGFlZWI4MjAxIl0pOyhmdW5jdGlv bigpe3ZhciBiLGEsZSxkLGM7Yj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJz Y3JpcHQiKTtiLnR5cGU9InRleHQvamF2YXNjcmlwdCI7Yi5hc3luYz10cnVl O2Iuc3JjPShkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbD09PSJodHRwczoi PyJodHRwczoiOiJodHRwOiIpKyIvL2FwaS5taXhwYW5lbC5jb20vc2l0ZV9t ZWRpYS9qcy9hcGkvbWl4cGFuZWwuanMiO2E9ZG9jdW1lbnQuZ2V0RWxlbWVu dHNCeVRhZ05hbWUoInNjcmlwdCIpWzBdO2EucGFyZW50Tm9kZS5pbnNlcnRC ZWZvcmUoYixhKTtlPWZ1bmN0aW9uKGYpe3JldHVybiBmdW5jdGlvbigpe21w cS5wdXNoKFtmXS5jb25jYXQoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwo YXJndW1lbnRzLDApKSl9fTtkPVsiaW5pdCIsInRyYWNrIiwidHJhY2tfbGlu a3MiLCJ0cmFja19mb3JtcyIsInJlZ2lzdGVyIiwicmVnaXN0ZXJfb25jZSIs ImlkZW50aWZ5IiwibmFtZV90YWciLCJzZXRfY29uZmlnIl07Zm9yKGM9MDtj PGQubGVuZ3RoO2MrKyl7bXBxW2RbY11dPWUoZFtjXSl9fSkoKTsKICAgICAg PC9zY3JpcHQ+Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+dmFy IE5SRVVNUT1OUkVVTVF8fFtdO05SRVVNUS5wdXNoKFsibWFyayIsImZpcnN0 Ynl0ZSIsbmV3IERhdGUoKS5nZXRUaW1lKCldKTs8L3NjcmlwdD4KICAKICAg IAo8L2hlYWQ+IDxib2R5ICBjbGFzcz0iaG9tZV9wYWdlIj4KICAgIDwhLS1J TkZPTElOS1NfT0ZGLS0+CiAgICA8ZGl2IGlkPSJzcXVpZG5hdl93cmFwIiBj bGFzcz0iY29udGFpbmVyIj4KICA8ZGl2IGlkPSJzcXVpZG5hdiIgY2xhc3M9 InJvdyI+CiAgICAKICAgIDxkaXYgaWQ9InNxdWlkbmF2X2xlZnQiIGNsYXNz PSJmbG9hdF9sZWZ0IHNpeCBjb2x1bW5zIj4KICAgICAgPHVsPgogICAgICAg ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBpZD0i dG9vbGJhcl9sb2dpbiIgaHJlZj0iaHR0cHM6Ly93d3cuc3F1aWRvby5jb20v bWVtYmVyL2xvZ2luIj5Mb2cgSW48L2E+PC9saT4KICAgICAgICAgICAgICAg ICAgICAKICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LnNxdWlk b28uY29tL3RvcGljcyI+RXhwbG9yZSBUb3BpY3M8L2E+PC9saT4KICAgICAg ICAgICAgICAgICAgICAKICAgICAgICAgIDxsaT48YSBvbmNsaWNrPSJfZ2Fx LnB1c2goWydfdHJhY2tFdmVudCcsICdTaWduIFVwJywgJ0pvaW4gVXMnXSk7 IiBocmVmPSJodHRwOi8vd3d3LnNxdWlkb28uY29tL21lbWJlci9yZWdpc3Ry YXRpb24iIGNsYXNzPSJvbmlvbl8xNSBib2xkIGNhcHMiPkpvaW4gVXM8L2E+ PC9saT4KICAgICAgICAgICAgICA8L3VsPgogICAgPC9kaXY+CiAgICA8ZGl2 IGlkPSJzcXVpZG5hdl9yaWdodCIgY2xhc3M9ImZsb2F0X3JpZ2h0IHNpeCBj b2x1bW5zIj4KICAgICAgICAgICAgPGZvcm0gaWQ9ImhlYWRlcl9zZWFyY2gi IG1ldGhvZD0iZ2V0IiBhY3Rpb249Imh0dHA6Ly93d3cuc3F1aWRvby5jb20v c2VhcmNoL3Jlc3VsdHMiIG5hbWU9InNlYXJjaEZvcm0iPgogICAgICAgICAg ICAgICAgPGlucHV0IGlkPSJxdWVyeSIgY2xhc3M9InNlYXJjaEZpZWxkIiB0 eXBlPSJ0ZXh0IiBvbmZvY3VzPSJ0aGlzLnZhbHVlID0gJyc7IiB2YWx1ZT0i U2VhcmNoIFNxdWlkb28iIG5hbWU9InEiLz4KICAgICAgICA8YnV0dG9uIGlk PSJidG5fc2VhcmNoX2dvIiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJHbyI+R288 L2J1dHRvbj4KICAgICAgPC9mb3JtPgogICAgPC9kaXY+CiAgPC9kaXY+Cjwv ZGl2PgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogIChmdW5j dGlvbigkKSB7CiAgICAkKGZ1bmN0aW9uKCkgewogICAgICBpZiAoc2NyZWVu LndpZHRoIDw9IDgwMCkgewogICAgICAgICQoJyNzcXVpZG5hdl93cmFwJyku Y3NzKCdwb3NpdGlvbicsICdzdGF0aWMnKTsKICAgICAgICAkKCdib2R5Jyku Y3NzKCdwYWRkaW5nLXRvcCcsICcwJyk7CiAgICAgIH0gICAgCiAgICB9KTsg IAogICAgCiAgICAkKCcjc3F1aWRuYXYgZGl2JykubGl2ZSgnbW91c2VlbnRl cicsIGZ1bmN0aW9uKCkgewogICAgICAkKHRoaXMpLnBhcmVudHMoJ2xpJyku YWRkQ2xhc3MoJ2FjdGl2ZV9saScpOwogICAgfSkubGl2ZSgnbW91c2VsZWF2 ZScsIGZ1bmN0aW9uKCkgewogICAgICAkKHRoaXMpLnBhcmVudHMoJ2xpJyku cmVtb3ZlQ2xhc3MoJ2FjdGl2ZV9saScpOwogICAgfSk7CiAgfSkoalF1ZXJ5 KTsKPC9zY3JpcHQ+PGRpdiBpZD0iaGVhZGVyX3dyYXAiPgogIDxkaXYgaWQ9 ImhlYWRlciI+CiAgICA8aDE+PGEgaHJlZj0iaHR0cDovL3d3dy5zcXVpZG9v LmNvbS8iPlNxdWlkb288L2E+PC9oMT4KICAgICAgICAgICAgICA8L2Rpdj4K PC9kaXY+Cgo8ZGl2IGlkPSJzZ19jb250YWluZXIiPjwvZGl2PgoKICAgIDxk aXYgaWQ9ImNvbnRlbnRfd3JhcCI+CiAgICAgIDxkaXYgaWQ9ImNvbnRlbnQi PgogICAgICAgIDxkaXYgaWQ9ImhvbWVfdG9wX3dyYXAiPgogIDxkaXYgaWQ9 ImhvbWVfdG9wIj4KICAgIDxoMj5XaGF0J3MgeW91ciBzdG9yeT88L2gyPgog ICAgPHAgY2xhc3M9ImZvbnQyNCI+Q3JlYXRlIGEgY29sbGVjdGlvbiBvZiB0 aGUgdGhpbmdzIHlvdSBrbm93IGFuZCBsb3ZlLiAKICAgICAgPGEgaHJlZj0i L2xlbnNicmFpbnN0b3JtIj4KICAgICAgICAgICAgICAgICAgTGVhcm4gaG93 LgogICAgICAgICAgICAgIDwvYT4KICAgIDwvcD4KICAgIDxkaXYgaWQ9Imhv bWVfYnRuIj4KICAgICAgICAgICAgICA8YSBjbGFzcz0iaG9tZV9zaWdudXAi IGhyZWY9Imh0dHBzOi8vd3d3LnNxdWlkb28uY29tL21lbWJlci9yZWdpc3Ry YXRpb24iPkpvaW4gZm9yIGZyZWUhPC9hPgogICAgICAgIDxzcGFuIGNsYXNz PSJmb250MTEiPmFuZCBidWlsZCBhIHBhZ2UgaW4gbWludXRlczwvc3Bhbj4K ICAgICAgICAKICAgIDwvZGl2PgogIDwvZGl2Pgo8L2Rpdj4KCjxkaXYgaWQ9 ImVycm9ycyIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+CiAgPC9kaXY+CjxkaXYg aWQ9ImluZm8iIGNsYXNzPSJhbGVydF9ib3giIHN0eWxlPSJkaXNwbGF5Om5v bmUiPgogIDxwIGNsYXNzPSJmb250MTMiPjxhIHN0eWxlPSJkaXNwbGF5OiBi bG9jazsgZmxvYXQ6IHJpZ2h0OyBtYXJnaW46IDAgMCAxMHB4IDEwcHg7IiBo cmVmPSIjIiBvbmNsaWNrPSJqUXVlcnkoJyNpbmZvJykuZmFkZU91dCgnc2xv dycpOyI+Q2xvc2U8L2E+IDwvcD4KPC9kaXY+CjxoMz5Qb3B1bGFyIFBhZ2Vz PC9oMz4KCjxkaXYgaWQ9ImhvbWVfbGVmdCIgY2xhc3M9ImNsZWFyIj4KICA8 ZGl2IGNsYXNzPSJob21lX2xlbnNlcyBzcGlubmVyIj48L2Rpdj4KPC9kaXY+ PCEtLSAjaG9tZV9sZWZ0IC0tPgoKPGRpdiBpZD0iaG9tZV9yaWdodCI+CiAg CiAgPGRpdiBpZD0iZXhwbG9yZV9ib3giIGNsYXNzPSJob21lX3NiX2l0ZW0i PgogICAgPGgzIGNsYXNzPSIiPgogICAgICAgIEV4cGxvcmUgVG9waWNzPC9o Mz4KICAgIDx1bCBjbGFzcz0ibm9fc3R5bGUiPgogICAgICAgCiAgICAgICAg PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuc3F1aWRvby5jb20vdG9waWNzL2Zv b2QtYW5kLWNvb2tpbmciPkZvb2QgJmFtcDsgQ29va2luZzwvYT48L2xpPiAK ICAgICAgIAogICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LnNxdWlk b28uY29tL3RvcGljcy9ob2JiaWVzLWdhbWVzLXRveXMiPkhvYmJpZXMsIEdh bWVzICZhbXA7IFRveXM8L2E+PC9saT4gCiAgICAgICAKICAgICAgICA8bGk+ PGEgaHJlZj0iaHR0cDovL3d3dy5zcXVpZG9vLmNvbS90b3BpY3MvcGFyZW50 aW5nLWFuZC1raWRzIj5QYXJlbnRpbmcgJmFtcDsgS2lkczwvYT48L2xpPiAK ICAgICAgIAogICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LnNxdWlk b28uY29tL3RvcGljcy9wZXRzLWFuZC1hbmltYWxzIj5QZXRzICZhbXA7IEFu aW1hbHM8L2E+PC9saT4gCiAgICAgICAKICAgICAgICA8bGk+PGEgaHJlZj0i aHR0cDovL3d3dy5zcXVpZG9vLmNvbS90b3BpY3MvYm9va3MtcG9ldHJ5LXdy aXRpbmciPkJvb2tzLCBQb2V0cnkgJmFtcDsgV3JpdGluZzwvYT48L2xpPiAK ICAgICAgIAogICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LnNxdWlk b28uY29tL3RvcGljcy92aWRlb2dhbWVzIj5WaWRlbyBHYW1lczwvYT48L2xp PiAKICAgICAgIAogICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LnNx dWlkb28uY29tL3RvcGljcy9ob21lLWFuZC1nYXJkZW4iPkhvbWUgJmFtcDsg R2FyZGVuPC9hPjwvbGk+IAogICAgICAgCiAgICAgICAgPGxpPjxhIGhyZWY9 Imh0dHA6Ly93d3cuc3F1aWRvby5jb20vdG9waWNzL2hvbGlkYXlzLWFuZC1j ZWxlYnJhdGlvbnMiPkhvbGlkYXlzICZhbXA7IENlbGVicmF0aW9uczwvYT48 L2xpPiAKICAgICAgIAogICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3 LnNxdWlkb28uY29tL3RvcGljcy90cmF2ZWwtYW5kLXBsYWNlcyI+VHJhdmVs ICZhbXA7IFBsYWNlczwvYT48L2xpPiAKICAgICAgIAogICAgICAgIDxsaT48 YSBocmVmPSJodHRwOi8vd3d3LnNxdWlkb28uY29tL3RvcGljcy9mYXNoaW9u LWFuZC1iZWF1dHkiPkZhc2hpb24gJmFtcDsgQmVhdXR5PC9hPjwvbGk+IAog ICAgICAgCiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuc3F1aWRv by5jb20vdG9waWNzL3dlZGRpbmdzIj5XZWRkaW5nczwvYT48L2xpPiAKICAg ICAgIAogICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LnNxdWlkb28u Y29tL3RvcGljcy9jb21wdXRlcnMtYW5kLWVsZWN0cm9uaWNzIj5Db21wdXRl cnMgJmFtcDsgRWxlY3Ryb25pY3M8L2E+PC9saT4gCiAgICAgICAKICAgICAg ICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5zcXVpZG9vLmNvbS90b3BpY3Mv ZWR1Y2F0aW9uIj5FZHVjYXRpb248L2E+PC9saT4gCiAgICAgICAKICAgICAg ICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5zcXVpZG9vLmNvbS90b3BpY3Mv YXJ0cy1hbmQtZGVzaWduIj5BcnRzICZhbXA7IERlc2lnbjwvYT48L2xpPiAK ICAgICAgIAogICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LnNxdWlk b28uY29tL3RvcGljcy9lbnRlcnRhaW5tZW50Ij5FbnRlcnRhaW5tZW50ICZh bXA7IE1lZGlhPC9hPjwvbGk+IAogICAgICAgCiAgICAgICAgPGxpPjxhIGhy ZWY9Imh0dHA6Ly93d3cuc3F1aWRvby5jb20vdG9waWNzL2N1bHR1cmUtYW5k LXNvY2lldHkiPkN1bHR1cmUgJmFtcDsgU29jaWV0eTwvYT48L2xpPiAKICAg ICAgIAogICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LnNxdWlkb28u Y29tL3RvcGljcy9tdXNpYyI+TXVzaWM8L2E+PC9saT4gCiAgICAgICAKICAg ICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5zcXVpZG9vLmNvbS90b3Bp Y3MvYnVzaW5lc3MtYW5kLXdvcmsiPkJ1c2luZXNzICZhbXA7IFdvcms8L2E+ PC9saT4gCiAgICAgICAKICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3 dy5zcXVpZG9vLmNvbS90b3BpY3Mvc3BvcnRzLWFuZC1yZWNyZWF0aW9uIj5T cG9ydHMgJmFtcDsgUmVjcmVhdGlvbjwvYT48L2xpPiAKICAgICAgIAogICAg ICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LnNxdWlkb28uY29tL3RvcGlj cy9jYXJzIj5DYXJzPC9hPjwvbGk+IAogICAgICAgCiAgICAgICAgPGxpPjxh IGhyZWY9Imh0dHA6Ly93d3cuc3F1aWRvby5jb20vdG9waWNzL25vbnByb2Zp dHMiPk5vbnByb2ZpdHM8L2E+PC9saT4gCiAgICAgICAKICAgICAgICA8bGk+ PGEgaHJlZj0iaHR0cDovL3d3dy5zcXVpZG9vLmNvbS90b3BpY3MvaGVhbHRo eS1saXZpbmciPkhlYWx0aHkgTGl2aW5nPC9hPjwvbGk+IAogICAgICAgCiAg ICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuc3F1aWRvby5jb20vdG9w aWNzL2ludGVybmV0Ij5JbnRlcm5ldDwvYT48L2xpPiAKICAgICAgIAogICAg ICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LnNxdWlkb28uY29tL3RvcGlj cy9yZWxhdGlvbnNoaXBzLWFuZC1mYW1pbHkiPlJlbGF0aW9uc2hpcHMgJmFt cDsgRmFtaWx5PC9hPjwvbGk+IAogICAgICAgICAgPC91bD4gCiAgICAgIDwv ZGl2PgogIAogIAogIDxkaXYgY2xhc3M9ImhvbWVfc2JfaXRlbSI+CiAgICA8 aDM+VGVzdGltb25pYWxzPC9oMz4KICAgIDx1bCBjbGFzcz0icXVvdGVzIj4K ICAgICAgICAgICAgICA8bGk+IkkgdXNlIG15IFNxdWlkb28gZWFybmluZ3Mg dG8gYnV5IG15IGZyZWVkb20gdG8gc3RheSBhdCBob21lIHdpdGggbXkga2lk cywgYmUgbXkgb3duIGJvc3MgYW5kIGRvIHdoYXQgSSBsb3ZlLiIKICAgICAg ICAgPHNwYW4+PGEgaHJlZj0iL2xlbnNtYXN0ZXJzL2Vuc2xhdmVkYnlmYWVy aWVzIj5lbnNsYXZlZGJ5ZmFlcmllczwvYT48L3NwYW4+CiAgICAgICAgICAg ICAgPGxpPiJUaGFua3MgdG8gY29udHJpYnV0ZWQgcm95YWx0aWVzIGZyb20g dGhvdXNhbmRzIG9mIGxlbnNtYXN0ZXJzLCBSb29tIHRvIFJlYWQgaGFzIGJ1 aWx0IGEgY29tcHV0ZXIgcm9vbSBmb3Iga2lkcyBpbiBLaGVyaSBLYWxhbiwg YW4gaW5kdXN0cmlhbCB0b3duIGluIEluZGlhLiBUaGFuayB5b3UgZm9yIGhl bHBpbmcgdXMgdG8gY3JlYXRlIGEgYnJpZ2h0ZXIgZnV0dXJlIHRocm91Z2gg ZWR1Y2F0aW9uLiIKICAgICAgICAgPHNwYW4+PGEgaHJlZj0iaHR0cDovL3d3 dy5yb29tdG9yZWFkLm9yZy8iPkpvaG4gV29vZCwgUm9vbSB0byBSZWFkPC9h Pjwvc3Bhbj4KICAgICAgICAgICAgICA8bGk+IlNxdWlkb28gd29ya3MuIEl0 J3MgYSBqb3kgdG8gdXMgdGhhdCBwZW9wbGUgZmluZCBTcXVpZG9vIGEgZ29v ZCB3YXkgdG8gdGVsbCB0aGVpciBzdG9yaWVzLiBJIGZlbHQgbGlrZSBJIHdh cyBoZWFyaW5nIHZvaWNlcyB0aGF0IHdlJ2QgbmV2ZXIgaGVhcmQgYmVmb3Jl LiBTcXVpZG9vIHVubG9ja2VkIHRoZW0uIgogICAgICAgICA8c3Bhbj48YSBo cmVmPSJodHRwOi8vd3d3LnBvbGx5a2xhYXMub3JnLyI+R2xlbmEgUmVjb3Jk cywgUG9sbHkgS2xhYXMgRm91bmRhdGlvbjwvYT48L3NwYW4+CiAgICAgICAg ICAgICAgPGxpPiJTcXVpZG9vIGlzIGFuIGFtYXppbmcgdmVoaWNsZSBmb3Ig c2VsZi1leHByZXNzaW9uLiIKICAgICAgICAgPHNwYW4+PGEgaHJlZj0iL2xl bnNtYXN0ZXJzL2tlbGx5bWFydGluc3BlYWtzIj5LZWxseU1hcnRpblNwZWFr czwvYT48L3NwYW4+CiAgICAgICAgICAgICAgPGxpPiJXb3JkIG9mIG1vdXRo IGF0IHlvdXIgZmluZ2VydGlwcy4iCiAgICAgICAgIDxzcGFuPjxhIGhyZWY9 Ii9sZW5zbWFzdGVycy9za3lzdWNjZXNzIj5Ta3lzdWNjZXNzPC9hPjwvc3Bh bj4KICAgICAgICAgIDwvdWw+CiAgPC9kaXY+CjwvZGl2PjwhLS0gI2hvbWVf cmlnaHQgLS0+Cgo8c2NyaXB0PgokSi5hamF4KHsKICB0eXBlOiAnUE9TVCcs CiAgZGF0YVR5cGU6ICdqc29uJywKICB1cmw6ICcvaG9tZS9qc29uX2hvbWUn LAogIHN1Y2Nlc3M6IGZ1bmN0aW9uKGNvbnRlbnQpIHsKICAgICRKKCcjaG9t ZV9sZWZ0JykuaHRtbChjb250ZW50LmxlbnNlcy5odG1sKTsKICB9Cn0pOwok SignI2hvbWVfbGVmdCAuc3Bpbm5lcicpLnNwaW4oU1BJTk5FUl9IT01FKTsK PC9zY3JpcHQ+CgogICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PCEtLSAv Y29udGVudCAtLT4KICAgIDwvZGl2PjwhLS0gL2NvbnRlbnRfd3JhcCAtLT4g IAogICAgPCEtLSBJTkZPTElOS1NfT0ZGIC0tPgo8ZGl2IGlkPSJmb290ZXJf d3JhcCIgY2xhc3M9ImNvbnRhaW5lciI+CiAgPGRpdiBpZD0iZm9vdGVyIiBj bGFzcz0icm93Ij4KICAgIAogICAgPGRpdiBjbGFzcz0iZm9vdGVyX2xlZnQg ZWlnaHQgY29sdW1ucyI+CiAgICAgIDx1bCBjbGFzcz0iZm9vdGVyX25hdiI+ CiAgICAgICAgPGxpIGNsYXNzPSJmaXJzdCI+PGEgaHJlZj0iaHR0cDovL3d3 dy5zcXVpZG9vLmNvbS9zcXVpZG9vLzY1MzU1NTAxLVRlcm1zLW9mLVNlcnZp Y2UiPlRPUzwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8v d3d3LnNxdWlkb28uY29tL29yaWdpbmFsaXR5cGFjdCI+T3JpZ2luYWxpdHkg UGFjdDwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3 LnNxdWlkb28uY29tL3BhZ2VzL3NxdWlkdGVhbSI+QWJvdXQgVXM8L2E+PC9s aT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5zcXVpZG9vaHEu Y29tLyI+U3F1aWRvb0hRPC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9 Imh0dHA6Ly93d3cuc3F1aWRvby5jb20vY2hhcml0eS1zaWduLXVwIj5DaGFy aXR5PC9hPjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0 cDovL3d3dy5zcXVpZG9vLmNvbS9zcXVpZG9vLzY1NDMxNDQxLUhlbHAtRmVl ZGJhY2sjbW9kdWxlODMwMTg2NzEiIG9uY2xpY2s9IiRTcS5idWcoKTsgcmV0 dXJuIGZhbHNlOyI+RmVlZGJhY2sgJmFtcDsgQnVnczwvYT48L2xpPgogICAg ICA8L3VsPgogICAgICA8IS0tIHJlbW92ZSAiI2Zvb3Rlcl9jb3B5IiBmcm9t IHN0eWxlc2hlZXQgLS0+CiAgICAgIDxkaXYgY2xhc3M9ImZvbnQxMiBmb290 ZXJfY29weSI+Q29weXJpZ2h0ICZjb3B5OyAyMDEyLAogICAgICAgIFNxdWlk b28sIExMQyBhbmQgcmVzcGVjdGl2ZSBjb3B5cmlnaHQgb3duZXJzPC9kaXY+ CiAgICAgIDxkaXYgY2xhc3M9ImZvbnQxMSBmb290ZXJfY29weSI+VGhpcyBw YWdlIGFuZCBhbGwgdGhlIHBhZ2VzIG9uIFNxdWlkb28gZ2VuZXJhdGUgaW5j b21lIGZvciBsZW5zbWFzdGVycyBhbmQgY2hhcml0aWVzIGJhc2VkIG9uIGFm ZmlsaWF0ZSByZWxhdGlvbnNoaXBzIHdpdGggb3VyIHBhcnRuZXJzLCBpbmNs dWRpbmcgQW1hem9uLCBHb29nbGUsIGVCYXkgYW5kIG90aGVycy4gSGF2ZSBm dW4uPC9kaXY+CiAgICA8L2Rpdj4KICAKICAgIDxkaXYgY2xhc3M9ImZvdXIg Y29sdW1ucyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyX3Jp Z2h0IiBpZD0ibmV3c19zdWIiID4KICAgICAgICAgIDxoNCBjbGFzcz0iZm9u dDEzIG5sX2g0Ij5XYW50IG91ciBOZXdzbGV0dGVyPzwvaDQ+CiAgICAgICAg ICA8Zm9ybSBhY3Rpb249IiMiIG9uc3VibWl0PSJOZXdzbGV0dGVyLnN1YnNj cmliZSh0aGlzKTsgcmV0dXJuIGZhbHNlOyI+CiAgICAgICAgICAgIDxpbnB1 dCB0eXBlPSJ0ZXh0IiBjbGFzcz0iaXRhbGljIG5sX2lucHV0IiAKICAgICAg ICAgICAgICBvbmZvY3VzPSJ0aGlzLnZhbHVlPScnOyBqUXVlcnkodGhpcy5y ZW1vdmVDbGFzcygnaXRhbGljJykpOyIgICAgICAgICAgICAgIGlkPSJmb290 ZXJfbmxfaW5wdXQiIG5hbWU9ImVtYWlsX2FkZHJlc3MiIHZhbHVlPSJlbnRl ciBlLW1haWwgYWRkcmVzcyIgLz4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFz cz0iYiBiMjQgZmxvYXRfbGVmdCIgdHlwZT0ic3VibWl0IiBpZD0iIj5TaWdu IHVwITwvYnV0dG9uPgogICAgICAgICAgPC9mb3JtPgogICAgICAgIDwvZGl2 PgogICAgICAgICAgPC9kaXY+CiAgICAKICA8L2Rpdj4KPC9kaXY+CjxzY3Jp cHQ+CihmdW5jdGlvbigkKSB7CiAgdmFyIHNlbGYgPSB3aW5kb3cuTmV3c2xl dHRlciA9IHsKICAgIHN1YnNjcmliZTogZnVuY3Rpb24oZm9ybSkgewogICAg ICB2YXIgZm9ybSA9ICQoZm9ybSk7CiAgICAgICQucG9zdCgnL21lbWJlci9h amF4X3N1YnNjcmliZS9zcXVpZHUnLCBmb3JtLnNlcmlhbGl6ZSgpLCBmdW5j dGlvbihlcnJvcikgewogICAgICAgIGlmIChlcnJvcikgewogICAgICAgICAg YWxlcnQoZXJyb3IpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBhbGVy dCgnVGhhbmsgeW91IGZvciBzdWJzY3JpYmluZyEnKTsKICAgICAgICAgICQo JyNuZXdzX3N1YicpLmZhZGVPdXQoKTsKICAgICAgICB9CiAgICAgIH0pOwog ICAgfQogIH07Cn0pKGpRdWVyeSk7Cjwvc2NyaXB0PgoKICAgICAgPHNjcmlw dD4KICAgICAgICBpZiAoalF1ZXJ5KCcudHdpdHRlci1zaGFyZS1idXR0b24n KS5zaXplKCkpIHsKICAgICAgICAgIGpRdWVyeS5nZXRTY3JpcHQoJ2h0dHA6 Ly9wbGF0Zm9ybS50d2l0dGVyLmNvbS93aWRnZXRzLmpzJywgZnVuY3Rpb24o KSB7CiAgICAgICAgICAgIHR3dHRyLmV2ZW50cy5iaW5kKCd0d2VldCcsIGZ1 bmN0aW9uKGV2ZW50KSB7CiAgICAgICAgICAgICAgZnVuY3Rpb24gZXh0cmFj dFBhcmFtRnJvbVVyaSh1cmksIHBhcmFtTmFtZSkgewogICAgICAgICAgICAg ICAgaWYgKCF1cmkpIHsKICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdmFyIHVyaSA9IHVyaS5z cGxpdCgnIycpWzBdOyAgLy8gUmVtb3ZlIGFuY2hvci4KICAgICAgICAgICAg ICAgIHZhciBwYXJ0cyA9IHVyaS5zcGxpdCgnPycpOyAgLy8gQ2hlY2sgZm9y IHF1ZXJ5IHBhcmFtcy4KICAgICAgICAgICAgICAgIGlmIChwYXJ0cy5sZW5n dGggPT0gMSkgewogICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICB2YXIgcXVlcnkgPSBkZWNvZGVV UkkocGFydHNbMV0pOwoKICAgICAgICAgICAgICAgIC8vIEZpbmQgdXJsIHBh cmFtLgogICAgICAgICAgICAgICAgcGFyYW1OYW1lICs9ICc9JzsKICAgICAg ICAgICAgICAgIHZhciBwYXJhbXMgPSBxdWVyeS5zcGxpdCgnJicpOwogICAg ICAgICAgICAgICAgZm9yICh2YXIgaSA9IDAsIHBhcmFtOyBwYXJhbSA9IHBh cmFtc1tpXTsgKytpKSB7CiAgICAgICAgICAgICAgICAgIGlmIChwYXJhbS5p bmRleE9mKHBhcmFtTmFtZSkgPT09IDApIHsKICAgICAgICAgICAgICAgICAg ICByZXR1cm4gdW5lc2NhcGUocGFyYW0uc3BsaXQoJz0nKVsxXSk7CiAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICB9ICAKCiAgICAgICAgICAgICAgaWYgKGV2ZW50KSB7CiAgICAgICAgICAg ICAgICB2YXIgdGFyZ2V0VXJsOwogICAgICAgICAgICAgICAgaWYgKGV2ZW50 LnRhcmdldCAmJiBldmVudC50YXJnZXQubm9kZU5hbWUgPT0gJ0lGUkFNRScp IHsKICAgICAgICAgICAgICAgICAgdGFyZ2V0VXJsID0gZXh0cmFjdFBhcmFt RnJvbVVyaShldmVudC50YXJnZXQuc3JjLCAndXJsJyk7CiAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICBldlNvY2lhbCgndHdpdHRlcicsICd0 d2VldCcsIHRhcmdldFVybCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAg ICB9KTsKICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgPC9zY3JpcHQ+ CiAgICAKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGxhbmd1YWdl PSJKYXZhU2NyaXB0Ij4KdmFyIF9jb21zY29yZSA9IF9jb21zY29yZSB8fCBb XTsKX2NvbXNjb3JlLnB1c2goeyBjMTogIjIiLCBjMjogIjYwMzUyMzMiIH0p OwooZnVuY3Rpb24oKSB7CiAgdmFyIHMgPSBkb2N1bWVudC5jcmVhdGVFbGVt ZW50KCJzY3JpcHQiKSwgZWwgPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO YW1lKCJzY3JpcHQiKVswXTsgcy5hc3luYyA9IHRydWU7CiAgcy5zcmMgPSAo ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wgPT0gImh0dHBzOiIgPyAiaHR0 cHM6Ly9zYiI6ICJodHRwOi8vYiIpICsgIi5zY29yZWNhcmRyZXNlYXJjaC5j b20vYmVhY29uLmpzIjsKICBlbC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShz LCBlbCk7Cn0pKCk7Cjwvc2NyaXB0Pgo8bm9zY3JpcHQ+CiAgICAgIDxpbWcg c3JjPSJodHRwOi8vYi5zY29yZWNhcmRyZXNlYXJjaC5jb20vcD9jMT0yJmMy PTYwMzUyMzMmY3Y9Mi4wJmNqPTEiIC8+CiAgICA8ZGl2IHN0eWxlPSJkaXNw bGF5Om5vbmU7Ij4KICAgIDxpbWcgc3JjPSIvL3BpeGVsLnF1YW50c2VydmUu Y29tL3BpeGVsL3AtNWFNRFluTkxBZF94TS5naWYiIGJvcmRlcj0iMCIgaGVp Z2h0PSIxIiB3aWR0aD0iMSIgYWx0PSJRdWFudGNhc3QiIC8+CiAgPC9kaXY+ Cjwvbm9zY3JpcHQ+Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+ aWYoIU5SRVVNUS5mKXtOUkVVTVEuZj1mdW5jdGlvbigpe05SRVVNUS5wdXNo KFsibG9hZCIsbmV3IERhdGUoKS5nZXRUaW1lKCldKTt2YXIgZT1kb2N1bWVu dC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtlLnR5cGU9InRleHQvamF2YXNj cmlwdCI7ZS5hc3luYz10cnVlO2Uuc3JjPSJodHRwczovL2Qxcm9zOTdxa3J3 amY1LmNsb3VkZnJvbnQubmV0LzMwL2V1bS9ydW0uanMiO2RvY3VtZW50LmJv ZHkuYXBwZW5kQ2hpbGQoZSk7aWYoTlJFVU1RLmEpTlJFVU1RLmEoKTt9O05S RVVNUS5hPXdpbmRvdy5vbmxvYWQ7d2luZG93Lm9ubG9hZD1OUkVVTVEuZjt9 O05SRVVNUS5wdXNoKFsibnJmMiIsImJlYWNvbi0xLm5ld3JlbGljLmNvbSIs IjNjZDM3ODZjZDciLDY1NzE0NCwiTVFkUWJCRUhDRUpZQVJkY0NRaE5jVTBR RWdsY0ZrZz0iLDAsMzUsbmV3IERhdGUoKS5nZXRUaW1lKCldKTs8L3Njcmlw dD4KCgo8ZGl2IGlkPSJkZWZhdWx0X29uaW9uIiBjbGFzcz0iZGVmYXVsdF9v bmlvbiIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij48L2Rpdj4KPGRpdiBpZD0i YWxlcnQtb3ZlcmxheSIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPjwvZGl2Pgo8 ZGl2IGlkPSJsZW5zX292ZXJsYXkiIGNsYXNzPSJvdmVybGF5X3dyYXAiIHN0 eWxlPSJkaXNwbGF5Om5vbmU7Ij48L2Rpdj4KCiAgPC9ib2R5Pgo8L2h0bWw+ http_version: !binary |- MS4x recorded_at: Tue, 06 Mar 2012 21:19:41 GMT recorded_with: VCR 2.0.0