From 9acc849e1befd6322187231052298e3475b57ca7 Mon Sep 17 00:00:00 2001 From: hantianfeng Date: Thu, 29 Aug 2024 14:07:24 +0800 Subject: [PATCH] php2cpp init --- .gitignore | 1 + bin/encryptor.php | 34 + bin/gen_rdata.php | 42 + bin/ignore_constants.php | 40 + cases/import.py | 1 + config/constants.php | 1937 ++++++++++++++++++++++++++++++++++++++ config/functions.php | 480 ++++++++++ examples/cases/const.php | 5 + examples/cases/if.php | 2 + examples/test.php | 23 + src/Php/Encryptor.php | 432 +++++++++ src/functions.php | 8 +- 12 files changed, 3001 insertions(+), 4 deletions(-) create mode 100644 bin/encryptor.php create mode 100644 bin/gen_rdata.php create mode 100644 bin/ignore_constants.php create mode 100644 cases/import.py create mode 100644 config/constants.php create mode 100644 config/functions.php create mode 100644 examples/cases/const.php create mode 100644 examples/cases/if.php create mode 100644 examples/test.php create mode 100644 src/Php/Encryptor.php diff --git a/.gitignore b/.gitignore index 237beca4..514d9079 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /logs /vendor /tmp +/examples/wordpress diff --git a/bin/encryptor.php b/bin/encryptor.php new file mode 100644 index 00000000..b74f72e6 --- /dev/null +++ b/bin/encryptor.php @@ -0,0 +1,34 @@ +addVisitor(new \PhpAot\Php\Visitor()); + +if (empty($argv[1])) { + die("php compiler.php [file]\n"); +} + +$code = file_get_contents($argv[1]); + +$parser = (new ParserFactory())->createForNewestSupportedVersion(); +try { + $ast = $parser->parse($code); + $stmts = $traverser->traverse($ast); + $encryptor = new Encryptor($stmts); + $code = $encryptor->convert(); + var_dump($code); +// $translator->save($code, './tmp/hello.cc'); +// $translator->compileFile('./tmp/hello.cc'); +} catch (Error $error) { + echo "Parse error: {$error->getMessage()}\n"; + return; +} + diff --git a/bin/gen_rdata.php b/bin/gen_rdata.php new file mode 100644 index 00000000..d1013b58 --- /dev/null +++ b/bin/gen_rdata.php @@ -0,0 +1,42 @@ + $v) { + if (isset($ignore_constants[$k])) { + unset($constants[$k]); + } +} + +dumpVar($outDir . 'constants.php', $constants); diff --git a/bin/ignore_constants.php b/bin/ignore_constants.php new file mode 100644 index 00000000..8b658c77 --- /dev/null +++ b/bin/ignore_constants.php @@ -0,0 +1,40 @@ + 1, + 'E_RECOVERABLE_ERROR' => 4096, + 'E_WARNING' => 2, + 'E_PARSE' => 4, + 'E_NOTICE' => 8, + 'E_STRICT' => 2048, + 'E_DEPRECATED' => 8192, + 'E_CORE_ERROR' => 16, + 'E_CORE_WARNING' => 32, + 'E_COMPILE_ERROR' => 64, + 'E_COMPILE_WARNING' => 128, + 'E_USER_ERROR' => 256, + 'E_USER_WARNING' => 512, + 'E_USER_NOTICE' => 1024, + 'E_USER_DEPRECATED' => 16384, + 'E_ALL' => 32767, + 'DEBUG_BACKTRACE_PROVIDE_OBJECT' => 1, + 'DEBUG_BACKTRACE_IGNORE_ARGS' => 2, + 'ZEND_THREAD_SAFE' => false, + 'ZEND_DEBUG_BUILD' => true, + 'TRUE' => true, + 'FALSE' => false, + 'NULL' => NULL, + 'PHP_MAJOR_VERSION' => 8, + 'PHP_MINOR_VERSION' => 1, + 'PHP_RELEASE_VERSION' => 23, + 'PHP_EXTRA_VERSION' => '', + 'PHP_DEBUG' => 1, + 'PHP_SHLIB_SUFFIX' => 'so', + 'PHP_INT_MAX' => 9223372036854775807, + 'PHP_INT_MIN' => -9223372036854775807-1, + 'PHP_INT_SIZE' => 8, + 'PHP_FD_SETSIZE' => 1024, + 'PHP_FLOAT_DIG' => 15, + 'PHP_FLOAT_EPSILON' => 2.220446049250313E-16, + 'PHP_FLOAT_MAX' => 1.7976931348623157E+308, + 'PHP_FLOAT_MIN' => 2.2250738585072014E-308, + 'PHP_OUTPUT_HANDLER_START' => 1, + 'PHP_OUTPUT_HANDLER_WRITE' => 0, + 'PHP_OUTPUT_HANDLER_FLUSH' => 4, + 'PHP_OUTPUT_HANDLER_CLEAN' => 2, + 'PHP_OUTPUT_HANDLER_FINAL' => 8, + 'PHP_OUTPUT_HANDLER_CONT' => 0, + 'PHP_OUTPUT_HANDLER_END' => 8, + 'PHP_OUTPUT_HANDLER_CLEANABLE' => 16, + 'PHP_OUTPUT_HANDLER_FLUSHABLE' => 32, + 'PHP_OUTPUT_HANDLER_REMOVABLE' => 64, + 'PHP_OUTPUT_HANDLER_STDFLAGS' => 112, + 'PHP_OUTPUT_HANDLER_STARTED' => 4096, + 'PHP_OUTPUT_HANDLER_DISABLED' => 8192, + 'UPLOAD_ERR_OK' => 0, + 'UPLOAD_ERR_INI_SIZE' => 1, + 'UPLOAD_ERR_FORM_SIZE' => 2, + 'UPLOAD_ERR_PARTIAL' => 3, + 'UPLOAD_ERR_NO_FILE' => 4, + 'UPLOAD_ERR_NO_TMP_DIR' => 6, + 'UPLOAD_ERR_CANT_WRITE' => 7, + 'UPLOAD_ERR_EXTENSION' => 8, + 'DATE_ATOM' => 'Y-m-d\\TH:i:sP', + 'DATE_COOKIE' => 'l, d-M-Y H:i:s T', + 'DATE_ISO8601' => 'Y-m-d\\TH:i:sO', + 'DATE_RFC822' => 'D, d M y H:i:s O', + 'DATE_RFC850' => 'l, d-M-y H:i:s T', + 'DATE_RFC1036' => 'D, d M y H:i:s O', + 'DATE_RFC1123' => 'D, d M Y H:i:s O', + 'DATE_RFC7231' => 'D, d M Y H:i:s \\G\\M\\T', + 'DATE_RFC2822' => 'D, d M Y H:i:s O', + 'DATE_RFC3339' => 'Y-m-d\\TH:i:sP', + 'DATE_RFC3339_EXTENDED' => 'Y-m-d\\TH:i:s.vP', + 'DATE_RSS' => 'D, d M Y H:i:s O', + 'DATE_W3C' => 'Y-m-d\\TH:i:sP', + 'SUNFUNCS_RET_TIMESTAMP' => 0, + 'SUNFUNCS_RET_STRING' => 1, + 'SUNFUNCS_RET_DOUBLE' => 2, + 'LIBXML_NOENT' => 2, + 'LIBXML_DTDLOAD' => 4, + 'LIBXML_DTDATTR' => 8, + 'LIBXML_DTDVALID' => 16, + 'LIBXML_NOERROR' => 32, + 'LIBXML_NOWARNING' => 64, + 'LIBXML_NOBLANKS' => 256, + 'LIBXML_XINCLUDE' => 1024, + 'LIBXML_NSCLEAN' => 8192, + 'LIBXML_NOCDATA' => 16384, + 'LIBXML_NONET' => 2048, + 'LIBXML_PEDANTIC' => 128, + 'LIBXML_COMPACT' => 65536, + 'LIBXML_NOXMLDECL' => 2, + 'LIBXML_PARSEHUGE' => 524288, + 'LIBXML_BIGLINES' => 4194304, + 'LIBXML_NOEMPTYTAG' => 4, + 'LIBXML_SCHEMA_CREATE' => 1, + 'LIBXML_HTML_NOIMPLIED' => 8192, + 'LIBXML_HTML_NODEFDTD' => 4, + 'LIBXML_ERR_NONE' => 0, + 'LIBXML_ERR_WARNING' => 1, + 'LIBXML_ERR_ERROR' => 2, + 'LIBXML_ERR_FATAL' => 3, + 'X509_PURPOSE_SSL_CLIENT' => 1, + 'X509_PURPOSE_SSL_SERVER' => 2, + 'X509_PURPOSE_NS_SSL_SERVER' => 3, + 'X509_PURPOSE_SMIME_SIGN' => 4, + 'X509_PURPOSE_SMIME_ENCRYPT' => 5, + 'X509_PURPOSE_CRL_SIGN' => 6, + 'X509_PURPOSE_ANY' => 7, + 'OPENSSL_ALGO_SHA1' => 1, + 'OPENSSL_ALGO_MD5' => 2, + 'OPENSSL_ALGO_MD4' => 3, + 'OPENSSL_ALGO_SHA224' => 6, + 'OPENSSL_ALGO_SHA256' => 7, + 'OPENSSL_ALGO_SHA384' => 8, + 'OPENSSL_ALGO_SHA512' => 9, + 'OPENSSL_ALGO_RMD160' => 10, + 'PKCS7_DETACHED' => 64, + 'PKCS7_TEXT' => 1, + 'PKCS7_NOINTERN' => 16, + 'PKCS7_NOVERIFY' => 32, + 'PKCS7_NOCHAIN' => 8, + 'PKCS7_NOCERTS' => 2, + 'PKCS7_NOATTR' => 256, + 'PKCS7_BINARY' => 128, + 'PKCS7_NOSIGS' => 4, + 'OPENSSL_CMS_DETACHED' => 64, + 'OPENSSL_CMS_TEXT' => 1, + 'OPENSSL_CMS_NOINTERN' => 16, + 'OPENSSL_CMS_NOVERIFY' => 32, + 'OPENSSL_CMS_NOCERTS' => 2, + 'OPENSSL_CMS_NOATTR' => 256, + 'OPENSSL_CMS_BINARY' => 128, + 'OPENSSL_CMS_NOSIGS' => 12, + 'OPENSSL_PKCS1_PADDING' => 1, + 'OPENSSL_NO_PADDING' => 3, + 'OPENSSL_PKCS1_OAEP_PADDING' => 4, + 'OPENSSL_CIPHER_RC2_40' => 0, + 'OPENSSL_CIPHER_RC2_128' => 1, + 'OPENSSL_CIPHER_RC2_64' => 2, + 'OPENSSL_CIPHER_DES' => 3, + 'OPENSSL_CIPHER_3DES' => 4, + 'OPENSSL_CIPHER_AES_128_CBC' => 5, + 'OPENSSL_CIPHER_AES_192_CBC' => 6, + 'OPENSSL_CIPHER_AES_256_CBC' => 7, + 'OPENSSL_KEYTYPE_RSA' => 0, + 'OPENSSL_KEYTYPE_DSA' => 1, + 'OPENSSL_KEYTYPE_DH' => 2, + 'OPENSSL_KEYTYPE_EC' => 3, + 'OPENSSL_RAW_DATA' => 1, + 'OPENSSL_ZERO_PADDING' => 2, + 'OPENSSL_DONT_ZERO_PAD_KEY' => 4, + 'OPENSSL_TLSEXT_SERVER_NAME' => 1, + 'OPENSSL_ENCODING_DER' => 0, + 'OPENSSL_ENCODING_SMIME' => 1, + 'OPENSSL_ENCODING_PEM' => 2, + 'PREG_PATTERN_ORDER' => 1, + 'PREG_SET_ORDER' => 2, + 'PREG_OFFSET_CAPTURE' => 256, + 'PREG_UNMATCHED_AS_NULL' => 512, + 'PREG_SPLIT_NO_EMPTY' => 1, + 'PREG_SPLIT_DELIM_CAPTURE' => 2, + 'PREG_SPLIT_OFFSET_CAPTURE' => 4, + 'PREG_GREP_INVERT' => 1, + 'PREG_NO_ERROR' => 0, + 'PREG_INTERNAL_ERROR' => 1, + 'PREG_BACKTRACK_LIMIT_ERROR' => 2, + 'PREG_RECURSION_LIMIT_ERROR' => 3, + 'PREG_BAD_UTF8_ERROR' => 4, + 'PREG_BAD_UTF8_OFFSET_ERROR' => 5, + 'PREG_JIT_STACKLIMIT_ERROR' => 6, + 'SQLITE3_ASSOC' => 1, + 'SQLITE3_NUM' => 2, + 'SQLITE3_BOTH' => 3, + 'SQLITE3_INTEGER' => 1, + 'SQLITE3_FLOAT' => 2, + 'SQLITE3_TEXT' => 3, + 'SQLITE3_BLOB' => 4, + 'SQLITE3_NULL' => 5, + 'SQLITE3_OPEN_READONLY' => 1, + 'SQLITE3_OPEN_READWRITE' => 2, + 'SQLITE3_OPEN_CREATE' => 4, + 'SQLITE3_DETERMINISTIC' => 2048, + 'FORCE_GZIP' => 31, + 'FORCE_DEFLATE' => 15, + 'ZLIB_ENCODING_RAW' => -15, + 'ZLIB_ENCODING_GZIP' => 31, + 'ZLIB_ENCODING_DEFLATE' => 15, + 'ZLIB_NO_FLUSH' => 0, + 'ZLIB_PARTIAL_FLUSH' => 1, + 'ZLIB_SYNC_FLUSH' => 2, + 'ZLIB_FULL_FLUSH' => 3, + 'ZLIB_BLOCK' => 5, + 'ZLIB_FINISH' => 4, + 'ZLIB_FILTERED' => 1, + 'ZLIB_HUFFMAN_ONLY' => 2, + 'ZLIB_RLE' => 3, + 'ZLIB_FIXED' => 4, + 'ZLIB_DEFAULT_STRATEGY' => 0, + 'ZLIB_VERSION' => '1.2.11', + 'ZLIB_VERNUM' => 4784, + 'ZLIB_OK' => 0, + 'ZLIB_STREAM_END' => 1, + 'ZLIB_NEED_DICT' => 2, + 'ZLIB_ERRNO' => -1, + 'ZLIB_STREAM_ERROR' => -2, + 'ZLIB_DATA_ERROR' => -3, + 'ZLIB_MEM_ERROR' => -4, + 'ZLIB_BUF_ERROR' => -5, + 'ZLIB_VERSION_ERROR' => -6, + 'CURLOPT_AUTOREFERER' => 58, + 'CURLOPT_BINARYTRANSFER' => 19914, + 'CURLOPT_BUFFERSIZE' => 98, + 'CURLOPT_CAINFO' => 10065, + 'CURLOPT_CAPATH' => 10097, + 'CURLOPT_CONNECTTIMEOUT' => 78, + 'CURLOPT_COOKIE' => 10022, + 'CURLOPT_COOKIEFILE' => 10031, + 'CURLOPT_COOKIEJAR' => 10082, + 'CURLOPT_COOKIESESSION' => 96, + 'CURLOPT_CRLF' => 27, + 'CURLOPT_CUSTOMREQUEST' => 10036, + 'CURLOPT_DNS_CACHE_TIMEOUT' => 92, + 'CURLOPT_DNS_USE_GLOBAL_CACHE' => 91, + 'CURLOPT_EGDSOCKET' => 10077, + 'CURLOPT_ENCODING' => 10102, + 'CURLOPT_FAILONERROR' => 45, + 'CURLOPT_FILE' => 10001, + 'CURLOPT_FILETIME' => 69, + 'CURLOPT_FOLLOWLOCATION' => 52, + 'CURLOPT_FORBID_REUSE' => 75, + 'CURLOPT_FRESH_CONNECT' => 74, + 'CURLOPT_FTPAPPEND' => 50, + 'CURLOPT_FTPLISTONLY' => 48, + 'CURLOPT_FTPPORT' => 10017, + 'CURLOPT_FTP_USE_EPRT' => 106, + 'CURLOPT_FTP_USE_EPSV' => 85, + 'CURLOPT_HEADER' => 42, + 'CURLOPT_HEADERFUNCTION' => 20079, + 'CURLOPT_HTTP200ALIASES' => 10104, + 'CURLOPT_HTTPGET' => 80, + 'CURLOPT_HTTPHEADER' => 10023, + 'CURLOPT_HTTPPROXYTUNNEL' => 61, + 'CURLOPT_HTTP_VERSION' => 84, + 'CURLOPT_INFILE' => 10009, + 'CURLOPT_INFILESIZE' => 14, + 'CURLOPT_INTERFACE' => 10062, + 'CURLOPT_KRB4LEVEL' => 10063, + 'CURLOPT_LOW_SPEED_LIMIT' => 19, + 'CURLOPT_LOW_SPEED_TIME' => 20, + 'CURLOPT_MAXCONNECTS' => 71, + 'CURLOPT_MAXREDIRS' => 68, + 'CURLOPT_NETRC' => 51, + 'CURLOPT_NOBODY' => 44, + 'CURLOPT_NOPROGRESS' => 43, + 'CURLOPT_NOSIGNAL' => 99, + 'CURLOPT_PORT' => 3, + 'CURLOPT_POST' => 47, + 'CURLOPT_POSTFIELDS' => 10015, + 'CURLOPT_POSTQUOTE' => 10039, + 'CURLOPT_PREQUOTE' => 10093, + 'CURLOPT_PRIVATE' => 10103, + 'CURLOPT_PROGRESSFUNCTION' => 20056, + 'CURLOPT_PROXY' => 10004, + 'CURLOPT_PROXYPORT' => 59, + 'CURLOPT_PROXYTYPE' => 101, + 'CURLOPT_PROXYUSERPWD' => 10006, + 'CURLOPT_PUT' => 54, + 'CURLOPT_QUOTE' => 10028, + 'CURLOPT_RANDOM_FILE' => 10076, + 'CURLOPT_RANGE' => 10007, + 'CURLOPT_READDATA' => 10009, + 'CURLOPT_READFUNCTION' => 20012, + 'CURLOPT_REFERER' => 10016, + 'CURLOPT_RESUME_FROM' => 21, + 'CURLOPT_RETURNTRANSFER' => 19913, + 'CURLOPT_SHARE' => 10100, + 'CURLOPT_SSLCERT' => 10025, + 'CURLOPT_SSLCERTPASSWD' => 10026, + 'CURLOPT_SSLCERTTYPE' => 10086, + 'CURLOPT_SSLENGINE' => 10089, + 'CURLOPT_SSLENGINE_DEFAULT' => 90, + 'CURLOPT_SSLKEY' => 10087, + 'CURLOPT_SSLKEYPASSWD' => 10026, + 'CURLOPT_SSLKEYTYPE' => 10088, + 'CURLOPT_SSLVERSION' => 32, + 'CURLOPT_SSL_CIPHER_LIST' => 10083, + 'CURLOPT_SSL_VERIFYHOST' => 81, + 'CURLOPT_SSL_VERIFYPEER' => 64, + 'CURLOPT_STDERR' => 10037, + 'CURLOPT_TELNETOPTIONS' => 10070, + 'CURLOPT_TIMECONDITION' => 33, + 'CURLOPT_TIMEOUT' => 13, + 'CURLOPT_TIMEVALUE' => 34, + 'CURLOPT_TRANSFERTEXT' => 53, + 'CURLOPT_UNRESTRICTED_AUTH' => 105, + 'CURLOPT_UPLOAD' => 46, + 'CURLOPT_URL' => 10002, + 'CURLOPT_USERAGENT' => 10018, + 'CURLOPT_USERPWD' => 10005, + 'CURLOPT_VERBOSE' => 41, + 'CURLOPT_WRITEFUNCTION' => 20011, + 'CURLOPT_WRITEHEADER' => 10029, + 'CURLE_ABORTED_BY_CALLBACK' => 42, + 'CURLE_BAD_CALLING_ORDER' => 44, + 'CURLE_BAD_CONTENT_ENCODING' => 61, + 'CURLE_BAD_DOWNLOAD_RESUME' => 36, + 'CURLE_BAD_FUNCTION_ARGUMENT' => 43, + 'CURLE_BAD_PASSWORD_ENTERED' => 46, + 'CURLE_COULDNT_CONNECT' => 7, + 'CURLE_COULDNT_RESOLVE_HOST' => 6, + 'CURLE_COULDNT_RESOLVE_PROXY' => 5, + 'CURLE_FAILED_INIT' => 2, + 'CURLE_FILE_COULDNT_READ_FILE' => 37, + 'CURLE_FTP_ACCESS_DENIED' => 9, + 'CURLE_FTP_BAD_DOWNLOAD_RESUME' => 36, + 'CURLE_FTP_CANT_GET_HOST' => 15, + 'CURLE_FTP_CANT_RECONNECT' => 16, + 'CURLE_FTP_COULDNT_GET_SIZE' => 32, + 'CURLE_FTP_COULDNT_RETR_FILE' => 19, + 'CURLE_FTP_COULDNT_SET_ASCII' => 29, + 'CURLE_FTP_COULDNT_SET_BINARY' => 17, + 'CURLE_FTP_COULDNT_STOR_FILE' => 25, + 'CURLE_FTP_COULDNT_USE_REST' => 31, + 'CURLE_FTP_PARTIAL_FILE' => 18, + 'CURLE_FTP_PORT_FAILED' => 30, + 'CURLE_FTP_QUOTE_ERROR' => 21, + 'CURLE_FTP_USER_PASSWORD_INCORRECT' => 10, + 'CURLE_FTP_WEIRD_227_FORMAT' => 14, + 'CURLE_FTP_WEIRD_PASS_REPLY' => 11, + 'CURLE_FTP_WEIRD_PASV_REPLY' => 13, + 'CURLE_FTP_WEIRD_SERVER_REPLY' => 8, + 'CURLE_FTP_WEIRD_USER_REPLY' => 12, + 'CURLE_FTP_WRITE_ERROR' => 20, + 'CURLE_FUNCTION_NOT_FOUND' => 41, + 'CURLE_GOT_NOTHING' => 52, + 'CURLE_HTTP_NOT_FOUND' => 22, + 'CURLE_HTTP_PORT_FAILED' => 45, + 'CURLE_HTTP_POST_ERROR' => 34, + 'CURLE_HTTP_RANGE_ERROR' => 33, + 'CURLE_HTTP_RETURNED_ERROR' => 22, + 'CURLE_LDAP_CANNOT_BIND' => 38, + 'CURLE_LDAP_SEARCH_FAILED' => 39, + 'CURLE_LIBRARY_NOT_FOUND' => 40, + 'CURLE_MALFORMAT_USER' => 24, + 'CURLE_OBSOLETE' => 50, + 'CURLE_OK' => 0, + 'CURLE_OPERATION_TIMEDOUT' => 28, + 'CURLE_OPERATION_TIMEOUTED' => 28, + 'CURLE_OUT_OF_MEMORY' => 27, + 'CURLE_PARTIAL_FILE' => 18, + 'CURLE_READ_ERROR' => 26, + 'CURLE_RECV_ERROR' => 56, + 'CURLE_SEND_ERROR' => 55, + 'CURLE_SHARE_IN_USE' => 57, + 'CURLE_SSL_CACERT' => 60, + 'CURLE_SSL_CERTPROBLEM' => 58, + 'CURLE_SSL_CIPHER' => 59, + 'CURLE_SSL_CONNECT_ERROR' => 35, + 'CURLE_SSL_ENGINE_NOTFOUND' => 53, + 'CURLE_SSL_ENGINE_SETFAILED' => 54, + 'CURLE_SSL_PEER_CERTIFICATE' => 60, + 'CURLE_SSL_PINNEDPUBKEYNOTMATCH' => 90, + 'CURLE_TELNET_OPTION_SYNTAX' => 49, + 'CURLE_TOO_MANY_REDIRECTS' => 47, + 'CURLE_UNKNOWN_TELNET_OPTION' => 48, + 'CURLE_UNSUPPORTED_PROTOCOL' => 1, + 'CURLE_URL_MALFORMAT' => 3, + 'CURLE_URL_MALFORMAT_USER' => 4, + 'CURLE_WRITE_ERROR' => 23, + 'CURLINFO_CONNECT_TIME' => 3145733, + 'CURLINFO_CONTENT_LENGTH_DOWNLOAD' => 3145743, + 'CURLINFO_CONTENT_LENGTH_UPLOAD' => 3145744, + 'CURLINFO_CONTENT_TYPE' => 1048594, + 'CURLINFO_EFFECTIVE_URL' => 1048577, + 'CURLINFO_FILETIME' => 2097166, + 'CURLINFO_HEADER_OUT' => 2, + 'CURLINFO_HEADER_SIZE' => 2097163, + 'CURLINFO_HTTP_CODE' => 2097154, + 'CURLINFO_LASTONE' => 60, + 'CURLINFO_NAMELOOKUP_TIME' => 3145732, + 'CURLINFO_PRETRANSFER_TIME' => 3145734, + 'CURLINFO_PRIVATE' => 1048597, + 'CURLINFO_REDIRECT_COUNT' => 2097172, + 'CURLINFO_REDIRECT_TIME' => 3145747, + 'CURLINFO_REQUEST_SIZE' => 2097164, + 'CURLINFO_SIZE_DOWNLOAD' => 3145736, + 'CURLINFO_SIZE_UPLOAD' => 3145735, + 'CURLINFO_SPEED_DOWNLOAD' => 3145737, + 'CURLINFO_SPEED_UPLOAD' => 3145738, + 'CURLINFO_SSL_VERIFYRESULT' => 2097165, + 'CURLINFO_STARTTRANSFER_TIME' => 3145745, + 'CURLINFO_TOTAL_TIME' => 3145731, + 'CURLMSG_DONE' => 1, + 'CURLVERSION_NOW' => 9, + 'CURLM_BAD_EASY_HANDLE' => 2, + 'CURLM_BAD_HANDLE' => 1, + 'CURLM_CALL_MULTI_PERFORM' => -1, + 'CURLM_INTERNAL_ERROR' => 4, + 'CURLM_OK' => 0, + 'CURLM_OUT_OF_MEMORY' => 3, + 'CURLM_ADDED_ALREADY' => 7, + 'CURLPROXY_HTTP' => 0, + 'CURLPROXY_SOCKS4' => 4, + 'CURLPROXY_SOCKS5' => 5, + 'CURLSHOPT_NONE' => 0, + 'CURLSHOPT_SHARE' => 1, + 'CURLSHOPT_UNSHARE' => 2, + 'CURL_HTTP_VERSION_1_0' => 1, + 'CURL_HTTP_VERSION_1_1' => 2, + 'CURL_HTTP_VERSION_NONE' => 0, + 'CURL_LOCK_DATA_COOKIE' => 2, + 'CURL_LOCK_DATA_DNS' => 3, + 'CURL_LOCK_DATA_SSL_SESSION' => 4, + 'CURL_NETRC_IGNORED' => 0, + 'CURL_NETRC_OPTIONAL' => 1, + 'CURL_NETRC_REQUIRED' => 2, + 'CURL_SSLVERSION_DEFAULT' => 0, + 'CURL_SSLVERSION_SSLv2' => 2, + 'CURL_SSLVERSION_SSLv3' => 3, + 'CURL_SSLVERSION_TLSv1' => 1, + 'CURL_TIMECOND_IFMODSINCE' => 1, + 'CURL_TIMECOND_IFUNMODSINCE' => 2, + 'CURL_TIMECOND_LASTMOD' => 3, + 'CURL_TIMECOND_NONE' => 0, + 'CURL_VERSION_ASYNCHDNS' => 128, + 'CURL_VERSION_CONV' => 4096, + 'CURL_VERSION_DEBUG' => 64, + 'CURL_VERSION_GSSNEGOTIATE' => 32, + 'CURL_VERSION_IDN' => 1024, + 'CURL_VERSION_IPV6' => 1, + 'CURL_VERSION_KERBEROS4' => 2, + 'CURL_VERSION_LARGEFILE' => 512, + 'CURL_VERSION_LIBZ' => 8, + 'CURL_VERSION_NTLM' => 16, + 'CURL_VERSION_SPNEGO' => 256, + 'CURL_VERSION_SSL' => 4, + 'CURL_VERSION_SSPI' => 2048, + 'CURLOPT_HTTPAUTH' => 107, + 'CURLAUTH_ANY' => -17, + 'CURLAUTH_ANYSAFE' => -18, + 'CURLAUTH_BASIC' => 1, + 'CURLAUTH_DIGEST' => 2, + 'CURLAUTH_GSSNEGOTIATE' => 4, + 'CURLAUTH_NONE' => 0, + 'CURLAUTH_NTLM' => 8, + 'CURLINFO_HTTP_CONNECTCODE' => 2097174, + 'CURLOPT_FTP_CREATE_MISSING_DIRS' => 110, + 'CURLOPT_PROXYAUTH' => 111, + 'CURLE_FILESIZE_EXCEEDED' => 63, + 'CURLE_LDAP_INVALID_URL' => 62, + 'CURLINFO_HTTPAUTH_AVAIL' => 2097175, + 'CURLINFO_RESPONSE_CODE' => 2097154, + 'CURLINFO_PROXYAUTH_AVAIL' => 2097176, + 'CURLOPT_FTP_RESPONSE_TIMEOUT' => 112, + 'CURLOPT_IPRESOLVE' => 113, + 'CURLOPT_MAXFILESIZE' => 114, + 'CURL_IPRESOLVE_V4' => 1, + 'CURL_IPRESOLVE_V6' => 2, + 'CURL_IPRESOLVE_WHATEVER' => 0, + 'CURLE_FTP_SSL_FAILED' => 64, + 'CURLFTPSSL_ALL' => 3, + 'CURLFTPSSL_CONTROL' => 2, + 'CURLFTPSSL_NONE' => 0, + 'CURLFTPSSL_TRY' => 1, + 'CURLOPT_FTP_SSL' => 119, + 'CURLOPT_NETRC_FILE' => 10118, + 'CURLOPT_TCP_NODELAY' => 121, + 'CURLFTPAUTH_DEFAULT' => 0, + 'CURLFTPAUTH_SSL' => 1, + 'CURLFTPAUTH_TLS' => 2, + 'CURLOPT_FTPSSLAUTH' => 129, + 'CURLOPT_FTP_ACCOUNT' => 10134, + 'CURLINFO_OS_ERRNO' => 2097177, + 'CURLINFO_NUM_CONNECTS' => 2097178, + 'CURLINFO_SSL_ENGINES' => 4194331, + 'CURLINFO_COOKIELIST' => 4194332, + 'CURLOPT_COOKIELIST' => 10135, + 'CURLOPT_IGNORE_CONTENT_LENGTH' => 136, + 'CURLOPT_FTP_SKIP_PASV_IP' => 137, + 'CURLOPT_FTP_FILEMETHOD' => 138, + 'CURLOPT_CONNECT_ONLY' => 141, + 'CURLOPT_LOCALPORT' => 139, + 'CURLOPT_LOCALPORTRANGE' => 140, + 'CURLFTPMETHOD_MULTICWD' => 1, + 'CURLFTPMETHOD_NOCWD' => 2, + 'CURLFTPMETHOD_SINGLECWD' => 3, + 'CURLINFO_FTP_ENTRY_PATH' => 1048606, + 'CURLOPT_FTP_ALTERNATIVE_TO_USER' => 10147, + 'CURLOPT_MAX_RECV_SPEED_LARGE' => 30146, + 'CURLOPT_MAX_SEND_SPEED_LARGE' => 30145, + 'CURLE_SSL_CACERT_BADFILE' => 77, + 'CURLOPT_SSL_SESSIONID_CACHE' => 150, + 'CURLMOPT_PIPELINING' => 3, + 'CURLE_SSH' => 79, + 'CURLOPT_FTP_SSL_CCC' => 154, + 'CURLOPT_SSH_AUTH_TYPES' => 151, + 'CURLOPT_SSH_PRIVATE_KEYFILE' => 10153, + 'CURLOPT_SSH_PUBLIC_KEYFILE' => 10152, + 'CURLFTPSSL_CCC_ACTIVE' => 2, + 'CURLFTPSSL_CCC_NONE' => 0, + 'CURLFTPSSL_CCC_PASSIVE' => 1, + 'CURLOPT_CONNECTTIMEOUT_MS' => 156, + 'CURLOPT_HTTP_CONTENT_DECODING' => 158, + 'CURLOPT_HTTP_TRANSFER_DECODING' => 157, + 'CURLOPT_TIMEOUT_MS' => 155, + 'CURLMOPT_MAXCONNECTS' => 6, + 'CURLOPT_KRBLEVEL' => 10063, + 'CURLOPT_NEW_DIRECTORY_PERMS' => 160, + 'CURLOPT_NEW_FILE_PERMS' => 159, + 'CURLOPT_APPEND' => 50, + 'CURLOPT_DIRLISTONLY' => 48, + 'CURLOPT_USE_SSL' => 119, + 'CURLUSESSL_ALL' => 3, + 'CURLUSESSL_CONTROL' => 2, + 'CURLUSESSL_NONE' => 0, + 'CURLUSESSL_TRY' => 1, + 'CURLOPT_SSH_HOST_PUBLIC_KEY_MD5' => 10162, + 'CURLOPT_PROXY_TRANSFER_MODE' => 166, + 'CURLPAUSE_ALL' => 5, + 'CURLPAUSE_CONT' => 0, + 'CURLPAUSE_RECV' => 1, + 'CURLPAUSE_RECV_CONT' => 0, + 'CURLPAUSE_SEND' => 4, + 'CURLPAUSE_SEND_CONT' => 0, + 'CURL_READFUNC_PAUSE' => 268435457, + 'CURL_WRITEFUNC_PAUSE' => 268435457, + 'CURLPROXY_SOCKS4A' => 6, + 'CURLPROXY_SOCKS5_HOSTNAME' => 7, + 'CURLINFO_REDIRECT_URL' => 1048607, + 'CURLINFO_APPCONNECT_TIME' => 3145761, + 'CURLINFO_PRIMARY_IP' => 1048608, + 'CURLOPT_ADDRESS_SCOPE' => 171, + 'CURLOPT_CRLFILE' => 10169, + 'CURLOPT_ISSUERCERT' => 10170, + 'CURLOPT_KEYPASSWD' => 10026, + 'CURLSSH_AUTH_ANY' => -1, + 'CURLSSH_AUTH_DEFAULT' => -1, + 'CURLSSH_AUTH_HOST' => 4, + 'CURLSSH_AUTH_KEYBOARD' => 8, + 'CURLSSH_AUTH_NONE' => 0, + 'CURLSSH_AUTH_PASSWORD' => 2, + 'CURLSSH_AUTH_PUBLICKEY' => 1, + 'CURLINFO_CERTINFO' => 4194338, + 'CURLOPT_CERTINFO' => 172, + 'CURLOPT_PASSWORD' => 10174, + 'CURLOPT_POSTREDIR' => 161, + 'CURLOPT_PROXYPASSWORD' => 10176, + 'CURLOPT_PROXYUSERNAME' => 10175, + 'CURLOPT_USERNAME' => 10173, + 'CURL_REDIR_POST_301' => 1, + 'CURL_REDIR_POST_302' => 2, + 'CURL_REDIR_POST_ALL' => 7, + 'CURLAUTH_DIGEST_IE' => 16, + 'CURLINFO_CONDITION_UNMET' => 2097187, + 'CURLOPT_NOPROXY' => 10177, + 'CURLOPT_PROTOCOLS' => 181, + 'CURLOPT_REDIR_PROTOCOLS' => 182, + 'CURLOPT_SOCKS5_GSSAPI_NEC' => 180, + 'CURLOPT_SOCKS5_GSSAPI_SERVICE' => 10179, + 'CURLOPT_TFTP_BLKSIZE' => 178, + 'CURLPROTO_ALL' => -1, + 'CURLPROTO_DICT' => 512, + 'CURLPROTO_FILE' => 1024, + 'CURLPROTO_FTP' => 4, + 'CURLPROTO_FTPS' => 8, + 'CURLPROTO_HTTP' => 1, + 'CURLPROTO_HTTPS' => 2, + 'CURLPROTO_LDAP' => 128, + 'CURLPROTO_LDAPS' => 256, + 'CURLPROTO_SCP' => 16, + 'CURLPROTO_SFTP' => 32, + 'CURLPROTO_TELNET' => 64, + 'CURLPROTO_TFTP' => 2048, + 'CURLPROXY_HTTP_1_0' => 1, + 'CURLFTP_CREATE_DIR' => 1, + 'CURLFTP_CREATE_DIR_NONE' => 0, + 'CURLFTP_CREATE_DIR_RETRY' => 2, + 'CURL_VERSION_CURLDEBUG' => 8192, + 'CURLOPT_SSH_KNOWNHOSTS' => 10183, + 'CURLINFO_RTSP_CLIENT_CSEQ' => 2097189, + 'CURLINFO_RTSP_CSEQ_RECV' => 2097191, + 'CURLINFO_RTSP_SERVER_CSEQ' => 2097190, + 'CURLINFO_RTSP_SESSION_ID' => 1048612, + 'CURLOPT_FTP_USE_PRET' => 188, + 'CURLOPT_MAIL_FROM' => 10186, + 'CURLOPT_MAIL_RCPT' => 10187, + 'CURLOPT_RTSP_CLIENT_CSEQ' => 193, + 'CURLOPT_RTSP_REQUEST' => 189, + 'CURLOPT_RTSP_SERVER_CSEQ' => 194, + 'CURLOPT_RTSP_SESSION_ID' => 10190, + 'CURLOPT_RTSP_STREAM_URI' => 10191, + 'CURLOPT_RTSP_TRANSPORT' => 10192, + 'CURLPROTO_IMAP' => 4096, + 'CURLPROTO_IMAPS' => 8192, + 'CURLPROTO_POP3' => 16384, + 'CURLPROTO_POP3S' => 32768, + 'CURLPROTO_RTSP' => 262144, + 'CURLPROTO_SMTP' => 65536, + 'CURLPROTO_SMTPS' => 131072, + 'CURL_RTSPREQ_ANNOUNCE' => 3, + 'CURL_RTSPREQ_DESCRIBE' => 2, + 'CURL_RTSPREQ_GET_PARAMETER' => 8, + 'CURL_RTSPREQ_OPTIONS' => 1, + 'CURL_RTSPREQ_PAUSE' => 6, + 'CURL_RTSPREQ_PLAY' => 5, + 'CURL_RTSPREQ_RECEIVE' => 11, + 'CURL_RTSPREQ_RECORD' => 10, + 'CURL_RTSPREQ_SET_PARAMETER' => 9, + 'CURL_RTSPREQ_SETUP' => 4, + 'CURL_RTSPREQ_TEARDOWN' => 7, + 'CURLINFO_LOCAL_IP' => 1048617, + 'CURLINFO_LOCAL_PORT' => 2097194, + 'CURLINFO_PRIMARY_PORT' => 2097192, + 'CURLOPT_FNMATCH_FUNCTION' => 20200, + 'CURLOPT_WILDCARDMATCH' => 197, + 'CURLPROTO_RTMP' => 524288, + 'CURLPROTO_RTMPE' => 2097152, + 'CURLPROTO_RTMPS' => 8388608, + 'CURLPROTO_RTMPT' => 1048576, + 'CURLPROTO_RTMPTE' => 4194304, + 'CURLPROTO_RTMPTS' => 16777216, + 'CURL_FNMATCHFUNC_FAIL' => 2, + 'CURL_FNMATCHFUNC_MATCH' => 0, + 'CURL_FNMATCHFUNC_NOMATCH' => 1, + 'CURLPROTO_GOPHER' => 33554432, + 'CURLAUTH_ONLY' => 2147483648, + 'CURLOPT_RESOLVE' => 10203, + 'CURLOPT_TLSAUTH_PASSWORD' => 10205, + 'CURLOPT_TLSAUTH_TYPE' => 10206, + 'CURLOPT_TLSAUTH_USERNAME' => 10204, + 'CURL_TLSAUTH_SRP' => 1, + 'CURL_VERSION_TLSAUTH_SRP' => 16384, + 'CURLOPT_ACCEPT_ENCODING' => 10102, + 'CURLOPT_TRANSFER_ENCODING' => 207, + 'CURLAUTH_NTLM_WB' => 32, + 'CURLGSSAPI_DELEGATION_FLAG' => 2, + 'CURLGSSAPI_DELEGATION_POLICY_FLAG' => 1, + 'CURLOPT_GSSAPI_DELEGATION' => 210, + 'CURL_VERSION_NTLM_WB' => 32768, + 'CURLOPT_ACCEPTTIMEOUT_MS' => 212, + 'CURLOPT_DNS_SERVERS' => 10211, + 'CURLOPT_MAIL_AUTH' => 10217, + 'CURLOPT_SSL_OPTIONS' => 216, + 'CURLOPT_TCP_KEEPALIVE' => 213, + 'CURLOPT_TCP_KEEPIDLE' => 214, + 'CURLOPT_TCP_KEEPINTVL' => 215, + 'CURLSSLOPT_ALLOW_BEAST' => 1, + 'CURL_REDIR_POST_303' => 4, + 'CURLSSH_AUTH_AGENT' => 16, + 'CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE' => 30010, + 'CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE' => 30009, + 'CURLMOPT_MAX_HOST_CONNECTIONS' => 7, + 'CURLMOPT_MAX_PIPELINE_LENGTH' => 8, + 'CURLMOPT_MAX_TOTAL_CONNECTIONS' => 13, + 'CURLOPT_SASL_IR' => 218, + 'CURLOPT_DNS_INTERFACE' => 10221, + 'CURLOPT_DNS_LOCAL_IP4' => 10222, + 'CURLOPT_DNS_LOCAL_IP6' => 10223, + 'CURLOPT_XOAUTH2_BEARER' => 10220, + 'CURL_HTTP_VERSION_2_0' => 3, + 'CURL_VERSION_HTTP2' => 65536, + 'CURLOPT_LOGIN_OPTIONS' => 10224, + 'CURL_SSLVERSION_TLSv1_0' => 4, + 'CURL_SSLVERSION_TLSv1_1' => 5, + 'CURL_SSLVERSION_TLSv1_2' => 6, + 'CURLOPT_EXPECT_100_TIMEOUT_MS' => 227, + 'CURLOPT_SSL_ENABLE_ALPN' => 226, + 'CURLOPT_SSL_ENABLE_NPN' => 225, + 'CURLHEADER_SEPARATE' => 1, + 'CURLHEADER_UNIFIED' => 0, + 'CURLOPT_HEADEROPT' => 229, + 'CURLOPT_PROXYHEADER' => 10228, + 'CURLAUTH_NEGOTIATE' => 4, + 'CURL_VERSION_GSSAPI' => 131072, + 'CURLOPT_PINNEDPUBLICKEY' => 10230, + 'CURLOPT_UNIX_SOCKET_PATH' => 10231, + 'CURLPROTO_SMB' => 67108864, + 'CURLPROTO_SMBS' => 134217728, + 'CURL_VERSION_KERBEROS5' => 262144, + 'CURL_VERSION_UNIX_SOCKETS' => 524288, + 'CURLOPT_SSL_VERIFYSTATUS' => 232, + 'CURLOPT_PATH_AS_IS' => 234, + 'CURLOPT_SSL_FALSESTART' => 233, + 'CURL_HTTP_VERSION_2' => 3, + 'CURLOPT_PIPEWAIT' => 237, + 'CURLOPT_PROXY_SERVICE_NAME' => 10235, + 'CURLOPT_SERVICE_NAME' => 10236, + 'CURLPIPE_NOTHING' => 0, + 'CURLPIPE_HTTP1' => 1, + 'CURLPIPE_MULTIPLEX' => 2, + 'CURLSSLOPT_NO_REVOKE' => 2, + 'CURLOPT_DEFAULT_PROTOCOL' => 10238, + 'CURLOPT_STREAM_WEIGHT' => 239, + 'CURLMOPT_PUSHFUNCTION' => 20014, + 'CURL_PUSH_OK' => 0, + 'CURL_PUSH_DENY' => 1, + 'CURL_HTTP_VERSION_2TLS' => 4, + 'CURL_VERSION_PSL' => 1048576, + 'CURLOPT_TFTP_NO_OPTIONS' => 242, + 'CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE' => 5, + 'CURLOPT_CONNECT_TO' => 10243, + 'CURLOPT_TCP_FASTOPEN' => 244, + 'CURLINFO_HTTP_VERSION' => 2097198, + 'CURLE_WEIRD_SERVER_REPLY' => 8, + 'CURLOPT_KEEP_SENDING_ON_ERROR' => 245, + 'CURL_SSLVERSION_TLSv1_3' => 7, + 'CURL_VERSION_HTTPS_PROXY' => 2097152, + 'CURLINFO_PROTOCOL' => 2097200, + 'CURLINFO_PROXY_SSL_VERIFYRESULT' => 2097199, + 'CURLINFO_SCHEME' => 1048625, + 'CURLOPT_PRE_PROXY' => 10262, + 'CURLOPT_PROXY_CAINFO' => 10246, + 'CURLOPT_PROXY_CAPATH' => 10247, + 'CURLOPT_PROXY_CRLFILE' => 10260, + 'CURLOPT_PROXY_KEYPASSWD' => 10258, + 'CURLOPT_PROXY_PINNEDPUBLICKEY' => 10263, + 'CURLOPT_PROXY_SSL_CIPHER_LIST' => 10259, + 'CURLOPT_PROXY_SSL_OPTIONS' => 261, + 'CURLOPT_PROXY_SSL_VERIFYHOST' => 249, + 'CURLOPT_PROXY_SSL_VERIFYPEER' => 248, + 'CURLOPT_PROXY_SSLCERT' => 10254, + 'CURLOPT_PROXY_SSLCERTTYPE' => 10255, + 'CURLOPT_PROXY_SSLKEY' => 10256, + 'CURLOPT_PROXY_SSLKEYTYPE' => 10257, + 'CURLOPT_PROXY_SSLVERSION' => 250, + 'CURLOPT_PROXY_TLSAUTH_PASSWORD' => 10252, + 'CURLOPT_PROXY_TLSAUTH_TYPE' => 10253, + 'CURLOPT_PROXY_TLSAUTH_USERNAME' => 10251, + 'CURLPROXY_HTTPS' => 2, + 'CURL_MAX_READ_SIZE' => 524288, + 'CURLOPT_ABSTRACT_UNIX_SOCKET' => 10264, + 'CURL_SSLVERSION_MAX_DEFAULT' => 65536, + 'CURL_SSLVERSION_MAX_NONE' => 0, + 'CURL_SSLVERSION_MAX_TLSv1_0' => 262144, + 'CURL_SSLVERSION_MAX_TLSv1_1' => 327680, + 'CURL_SSLVERSION_MAX_TLSv1_2' => 393216, + 'CURL_SSLVERSION_MAX_TLSv1_3' => 458752, + 'CURLOPT_SUPPRESS_CONNECT_HEADERS' => 265, + 'CURLAUTH_GSSAPI' => 4, + 'CURLINFO_CONTENT_LENGTH_DOWNLOAD_T' => 6291471, + 'CURLINFO_CONTENT_LENGTH_UPLOAD_T' => 6291472, + 'CURLINFO_SIZE_DOWNLOAD_T' => 6291464, + 'CURLINFO_SIZE_UPLOAD_T' => 6291463, + 'CURLINFO_SPEED_DOWNLOAD_T' => 6291465, + 'CURLINFO_SPEED_UPLOAD_T' => 6291466, + 'CURLOPT_REQUEST_TARGET' => 10266, + 'CURLOPT_SOCKS5_AUTH' => 267, + 'CURLOPT_SSH_COMPRESSION' => 268, + 'CURL_VERSION_MULTI_SSL' => 4194304, + 'CURL_VERSION_BROTLI' => 8388608, + 'CURL_LOCK_DATA_CONNECT' => 5, + 'CURLSSH_AUTH_GSSAPI' => 32, + 'CURLINFO_FILETIME_T' => 6291470, + 'CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS' => 271, + 'CURLOPT_TIMEVALUE_LARGE' => 30270, + 'CURLOPT_DNS_SHUFFLE_ADDRESSES' => 275, + 'CURLOPT_HAPROXYPROTOCOL' => 274, + 'CURL_LOCK_DATA_PSL' => 6, + 'CURLAUTH_BEARER' => 64, + 'CURLINFO_APPCONNECT_TIME_T' => 6291512, + 'CURLINFO_CONNECT_TIME_T' => 6291508, + 'CURLINFO_NAMELOOKUP_TIME_T' => 6291507, + 'CURLINFO_PRETRANSFER_TIME_T' => 6291509, + 'CURLINFO_REDIRECT_TIME_T' => 6291511, + 'CURLINFO_STARTTRANSFER_TIME_T' => 6291510, + 'CURLINFO_TOTAL_TIME_T' => 6291506, + 'CURLOPT_DISALLOW_USERNAME_IN_URL' => 278, + 'CURLOPT_PROXY_TLS13_CIPHERS' => 10277, + 'CURLOPT_TLS13_CIPHERS' => 10276, + 'CURLOPT_DOH_URL' => 10279, + 'CURLOPT_HTTP09_ALLOWED' => 285, + 'CURL_VERSION_ALTSVC' => 16777216, + 'CURLOPT_ISSUERCERT_BLOB' => 40295, + 'CURLOPT_PROXY_ISSUERCERT' => 10296, + 'CURLOPT_PROXY_ISSUERCERT_BLOB' => 40297, + 'CURLOPT_PROXY_SSLCERT_BLOB' => 40293, + 'CURLOPT_PROXY_SSLKEY_BLOB' => 40294, + 'CURLOPT_SSLCERT_BLOB' => 40291, + 'CURLOPT_SSLKEY_BLOB' => 40292, + 'CURLOPT_SAFE_UPLOAD' => -1, + 'XML_ELEMENT_NODE' => 1, + 'XML_ATTRIBUTE_NODE' => 2, + 'XML_TEXT_NODE' => 3, + 'XML_CDATA_SECTION_NODE' => 4, + 'XML_ENTITY_REF_NODE' => 5, + 'XML_ENTITY_NODE' => 6, + 'XML_PI_NODE' => 7, + 'XML_COMMENT_NODE' => 8, + 'XML_DOCUMENT_NODE' => 9, + 'XML_DOCUMENT_TYPE_NODE' => 10, + 'XML_DOCUMENT_FRAG_NODE' => 11, + 'XML_NOTATION_NODE' => 12, + 'XML_HTML_DOCUMENT_NODE' => 13, + 'XML_DTD_NODE' => 14, + 'XML_ELEMENT_DECL_NODE' => 15, + 'XML_ATTRIBUTE_DECL_NODE' => 16, + 'XML_ENTITY_DECL_NODE' => 17, + 'XML_NAMESPACE_DECL_NODE' => 18, + 'XML_LOCAL_NAMESPACE' => 18, + 'XML_ATTRIBUTE_CDATA' => 1, + 'XML_ATTRIBUTE_ID' => 2, + 'XML_ATTRIBUTE_IDREF' => 3, + 'XML_ATTRIBUTE_IDREFS' => 4, + 'XML_ATTRIBUTE_ENTITY' => 6, + 'XML_ATTRIBUTE_NMTOKEN' => 7, + 'XML_ATTRIBUTE_NMTOKENS' => 8, + 'XML_ATTRIBUTE_ENUMERATION' => 9, + 'XML_ATTRIBUTE_NOTATION' => 10, + 'DOM_PHP_ERR' => 0, + 'DOM_INDEX_SIZE_ERR' => 1, + 'DOMSTRING_SIZE_ERR' => 2, + 'DOM_HIERARCHY_REQUEST_ERR' => 3, + 'DOM_WRONG_DOCUMENT_ERR' => 4, + 'DOM_INVALID_CHARACTER_ERR' => 5, + 'DOM_NO_DATA_ALLOWED_ERR' => 6, + 'DOM_NO_MODIFICATION_ALLOWED_ERR' => 7, + 'DOM_NOT_FOUND_ERR' => 8, + 'DOM_NOT_SUPPORTED_ERR' => 9, + 'DOM_INUSE_ATTRIBUTE_ERR' => 10, + 'DOM_INVALID_STATE_ERR' => 11, + 'DOM_SYNTAX_ERR' => 12, + 'DOM_INVALID_MODIFICATION_ERR' => 13, + 'DOM_NAMESPACE_ERR' => 14, + 'DOM_INVALID_ACCESS_ERR' => 15, + 'DOM_VALIDATION_ERR' => 16, + 'FILEINFO_NONE' => 0, + 'FILEINFO_SYMLINK' => 2, + 'FILEINFO_MIME' => 1040, + 'FILEINFO_MIME_TYPE' => 16, + 'FILEINFO_MIME_ENCODING' => 1024, + 'FILEINFO_DEVICES' => 8, + 'FILEINFO_CONTINUE' => 32, + 'FILEINFO_PRESERVE_ATIME' => 128, + 'FILEINFO_RAW' => 256, + 'FILEINFO_EXTENSION' => 16777216, + 'INPUT_POST' => 0, + 'INPUT_GET' => 1, + 'INPUT_COOKIE' => 2, + 'INPUT_ENV' => 4, + 'INPUT_SERVER' => 5, + 'FILTER_FLAG_NONE' => 0, + 'FILTER_REQUIRE_SCALAR' => 33554432, + 'FILTER_REQUIRE_ARRAY' => 16777216, + 'FILTER_FORCE_ARRAY' => 67108864, + 'FILTER_NULL_ON_FAILURE' => 134217728, + 'FILTER_VALIDATE_INT' => 257, + 'FILTER_VALIDATE_BOOLEAN' => 258, + 'FILTER_VALIDATE_BOOL' => 258, + 'FILTER_VALIDATE_FLOAT' => 259, + 'FILTER_VALIDATE_REGEXP' => 272, + 'FILTER_VALIDATE_DOMAIN' => 277, + 'FILTER_VALIDATE_URL' => 273, + 'FILTER_VALIDATE_EMAIL' => 274, + 'FILTER_VALIDATE_IP' => 275, + 'FILTER_VALIDATE_MAC' => 276, + 'FILTER_DEFAULT' => 516, + 'FILTER_UNSAFE_RAW' => 516, + 'FILTER_SANITIZE_STRING' => 513, + 'FILTER_SANITIZE_STRIPPED' => 513, + 'FILTER_SANITIZE_ENCODED' => 514, + 'FILTER_SANITIZE_SPECIAL_CHARS' => 515, + 'FILTER_SANITIZE_FULL_SPECIAL_CHARS' => 522, + 'FILTER_SANITIZE_EMAIL' => 517, + 'FILTER_SANITIZE_URL' => 518, + 'FILTER_SANITIZE_NUMBER_INT' => 519, + 'FILTER_SANITIZE_NUMBER_FLOAT' => 520, + 'FILTER_SANITIZE_ADD_SLASHES' => 523, + 'FILTER_CALLBACK' => 1024, + 'FILTER_FLAG_ALLOW_OCTAL' => 1, + 'FILTER_FLAG_ALLOW_HEX' => 2, + 'FILTER_FLAG_STRIP_LOW' => 4, + 'FILTER_FLAG_STRIP_HIGH' => 8, + 'FILTER_FLAG_STRIP_BACKTICK' => 512, + 'FILTER_FLAG_ENCODE_LOW' => 16, + 'FILTER_FLAG_ENCODE_HIGH' => 32, + 'FILTER_FLAG_ENCODE_AMP' => 64, + 'FILTER_FLAG_NO_ENCODE_QUOTES' => 128, + 'FILTER_FLAG_EMPTY_STRING_NULL' => 256, + 'FILTER_FLAG_ALLOW_FRACTION' => 4096, + 'FILTER_FLAG_ALLOW_THOUSAND' => 8192, + 'FILTER_FLAG_ALLOW_SCIENTIFIC' => 16384, + 'FILTER_FLAG_PATH_REQUIRED' => 262144, + 'FILTER_FLAG_QUERY_REQUIRED' => 524288, + 'FILTER_FLAG_IPV4' => 1048576, + 'FILTER_FLAG_IPV6' => 2097152, + 'FILTER_FLAG_NO_RES_RANGE' => 4194304, + 'FILTER_FLAG_NO_PRIV_RANGE' => 8388608, + 'FILTER_FLAG_HOSTNAME' => 1048576, + 'FILTER_FLAG_EMAIL_UNICODE' => 1048576, + 'GMP_ROUND_ZERO' => 0, + 'GMP_ROUND_PLUSINF' => 1, + 'GMP_ROUND_MINUSINF' => 2, + 'GMP_VERSION' => '6.2.1', + 'GMP_MSW_FIRST' => 1, + 'GMP_LSW_FIRST' => 2, + 'GMP_LITTLE_ENDIAN' => 4, + 'GMP_BIG_ENDIAN' => 8, + 'GMP_NATIVE_ENDIAN' => 16, + 'HASH_HMAC' => 1, + 'ICONV_IMPL' => 'glibc', + 'ICONV_VERSION' => '2.35', + 'ICONV_MIME_DECODE_STRICT' => 1, + 'ICONV_MIME_DECODE_CONTINUE_ON_ERROR' => 2, + 'JSON_HEX_TAG' => 1, + 'JSON_HEX_AMP' => 2, + 'JSON_HEX_APOS' => 4, + 'JSON_HEX_QUOT' => 8, + 'JSON_FORCE_OBJECT' => 16, + 'JSON_NUMERIC_CHECK' => 32, + 'JSON_UNESCAPED_SLASHES' => 64, + 'JSON_PRETTY_PRINT' => 128, + 'JSON_UNESCAPED_UNICODE' => 256, + 'JSON_PARTIAL_OUTPUT_ON_ERROR' => 512, + 'JSON_PRESERVE_ZERO_FRACTION' => 1024, + 'JSON_UNESCAPED_LINE_TERMINATORS' => 2048, + 'JSON_OBJECT_AS_ARRAY' => 1, + 'JSON_BIGINT_AS_STRING' => 2, + 'JSON_INVALID_UTF8_IGNORE' => 1048576, + 'JSON_INVALID_UTF8_SUBSTITUTE' => 2097152, + 'JSON_THROW_ON_ERROR' => 4194304, + 'JSON_ERROR_NONE' => 0, + 'JSON_ERROR_DEPTH' => 1, + 'JSON_ERROR_STATE_MISMATCH' => 2, + 'JSON_ERROR_CTRL_CHAR' => 3, + 'JSON_ERROR_SYNTAX' => 4, + 'JSON_ERROR_UTF8' => 5, + 'JSON_ERROR_RECURSION' => 6, + 'JSON_ERROR_INF_OR_NAN' => 7, + 'JSON_ERROR_UNSUPPORTED_TYPE' => 8, + 'JSON_ERROR_INVALID_PROPERTY_NAME' => 9, + 'JSON_ERROR_UTF16' => 10, + 'JSON_ERROR_NON_BACKED_ENUM' => 11, + 'MB_CASE_UPPER' => 0, + 'MB_CASE_LOWER' => 1, + 'MB_CASE_TITLE' => 2, + 'MB_CASE_FOLD' => 3, + 'MB_CASE_UPPER_SIMPLE' => 4, + 'MB_CASE_LOWER_SIMPLE' => 5, + 'MB_CASE_TITLE_SIMPLE' => 6, + 'MB_CASE_FOLD_SIMPLE' => 7, + 'MB_ONIGURUMA_VERSION' => '6.9.7', + 'PHP_SESSION_DISABLED' => 0, + 'PHP_SESSION_NONE' => 1, + 'PHP_SESSION_ACTIVE' => 2, + 'WNOHANG' => 1, + 'WUNTRACED' => 2, + 'WCONTINUED' => 8, + 'SIG_IGN' => 1, + 'SIG_DFL' => 0, + 'SIG_ERR' => -1, + 'SIGHUP' => 1, + 'SIGINT' => 2, + 'SIGQUIT' => 3, + 'SIGILL' => 4, + 'SIGTRAP' => 5, + 'SIGABRT' => 6, + 'SIGIOT' => 6, + 'SIGBUS' => 7, + 'SIGFPE' => 8, + 'SIGKILL' => 9, + 'SIGUSR1' => 10, + 'SIGSEGV' => 11, + 'SIGUSR2' => 12, + 'SIGPIPE' => 13, + 'SIGALRM' => 14, + 'SIGTERM' => 15, + 'SIGSTKFLT' => 16, + 'SIGCLD' => 17, + 'SIGCHLD' => 17, + 'SIGCONT' => 18, + 'SIGSTOP' => 19, + 'SIGTSTP' => 20, + 'SIGTTIN' => 21, + 'SIGTTOU' => 22, + 'SIGURG' => 23, + 'SIGXCPU' => 24, + 'SIGXFSZ' => 25, + 'SIGVTALRM' => 26, + 'SIGPROF' => 27, + 'SIGWINCH' => 28, + 'SIGPOLL' => 29, + 'SIGIO' => 29, + 'SIGPWR' => 30, + 'SIGSYS' => 31, + 'SIGBABY' => 31, + 'SIGRTMIN' => 34, + 'SIGRTMAX' => 64, + 'PRIO_PGRP' => 1, + 'PRIO_USER' => 2, + 'PRIO_PROCESS' => 0, + 'SIG_BLOCK' => 0, + 'SIG_UNBLOCK' => 1, + 'SIG_SETMASK' => 2, + 'SI_USER' => 0, + 'SI_KERNEL' => 128, + 'SI_QUEUE' => -1, + 'SI_TIMER' => -2, + 'SI_MESGQ' => -3, + 'SI_ASYNCIO' => -4, + 'SI_SIGIO' => -5, + 'SI_TKILL' => -6, + 'CLD_EXITED' => 1, + 'CLD_KILLED' => 2, + 'CLD_DUMPED' => 3, + 'CLD_TRAPPED' => 4, + 'CLD_STOPPED' => 5, + 'CLD_CONTINUED' => 6, + 'TRAP_BRKPT' => 1, + 'TRAP_TRACE' => 2, + 'POLL_IN' => 1, + 'POLL_OUT' => 2, + 'POLL_MSG' => 3, + 'POLL_ERR' => 4, + 'POLL_PRI' => 5, + 'POLL_HUP' => 6, + 'ILL_ILLOPC' => 1, + 'ILL_ILLOPN' => 2, + 'ILL_ILLADR' => 3, + 'ILL_ILLTRP' => 4, + 'ILL_PRVOPC' => 5, + 'ILL_PRVREG' => 6, + 'ILL_COPROC' => 7, + 'ILL_BADSTK' => 8, + 'FPE_INTDIV' => 1, + 'FPE_INTOVF' => 2, + 'FPE_FLTDIV' => 3, + 'FPE_FLTOVF' => 4, + 'FPE_FLTUND' => 7, + 'FPE_FLTRES' => 6, + 'FPE_FLTINV' => 7, + 'FPE_FLTSUB' => 8, + 'SEGV_MAPERR' => 1, + 'SEGV_ACCERR' => 2, + 'BUS_ADRALN' => 1, + 'BUS_ADRERR' => 2, + 'BUS_OBJERR' => 3, + 'CLONE_NEWNS' => 131072, + 'CLONE_NEWIPC' => 134217728, + 'CLONE_NEWUTS' => 67108864, + 'CLONE_NEWNET' => 1073741824, + 'CLONE_NEWPID' => 536870912, + 'CLONE_NEWUSER' => 268435456, + 'CLONE_NEWCGROUP' => 33554432, + 'PCNTL_EINTR' => 4, + 'PCNTL_ECHILD' => 10, + 'PCNTL_EINVAL' => 22, + 'PCNTL_EAGAIN' => 11, + 'PCNTL_ESRCH' => 3, + 'PCNTL_EACCES' => 13, + 'PCNTL_EPERM' => 1, + 'PCNTL_ENOMEM' => 12, + 'PCNTL_E2BIG' => 7, + 'PCNTL_EFAULT' => 14, + 'PCNTL_EIO' => 5, + 'PCNTL_EISDIR' => 21, + 'PCNTL_ELIBBAD' => 80, + 'PCNTL_ELOOP' => 40, + 'PCNTL_EMFILE' => 24, + 'PCNTL_ENAMETOOLONG' => 36, + 'PCNTL_ENFILE' => 23, + 'PCNTL_ENOENT' => 2, + 'PCNTL_ENOEXEC' => 8, + 'PCNTL_ENOTDIR' => 20, + 'PCNTL_ETXTBSY' => 26, + 'PCNTL_ENOSPC' => 28, + 'PCNTL_EUSERS' => 87, + 'CONNECTION_ABORTED' => 1, + 'CONNECTION_NORMAL' => 0, + 'CONNECTION_TIMEOUT' => 2, + 'INI_USER' => 1, + 'INI_PERDIR' => 2, + 'INI_SYSTEM' => 4, + 'INI_ALL' => 7, + 'INI_SCANNER_NORMAL' => 0, + 'INI_SCANNER_RAW' => 1, + 'INI_SCANNER_TYPED' => 2, + 'PHP_URL_SCHEME' => 0, + 'PHP_URL_HOST' => 1, + 'PHP_URL_PORT' => 2, + 'PHP_URL_USER' => 3, + 'PHP_URL_PASS' => 4, + 'PHP_URL_PATH' => 5, + 'PHP_URL_QUERY' => 6, + 'PHP_URL_FRAGMENT' => 7, + 'PHP_QUERY_RFC1738' => 1, + 'PHP_QUERY_RFC3986' => 2, + 'M_E' => 2.718281828459045, + 'M_LOG2E' => 1.4426950408889634, + 'M_LOG10E' => 0.4342944819032518, + 'M_LN2' => 0.6931471805599453, + 'M_LN10' => 2.302585092994046, + 'M_PI' => 3.141592653589793, + 'M_PI_2' => 1.5707963267948966, + 'M_PI_4' => 0.7853981633974483, + 'M_1_PI' => 0.3183098861837907, + 'M_2_PI' => 0.6366197723675814, + 'M_SQRTPI' => 1.772453850905516, + 'M_2_SQRTPI' => 1.1283791670955126, + 'M_LNPI' => 1.1447298858494002, + 'M_EULER' => 0.5772156649015329, + 'M_SQRT2' => 1.4142135623730951, + 'M_SQRT1_2' => 0.7071067811865476, + 'M_SQRT3' => 1.7320508075688772, + 'INF' => INF, + 'NAN' => NAN, + 'PHP_ROUND_HALF_UP' => 1, + 'PHP_ROUND_HALF_DOWN' => 2, + 'PHP_ROUND_HALF_EVEN' => 3, + 'PHP_ROUND_HALF_ODD' => 4, + 'INFO_GENERAL' => 1, + 'INFO_CREDITS' => 2, + 'INFO_CONFIGURATION' => 4, + 'INFO_MODULES' => 8, + 'INFO_ENVIRONMENT' => 16, + 'INFO_VARIABLES' => 32, + 'INFO_LICENSE' => 64, + 'INFO_ALL' => 4294967295, + 'CREDITS_GROUP' => 1, + 'CREDITS_GENERAL' => 2, + 'CREDITS_SAPI' => 4, + 'CREDITS_MODULES' => 8, + 'CREDITS_DOCS' => 16, + 'CREDITS_FULLPAGE' => 32, + 'CREDITS_QA' => 64, + 'CREDITS_ALL' => 4294967295, + 'HTML_SPECIALCHARS' => 0, + 'HTML_ENTITIES' => 1, + 'ENT_COMPAT' => 2, + 'ENT_QUOTES' => 3, + 'ENT_NOQUOTES' => 0, + 'ENT_IGNORE' => 4, + 'ENT_SUBSTITUTE' => 8, + 'ENT_DISALLOWED' => 128, + 'ENT_HTML401' => 0, + 'ENT_XML1' => 16, + 'ENT_XHTML' => 32, + 'ENT_HTML5' => 48, + 'STR_PAD_LEFT' => 0, + 'STR_PAD_RIGHT' => 1, + 'STR_PAD_BOTH' => 2, + 'PATHINFO_DIRNAME' => 1, + 'PATHINFO_BASENAME' => 2, + 'PATHINFO_EXTENSION' => 4, + 'PATHINFO_FILENAME' => 8, + 'PATHINFO_ALL' => 15, + 'CHAR_MAX' => 127, + 'LC_CTYPE' => 0, + 'LC_NUMERIC' => 1, + 'LC_TIME' => 2, + 'LC_COLLATE' => 3, + 'LC_MONETARY' => 4, + 'LC_ALL' => 6, + 'LC_MESSAGES' => 5, + 'SEEK_SET' => 0, + 'SEEK_CUR' => 1, + 'SEEK_END' => 2, + 'LOCK_SH' => 1, + 'LOCK_EX' => 2, + 'LOCK_UN' => 3, + 'LOCK_NB' => 4, + 'STREAM_NOTIFY_CONNECT' => 2, + 'STREAM_NOTIFY_AUTH_REQUIRED' => 3, + 'STREAM_NOTIFY_AUTH_RESULT' => 10, + 'STREAM_NOTIFY_MIME_TYPE_IS' => 4, + 'STREAM_NOTIFY_FILE_SIZE_IS' => 5, + 'STREAM_NOTIFY_REDIRECTED' => 6, + 'STREAM_NOTIFY_PROGRESS' => 7, + 'STREAM_NOTIFY_FAILURE' => 9, + 'STREAM_NOTIFY_COMPLETED' => 8, + 'STREAM_NOTIFY_RESOLVE' => 1, + 'STREAM_NOTIFY_SEVERITY_INFO' => 0, + 'STREAM_NOTIFY_SEVERITY_WARN' => 1, + 'STREAM_NOTIFY_SEVERITY_ERR' => 2, + 'STREAM_FILTER_READ' => 1, + 'STREAM_FILTER_WRITE' => 2, + 'STREAM_FILTER_ALL' => 3, + 'STREAM_CLIENT_PERSISTENT' => 1, + 'STREAM_CLIENT_ASYNC_CONNECT' => 2, + 'STREAM_CLIENT_CONNECT' => 4, + 'STREAM_CRYPTO_METHOD_ANY_CLIENT' => 127, + 'STREAM_CRYPTO_METHOD_SSLv2_CLIENT' => 3, + 'STREAM_CRYPTO_METHOD_SSLv3_CLIENT' => 5, + 'STREAM_CRYPTO_METHOD_SSLv23_CLIENT' => 57, + 'STREAM_CRYPTO_METHOD_TLS_CLIENT' => 121, + 'STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT' => 9, + 'STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT' => 17, + 'STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT' => 33, + 'STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT' => 65, + 'STREAM_CRYPTO_METHOD_ANY_SERVER' => 126, + 'STREAM_CRYPTO_METHOD_SSLv2_SERVER' => 2, + 'STREAM_CRYPTO_METHOD_SSLv3_SERVER' => 4, + 'STREAM_CRYPTO_METHOD_SSLv23_SERVER' => 120, + 'STREAM_CRYPTO_METHOD_TLS_SERVER' => 120, + 'STREAM_CRYPTO_METHOD_TLSv1_0_SERVER' => 8, + 'STREAM_CRYPTO_METHOD_TLSv1_1_SERVER' => 16, + 'STREAM_CRYPTO_METHOD_TLSv1_2_SERVER' => 32, + 'STREAM_CRYPTO_METHOD_TLSv1_3_SERVER' => 64, + 'STREAM_CRYPTO_PROTO_SSLv3' => 4, + 'STREAM_CRYPTO_PROTO_TLSv1_0' => 8, + 'STREAM_CRYPTO_PROTO_TLSv1_1' => 16, + 'STREAM_CRYPTO_PROTO_TLSv1_2' => 32, + 'STREAM_CRYPTO_PROTO_TLSv1_3' => 64, + 'STREAM_SHUT_RD' => 0, + 'STREAM_SHUT_WR' => 1, + 'STREAM_SHUT_RDWR' => 2, + 'STREAM_PF_INET' => 2, + 'STREAM_PF_INET6' => 10, + 'STREAM_PF_UNIX' => 1, + 'STREAM_IPPROTO_IP' => 0, + 'STREAM_IPPROTO_TCP' => 6, + 'STREAM_IPPROTO_UDP' => 17, + 'STREAM_IPPROTO_ICMP' => 1, + 'STREAM_IPPROTO_RAW' => 255, + 'STREAM_SOCK_STREAM' => 1, + 'STREAM_SOCK_DGRAM' => 2, + 'STREAM_SOCK_RAW' => 3, + 'STREAM_SOCK_SEQPACKET' => 5, + 'STREAM_SOCK_RDM' => 4, + 'STREAM_PEEK' => 2, + 'STREAM_OOB' => 1, + 'STREAM_SERVER_BIND' => 4, + 'STREAM_SERVER_LISTEN' => 8, + 'FILE_USE_INCLUDE_PATH' => 1, + 'FILE_IGNORE_NEW_LINES' => 2, + 'FILE_SKIP_EMPTY_LINES' => 4, + 'FILE_APPEND' => 8, + 'FILE_NO_DEFAULT_CONTEXT' => 16, + 'FILE_TEXT' => 0, + 'FILE_BINARY' => 0, + 'FNM_NOESCAPE' => 2, + 'FNM_PATHNAME' => 1, + 'FNM_PERIOD' => 4, + 'FNM_CASEFOLD' => 16, + 'PSFS_PASS_ON' => 2, + 'PSFS_FEED_ME' => 1, + 'PSFS_ERR_FATAL' => 0, + 'PSFS_FLAG_NORMAL' => 0, + 'PSFS_FLAG_FLUSH_INC' => 1, + 'PSFS_FLAG_FLUSH_CLOSE' => 2, + 'PASSWORD_DEFAULT' => '2y', + 'PASSWORD_BCRYPT' => '2y', + 'PASSWORD_BCRYPT_DEFAULT_COST' => 10, + 'MT_RAND_MT19937' => 0, + 'MT_RAND_PHP' => 1, + 'ABDAY_1' => 131072, + 'ABDAY_2' => 131073, + 'ABDAY_3' => 131074, + 'ABDAY_4' => 131075, + 'ABDAY_5' => 131076, + 'ABDAY_6' => 131077, + 'ABDAY_7' => 131078, + 'DAY_1' => 131079, + 'DAY_2' => 131080, + 'DAY_3' => 131081, + 'DAY_4' => 131082, + 'DAY_5' => 131083, + 'DAY_6' => 131084, + 'DAY_7' => 131085, + 'ABMON_1' => 131086, + 'ABMON_2' => 131087, + 'ABMON_3' => 131088, + 'ABMON_4' => 131089, + 'ABMON_5' => 131090, + 'ABMON_6' => 131091, + 'ABMON_7' => 131092, + 'ABMON_8' => 131093, + 'ABMON_9' => 131094, + 'ABMON_10' => 131095, + 'ABMON_11' => 131096, + 'ABMON_12' => 131097, + 'MON_1' => 131098, + 'MON_2' => 131099, + 'MON_3' => 131100, + 'MON_4' => 131101, + 'MON_5' => 131102, + 'MON_6' => 131103, + 'MON_7' => 131104, + 'MON_8' => 131105, + 'MON_9' => 131106, + 'MON_10' => 131107, + 'MON_11' => 131108, + 'MON_12' => 131109, + 'AM_STR' => 131110, + 'PM_STR' => 131111, + 'D_T_FMT' => 131112, + 'D_FMT' => 131113, + 'T_FMT' => 131114, + 'T_FMT_AMPM' => 131115, + 'ERA' => 131116, + 'ERA_D_T_FMT' => 131120, + 'ERA_D_FMT' => 131118, + 'ERA_T_FMT' => 131121, + 'ALT_DIGITS' => 131119, + 'CRNCYSTR' => 262159, + 'RADIXCHAR' => 65536, + 'THOUSEP' => 65537, + 'YESEXPR' => 327680, + 'NOEXPR' => 327681, + 'CODESET' => 14, + 'CRYPT_SALT_LENGTH' => 123, + 'CRYPT_STD_DES' => 1, + 'CRYPT_EXT_DES' => 1, + 'CRYPT_MD5' => 1, + 'CRYPT_BLOWFISH' => 1, + 'CRYPT_SHA256' => 1, + 'CRYPT_SHA512' => 1, + 'SCANDIR_SORT_ASCENDING' => 0, + 'SCANDIR_SORT_DESCENDING' => 1, + 'SCANDIR_SORT_NONE' => 2, + 'GLOB_BRACE' => 1024, + 'GLOB_MARK' => 2, + 'GLOB_NOSORT' => 4, + 'GLOB_NOCHECK' => 16, + 'GLOB_NOESCAPE' => 64, + 'GLOB_ERR' => 1, + 'GLOB_ONLYDIR' => 8192, + 'GLOB_AVAILABLE_FLAGS' => 9303, + 'LOG_EMERG' => 0, + 'LOG_ALERT' => 1, + 'LOG_CRIT' => 2, + 'LOG_ERR' => 3, + 'LOG_WARNING' => 4, + 'LOG_NOTICE' => 5, + 'LOG_INFO' => 6, + 'LOG_DEBUG' => 7, + 'LOG_KERN' => 0, + 'LOG_USER' => 8, + 'LOG_MAIL' => 16, + 'LOG_DAEMON' => 24, + 'LOG_AUTH' => 32, + 'LOG_SYSLOG' => 40, + 'LOG_LPR' => 48, + 'LOG_NEWS' => 56, + 'LOG_UUCP' => 64, + 'LOG_CRON' => 72, + 'LOG_AUTHPRIV' => 80, + 'LOG_LOCAL0' => 128, + 'LOG_LOCAL1' => 136, + 'LOG_LOCAL2' => 144, + 'LOG_LOCAL3' => 152, + 'LOG_LOCAL4' => 160, + 'LOG_LOCAL5' => 168, + 'LOG_LOCAL6' => 176, + 'LOG_LOCAL7' => 184, + 'LOG_PID' => 1, + 'LOG_CONS' => 2, + 'LOG_ODELAY' => 4, + 'LOG_NDELAY' => 8, + 'LOG_NOWAIT' => 16, + 'LOG_PERROR' => 32, + 'EXTR_OVERWRITE' => 0, + 'EXTR_SKIP' => 1, + 'EXTR_PREFIX_SAME' => 2, + 'EXTR_PREFIX_ALL' => 3, + 'EXTR_PREFIX_INVALID' => 4, + 'EXTR_PREFIX_IF_EXISTS' => 5, + 'EXTR_IF_EXISTS' => 6, + 'EXTR_REFS' => 256, + 'SORT_ASC' => 4, + 'SORT_DESC' => 3, + 'SORT_REGULAR' => 0, + 'SORT_NUMERIC' => 1, + 'SORT_STRING' => 2, + 'SORT_LOCALE_STRING' => 5, + 'SORT_NATURAL' => 6, + 'SORT_FLAG_CASE' => 8, + 'CASE_LOWER' => 0, + 'CASE_UPPER' => 1, + 'COUNT_NORMAL' => 0, + 'COUNT_RECURSIVE' => 1, + 'ARRAY_FILTER_USE_BOTH' => 1, + 'ARRAY_FILTER_USE_KEY' => 2, + 'ASSERT_ACTIVE' => 1, + 'ASSERT_CALLBACK' => 2, + 'ASSERT_BAIL' => 3, + 'ASSERT_WARNING' => 4, + 'ASSERT_EXCEPTION' => 5, + 'STREAM_USE_PATH' => 1, + 'STREAM_IGNORE_URL' => 2, + 'STREAM_REPORT_ERRORS' => 8, + 'STREAM_MUST_SEEK' => 16, + 'STREAM_URL_STAT_LINK' => 1, + 'STREAM_URL_STAT_QUIET' => 2, + 'STREAM_MKDIR_RECURSIVE' => 1, + 'STREAM_IS_URL' => 1, + 'STREAM_OPTION_BLOCKING' => 1, + 'STREAM_OPTION_READ_TIMEOUT' => 4, + 'STREAM_OPTION_READ_BUFFER' => 2, + 'STREAM_OPTION_WRITE_BUFFER' => 3, + 'STREAM_BUFFER_NONE' => 0, + 'STREAM_BUFFER_LINE' => 1, + 'STREAM_BUFFER_FULL' => 2, + 'STREAM_CAST_AS_STREAM' => 0, + 'STREAM_CAST_FOR_SELECT' => 3, + 'STREAM_META_TOUCH' => 1, + 'STREAM_META_OWNER' => 3, + 'STREAM_META_OWNER_NAME' => 2, + 'STREAM_META_GROUP' => 5, + 'STREAM_META_GROUP_NAME' => 4, + 'STREAM_META_ACCESS' => 6, + 'IMAGETYPE_GIF' => 1, + 'IMAGETYPE_JPEG' => 2, + 'IMAGETYPE_PNG' => 3, + 'IMAGETYPE_SWF' => 4, + 'IMAGETYPE_PSD' => 5, + 'IMAGETYPE_BMP' => 6, + 'IMAGETYPE_TIFF_II' => 7, + 'IMAGETYPE_TIFF_MM' => 8, + 'IMAGETYPE_JPC' => 9, + 'IMAGETYPE_JP2' => 10, + 'IMAGETYPE_JPX' => 11, + 'IMAGETYPE_JB2' => 12, + 'IMAGETYPE_SWC' => 13, + 'IMAGETYPE_IFF' => 14, + 'IMAGETYPE_WBMP' => 15, + 'IMAGETYPE_JPEG2000' => 9, + 'IMAGETYPE_XBM' => 16, + 'IMAGETYPE_ICO' => 17, + 'IMAGETYPE_WEBP' => 18, + 'IMAGETYPE_AVIF' => 19, + 'IMAGETYPE_UNKNOWN' => 0, + 'IMAGETYPE_COUNT' => 20, + 'DNS_A' => 1, + 'DNS_NS' => 2, + 'DNS_CNAME' => 16, + 'DNS_SOA' => 32, + 'DNS_PTR' => 2048, + 'DNS_HINFO' => 4096, + 'DNS_CAA' => 8192, + 'DNS_MX' => 16384, + 'DNS_TXT' => 32768, + 'DNS_SRV' => 33554432, + 'DNS_NAPTR' => 67108864, + 'DNS_AAAA' => 134217728, + 'DNS_A6' => 16777216, + 'DNS_ANY' => 268435456, + 'DNS_ALL' => 251721779, + 'POSIX_F_OK' => 0, + 'POSIX_X_OK' => 1, + 'POSIX_W_OK' => 2, + 'POSIX_R_OK' => 4, + 'POSIX_S_IFREG' => 32768, + 'POSIX_S_IFCHR' => 8192, + 'POSIX_S_IFBLK' => 24576, + 'POSIX_S_IFIFO' => 4096, + 'POSIX_S_IFSOCK' => 49152, + 'POSIX_RLIMIT_AS' => 9, + 'POSIX_RLIMIT_CORE' => 4, + 'POSIX_RLIMIT_CPU' => 0, + 'POSIX_RLIMIT_DATA' => 2, + 'POSIX_RLIMIT_FSIZE' => 1, + 'POSIX_RLIMIT_LOCKS' => 10, + 'POSIX_RLIMIT_MEMLOCK' => 8, + 'POSIX_RLIMIT_MSGQUEUE' => 12, + 'POSIX_RLIMIT_NICE' => 13, + 'POSIX_RLIMIT_NOFILE' => 7, + 'POSIX_RLIMIT_NPROC' => 6, + 'POSIX_RLIMIT_RSS' => 5, + 'POSIX_RLIMIT_RTPRIO' => 14, + 'POSIX_RLIMIT_RTTIME' => 15, + 'POSIX_RLIMIT_SIGPENDING' => 11, + 'POSIX_RLIMIT_STACK' => 3, + 'POSIX_RLIMIT_INFINITY' => -1, + 'MYSQLI_READ_DEFAULT_GROUP' => 5, + 'MYSQLI_READ_DEFAULT_FILE' => 4, + 'MYSQLI_OPT_CONNECT_TIMEOUT' => 0, + 'MYSQLI_OPT_LOCAL_INFILE' => 8, + 'MYSQLI_OPT_LOAD_DATA_LOCAL_DIR' => 43, + 'MYSQLI_INIT_COMMAND' => 3, + 'MYSQLI_OPT_READ_TIMEOUT' => 11, + 'MYSQLI_OPT_NET_CMD_BUFFER_SIZE' => 202, + 'MYSQLI_OPT_NET_READ_BUFFER_SIZE' => 203, + 'MYSQLI_OPT_INT_AND_FLOAT_NATIVE' => 201, + 'MYSQLI_OPT_SSL_VERIFY_SERVER_CERT' => 21, + 'MYSQLI_SERVER_PUBLIC_KEY' => 35, + 'MYSQLI_CLIENT_SSL' => 2048, + 'MYSQLI_CLIENT_COMPRESS' => 32, + 'MYSQLI_CLIENT_INTERACTIVE' => 1024, + 'MYSQLI_CLIENT_IGNORE_SPACE' => 256, + 'MYSQLI_CLIENT_NO_SCHEMA' => 16, + 'MYSQLI_CLIENT_FOUND_ROWS' => 2, + 'MYSQLI_CLIENT_SSL_VERIFY_SERVER_CERT' => 1073741824, + 'MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT' => 64, + 'MYSQLI_CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS' => 4194304, + 'MYSQLI_OPT_CAN_HANDLE_EXPIRED_PASSWORDS' => 37, + 'MYSQLI_STORE_RESULT' => 0, + 'MYSQLI_USE_RESULT' => 1, + 'MYSQLI_ASYNC' => 8, + 'MYSQLI_STORE_RESULT_COPY_DATA' => 16, + 'MYSQLI_ASSOC' => 1, + 'MYSQLI_NUM' => 2, + 'MYSQLI_BOTH' => 3, + 'MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH' => 0, + 'MYSQLI_STMT_ATTR_CURSOR_TYPE' => 1, + 'MYSQLI_CURSOR_TYPE_NO_CURSOR' => 0, + 'MYSQLI_CURSOR_TYPE_READ_ONLY' => 1, + 'MYSQLI_CURSOR_TYPE_FOR_UPDATE' => 2, + 'MYSQLI_CURSOR_TYPE_SCROLLABLE' => 4, + 'MYSQLI_STMT_ATTR_PREFETCH_ROWS' => 2, + 'MYSQLI_NOT_NULL_FLAG' => 1, + 'MYSQLI_PRI_KEY_FLAG' => 2, + 'MYSQLI_UNIQUE_KEY_FLAG' => 4, + 'MYSQLI_MULTIPLE_KEY_FLAG' => 8, + 'MYSQLI_BLOB_FLAG' => 16, + 'MYSQLI_UNSIGNED_FLAG' => 32, + 'MYSQLI_ZEROFILL_FLAG' => 64, + 'MYSQLI_AUTO_INCREMENT_FLAG' => 512, + 'MYSQLI_TIMESTAMP_FLAG' => 1024, + 'MYSQLI_SET_FLAG' => 2048, + 'MYSQLI_NUM_FLAG' => 32768, + 'MYSQLI_PART_KEY_FLAG' => 16384, + 'MYSQLI_GROUP_FLAG' => 32768, + 'MYSQLI_ENUM_FLAG' => 256, + 'MYSQLI_BINARY_FLAG' => 128, + 'MYSQLI_NO_DEFAULT_VALUE_FLAG' => 4096, + 'MYSQLI_ON_UPDATE_NOW_FLAG' => 8192, + 'MYSQLI_TYPE_DECIMAL' => 0, + 'MYSQLI_TYPE_TINY' => 1, + 'MYSQLI_TYPE_SHORT' => 2, + 'MYSQLI_TYPE_LONG' => 3, + 'MYSQLI_TYPE_FLOAT' => 4, + 'MYSQLI_TYPE_DOUBLE' => 5, + 'MYSQLI_TYPE_NULL' => 6, + 'MYSQLI_TYPE_TIMESTAMP' => 7, + 'MYSQLI_TYPE_LONGLONG' => 8, + 'MYSQLI_TYPE_INT24' => 9, + 'MYSQLI_TYPE_DATE' => 10, + 'MYSQLI_TYPE_TIME' => 11, + 'MYSQLI_TYPE_DATETIME' => 12, + 'MYSQLI_TYPE_YEAR' => 13, + 'MYSQLI_TYPE_NEWDATE' => 14, + 'MYSQLI_TYPE_ENUM' => 247, + 'MYSQLI_TYPE_SET' => 248, + 'MYSQLI_TYPE_TINY_BLOB' => 249, + 'MYSQLI_TYPE_MEDIUM_BLOB' => 250, + 'MYSQLI_TYPE_LONG_BLOB' => 251, + 'MYSQLI_TYPE_BLOB' => 252, + 'MYSQLI_TYPE_VAR_STRING' => 253, + 'MYSQLI_TYPE_STRING' => 254, + 'MYSQLI_TYPE_CHAR' => 1, + 'MYSQLI_TYPE_INTERVAL' => 247, + 'MYSQLI_TYPE_GEOMETRY' => 255, + 'MYSQLI_TYPE_JSON' => 245, + 'MYSQLI_TYPE_NEWDECIMAL' => 246, + 'MYSQLI_TYPE_BIT' => 16, + 'MYSQLI_SET_CHARSET_NAME' => 7, + 'MYSQLI_SET_CHARSET_DIR' => 6, + 'MYSQLI_NO_DATA' => 100, + 'MYSQLI_DATA_TRUNCATED' => 101, + 'MYSQLI_REPORT_INDEX' => 4, + 'MYSQLI_REPORT_ERROR' => 1, + 'MYSQLI_REPORT_STRICT' => 2, + 'MYSQLI_REPORT_ALL' => 255, + 'MYSQLI_REPORT_OFF' => 0, + 'MYSQLI_DEBUG_TRACE_ENABLED' => 1, + 'MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED' => 16, + 'MYSQLI_SERVER_QUERY_NO_INDEX_USED' => 32, + 'MYSQLI_SERVER_QUERY_WAS_SLOW' => 2048, + 'MYSQLI_SERVER_PS_OUT_PARAMS' => 4096, + 'MYSQLI_REFRESH_GRANT' => 1, + 'MYSQLI_REFRESH_LOG' => 2, + 'MYSQLI_REFRESH_TABLES' => 4, + 'MYSQLI_REFRESH_HOSTS' => 8, + 'MYSQLI_REFRESH_STATUS' => 16, + 'MYSQLI_REFRESH_THREADS' => 32, + 'MYSQLI_REFRESH_REPLICA' => 64, + 'MYSQLI_REFRESH_SLAVE' => 64, + 'MYSQLI_REFRESH_MASTER' => 128, + 'MYSQLI_REFRESH_BACKUP_LOG' => 2097152, + 'MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT' => 1, + 'MYSQLI_TRANS_START_READ_WRITE' => 2, + 'MYSQLI_TRANS_START_READ_ONLY' => 4, + 'MYSQLI_TRANS_COR_AND_CHAIN' => 1, + 'MYSQLI_TRANS_COR_AND_NO_CHAIN' => 2, + 'MYSQLI_TRANS_COR_RELEASE' => 4, + 'MYSQLI_TRANS_COR_NO_RELEASE' => 8, + 'MYSQLI_IS_MARIADB' => false, + 'AF_UNIX' => 1, + 'AF_INET' => 2, + 'AF_INET6' => 10, + 'SOCK_STREAM' => 1, + 'SOCK_DGRAM' => 2, + 'SOCK_RAW' => 3, + 'SOCK_SEQPACKET' => 5, + 'SOCK_RDM' => 4, + 'MSG_OOB' => 1, + 'MSG_WAITALL' => 256, + 'MSG_CTRUNC' => 8, + 'MSG_TRUNC' => 32, + 'MSG_PEEK' => 2, + 'MSG_DONTROUTE' => 4, + 'MSG_EOR' => 128, + 'MSG_EOF' => 512, + 'MSG_CONFIRM' => 2048, + 'MSG_ERRQUEUE' => 8192, + 'MSG_NOSIGNAL' => 16384, + 'MSG_DONTWAIT' => 64, + 'MSG_MORE' => 32768, + 'MSG_WAITFORONE' => 65536, + 'MSG_CMSG_CLOEXEC' => 1073741824, + 'SO_DEBUG' => 1, + 'SO_REUSEADDR' => 2, + 'SO_REUSEPORT' => 15, + 'SO_KEEPALIVE' => 9, + 'SO_DONTROUTE' => 5, + 'SO_LINGER' => 13, + 'SO_BROADCAST' => 6, + 'SO_OOBINLINE' => 10, + 'SO_SNDBUF' => 7, + 'SO_RCVBUF' => 8, + 'SO_SNDLOWAT' => 19, + 'SO_RCVLOWAT' => 18, + 'SO_SNDTIMEO' => 21, + 'SO_RCVTIMEO' => 20, + 'SO_TYPE' => 3, + 'SO_ERROR' => 4, + 'SO_BINDTODEVICE' => 25, + 'SOL_SOCKET' => 1, + 'SOMAXCONN' => 4096, + 'SO_MARK' => 36, + 'TCP_NODELAY' => 1, + 'TCP_DEFER_ACCEPT' => 9, + 'PHP_NORMAL_READ' => 1, + 'PHP_BINARY_READ' => 2, + 'MCAST_JOIN_GROUP' => 42, + 'MCAST_LEAVE_GROUP' => 45, + 'MCAST_BLOCK_SOURCE' => 43, + 'MCAST_UNBLOCK_SOURCE' => 44, + 'MCAST_JOIN_SOURCE_GROUP' => 46, + 'MCAST_LEAVE_SOURCE_GROUP' => 47, + 'IP_MULTICAST_IF' => 32, + 'IP_MULTICAST_TTL' => 33, + 'IP_MULTICAST_LOOP' => 34, + 'IPV6_MULTICAST_IF' => 17, + 'IPV6_MULTICAST_HOPS' => 18, + 'IPV6_MULTICAST_LOOP' => 19, + 'IPV6_V6ONLY' => 26, + 'SOCKET_EPERM' => 1, + 'SOCKET_ENOENT' => 2, + 'SOCKET_EINTR' => 4, + 'SOCKET_EIO' => 5, + 'SOCKET_ENXIO' => 6, + 'SOCKET_E2BIG' => 7, + 'SOCKET_EBADF' => 9, + 'SOCKET_EAGAIN' => 11, + 'SOCKET_ENOMEM' => 12, + 'SOCKET_EACCES' => 13, + 'SOCKET_EFAULT' => 14, + 'SOCKET_ENOTBLK' => 15, + 'SOCKET_EBUSY' => 16, + 'SOCKET_EEXIST' => 17, + 'SOCKET_EXDEV' => 18, + 'SOCKET_ENODEV' => 19, + 'SOCKET_ENOTDIR' => 20, + 'SOCKET_EISDIR' => 21, + 'SOCKET_EINVAL' => 22, + 'SOCKET_ENFILE' => 23, + 'SOCKET_EMFILE' => 24, + 'SOCKET_ENOTTY' => 25, + 'SOCKET_ENOSPC' => 28, + 'SOCKET_ESPIPE' => 29, + 'SOCKET_EROFS' => 30, + 'SOCKET_EMLINK' => 31, + 'SOCKET_EPIPE' => 32, + 'SOCKET_ENAMETOOLONG' => 36, + 'SOCKET_ENOLCK' => 37, + 'SOCKET_ENOSYS' => 38, + 'SOCKET_ENOTEMPTY' => 39, + 'SOCKET_ELOOP' => 40, + 'SOCKET_EWOULDBLOCK' => 11, + 'SOCKET_ENOMSG' => 42, + 'SOCKET_EIDRM' => 43, + 'SOCKET_ECHRNG' => 44, + 'SOCKET_EL2NSYNC' => 45, + 'SOCKET_EL3HLT' => 46, + 'SOCKET_EL3RST' => 47, + 'SOCKET_ELNRNG' => 48, + 'SOCKET_EUNATCH' => 49, + 'SOCKET_ENOCSI' => 50, + 'SOCKET_EL2HLT' => 51, + 'SOCKET_EBADE' => 52, + 'SOCKET_EBADR' => 53, + 'SOCKET_EXFULL' => 54, + 'SOCKET_ENOANO' => 55, + 'SOCKET_EBADRQC' => 56, + 'SOCKET_EBADSLT' => 57, + 'SOCKET_ENOSTR' => 60, + 'SOCKET_ENODATA' => 61, + 'SOCKET_ETIME' => 62, + 'SOCKET_ENOSR' => 63, + 'SOCKET_ENONET' => 64, + 'SOCKET_EREMOTE' => 66, + 'SOCKET_ENOLINK' => 67, + 'SOCKET_EADV' => 68, + 'SOCKET_ESRMNT' => 69, + 'SOCKET_ECOMM' => 70, + 'SOCKET_EPROTO' => 71, + 'SOCKET_EMULTIHOP' => 72, + 'SOCKET_EBADMSG' => 74, + 'SOCKET_ENOTUNIQ' => 76, + 'SOCKET_EBADFD' => 77, + 'SOCKET_EREMCHG' => 78, + 'SOCKET_ERESTART' => 85, + 'SOCKET_ESTRPIPE' => 86, + 'SOCKET_EUSERS' => 87, + 'SOCKET_ENOTSOCK' => 88, + 'SOCKET_EDESTADDRREQ' => 89, + 'SOCKET_EMSGSIZE' => 90, + 'SOCKET_EPROTOTYPE' => 91, + 'SOCKET_ENOPROTOOPT' => 92, + 'SOCKET_EPROTONOSUPPORT' => 93, + 'SOCKET_ESOCKTNOSUPPORT' => 94, + 'SOCKET_EOPNOTSUPP' => 95, + 'SOCKET_EPFNOSUPPORT' => 96, + 'SOCKET_EAFNOSUPPORT' => 97, + 'SOCKET_EADDRINUSE' => 98, + 'SOCKET_EADDRNOTAVAIL' => 99, + 'SOCKET_ENETDOWN' => 100, + 'SOCKET_ENETUNREACH' => 101, + 'SOCKET_ENETRESET' => 102, + 'SOCKET_ECONNABORTED' => 103, + 'SOCKET_ECONNRESET' => 104, + 'SOCKET_ENOBUFS' => 105, + 'SOCKET_EISCONN' => 106, + 'SOCKET_ENOTCONN' => 107, + 'SOCKET_ESHUTDOWN' => 108, + 'SOCKET_ETOOMANYREFS' => 109, + 'SOCKET_ETIMEDOUT' => 110, + 'SOCKET_ECONNREFUSED' => 111, + 'SOCKET_EHOSTDOWN' => 112, + 'SOCKET_EHOSTUNREACH' => 113, + 'SOCKET_EALREADY' => 114, + 'SOCKET_EINPROGRESS' => 115, + 'SOCKET_EISNAM' => 120, + 'SOCKET_EREMOTEIO' => 121, + 'SOCKET_EDQUOT' => 122, + 'SOCKET_ENOMEDIUM' => 123, + 'SOCKET_EMEDIUMTYPE' => 124, + 'IPPROTO_IP' => 0, + 'IPPROTO_IPV6' => 41, + 'SOL_TCP' => 6, + 'SOL_UDP' => 17, + 'IPV6_UNICAST_HOPS' => 16, + 'AI_PASSIVE' => 1, + 'AI_CANONNAME' => 2, + 'AI_NUMERICHOST' => 4, + 'AI_V4MAPPED' => 8, + 'AI_ALL' => 16, + 'AI_ADDRCONFIG' => 32, + 'AI_IDN' => 64, + 'AI_CANONIDN' => 128, + 'AI_NUMERICSERV' => 1024, + 'IPV6_RECVPKTINFO' => 49, + 'IPV6_PKTINFO' => 50, + 'IPV6_RECVHOPLIMIT' => 51, + 'IPV6_HOPLIMIT' => 52, + 'IPV6_RECVTCLASS' => 66, + 'IPV6_TCLASS' => 67, + 'SCM_RIGHTS' => 1, + 'SCM_CREDENTIALS' => 2, + 'SO_PASSCRED' => 16, + 'T_LNUMBER' => 260, + 'T_DNUMBER' => 261, + 'T_STRING' => 262, + 'T_NAME_FULLY_QUALIFIED' => 263, + 'T_NAME_RELATIVE' => 264, + 'T_NAME_QUALIFIED' => 265, + 'T_VARIABLE' => 266, + 'T_INLINE_HTML' => 267, + 'T_ENCAPSED_AND_WHITESPACE' => 268, + 'T_CONSTANT_ENCAPSED_STRING' => 269, + 'T_STRING_VARNAME' => 270, + 'T_NUM_STRING' => 271, + 'T_INCLUDE' => 272, + 'T_INCLUDE_ONCE' => 273, + 'T_EVAL' => 274, + 'T_REQUIRE' => 275, + 'T_REQUIRE_ONCE' => 276, + 'T_LOGICAL_OR' => 277, + 'T_LOGICAL_XOR' => 278, + 'T_LOGICAL_AND' => 279, + 'T_PRINT' => 280, + 'T_YIELD' => 281, + 'T_YIELD_FROM' => 282, + 'T_INSTANCEOF' => 283, + 'T_NEW' => 284, + 'T_CLONE' => 285, + 'T_EXIT' => 286, + 'T_IF' => 287, + 'T_ELSEIF' => 288, + 'T_ELSE' => 289, + 'T_ENDIF' => 290, + 'T_ECHO' => 291, + 'T_DO' => 292, + 'T_WHILE' => 293, + 'T_ENDWHILE' => 294, + 'T_FOR' => 295, + 'T_ENDFOR' => 296, + 'T_FOREACH' => 297, + 'T_ENDFOREACH' => 298, + 'T_DECLARE' => 299, + 'T_ENDDECLARE' => 300, + 'T_AS' => 301, + 'T_SWITCH' => 302, + 'T_ENDSWITCH' => 303, + 'T_CASE' => 304, + 'T_DEFAULT' => 305, + 'T_MATCH' => 306, + 'T_BREAK' => 307, + 'T_CONTINUE' => 308, + 'T_GOTO' => 309, + 'T_FUNCTION' => 310, + 'T_FN' => 311, + 'T_CONST' => 312, + 'T_RETURN' => 313, + 'T_TRY' => 314, + 'T_CATCH' => 315, + 'T_FINALLY' => 316, + 'T_THROW' => 317, + 'T_USE' => 318, + 'T_INSTEADOF' => 319, + 'T_GLOBAL' => 320, + 'T_STATIC' => 321, + 'T_ABSTRACT' => 322, + 'T_FINAL' => 323, + 'T_PRIVATE' => 324, + 'T_PROTECTED' => 325, + 'T_PUBLIC' => 326, + 'T_READONLY' => 327, + 'T_VAR' => 328, + 'T_UNSET' => 329, + 'T_ISSET' => 330, + 'T_EMPTY' => 331, + 'T_HALT_COMPILER' => 332, + 'T_CLASS' => 333, + 'T_TRAIT' => 334, + 'T_INTERFACE' => 335, + 'T_ENUM' => 336, + 'T_EXTENDS' => 337, + 'T_IMPLEMENTS' => 338, + 'T_NAMESPACE' => 339, + 'T_LIST' => 340, + 'T_ARRAY' => 341, + 'T_CALLABLE' => 342, + 'T_LINE' => 343, + 'T_FILE' => 344, + 'T_DIR' => 345, + 'T_CLASS_C' => 346, + 'T_TRAIT_C' => 347, + 'T_METHOD_C' => 348, + 'T_FUNC_C' => 349, + 'T_NS_C' => 350, + 'T_ATTRIBUTE' => 351, + 'T_PLUS_EQUAL' => 352, + 'T_MINUS_EQUAL' => 353, + 'T_MUL_EQUAL' => 354, + 'T_DIV_EQUAL' => 355, + 'T_CONCAT_EQUAL' => 356, + 'T_MOD_EQUAL' => 357, + 'T_AND_EQUAL' => 358, + 'T_OR_EQUAL' => 359, + 'T_XOR_EQUAL' => 360, + 'T_SL_EQUAL' => 361, + 'T_SR_EQUAL' => 362, + 'T_COALESCE_EQUAL' => 363, + 'T_BOOLEAN_OR' => 364, + 'T_BOOLEAN_AND' => 365, + 'T_IS_EQUAL' => 366, + 'T_IS_NOT_EQUAL' => 367, + 'T_IS_IDENTICAL' => 368, + 'T_IS_NOT_IDENTICAL' => 369, + 'T_IS_SMALLER_OR_EQUAL' => 370, + 'T_IS_GREATER_OR_EQUAL' => 371, + 'T_SPACESHIP' => 372, + 'T_SL' => 373, + 'T_SR' => 374, + 'T_INC' => 375, + 'T_DEC' => 376, + 'T_INT_CAST' => 377, + 'T_DOUBLE_CAST' => 378, + 'T_STRING_CAST' => 379, + 'T_ARRAY_CAST' => 380, + 'T_OBJECT_CAST' => 381, + 'T_BOOL_CAST' => 382, + 'T_UNSET_CAST' => 383, + 'T_OBJECT_OPERATOR' => 384, + 'T_NULLSAFE_OBJECT_OPERATOR' => 385, + 'T_DOUBLE_ARROW' => 386, + 'T_COMMENT' => 387, + 'T_DOC_COMMENT' => 388, + 'T_OPEN_TAG' => 389, + 'T_OPEN_TAG_WITH_ECHO' => 390, + 'T_CLOSE_TAG' => 391, + 'T_WHITESPACE' => 392, + 'T_START_HEREDOC' => 393, + 'T_END_HEREDOC' => 394, + 'T_DOLLAR_OPEN_CURLY_BRACES' => 395, + 'T_CURLY_OPEN' => 396, + 'T_PAAMAYIM_NEKUDOTAYIM' => 397, + 'T_NS_SEPARATOR' => 398, + 'T_ELLIPSIS' => 399, + 'T_COALESCE' => 400, + 'T_POW' => 401, + 'T_POW_EQUAL' => 402, + 'T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG' => 403, + 'T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG' => 404, + 'T_BAD_CHARACTER' => 405, + 'T_DOUBLE_COLON' => 397, + 'TOKEN_PARSE' => 1, + 'XML_ERROR_NONE' => 0, + 'XML_ERROR_NO_MEMORY' => 1, + 'XML_ERROR_SYNTAX' => 2, + 'XML_ERROR_NO_ELEMENTS' => 3, + 'XML_ERROR_INVALID_TOKEN' => 4, + 'XML_ERROR_UNCLOSED_TOKEN' => 5, + 'XML_ERROR_PARTIAL_CHAR' => 6, + 'XML_ERROR_TAG_MISMATCH' => 7, + 'XML_ERROR_DUPLICATE_ATTRIBUTE' => 8, + 'XML_ERROR_JUNK_AFTER_DOC_ELEMENT' => 9, + 'XML_ERROR_PARAM_ENTITY_REF' => 10, + 'XML_ERROR_UNDEFINED_ENTITY' => 11, + 'XML_ERROR_RECURSIVE_ENTITY_REF' => 12, + 'XML_ERROR_ASYNC_ENTITY' => 13, + 'XML_ERROR_BAD_CHAR_REF' => 14, + 'XML_ERROR_BINARY_ENTITY_REF' => 15, + 'XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF' => 16, + 'XML_ERROR_MISPLACED_XML_PI' => 17, + 'XML_ERROR_UNKNOWN_ENCODING' => 18, + 'XML_ERROR_INCORRECT_ENCODING' => 19, + 'XML_ERROR_UNCLOSED_CDATA_SECTION' => 20, + 'XML_ERROR_EXTERNAL_ENTITY_HANDLING' => 21, + 'XML_OPTION_CASE_FOLDING' => 1, + 'XML_OPTION_TARGET_ENCODING' => 2, + 'XML_OPTION_SKIP_TAGSTART' => 3, + 'XML_OPTION_SKIP_WHITE' => 4, + 'XML_SAX_IMPL' => 'libxml', + 'PHP_CLI_PROCESS_TITLE' => true, +); diff --git a/config/functions.php b/config/functions.php new file mode 100644 index 00000000..8225510f --- /dev/null +++ b/config/functions.php @@ -0,0 +1,480 @@ + 'microtime', + 'fn_446992100118' => 'proc_get_status', + 'fn_670187200134' => 'pack', + 'fn_212140300602' => 'strspn', + 'fn_753418400955' => 'dirname', + 'fn_292876500500' => 'array_udiff_assoc', + 'fn_604825600726' => 'stream_context_set_params', + 'fn_789307700719' => 'call_user_func_array', + 'fn_177275800714' => 'is_callable', + 'fn_742782900797' => 'version_compare', + 'fn_914546100875' => 'glob', + 'fn_835109110163' => 'cosh', + 'fn_214255120422' => 'atan', + 'fn_669705130562' => 'array_column', + 'fn_766607140824' => 'escapeshellarg', + 'fn_453939150520' => 'ftruncate', + 'fn_239496160553' => 'vsprintf', + 'fn_807966170248' => 'headers_sent', + 'fn_742946180180' => 'strripos', + 'fn_514674190217' => 'trim', + 'fn_343211200224' => 'getmyinode', + 'fn_762299210933' => 'error_clear_last', + 'fn_418991220540' => 'chown', + 'fn_231318230857' => 'stream_socket_client', + 'fn_916428240413' => 'ceil', + 'fn_401760250164' => 'stream_select', + 'fn_796719260288' => 'image_type_to_mime_type', + 'fn_713629270678' => 'password_needs_rehash', + 'fn_190101280366' => 'array_merge_recursive', + 'fn_423455290980' => 'fread', + 'fn_737596300131' => 'getmyuid', + 'fn_698830310823' => 'tanh', + 'fn_367721320348' => 'time_sleep_until', + 'fn_441839330115' => 'cos', + 'fn_248720340688' => 'getimagesize', + 'fn_395826350324' => 'strstr', + 'fn_801139360426' => 'is_int', + 'fn_498617370487' => 'strnatcasecmp', + 'fn_830446380410' => 'extract', + 'fn_739403390827' => 'array_unique', + 'fn_933370400691' => 'stream_is_local', + 'fn_110018410541' => 'fpassthru', + 'fn_968807420458' => 'array_diff_uassoc', + 'fn_402412430986' => 'array_intersect_key', + 'fn_502991440134' => 'getlastmod', + 'fn_518489450357' => 'convert_uudecode', + 'fn_972043460578' => 'fprintf', + 'fn_848354470296' => 'log1p', + 'fn_482067480729' => 'mt_rand', + 'fn_353910490827' => 'natsort', + 'fn_455892500890' => 'stream_get_filters', + 'fn_645118510346' => 'getprotobyname', + 'fn_523481520952' => 'disk_free_space', + 'fn_147021530199' => 'substr_compare', + 'fn_482961540112' => 'strcoll', + 'fn_693595550575' => 'strpbrk', + 'fn_801133560379' => 'flush', + 'fn_611248570328' => 'sscanf', + 'fn_739209580612' => 'getopt', + 'fn_232033590338' => 'array_reduce', + 'fn_976203600947' => 'ord', + 'fn_109495610650' => 'array_walk_recursive', + 'fn_837266620691' => 'phpinfo', + 'fn_378209630327' => 'str_pad', + 'fn_203470640974' => 'fgetc', + 'fn_336381650354' => 'min', + 'fn_694628660485' => 'is_null', + 'fn_227405670630' => 'rtrim', + 'fn_515161680400' => 'rsort', + 'fn_702324690392' => 'rename', + 'fn_277415700113' => 'realpath_cache_get', + 'fn_161119710919' => 'dechex', + 'fn_391328720955' => 'explode', + 'fn_592012730335' => 'stream_copy_to_stream', + 'fn_260806740807' => 'md5', + 'fn_153644750450' => 'php_sapi_name', + 'fn_380379760821' => 'array_diff', + 'fn_728615770136' => 'file', + 'fn_178658780585' => 'array_flip', + 'fn_111279790626' => 'php_strip_whitespace', + 'fn_716393800184' => 'addcslashes', + 'fn_373289810599' => 'similar_text', + 'fn_601044820494' => 'usleep', + 'fn_128006830443' => 'natcasesort', + 'fn_380705840279' => 'bin2hex', + 'fn_668833850251' => 'decoct', + 'fn_783296860787' => 'error_get_last', + 'fn_877314870144' => 'print_r', + 'fn_449318880512' => 'linkinfo', + 'fn_714939890342' => 'header', + 'fn_182371900414' => 'syslog', + 'fn_266524910619' => 'max', + 'fn_902621920658' => 'fscanf', + 'fn_889168930589' => 'chroot', + 'fn_853042940887' => 'stream_bucket_append', + 'fn_890924950545' => 'stream_socket_get_name', + 'fn_194760960334' => 'array_pop', + 'fn_742766970643' => 'array_splice', + 'fn_327365980921' => 'array_sum', + 'fn_634987990779' => 'stream_filter_append', + 'fn_111918100549' => 'shuffle', + 'fn_620306101151' => 'get_debug_type', + 'fn_988610102143' => 'acos', + 'fn_943537103904' => 'rad2deg', + 'fn_255204104402' => 'array_merge', + 'fn_115199105128' => 'fflush', + 'fn_386658106653' => 'setlocale', + 'fn_613677107747' => 'stream_socket_enable_crypto', + 'fn_250901108881' => 'unserialize', + 'fn_544619109332' => 'tan', + 'fn_492957110239' => 'uksort', + 'fn_632077111916' => 'utf8_decode', + 'fn_728903112579' => 'array_diff_key', + 'fn_787905113568' => 'stream_resolve_include_path', + 'fn_753419114183' => 'proc_nice', + 'fn_749372115594' => 'is_nan', + 'fn_921462116750' => 'copy', + 'fn_301226117995' => 'mt_srand', + 'fn_548497118441' => 'expm1', + 'fn_549923119715' => 'setrawcookie', + 'fn_530836120592' => 'quoted_printable_encode', + 'fn_798990121646' => 'popen', + 'fn_162074122284' => 'in_array', + 'fn_978081123734' => 'sinh', + 'fn_249220124555' => 'strptime', + 'fn_780423125848' => 'phpversion', + 'fn_393256126551' => 'stream_set_read_buffer', + 'fn_950894127541' => 'stream_socket_accept', + 'fn_314829128893' => 'system', + 'fn_666997129294' => 'str_ireplace', + 'fn_943932130140' => 'substr_count', + 'fn_122517131589' => 'rawurldecode', + 'fn_514569132760' => 'stream_bucket_make_writeable', + 'fn_355194133614' => 'is_scalar', + 'fn_329360134452' => 'unregister_tick_function', + 'fn_507757135378' => 'register_tick_function', + 'fn_271772136265' => 'gethostbyname', + 'fn_752520137148' => 'uasort', + 'fn_561608138525' => 'array_intersect', + 'fn_643620139152' => 'array_search', + 'fn_319906140739' => 'mt_getrandmax', + 'fn_118308141697' => 'array_chunk', + 'fn_804419142832' => 'acosh', + 'fn_250655143914' => 'get_headers', + 'fn_442295144905' => 'metaphone', + 'fn_921009145982' => 'tempnam', + 'fn_544827146439' => 'setcookie', + 'fn_463710147513' => 'link', + 'fn_321884148844' => 'quoted_printable_decode', + 'fn_670819149621' => 'highlight_string', + 'fn_546471150177' => 'connection_status', + 'fn_195279151592' => 'forward_static_call_array', + 'fn_102341152762' => 'crc32', + 'fn_578907153333' => 'array_unshift', + 'fn_132820154945' => 'sin', + 'fn_205967155355' => 'compact', + 'fn_835672156488' => 'assert', + 'fn_813579157559' => 'password_hash', + 'fn_842989158896' => 'levenshtein', + 'fn_597455159834' => 'symlink', + 'fn_118755160747' => 'arsort', + 'fn_588927161362' => 'disk_total_space', + 'fn_742075162378' => 'fputcsv', + 'fn_534538163528' => 'hypot', + 'fn_678023164409' => 'abs', + 'fn_921873165761' => 'proc_terminate', + 'fn_506519166299' => 'fdiv', + 'fn_659077167337' => 'stream_context_set_default', + 'fn_347385168809' => 'krsort', + 'fn_303176169212' => 'strrev', + 'fn_132502170584' => 'md5_file', + 'fn_187180171366' => 'soundex', + 'fn_921128172389' => 'base64_decode', + 'fn_479306173539' => 'intdiv', + 'fn_196323174962' => 'is_resource', + 'fn_408222175391' => 'round', + 'fn_763484176792' => 'stream_get_contents', + 'fn_405388177591' => 'fmod', + 'fn_537701178834' => 'exp', + 'fn_851298179589' => 'getprotobynumber', + 'fn_680387180504' => 'deg2rad', + 'fn_881796181163' => 'ini_get_all', + 'fn_484668182663' => 'stristr', + 'fn_331872183773' => 'pi', + 'fn_951555184758' => 'vfprintf', + 'fn_280942185932' => 'unpack', + 'fn_961555186196' => 'sqrt', + 'fn_434510187334' => 'vprintf', + 'fn_896776188614' => 'array_fill_keys', + 'fn_283041189982' => 'sha1_file', + 'fn_600618190738' => 'get_include_path', + 'fn_621530191192' => 'array_intersect_ukey', + 'fn_750630192398' => 'str_getcsv', + 'fn_984044193571' => 'sort', + 'fn_102858194415' => 'gettimeofday', + 'fn_425897195929' => 'chunk_split', + 'fn_644677196669' => 'random_bytes', + 'fn_387145197643' => 'get_browser', + 'fn_332731198866' => 'password_algos', + 'fn_937498199457' => 'intval', + 'fn_964150200221' => 'str_ends_with', + 'fn_792462201924' => 'html_entity_decode', + 'fn_685571202941' => 'chr', + 'fn_836591203674' => 'ucwords', + 'fn_349303204467' => 'is_bool', + 'fn_709247205476' => 'stream_socket_recvfrom', + 'fn_611876206292' => 'wordwrap', + 'fn_211138207339' => 'boolval', + 'fn_278126208501' => 'error_log', + 'fn_541495209919' => 'octdec', + 'fn_642904210339' => 'stripcslashes', + 'fn_462896211507' => 'iptcembed', + 'fn_722548212154' => 'array_uintersect', + 'fn_517400213771' => 'rewind', + 'fn_962218214129' => 'hrtime', + 'fn_611836215204' => 'ip2long', + 'fn_767927216789' => 'is_iterable', + 'fn_381861217548' => 'nl_langinfo', + 'fn_462520218590' => 'file_get_contents', + 'fn_390151219986' => 'array_key_last', + 'fn_874388220266' => 'ini_set', + 'fn_998783221595' => 'strip_tags', + 'fn_388491222989' => 'move_uploaded_file', + 'fn_498648223595' => 'prev', + 'fn_901288224416' => 'utf8_encode', + 'fn_653360225940' => 'floatval', + 'fn_526788226992' => 'array_replace_recursive', + 'fn_703175227498' => 'stream_filter_remove', + 'fn_308930228347' => 'current', + 'fn_316682229799' => 'headers_list', + 'fn_140762230332' => 'image_type_to_extension', + 'fn_185279231775' => 'getenv', + 'fn_698574232327' => 'array_reverse', + 'fn_255586233378' => 'array_udiff_uassoc', + 'fn_882171234892' => 'memory_get_usage', + 'fn_879977235191' => 'array_pad', + 'fn_951500236183' => 'stream_supports_lock', + 'fn_528642237168' => 'getrusage', + 'fn_238305238577' => 'parse_url', + 'fn_149032239654' => 'putenv', + 'fn_587614240206' => 'stream_set_timeout', + 'fn_814708241489' => 'pclose', + 'fn_752507242578' => 'highlight_file', + 'fn_764151243145' => 'password_get_info', + 'fn_501461244653' => 'chgrp', + 'fn_282365245968' => 'passthru', + 'fn_791162246257' => 'parse_str', + 'fn_823598247548' => 'ftok', + 'fn_523360248836' => 'hexdec', + 'fn_595074249590' => 'memory_get_peak_usage', + 'fn_644107250919' => 'lchown', + 'fn_690375251369' => 'array_map', + 'fn_902910252845' => 'fgets', + 'fn_202432253635' => 'decbin', + 'fn_273254254979' => 'array_change_key_case', + 'fn_808839255250' => 'realpath_cache_size', + 'fn_859147256125' => 'fopen', + 'fn_876531257669' => 'array_shift', + 'fn_365924258423' => 'chmod', + 'fn_912154259766' => 'log10', + 'fn_998515260158' => 'array_udiff', + 'fn_682904261407' => 'closedir', + 'fn_144851262820' => 'dns_check_record', + 'fn_241172263148' => 'gethostname', + 'fn_361325264708' => 'ltrim', + 'fn_502933265944' => 'stream_socket_pair', + 'fn_860459266241' => 'feof', + 'fn_333194267214' => 'serialize', + 'fn_278323268651' => 'printf', + 'fn_403050269942' => 'assert_options', + 'fn_949737270126' => 'opendir', + 'fn_445853271879' => 'strval', + 'fn_938036272880' => 'floor', + 'fn_238940273506' => 'realpath', + 'fn_418690274708' => 'get_html_translation_table', + 'fn_988036275838' => 'stream_set_chunk_size', + 'fn_377276276328' => 'proc_close', + 'fn_832975277922' => 'phpcredits', + 'fn_835996278538' => 'var_export', + 'fn_807712279471' => 'array_filter', + 'fn_658431280980' => 'ini_restore', + 'fn_393788281932' => 'chdir', + 'fn_113349282330' => 'hebrev', + 'fn_314639283744' => 'dir', + 'fn_581482284113' => 'umask', + 'fn_726673285805' => 'dns_get_mx', + 'fn_833375286202' => 'stream_context_get_options', + 'fn_248854287897' => 'array_intersect_uassoc', + 'fn_863894288267' => 'array_combine', + 'fn_566696289341' => 'count_chars', + 'fn_613359290911' => 'htmlspecialchars', + 'fn_634928291512' => 'urldecode', + 'fn_843493292695' => 'array_walk', + 'fn_672572293146' => 'getcwd', + 'fn_944343294715' => 'array_intersect_assoc', + 'fn_785994295246' => 'call_user_func', + 'fn_809978296147' => 'var_dump', + 'fn_631223297932' => 'array_uintersect_uassoc', + 'fn_370210298418' => 'str_rot13', + 'fn_963378299111' => 'tmpfile', + 'fn_300989300489' => 'array_count_values', + 'fn_359251301979' => 'convert_uuencode', + 'fn_673992302291' => 'sleep', + 'fn_912485303377' => 'str_word_count', + 'fn_959600304478' => 'parse_ini_file', + 'fn_540461305519' => 'asort', + 'fn_717340306856' => 'sys_get_temp_dir', + 'fn_367049307457' => 'stream_bucket_prepend', + 'fn_894627308290' => 'getmygid', + 'fn_123902309575' => 'gethostbynamel', + 'fn_871072310627' => 'http_build_query', + 'fn_114830311512' => 'implode', + 'fn_517562312258' => 'flock', + 'fn_464393313481' => 'crypt', + 'fn_341121314298' => 'array_fill', + 'fn_910170315475' => 'unlink', + 'fn_790309316404' => 'substr', + 'fn_716531317159' => 'sha1', + 'fn_169552318784' => 'settype', + 'fn_525665319583' => 'stream_filter_prepend', + 'fn_598343320847' => 'time_nanosleep', + 'fn_312141321224' => 'clearstatcache', + 'fn_885773322944' => 'strtok', + 'fn_720482323999' => 'str_split', + 'fn_884315324209' => 'readdir', + 'fn_363839325167' => 'array_push', + 'fn_754902326438' => 'uniqid', + 'fn_890141327628' => 'strtr', + 'fn_779938328512' => 'get_cfg_var', + 'fn_875126329144' => 'rand', + 'fn_461139330474' => 'htmlentities', + 'fn_348303331730' => 'atan2', + 'fn_159619332206' => 'urlencode', + 'fn_987207333738' => 'stream_context_get_params', + 'fn_445588334162' => 'stream_get_wrappers', + 'fn_493167335595' => 'localeconv', + 'fn_307319336452' => 'getimagesizefromstring', + 'fn_173658337170' => 'count', + 'fn_998426338167' => 'asinh', + 'fn_574064339711' => 'lchgrp', + 'fn_513058340237' => 'pathinfo', + 'fn_541060341655' => 'stripos', + 'fn_346637342151' => 'php_ini_scanned_files', + 'fn_724724343932' => 'str_starts_with', + 'fn_478147344842' => 'iptcparse', + 'fn_627436345167' => 'debug_zval_dump', + 'fn_843128346487' => 'array_rand', + 'fn_509074347341' => 'getservbyport', + 'fn_475471348861' => 'basename', + 'fn_433777349317' => 'readfile', + 'fn_875665350392' => 'stream_context_get_default', + 'fn_231401351328' => 'constant', + 'fn_897967352223' => 'is_countable', + 'fn_600381353896' => 'stream_socket_sendto', + 'fn_648686354216' => 'rawurlencode', + 'fn_366857355457' => 'is_uploaded_file', + 'fn_473091356143' => 'is_float', + 'fn_165533357954' => 'stream_get_transports', + 'fn_237156358360' => 'array_multisort', + 'fn_102783359341' => 'array_diff_ukey', + 'fn_124065360630' => 'get_current_user', + 'fn_433772361960' => 'inet_pton', + 'fn_876845362432' => 'proc_open', + 'fn_696499363557' => 'dl', + 'fn_648804364560' => 'substr_replace', + 'fn_723676365438' => 'inet_ntop', + 'fn_193756366642' => 'atanh', + 'fn_262337367269' => 'usort', + 'fn_615617368558' => 'long2ip', + 'fn_723885369702' => 'number_format', + 'fn_379870370573' => 'gettype', + 'fn_134566371508' => 'fseek', + 'fn_470493372344' => 'forward_static_call', + 'fn_463860373496' => 'ucfirst', + 'fn_466754374622' => 'dns_get_mx', + 'fn_107264375679' => 'fsockopen', + 'fn_479610376250' => 'fclose', + 'fn_973139377619' => 'stream_isatty', + 'fn_963532378121' => 'stream_socket_shutdown', + 'fn_680269379225' => 'get_meta_tags', + 'fn_899645380636' => 'asin', + 'fn_286046381492' => 'closelog', + 'fn_777803382670' => 'register_shutdown_function', + 'fn_843658383330' => 'shell_exec', + 'fn_225733384362' => 'stripslashes', + 'fn_662498385432' => 'str_shuffle', + 'fn_945027386645' => 'scandir', + 'fn_883447387234' => 'array_replace', + 'fn_188286388568' => 'ksort', + 'fn_234493389855' => 'rewinddir', + 'fn_391322390709' => 'fnmatch', + 'fn_802639391768' => 'exec', + 'fn_965630392630' => 'random_int', + 'fn_806623393820' => 'gethostbyaddr', + 'fn_834557394356' => 'dns_get_record', + 'fn_753747395367' => 'stream_bucket_new', + 'fn_308333396888' => 'config_get_hash', + 'fn_122693397687' => 'array_diff_assoc', + 'fn_850310398695' => 'escapeshellcmd', + 'fn_852027399249' => 'nl2br', + 'fn_634138400492' => 'str_replace', + 'fn_978761401682' => 'is_string', + 'fn_908179402243' => 'array_values', + 'fn_246145403862' => 'is_array', + 'fn_375945404859' => 'strpos', + 'fn_491527405466' => 'pfsockopen', + 'fn_932293406676' => 'base64_encode', + 'fn_671335407508' => 'str_contains', + 'fn_343130408317' => 'base_convert', + 'fn_297084409875' => 'is_infinite', + 'fn_550584410765' => 'mail', + 'fn_962465411769' => 'array_keys', + 'fn_584965412679' => 'ignore_user_abort', + 'fn_636165413465' => 'array_product', + 'fn_149040414128' => 'password_verify', + 'fn_279207415557' => 'htmlspecialchars_decode', + 'fn_993372416998' => 'range', + 'fn_189673417819' => 'is_object', + 'fn_644257418726' => 'mkdir', + 'fn_139558419798' => 'touch', + 'fn_151876420211' => 'lcfirst', + 'fn_566271421464' => 'rmdir', + 'fn_939311422338' => 'readlink', + 'fn_127114423996' => 'sapi_windows_vt100_support', + 'fn_763909424838' => 'is_finite', + 'fn_798601425950' => 'array_slice', + 'fn_589227426591' => 'http_response_code', + 'fn_615598427567' => 'openlog', + 'fn_124394428641' => 'php_ini_loaded_file', + 'fn_959188429879' => 'fgetcsv', + 'fn_466149430802' => 'sprintf', + 'fn_364565431656' => 'parse_ini_string', + 'fn_148177432401' => 'array_key_exists', + 'fn_689325433549' => 'dns_get_record', + 'fn_167216434698' => 'sys_getloadavg', + 'fn_950691435206' => 'hex2bin', + 'fn_610152436154' => 'stream_context_set_option', + 'fn_111010437804' => 'set_include_path', + 'fn_444553438827' => 'strrchr', + 'fn_852837439787' => 'stream_set_blocking', + 'fn_927433440248' => 'ftell', + 'fn_834040441473' => 'ini_get', + 'fn_851731442520' => 'php_uname', + 'fn_978046443789' => 'next', + 'fn_342528444864' => 'getservbyname', + 'fn_637095445805' => 'reset', + 'fn_671526446181' => 'addslashes', + 'fn_726412447504' => 'lcg_value', + 'fn_118442448832' => 'bindec', + 'fn_193605449687' => 'dns_check_record', + 'fn_142639450533' => 'stream_set_write_buffer', + 'fn_279645451781' => 'fwrite', + 'fn_559885452761' => 'net_get_interfaces', + 'fn_557156453286' => 'strrpos', + 'fn_989651454633' => 'stream_get_meta_data', + 'fn_953644455686' => 'quotemeta', + 'fn_150968456179' => 'end', + 'fn_532941457482' => 'array_key_first', + 'fn_413255458873' => 'log', + 'fn_551542459309' => 'strtolower', + 'fn_112746460417' => 'key', + 'fn_636571461580' => 'connection_aborted', + 'fn_740491462841' => 'header_remove', + 'fn_827974463454' => 'stream_get_line', + 'fn_387797464718' => 'pow', + 'fn_935752465180' => 'array_uintersect_assoc', + 'fn_528167466136' => 'strnatcmp', + 'fn_839420467511' => 'stream_socket_server', + 'fn_169946468241' => 'strcspn', + 'fn_484993469875' => 'is_numeric', + 'fn_590027470680' => 'getmypid', + 'fn_384043471846' => 'stream_filter_register', + 'fn_808416472868' => 'str_repeat', + 'fn_166553473606' => 'strtoupper', + 'fn_143910474513' => 'stream_context_create', + 'fn_473466475988' => 'file_put_contents', + 'fn_965424476945' => 'fstat', +); diff --git a/examples/cases/const.php b/examples/cases/const.php new file mode 100644 index 00000000..a3a0e3ac --- /dev/null +++ b/examples/cases/const.php @@ -0,0 +1,5 @@ + 1, 'world' => 33.43]; + + $argc = 999; + $a = $b * 13; + + echo "value:=" . ($a + $b); + + $str = str_repeat($d, $b); + echo $str; + + $e2 = array_flip($e); + var_dump($e2); + + return $a * $b; +} diff --git a/src/Php/Encryptor.php b/src/Php/Encryptor.php new file mode 100644 index 00000000..18aff03c --- /dev/null +++ b/src/Php/Encryptor.php @@ -0,0 +1,432 @@ +stmts = $stmts; + $this->encodeMap = require $confDir . '/functions.php'; + $this->decodeMap = array_flip($this->encodeMap); + $this->constants = require $confDir . '/constants.php'; + } + + function parseHeaders(): string + { + $lines = []; + foreach ($this->headers as $header) { + $lines[] = '#include <' . $header . '>'; + } + return implode(PHP_EOL, $lines) . PHP_EOL . PHP_EOL; + } + + function setPhpxDir($dir): void + { + $this->phpxDir = $dir; + } + + function convert() + { + $this->parseStmts($this->stmts); + $prettyPrinter = new Standard; + return $prettyPrinter->prettyPrintFile($this->stmts); + } + + function save($code, $file) + { + file_put_contents($file, $code); + } + + + function getLine($node): int + { + return $node->getLine(); + } + + function getType($node): string + { + return $node->getType(); + } + + private function parseFunctionDef($v) + { + if ($v->name) { + $name = $this->parseIdentifier($v->name); + } else { + $name = ''; + } + + if ($v->returnType) { + $return =$this->parseIdentifier($v->returnType); + } else { + $return = ''; + } + + if ($v->params) { + $params = $this->parseParams($v->params); + } else { + $params = ''; + } + + $code = $return . ' ' . $name . '(' . $params . ') {' . PHP_EOL; + $this->indentLevel++; + $stmts = $this->parseStmts($v->stmts); + $this->indentLevel--; + $code .= $stmts; + $code .= "}"; + + return $code; + } + + protected function parseIdentifier($node) + { + $type = $node->getType(); + switch ($type) { + case 'Identifier': + case 'Expr_Variable': + return $node->name; + case 'Scalar_Int': + case 'Scalar_Float': + return $node->value; + case 'Scalar_String': + return '"' . $node->value . '"'; + case 'Expr_Array': + return $this->parseArray($node); + case 'Expr_FuncCall': + $this->parseFuncCall($node->name); + break; + case 'Expr_Ternary': + case 'Expr_ArrayDimFetch': + case 'Expr_New': + case 'Expr_ClassConstFetch': + case 'Expr_BinaryOp_Identical': + case 'Expr_BinaryOp_Mul': + case 'Expr_BinaryOp_Concat': + case 'Expr_BinaryOp_Plus': + case 'Expr_Isset': + case 'Stmt_Switch': + break; + default: + debug($node); + } + } + + + private function parseParams($params) + { + $list = []; + foreach ($params as $param) { + $type = $param->type ? $this->parseType($param->type) : ''; + $name = $param->var ? $this->parseIdentifier($param->var) : ''; + $list[] = $type . ' ' . $name; + $this->typeMap[$name] = $type; + } + return implode(', ', $list); + } + + private function parseStmts(array $stmts) + { + $lines = []; + foreach ($stmts as $v) { + $class = $v->getType(); + switch ($class) { + case 'Stmt_Function': + $lines[] = $this->parseFunctionDef($v); + break; + case 'Stmt_Expression': + $lines[] = $this->parseExpr($v->expr) . ';'; + break; + case 'Stmt_Echo': + $lines[] = $this->parseEcho($v) . ';'; + break; + case 'Stmt_Return': + $this->parseReturn($v); + break; + case 'Expr_Include': + $this->parseInclude($v); + break; + case 'Stmt_If': + $this->parseIf($v); + break; + case 'Stmt_Global': + case 'Stmt_InlineHTML': + case 'Stmt_Nop': + case 'Stmt_Switch': + break; + default: + debug($v); + } + } + $code = ''; + foreach ($lines as $line) { + $code .= $this->getIndent() . $line . PHP_EOL; + } + return $code; + } + + private function parseExpr(mixed $expr) + { + $type = $expr->getType(); + switch ($type) { + case 'Expr_Assign': + return $this->parseAssign($expr); + case 'Expr_BinaryOp_Plus': + return $this->parseBinaryOpPlus($expr); + case 'Expr_BinaryOp_Mul': + return $this->parseBinaryOpMul($expr); + case 'Expr_BinaryOp_Concat': + return $this->parseBinaryOpConcat($expr); + case 'Expr_FuncCall': + return $this->parseFuncCall($expr->name); + case 'Expr_Include': + return $this->parseInclude($expr->expr); + case 'Expr_BinaryOp_BooleanAnd': + return $this->parseBinaryOpBooleanAnd($expr); + case 'Expr_MethodCall': + case 'Expr_Isset': + case 'Expr_Variable': + case 'Expr_BooleanNot': + case 'Scalar_String': + case 'Scalar_MagicConst_File': + case 'Scalar_MagicConst_Dir': + break; + case 'Expr_BinaryOp_NotIdentical': + $this->parseBinaryOpNotIdentical($expr); + break; + case 'Expr_BinaryOp_Identical': + $this->parseBinaryOpIdentical($expr); + break; + case 'Expr_ConstFetch': + $this->parseConstFetch($expr); + break; + default: + debug($expr); + } + } + + private function parseAssign(mixed $v) + { + $this->parseExpr($v->var); + $this->parseExpr($v->expr); + } + + private function parseEcho(mixed $v) + { + return 'php::echo(' . $this->parseExprs($v->exprs) . ')'; + } + + private function parseExprs($exprs) + { + $code = ''; + foreach ($exprs as $expr) { + $code .= $this->parseExpr($expr); + } + return $code; + } + + private function parseBinaryOpPlus(mixed $expr) + { + $left = $this->parseIdentifier($expr->left); + $right = $this->parseIdentifier($expr->right); + + return $left . ' + ' . $right; + } + + private function parseReturn(mixed $v) + { + return 'return ' . $this->parseExpr($v->expr); + } + + private function parseBinaryOpMul(mixed $expr) + { + $left = $this->parseIdentifier($expr->left); + $right = $this->parseIdentifier($expr->right); + + return $left . ' * ' . $right; + } + + private function detectType($var, $expr) + { + $exprType = $expr->getType(); + switch ($exprType) { + case 'Scalar_Int': + return 'zend_long'; + case 'Scalar_Float': + return 'double'; + case 'Scalar_String': + return 'php::Variant'; + case 'Expr_Array': + return 'php::Array'; + default: + debug($expr); + } + } + + private function parseArray($node) + { + $items = $node->items; + $list = []; + $this->indentLevel++; + foreach ($items as $item) { + if ($item->key) { + $list[] = $this->getIndent() . '{ php::Variant(' . $this->parseIdentifier($item->key) . '), php::Variant(' . $this->parseIdentifier($item->value) . ') }'; + } else { + $list[] = $this->getIndent() . 'php::Variant(' . $this->parseIdentifier($item->value) . ')'; + } + } + $this->indentLevel--; + return '{' . PHP_EOL . + implode(', ' . PHP_EOL, $list) . PHP_EOL . + $this->getIndent() . + '}'; + } + + private function parseType($type) + { + $name = $type->name; + switch ($name) { + case 'int': + return 'zend_long'; + case 'array': + return 'php::Array'; + case 'float': + return 'double'; + default: + debug($type); + } + } + + private function parseIncludes() + { + $list = [ + $this->phpxDir . '/include', + ]; + $out = '$(php-config --includes) '; + foreach ($list as $li) { + $out .= '-I ' . $li . ' '; + } + return $out; + } + + private function parseLdflags() + { + $list = [ + '$(php-config --prefix)/lib', + $this->phpxDir . '/lib', + ]; + $out = ''; + foreach ($list as $li) { + $out .= '-L ' . $li . ' '; + } + return $out; + } + + private function parseLibs() + { + $list = [ + 'phpx', + 'php', + ]; + $out = ''; + foreach ($list as $li) { + $out .= '-l' . $li . ' '; + } + return $out; + } + + public function compileFile($file) + { + $cmd = 'g++ -c ' . $file . ' -o ' . $file . '.o ' . $this->parseIncludes() . $this->parseLdflags() . $this->parseLibs(); + echo $cmd . PHP_EOL; + shell_exec($cmd); + } + + private function parseBinaryOpConcat(mixed $expr) + { + $left = $this->parseIdentifier($expr->left); + $right = $this->parseIdentifier($expr->right); + + return $left . ' + ' . $right; + } + + private function parseFuncCall($expr) + { + if (isset($this->decodeMap[$expr->name])) { + $expr->name = $this->decodeMap[$expr->name]; + } + return $expr; + } + + private function parseInclude(mixed $v) + { + return ''; + } + + private function parseIf(mixed $v) + { + $cond = $v->cond; + $this->parseCond($cond); + } + + private function parseCond(mixed $cond) + { + return $this->parseExpr($cond); + } + + private function parseBinaryOpBooleanAnd(mixed $expr) + { + if (!empty($expr->left)) { + $this->parseExpr($expr->left); + } + if (!empty($expr->right)) { + $this->parseExpr($expr->right); + } + } + + private function parseBinaryOpNotIdentical(mixed $expr) + { + if (!empty($expr->left)) { + $this->parseExpr($expr->left); + } + if (!empty($expr->right)) { + $this->parseExpr($expr->right); + } + } + + private function parseBinaryOpIdentical(mixed $expr) + { + if (!empty($expr->left)) { + $this->parseExpr($expr->left); + } + if (!empty($expr->right)) { + $this->parseExpr($expr->right); + } + } + + private function parseConstFetch(mixed $expr) + { + $name = $expr->name->name; + if (isset($this->constants[$name])) { + + } + } +} + diff --git a/src/functions.php b/src/functions.php index 4f7e5b7e..ecdbd251 100644 --- a/src/functions.php +++ b/src/functions.php @@ -7,10 +7,10 @@ function debug($v) /** * @var $translator Translator */ - global $translator; - $lang = $translator->getLang(); - if ($translator->mode == 'cli') { - echo 'Error: Unsupported ' . $lang . ' Syntax, Line: ' . $translator->getLine($v) . ', Type: ' . $translator->getType($v) . PHP_EOL; + global $encryptor; + $lang = $encryptor->getLang(); + if ($encryptor->mode == 'cli') { + echo 'Error: Unsupported ' . $lang . ' Syntax, Line: ' . $encryptor->getLine($v) . ', Type: ' . $encryptor->getType($v) . PHP_EOL; if (DEBUG) { debug_print_backtrace(); var_dump($v);