]> source.dussan.org Git - nextcloud-server.git/commitdiff
Add stubs for gd, intl, IntlChar, ldap, redis_cluster and xsl
authorMorris Jobke <hey@morrisjobke.de>
Tue, 18 Aug 2020 08:10:38 +0000 (10:10 +0200)
committerMorris Jobke <hey@morrisjobke.de>
Tue, 18 Aug 2020 11:01:10 +0000 (13:01 +0200)
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
build/stubs/IntlChar.php [new file with mode: 0644]
build/stubs/gd.php [new file with mode: 0644]
build/stubs/intl.php [new file with mode: 0644]
build/stubs/ldap.php [new file with mode: 0644]
build/stubs/xsl.php [new file with mode: 0644]
psalm.xml

diff --git a/build/stubs/IntlChar.php b/build/stubs/IntlChar.php
new file mode 100644 (file)
index 0000000..ea9e165
--- /dev/null
@@ -0,0 +1,1368 @@
+<?php
+
+/**
+ * <p>IntlChar provides access to a number of utility methods that can be used to access information about Unicode characters.</p>
+ * <p>The methods and constants adhere closely to the names and behavior used by the underlying ICU library.</p>
+ * @since 7.0
+ */
+class IntlChar {
+    const UNICODE_VERSION = 6.3;
+    const CODEPOINT_MIN = 0;
+    const CODEPOINT_MAX = 1114111;
+    const FOLD_CASE_DEFAULT = 0;
+    const FOLD_CASE_EXCLUDE_SPECIAL_I = 1;
+    const PROPERTY_ALPHABETIC = 0;
+    const PROPERTY_BINARY_START = 0;
+    const PROPERTY_ASCII_HEX_DIGIT = 1;
+    const PROPERTY_BIDI_CONTROL = 2;
+    const PROPERTY_BIDI_MIRRORED = 3;
+    const PROPERTY_DASH = 4;
+    const PROPERTY_DEFAULT_IGNORABLE_CODE_POINT = 5;
+    const PROPERTY_DEPRECATED = 6;
+    const PROPERTY_DIACRITIC = 7;
+    const PROPERTY_EXTENDER = 8;
+    const PROPERTY_FULL_COMPOSITION_EXCLUSION = 9;
+    const PROPERTY_GRAPHEME_BASE = 10;
+    const PROPERTY_GRAPHEME_EXTEND = 11;
+    const PROPERTY_GRAPHEME_LINK = 12;
+    const PROPERTY_HEX_DIGIT = 13;
+    const PROPERTY_HYPHEN = 14;
+    const PROPERTY_ID_CONTINUE = 15;
+    const PROPERTY_ID_START = 16;
+    const PROPERTY_IDEOGRAPHIC = 17;
+    const PROPERTY_IDS_BINARY_OPERATOR = 18;
+    const PROPERTY_IDS_TRINARY_OPERATOR = 19;
+    const PROPERTY_JOIN_CONTROL = 20;
+    const PROPERTY_LOGICAL_ORDER_EXCEPTION = 21;
+    const PROPERTY_LOWERCASE = 22;
+    const PROPERTY_MATH = 23;
+    const PROPERTY_NONCHARACTER_CODE_POINT = 24;
+    const PROPERTY_QUOTATION_MARK = 25;
+    const PROPERTY_RADICAL = 26;
+    const PROPERTY_SOFT_DOTTED = 27;
+    const PROPERTY_TERMINAL_PUNCTUATION = 28;
+    const PROPERTY_UNIFIED_IDEOGRAPH = 29;
+    const PROPERTY_UPPERCASE = 30;
+    const PROPERTY_WHITE_SPACE = 31;
+    const PROPERTY_XID_CONTINUE = 32;
+    const PROPERTY_XID_START = 33;
+    const PROPERTY_CASE_SENSITIVE = 34;
+    const PROPERTY_S_TERM = 35;
+    const PROPERTY_VARIATION_SELECTOR = 36;
+    const PROPERTY_NFD_INERT = 37;
+    const PROPERTY_NFKD_INERT = 38;
+    const PROPERTY_NFC_INERT = 39;
+    const PROPERTY_NFKC_INERT = 40;
+    const PROPERTY_SEGMENT_STARTER = 41;
+    const PROPERTY_PATTERN_SYNTAX = 42;
+    const PROPERTY_PATTERN_WHITE_SPACE = 43;
+    const PROPERTY_POSIX_ALNUM = 44;
+    const PROPERTY_POSIX_BLANK = 45;
+    const PROPERTY_POSIX_GRAPH = 46;
+    const PROPERTY_POSIX_PRINT = 47;
+    const PROPERTY_POSIX_XDIGIT = 48;
+    const PROPERTY_CASED = 49;
+    const PROPERTY_CASE_IGNORABLE = 50;
+    const PROPERTY_CHANGES_WHEN_LOWERCASED = 51;
+    const PROPERTY_CHANGES_WHEN_UPPERCASED = 52;
+    const PROPERTY_CHANGES_WHEN_TITLECASED = 53;
+    const PROPERTY_CHANGES_WHEN_CASEFOLDED = 54;
+    const PROPERTY_CHANGES_WHEN_CASEMAPPED = 55;
+    const PROPERTY_CHANGES_WHEN_NFKC_CASEFOLDED = 56;
+    const PROPERTY_BINARY_LIMIT = 57;
+    const PROPERTY_BIDI_CLASS = 4096;
+    const PROPERTY_INT_START = 4096;
+    const PROPERTY_BLOCK = 4097;
+    const PROPERTY_CANONICAL_COMBINING_CLASS = 4098;
+    const PROPERTY_DECOMPOSITION_TYPE = 4099;
+    const PROPERTY_EAST_ASIAN_WIDTH = 4100;
+    const PROPERTY_GENERAL_CATEGORY = 4101;
+    const PROPERTY_JOINING_GROUP = 4102;
+    const PROPERTY_JOINING_TYPE = 4103;
+    const PROPERTY_LINE_BREAK = 4104;
+    const PROPERTY_NUMERIC_TYPE = 4105;
+    const PROPERTY_SCRIPT = 4106;
+    const PROPERTY_HANGUL_SYLLABLE_TYPE = 4107;
+    const PROPERTY_NFD_QUICK_CHECK = 4108;
+    const PROPERTY_NFKD_QUICK_CHECK = 4109;
+    const PROPERTY_NFC_QUICK_CHECK = 4110;
+    const PROPERTY_NFKC_QUICK_CHECK = 4111;
+    const PROPERTY_LEAD_CANONICAL_COMBINING_CLASS = 4112;
+    const PROPERTY_TRAIL_CANONICAL_COMBINING_CLASS = 4113;
+    const PROPERTY_GRAPHEME_CLUSTER_BREAK = 4114;
+    const PROPERTY_SENTENCE_BREAK = 4115;
+    const PROPERTY_WORD_BREAK = 4116;
+    const PROPERTY_BIDI_PAIRED_BRACKET_TYPE = 4117;
+    const PROPERTY_INT_LIMIT = 4118;
+    const PROPERTY_GENERAL_CATEGORY_MASK = 8192;
+    const PROPERTY_MASK_START = 8192;
+    const PROPERTY_MASK_LIMIT = 8193;
+    const PROPERTY_NUMERIC_VALUE = 12288;
+    const PROPERTY_DOUBLE_START = 12288;
+    const PROPERTY_DOUBLE_LIMIT = 12289;
+    const PROPERTY_AGE = 16384;
+    const PROPERTY_STRING_START = 16384;
+    const PROPERTY_BIDI_MIRRORING_GLYPH = 16385;
+    const PROPERTY_CASE_FOLDING = 16386;
+    const PROPERTY_ISO_COMMENT = 16387;
+    const PROPERTY_LOWERCASE_MAPPING = 16388;
+    const PROPERTY_NAME = 16389;
+    const PROPERTY_SIMPLE_CASE_FOLDING = 16390;
+    const PROPERTY_SIMPLE_LOWERCASE_MAPPING = 16391;
+    const PROPERTY_SIMPLE_TITLECASE_MAPPING = 16392;
+    const PROPERTY_SIMPLE_UPPERCASE_MAPPING = 16393;
+    const PROPERTY_TITLECASE_MAPPING = 16394;
+    const PROPERTY_UNICODE_1_NAME = 16395;
+    const PROPERTY_UPPERCASE_MAPPING = 16396;
+    const PROPERTY_BIDI_PAIRED_BRACKET = 16397;
+    const PROPERTY_STRING_LIMIT = 16398;
+    const PROPERTY_SCRIPT_EXTENSIONS = 28672;
+    const PROPERTY_OTHER_PROPERTY_START = 28672;
+    const PROPERTY_OTHER_PROPERTY_LIMIT = 28673;
+    const PROPERTY_INVALID_CODE = -1;
+    const CHAR_CATEGORY_UNASSIGNED = 0;
+    const CHAR_CATEGORY_GENERAL_OTHER_TYPES = 0;
+    const CHAR_CATEGORY_UPPERCASE_LETTER = 1;
+    const CHAR_CATEGORY_LOWERCASE_LETTER = 2;
+    const CHAR_CATEGORY_TITLECASE_LETTER = 3;
+    const CHAR_CATEGORY_MODIFIER_LETTER = 4;
+    const CHAR_CATEGORY_OTHER_LETTER = 5;
+    const CHAR_CATEGORY_NON_SPACING_MARK = 6;
+    const CHAR_CATEGORY_ENCLOSING_MARK = 7;
+    const CHAR_CATEGORY_COMBINING_SPACING_MARK = 8;
+    const CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER = 9;
+    const CHAR_CATEGORY_LETTER_NUMBER = 10;
+    const CHAR_CATEGORY_OTHER_NUMBER = 11;
+    const CHAR_CATEGORY_SPACE_SEPARATOR = 12;
+    const CHAR_CATEGORY_LINE_SEPARATOR = 13;
+    const CHAR_CATEGORY_PARAGRAPH_SEPARATOR = 14;
+    const CHAR_CATEGORY_CONTROL_CHAR = 15;
+    const CHAR_CATEGORY_FORMAT_CHAR = 16;
+    const CHAR_CATEGORY_PRIVATE_USE_CHAR = 17;
+    const CHAR_CATEGORY_SURROGATE = 18;
+    const CHAR_CATEGORY_DASH_PUNCTUATION = 19;
+    const CHAR_CATEGORY_START_PUNCTUATION = 20;
+    const CHAR_CATEGORY_END_PUNCTUATION = 21;
+    const CHAR_CATEGORY_CONNECTOR_PUNCTUATION = 22;
+    const CHAR_CATEGORY_OTHER_PUNCTUATION = 23;
+    const CHAR_CATEGORY_MATH_SYMBOL = 24;
+    const CHAR_CATEGORY_CURRENCY_SYMBOL = 25;
+    const CHAR_CATEGORY_MODIFIER_SYMBOL = 26;
+    const CHAR_CATEGORY_OTHER_SYMBOL = 27;
+    const CHAR_CATEGORY_INITIAL_PUNCTUATION = 28;
+    const CHAR_CATEGORY_FINAL_PUNCTUATION = 29;
+    const CHAR_CATEGORY_CHAR_CATEGORY_COUNT = 30;
+    const CHAR_DIRECTION_LEFT_TO_RIGHT = 0;
+    const CHAR_DIRECTION_RIGHT_TO_LEFT = 1;
+    const CHAR_DIRECTION_EUROPEAN_NUMBER = 2;
+    const CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR = 3;
+    const CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR = 4;
+    const CHAR_DIRECTION_ARABIC_NUMBER = 5;
+    const CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR = 6;
+    const CHAR_DIRECTION_BLOCK_SEPARATOR = 7;
+    const CHAR_DIRECTION_SEGMENT_SEPARATOR = 8;
+    const CHAR_DIRECTION_WHITE_SPACE_NEUTRAL = 9;
+    const CHAR_DIRECTION_OTHER_NEUTRAL = 10;
+    const CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING = 11;
+    const CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE = 12;
+    const CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC = 13;
+    const CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING = 14;
+    const CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE = 15;
+    const CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT = 16;
+    const CHAR_DIRECTION_DIR_NON_SPACING_MARK = 17;
+    const CHAR_DIRECTION_BOUNDARY_NEUTRAL = 18;
+    const CHAR_DIRECTION_FIRST_STRONG_ISOLATE = 19;
+    const CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE = 20;
+    const CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE = 21;
+    const CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE = 22;
+    const CHAR_DIRECTION_CHAR_DIRECTION_COUNT = 23;
+    const BLOCK_CODE_NO_BLOCK = 0;
+    const BLOCK_CODE_BASIC_LATIN = 1;
+    const BLOCK_CODE_LATIN_1_SUPPLEMENT = 2;
+    const BLOCK_CODE_LATIN_EXTENDED_A = 3;
+    const BLOCK_CODE_LATIN_EXTENDED_B = 4;
+    const BLOCK_CODE_IPA_EXTENSIONS = 5;
+    const BLOCK_CODE_SPACING_MODIFIER_LETTERS = 6;
+    const BLOCK_CODE_COMBINING_DIACRITICAL_MARKS = 7;
+    const BLOCK_CODE_GREEK = 8;
+    const BLOCK_CODE_CYRILLIC = 9;
+    const BLOCK_CODE_ARMENIAN = 10;
+    const BLOCK_CODE_HEBREW = 11;
+    const BLOCK_CODE_ARABIC = 12;
+    const BLOCK_CODE_SYRIAC = 13;
+    const BLOCK_CODE_THAANA = 14;
+    const BLOCK_CODE_DEVANAGARI = 15;
+    const BLOCK_CODE_BENGALI = 16;
+    const BLOCK_CODE_GURMUKHI = 17;
+    const BLOCK_CODE_GUJARATI = 18;
+    const BLOCK_CODE_ORIYA = 19;
+    const BLOCK_CODE_TAMIL = 20;
+    const BLOCK_CODE_TELUGU = 21;
+    const BLOCK_CODE_KANNADA = 22;
+    const BLOCK_CODE_MALAYALAM = 23;
+    const BLOCK_CODE_SINHALA = 24;
+    const BLOCK_CODE_THAI = 25;
+    const BLOCK_CODE_LAO = 26;
+    const BLOCK_CODE_TIBETAN = 27;
+    const BLOCK_CODE_MYANMAR = 28;
+    const BLOCK_CODE_GEORGIAN = 29;
+    const BLOCK_CODE_HANGUL_JAMO = 30;
+    const BLOCK_CODE_ETHIOPIC = 31;
+    const BLOCK_CODE_CHEROKEE = 32;
+    const BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS = 33;
+    const BLOCK_CODE_OGHAM = 34;
+    const BLOCK_CODE_RUNIC = 35;
+    const BLOCK_CODE_KHMER = 36;
+    const BLOCK_CODE_MONGOLIAN = 37;
+    const BLOCK_CODE_LATIN_EXTENDED_ADDITIONAL = 38;
+    const BLOCK_CODE_GREEK_EXTENDED = 39;
+    const BLOCK_CODE_GENERAL_PUNCTUATION = 40;
+    const BLOCK_CODE_SUPERSCRIPTS_AND_SUBSCRIPTS = 41;
+    const BLOCK_CODE_CURRENCY_SYMBOLS = 42;
+    const BLOCK_CODE_COMBINING_MARKS_FOR_SYMBOLS = 43;
+    const BLOCK_CODE_LETTERLIKE_SYMBOLS = 44;
+    const BLOCK_CODE_NUMBER_FORMS = 45;
+    const BLOCK_CODE_ARROWS = 46;
+    const BLOCK_CODE_MATHEMATICAL_OPERATORS = 47;
+    const BLOCK_CODE_MISCELLANEOUS_TECHNICAL = 48;
+    const BLOCK_CODE_CONTROL_PICTURES = 49;
+    const BLOCK_CODE_OPTICAL_CHARACTER_RECOGNITION = 50;
+    const BLOCK_CODE_ENCLOSED_ALPHANUMERICS = 51;
+    const BLOCK_CODE_BOX_DRAWING = 52;
+    const BLOCK_CODE_BLOCK_ELEMENTS = 53;
+    const BLOCK_CODE_GEOMETRIC_SHAPES = 54;
+    const BLOCK_CODE_MISCELLANEOUS_SYMBOLS = 55;
+    const BLOCK_CODE_DINGBATS = 56;
+    const BLOCK_CODE_BRAILLE_PATTERNS = 57;
+    const BLOCK_CODE_CJK_RADICALS_SUPPLEMENT = 58;
+    const BLOCK_CODE_KANGXI_RADICALS = 59;
+    const BLOCK_CODE_IDEOGRAPHIC_DESCRIPTION_CHARACTERS = 60;
+    const BLOCK_CODE_CJK_SYMBOLS_AND_PUNCTUATION = 61;
+    const BLOCK_CODE_HIRAGANA = 62;
+    const BLOCK_CODE_KATAKANA = 63;
+    const BLOCK_CODE_BOPOMOFO = 64;
+    const BLOCK_CODE_HANGUL_COMPATIBILITY_JAMO = 65;
+    const BLOCK_CODE_KANBUN = 66;
+    const BLOCK_CODE_BOPOMOFO_EXTENDED = 67;
+    const BLOCK_CODE_ENCLOSED_CJK_LETTERS_AND_MONTHS = 68;
+    const BLOCK_CODE_CJK_COMPATIBILITY = 69;
+    const BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A = 70;
+    const BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS = 71;
+    const BLOCK_CODE_YI_SYLLABLES = 72;
+    const BLOCK_CODE_YI_RADICALS = 73;
+    const BLOCK_CODE_HANGUL_SYLLABLES = 74;
+    const BLOCK_CODE_HIGH_SURROGATES = 75;
+    const BLOCK_CODE_HIGH_PRIVATE_USE_SURROGATES = 76;
+    const BLOCK_CODE_LOW_SURROGATES = 77;
+    const BLOCK_CODE_PRIVATE_USE_AREA = 78;
+    const BLOCK_CODE_PRIVATE_USE = 78;
+    const BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS = 79;
+    const BLOCK_CODE_ALPHABETIC_PRESENTATION_FORMS = 80;
+    const BLOCK_CODE_ARABIC_PRESENTATION_FORMS_A = 81;
+    const BLOCK_CODE_COMBINING_HALF_MARKS = 82;
+    const BLOCK_CODE_CJK_COMPATIBILITY_FORMS = 83;
+    const BLOCK_CODE_SMALL_FORM_VARIANTS = 84;
+    const BLOCK_CODE_ARABIC_PRESENTATION_FORMS_B = 85;
+    const BLOCK_CODE_SPECIALS = 86;
+    const BLOCK_CODE_HALFWIDTH_AND_FULLWIDTH_FORMS = 87;
+    const BLOCK_CODE_OLD_ITALIC = 88;
+    const BLOCK_CODE_GOTHIC = 89;
+    const BLOCK_CODE_DESERET = 90;
+    const BLOCK_CODE_BYZANTINE_MUSICAL_SYMBOLS = 91;
+    const BLOCK_CODE_MUSICAL_SYMBOLS = 92;
+    const BLOCK_CODE_MATHEMATICAL_ALPHANUMERIC_SYMBOLS = 93;
+    const BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B = 94;
+    const BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT = 95;
+    const BLOCK_CODE_TAGS = 96;
+    const BLOCK_CODE_CYRILLIC_SUPPLEMENT = 97;
+    const BLOCK_CODE_CYRILLIC_SUPPLEMENTARY = 97;
+    const BLOCK_CODE_TAGALOG = 98;
+    const BLOCK_CODE_HANUNOO = 99;
+    const BLOCK_CODE_BUHID = 100;
+    const BLOCK_CODE_TAGBANWA = 101;
+    const BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A = 102;
+    const BLOCK_CODE_SUPPLEMENTAL_ARROWS_A = 103;
+    const BLOCK_CODE_SUPPLEMENTAL_ARROWS_B = 104;
+    const BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B = 105;
+    const BLOCK_CODE_SUPPLEMENTAL_MATHEMATICAL_OPERATORS = 106;
+    const BLOCK_CODE_KATAKANA_PHONETIC_EXTENSIONS = 107;
+    const BLOCK_CODE_VARIATION_SELECTORS = 108;
+    const BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_A = 109;
+    const BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_B = 110;
+    const BLOCK_CODE_LIMBU = 111;
+    const BLOCK_CODE_TAI_LE = 112;
+    const BLOCK_CODE_KHMER_SYMBOLS = 113;
+    const BLOCK_CODE_PHONETIC_EXTENSIONS = 114;
+    const BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_ARROWS = 115;
+    const BLOCK_CODE_YIJING_HEXAGRAM_SYMBOLS = 116;
+    const BLOCK_CODE_LINEAR_B_SYLLABARY = 117;
+    const BLOCK_CODE_LINEAR_B_IDEOGRAMS = 118;
+    const BLOCK_CODE_AEGEAN_NUMBERS = 119;
+    const BLOCK_CODE_UGARITIC = 120;
+    const BLOCK_CODE_SHAVIAN = 121;
+    const BLOCK_CODE_OSMANYA = 122;
+    const BLOCK_CODE_CYPRIOT_SYLLABARY = 123;
+    const BLOCK_CODE_TAI_XUAN_JING_SYMBOLS = 124;
+    const BLOCK_CODE_VARIATION_SELECTORS_SUPPLEMENT = 125;
+    const BLOCK_CODE_ANCIENT_GREEK_MUSICAL_NOTATION = 126;
+    const BLOCK_CODE_ANCIENT_GREEK_NUMBERS = 127;
+    const BLOCK_CODE_ARABIC_SUPPLEMENT = 128;
+    const BLOCK_CODE_BUGINESE = 129;
+    const BLOCK_CODE_CJK_STROKES = 130;
+    const BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT = 131;
+    const BLOCK_CODE_COPTIC = 132;
+    const BLOCK_CODE_ETHIOPIC_EXTENDED = 133;
+    const BLOCK_CODE_ETHIOPIC_SUPPLEMENT = 134;
+    const BLOCK_CODE_GEORGIAN_SUPPLEMENT = 135;
+    const BLOCK_CODE_GLAGOLITIC = 136;
+    const BLOCK_CODE_KHAROSHTHI = 137;
+    const BLOCK_CODE_MODIFIER_TONE_LETTERS = 138;
+    const BLOCK_CODE_NEW_TAI_LUE = 139;
+    const BLOCK_CODE_OLD_PERSIAN = 140;
+    const BLOCK_CODE_PHONETIC_EXTENSIONS_SUPPLEMENT = 141;
+    const BLOCK_CODE_SUPPLEMENTAL_PUNCTUATION = 142;
+    const BLOCK_CODE_SYLOTI_NAGRI = 143;
+    const BLOCK_CODE_TIFINAGH = 144;
+    const BLOCK_CODE_VERTICAL_FORMS = 145;
+    const BLOCK_CODE_NKO = 146;
+    const BLOCK_CODE_BALINESE = 147;
+    const BLOCK_CODE_LATIN_EXTENDED_C = 148;
+    const BLOCK_CODE_LATIN_EXTENDED_D = 149;
+    const BLOCK_CODE_PHAGS_PA = 150;
+    const BLOCK_CODE_PHOENICIAN = 151;
+    const BLOCK_CODE_CUNEIFORM = 152;
+    const BLOCK_CODE_CUNEIFORM_NUMBERS_AND_PUNCTUATION = 153;
+    const BLOCK_CODE_COUNTING_ROD_NUMERALS = 154;
+    const BLOCK_CODE_SUNDANESE = 155;
+    const BLOCK_CODE_LEPCHA = 156;
+    const BLOCK_CODE_OL_CHIKI = 157;
+    const BLOCK_CODE_CYRILLIC_EXTENDED_A = 158;
+    const BLOCK_CODE_VAI = 159;
+    const BLOCK_CODE_CYRILLIC_EXTENDED_B = 160;
+    const BLOCK_CODE_SAURASHTRA = 161;
+    const BLOCK_CODE_KAYAH_LI = 162;
+    const BLOCK_CODE_REJANG = 163;
+    const BLOCK_CODE_CHAM = 164;
+    const BLOCK_CODE_ANCIENT_SYMBOLS = 165;
+    const BLOCK_CODE_PHAISTOS_DISC = 166;
+    const BLOCK_CODE_LYCIAN = 167;
+    const BLOCK_CODE_CARIAN = 168;
+    const BLOCK_CODE_LYDIAN = 169;
+    const BLOCK_CODE_MAHJONG_TILES = 170;
+    const BLOCK_CODE_DOMINO_TILES = 171;
+    const BLOCK_CODE_SAMARITAN = 172;
+    const BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED = 173;
+    const BLOCK_CODE_TAI_THAM = 174;
+    const BLOCK_CODE_VEDIC_EXTENSIONS = 175;
+    const BLOCK_CODE_LISU = 176;
+    const BLOCK_CODE_BAMUM = 177;
+    const BLOCK_CODE_COMMON_INDIC_NUMBER_FORMS = 178;
+    const BLOCK_CODE_DEVANAGARI_EXTENDED = 179;
+    const BLOCK_CODE_HANGUL_JAMO_EXTENDED_A = 180;
+    const BLOCK_CODE_JAVANESE = 181;
+    const BLOCK_CODE_MYANMAR_EXTENDED_A = 182;
+    const BLOCK_CODE_TAI_VIET = 183;
+    const BLOCK_CODE_MEETEI_MAYEK = 184;
+    const BLOCK_CODE_HANGUL_JAMO_EXTENDED_B = 185;
+    const BLOCK_CODE_IMPERIAL_ARAMAIC = 186;
+    const BLOCK_CODE_OLD_SOUTH_ARABIAN = 187;
+    const BLOCK_CODE_AVESTAN = 188;
+    const BLOCK_CODE_INSCRIPTIONAL_PARTHIAN = 189;
+    const BLOCK_CODE_INSCRIPTIONAL_PAHLAVI = 190;
+    const BLOCK_CODE_OLD_TURKIC = 191;
+    const BLOCK_CODE_RUMI_NUMERAL_SYMBOLS = 192;
+    const BLOCK_CODE_KAITHI = 193;
+    const BLOCK_CODE_EGYPTIAN_HIEROGLYPHS = 194;
+    const BLOCK_CODE_ENCLOSED_ALPHANUMERIC_SUPPLEMENT = 195;
+    const BLOCK_CODE_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = 196;
+    const BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C = 197;
+    const BLOCK_CODE_MANDAIC = 198;
+    const BLOCK_CODE_BATAK = 199;
+    const BLOCK_CODE_ETHIOPIC_EXTENDED_A = 200;
+    const BLOCK_CODE_BRAHMI = 201;
+    const BLOCK_CODE_BAMUM_SUPPLEMENT = 202;
+    const BLOCK_CODE_KANA_SUPPLEMENT = 203;
+    const BLOCK_CODE_PLAYING_CARDS = 204;
+    const BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS = 205;
+    const BLOCK_CODE_EMOTICONS = 206;
+    const BLOCK_CODE_TRANSPORT_AND_MAP_SYMBOLS = 207;
+    const BLOCK_CODE_ALCHEMICAL_SYMBOLS = 208;
+    const BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D = 209;
+    const BLOCK_CODE_ARABIC_EXTENDED_A = 210;
+    const BLOCK_CODE_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS = 211;
+    const BLOCK_CODE_CHAKMA = 212;
+    const BLOCK_CODE_MEETEI_MAYEK_EXTENSIONS = 213;
+    const BLOCK_CODE_MEROITIC_CURSIVE = 214;
+    const BLOCK_CODE_MEROITIC_HIEROGLYPHS = 215;
+    const BLOCK_CODE_MIAO = 216;
+    const BLOCK_CODE_SHARADA = 217;
+    const BLOCK_CODE_SORA_SOMPENG = 218;
+    const BLOCK_CODE_SUNDANESE_SUPPLEMENT = 219;
+    const BLOCK_CODE_TAKRI = 220;
+    const BLOCK_CODE_BASSA_VAH = 221;
+    const BLOCK_CODE_CAUCASIAN_ALBANIAN = 222;
+    const BLOCK_CODE_COPTIC_EPACT_NUMBERS = 223;
+    const BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_EXTENDED = 224;
+    const BLOCK_CODE_DUPLOYAN = 225;
+    const BLOCK_CODE_ELBASAN = 226;
+    const BLOCK_CODE_GEOMETRIC_SHAPES_EXTENDED = 227;
+    const BLOCK_CODE_GRANTHA = 228;
+    const BLOCK_CODE_KHOJKI = 229;
+    const BLOCK_CODE_KHUDAWADI = 230;
+    const BLOCK_CODE_LATIN_EXTENDED_E = 231;
+    const BLOCK_CODE_LINEAR_A = 232;
+    const BLOCK_CODE_MAHAJANI = 233;
+    const BLOCK_CODE_MANICHAEAN = 234;
+    const BLOCK_CODE_MENDE_KIKAKUI = 235;
+    const BLOCK_CODE_MODI = 236;
+    const BLOCK_CODE_MRO = 237;
+    const BLOCK_CODE_MYANMAR_EXTENDED_B = 238;
+    const BLOCK_CODE_NABATAEAN = 239;
+    const BLOCK_CODE_OLD_NORTH_ARABIAN = 240;
+    const BLOCK_CODE_OLD_PERMIC = 241;
+    const BLOCK_CODE_ORNAMENTAL_DINGBATS = 242;
+    const BLOCK_CODE_PAHAWH_HMONG = 243;
+    const BLOCK_CODE_PALMYRENE = 244;
+    const BLOCK_CODE_PAU_CIN_HAU = 245;
+    const BLOCK_CODE_PSALTER_PAHLAVI = 246;
+    const BLOCK_CODE_SHORTHAND_FORMAT_CONTROLS = 247;
+    const BLOCK_CODE_SIDDHAM = 248;
+    const BLOCK_CODE_SINHALA_ARCHAIC_NUMBERS = 249;
+    const BLOCK_CODE_SUPPLEMENTAL_ARROWS_C = 250;
+    const BLOCK_CODE_TIRHUTA = 251;
+    const BLOCK_CODE_WARANG_CITI = 252;
+    const BLOCK_CODE_COUNT = 263;
+    const BLOCK_CODE_INVALID_CODE = -1;
+    const BPT_NONE = 0;
+    const BPT_OPEN = 1;
+    const BPT_CLOSE = 2;
+    const BPT_COUNT = 3;
+    const EA_NEUTRAL = 0;
+    const EA_AMBIGUOUS = 1;
+    const EA_HALFWIDTH = 2;
+    const EA_FULLWIDTH = 3;
+    const EA_NARROW = 4;
+    const EA_WIDE = 5;
+    const EA_COUNT = 6;
+    const UNICODE_CHAR_NAME = 0;
+    const UNICODE_10_CHAR_NAME = 1;
+    const EXTENDED_CHAR_NAME = 2;
+    const CHAR_NAME_ALIAS = 3;
+    const CHAR_NAME_CHOICE_COUNT = 4;
+    const SHORT_PROPERTY_NAME = 0;
+    const LONG_PROPERTY_NAME = 1;
+    const PROPERTY_NAME_CHOICE_COUNT = 2;
+    const DT_NONE = 0;
+    const DT_CANONICAL = 1;
+    const DT_COMPAT = 2;
+    const DT_CIRCLE = 3;
+    const DT_FINAL = 4;
+    const DT_FONT = 5;
+    const DT_FRACTION = 6;
+    const DT_INITIAL = 7;
+    const DT_ISOLATED = 8;
+    const DT_MEDIAL = 9;
+    const DT_NARROW = 10;
+    const DT_NOBREAK = 11;
+    const DT_SMALL = 12;
+    const DT_SQUARE = 13;
+    const DT_SUB = 14;
+    const DT_SUPER = 15;
+    const DT_VERTICAL = 16;
+    const DT_WIDE = 17;
+    const DT_COUNT = 18;
+    const JT_NON_JOINING = 0;
+    const JT_JOIN_CAUSING = 1;
+    const JT_DUAL_JOINING = 2;
+    const JT_LEFT_JOINING = 3;
+    const JT_RIGHT_JOINING = 4;
+    const JT_TRANSPARENT = 5;
+    const JT_COUNT = 6;
+    const JG_NO_JOINING_GROUP = 0;
+    const JG_AIN = 1;
+    const JG_ALAPH = 2;
+    const JG_ALEF = 3;
+    const JG_BEH = 4;
+    const JG_BETH = 5;
+    const JG_DAL = 6;
+    const JG_DALATH_RISH = 7;
+    const JG_E = 8;
+    const JG_FEH = 9;
+    const JG_FINAL_SEMKATH = 10;
+    const JG_GAF = 11;
+    const JG_GAMAL = 12;
+    const JG_HAH = 13;
+    const JG_TEH_MARBUTA_GOAL = 14;
+    const JG_HAMZA_ON_HEH_GOAL = 14;
+    const JG_HE = 15;
+    const JG_HEH = 16;
+    const JG_HEH_GOAL = 17;
+    const JG_HETH = 18;
+    const JG_KAF = 19;
+    const JG_KAPH = 20;
+    const JG_KNOTTED_HEH = 21;
+    const JG_LAM = 22;
+    const JG_LAMADH = 23;
+    const JG_MEEM = 24;
+    const JG_MIM = 25;
+    const JG_NOON = 26;
+    const JG_NUN = 27;
+    const JG_PE = 28;
+    const JG_QAF = 29;
+    const JG_QAPH = 30;
+    const JG_REH = 31;
+    const JG_REVERSED_PE = 32;
+    const JG_SAD = 33;
+    const JG_SADHE = 34;
+    const JG_SEEN = 35;
+    const JG_SEMKATH = 36;
+    const JG_SHIN = 37;
+    const JG_SWASH_KAF = 38;
+    const JG_SYRIAC_WAW = 39;
+    const JG_TAH = 40;
+    const JG_TAW = 41;
+    const JG_TEH_MARBUTA = 42;
+    const JG_TETH = 43;
+    const JG_WAW = 44;
+    const JG_YEH = 45;
+    const JG_YEH_BARREE = 46;
+    const JG_YEH_WITH_TAIL = 47;
+    const JG_YUDH = 48;
+    const JG_YUDH_HE = 49;
+    const JG_ZAIN = 50;
+    const JG_FE = 51;
+    const JG_KHAPH = 52;
+    const JG_ZHAIN = 53;
+    const JG_BURUSHASKI_YEH_BARREE = 54;
+    const JG_FARSI_YEH = 55;
+    const JG_NYA = 56;
+    const JG_ROHINGYA_YEH = 57;
+    const JG_MANICHAEAN_ALEPH = 58;
+    const JG_MANICHAEAN_AYIN = 59;
+    const JG_MANICHAEAN_BETH = 60;
+    const JG_MANICHAEAN_DALETH = 61;
+    const JG_MANICHAEAN_DHAMEDH = 62;
+    const JG_MANICHAEAN_FIVE = 63;
+    const JG_MANICHAEAN_GIMEL = 64;
+    const JG_MANICHAEAN_HETH = 65;
+    const JG_MANICHAEAN_HUNDRED = 66;
+    const JG_MANICHAEAN_KAPH = 67;
+    const JG_MANICHAEAN_LAMEDH = 68;
+    const JG_MANICHAEAN_MEM = 69;
+    const JG_MANICHAEAN_NUN = 70;
+    const JG_MANICHAEAN_ONE = 71;
+    const JG_MANICHAEAN_PE = 72;
+    const JG_MANICHAEAN_QOPH = 73;
+    const JG_MANICHAEAN_RESH = 74;
+    const JG_MANICHAEAN_SADHE = 75;
+    const JG_MANICHAEAN_SAMEKH = 76;
+    const JG_MANICHAEAN_TAW = 77;
+    const JG_MANICHAEAN_TEN = 78;
+    const JG_MANICHAEAN_TETH = 79;
+    const JG_MANICHAEAN_THAMEDH = 80;
+    const JG_MANICHAEAN_TWENTY = 81;
+    const JG_MANICHAEAN_WAW = 82;
+    const JG_MANICHAEAN_YODH = 83;
+    const JG_MANICHAEAN_ZAYIN = 84;
+    const JG_STRAIGHT_WAW = 85;
+    const JG_COUNT = 86;
+    const GCB_OTHER = 0;
+    const GCB_CONTROL = 1;
+    const GCB_CR = 2;
+    const GCB_EXTEND = 3;
+    const GCB_L = 4;
+    const GCB_LF = 5;
+    const GCB_LV = 6;
+    const GCB_LVT = 7;
+    const GCB_T = 8;
+    const GCB_V = 9;
+    const GCB_SPACING_MARK = 10;
+    const GCB_PREPEND = 11;
+    const GCB_REGIONAL_INDICATOR = 12;
+    const GCB_COUNT = 13;
+    const WB_OTHER = 0;
+    const WB_ALETTER = 1;
+    const WB_FORMAT = 2;
+    const WB_KATAKANA = 3;
+    const WB_MIDLETTER = 4;
+    const WB_MIDNUM = 5;
+    const WB_NUMERIC = 6;
+    const WB_EXTENDNUMLET = 7;
+    const WB_CR = 8;
+    const WB_EXTEND = 9;
+    const WB_LF = 10;
+    const WB_MIDNUMLET = 11;
+    const WB_NEWLINE = 12;
+    const WB_REGIONAL_INDICATOR = 13;
+    const WB_HEBREW_LETTER = 14;
+    const WB_SINGLE_QUOTE = 15;
+    const WB_DOUBLE_QUOTE = 16;
+    const WB_COUNT = 17;
+    const SB_OTHER = 0;
+    const SB_ATERM = 1;
+    const SB_CLOSE = 2;
+    const SB_FORMAT = 3;
+    const SB_LOWER = 4;
+    const SB_NUMERIC = 5;
+    const SB_OLETTER = 6;
+    const SB_SEP = 7;
+    const SB_SP = 8;
+    const SB_STERM = 9;
+    const SB_UPPER = 10;
+    const SB_CR = 11;
+    const SB_EXTEND = 12;
+    const SB_LF = 13;
+    const SB_SCONTINUE = 14;
+    const SB_COUNT = 15;
+    const LB_UNKNOWN = 0;
+    const LB_AMBIGUOUS = 1;
+    const LB_ALPHABETIC = 2;
+    const LB_BREAK_BOTH = 3;
+    const LB_BREAK_AFTER = 4;
+    const LB_BREAK_BEFORE = 5;
+    const LB_MANDATORY_BREAK = 6;
+    const LB_CONTINGENT_BREAK = 7;
+    const LB_CLOSE_PUNCTUATION = 8;
+    const LB_COMBINING_MARK = 9;
+    const LB_CARRIAGE_RETURN = 10;
+    const LB_EXCLAMATION = 11;
+    const LB_GLUE = 12;
+    const LB_HYPHEN = 13;
+    const LB_IDEOGRAPHIC = 14;
+    const LB_INSEPARABLE = 15;
+    const LB_INSEPERABLE = 15;
+    const LB_INFIX_NUMERIC = 16;
+    const LB_LINE_FEED = 17;
+    const LB_NONSTARTER = 18;
+    const LB_NUMERIC = 19;
+    const LB_OPEN_PUNCTUATION = 20;
+    const LB_POSTFIX_NUMERIC = 21;
+    const LB_PREFIX_NUMERIC = 22;
+    const LB_QUOTATION = 23;
+    const LB_COMPLEX_CONTEXT = 24;
+    const LB_SURROGATE = 25;
+    const LB_SPACE = 26;
+    const LB_BREAK_SYMBOLS = 27;
+    const LB_ZWSPACE = 28;
+    const LB_NEXT_LINE = 29;
+    const LB_WORD_JOINER = 30;
+    const LB_H2 = 31;
+    const LB_H3 = 32;
+    const LB_JL = 33;
+    const LB_JT = 34;
+    const LB_JV = 35;
+    const LB_CLOSE_PARENTHESIS = 36;
+    const LB_CONDITIONAL_JAPANESE_STARTER = 37;
+    const LB_HEBREW_LETTER = 38;
+    const LB_REGIONAL_INDICATOR = 39;
+    const LB_COUNT = 40;
+    const NT_NONE = 0;
+    const NT_DECIMAL = 1;
+    const NT_DIGIT = 2;
+    const NT_NUMERIC = 3;
+    const NT_COUNT = 4;
+    const HST_NOT_APPLICABLE = 0;
+    const HST_LEADING_JAMO = 1;
+    const HST_VOWEL_JAMO = 2;
+    const HST_TRAILING_JAMO = 3;
+    const HST_LV_SYLLABLE = 4;
+    const HST_LVT_SYLLABLE = 5;
+    const HST_COUNT = 6;
+
+    /**
+     * Check a binary Unicode property for a code point
+     * @link https://php.net/manual/ru/intlchar.hasbinaryproperty.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @param int $property The Unicode property to lookup (see the IntlChar::PROPERTY_* constants).
+     * @return bool|null Returns TRUE or FALSE according to the binary Unicode property value for codepoint.
+     * Also FALSE if property is out of bounds or if the Unicode version does not have data for the property at all, or not for this code point.
+     * Or NULL if <em>codepoint</em> is out of bounds.
+     * @since 7.0
+     */
+    static public function hasBinaryProperty($codepoint, $property){}
+
+    /**
+     * @link https://php.net/manual/ru/intlchar.charage.php
+     * Get the "age" of the code point
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return array|null The Unicode version number, as an array. For example, version 1.3.31.2 would be represented as [1, 3, 31, 2].
+     * Or NULL if <em>codepoint</em> is out of bounds.
+     * @since 7.0
+     */
+    public static function charAge($codepoint) {}
+
+    /**
+     * @link https://php.net/manual/ru/intlchar.chardigitvalue.php
+     * Get the decimal digit value of a decimal digit character
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return int|null The decimal digit value of codepoint, or -1 if it is not a decimal digit character.
+     * Or NULL if <em>codepoint</em> is out of bounds.
+     * @since 7.0
+     */
+    public static function charDigitValue($codepoint){}
+
+    /**
+     * Get bidirectional category value for a code point
+     * @link https://php.net/manual/ru/intlchar.chardirection.php
+     * @param int|string $codepoint <p>The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")</p>
+     * @return int|null <p>The bidirectional category value; one of the following constants:
+     * </p>
+     * <ul>
+     * <li><b> IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT </b></li>
+     * <li><b> IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT </b></li>
+     * <li><b> IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER </b></li>
+     * <li><b> IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR </b></li>
+     * <li><b> IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR </b></li>
+     * <li><b> IntlChar::CHAR_DIRECTION_ARABIC_NUMBER </b></li>
+     * <li><b> IntlChar::CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR </b></li>
+     * <li><b> IntlChar::CHAR_DIRECTION_BLOCK_SEPARATOR </b></li>
+     * <li><b> IntlChar::CHAR_DIRECTION_SEGMENT_SEPARATOR </b></li>
+     * <li><b> IntlChar::CHAR_DIRECTION_WHITE_SPACE_NEUTRAL </b></li>
+     * <li><b> IntlChar::CHAR_DIRECTION_OTHER_NEUTRAL </b></li>
+     * <li><b> IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING </b></li>
+     * <li><b> IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE </b></li>
+     * <li><b> IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC </b></li>
+     * <li><b> IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING </b></li>
+     * <li><b> IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE </b></li>
+     * <li><b> IntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT </b></li>
+     * <li><b> IntlChar::CHAR_DIRECTION_DIR_NON_SPACING_MARK </b></li>
+     * <li><b> IntlChar::CHAR_DIRECTION_BOUNDARY_NEUTRAL </b></li>
+     * <li><b> IntlChar::CHAR_DIRECTION_FIRST_STRONG_ISOLATE </b></li>
+     * <li><b> IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE </b></li>
+     * <li><b> IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE </b></li>
+     * <li><b> IntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE </b></li>
+     * <li><b> IntlChar::CHAR_DIRECTION_CHAR_DIRECTION_COUNT </b></li>
+     * </ul>
+     * Or NULL if <em>codepoint</em> is out of bounds.
+     * @since 7.0
+     */
+    public static function charDirection($codepoint) {}
+
+    /**
+     * @link https://php.net/manual/en/intlchar.charfromname.php
+     * Find Unicode character by name and return its code point value
+     * @param string $characterName <p>Full name of the Unicode character.</p>
+     * @param int $nameChoice [optional] <p>
+     * Which set of names to use for the lookup. Can be any of these constants:
+     * </p><ul>
+     * <li><b> IntlChar::UNICODE_CHAR_NAME </b> (default)</li>
+     * <li><b> IntlChar::UNICODE_10_CHAR_NAME </b></li>
+     * <li><b> IntlChar::EXTENDED_CHAR_NAME </b></li>
+     * <li><b> IntlChar::CHAR_NAME_ALIAS </b></li>
+     * <li><b> IntlChar::CHAR_NAME_CHOICE_COUNT </b></li>
+     * </ul>
+     * @return int|null The Unicode value of the code point with the given name (as an integer), or NULL if there is no such code point.
+     * @since 7.0
+     */
+    public static function charFromName($characterName, $nameChoice = IntlChar::UNICODE_CHAR_NAME) {}
+
+    /**
+     * @link https://php.net/manual/ru/intlchar.charmirror.php
+     * Get the "mirror-image" character for a code point
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return int|string|null Returns another Unicode code point that may serve as a mirror-image substitute, or codepoint itself if there is no such mapping or codepoint does not have the Bidi_Mirrored property.
+     * The return type will be integer unless the code point was passed as a UTF-8 string, in which case a string will be returned.
+     * Or NULL if <em>codepoint</em> will be out of bound.
+     */
+    public static function charMirror($codepoint) {}
+
+    /**
+     * Retrieve the name of a Unicode character
+     * @link https://php.net/manual/ru/intlchar.charname.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @param int $nameChoice [optional] Which set of names to use for the lookup. Can be any of these constants: </p>
+     * <ul>
+     * <li><b> IntlChar::UNICODE_CHAR_NAME </b> (default)</li>
+     * <li><b> IntlChar::UNICODE_10_CHAR_NAME </b></li>
+     * <li><b> IntlChar::EXTENDED_CHAR_NAME </b></li>
+     * <li><b> IntlChar::CHAR_NAME_ALIAS </b></li>
+     * <li><b> IntlChar::CHAR_NAME_CHOICE_COUNT </b></li>
+     * </ul>
+     * @return string|null The corresponding name, or an empty string if there is no name for this character, or NULL if <em>codepoint</em> is out of bounds.
+     * @since 7.0
+     */
+    public static function charName($codepoint, $nameChoice = IntlChar::UNICODE_CHAR_NAME) {}
+
+    /**
+     * Get the general category value for a code point
+     * @link https://php.net/manual/ru/intlchar.chartype.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return int|null Returns the general category type, which may be one of the following constants:
+     * </p><ul>
+     * <li><b> IntlChar::CHAR_CATEGORY_UNASSIGNED </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_GENERAL_OTHER_TYPES </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_UPPERCASE_LETTER </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_LOWERCASE_LETTER </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_TITLECASE_LETTER </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_MODIFIER_LETTER </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_OTHER_LETTER </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_NON_SPACING_MARK </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_ENCLOSING_MARK </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_COMBINING_SPACING_MARK </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_LETTER_NUMBER </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_OTHER_NUMBER </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_SPACE_SEPARATOR </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_LINE_SEPARATOR </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_PARAGRAPH_SEPARATOR </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_CONTROL_CHAR </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_FORMAT_CHAR </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_PRIVATE_USE_CHAR </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_SURROGATE </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_DASH_PUNCTUATION </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_START_PUNCTUATION </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_END_PUNCTUATION </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_CONNECTOR_PUNCTUATION </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_OTHER_PUNCTUATION </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_MATH_SYMBOL </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_CURRENCY_SYMBOL </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_MODIFIER_SYMBOL </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_OTHER_SYMBOL </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_INITIAL_PUNCTUATION </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_FINAL_PUNCTUATION </b></li>
+     * <li><b> IntlChar::CHAR_CATEGORY_CHAR_CATEGORY_COUNT </b></li></ul>
+     * <p>Or NULL if <em>codepoint</em> is out of bound.</p
+     * @since 7.0
+     */
+    public static function charType($codepoint)
+    {
+    }
+
+    /**
+     * Return Unicode character by code point value
+     * @link https://php.net/manual/ru/intlchar.chr.php
+     * @param mixed $codepoint <p>The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")</p>
+     * @return string|null A string containing the single character specified by the Unicode code point value.
+     * Or NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function chr ($codepoint)
+    {
+
+    }
+
+    /**
+     * Get the decimal digit value of a code point for a given radix
+     * @link https://php.net/manual/ru/intlchar.digit.php
+     * @param int|string $codepoint <p>The integer codepoint value (e.g. <em>0x2603</em> for <em>U+2603 SNOWMAN</em>), or the character encoded as a UTF-8 string (e.g. <em>"\u{2603}"</em>)</p>
+     * @param int $radix <p>The radix (defaults to 10).</p>
+     * @return int|false|null Returns the numeric value represented by the character in the specified radix,
+     * or <b>FALSE</b> if there is no value or if the value exceeds the radix,
+     * or <b>NULL</b> if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function digit ($codepoint,$radix = 10 ) {}
+
+    /**
+     * Enumerate all assigned Unicode characters within a range
+     * @link https://php.net/manual/ru/intlchar.enumcharnames.php
+     * @param int|string $start The first code point in the enumeration range.
+     * @param int|string $limit One more than the last code point in the enumeration range (the first one after the range).
+     * @param callable $callback<p>
+     * The function that is to be called for each character name.  The following three arguments will be passed into it:
+     * </p><ul>
+     * <li>integer</a> <em>$codepoint</em> - The numeric code point value</li>
+     * <li>integer <em>$nameChoice</em> - The same value as the <b>nameChoice</b> parameter below</li>
+     * <li>string <em>$name</em> - The name of the character</li>
+     * </ul>
+     * @param int $nameChoice [optional]  <p>
+     * Selector for which kind of names to enumerate.  Can be any of these constants:
+     * </p><ul>
+     * <li><b>IntlChar::UNICODE_CHAR_NAME</b> (default)</li>
+     * <li><b>IntlChar::UNICODE_10_CHAR_NAME</b></li>
+     * <li><b>IntlChar::EXTENDED_CHAR_NAME</b></li>
+     * <li><b>IntlChar::CHAR_NAME_ALIAS</b></li>
+     * <li><b>IntlChar::CHAR_NAME_CHOICE_COUNT</b></li>
+     * </ul>
+     * @since 7.0
+     */
+    public static function enumCharNames ($start, $limit, $callback, $nameChoice = IntlChar::UNICODE_CHAR_NAME) {}
+
+    /**
+     * Enumerate all code points with their Unicode general categories
+     * @link https://php.net/manual/ru/intlchar.enumchartypes.php
+     * @param callable $callable <p>
+     * The function that is to be called for each contiguous range of code points with the same general category.
+     * The following three arguments will be passed into it:
+     * </p><ul>
+     * <li>integer <em>$start</em> - The starting code point of the range</li>
+     * <li>integer <em>$end</em> - The ending code point of the range</li>
+     * <li>integer <em>$name</em> - The category type (one of the <em>IntlChar::CHAR_CATEGORY_*</em> constants)</li>
+     * </ul>
+     * @since 7.0
+     */
+    public static function enumCharTypes ($callable) {}
+
+    /**
+     * Perform case folding on a code point
+     * @link https://php.net/manual/en/intlchar.foldcase.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @param int $options [optional] Either IntlChar::FOLD_CASE_DEFAULT (default) or IntlChar::FOLD_CASE_EXCLUDE_SPECIAL_I.
+     * @return int|string|null Returns the Simple_Case_Folding of the code point, if any; otherwise the code point itself.
+     * Returns NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function foldCase ($codepoint, $options = IntlChar::FOLD_CASE_DEFAULT ) {}
+
+    /**
+     * Get character representation for a given digit and radix
+     * @link https://php.net/manual/ru/intlchar.fordigit.php
+     * @param int $digit <p>The number to convert to a character.</p>
+     * @param int $radix [optional] <p>The radix (defaults to 10).</p>
+     * @return int The character representation (as a string) of the specified digit in the specified radix.
+     * @since 7.0
+     */
+    public static function forDigit ($digit, $radix = 10) {}
+
+    /**
+     * Get the paired bracket character for a code point
+     * @link https://php.net/manual/ru/intlchar.getbidipairedbracket.php
+     * @param int|string $codepoint <p>The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")</p>
+     * @return int|string|null  Returns the paired bracket code point, or <em>codepoint</em> itself if there is no such mapping.
+     * The return type will be integer unless the code point was passed as a UTF-8 string, in which case a string will be returned.
+     * Or NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function getBidiPairedBracket($codepoint) {}
+
+    /**
+     * Get the Unicode allocation block containing a code point
+     * @link https://php.net/manual/ru/intlchar.getblockcode.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return int|null Returns the block value for <em>codepoint</em>, or NULL if <em>codepoint</em> is out of bound.
+     * See the <em>IntlChar::BLOCK_CODE_*</em> constants for possible return values.
+     * @since 7.0
+     */
+    public static function getBlockCode($codepoint) {}
+
+    /**
+     * Get the combining class of a code point
+     * @link https://php.net/manual/ru/intlchar.getcombiningclass.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return int|null Returns the combining class of the character.
+     * Or NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function getCombiningClass ($codepoint) {}
+
+    /**
+     * Get the FC_NFKC_Closure property for a code point
+     * @link https://php.net/manual/ru/intlchar.getfc-nfkc-closure.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return string|false|null Returns the FC_NFKC_Closure property string for the codepoint, or an empty string if there is none,
+     * or NULL if <em>codepoint</em> is out of bound,
+     * or FALSE if there was an error.
+     * @since 7.0
+     */
+    public static function getFC_NFKC_Closure ($codepoint) {}
+
+    /**
+     * Get the max value for a Unicode property
+     * @link https://php.net/manual/ru/intlchar.getintpropertymaxvalue.php
+     * @param int $property The Unicode property to lookup (see the IntlChar::PROPERTY_* constants).
+     * @return int The maximum value returned by {@see IntlChar::getIntPropertyValue()} for a Unicode property. <=0 if the property selector is out of range.
+     * @since 7.0
+     */
+    public static function getIntPropertyMaxValue  ($property) {}
+
+    /**
+     * Get the min value for a Unicode property
+     * @link https://php.net/manual/ru/intlchar.getintpropertyminvalue.php
+     * @param int $property The Unicode property to lookup (see the IntlChar::PROPERTY_* constants).
+     * @return int The minimum value returned by {@see IntlChar::getIntPropertyValue()} for a Unicode property. 0 if the property selector is out of range.
+     * @since 7.0
+     */
+    public static function getIntPropertyMinValue  ($property) {}
+
+    /**
+     * Get the value for a Unicode property for a code point
+     * @link https://php.net/manual/ru/intlchar.getintpropertyvalue.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @param int $property The Unicode property to lookup (see the IntlChar::PROPERTY_* constants).
+     * @return int|null <p>
+     * Returns the numeric value that is directly the property value or, for enumerated properties, corresponds to the
+     * numeric value of the enumerated constant of the respective property value enumeration type.
+     * </p>
+     * <p>
+     * Returns <em>0</em> or <em>1</em> (for <b>FALSE</b><b>/</b><b>TRUE</B>) for binary Unicode properties.
+     * </p>
+     * <p>
+     * Returns a bit-mask for mask properties.
+     * </p>
+     * <p>
+     * Returns <em>0</em> if <em>property</em> is out of bounds or if the Unicode version does not
+     * have data for the property at all, or not for this code point.
+     * </p>
+     * <p>
+     * Returns NULL if <em>codepoint</em> is out of bound.
+     * </p>
+     * @since 7.0
+     */
+    public static function getIntPropertyValue ($codepoint, $property ) {}
+
+    /**
+     * Get the numeric value for a Unicode code point
+     * @link https://php.net/manual/ru/intlchar.getnumericvalue.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return float|null Numeric value of codepoint, or float(-123456789) if none is defined, or NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function getNumericValue ($codepoint) {}
+
+    /**
+     * Get the property constant value for a given property name
+     * @link https://php.net/manual/ru/intlchar.getpropertyenum.php
+     * @param string $alias The property name to be matched. The name is compared using "loose matching" as described in PropertyAliases.txt.
+     * @return int Returns an IntlChar::PROPERTY_ constant value, or <b>IntlChar::PROPERTY_INVALID_CODE</b> if the given name does not match any property.
+     * @since 7.0
+     */
+    public static function getPropertyEnum ($alias ) {}
+
+    /**
+     * Get the Unicode name for a property
+     * @link https://php.net/manual/ru/intlchar.getpropertyname.php
+     * @param int $property <p>The Unicode property to lookup (see the IntlChar::PROPERTY_* constants).</p>
+     * <p><b>IntlChar::PROPERTY_INVALID_CODE</b> should not be used. Also, if property is out of range, FALSE is returned.</p>
+     * @param int $nameChoice <p> Selector for which name to get. If out of range, FALSE is returned.</p>
+     * <p>All properties have a long name. Most have a short name, but some do not. Unicode allows for additional names; if present these will be returned by adding 1, 2, etc. to <b>IntlChar::LONG_PROPERTY_NAME</b>.</p>
+     * @return string|false <p>
+     * Returns the name, or <b>FALSE</b> if either the <em>property</em> or the <em>nameChoice</em>
+     * is out of range.
+     * </p>
+     * <p>
+     * If a given <em>nameChoice</em> returns <b>FALSE</b>, then all larger values of
+     * <em>nameChoice</em> will return <b>FALSE</b>, with one exception: if <b>FALSE</b> is returned for
+     * <b>IntlChar::SHORT_PROPERTY_NAME</b>, then <b>IntlChar::LONG_PROPERTY_NAME</b>
+     * (and higher) may still return a non-<b>FALSE</b> value.
+     * </p>
+     * @since 7.0
+     */
+    public static function getPropertyName ($property, $nameChoice = IntlChar::LONG_PROPERTY_NAME) {}
+
+    /**
+     * Get the property value for a given value name
+     * @link https://php.net/manual/ru/intlchar.getpropertyvalueenum.php
+     * @param int $property <p>The Unicode property to lookup (see the IntlChar::PROPERTY_* constants).
+     * If out of range, or this method doesn't work with the given value, IntlChar::PROPERTY_INVALID_CODE is returned</p>
+     * @param string $name <p> The value name to be matched. The name is compared using "loose matching" as described in PropertyValueAliases.txt.</p>
+     * @return int Returns the corresponding value integer, or IntlChar::PROPERTY_INVALID_CODE if the given name does not match any value of the given property, or if the property is invalid.
+     * @since 7.0
+     */
+    public static function getPropertyValueEnum ($property, $name) {}
+
+    /**
+     * Get the Unicode name for a property value
+     * @link https://php.net/manual/ru/intlchar.getpropertyvaluename.php
+     * @param int $property <p>
+     * The Unicode property to lookup (see the IntlChar::PROPERTY_* constants).
+     * If out of range, or this method doesn't work with the given value, FALSE is returned.
+     * </p>
+     * @param int $value <p>
+     * Selector for a value for the given property. If out of range, <b>FALSE</b> is returned.
+     * </p>
+     * <p>
+     * In general, valid values range from <em>0</em> up to some maximum. There are a couple exceptions:
+     * </p><ul>
+     * <li>
+     * <b>IntlChar::PROPERTY_BLOCK</b> values begin at the non-zero value <b>IntlChar::BLOCK_CODE_BASIC_LATIN</b>
+     * </li>
+     * <li>
+     * <b>IntlChar::PROPERTY_CANONICAL_COMBINING_CLASS</b> values are not contiguous and range from 0..240.
+     * </li>
+     * </ul>
+     * @param int $nameChoice [optional] <p>
+     * Selector for which name to get. If out of range, FALSE is returned.
+     * All values have a long name. Most have a short name, but some do not. Unicode allows for additional names; if present these will be returned by adding 1, 2, etc. to IntlChar::LONG_PROPERTY_NAME.
+     * </p>
+     * @return  string|false Returns the name, or FALSE if either the property or the nameChoice is out of range.
+     * If a given nameChoice returns FALSE, then all larger values of nameChoice will return FALSE, with one exception: if FALSE is returned for IntlChar::SHORT_PROPERTY_NAME, then IntlChar::LONG_PROPERTY_NAME (and higher) may still return a non-FALSE value.
+     * @since 7.0
+     */
+    public static function getPropertyValueName ($property, $value, $nameChoice = IntlChar::LONG_PROPERTY_NAME) {}
+
+    /**
+     * Get the Unicode version
+     * @link https://php.net/manual/ru/intlchar.getunicodeversion.php
+     * @return array An array containing the Unicode version number.
+     * @since 7.0
+     */
+    public static function getUnicodeVersion() {}
+
+    /**
+     * Check if code point is an alphanumeric character
+     * @link https://php.net/manual/ru/intlchar.isalnum.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return bool|null Returns TRUE if codepoint is an alphanumeric character, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function isalnum ($codepoint) {}
+
+    /**
+     * Check if code point is a letter character
+     * @link https://php.net/manual/ru/intlchar.isalpha.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return bool|null Returns TRUE if codepoint is a letter character, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function isalpha ($codepoint) {}
+    /**
+     * Check if code point is a base character
+     * @link https://php.net/manual/ru/intlchar.isbase.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return bool|null Returns TRUE if codepoint is a base character, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function isbase ($codepoint ){}
+    /**
+     * Check if code point is a "blank" or "horizontal space" character
+     * @link https://php.net/manual/ru/intlchar.isblank.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return bool|null Returns TRUE if codepoint is either a "blank" or "horizontal space" character, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function isblank ($codepoint){}
+
+    /**
+     * Check if code point is a control character
+     * @link https://php.net/manual/ru/intlchar.iscntrl.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return bool|null Returns TRUE if codepoint is a control character, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function iscntrl ($codepoint ) {}
+
+    /**
+     * Check whether the code point is defined
+     * @link https://php.net/manual/ru/intlchar.isdefined.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return bool|null Returns TRUE if codepoint is a defined character, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function isdefined ($codepoint ) {}
+
+    /**
+     * Check if code point is a digit character
+     * @link https://php.net/manual/ru/intlchar.isdigit.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return bool|null Returns TRUE if codepoint is a digit character, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function isdigit ($codepoint) {}
+    /**
+     * Check if code point is a graphic character
+     * @link https://php.net/manual/ru/intlchar.isgraph.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return bool|null Returns TRUE if codepoint is a "graphic" character, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function isgraph ($codepoint ) {}
+    /**
+     * Check if code point is an ignorable character
+     * @link https://php.net/manual/ru/intlchar.isidignorable.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return bool|null Returns TRUE if codepoint is ignorable in identifiers, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function isIDIgnorable ($codepoint ) {}
+    /**
+     * Check if code point is permissible in an identifier
+     * @link https://php.net/manual/ru/intlchar.isidpart.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return bool|null Returns TRUE if codepoint is the code point may occur in an identifier, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function isIDPart ($codepoint ) {}
+
+    /**
+     * Check if code point is permissible as the first character in an identifier
+     * @link https://php.net/manual/ru/intlchar.isidstart.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return bool|null Returns TRUE if codepoint may start an identifier, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function isIDStart ($codepoint ) {}
+    /**
+     * Check if code point is an ISO control code
+     * @link https://php.net/manual/ru/intlchar.isisocontrol.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return bool|null Returns TRUE if codepoint is an ISO control code, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function isISOControl ($codepoint ) {}
+    /**
+     * Check if code point is permissible in a Java identifier
+     * @link https://php.net/manual/ru/intlchar.isjavaidpart.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return bool|null Returns TRUE if codepoint may occur in a Java identifier, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function isJavaIDPart ($codepoint ) {}
+    /**
+     * Check if code point is permissible as the first character in a Java identifier
+     * @link https://php.net/manual/ru/intlchar.isjavaidstart.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return bool|null Returns TRUE if codepoint may start a Java identifier, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function isJavaIDStart ($codepoint ) {}
+    /**
+     * Check if code point is a space character according to Java
+     * @link https://php.net/manual/ru/intlchar.isjavaspacechar.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return bool|null Returns TRUE if codepoint is a space character according to Java, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function isJavaSpaceChar ($codepoint ) {}
+
+    /**
+     * Check if code point is a lowercase letter
+     * @link https://php.net/manual/ru/intlchar.islower.php
+     * @param int|string $codepoint <p>The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN),
+     * or the character encoded as a UTF-8 string (e.g. "\u{2603}")</p>
+     * @return bool|null Returns TRUE if codepoint is an Ll lowercase letter, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function islower ($codepoint ) {}
+    /**
+     * Check if code point has the Bidi_Mirrored property
+     * @link https://php.net/manual/ru/intlchar.ismirrored.php
+     * @param int|string $codepoint <p>The integer codepoint value (e.g. <em>0x2603</em> for <em>U+2603 SNOWMAN</em>), or the character encoded as a UTF-8 string (e.g. <em>"\u{2603}"</em>)</p>
+     * @return bool|null Returns TRUE if codepoint has the Bidi_Mirrored property, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function isMirrored ($codepoint ) {}
+
+    /**
+     * Check if code point is a printable character
+     * @link https://php.net/manual/ru/intlchar.isprint.php
+     * @param int|string $codepoint <p>The integer codepoint value (e.g. <em>0x2603</em> for <em>U+2603 SNOWMAN</em>), or the character encoded as a UTF-8 string (e.g. <em>"\u{2603}"</em>)</p>
+     * @return bool|null Returns TRUE if codepoint is a printable character, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function isprint ($codepoint ) {}
+
+    /**
+     * Check if code point is punctuation character
+     * @link https://php.net/manual/ru/intlchar.ispunct.php
+     * @param int|string $codepoint <p>The integer codepoint value (e.g. <em>0x2603</em> for <em>U+2603 SNOWMAN</em>),
+     * or the character encoded as a UTF-8 string (e.g. <em>"\u{2603}"</em>)</p>
+     * @return bool|null Returns TRUE if codepoint is a punctuation character, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function ispunct ($codepoint ) {}
+    /**
+     * Check if code point is a space character
+     * @link https://php.net/manual/ru/intlchar.isspace.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return bool|null Returns TRUE if codepoint is a space character, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function isspace ($codepoint ) {}
+    /**
+     * Check if code point is a titlecase letter
+     * @link https://php.net/manual/ru/intlchar.istitle.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return bool|null Returns TRUE if codepoint is a titlecase letter, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function istitle ($codepoint ){}
+
+    /**
+     * Check if code point has the Alphabetic Unicode property
+     * @link https://php.net/manual/ru/intlchar.isualphabetic.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return bool|null Returns TRUE if codepoint has the Alphabetic Unicode property, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function isUAlphabetic ($codepoint ) {}
+    /**
+     * Check if code point has the Lowercase Unicode property
+     * @link https://php.net/manual/ru/intlchar.isulowercase.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return bool|null Returns TRUE if codepoint has the Lowercase Unicode property, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function isULowercase ($codepoint ) {}
+    /**
+     * Check if code point has the general category "Lu" (uppercase letter)
+     * @link https://php.net/manual/ru/intlchar.isupper.php
+     * @param int|string $codepoint <p>The integer codepoint value (e.g. <em>0x2603</em> for <em>U+2603 SNOWMAN</em>),
+     * or the character encoded as a UTF-8 string (e.g. <em>"\u{2603}"</em>)</p>
+     * @return bool|null Returns TRUE if codepoint is an Lu uppercase letter, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function isupper ($codepoint) {}
+    /**
+     * Check if code point has the Uppercase Unicode property
+     * @link https://php.net/manual/ru/intlchar.isuuppercase.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return bool|null Returns TRUE if codepoint has the Uppercase Unicode property, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function isUUppercase ($codepoint) {}
+    /**
+     * Check if code point has the White_Space Unicode property
+     * @link https://php.net/manual/ru/intlchar.isuwhitespace.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return bool|null Returns TRUE if codepoint has the White_Space Unicode property, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function isUWhiteSpace ($codepoint ) {}
+    /**
+     * Check if code point is a whitespace character according to ICU
+     * @link https://php.net/manual/ru/intlchar.iswhitespace.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return bool|null Returns TRUE if codepoint is a whitespace character according to ICU, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function isWhitespace($codepoint) {}
+
+    /**
+     * Check if code point is a hexadecimal digit
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return bool|null Returns TRUE if codepoint is a hexadecimal character, FALSE if not, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function isxdigit ($codepoint){}
+
+    /**
+     * Return Unicode code point value of character
+     * @link https://php.net/manual/ru/intlchar.ord.php
+     * @param int|string $character <p>A Unicode character.</p>
+     * @return int|null Returns the Unicode code point value as an integer, NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function ord ($character) {}
+
+    /**
+     * Make Unicode character lowercase
+     * @link https://php.net/manual/en/intlchar.tolower.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return int|string|null Returns the Simple_Lowercase_Mapping of the code point, if any; otherwise the code point itself.
+     * The return type will be integer unless the code point was passed as a UTF-8 string, in which case a string will be returned.
+     * Or NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function tolower($codepoint) {}
+    /**
+     * Make Unicode character titlecase
+     * @link https://php.net/manual/ru/intlchar.totitle.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return int|string|null  Returns the Simple_Titlecase_Mapping of the code point, if any; otherwise the code point itself.
+     * The return type will be integer unless the code point was passed as a UTF-8 string, in which case a string will be returned.
+     * Or NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function totitle ($codepoint ) {}
+
+    /**
+     * Make Unicode character uppercase
+     * @link https://php.net/manual/ru/intlchar.toupper.php
+     * @param int|string $codepoint The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")
+     * @return int|string|null Returns the Simple_Uppercase_Mapping of the code point, if any; otherwise the code point itself.
+     * The return type will be integer unless the code point was passed as a UTF-8 string, in which case a string will be returned.
+     * Or NULL if <em>codepoint</em> is out of bound.
+     * @since 7.0
+     */
+    public static function toupper ($codepoint ) {}
+}
diff --git a/build/stubs/gd.php b/build/stubs/gd.php
new file mode 100644 (file)
index 0000000..b7e9419
--- /dev/null
@@ -0,0 +1,3015 @@
+<?php
+
+/**
+ * Retrieve information about the currently installed GD library
+ * @link https://php.net/manual/en/function.gd-info.php
+ * @return array an associative array.
+ * </p>
+ * <p>
+ * <table>
+ * Elements of array returned by <b>gd_info</b>
+ * <tr valign="top">
+ * <td>Attribute</td>
+ * <td>Meaning</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>GD Version</td>
+ * <td>string value describing the installed
+ * libgd version.</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>FreeType Support</td>
+ * <td>boolean value. <b>TRUE</b>
+ * if FreeType Support is installed.</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>FreeType Linkage</td>
+ * <td>string value describing the way in which
+ * FreeType was linked. Expected values are: 'with freetype',
+ * 'with TTF library', and 'with unknown library'. This element will
+ * only be defined if FreeType Support evaluated to
+ * <b>TRUE</b>.</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>T1Lib Support</td>
+ * <td>boolean value. <b>TRUE</b>
+ * if T1Lib support is included.</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>GIF Read Support</td>
+ * <td>boolean value. <b>TRUE</b>
+ * if support for reading GIF
+ * images is included.</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>GIF Create Support</td>
+ * <td>boolean value. <b>TRUE</b>
+ * if support for creating GIF
+ * images is included.</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>JPEG Support</td>
+ * <td>boolean value. <b>TRUE</b>
+ * if JPEG support is included.</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>PNG Support</td>
+ * <td>boolean value. <b>TRUE</b>
+ * if PNG support is included.</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>WBMP Support</td>
+ * <td>boolean value. <b>TRUE</b>
+ * if WBMP support is included.</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>XBM Support</td>
+ * <td>boolean value. <b>TRUE</b>
+ * if XBM support is included.</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>WebP Support</td>
+ * <td>boolean value. <b>TRUE</b>
+ * if WebP support is included.</td>
+ * </tr>
+ * </table>
+ * </p>
+ * <p>
+ * Previous to PHP 5.3.0, the JPEG Support attribute was named
+ * JPG Support.
+ */
+function gd_info () {}
+
+/**
+ * Draws an arc
+ * @link https://php.net/manual/en/function.imagearc.php
+ * @param resource $image
+ * @param int $cx <p>
+ * x-coordinate of the center.
+ * </p>
+ * @param int $cy <p>
+ * y-coordinate of the center.
+ * </p>
+ * @param int $width <p>
+ * The arc width.
+ * </p>
+ * @param int $height <p>
+ * The arc height.
+ * </p>
+ * @param int $start <p>
+ * The arc start angle, in degrees.
+ * </p>
+ * @param int $end <p>
+ * The arc end angle, in degrees.
+ * 0° is located at the three-o'clock position, and the arc is drawn
+ * clockwise.
+ * </p>
+ * @param int $color <p>
+ * A color identifier created with
+ * <b>imagecolorallocate</b>.
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function imagearc ($image, $cx, $cy, $width, $height, $start, $end, $color) {}
+
+/**
+ * Draw an ellipse
+ * @link https://php.net/manual/en/function.imageellipse.php
+ * @param resource $image
+ * @param int $cx <p>
+ * x-coordinate of the center.
+ * </p>
+ * @param int $cy <p>
+ * y-coordinate of the center.
+ * </p>
+ * @param int $width <p>
+ * The ellipse width.
+ * </p>
+ * @param int $height <p>
+ * The ellipse height.
+ * </p>
+ * @param int $color <p>
+ * The color of the ellipse. A color identifier created with
+ * <b>imagecolorallocate</b>.
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function imageellipse ($image, $cx, $cy, $width, $height, $color) {}
+
+/**
+ * Draw a character horizontally
+ * @link https://php.net/manual/en/function.imagechar.php
+ * @param resource $image
+ * @param int $font
+ * @param int $x <p>
+ * x-coordinate of the start.
+ * </p>
+ * @param int $y <p>
+ * y-coordinate of the start.
+ * </p>
+ * @param string $c <p>
+ * The character to draw.
+ * </p>
+ * @param int $color <p>
+ * A color identifier created with
+ * <b>imagecolorallocate</b>.
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function imagechar ($image, $font, $x, $y, $c, $color) {}
+
+/**
+ * Draw a character vertically
+ * @link https://php.net/manual/en/function.imagecharup.php
+ * @param resource $image
+ * @param int $font
+ * @param int $x <p>
+ * x-coordinate of the start.
+ * </p>
+ * @param int $y <p>
+ * y-coordinate of the start.
+ * </p>
+ * @param string $c <p>
+ * The character to draw.
+ * </p>
+ * @param int $color <p>
+ * A color identifier created with
+ * <b>imagecolorallocate</b>.
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function imagecharup ($image, $font, $x, $y, $c, $color) {}
+
+/**
+ * Get the index of the color of a pixel
+ * @link https://php.net/manual/en/function.imagecolorat.php
+ * @param resource $image
+ * @param int $x <p>
+ * x-coordinate of the point.
+ * </p>
+ * @param int $y <p>
+ * y-coordinate of the point.
+ * </p>
+ * @return int|false the index of the color or <b>FALSE</b> on failure
+ */
+function imagecolorat ($image, $x, $y) {}
+
+/**
+ * Allocate a color for an image
+ * @link https://php.net/manual/en/function.imagecolorallocate.php
+ * @param resource $image
+ * @param int $red <p>Value of red component.</p>
+ * @param int $green <p>Value of green component.</p>
+ * @param int $blue <p>Value of blue component.</p>
+ * @return int|false A color identifier or <b>FALSE</b> if the allocation failed.
+ */
+function imagecolorallocate ($image, $red, $green, $blue) {}
+
+/**
+ * Copy the palette from one image to another
+ * @link https://php.net/manual/en/function.imagepalettecopy.php
+ * @param resource $destination <p>
+ * The destination image resource.
+ * </p>
+ * @param resource $source <p>
+ * The source image resource.
+ * </p>
+ * @return void No value is returned.
+ */
+function imagepalettecopy ($destination, $source) {}
+
+/**
+ * Create a new image from the image stream in the string
+ * @link https://php.net/manual/en/function.imagecreatefromstring.php
+ * @param string $image <p>
+ * A string containing the image data.
+ * </p>
+ * @return resource|false An image resource will be returned on success. <b>FALSE</b> is returned if
+ * the image type is unsupported, the data is not in a recognised format,
+ * or the image is corrupt and cannot be loaded.
+ */
+function imagecreatefromstring ($image) {}
+
+/**
+ * Get the index of the closest color to the specified color
+ * @link https://php.net/manual/en/function.imagecolorclosest.php
+ * @param resource $image
+ * @param int $red <p>Value of red component.</p>
+ * @param int $green <p>Value of green component.</p>
+ * @param int $blue <p>Value of blue component.</p>
+ * @return int|false the index of the closest color, in the palette of the image, to
+ * the specified one or <b>FALSE</b> on failure
+ */
+function imagecolorclosest ($image, $red, $green, $blue) {}
+
+/**
+ * Get the index of the color which has the hue, white and blackness
+ * @link https://php.net/manual/en/function.imagecolorclosesthwb.php
+ * @param resource $image
+ * @param int $red <p>Value of red component.</p>
+ * @param int $green <p>Value of green component.</p>
+ * @param int $blue <p>Value of blue component.</p>
+ * @return int|false an integer with the index of the color which has
+ * the hue, white and blackness nearest the given color or <b>FALSE</b> on failure
+ */
+function imagecolorclosesthwb ($image, $red, $green, $blue) {}
+
+/**
+ * De-allocate a color for an image
+ * @link https://php.net/manual/en/function.imagecolordeallocate.php
+ * @param resource $image
+ * @param int $color <p>
+ * The color identifier.
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function imagecolordeallocate ($image, $color) {}
+
+/**
+ * Get the index of the specified color or its closest possible alternative
+ * @link https://php.net/manual/en/function.imagecolorresolve.php
+ * @param resource $image
+ * @param int $red <p>Value of red component.</p>
+ * @param int $green <p>Value of green component.</p>
+ * @param int $blue <p>Value of blue component.</p>
+ * @return int|false a color index or <b>FALSE</b> on failure
+ */
+function imagecolorresolve ($image, $red, $green, $blue) {}
+
+/**
+ * Get the index of the specified color
+ * @link https://php.net/manual/en/function.imagecolorexact.php
+ * @param resource $image
+ * @param int $red <p>Value of red component.</p>
+ * @param int $green <p>Value of green component.</p>
+ * @param int $blue <p>Value of blue component.</p>
+ * @return int|false the index of the specified color in the palette, -1 if the
+ * color does not exist, or <b>FALSE</b> on failure
+ */
+function imagecolorexact ($image, $red, $green, $blue) {}
+
+/**
+ * Set the color for the specified palette index
+ * @link https://php.net/manual/en/function.imagecolorset.php
+ * @param resource $image
+ * @param int $index <p>
+ * An index in the palette.
+ * </p>
+ * @param int $red <p>Value of red component.</p>
+ * @param int $green <p>Value of green component.</p>
+ * @param int $blue <p>Value of blue component.</p>
+ * @param int $alpha [optional] <p>
+ * Value of alpha component.
+ * </p>
+ * @return void No value is returned.
+ */
+function imagecolorset ($image, $index, $red, $green, $blue, $alpha = 0) {}
+
+/**
+ * Define a color as transparent
+ * @link https://php.net/manual/en/function.imagecolortransparent.php
+ * @param resource $image
+ * @param int $color [optional] <p>
+ * A color identifier created with
+ * <b>imagecolorallocate</b>.
+ * </p>
+ * @return int|false The identifier of the new (or current, if none is specified)
+ * transparent color is returned. If <i>color</i>
+ * is not specified, and the image has no transparent color, the
+ * returned identifier will be -1. If an error occurs, <b>FALSE</b> is returned.
+ */
+function imagecolortransparent ($image, $color = null) {}
+
+/**
+ * Find out the number of colors in an image's palette
+ * @link https://php.net/manual/en/function.imagecolorstotal.php
+ * @param resource $image <p>
+ * An image resource, returned by one of the image creation functions, such
+ * as <b>imagecreatefromgif</b>.
+ * </p>
+ * @return int|false the number of colors in the specified image's palette, 0 for
+ * truecolor images, or <b>FALSE</b> on failure
+ */
+function imagecolorstotal ($image) {}
+
+/**
+ * Get the colors for an index
+ * @link https://php.net/manual/en/function.imagecolorsforindex.php
+ * @param resource $image
+ * @param int $index <p>
+ * The color index.
+ * </p>
+ * @return array|false an associative array with red, green, blue and alpha keys that
+ * contain the appropriate values for the specified color index or <b>FALSE</b> on failure
+ */
+function imagecolorsforindex ($image, $index) {}
+
+/**
+ * Copy part of an image
+ * @link https://php.net/manual/en/function.imagecopy.php
+ * @param resource $dst_im <p>
+ * Destination image link resource.
+ * </p>
+ * @param resource $src_im <p>
+ * Source image link resource.
+ * </p>
+ * @param int $dst_x <p>
+ * x-coordinate of destination point.
+ * </p>
+ * @param int $dst_y <p>
+ * y-coordinate of destination point.
+ * </p>
+ * @param int $src_x <p>
+ * x-coordinate of source point.
+ * </p>
+ * @param int $src_y <p>
+ * y-coordinate of source point.
+ * </p>
+ * @param int $src_w <p>
+ * Source width.
+ * </p>
+ * @param int $src_h <p>
+ * Source height.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagecopy ($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h) {}
+
+/**
+ * Copy and merge part of an image
+ * @link https://php.net/manual/en/function.imagecopymerge.php
+ * @param resource $dst_im <p>
+ * Destination image link resource.
+ * </p>
+ * @param resource $src_im <p>
+ * Source image link resource.
+ * </p>
+ * @param int $dst_x <p>
+ * x-coordinate of destination point.
+ * </p>
+ * @param int $dst_y <p>
+ * y-coordinate of destination point.
+ * </p>
+ * @param int $src_x <p>
+ * x-coordinate of source point.
+ * </p>
+ * @param int $src_y <p>
+ * y-coordinate of source point.
+ * </p>
+ * @param int $src_w <p>
+ * Source width.
+ * </p>
+ * @param int $src_h <p>
+ * Source height.
+ * </p>
+ * @param int $pct <p>
+ * The two images will be merged according to pct
+ * which can range from 0 to 100. When pct = 0,
+ * no action is taken, when 100 this function behaves identically
+ * to imagecopy for pallete images, while it
+ * implements alpha transparency for true colour images.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagecopymerge ($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $pct) {}
+
+/**
+ * Copy and merge part of an image with gray scale
+ * @link https://php.net/manual/en/function.imagecopymergegray.php
+ * @param resource $dst_im <p>
+ * Destination image link resource.
+ * </p>
+ * @param resource $src_im <p>
+ * Source image link resource.
+ * </p>
+ * @param int $dst_x <p>
+ * x-coordinate of destination point.
+ * </p>
+ * @param int $dst_y <p>
+ * y-coordinate of destination point.
+ * </p>
+ * @param int $src_x <p>
+ * x-coordinate of source point.
+ * </p>
+ * @param int $src_y <p>
+ * y-coordinate of source point.
+ * </p>
+ * @param int $src_w <p>
+ * Source width.
+ * </p>
+ * @param int $src_h <p>
+ * Source height.
+ * </p>
+ * @param int $pct <p>
+ * The src_im will be changed to grayscale according
+ * to pct where 0 is fully grayscale and 100 is
+ * unchanged. When pct = 100 this function behaves
+ * identically to imagecopy for pallete images, while
+ * it implements alpha transparency for true colour images.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagecopymergegray ($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $pct) {}
+
+/**
+ * Copy and resize part of an image
+ * @link https://php.net/manual/en/function.imagecopyresized.php
+ * @param resource $dst_image
+ * @param resource $src_image
+ * @param int $dst_x <p>
+ * x-coordinate of destination point.
+ * </p>
+ * @param int $dst_y <p>
+ * y-coordinate of destination point.
+ * </p>
+ * @param int $src_x <p>
+ * x-coordinate of source point.
+ * </p>
+ * @param int $src_y <p>
+ * y-coordinate of source point.
+ * </p>
+ * @param int $dst_w <p>
+ * Destination width.
+ * </p>
+ * @param int $dst_h <p>
+ * Destination height.
+ * </p>
+ * @param int $src_w <p>
+ * Source width.
+ * </p>
+ * @param int $src_h <p>
+ * Source height.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagecopyresized ($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h) {}
+
+/**
+ * Create a new palette based image
+ * @link https://php.net/manual/en/function.imagecreate.php
+ * @param int $width <p>
+ * The image width.
+ * </p>
+ * @param int $height <p>
+ * The image height.
+ * </p>
+ * @return resource|false an image resource identifier on success, false on errors.
+ */
+function imagecreate ($width, $height) {}
+
+/**
+ * Create a new true color image
+ * @link https://php.net/manual/en/function.imagecreatetruecolor.php
+ * @param int $width <p>
+ * Image width.
+ * </p>
+ * @param int $height <p>
+ * Image height.
+ * </p>
+ * @return resource|false an image resource identifier on success, false on errors.
+ */
+function imagecreatetruecolor ($width, $height) {}
+
+/**
+ * Finds whether an image is a truecolor image
+ * @link https://php.net/manual/en/function.imageistruecolor.php
+ * @param resource $image
+ * @return bool true if the image is truecolor, false
+ * otherwise.
+ */
+function imageistruecolor ($image) {}
+
+/**
+ * Convert a true color image to a palette image
+ * @link https://php.net/manual/en/function.imagetruecolortopalette.php
+ * @param resource $image
+ * @param bool $dither <p>
+ * Indicates if the image should be dithered - if it is true then
+ * dithering will be used which will result in a more speckled image but
+ * with better color approximation.
+ * </p>
+ * @param int $ncolors <p>
+ * Sets the maximum number of colors that should be retained in the palette.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagetruecolortopalette ($image, $dither, $ncolors) {}
+
+/**
+ * Set the thickness for line drawing
+ * @link https://php.net/manual/en/function.imagesetthickness.php
+ * @param resource $image
+ * @param int $thickness <p>
+ * Thickness, in pixels.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagesetthickness ($image, $thickness) {}
+
+/**
+ * Draw a partial arc and fill it
+ * @link https://php.net/manual/en/function.imagefilledarc.php
+ * @param resource $image
+ * @param int $cx <p>
+ * x-coordinate of the center.
+ * </p>
+ * @param int $cy <p>
+ * y-coordinate of the center.
+ * </p>
+ * @param int $width <p>
+ * The arc width.
+ * </p>
+ * @param int $height <p>
+ * The arc height.
+ * </p>
+ * @param int $start <p>
+ * The arc start angle, in degrees.
+ * </p>
+ * @param int $end <p>
+ * The arc end angle, in degrees.
+ * 0&deg; is located at the three-o'clock position, and the arc is drawn
+ * clockwise.
+ * </p>
+ * @param int $color <p>
+ * A color identifier created with
+ * imagecolorallocate.
+ * </p>
+ * @param int $style <p>
+ * A bitwise OR of the following possibilities:
+ * IMG_ARC_PIE
+ * @return bool true on success or false on failure.
+ */
+function imagefilledarc ($image, $cx, $cy, $width, $height, $start, $end, $color, $style) {}
+
+/**
+ * Draw a filled ellipse
+ * @link https://php.net/manual/en/function.imagefilledellipse.php
+ * @param resource $image
+ * @param int $cx <p>
+ * x-coordinate of the center.
+ * </p>
+ * @param int $cy <p>
+ * y-coordinate of the center.
+ * </p>
+ * @param int $width <p>
+ * The ellipse width.
+ * </p>
+ * @param int $height <p>
+ * The ellipse height.
+ * </p>
+ * @param int $color <p>
+ * The fill color. A color identifier created with
+ * imagecolorallocate.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagefilledellipse ($image, $cx, $cy, $width, $height, $color) {}
+
+/**
+ * Set the blending mode for an image
+ * @link https://php.net/manual/en/function.imagealphablending.php
+ * @param resource $image
+ * @param bool $blendmode <p>
+ * Whether to enable the blending mode or not. On true color images
+ * the default value is true otherwise the default value is false
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagealphablending ($image, $blendmode) {}
+
+/**
+ * Set the flag to save full alpha channel information (as opposed to single-color transparency) when saving PNG images
+ * @link https://php.net/manual/en/function.imagesavealpha.php
+ * @param resource $image
+ * @param bool $saveflag <p>
+ * Whether to save the alpha channel or not. Default to false.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagesavealpha ($image, $saveflag) {}
+
+/**
+ * Allocate a color for an image
+ * @link https://php.net/manual/en/function.imagecolorallocatealpha.php
+ * @param resource $image
+ * @param int $red <p>
+ * Value of red component.
+ * </p>
+ * @param int $green <p>
+ * Value of green component.
+ * </p>
+ * @param int $blue <p>
+ * Value of blue component.
+ * </p>
+ * @param int $alpha <p>
+ * A value between 0 and 127.
+ * 0 indicates completely opaque while
+ * 127 indicates completely transparent.
+ * </p>
+ * @return int|false A color identifier or false if the allocation failed.
+ */
+function imagecolorallocatealpha ($image, $red, $green, $blue, $alpha) {}
+
+/**
+ * Get the index of the specified color + alpha or its closest possible alternative
+ * @link https://php.net/manual/en/function.imagecolorresolvealpha.php
+ * @param resource $image
+ * @param int $red <p>
+ * Value of red component.
+ * </p>
+ * @param int $green <p>
+ * Value of green component.
+ * </p>
+ * @param int $blue <p>
+ * Value of blue component.
+ * </p>
+ * @param int $alpha <p>
+ * A value between 0 and 127.
+ * 0 indicates completely opaque while
+ * 127 indicates completely transparent.
+ * </p>
+ * @return int|false a color index or <b>FALSE</b> on failure
+ */
+function imagecolorresolvealpha ($image, $red, $green, $blue, $alpha) {}
+
+/**
+ * Get the index of the closest color to the specified color + alpha
+ * @link https://php.net/manual/en/function.imagecolorclosestalpha.php
+ * @param resource $image
+ * @param int $red <p>
+ * Value of red component.
+ * </p>
+ * @param int $green <p>
+ * Value of green component.
+ * </p>
+ * @param int $blue <p>
+ * Value of blue component.
+ * </p>
+ * @param int $alpha <p>
+ * A value between 0 and 127.
+ * 0 indicates completely opaque while
+ * 127 indicates completely transparent.
+ * </p>
+ * @return int|false the index of the closest color in the palette or
+ * <b>FALSE</b> on failure
+ */
+function imagecolorclosestalpha ($image, $red, $green, $blue, $alpha) {}
+
+/**
+ * Get the index of the specified color + alpha
+ * @link https://php.net/manual/en/function.imagecolorexactalpha.php
+ * @param resource $image
+ * @param int $red <p>
+ * Value of red component.
+ * </p>
+ * @param int $green <p>
+ * Value of green component.
+ * </p>
+ * @param int $blue <p>
+ * Value of blue component.
+ * </p>
+ * @param int $alpha <p>
+ * A value between 0 and 127.
+ * 0 indicates completely opaque while
+ * 127 indicates completely transparent.
+ * </p>
+ * @return int|false the index of the specified color+alpha in the palette of the
+ * image, -1 if the color does not exist in the image's palette, or <b>FALSE</b>
+ * on failure
+ */
+function imagecolorexactalpha ($image, $red, $green, $blue, $alpha) {}
+
+/**
+ * Copy and resize part of an image with resampling
+ * @link https://php.net/manual/en/function.imagecopyresampled.php
+ * @param resource $dst_image
+ * @param resource $src_image
+ * @param int $dst_x <p>
+ * x-coordinate of destination point.
+ * </p>
+ * @param int $dst_y <p>
+ * y-coordinate of destination point.
+ * </p>
+ * @param int $src_x <p>
+ * x-coordinate of source point.
+ * </p>
+ * @param int $src_y <p>
+ * y-coordinate of source point.
+ * </p>
+ * @param int $dst_w <p>
+ * Destination width.
+ * </p>
+ * @param int $dst_h <p>
+ * Destination height.
+ * </p>
+ * @param int $src_w <p>
+ * Source width.
+ * </p>
+ * @param int $src_h <p>
+ * Source height.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagecopyresampled ($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h) {}
+
+/**
+ * Rotate an image with a given angle
+ * @link https://php.net/manual/en/function.imagerotate.php
+ * @param resource $image
+ * @param float $angle <p>
+ * Rotation angle, in degrees.
+ * </p>
+ * @param int $bgd_color <p>
+ * Specifies the color of the uncovered zone after the rotation
+ * </p>
+ * @param int $ignore_transparent [optional] <p>
+ * If set and non-zero, transparent colors are ignored (otherwise kept).
+ * </p>
+ * @return resource|false the rotated image or <b>FALSE</b> on failure
+ */
+function imagerotate ($image, $angle, $bgd_color, $ignore_transparent = null) {}
+
+/**
+ * Should antialias functions be used or not. <br/>
+ * Before 7.2.0 it's only available if PHP iscompiled with the bundled version of the GD library.
+ * @link https://php.net/manual/en/function.imageantialias.php
+ * @param resource $image
+ * @param bool $enabled <p>
+ * Whether to enable antialiasing or not.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imageantialias ($image, $enabled) {}
+
+/**
+ * Set the tile image for filling
+ * @link https://php.net/manual/en/function.imagesettile.php
+ * @param resource $image
+ * @param resource $tile <p>
+ * The image resource to be used as a tile.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagesettile ($image, $tile) {}
+
+/**
+ * Set the brush image for line drawing
+ * @link https://php.net/manual/en/function.imagesetbrush.php
+ * @param resource $image
+ * @param resource $brush <p>
+ * An image resource.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagesetbrush ($image, $brush) {}
+
+/**
+ * Set the style for line drawing
+ * @link https://php.net/manual/en/function.imagesetstyle.php
+ * @param resource $image
+ * @param array $style <p>
+ * An array of pixel colors. You can use the
+ * IMG_COLOR_TRANSPARENT constant to add a
+ * transparent pixel.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagesetstyle ($image, array $style) {}
+
+/**
+ * Create a new image from file or URL
+ * @link https://php.net/manual/en/function.imagecreatefrompng.php
+ * @param string $filename <p>
+ * Path to the PNG image.
+ * </p>
+ * @return resource|false an image resource identifier on success, false on errors.
+ */
+function imagecreatefrompng ($filename) {}
+
+/**
+ * Create a new image from file or URL
+ * @link https://php.net/manual/en/function.imagecreatefromgif.php
+ * @param string $filename <p>
+ * Path to the GIF image.
+ * </p>
+ * @return resource|false an image resource identifier on success, false on errors.
+ */
+function imagecreatefromgif ($filename) {}
+
+/**
+ * Create a new image from file or URL
+ * @link https://php.net/manual/en/function.imagecreatefromjpeg.php
+ * @param string $filename <p>
+ * Path to the JPEG image.
+ * </p>
+ * @return resource|false an image resource identifier on success, false on errors.
+ */
+function imagecreatefromjpeg ($filename) {}
+
+/**
+ * Create a new image from file or URL
+ * @link https://php.net/manual/en/function.imagecreatefromwbmp.php
+ * @param string $filename <p>
+ * Path to the WBMP image.
+ * </p>
+ * @return resource|false an image resource identifier on success, false on errors.
+ */
+function imagecreatefromwbmp ($filename) {}
+
+/**
+ * Create a new image from file or URL
+ * @link https://php.net/manual/en/function.imagecreatefromwebp.php
+ * @param string $filename <p>
+ * Path to the WebP image.
+ * </p>
+ * @return resource|false an image resource identifier on success, false on errors.
+ * @since 5.4
+ */
+function imagecreatefromwebp ($filename) {}
+
+/**
+ * Create a new image from file or URL
+ * @link https://php.net/manual/en/function.imagecreatefromxbm.php
+ * @param string $filename <p>
+ * Path to the XBM image.
+ * </p>
+ * @return resource|false an image resource identifier on success, false on errors.
+ */
+function imagecreatefromxbm ($filename) {}
+
+/**
+ * Create a new image from file or URL
+ * @link https://php.net/manual/en/function.imagecreatefromxpm.php
+ * @param string $filename <p>
+ * Path to the XPM image.
+ * </p>
+ * @return resource|false an image resource identifier on success, false on errors.
+ */
+function imagecreatefromxpm ($filename) {}
+
+/**
+ * Create a new image from GD file or URL
+ * @link https://php.net/manual/en/function.imagecreatefromgd.php
+ * @param string $filename <p>
+ * Path to the GD file.
+ * </p>
+ * @return resource|false an image resource identifier on success, false on errors.
+ */
+function imagecreatefromgd ($filename) {}
+
+/**
+ * Create a new image from GD2 file or URL
+ * @link https://php.net/manual/en/function.imagecreatefromgd2.php
+ * @param string $filename <p>
+ * Path to the GD2 image.
+ * </p>
+ * @return resource|false an image resource identifier on success, false on errors.
+ */
+function imagecreatefromgd2 ($filename) {}
+
+/**
+ * Create a new image from a given part of GD2 file or URL
+ * @link https://php.net/manual/en/function.imagecreatefromgd2part.php
+ * @param string $filename <p>
+ * Path to the GD2 image.
+ * </p>
+ * @param int $srcX <p>
+ * x-coordinate of source point.
+ * </p>
+ * @param int $srcY <p>
+ * y-coordinate of source point.
+ * </p>
+ * @param int $width <p>
+ * Source width.
+ * </p>
+ * @param int $height <p>
+ * Source height.
+ * </p>
+ * @return resource|false an image resource identifier on success, false on errors.
+ */
+function imagecreatefromgd2part ($filename, $srcX, $srcY, $width, $height) {}
+
+/**
+ * Output a PNG image to either the browser or a file
+ * @link https://php.net/manual/en/function.imagepng.php
+ * @param resource $image
+ * @param string $filename [optional] <p>
+ * The path to save the file to. If not set or &null;, the raw image stream
+ * will be outputted directly.
+ * </p>
+ * <p>
+ * &null; is invalid if the quality and
+ * filters arguments are not used.
+ * </p>
+ * @param int $quality [optional] <p>
+ * Compression level: from 0 (no compression) to 9.
+ * </p>
+ * @param int $filters [optional] <p>
+ * Allows reducing the PNG file size. It is a bitmask field which may be
+ * set to any combination of the PNG_FILTER_XXX
+ * constants. PNG_NO_FILTER or
+ * PNG_ALL_FILTERS may also be used to respectively
+ * disable or activate all filters.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagepng ($image, $filename = null, $quality = null, $filters = null) {}
+
+/**
+ * Output a WebP image to browser or file
+ * @link https://php.net/manual/en/function.imagewebp.php
+ * @param resource $image
+ * @param string $to [optional] <p>
+ * The path to save the file to. If not set or &null;, the raw image stream
+ * will be outputted directly.
+ * </p>
+ * @param int $quality [optional] <p>
+ * quality ranges from 0 (worst quality, smaller file) to 100 (best quality, biggest file).
+ * </p>
+ * @return bool true on success or false on failure.
+ * @since 5.4
+ */
+function imagewebp ($image, $to = null, $quality = 80) {}
+
+/**
+ * Output image to browser or file
+ * @link https://php.net/manual/en/function.imagegif.php
+ * @param resource $image
+ * @param string $filename [optional] <p>
+ * The path to save the file to. If not set or &null;, the raw image stream
+ * will be outputted directly.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagegif ($image, $filename = null) {}
+
+/**
+ * Output image to browser or file
+ * @link https://php.net/manual/en/function.imagejpeg.php
+ * @param resource $image
+ * @param string $filename [optional] <p>
+ * The path to save the file to. If not set or &null;, the raw image stream
+ * will be outputted directly.
+ * </p>
+ * <p>
+ * To skip this argument in order to provide the
+ * quality parameter, use &null;.
+ * </p>
+ * @param int $quality [optional] <p>
+ * quality is optional, and ranges from 0 (worst
+ * quality, smaller file) to 100 (best quality, biggest file). The
+ * default is the default IJG quality value (about 75).
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagejpeg ($image, $filename = null, $quality = null) {}
+
+/**
+ * Output image to browser or file
+ * @link https://php.net/manual/en/function.imagewbmp.php
+ * @param resource $image
+ * @param string $filename [optional] <p>
+ * The path to save the file to. If not set or &null;, the raw image stream
+ * will be outputted directly.
+ * </p>
+ * @param int $foreground [optional] <p>
+ * You can set the foreground color with this parameter by setting an
+ * identifier obtained from imagecolorallocate.
+ * The default foreground color is black.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagewbmp ($image, $filename = null, $foreground = null) {}
+
+/**
+ * Output GD image to browser or file. <br/>
+ * Since 7.2.0 allows to output truecolor images.
+ * @link https://php.net/manual/en/function.imagegd.php
+ * @param resource $image
+ * @param string $filename [optional] <p>
+ * The path to save the file to. If not set or &null;, the raw image stream
+ * will be outputted directly.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagegd ($image, $filename = null) {}
+
+/**
+ * Output GD2 image to browser or file
+ * @link https://php.net/manual/en/function.imagegd2.php
+ * @param resource $image
+ * @param string $filename [optional] <p>
+ * The path to save the file to. If not set or &null;, the raw image stream
+ * will be outputted directly.
+ * </p>
+ * @param int $chunk_size [optional] <p>
+ * Chunk size.
+ * </p>
+ * @param int $type [optional] <p>
+ * Either IMG_GD2_RAW or
+ * IMG_GD2_COMPRESSED. Default is
+ * IMG_GD2_RAW.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagegd2 ($image, $filename = null, $chunk_size = null, $type = null) {}
+
+/**
+ * Destroy an image
+ * @link https://php.net/manual/en/function.imagedestroy.php
+ * @param resource $image
+ * @return bool true on success or false on failure.
+ */
+function imagedestroy ($image) {}
+
+/**
+ * Apply a gamma correction to a GD image
+ * @link https://php.net/manual/en/function.imagegammacorrect.php
+ * @param resource $image
+ * @param float $inputgamma <p>
+ * The input gamma.
+ * </p>
+ * @param float $outputgamma <p>
+ * The output gamma.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagegammacorrect ($image, $inputgamma, $outputgamma) {}
+
+/**
+ * Flood fill
+ * @link https://php.net/manual/en/function.imagefill.php
+ * @param resource $image
+ * @param int $x <p>
+ * x-coordinate of start point.
+ * </p>
+ * @param int $y <p>
+ * y-coordinate of start point.
+ * </p>
+ * @param int $color <p>
+ * The fill color. A color identifier created with
+ * imagecolorallocate.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagefill ($image, $x, $y, $color) {}
+
+/**
+ * Draw a filled polygon
+ * @link https://php.net/manual/en/function.imagefilledpolygon.php
+ * @param resource $image
+ * @param array $points <p>
+ * An array containing the x and y
+ * coordinates of the polygons vertices consecutively.
+ * </p>
+ * @param int $num_points [optional] <p>
+ * Total number of vertices, which must be at least 3.
+ * </p>
+ * @param int $color <p>
+ * A color identifier created with
+ * imagecolorallocate.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagefilledpolygon ($image, array $points, $num_points, $color) {}
+
+/**
+ * Draw a filled rectangle
+ * @link https://php.net/manual/en/function.imagefilledrectangle.php
+ * @param resource $image
+ * @param int $x1 <p>
+ * x-coordinate for point 1.
+ * </p>
+ * @param int $y1 <p>
+ * y-coordinate for point 1.
+ * </p>
+ * @param int $x2 <p>
+ * x-coordinate for point 2.
+ * </p>
+ * @param int $y2 <p>
+ * y-coordinate for point 2.
+ * </p>
+ * @param int $color <p>
+ * The fill color. A color identifier created with
+ * imagecolorallocate.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagefilledrectangle ($image, $x1, $y1, $x2, $y2, $color) {}
+
+/**
+ * Flood fill to specific color
+ * @link https://php.net/manual/en/function.imagefilltoborder.php
+ * @param resource $image
+ * @param int $x <p>
+ * x-coordinate of start.
+ * </p>
+ * @param int $y <p>
+ * y-coordinate of start.
+ * </p>
+ * @param int $border <p>
+ * The border color. A color identifier created with
+ * imagecolorallocate.
+ * </p>
+ * @param int $color <p>
+ * The fill color. A color identifier created with
+ * imagecolorallocate.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagefilltoborder ($image, $x, $y, $border, $color) {}
+
+/**
+ * Get font width
+ * @link https://php.net/manual/en/function.imagefontwidth.php
+ * @param int $font
+ * @return int the width of the pixel
+ */
+function imagefontwidth ($font) {}
+
+/**
+ * Get font height
+ * @link https://php.net/manual/en/function.imagefontheight.php
+ * @param int $font
+ * @return int the height of the pixel.
+ */
+function imagefontheight ($font) {}
+
+/**
+ * Enable or disable interlace
+ * @link https://php.net/manual/en/function.imageinterlace.php
+ * @param resource $image
+ * @param int $interlace [optional] <p>
+ * If non-zero, the image will be interlaced, else the interlace bit is
+ * turned off.
+ * </p>
+ * @return int|false 1 if the interlace bit is set for the image,
+ * 0 if it is not, or <b>FALSE</b> on failure
+ */
+function imageinterlace ($image, $interlace = null) {}
+
+/**
+ * Draw a line
+ * @link https://php.net/manual/en/function.imageline.php
+ * @param resource $image
+ * @param int $x1 <p>
+ * x-coordinate for first point.
+ * </p>
+ * @param int $y1 <p>
+ * y-coordinate for first point.
+ * </p>
+ * @param int $x2 <p>
+ * x-coordinate for second point.
+ * </p>
+ * @param int $y2 <p>
+ * y-coordinate for second point.
+ * </p>
+ * @param int $color <p>
+ * The line color. A color identifier created with
+ * imagecolorallocate.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imageline ($image, $x1, $y1, $x2, $y2, $color) {}
+
+/**
+ * Load a new font
+ * @link https://php.net/manual/en/function.imageloadfont.php
+ * @param string $file <p>
+ * The font file format is currently binary and architecture
+ * dependent. This means you should generate the font files on the
+ * same type of CPU as the machine you are running PHP on.
+ * </p>
+ * <p>
+ * <table>
+ * Font file format
+ * <tr valign="top">
+ * <td>byte position</td>
+ * <td>C data type</td>
+ * <td>description</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>byte 0-3</td>
+ * <td>int</td>
+ * <td>number of characters in the font</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>byte 4-7</td>
+ * <td>int</td>
+ * <td>
+ * value of first character in the font (often 32 for space)
+ * </td>
+ * </tr>
+ * <tr valign="top">
+ * <td>byte 8-11</td>
+ * <td>int</td>
+ * <td>pixel width of each character</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>byte 12-15</td>
+ * <td>int</td>
+ * <td>pixel height of each character</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>byte 16-</td>
+ * <td>char</td>
+ * <td>
+ * array with character data, one byte per pixel in each
+ * character, for a total of (nchars*width*height) bytes.
+ * </td>
+ * </tr>
+ * </table>
+ * </p>
+ * @return int|false The font identifier which is always bigger than 5 to avoid conflicts with
+ * built-in fonts or false on errors.
+ */
+function imageloadfont ($file) {}
+
+/**
+ * Draws a polygon
+ * @link https://php.net/manual/en/function.imagepolygon.php
+ * @param resource $image
+ * @param array $points <p>
+ * An array containing the polygon's vertices, e.g.:
+ * <tr valign="top">
+ * <td>points[0]</td>
+ * <td>= x0</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>points[1]</td>
+ * <td>= y0</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>points[2]</td>
+ * <td>= x1</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>points[3]</td>
+ * <td>= y1</td>
+ * </tr>
+ * </p>
+ * @param int $num_points [optional] <p>
+ * Total number of points (vertices).
+ * </p>
+ * @param int $color <p>
+ * A color identifier created with
+ * imagecolorallocate.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagepolygon ($image, array $points, $num_points, $color) {}
+
+/**
+ * Draw a rectangle
+ * @link https://php.net/manual/en/function.imagerectangle.php
+ * @param resource $image
+ * @param int $x1 <p>
+ * Upper left x coordinate.
+ * </p>
+ * @param int $y1 <p>
+ * Upper left y coordinate
+ * 0, 0 is the top left corner of the image.
+ * </p>
+ * @param int $x2 <p>
+ * Bottom right x coordinate.
+ * </p>
+ * @param int $y2 <p>
+ * Bottom right y coordinate.
+ * </p>
+ * @param int $color <p>
+ * A color identifier created with
+ * imagecolorallocate.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagerectangle ($image, $x1, $y1, $x2, $y2, $color) {}
+
+/**
+ * Set a single pixel
+ * @link https://php.net/manual/en/function.imagesetpixel.php
+ * @param resource $image
+ * @param int $x <p>
+ * x-coordinate.
+ * </p>
+ * @param int $y <p>
+ * y-coordinate.
+ * </p>
+ * @param int $color <p>
+ * A color identifier created with
+ * imagecolorallocate.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagesetpixel ($image, $x, $y, $color) {}
+
+/**
+ * Draw a string horizontally
+ * @link https://php.net/manual/en/function.imagestring.php
+ * @param resource $image
+ * @param int $font
+ * @param int $x <p>
+ * x-coordinate of the upper left corner.
+ * </p>
+ * @param int $y <p>
+ * y-coordinate of the upper left corner.
+ * </p>
+ * @param string $string <p>
+ * The string to be written.
+ * </p>
+ * @param int $color <p>
+ * A color identifier created with
+ * imagecolorallocate.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagestring ($image, $font, $x, $y, $string, $color) {}
+
+/**
+ * Draw a string vertically
+ * @link https://php.net/manual/en/function.imagestringup.php
+ * @param resource $image
+ * @param int $font
+ * @param int $x <p>
+ * x-coordinate of the upper left corner.
+ * </p>
+ * @param int $y <p>
+ * y-coordinate of the upper left corner.
+ * </p>
+ * @param string $string <p>
+ * The string to be written.
+ * </p>
+ * @param int $color <p>
+ * A color identifier created with
+ * imagecolorallocate.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagestringup ($image, $font, $x, $y, $string, $color) {}
+
+/**
+ * Get image width
+ * @link https://php.net/manual/en/function.imagesx.php
+ * @param resource $image
+ * @return int|false Return the width of the image or false on
+ * errors.
+ */
+function imagesx ($image) {}
+
+/**
+ * Get image height
+ * @link https://php.net/manual/en/function.imagesy.php
+ * @param resource $image
+ * @return int|false Return the height of the image or false on
+ * errors.
+ */
+function imagesy ($image) {}
+
+/**
+ * Draw a dashed line
+ * @link https://php.net/manual/en/function.imagedashedline.php
+ * @param resource $image
+ * @param int $x1 <p>
+ * Upper left x coordinate.
+ * </p>
+ * @param int $y1 <p>
+ * Upper left y coordinate 0, 0 is the top left corner of the image.
+ * </p>
+ * @param int $x2 <p>
+ * Bottom right x coordinate.
+ * </p>
+ * @param int $y2 <p>
+ * Bottom right y coordinate.
+ * </p>
+ * @param int $color <p>
+ * The fill color. A color identifier created with
+ * imagecolorallocate.
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ * @deprecated Use combination of imagesetstyle() and imageline() instead
+ */
+function imagedashedline ($image, $x1, $y1, $x2, $y2, $color) {}
+
+/**
+ * Give the bounding box of a text using TrueType fonts
+ * @link https://php.net/manual/en/function.imagettfbbox.php
+ * @param float $size <p>
+ * The font size. Depending on your version of GD, this should be
+ * specified as the pixel size (GD1) or point size (GD2).
+ * </p>
+ * @param float $angle <p>
+ * Angle in degrees in which text will be measured.
+ * </p>
+ * @param string $fontfile <p>
+ * The name of the TrueType font file (can be a URL). Depending on
+ * which version of the GD library that PHP is using, it may attempt to
+ * search for files that do not begin with a leading '/' by appending
+ * '.ttf' to the filename and searching along a library-defined font path.
+ * </p>
+ * @param string $text <p>
+ * The string to be measured.
+ * </p>
+ * @return array|false imagettfbbox returns an array with 8
+ * elements representing four points making the bounding box of the
+ * text on success and false on error.
+ * <tr valign="top">
+ * <td>key</td>
+ * <td>contents</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>0</td>
+ * <td>lower left corner, X position</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>1</td>
+ * <td>lower left corner, Y position</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>2</td>
+ * <td>lower right corner, X position</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>3</td>
+ * <td>lower right corner, Y position</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>4</td>
+ * <td>upper right corner, X position</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>5</td>
+ * <td>upper right corner, Y position</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>6</td>
+ * <td>upper left corner, X position</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>7</td>
+ * <td>upper left corner, Y position</td>
+ * </tr>
+ * </p>
+ * <p>
+ * The points are relative to the text regardless of the
+ * angle, so "upper left" means in the top left-hand
+ * corner seeing the text horizontally.
+ */
+function imagettfbbox ($size, $angle, $fontfile, $text) {}
+
+/**
+ * Write text to the image using TrueType fonts
+ * @link https://php.net/manual/en/function.imagettftext.php
+ * @param resource $image
+ * @param float $size <p>
+ * The font size. Depending on your version of GD, this should be
+ * specified as the pixel size (GD1) or point size (GD2).
+ * </p>
+ * @param float $angle <p>
+ * The angle in degrees, with 0 degrees being left-to-right reading text.
+ * Higher values represent a counter-clockwise rotation. For example, a
+ * value of 90 would result in bottom-to-top reading text.
+ * </p>
+ * @param int $x <p>
+ * The coordinates given by x and
+ * y will define the basepoint of the first
+ * character (roughly the lower-left corner of the character). This
+ * is different from the imagestring, where
+ * x and y define the
+ * upper-left corner of the first character. For example, "top left"
+ * is 0, 0.
+ * </p>
+ * @param int $y <p>
+ * The y-ordinate. This sets the position of the fonts baseline, not the
+ * very bottom of the character.
+ * </p>
+ * @param int $color <p>
+ * The color index. Using the negative of a color index has the effect of
+ * turning off antialiasing. See imagecolorallocate.
+ * </p>
+ * @param string $fontfile <p>
+ * The path to the TrueType font you wish to use.
+ * </p>
+ * <p>
+ * Depending on which version of the GD library PHP is using, when
+ * fontfile does not begin with a leading
+ * / then .ttf will be appended
+ * to the filename and the library will attempt to search for that
+ * filename along a library-defined font path.
+ * </p>
+ * <p>
+ * When using versions of the GD library lower than 2.0.18, a space character,
+ * rather than a semicolon, was used as the 'path separator' for different font files.
+ * Unintentional use of this feature will result in the warning message:
+ * Warning: Could not find/open font. For these affected versions, the
+ * only solution is moving the font to a path which does not contain spaces.
+ * </p>
+ * <p>
+ * In many cases where a font resides in the same directory as the script using it
+ * the following trick will alleviate any include problems.
+ * </p>
+ * <pre>
+ * <?php
+ * // Set the enviroment variable for GD
+ * putenv('GDFONTPATH=' . realpath('.'));
+ *
+ * // Name the font to be used (note the lack of the .ttf extension)
+ * $font = 'SomeFont';
+ * ?>
+ * </pre>
+ * <p>
+ * <strong>Note:</strong>
+ * <code>open_basedir</code> does <em>not</em> apply to fontfile.
+ * </p>
+ * @param string $text <p>
+ * The text string in UTF-8 encoding.
+ * </p>
+ * <p>
+ * May include decimal numeric character references (of the form:
+ * &amp;#8364;) to access characters in a font beyond position 127.
+ * The hexadecimal format (like &amp;#xA9;) is supported.
+ * Strings in UTF-8 encoding can be passed directly.
+ * </p>
+ * <p>
+ * Named entities, such as &amp;copy;, are not supported. Consider using
+ * html_entity_decode
+ * to decode these named entities into UTF-8 strings (html_entity_decode()
+ * supports this as of PHP 5.0.0).
+ * </p>
+ * <p>
+ * If a character is used in the string which is not supported by the
+ * font, a hollow rectangle will replace the character.
+ * </p>
+ * @return array|false an array with 8 elements representing four points making the
+ * bounding box of the text. The order of the points is lower left, lower
+ * right, upper right, upper left. The points are relative to the text
+ * regardless of the angle, so "upper left" means in the top left-hand
+ * corner when you see the text horizontally.
+ * Returns false on error.
+ */
+function imagettftext ($image, $size, $angle, $x, $y, $color, $fontfile, $text) {}
+
+/**
+ * Give the bounding box of a text using fonts via freetype2
+ * @link https://php.net/manual/en/function.imageftbbox.php
+ * @param float $size <p>
+ * The font size. Depending on your version of GD, this should be
+ * specified as the pixel size (GD1) or point size (GD2).
+ * </p>
+ * @param float $angle <p>
+ * Angle in degrees in which text will be
+ * measured.
+ * </p>
+ * @param string $fontfile <p>
+ * The name of the TrueType font file (can be a URL). Depending on
+ * which version of the GD library that PHP is using, it may attempt to
+ * search for files that do not begin with a leading '/' by appending
+ * '.ttf' to the filename and searching along a library-defined font path.
+ * </p>
+ * @param string $text <p>
+ * The string to be measured.
+ * </p>
+ * @param array $extrainfo [optional] <p>
+ * <table>
+ * Possible array indexes for extrainfo
+ * <tr valign="top">
+ * <td>Key</td>
+ * <td>Type</td>
+ * <td>Meaning</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>linespacing</td>
+ * <td>float</td>
+ * <td>Defines drawing linespacing</td>
+ * </tr>
+ * </table>
+ * </p>
+ * @return array|false imageftbbox returns an array with 8
+ * elements representing four points making the bounding box of the
+ * text:
+ * <tr valign="top">
+ * <td>0</td>
+ * <td>lower left corner, X position</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>1</td>
+ * <td>lower left corner, Y position</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>2</td>
+ * <td>lower right corner, X position</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>3</td>
+ * <td>lower right corner, Y position</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>4</td>
+ * <td>upper right corner, X position</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>5</td>
+ * <td>upper right corner, Y position</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>6</td>
+ * <td>upper left corner, X position</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>7</td>
+ * <td>upper left corner, Y position</td>
+ * </tr>
+ * </p>
+ * <p>
+ * The points are relative to the text regardless of the
+ * angle, so "upper left" means in the top left-hand
+ * corner seeing the text horizontally.
+ * Returns false on error.
+ */
+function imageftbbox ($size, $angle, $fontfile, $text, $extrainfo = null ) {}
+
+/**
+ * Write text to the image using fonts using FreeType 2
+ * @link https://php.net/manual/en/function.imagefttext.php
+ * @param resource $image
+ * @param float $size <p>
+ * The font size to use in points.
+ * </p>
+ * @param float $angle <p>
+ * The angle in degrees, with 0 degrees being left-to-right reading text.
+ * Higher values represent a counter-clockwise rotation. For example, a
+ * value of 90 would result in bottom-to-top reading text.
+ * </p>
+ * @param int $x <p>
+ * The coordinates given by x and
+ * y will define the basepoint of the first
+ * character (roughly the lower-left corner of the character). This
+ * is different from the imagestring, where
+ * x and y define the
+ * upper-left corner of the first character. For example, "top left"
+ * is 0, 0.
+ * </p>
+ * @param int $y <p>
+ * The y-ordinate. This sets the position of the fonts baseline, not the
+ * very bottom of the character.
+ * </p>
+ * @param int $color <p>
+ * The index of the desired color for the text, see
+ * imagecolorexact.
+ * </p>
+ * @param string $fontfile <p>
+ * The path to the TrueType font you wish to use.
+ * </p>
+ * <p>
+ * Depending on which version of the GD library PHP is using, when
+ * fontfile does not begin with a leading
+ * / then .ttf will be appended
+ * to the filename and the library will attempt to search for that
+ * filename along a library-defined font path.
+ * </p>
+ * <p>
+ * When using versions of the GD library lower than 2.0.18, a space character,
+ * rather than a semicolon, was used as the 'path separator' for different font files.
+ * Unintentional use of this feature will result in the warning message:
+ * Warning: Could not find/open font. For these affected versions, the
+ * only solution is moving the font to a path which does not contain spaces.
+ * </p>
+ * <p>
+ * In many cases where a font resides in the same directory as the script using it
+ * the following trick will alleviate any include problems.
+ * </p>
+ * <pre>
+ * <?php
+ * // Set the enviroment variable for GD
+ * putenv('GDFONTPATH=' . realpath('.'));
+ *
+ * // Name the font to be used (note the lack of the .ttf extension)
+ * $font = 'SomeFont';
+ * ?>
+ * </pre>
+ * <p>
+ * <strong>Note:</strong>
+ * <code>open_basedir</code> does <em>not</em> apply to fontfile.
+ * </p>
+ * @param string $text <p>
+ * Text to be inserted into image.
+ * </p>
+ * @param array $extrainfo [optional] <p>
+ * <table>
+ * Possible array indexes for extrainfo
+ * <tr valign="top">
+ * <td>Key</td>
+ * <td>Type</td>
+ * <td>Meaning</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>linespacing</td>
+ * <td>float</td>
+ * <td>Defines drawing linespacing</td>
+ * </tr>
+ * </table>
+ * </p>
+ * @return array|false This function returns an array defining the four points of the box, starting in the lower left and moving counter-clockwise:
+ * <tr valign="top">
+ * <td>0</td>
+ * <td>lower left x-coordinate</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>1</td>
+ * <td>lower left y-coordinate</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>2</td>
+ * <td>lower right x-coordinate</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>3</td>
+ * <td>lower right y-coordinate</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>4</td>
+ * <td>upper right x-coordinate</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>5</td>
+ * <td>upper right y-coordinate</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>6</td>
+ * <td>upper left x-coordinate</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>7</td>
+ * <td>upper left y-coordinate</td>
+ * </tr>
+ * Returns false on error.
+ */
+function imagefttext ($image, $size, $angle, $x, $y, $color, $fontfile, $text, $extrainfo = null ) {}
+
+/**
+ * Load a PostScript Type 1 font from file
+ * @link https://php.net/manual/en/function.imagepsloadfont.php
+ * @param string $filename <p>
+ * Path to the Postscript font file.
+ * </p>
+ * @return resource|false In the case everything went right, a valid font index will be returned and
+ * can be used for further purposes. Otherwise the function returns false.
+ * @removed 7.0 This function was REMOVED in PHP 7.0.0.
+ */
+function imagepsloadfont ($filename) {}
+
+/**
+ * Free memory used by a PostScript Type 1 font
+ * @link https://php.net/manual/en/function.imagepsfreefont.php
+ * @param resource $font_index <p>
+ * A font resource, returned by imagepsloadfont.
+ * </p>
+ * @return bool true on success or false on failure.
+ * @removed 7.0
+ */
+function imagepsfreefont ($font_index) {}
+
+/**
+ * Change the character encoding vector of a font
+ * @link https://php.net/manual/en/function.imagepsencodefont.php
+ * @param resource $font_index <p>
+ * A font resource, returned by imagepsloadfont.
+ * </p>
+ * @param string $encodingfile <p>
+ * The exact format of this file is described in T1libs documentation.
+ * T1lib comes with two ready-to-use files,
+ * IsoLatin1.enc and
+ * IsoLatin2.enc.
+ * </p>
+ * @return bool true on success or false on failure.
+ * @removed 7.0
+ */
+function imagepsencodefont ($font_index, $encodingfile) {}
+
+/**
+ * Extend or condense a font
+ * @link https://php.net/manual/en/function.imagepsextendfont.php
+ * @param resource $font_index <p>
+ * A font resource, returned by imagepsloadfont.
+ * </p>
+ * @param float $extend <p>
+ * Extension value, must be greater than 0.
+ * </p>
+ * @return bool true on success or false on failure.
+ * @removed 7.0
+ */
+function imagepsextendfont ($font_index, $extend) {}
+
+/**
+ * Slant a font
+ * @link https://php.net/manual/en/function.imagepsslantfont.php
+ * @param resource $font_index <p>
+ * A font resource, returned by imagepsloadfont.
+ * </p>
+ * @param float $slant <p>
+ * Slant level.
+ * </p>
+ * @return bool true on success or false on failure.
+ * @removed 7.0 This function was REMOVED in PHP 7.0.0.
+ */
+function imagepsslantfont ($font_index, $slant) {}
+
+/**
+ * Draws a text over an image using PostScript Type1 fonts
+ * @link https://php.net/manual/en/function.imagepstext.php
+ * @param resource $image
+ * @param string $text <p>
+ * The text to be written.
+ * </p>
+ * @param resource $font_index <p>
+ * A font resource, returned by imagepsloadfont.
+ * </p>
+ * @param int $size <p>
+ * size is expressed in pixels.
+ * </p>
+ * @param int $foreground <p>
+ * The color in which the text will be painted.
+ * </p>
+ * @param int $background <p>
+ * The color to which the text will try to fade in with antialiasing.
+ * No pixels with the color background are
+ * actually painted, so the background image does not need to be of solid
+ * color.
+ * </p>
+ * @param int $x <p>
+ * x-coordinate for the lower-left corner of the first character.
+ * </p>
+ * @param int $y <p>
+ * y-coordinate for the lower-left corner of the first character.
+ * </p>
+ * @param int $space [optional] <p>
+ * Allows you to change the default value of a space in a font. This
+ * amount is added to the normal value and can also be negative.
+ * Expressed in character space units, where 1 unit is 1/1000th of an
+ * em-square.
+ * </p>
+ * @param int $tightness [optional] <p>
+ * tightness allows you to control the amount
+ * of white space between characters. This amount is added to the
+ * normal character width and can also be negative.
+ * Expressed in character space units, where 1 unit is 1/1000th of an
+ * em-square.
+ * </p>
+ * @param float $angle [optional] <p>
+ * angle is in degrees.
+ * </p>
+ * @param int $antialias_steps [optional] <p>
+ * Allows you to control the number of colours used for antialiasing
+ * text. Allowed values are 4 and 16. The higher value is recommended
+ * for text sizes lower than 20, where the effect in text quality is
+ * quite visible. With bigger sizes, use 4. It's less computationally
+ * intensive.
+ * </p>
+ * @return array|false This function returns an array containing the following elements:
+ * <tr valign="top">
+ * <td>0</td>
+ * <td>lower left x-coordinate</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>1</td>
+ * <td>lower left y-coordinate</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>2</td>
+ * <td>upper right x-coordinate</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>3</td>
+ * <td>upper right y-coordinate</td>
+ * </tr>
+ * Returns false on error.
+ * @removed 7.0 This function was REMOVED in PHP 7.0.0.
+ */
+function imagepstext ($image, $text, $font_index, $size, $foreground, $background, $x, $y, $space = null, $tightness = null, $angle = null, $antialias_steps = null) {}
+
+/**
+ * Give the bounding box of a text rectangle using PostScript Type1 fonts
+ * @link https://php.net/manual/en/function.imagepsbbox.php
+ * @param string $text <p>
+ * The text to be written.
+ * </p>
+ * @param resource $font
+ * @param int $size <p>
+ * size is expressed in pixels.
+ * </p>
+ * @return array|false an array containing the following elements:
+ * <tr valign="top">
+ * <td>0</td>
+ * <td>left x-coordinate</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>1</td>
+ * <td>upper y-coordinate</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>2</td>
+ * <td>right x-coordinate</td>
+ * </tr>
+ * <tr valign="top">
+ * <td>3</td>
+ * <td>lower y-coordinate</td>
+ * </tr>
+ * Returns false on error.
+ * @removed 7.0
+ */
+function imagepsbbox ($text, $font, $size) {}
+
+/**
+ * Return the image types supported by this PHP build
+ * @link https://php.net/manual/en/function.imagetypes.php
+ * @return int a bit-field corresponding to the image formats supported by the
+ * version of GD linked into PHP. The following bits are returned,
+ * IMG_BMP | IMG_GIF | IMG_JPG | IMG_PNG | IMG_WBMP | IMG_XPM | IMG_WEBP
+ */
+function imagetypes () {}
+
+/**
+ * Convert JPEG image file to WBMP image file
+ * @link https://php.net/manual/en/function.jpeg2wbmp.php
+ * @param string $jpegname <p>
+ * Path to JPEG file.
+ * </p>
+ * @param string $wbmpname <p>
+ * Path to destination WBMP file.
+ * </p>
+ * @param int $dest_height <p>
+ * Destination image height.
+ * </p>
+ * @param int $dest_width <p>
+ * Destination image width.
+ * </p>
+ * @param int $threshold <p>
+ * Threshold value, between 0 and 8 (inclusive).
+ * </p>
+ * @return bool true on success or false on failure.
+ * @deprecated 7.2 Use imagecreatefromjpeg() and imagewbmp() instead
+ * @removed 8.0
+ */
+function jpeg2wbmp ($jpegname, $wbmpname, $dest_height, $dest_width, $threshold) {}
+
+/**
+ * Convert PNG image file to WBMP image file
+ * @link https://php.net/manual/en/function.png2wbmp.php
+ * @param string $pngname <p>
+ * Path to PNG file.
+ * </p>
+ * @param string $wbmpname <p>
+ * Path to destination WBMP file.
+ * </p>
+ * @param int $dest_height <p>
+ * Destination image height.
+ * </p>
+ * @param int $dest_width <p>
+ * Destination image width.
+ * </p>
+ * @param int $threshold <p>
+ * Threshold value, between 0 and 8 (inclusive).
+ * </p>
+ * @return bool true on success or false on failure.
+ * @deprecated 7.2 Use imagecreatefrompng() and imagewbmp() instead
+ * @removed 8.0
+ */
+function png2wbmp ($pngname, $wbmpname, $dest_height, $dest_width, $threshold) {}
+
+/**
+ * Output image to browser or file
+ * @link https://php.net/manual/en/function.image2wbmp.php
+ * @param resource $image
+ * @param string $filename [optional] <p>
+ * Path to the saved file. If not given, the raw image stream will be
+ * outputted directly.
+ * </p>
+ * @param int $threshold [optional] <p>
+ * Threshold value, between 0 and 255 (inclusive).
+ * </p>
+ * @return bool true on success or false on failure.
+ * @deprecated 7.3 Use imagewbmp() instead
+ * @removed 8.0
+ */
+function image2wbmp ($image, $filename = null, $threshold = null) {}
+
+/**
+ * Set the alpha blending flag to use the bundled libgd layering effects
+ * @link https://php.net/manual/en/function.imagelayereffect.php
+ * @param resource $image
+ * @param int $effect <p>
+ * One of the following constants:
+ * IMG_EFFECT_REPLACE
+ * Use pixel replacement (equivalent of passing true to
+ * imagealphablending)
+ * @return bool true on success or false on failure.
+ */
+function imagelayereffect ($image, $effect) {}
+
+/**
+ * Makes the colors of the palette version of an image more closely match the true color version
+ * @link https://php.net/manual/en/function.imagecolormatch.php
+ * @param $image1 resource <p>
+ * A truecolor image link resource.
+ * </p>
+ * @param $image2 resource <p>
+ * A palette image link resource pointing to an image that has the same
+ * size as image1.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagecolormatch ($image1, $image2) {}
+
+/**
+ * Output XBM image to browser or file
+ * @link https://php.net/manual/en/function.imagexbm.php
+ * @param resource $image
+ * @param string $filename <p>
+ * The path to save the file to. If not set or &null;, the raw image stream
+ * will be outputted directly.
+ * </p>
+ * @param int $foreground [optional] <p>
+ * You can set the foreground color with this parameter by setting an
+ * identifier obtained from imagecolorallocate.
+ * The default foreground color is black.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imagexbm ($image, $filename, $foreground = null) {}
+
+/**
+ * Applies a filter to an image
+ * @link https://php.net/manual/en/function.imagefilter.php
+ * @param resource $image
+ * @param int $filtertype <p>
+ * filtertype can be one of the following:
+ * IMG_FILTER_NEGATE: Reverses all colors of
+ * the image.
+ * @param int $arg1 [optional] <p>
+ * IMG_FILTER_BRIGHTNESS: Brightness level.
+ * @param int $arg2 [optional] <p>
+ * IMG_FILTER_COLORIZE: Value of green component.
+ * @param int $arg3 [optional] <p>
+ * IMG_FILTER_COLORIZE: Value of blue component.
+ * @param int $arg4 [optional] <p>
+ * IMG_FILTER_COLORIZE: Alpha channel, A value
+ * between 0 and 127. 0 indicates completely opaque while 127 indicates
+ * completely transparent.
+ * @return bool true on success or false on failure.
+ */
+function imagefilter ($image, $filtertype, $arg1 = null, $arg2 = null, $arg3 = null, $arg4 = null) {}
+
+/**
+ * Apply a 3x3 convolution matrix, using coefficient and offset
+ * @link https://php.net/manual/en/function.imageconvolution.php
+ * @param resource $image
+ * @param array $matrix <p>
+ * A 3x3 matrix: an array of three arrays of three floats.
+ * </p>
+ * @param float $div <p>
+ * The divisor of the result of the convolution, used for normalization.
+ * </p>
+ * @param float $offset <p>
+ * Color offset.
+ * </p>
+ * @return bool true on success or false on failure.
+ */
+function imageconvolution ($image, array $matrix, $div, $offset) {}
+
+/**
+ * @param resource $im An image resource, returned by one of the image creation functions, such as {@see imagecreatetruecolor()}.
+ * @param int $res_x [optional] The horizontal resolution in DPI.
+ * @param int $res_y [optional] The vertical resolution in DPI.
+ * @return array|bool When used as getter (that is without the optional parameters), it returns <b>TRUE</b> on success, or <b>FALSE</b> on failure. When used as setter (that is with one or both optional parameters given), it returns an indexed array of the horizontal and vertical resolution on success, or <b>FALSE</b> on failure.
+ * @link https://php.net/manual/en/function.imageresolution.php
+ * @since 7.2
+ */
+function imageresolution ($im, $res_x = 96, $res_y = 96) {}
+
+
+/**
+ * <b>imagesetclip()</b> sets the current clipping rectangle, i.e. the area beyond which no pixels will be drawn.
+ * @param resource $im An image resource, returned by one of the image creation functions, such as {@see imagecreatetruecolor()}.
+ * @param int $x1 The x-coordinate of the upper left corner.
+ * @param int $y1 The y-coordinate of the upper left corner.
+ * @param int $x2 The x-coordinate of the lower right corner.
+ * @param int $y2 The y-coordinate of the lower right corner.
+ * @return bool Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ * @link https://php.net/manual/en/function.imagesetclip.php
+ * @see imagegetclip()
+ * @since 7.2
+ */
+function imagesetclip ($im, $x1, $y1, $x2, $y2) {}
+
+/**
+ * <b>imagegetclip()</b> retrieves the current clipping rectangle, i.e. the area beyond which no pixels will be drawn.
+ * @param resource $im An image resource, returned by one of the image creation functions, such as {@see imagecreatetruecolor()}
+ * @return array|false an indexed array with the coordinates of the clipping rectangle which has the following entries:
+ * <ul>
+ * <li>x-coordinate of the upper left corner</li>
+ * <li>y-coordinate of the upper left corner</li>
+ * <li>x-coordinate of the lower right corner</li>
+ * <li>y-coordinate of the lower right corner</li>
+ * </ul>
+ * Returns <b>FALSE</b> on error.
+ * @link https://php.net/manual/en/function.imagegetclip.php
+ * @see imagesetclip()
+ * @since 7.2
+ */
+function imagegetclip ($im) {}
+
+/**
+ * <b>imageopenpolygon()</b> draws an open polygon on the given <b>image.</b> Contrary to {@see imagepolygon()}, no line is drawn between the last and the first point.
+ * @param resource $image An image resource, returned by one of the image creation functions, such as {@see imagecreatetruecolor()}.
+ * @param array $points An array containing the polygon's vertices, e.g.:
+ * <pre>
+ * points[0]   = x0
+ * points[1]   = y0
+ * points[2]   = x1
+ * points[3]   = y1
+ * </pre>
+ * @param int $num_points [optional] Total number of points (vertices).
+ * @param int $color A color identifier created with {@see imagecolorallocate()}.
+ * @return bool Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ * @link https://php.net/manual/en/function.imageopenpolygon.php
+ * @since 7.2
+ * @see imageplygon()
+ */
+function imageopenpolygon ($image , $points, $num_points, $color) {}
+
+/**
+ * <b>imagecreatefrombmp()</b> returns an image identifier representing the image obtained from the given filename.
+ * <b>TIP</b> A URL can be used as a filename with this function if the fopen wrappers have been enabled. See {@see fopen()} for more details on how to specify the filename. See the Supported Protocols and Wrappers for links to information about what abilities the various wrappers have, notes on their usage, and information on any predefined variables they may provide.
+ * @param string $filename Path to the BMP image.
+ * @return resource|false Returns an image resource identifier on success, <b>FALSE</b> on errors.
+ * @link https://php.net/manual/en/function.imagecreatefrombmp.php
+ * @since 7.2
+ */
+function imagecreatefrombmp($filename){}
+
+/**
+ * Outputs or saves a BMP version of the given <b>image</b>.
+ * @param resource $image An image resource, returned by one of the image creation functions, such as {@see imagecreatetruecolor()}.
+ * @param mixed $to The path or an open stream resource (which is automatically being closed after this function returns) to save the file to. If not set or <b>NULL</b>, the raw image stream will be outputted directly.
+ * <br />
+ * <b>Note:</b> <b>NULL</b> is invalid if the <b>compressed</b> arguments is not used.
+ * @param bool $compressed Whether the BMP should be compressed with run-length encoding (RLE), or not.
+ * @return bool Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ * <br />
+ * <b>Caution</b> However, if libgd fails to output the image, this function returns <b>TRUE</b>.
+ * @link https://php.net/manual/en/function.imagebmp.php
+ * @since 7.2
+ */
+function imagebmp ($image, $to = null, $compressed = true) {}
+
+/**
+ * @param string $filename
+ * @return resource|false
+ */
+function imagecreatefromtga($filename) {}
+
+/**
+ * Captures the whole screen
+ *
+ * https://www.php.net/manual/en/function.imagegrabscreen.php
+ *
+ * @return resource|false
+ */
+function imagegrabscreen() {}
+
+/**
+ * Captures a window
+ *
+ * @link https://www.php.net/manual/en/function.imagegrabwindow.php
+ *
+ * @param int $handle
+ * @param int|null $client_area
+ * @return resource|false
+ */
+function imagegrabwindow($handle, $client_area = null) {}
+
+/**
+ * Used as a return value by {@see imagetypes()}
+ * @link https://php.net/manual/en/image.constants.php#constant.img-gif
+ */
+define ('IMG_GIF', 1);
+
+/**
+ * Used as a return value by {@see imagetypes()}
+ * @link https://php.net/manual/en/image.constants.php#constant.img-jpg
+ */
+define ('IMG_JPG', 2);
+
+/**
+ * Used as a return value by {@see imagetypes()}
+ * <p>
+ * This constant has the same value as {@see IMG_JPG}
+ * </p>
+ * @link https://php.net/manual/en/image.constants.php#constant.img-jpeg
+ */
+define ('IMG_JPEG', 2);
+
+/**
+ * Used as a return value by {@see imagetypes()}
+ * @link https://php.net/manual/en/image.constants.php#constant.img-png
+ */
+define ('IMG_PNG', 4);
+
+/**
+ * Used as a return value by {@see imagetypes()}
+ * @link https://php.net/manual/en/image.constants.php#constant.img-wbmp
+ */
+define ('IMG_WBMP', 8);
+
+/**
+ * Used as a return value by {@see imagetypes()}
+ * @link https://php.net/manual/en/image.constants.php#constant.img-xpm
+ */
+define ('IMG_XPM', 16);
+
+/**
+ * Used as a return value by {@see imagetypes()}
+ * @since 5.6.25
+ * @since 7.0.10
+ * @link https://php.net/manual/en/image.constants.php#constant.img-webp
+ */
+define('IMG_WEBP', 32);
+
+/**
+ * Used as a return value by {@see imagetypes()}
+ * @since 7.2
+ * @link https://php.net/manual/en/image.constants.php#constant.img-bmp
+ */
+define('IMG_BMP', 64);
+
+/**
+ * Special color option which can be used instead of color allocated with
+ * {@see imagecolorallocate()} or {@see imagecolorallocatealpha()}
+ * @link https://php.net/manual/en/image.constants.php#constant.img-color-tiled
+ */
+define ('IMG_COLOR_TILED', -5);
+
+/**
+ * Special color option which can be used instead of color allocated with
+ * {@see imagecolorallocate()} or {@see imagecolorallocatealpha()}
+ * @link https://php.net/manual/en/image.constants.php#constant.img-color-styled
+ */
+define ('IMG_COLOR_STYLED', -2);
+
+/**
+ * Special color option which can be used instead of color allocated with
+ * {@see imagecolorallocate()} or {@see imagecolorallocatealpha()}
+ * @link https://php.net/manual/en/image.constants.php#constant.img-color-brushed
+ */
+define ('IMG_COLOR_BRUSHED', -3);
+
+/**
+ * Special color option which can be used instead of color allocated with
+ * {@see imagecolorallocate()} or {@see imagecolorallocatealpha()}
+ * @link https://php.net/manual/en/image.constants.php#constant.img-color-styledbrushed
+ */
+define ('IMG_COLOR_STYLEDBRUSHED', -4);
+
+/**
+ * Special color option which can be used instead of color allocated with
+ * {@see imagecolorallocate()} or {@see imagecolorallocatealpha()}
+ * @link https://php.net/manual/en/image.constants.php#constant.img-color-transparent
+ */
+define ('IMG_COLOR_TRANSPARENT', -6);
+
+/**
+ * A style constant used by the {@see imagefilledarc()} function.
+ * <p>
+ * This constant has the same value as {@see IMG_ARC_PIE}
+ * </p>
+ * @link https://php.net/manual/en/image.constants.php#constant.img-arc-rounded
+ */
+define ('IMG_ARC_ROUNDED', 0);
+
+/**
+ * A style constant used by the {@see imagefilledarc()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-arc-pie
+ */
+define ('IMG_ARC_PIE', 0);
+
+/**
+ * A style constant used by the {@see imagefilledarc()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-arc-chord
+ */
+define ('IMG_ARC_CHORD', 1);
+
+/**
+ * A style constant used by the {@see imagefilledarc()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-arc-nofill
+ */
+define ('IMG_ARC_NOFILL', 2);
+
+/**
+ * A style constant used by the {@see imagefilledarc()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-arc-edged
+ */
+define ('IMG_ARC_EDGED', 4);
+
+/**
+ * A type constant used by the {@see imagegd2()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-gd2-raw
+ */
+define ('IMG_GD2_RAW', 1);
+
+/**
+ * A type constant used by the {@see imagegd2()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-gd2-compressed
+ */
+define ('IMG_GD2_COMPRESSED', 2);
+
+/**
+ * Alpha blending effect used by the {@see imagelayereffect()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-effect-replace
+ */
+define ('IMG_EFFECT_REPLACE', 0);
+
+/**
+ * Alpha blending effect used by the {@see imagelayereffect()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-effect-alphablend
+ */
+define ('IMG_EFFECT_ALPHABLEND', 1);
+
+/**
+ * Alpha blending effect used by the {@see imagelayereffect()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-effect-normal
+ */
+define ('IMG_EFFECT_NORMAL', 2);
+
+/**
+ * Alpha blending effect used by the {@see imagelayereffect()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-effect-overlay
+ */
+define ('IMG_EFFECT_OVERLAY', 3);
+
+/**
+ * Alpha blending effect used by the {@see imagelayereffect()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-effect-multiply
+ * @since 7.2
+ */
+define ('IMG_EFFECT_MULTIPLY', 4);
+
+/**
+ * When the bundled version of GD is used this is 1 otherwise
+ * it's set to 0.
+ * @link https://php.net/manual/en/image.constants.php
+ */
+define ('GD_BUNDLED', 1);
+
+/**
+ * Special GD filter used by the {@see imagefilter()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-filter-negate
+ */
+define ('IMG_FILTER_NEGATE', 0);
+
+/**
+ * Special GD filter used by the {@see imagefilter()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-filter-grayscale
+ */
+define ('IMG_FILTER_GRAYSCALE', 1);
+
+/**
+ * Special GD filter used by the {@see imagefilter()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-filter-brightness
+ */
+define ('IMG_FILTER_BRIGHTNESS', 2);
+
+/**
+ * Special GD filter used by the {@see imagefilter()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-filter-contrast
+ */
+define ('IMG_FILTER_CONTRAST', 3);
+
+/**
+ * Special GD filter used by the {@see imagefilter()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-filter-colorize
+ */
+define ('IMG_FILTER_COLORIZE', 4);
+
+/**
+ * Special GD filter used by the {@see imagefilter()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-filter-edgedetect
+ */
+define ('IMG_FILTER_EDGEDETECT', 5);
+
+/**
+ * Special GD filter used by the {@see imagefilter()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-filter-gaussian-blur
+ */
+define ('IMG_FILTER_GAUSSIAN_BLUR', 7);
+
+/**
+ * Special GD filter used by the {@see imagefilter()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-filter-selective-blur
+ */
+define ('IMG_FILTER_SELECTIVE_BLUR', 8);
+
+/**
+ * Special GD filter used by the {@see imagefilter()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-filter-emboss
+ */
+define ('IMG_FILTER_EMBOSS', 6);
+
+/**
+ * Special GD filter used by the {@see imagefilter()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-filter-mean-removal
+ */
+define ('IMG_FILTER_MEAN_REMOVAL', 9);
+
+/**
+ * Special GD filter used by the {@see imagefilter()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-filter-smooth
+ */
+define ('IMG_FILTER_SMOOTH', 10);
+
+/**
+ * Special GD filter used by the {@see imagefilter()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-filter-pixelate
+ */
+define ('IMG_FILTER_PIXELATE', 11);
+
+/**
+ * Special GD filter used by the {@see imagefilter()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-filter-scatter
+ * @since 7.4
+ */
+define ('IMG_FILTER_SCATTER', 12);
+
+/**
+ * The GD version PHP was compiled against.
+ * @since 5.2.4
+ * @link https://php.net/manual/en/image.constants.php#constant.gd-version
+ */
+define ('GD_VERSION', "2.0.35");
+
+/**
+ * The GD major version PHP was compiled against.
+ * @since 5.2.4
+ * @link https://php.net/manual/en/image.constants.php#constant.gd-major-version
+ */
+define ('GD_MAJOR_VERSION', 2);
+
+/**
+ * The GD minor version PHP was compiled against.
+ * @since 5.2.4
+ * @link https://php.net/manual/en/image.constants.php#constant.gd-minor-version
+ */
+define ('GD_MINOR_VERSION', 0);
+
+/**
+ * The GD release version PHP was compiled against.
+ * @since 5.2.4
+ * @link https://php.net/manual/en/image.constants.php#constant.gd-release-version
+ */
+define ('GD_RELEASE_VERSION', 35);
+
+/**
+ * The GD "extra" version (beta/rc..) PHP was compiled against.
+ * @since 5.2.4
+ * @link https://php.net/manual/en/image.constants.php#constant.gd-extra-version
+ */
+define ('GD_EXTRA_VERSION', "");
+
+
+/**
+ * A special PNG filter, used by the {@see imagepng()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.png-no-filter
+ */
+define ('PNG_NO_FILTER', 0);
+
+/**
+ * A special PNG filter, used by the {@see imagepng()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.png-filter-none
+ */
+define ('PNG_FILTER_NONE', 8);
+
+/**
+ * A special PNG filter, used by the {@see imagepng()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.png-filter-sub
+ */
+define ('PNG_FILTER_SUB', 16);
+
+/**
+ * A special PNG filter, used by the {@see imagepng()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.png-filter-up
+ */
+define ('PNG_FILTER_UP', 32);
+
+/**
+ * A special PNG filter, used by the {@see imagepng()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.png-filter-avg
+ */
+define ('PNG_FILTER_AVG', 64);
+
+/**
+ * A special PNG filter, used by the {@see imagepng()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.png-filter-paeth
+ */
+define ('PNG_FILTER_PAETH', 128);
+
+/**
+ * A special PNG filter, used by the {@see imagepng()} function.
+ * @link https://php.net/manual/en/image.constants.php#constant.png-all-filters
+ */
+define ('PNG_ALL_FILTERS', 248);
+
+/**
+ * An affine transformation type constant used by the {@see imageaffinematrixget()} function.
+ * @since 5.5
+ * @link https://php.net/manual/en/image.constants.php#constant.img-affine-translate
+ */
+define('IMG_AFFINE_TRANSLATE', 0);
+
+/**
+ * An affine transformation type constant used by the {@see imageaffinematrixget()} function.
+ * @since 5.5
+ * @link https://php.net/manual/en/image.constants.php#constant.img-affine-scale
+ */
+define('IMG_AFFINE_SCALE', 1);
+
+/**
+ * An affine transformation type constant used by the {@see imageaffinematrixget()} function.
+ * @since 5.5
+ * @link https://php.net/manual/en/image.constants.php#constant.img-affine-rotate
+ */
+define('IMG_AFFINE_ROTATE', 2);
+
+/**
+ * An affine transformation type constant used by the {@see imageaffinematrixget()} function.
+ * @since 5.5
+ * @link https://php.net/manual/en/image.constants.php#constant.img-affine-shear-horizontal
+ */
+define('IMG_AFFINE_SHEAR_HORIZONTAL', 3);
+
+/**
+ * An affine transformation type constant used by the {@see imageaffinematrixget()} function.
+ * @since 5.5
+ * @link https://php.net/manual/en/image.constants.php#constant.img-affine-shear-vertical
+ */
+define('IMG_AFFINE_SHEAR_VERTICAL', 4);
+
+/**
+ * Same as {@see IMG_CROP_TRANSPARENT}. Before PHP 7.4.0, the bundled libgd fell back to
+ * {@see IMG_CROP_SIDES}, if the image had no transparent color.
+ * Used together with {@see imagecropauto()}.
+ * @since 5.5
+ */
+define('IMG_CROP_DEFAULT', 0);
+
+/**
+ * Crops out a transparent background.
+ * Used together with {@see imagecropauto()}.
+ * @since 5.5
+ */
+define('IMG_CROP_TRANSPARENT', 1);
+
+/**
+ * Crops out a black background.
+ * Used together with {@see imagecropauto()}.
+ * @since 5.5
+ */
+define('IMG_CROP_BLACK', 2);
+
+/**
+ * Crops out a white background.
+ * Used together with {@see imagecropauto()}.
+ * @since 5.5
+ */
+define('IMG_CROP_WHITE', 3);
+
+/**
+ * Uses the 4 corners of the image to attempt to detect the background to crop.
+ * Used together with {@see imagecropauto()}.
+ * @since 5.5
+ */
+define('IMG_CROP_SIDES', 4);
+
+/**
+ * Crops an image using the given <b>threshold</b> and <b>color</b>.
+ * Used together with {@see imagecropauto()}.
+ * @since 5.5
+ */
+define('IMG_CROP_THRESHOLD', 5);
+
+/**
+ * Used together with {@see imageflip()}
+ * @since 5.5
+ * @link https://php.net/manual/en/image.constants.php#constant.img-flip-both
+ */
+define('IMG_FLIP_BOTH', 3);
+
+/**
+ * Used together with {@see imageflip()}
+ * @since 5.5
+ * @link https://php.net/manual/en/image.constants.php#constant.img-flip-horizontal
+ */
+define('IMG_FLIP_HORIZONTAL', 1);
+
+/**
+ * Used together with {@see imageflip()}
+ * @since 5.5
+ * @link https://php.net/manual/en/image.constants.php#constant.img-flip-vertical
+ */
+define('IMG_FLIP_VERTICAL', 2);
+
+/**
+ * Used together with {@see imagesetinterpolation()}.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-bell
+ * @since 5.5
+ */
+define('IMG_BELL', 1);
+
+/**
+ * Used together with {@see imagesetinterpolation()}.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-bessel
+ * @since 5.5
+ */
+define('IMG_BESSEL', 2);
+
+/**
+ * Used together with {@see imagesetinterpolation()}.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-bicubic
+ * @since 5.5
+ */
+define('IMG_BICUBIC', 4);
+
+/**
+ * Used together with {@see imagesetinterpolation()}.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-bicubic-fixed
+ * @since 5.5
+ */
+define('IMG_BICUBIC_FIXED', 5);
+
+/**
+ * Used together with {@see imagesetinterpolation()}.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-bilinear-fixed
+ * @since 5.5
+ */
+define('IMG_BILINEAR_FIXED', 3);
+
+/**
+ * Used together with {@see imagesetinterpolation()}.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-blackman
+ * @since 5.5
+ */
+define('IMG_BLACKMAN', 6);
+
+/**
+ * Used together with {@see imagesetinterpolation()}.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-box
+ * @since 5.5
+ */
+define('IMG_BOX', 7);
+
+/**
+ * Used together with {@see imagesetinterpolation()}.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-bspline
+ * @since 5.5
+ */
+define('IMG_BSPLINE', 8);
+
+/**
+ * Used together with {@see imagesetinterpolation()}.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-catmullrom
+ * @since 5.5
+ */
+define('IMG_CATMULLROM', 9);
+
+/**
+ * Used together with {@see imagesetinterpolation()}.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-gaussian
+ * @since 5.5
+ */
+define('IMG_GAUSSIAN', 10);
+
+/**
+ * Used together with {@see imagesetinterpolation()}.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-generalized-cubic
+ * @since 5.5
+ */
+define('IMG_GENERALIZED_CUBIC', 11);
+
+/**
+ * Used together with {@see imagesetinterpolation()}.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-hermite
+ * @since 5.5
+ */
+define('IMG_HERMITE', 12);
+
+/**
+ * Used together with {@see imagesetinterpolation()}.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-hamming
+ * @since 5.5
+ */
+define('IMG_HAMMING', 13);
+
+/**
+ * Used together with {@see imagesetinterpolation()}.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-hanning
+ * @since 5.5
+ */
+define('IMG_HANNING', 14);
+
+/**
+ * Used together with {@see imagesetinterpolation()}.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-mitchell
+ * @since 5.5
+ */
+define('IMG_MITCHELL', 15);
+
+/**
+ * Used together with {@see imagesetinterpolation()}.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-power
+ * @since 5.5
+ */
+define('IMG_POWER', 17);
+
+/**
+ * Used together with {@see imagesetinterpolation()}.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-quadratic
+ * @since 5.5
+ */
+define('IMG_QUADRATIC', 18);
+
+/**
+ * Used together with {@see imagesetinterpolation()}.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-sinc
+ * @since 5.5
+ */
+define('IMG_SINC', 19);
+
+/**
+ * Used together with {@see imagesetinterpolation()}.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-nearest-neighbour
+ * @since 5.5
+ */
+define('IMG_NEAREST_NEIGHBOUR', 16);
+
+/**
+ * Used together with {@see imagesetinterpolation()}.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-weighted4
+ * @since 5.5
+ */
+define('IMG_WEIGHTED4', 21);
+
+/**
+ * Used together with {@see imagesetinterpolation()}.
+ * @link https://php.net/manual/en/image.constants.php#constant.img-triangle
+ * @since 5.5
+ */
+define('IMG_TRIANGLE', 20);
+
+define('IMG_TGA', 128);
+
+/**
+ * Return an image containing the affine tramsformed src image, using an optional clipping area
+ * @link https://secure.php.net/manual/en/function.imageaffine.php
+ * @param resource $image <p>An image resource, returned by one of the image creation functions,
+ * such as {@link https://secure.php.net/manual/en/function.imagecreatetruecolor.php imagecreatetruecolor()}.</p>
+ * @param array $affine <p>Array with keys 0 to 5.</p>
+ * @param array $clip [optional] <p>Array with keys "x", "y", "width" and "height".</p>
+ * @return resource|bool Return affined image resource on success or FALSE on failure.
+ */
+function imageaffine($image, $affine, $clip = null) {}
+
+/**
+ * Concat two matrices (as in doing many ops in one go)
+ * @link https://secure.php.net/manual/en/function.imageaffinematrixconcat.php
+ * @param array $m1 <p>Array with keys 0 to 5.</p>
+ * @param array $m2 <p>Array with keys 0 to 5.</p>
+ * @return array|bool Array with keys 0 to 5 and float values or <b>FALSE</b> on failure.
+ * @since 5.5
+ */
+function imageaffinematrixconcat(array $m1, array $m2) {}
+
+/**
+ * Return an image containing the affine tramsformed src image, using an optional clipping area
+ * @link https://secure.php.net/manual/en/function.imageaffinematrixget.php
+ * @param int $type <p> One of <b>IMG_AFFINE_*</b> constants.
+ * @param mixed $options [optional]
+ * @return array|bool Array with keys 0 to 5 and float values or <b>FALSE</b> on failure.
+ * @since 5.5
+ */
+
+function imageaffinematrixget ($type, $options = null) {}
+
+/**
+ * Crop an image using the given coordinates and size, x, y, width and height
+ * @link https://secure.php.net/manual/en/function.imagecrop.php
+ * @param resource $image <p>
+ * An image resource, returned by one of the image creation functions, such as {@link https://secure.php.net/manual/en/function.imagecreatetruecolor.php imagecreatetruecolor()}.
+ * </p>
+ * @param array $rect <p>Array with keys "x", "y", "width" and "height".</p>
+ * @return resource|bool Return cropped image resource on success or FALSE on failure.
+ * @since 5.5
+ */
+function imagecrop ($image, $rect) {}
+
+/**
+ * Crop an image automatically using one of the available modes
+ * @link https://secure.php.net/manual/en/function.imagecropauto.php
+ * @param resource $image <p>
+ * An image resource, returned by one of the image creation functions, such as {@link https://secure.php.net/manual/en/function.imagecreatetruecolor.php imagecreatetruecolor()}.
+ * </p>
+ * @param int $mode [optional] <p>
+ * One of <b>IMG_CROP_*</b> constants.
+ * </p>
+ * @param float $threshold [optional] <p>
+ * Used <b>IMG_CROP_THRESHOLD</b> mode.
+ * </p>
+ * @param int $color [optional]
+ * <p>
+ * Used in <b>IMG_CROP_THRESHOLD</b> mode.
+ * </p>
+ * @return resource|bool Return cropped image resource on success or <b>FALSE</b> on failure.
+ * @since 5.5
+ */
+function imagecropauto ($image, $mode = IMG_CROP_DEFAULT, $threshold = .5, $color = -1) {}
+
+/**
+ * Flips an image using a given mode
+ * @link https://secure.php.net/manual/en/function.imageflip.php
+ * @param resource $image <p>
+ * An image resource, returned by one of the image creation functions, such as {@link https://secure.php.net/manual/en/function.imagecreatetruecolor.php imagecreatetruecolor()}.
+ * </p>
+ * @param int $mode <p>
+ * Flip mode, this can be one of the <b>IMG_FLIP_*</b> constants:
+ * </p>
+ * <table>
+ * <thead>
+ * <tr>
+ * <th>Constant</th>
+ * <th>Meaning</th>
+ * </tr>
+ * </thead>
+ * <tr>
+ * <td><b>IMG_FLIP_HORIZONTAL</b></td>
+ * <td>
+ * Flips the image horizontally.
+ * </td>
+ * </tr>
+ * <tr>
+ * <td><b>IMG_FLIP_VERTICAL</b></td>
+ * <td>
+ * Flips the image vertically.
+ * </td>
+ * </tr>
+ * <tr>
+ * <td><b>IMG_FLIP_BOTH</b></td>
+ * <td>
+ * Flips the image both horizontally and vertically.
+ * </td>
+ * </tr>
+ * </tbody>
+ * </table>
+ * @return bool Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ * @since 5.5
+ */
+function imageflip ($image, $mode) {}
+
+/**
+ * Converts a palette based image to true color
+ * @link https://secure.php.net/manual/en/function.imagepalettetotruecolor.php
+ * @param resource $image <p>
+ * An image resource, returnd by one of the image creation functions, such as {@link https://secure.php.net/manual/en/function.imagecreatetruecolor.php imagecreatetruecolor()}.
+ * </p>
+ * @return bool Returns <b>TRUE</b> if the convertion was complete, or if the source image already is a true color image, otherwise <b>FALSE</b> is returned.
+ * @since 5.5
+ */
+function imagepalettetotruecolor ($image) {}
+
+/**
+ * @since 5.5
+ * Scale an image using the given new width and height
+ * @link https://secure.php.net/manual/en/function.imagescale.php
+ * @param resource $image <p>
+ * An image resource, returnd by one of the image creation functions, such as {@link https://secure.php.net/manual/en/function.imagecreatetruecolor.php imagecreatetruecolor()}.
+ * </p>
+ * @param int $new_width
+ * @param int $new_height [optional]
+ * @param int $mode [optional] One of <b>IMG_NEAREST_NEIGHBOUR</b>, <b>IMG_BILINEAR_FIXED</b>, <b>IMG_BICUBIC</b>, <b>IMG_BICUBIC_FIXED</b> or anything else (will use two pass).
+ * @return resource|bool Return scaled image resource on success or <b>FALSE</b> on failure.
+ */
+
+function imagescale ($image, $new_width, $new_height = -1, $mode = IMG_BILINEAR_FIXED) {}
+
+/**
+ * Set the interpolation method
+ * @link https://secure.php.net/manual/en/function.imagesetinterpolation.php
+ * @param resource $image <p>
+ * An image resource, returned by one of the image creation functions, such as {@link https://secure.php.net/manual/en/function.imagecreatetruecolor.php imagecreatetruecolor()}.
+ * </p>
+ * @param int $method <p>
+ * The interpolation method, which can be one of the following:
+ * <ul>
+ * <li>
+ * IMG_BELL: Bell filter.
+ * </li>
+ * <li>
+ * IMG_BESSEL: Bessel filter.
+ * </li>
+ * <li>
+ * IMG_BICUBIC: Bicubic interpolation.
+ * </li>
+ * <li>
+ * IMG_BICUBIC_FIXED: Fixed point implementation of the bicubic interpolation.
+ * </li>
+ * <li>
+ * IMG_BILINEAR_FIXED: Fixed point implementation of the  bilinear interpolation (<em>default (also on image creation)</em>).
+ * </li>
+ * <li>
+ * IMG_BLACKMAN: Blackman window function.
+ * </li>
+ * <li>
+ * IMG_BOX: Box blur filter.
+ * </li>
+ * <li>
+ * IMG_BSPLINE: Spline interpolation.
+ * </li>
+ * <li>
+ * IMG_CATMULLROM: Cubbic Hermite spline interpolation.
+ * </li>
+ * <li>
+ * IMG_GAUSSIAN: Gaussian function.
+ * </li>
+ * <li>
+ * IMG_GENERALIZED_CUBIC: Generalized cubic spline fractal interpolation.
+ * </li>
+ * <li>
+ * IMG_HERMITE: Hermite interpolation.
+ * </li>
+ * <li>
+ * IMG_HAMMING: Hamming filter.
+ * </li>
+ * <li>
+ * IMG_HANNING: Hanning filter.
+ * </li>
+ * <li>
+ * IMG_MITCHELL: Mitchell filter.
+ * </li>
+ * <li>
+ * IMG_POWER: Power interpolation.
+ * </li>
+ * <li>
+ * IMG_QUADRATIC: Inverse quadratic interpolation.
+ * </li>
+ * <li>
+ * IMG_SINC: Sinc function.
+ * </li>
+ * <li>
+ * IMG_NEAREST_NEIGHBOUR: Nearest neighbour interpolation.
+ * </li>
+ * <li>
+ * IMG_WEIGHTED4: Weighting filter.
+ * </li>
+ * <li>
+ * IMG_TRIANGLE: Triangle interpolation.
+ * </li>
+ * </ul>
+ * </p>
+ * @return bool Returns TRUE on success or FALSE on failure.
+ * @since 5.5
+ */
+function imagesetinterpolation ($image, $method = IMG_BILINEAR_FIXED) {}
diff --git a/build/stubs/intl.php b/build/stubs/intl.php
new file mode 100644 (file)
index 0000000..329f848
--- /dev/null
@@ -0,0 +1,6846 @@
+<?php
+
+// Start of intl v.1.1.0
+
+class Collator {
+    const DEFAULT_VALUE = -1;
+    const PRIMARY = 0;
+    const SECONDARY = 1;
+    const TERTIARY = 2;
+    const DEFAULT_STRENGTH = 2;
+    const QUATERNARY = 3;
+    const IDENTICAL = 15;
+    const OFF = 16;
+    const ON = 17;
+    const SHIFTED = 20;
+    const NON_IGNORABLE = 21;
+    const LOWER_FIRST = 24;
+    const UPPER_FIRST = 25;
+
+    /**
+     * <p>
+     * Sort strings with different accents from the back of the string. This
+     * attribute is automatically set to
+     * On
+     * for the French locales and a few others. Users normally would not need
+     * to explicitly set this attribute. There is a string comparison
+     * performance cost when it is set On,
+     * but sort key length is unaffected. Possible values are:
+     * <b>Collator::ON</b>
+     * <b>Collator::OFF</b>(default)
+     * <b>Collator::DEFAULT_VALUE</b>
+     * </p>
+     * <p>
+     * FRENCH_COLLATION rules
+     * <p>
+     * F=OFF cote &lt; coté &lt; côte &lt; côté
+     * F=ON cote &lt; côte &lt; coté &lt; côté
+     * </p>
+     * </p>
+     * @link https://php.net/manual/en/intl.collator-constants.php
+     */
+    const FRENCH_COLLATION = 0;
+
+    /**
+     * <p>
+     * The Alternate attribute is used to control the handling of the so called
+     * variable characters in the UCA: whitespace, punctuation and symbols. If
+     * Alternate is set to NonIgnorable
+     * (N), then differences among these characters are of the same importance
+     * as differences among letters. If Alternate is set to
+     * Shifted
+     * (S), then these characters are of only minor importance. The
+     * Shifted value is often used in combination with
+     * Strength
+     * set to Quaternary. In such a case, whitespace, punctuation, and symbols
+     * are considered when comparing strings, but only if all other aspects of
+     * the strings (base letters, accents, and case) are identical. If
+     * Alternate is not set to Shifted, then there is no difference between a
+     * Strength of 3 and a Strength of 4. For more information and examples,
+     * see Variable_Weighting in the
+     * UCA.
+     * The reason the Alternate values are not simply
+     * On and Off
+     * is that additional Alternate values may be added in the future. The UCA
+     * option Blanked is expressed with Strength set to 3, and Alternate set to
+     * Shifted. The default for most locales is NonIgnorable. If Shifted is
+     * selected, it may be slower if there are many strings that are the same
+     * except for punctuation; sort key length will not be affected unless the
+     * strength level is also increased.
+     * </p>
+     * <p>
+     * Possible values are:
+     * <b>Collator::NON_IGNORABLE</b>(default)
+     * <b>Collator::SHIFTED</b>
+     * <b>Collator::DEFAULT_VALUE</b>
+     * </p>
+     * <p>
+     * ALTERNATE_HANDLING rules
+     * <p>
+     * S=3, A=N di Silva &lt; Di Silva &lt; diSilva &lt; U.S.A. &lt; USA
+     * S=3, A=S di Silva = diSilva &lt; Di Silva &lt; U.S.A. = USA
+     * S=4, A=S di Silva &lt; diSilva &lt; Di Silva &lt; U.S.A. &lt; USA
+     * </p>
+     * </p>
+     * @link https://php.net/manual/en/intl.collator-constants.php
+     */
+    const ALTERNATE_HANDLING = 1;
+
+    /**
+     * <p>
+     * The Case_First attribute is used to control whether uppercase letters
+     * come before lowercase letters or vice versa, in the absence of other
+     * differences in the strings. The possible values are
+     * Uppercase_First
+     * (U) and Lowercase_First
+     * (L), plus the standard Default
+     * and Off.
+     * There is almost no difference between the Off and Lowercase_First
+     * options in terms of results, so typically users will not use
+     * Lowercase_First: only Off or Uppercase_First. (People interested in the
+     * detailed differences between X and L should consult the Collation
+     * Customization). Specifying either L or U won't affect string comparison
+     * performance, but will affect the sort key length.
+     * </p>
+     * <p>
+     * Possible values are:
+     * <b>Collator::OFF</b>(default)
+     * <b>Collator::LOWER_FIRST</b>
+     * <b>Collator::UPPER_FIRST</b>
+     * <b>Collator:DEFAULT</b>
+     * </p>
+     * <p>
+     * CASE_FIRST rules
+     * <p>
+     * C=X or C=L "china" &lt; "China" &lt; "denmark" &lt; "Denmark"
+     * C=U "China" &lt; "china" &lt; "Denmark" &lt; "denmark"
+     * </p>
+     * </p>
+     * @link https://php.net/manual/en/intl.collator-constants.php
+     */
+    const CASE_FIRST = 2;
+
+    /**
+     * <p>
+     * The Case_Level attribute is used when ignoring accents but not case. In
+     * such a situation, set Strength to be Primary,
+     * and Case_Level to be On.
+     * In most locales, this setting is Off by default. There is a small
+     * string comparison performance and sort key impact if this attribute is
+     * set to be On.
+     * </p>
+     * <p>
+     * Possible values are:
+     * <b>Collator::OFF</b>(default)
+     * <b>Collator::ON</b>
+     * <b>Collator::DEFAULT_VALUE</b>
+     * </p>
+     * <p>
+     * CASE_LEVEL rules
+     * <p>
+     * S=1, E=X role = Role = rôle
+     * S=1, E=O role = rôle &lt; Role
+     * </p>
+     * </p>
+     * @link https://php.net/manual/en/intl.collator-constants.php
+     */
+    const CASE_LEVEL = 3;
+
+    /**
+     * <p>
+     * The Normalization setting determines whether text is thoroughly
+     * normalized or not in comparison. Even if the setting is off (which is
+     * the default for many locales), text as represented in common usage will
+     * compare correctly (for details, see UTN #5). Only if the accent marks
+     * are in noncanonical order will there be a problem. If the setting is
+     * On,
+     * then the best results are guaranteed for all possible text input.
+     * There is a medium string comparison performance cost if this attribute
+     * is On,
+     * depending on the frequency of sequences that require normalization.
+     * There is no significant effect on sort key length. If the input text is
+     * known to be in NFD or NFKD normalization forms, there is no need to
+     * enable this Normalization option.
+     * </p>
+     * <p>
+     * Possible values are:
+     * <b>Collator::OFF</b>(default)
+     * <b>Collator::ON</b>
+     * <b>Collator::DEFAULT_VALUE</b>
+     * </p>
+     * @link https://php.net/manual/en/intl.collator-constants.php
+     */
+    const NORMALIZATION_MODE = 4;
+
+    /**
+     * <p>
+     * The ICU Collation Service supports many levels of comparison (named
+     * "Levels", but also known as "Strengths"). Having these categories
+     * enables ICU to sort strings precisely according to local conventions.
+     * However, by allowing the levels to be selectively employed, searching
+     * for a string in text can be performed with various matching conditions.
+     * For more detailed information, see
+     * <b>collator_set_strength</b> chapter.
+     * </p>
+     * <p>
+     * Possible values are:
+     * <b>Collator::PRIMARY</b>
+     * <b>Collator::SECONDARY</b>
+     * <b>Collator::TERTIARY</b>(<default)
+     * <b>Collator::QUATERNARY</b>
+     * <b>Collator::IDENTICAL</b>
+     * <b>Collator::DEFAULT_VALUE</b>
+     * </p>
+     * @link https://php.net/manual/en/intl.collator-constants.php
+     */
+    const STRENGTH = 5;
+
+    /**
+     * <p>
+     * Compatibility with JIS x 4061 requires the introduction of an additional
+     * level to distinguish Hiragana and Katakana characters. If compatibility
+     * with that standard is required, then this attribute should be set
+     * On,
+     * and the strength set to Quaternary. This will affect sort key length
+     * and string comparison string comparison performance.
+     * </p>
+     * <p>
+     * Possible values are:
+     * <b>Collator::OFF</b>(default)
+     * <b>Collator::ON</b>
+     * <b>Collator::DEFAULT_VALUE</b>
+     * </p>
+     * @link https://php.net/manual/en/intl.collator-constants.php
+     */
+    const HIRAGANA_QUATERNARY_MODE = 6;
+
+    /**
+     * <p>
+     * When turned on, this attribute generates a collation key for the numeric
+     * value of substrings of digits. This is a way to get '100' to sort AFTER
+     * '2'.
+     * </p>
+     * <p>
+     * Possible values are:
+     * <b>Collator::OFF</b>(default)
+     * <b>Collator::ON</b>
+     * <b>Collator::DEFAULT_VALUE</b>
+     * </p>
+     * @link https://php.net/manual/en/intl.collator-constants.php
+     */
+    const NUMERIC_COLLATION = 7;
+    const SORT_REGULAR = 0;
+    const SORT_STRING = 1;
+    const SORT_NUMERIC = 2;
+
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Create a collator
+     * @link https://php.net/manual/en/collator.construct.php
+     * @param string $locale
+     */
+    public function __construct($locale) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Create a collator
+     * @link https://php.net/manual/en/collator.create.php
+     * @param string $locale <p>
+     * The locale containing the required collation rules. Special values for
+     * locales can be passed in - if null is passed for the locale, the
+     * default locale collation rules will be used. If empty string ("") or
+     * "root" are passed, UCA rules will be used.
+     * </p>
+     * @return Collator Return new instance of <b>Collator</b> object, or <b>NULL</b>
+     * on error.
+     */
+    public static function create($locale) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Compare two Unicode strings
+     * @link https://php.net/manual/en/collator.compare.php
+     * @param string $str1 <p>
+     * The first string to compare.
+     * </p>
+     * @param string $str2 <p>
+     * The second string to compare.
+     * </p>
+     * @return int Return comparison result:</p>
+     * <p>
+     * <p>
+     * 1 if <i>str1</i> is greater than
+     * <i>str2</i> ;
+     * </p>
+     * <p>
+     * 0 if <i>str1</i> is equal to
+     * <i>str2</i>;
+     * </p>
+     * <p>
+     * -1 if <i>str1</i> is less than
+     * <i>str2</i> .
+     * </p>
+     * On error
+     * boolean
+     * <b>FALSE</b>
+     * is returned.
+     */
+    public function compare($str1, $str2) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Sort array using specified collator
+     * @link https://php.net/manual/en/collator.sort.php
+     * @param array $arr <p>
+     * Array of strings to sort.
+     * </p>
+     * @param int $sort_flag [optional] <p>
+     * Optional sorting type, one of the following:
+     * </p>
+     * <p>
+     * <p>
+     * <b>Collator::SORT_REGULAR</b>
+     * - compare items normally (don't change types)
+     * </p>
+     * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+     */
+    public function sort(array &$arr, $sort_flag = null) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Sort array using specified collator and sort keys
+     * @link https://php.net/manual/en/collator.sortwithsortkeys.php
+     * @param array $arr <p>Array of strings to sort</p>
+     * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+     */
+    public function sortWithSortKeys(array &$arr) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Sort array maintaining index association
+     * @link https://php.net/manual/en/collator.asort.php
+     * @param array $arr <p>Array of strings to sort.</p>
+     * @param int $sort_flag [optional] <p>
+     * Optional sorting type, one of the following:
+     * <p>
+     * <b>Collator::SORT_REGULAR</b>
+     * - compare items normally (don't change types)
+     * </p>
+     * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+     */
+    public function asort(array &$arr, $sort_flag = null) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get collation attribute value
+     * @link https://php.net/manual/en/collator.getattribute.php
+     * @param int $attr <p>
+     * Attribute to get value for.
+     * </p>
+     * @return int|false Attribute value, or boolean <b>FALSE</b> on error.
+     */
+    public function getAttribute($attr) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Set collation attribute
+     * @link https://php.net/manual/en/collator.setattribute.php
+     * @param int $attr <p>Attribute.</p>
+     * @param int $val <p>
+     * Attribute value.
+     * </p>
+     * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+     */
+    public function setAttribute($attr, $val) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get current collation strength
+     * @link https://php.net/manual/en/collator.getstrength.php
+     * @return int|false current collation strength, or boolean <b>FALSE</b> on error.
+     */
+    public function getStrength() { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Set collation strength
+     * @link https://php.net/manual/en/collator.setstrength.php
+     * @param int $strength <p>Strength to set.</p>
+     * <p>
+     * Possible values are:
+     * <p>
+     * <b>Collator::PRIMARY</b>
+     * </p>
+     * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+     */
+    public function setStrength($strength) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get the locale name of the collator
+     * @link https://php.net/manual/en/collator.getlocale.php
+     * @param int $type [optional] <p>
+     * You can choose between valid and actual locale (
+     * <b>Locale::VALID_LOCALE</b> and
+     * <b>Locale::ACTUAL_LOCALE</b>,
+     * respectively). The default is the actual locale.
+     * </p>
+     * @return string Real locale name from which the collation data comes. If the collator was
+     * instantiated from rules or an error occurred, returns
+     * boolean <b>FALSE</b>.
+     */
+    public function getLocale($type = null) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get collator's last error code
+     * @link https://php.net/manual/en/collator.geterrorcode.php
+     * @return int Error code returned by the last Collator API function call.
+     */
+    public function getErrorCode() { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get text for collator's last error code
+     * @link https://php.net/manual/en/collator.geterrormessage.php
+     * @return string Description of an error occurred in the last Collator API function call.
+     */
+    public function getErrorMessage() { }
+
+    /**
+     * (No version information available, might only be in SVN)<br/>
+     * Get sorting key for a string
+     * @link https://php.net/manual/en/collator.getsortkey.php
+     * @param string $str <p>
+     * The string to produce the key from.
+     * </p>
+     * @return string the collation key for the string. Collation keys can be compared directly instead of strings.
+     */
+    public function getSortKey($str) { }
+}
+
+class NumberFormatter {
+
+    /**
+     * Decimal format defined by pattern
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const PATTERN_DECIMAL = 0;
+
+    /**
+     * Decimal format
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const DECIMAL = 1;
+
+    /**
+     * Currency format
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const CURRENCY = 2;
+
+    /**
+     * Percent format
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const PERCENT = 3;
+
+    /**
+     * Scientific format
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const SCIENTIFIC = 4;
+
+    /**
+     * Spellout rule-based format
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const SPELLOUT = 5;
+
+    /**
+     * Ordinal rule-based format
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const ORDINAL = 6;
+
+    /**
+     * Duration rule-based format
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const DURATION = 7;
+
+    /**
+     * Rule-based format defined by pattern
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const PATTERN_RULEBASED = 9;
+
+    /**
+     * Alias for PATTERN_DECIMAL
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const IGNORE = 0;
+
+    /**
+     * Default format for the locale
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const DEFAULT_STYLE = 1;
+
+    /**
+     * Rounding mode to round towards positive infinity.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const ROUND_CEILING = 0;
+
+    /**
+     * Rounding mode to round towards negative infinity.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const ROUND_FLOOR = 1;
+
+    /**
+     * Rounding mode to round towards zero.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const ROUND_DOWN = 2;
+
+    /**
+     * Rounding mode to round away from zero.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const ROUND_UP = 3;
+
+    /**
+     * Rounding mode to round towards the "nearest neighbor" unless both
+     * neighbors are equidistant, in which case, round towards the even
+     * neighbor.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const ROUND_HALFEVEN = 4;
+
+    /**
+     * Rounding mode to round towards "nearest neighbor" unless both neighbors
+     * are equidistant, in which case round down.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const ROUND_HALFDOWN = 5;
+
+    /**
+     * Rounding mode to round towards "nearest neighbor" unless both neighbors
+     * are equidistant, in which case round up.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const ROUND_HALFUP = 6;
+
+    /**
+     * Pad characters inserted before the prefix.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const PAD_BEFORE_PREFIX = 0;
+
+    /**
+     * Pad characters inserted after the prefix.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const PAD_AFTER_PREFIX = 1;
+
+    /**
+     * Pad characters inserted before the suffix.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const PAD_BEFORE_SUFFIX = 2;
+
+    /**
+     * Pad characters inserted after the suffix.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const PAD_AFTER_SUFFIX = 3;
+
+    /**
+     * Parse integers only.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const PARSE_INT_ONLY = 0;
+
+    /**
+     * Use grouping separator.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const GROUPING_USED = 1;
+
+    /**
+     * Always show decimal point.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const DECIMAL_ALWAYS_SHOWN = 2;
+
+    /**
+     * Maximum integer digits.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const MAX_INTEGER_DIGITS = 3;
+
+    /**
+     * Minimum integer digits.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const MIN_INTEGER_DIGITS = 4;
+
+    /**
+     * Integer digits.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const INTEGER_DIGITS = 5;
+
+    /**
+     * Maximum fraction digits.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const MAX_FRACTION_DIGITS = 6;
+
+    /**
+     * Minimum fraction digits.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const MIN_FRACTION_DIGITS = 7;
+
+    /**
+     * Fraction digits.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const FRACTION_DIGITS = 8;
+
+    /**
+     * Multiplier.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const MULTIPLIER = 9;
+
+    /**
+     * Grouping size.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const GROUPING_SIZE = 10;
+
+    /**
+     * Rounding Mode.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const ROUNDING_MODE = 11;
+
+    /**
+     * Rounding increment.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const ROUNDING_INCREMENT = 12;
+
+    /**
+     * The width to which the output of format() is padded.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const FORMAT_WIDTH = 13;
+
+    /**
+     * The position at which padding will take place. See pad position
+     * constants for possible argument values.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const PADDING_POSITION = 14;
+
+    /**
+     * Secondary grouping size.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const SECONDARY_GROUPING_SIZE = 15;
+
+    /**
+     * Use significant digits.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const SIGNIFICANT_DIGITS_USED = 16;
+
+    /**
+     * Minimum significant digits.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const MIN_SIGNIFICANT_DIGITS = 17;
+
+    /**
+     * Maximum significant digits.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const MAX_SIGNIFICANT_DIGITS = 18;
+
+    /**
+     * Lenient parse mode used by rule-based formats.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const LENIENT_PARSE = 19;
+
+    /**
+     * Positive prefix.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const POSITIVE_PREFIX = 0;
+
+    /**
+     * Positive suffix.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const POSITIVE_SUFFIX = 1;
+
+    /**
+     * Negative prefix.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const NEGATIVE_PREFIX = 2;
+
+    /**
+     * Negative suffix.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const NEGATIVE_SUFFIX = 3;
+
+    /**
+     * The character used to pad to the format width.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const PADDING_CHARACTER = 4;
+
+    /**
+     * The ISO currency code.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const CURRENCY_CODE = 5;
+
+    /**
+     * The default rule set. This is only available with rule-based
+     * formatters.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const DEFAULT_RULESET = 6;
+
+    /**
+     * The public rule sets. This is only available with rule-based
+     * formatters. This is a read-only attribute. The public rulesets are
+     * returned as a single string, with each ruleset name delimited by ';'
+     * (semicolon).
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const PUBLIC_RULESETS = 7;
+
+    /**
+     * The decimal separator.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const DECIMAL_SEPARATOR_SYMBOL = 0;
+
+    /**
+     * The grouping separator.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const GROUPING_SEPARATOR_SYMBOL = 1;
+
+    /**
+     * The pattern separator.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const PATTERN_SEPARATOR_SYMBOL = 2;
+
+    /**
+     * The percent sign.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const PERCENT_SYMBOL = 3;
+
+    /**
+     * Zero.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const ZERO_DIGIT_SYMBOL = 4;
+
+    /**
+     * Character representing a digit in the pattern.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const DIGIT_SYMBOL = 5;
+
+    /**
+     * The minus sign.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const MINUS_SIGN_SYMBOL = 6;
+
+    /**
+     * The plus sign.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const PLUS_SIGN_SYMBOL = 7;
+
+    /**
+     * The currency symbol.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const CURRENCY_SYMBOL = 8;
+
+    /**
+     * The international currency symbol.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const INTL_CURRENCY_SYMBOL = 9;
+
+    /**
+     * The monetary separator.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const MONETARY_SEPARATOR_SYMBOL = 10;
+
+    /**
+     * The exponential symbol.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const EXPONENTIAL_SYMBOL = 11;
+
+    /**
+     * Per mill symbol.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const PERMILL_SYMBOL = 12;
+
+    /**
+     * Escape padding character.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const PAD_ESCAPE_SYMBOL = 13;
+
+    /**
+     * Infinity symbol.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const INFINITY_SYMBOL = 14;
+
+    /**
+     * Not-a-number symbol.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const NAN_SYMBOL = 15;
+
+    /**
+     * Significant digit symbol.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const SIGNIFICANT_DIGIT_SYMBOL = 16;
+
+    /**
+     * The monetary grouping separator.
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const MONETARY_GROUPING_SEPARATOR_SYMBOL = 17;
+
+    /**
+     * Derive the type from variable type
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const TYPE_DEFAULT = 0;
+
+    /**
+     * Format/parse as 32-bit integer
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const TYPE_INT32 = 1;
+
+    /**
+     * Format/parse as 64-bit integer
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const TYPE_INT64 = 2;
+
+    /**
+     * Format/parse as floating point value
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const TYPE_DOUBLE = 3;
+
+    /**
+     * Format/parse as currency value
+     * @link https://php.net/manual/en/intl.numberformatter-constants.php
+     */
+    const TYPE_CURRENCY = 4;
+
+
+    /**
+     * @param $locale
+     * @param $style
+     * @param $pattern [optional]
+     */
+    public function __construct($locale, $style, $pattern = null) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Create a number formatter
+     * @link https://php.net/manual/en/numberformatter.create.php
+     * @param string $locale <p>
+     * Locale in which the number would be formatted (locale name, e.g. en_CA).
+     * </p>
+     * @param int $style <p>
+     * Style of the formatting, one of the
+     * format style constants. If
+     * <b>NumberFormatter::PATTERN_DECIMAL</b>
+     * or <b>NumberFormatter::PATTERN_RULEBASED</b>
+     * is passed then the number format is opened using the given pattern,
+     * which must conform to the syntax described in
+     * ICU DecimalFormat
+     * documentation or
+     * ICU RuleBasedNumberFormat
+     * documentation, respectively.
+     * </p>
+     * @param string $pattern [optional] <p>
+     * Pattern string if the chosen style requires a pattern.
+     * </p>
+     * @return NumberFormatter|false <b>NumberFormatter</b> object or <b>FALSE</b> on error.
+     */
+    public static function create($locale, $style, $pattern = null) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Format a number
+     * @link https://php.net/manual/en/numberformatter.format.php
+     * @param int|float $value <p>
+     * The value to format. Can be integer or float,
+     * other values will be converted to a numeric value.
+     * </p>
+     * @param int $type [optional] <p>
+     * The
+     * formatting type to use.
+     * </p>
+     * @return string|false the string containing formatted value, or <b>FALSE</b> on error.
+     */
+    public function format($value, $type = null) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Parse a number
+     * @link https://php.net/manual/en/numberformatter.parse.php
+     * @param string $value
+     * @param int $type [optional] <p>
+     * The
+     * formatting type to use. By default,
+     * <b>NumberFormatter::TYPE_DOUBLE</b> is used.
+     * </p>
+     * @param int $position [optional] <p>
+     * Offset in the string at which to begin parsing. On return, this value
+     * will hold the offset at which parsing ended.
+     * </p>
+     * @return mixed The value of the parsed number or <b>FALSE</b> on error.
+     */
+    public function parse($value, $type = null, &$position = null) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Format a currency value
+     * @link https://php.net/manual/en/numberformatter.formatcurrency.php
+     * @param float $value <p>
+     * The numeric currency value.
+     * </p>
+     * @param string $currency <p>
+     * The 3-letter ISO 4217 currency code indicating the currency to use.
+     * </p>
+     * @return string String representing the formatted currency value.
+     */
+    public function formatCurrency($value, $currency) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Parse a currency number
+     * @link https://php.net/manual/en/numberformatter.parsecurrency.php
+     * @param string $value
+     * @param string $currency <p>
+     * Parameter to receive the currency name (3-letter ISO 4217 currency
+     * code).
+     * </p>
+     * @param int $position [optional] <p>
+     * Offset in the string at which to begin parsing. On return, this value
+     * will hold the offset at which parsing ended.
+     * </p>
+     * @return float|false The parsed numeric value or <b>FALSE</b> on error.
+     */
+    public function parseCurrency($value, &$currency, &$position = null) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Set an attribute
+     * @link https://php.net/manual/en/numberformatter.setattribute.php
+     * @param int $attr <p>
+     * Attribute specifier - one of the
+     * numeric attribute constants.
+     * </p>
+     * @param int $value <p>
+     * The attribute value.
+     * </p>
+     * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+     */
+    public function setAttribute($attr, $value) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get an attribute
+     * @link https://php.net/manual/en/numberformatter.getattribute.php
+     * @param int $attr <p>
+     * Attribute specifier - one of the
+     * numeric attribute constants.
+     * </p>
+     * @return int|false Return attribute value on success, or <b>FALSE</b> on error.
+     */
+    public function getAttribute($attr) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Set a text attribute
+     * @link https://php.net/manual/en/numberformatter.settextattribute.php
+     * @param int $attr <p>
+     * Attribute specifier - one of the
+     * text attribute
+     * constants.
+     * </p>
+     * @param string $value <p>
+     * Text for the attribute value.
+     * </p>
+     * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+     */
+    public function setTextAttribute($attr, $value) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get a text attribute
+     * @link https://php.net/manual/en/numberformatter.gettextattribute.php
+     * @param int $attr <p>
+     * Attribute specifier - one of the
+     * text attribute constants.
+     * </p>
+     * @return string|false Return attribute value on success, or <b>FALSE</b> on error.
+     */
+    public function getTextAttribute($attr) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Set a symbol value
+     * @link https://php.net/manual/en/numberformatter.setsymbol.php
+     * @param int $attr <p>
+     * Symbol specifier, one of the
+     * format symbol constants.
+     * </p>
+     * @param string $value <p>
+     * Text for the symbol.
+     * </p>
+     * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+     */
+    public function setSymbol($attr, $value) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get a symbol value
+     * @link https://php.net/manual/en/numberformatter.getsymbol.php
+     * @param int $attr <p>
+     * Symbol specifier, one of the
+     * format symbol constants.
+     * </p>
+     * @return string|false The symbol string or <b>FALSE</b> on error.
+     */
+    public function getSymbol($attr) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Set formatter pattern
+     * @link https://php.net/manual/en/numberformatter.setpattern.php
+     * @param string $pattern <p>
+     * Pattern in syntax described in
+     * ICU DecimalFormat
+     * documentation.
+     * </p>
+     * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+     */
+    public function setPattern($pattern) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get formatter pattern
+     * @link https://php.net/manual/en/numberformatter.getpattern.php
+     * @return string|false Pattern string that is used by the formatter, or <b>FALSE</b> if an error happens.
+     */
+    public function getPattern() { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get formatter locale
+     * @link https://php.net/manual/en/numberformatter.getlocale.php
+     * @param int $type [optional] <p>
+     * You can choose between valid and actual locale (
+     * <b>Locale::VALID_LOCALE</b>,
+     * <b>Locale::ACTUAL_LOCALE</b>,
+     * respectively). The default is the actual locale.
+     * </p>
+     * @return string The locale name used to create the formatter.
+     */
+    public function getLocale($type = null) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get formatter's last error code.
+     * @link https://php.net/manual/en/numberformatter.geterrorcode.php
+     * @return int error code from last formatter call.
+     */
+    public function getErrorCode() { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get formatter's last error message.
+     * @link https://php.net/manual/en/numberformatter.geterrormessage.php
+     * @return string error message from last formatter call.
+     */
+    public function getErrorMessage() { }
+}
+
+class Normalizer {
+
+    /**
+     * Default normalization options
+     * @link https://secure.php.net/manual/en/class.normalizer.php
+     */
+    const OPTION_DEFAULT = "";
+
+    /**
+     * No decomposition/composition
+     * @link https://secure.php.net/manual/en/class.normalizer.php
+     * @removed 8.0
+     */
+    const NONE = "1";
+
+    /**
+     * Normalization Form D (NFD) - Canonical Decomposition
+     * @link https://secure.php.net/manual/en/class.normalizer.php
+     */
+    const FORM_D = "2";
+    const NFD = 2;
+
+    /**
+     * Normalization Form KD (NFKD) - Compatibility Decomposition
+     * @link https://secure.php.net/manual/en/class.normalizer.php
+     */
+    const FORM_KD = "3";
+    const NFKD = 3;
+
+    /**
+     * Normalization Form C (NFC) - Canonical Decomposition followed by
+     * Canonical Composition
+     * @link https://secure.php.net/manual/en/class.normalizer.php
+     */
+    const FORM_C = "4";
+    const NFC = 4;
+
+    /**
+     * Normalization Form KC (NFKC) - Compatibility Decomposition, followed by
+     * Canonical Composition
+     * @link https://secure.php.net/manual/en/class.normalizer.php
+     */
+    const FORM_KC = "5";
+    const NFKC = 5;
+
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Normalizes the input provided and returns the normalized string
+     * @link https://php.net/manual/en/normalizer.normalize.php
+     * @param string $input <p>The input string to normalize</p>
+     * @param string $form [optional] <p>One of the normalization forms.</p>
+     * @return string The normalized string or <b>NULL</b> if an error occurred.
+     */
+    public static function normalize($input, $form = Normalizer::FORM_C) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Checks if the provided string is already in the specified normalization form.
+     * @link https://php.net/manual/en/normalizer.isnormalized.php
+     * @param string $input <p>The input string to normalize</p>
+     * @param string $form [optional] <p>
+     * One of the normalization forms.
+     * </p>
+     * @return bool <b>TRUE</b> if normalized, <b>FALSE</b> otherwise or if there an error
+     */
+    public static function isNormalized($input, $form = Normalizer::FORM_C) { }
+}
+
+class Locale {
+
+    /**
+     * This is locale the data actually comes from.
+     * @link https://php.net/manual/en/intl.locale-constants.php
+     */
+    const ACTUAL_LOCALE = 0;
+
+    /**
+     * This is the most specific locale supported by ICU.
+     * @link https://php.net/manual/en/intl.locale-constants.php
+     */
+    const VALID_LOCALE = 1;
+
+    /**
+     * Used as locale parameter with the methods of the various locale affected classes,
+     * such as NumberFormatter. This constant would make the methods to use default
+     * locale.
+     * @link https://php.net/manual/en/intl.locale-constants.php
+     */
+    const DEFAULT_LOCALE = null;
+
+    /**
+     * Language subtag
+     * @link https://php.net/manual/en/intl.locale-constants.php
+     */
+    const LANG_TAG = "language";
+
+    /**
+     * Extended language subtag
+     * @link https://php.net/manual/en/intl.locale-constants.php
+     */
+    const EXTLANG_TAG = "extlang";
+
+    /**
+     * Script subtag
+     * @link https://php.net/manual/en/intl.locale-constants.php
+     */
+    const SCRIPT_TAG = "script";
+
+    /**
+     * Region subtag
+     * @link https://php.net/manual/en/intl.locale-constants.php
+     */
+    const REGION_TAG = "region";
+
+    /**
+     * Variant subtag
+     * @link https://php.net/manual/en/intl.locale-constants.php
+     */
+    const VARIANT_TAG = "variant";
+
+    /**
+     * Grandfathered Language subtag
+     * @link https://php.net/manual/en/intl.locale-constants.php
+     */
+    const GRANDFATHERED_LANG_TAG = "grandfathered";
+
+    /**
+     * Private subtag
+     * @link https://php.net/manual/en/intl.locale-constants.php
+     */
+    const PRIVATE_TAG = "private";
+
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Gets the default locale value from the INTL global 'default_locale'
+     * @link https://php.net/manual/en/locale.getdefault.php
+     * @return string The current runtime locale
+     */
+    public static function getDefault() { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * sets the default runtime locale
+     * @link https://php.net/manual/en/locale.setdefault.php
+     * @param string $locale <p>
+     * Is a BCP 47 compliant language tag containing the
+     * </p>
+     * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+     */
+    public static function setDefault($locale) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Gets the primary language for the input locale
+     * @link https://php.net/manual/en/locale.getprimarylanguage.php
+     * @param string $locale <p>
+     * The locale to extract the primary language code from
+     * </p>
+     * @return string The language code associated with the language or <b>NULL</b> in case of error.
+     */
+    public static function getPrimaryLanguage($locale) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Gets the script for the input locale
+     * @link https://php.net/manual/en/locale.getscript.php
+     * @param string $locale <p>
+     * The locale to extract the script code from
+     * </p>
+     * @return string The script subtag for the locale or <b>NULL</b> if not present
+     */
+    public static function getScript($locale) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Gets the region for the input locale
+     * @link https://php.net/manual/en/locale.getregion.php
+     * @param string $locale <p>
+     * The locale to extract the region code from
+     * </p>
+     * @return string The region subtag for the locale or <b>NULL</b> if not present
+     */
+    public static function getRegion($locale) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Gets the keywords for the input locale
+     * @link https://php.net/manual/en/locale.getkeywords.php
+     * @param string $locale <p>
+     * The locale to extract the keywords from
+     * </p>
+     * @return array Associative array containing the keyword-value pairs for this locale
+     */
+    public static function getKeywords($locale) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Returns an appropriately localized display name for script of the input locale
+     * @link https://php.net/manual/en/locale.getdisplayscript.php
+     * @param string $locale <p>
+     * The locale to return a display script for
+     * </p>
+     * @param string $in_locale [optional] <p>
+     * Optional format locale to use to display the script name
+     * </p>
+     * @return string Display name of the script for the $locale in the format appropriate for
+     * $in_locale.
+     */
+    public static function getDisplayScript($locale, $in_locale = null) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Returns an appropriately localized display name for region of the input locale
+     * @link https://php.net/manual/en/locale.getdisplayregion.php
+     * @param string $locale <p>
+     * The locale to return a display region for.
+     * </p>
+     * @param string $in_locale [optional] <p>
+     * Optional format locale to use to display the region name
+     * </p>
+     * @return string display name of the region for the $locale in the format appropriate for
+     * $in_locale.
+     */
+    public static function getDisplayRegion($locale, $in_locale = null) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Returns an appropriately localized display name for the input locale
+     * @link https://php.net/manual/en/locale.getdisplayname.php
+     * @param string $locale <p>
+     * The locale to return a display name for.
+     * </p>
+     * @param string $in_locale [optional] <p>optional format locale</p>
+     * @return string Display name of the locale in the format appropriate for $in_locale.
+     */
+    public static function getDisplayName($locale, $in_locale = null) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Returns an appropriately localized display name for language of the inputlocale
+     * @link https://php.net/manual/en/locale.getdisplaylanguage.php
+     * @param string $locale <p>
+     * The locale to return a display language for
+     * </p>
+     * @param string $in_locale [optional] <p>
+     * Optional format locale to use to display the language name
+     * </p>
+     * @return string display name of the language for the $locale in the format appropriate for
+     * $in_locale.
+     */
+    public static function getDisplayLanguage($locale, $in_locale = null) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Returns an appropriately localized display name for variants of the input locale
+     * @link https://php.net/manual/en/locale.getdisplayvariant.php
+     * @param string $locale <p>
+     * The locale to return a display variant for
+     * </p>
+     * @param string $in_locale [optional] <p>
+     * Optional format locale to use to display the variant name
+     * </p>
+     * @return string Display name of the variant for the $locale in the format appropriate for
+     * $in_locale.
+     */
+    public static function getDisplayVariant($locale, $in_locale = null) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Returns a correctly ordered and delimited locale ID
+     * @link https://php.net/manual/en/locale.composelocale.php
+     * @param array $subtags <p>
+     * an array containing a list of key-value pairs, where the keys identify
+     * the particular locale ID subtags, and the values are the associated
+     * subtag values.
+     * <p>
+     * The 'variant' and 'private' subtags can take maximum 15 values
+     * whereas 'extlang' can take maximum 3 values.e.g. Variants are allowed
+     * with the suffix ranging from 0-14. Hence the keys for the input array
+     * can be variant0, variant1, ...,variant14. In the returned locale id,
+     * the subtag is ordered by suffix resulting in variant0 followed by
+     * variant1 followed by variant2 and so on.
+     * </p>
+     * <p>
+     * The 'variant', 'private' and 'extlang' multiple values can be specified both
+     * as array under specific key (e.g. 'variant') and as multiple numbered keys
+     * (e.g. 'variant0', 'variant1', etc.).
+     * </p>
+     * </p>
+     * @return string The corresponding locale identifier.
+     */
+    public static function composeLocale(array $subtags) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Returns a key-value array of locale ID subtag elements.
+     * @link https://php.net/manual/en/locale.parselocale.php
+     * @param string $locale <p>
+     * The locale to extract the subtag array from. Note: The 'variant' and
+     * 'private' subtags can take maximum 15 values whereas 'extlang' can take
+     * maximum 3 values.
+     * </p>
+     * @return array an array containing a list of key-value pairs, where the keys
+     * identify the particular locale ID subtags, and the values are the
+     * associated subtag values. The array will be ordered as the locale id
+     * subtags e.g. in the locale id if variants are '-varX-varY-varZ' then the
+     * returned array will have variant0=&gt;varX , variant1=&gt;varY ,
+     * variant2=&gt;varZ
+     */
+    public static function parseLocale($locale) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Gets the variants for the input locale
+     * @link https://php.net/manual/en/locale.getallvariants.php
+     * @param string $locale <p>
+     * The locale to extract the variants from
+     * </p>
+     * @return array The array containing the list of all variants subtag for the locale
+     * or <b>NULL</b> if not present
+     */
+    public static function getAllVariants($locale) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Checks if a language tag filter matches with locale
+     * @link https://php.net/manual/en/locale.filtermatches.php
+     * @param string $langtag <p>
+     * The language tag to check
+     * </p>
+     * @param string $locale <p>
+     * The language range to check against
+     * </p>
+     * @param bool $canonicalize [optional] <p>
+     * If true, the arguments will be converted to canonical form before
+     * matching.
+     * </p>
+     * @return bool <b>TRUE</b> if $locale matches $langtag <b>FALSE</b> otherwise.
+     */
+    public static function filterMatches($langtag, $locale, $canonicalize = false) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Searches the language tag list for the best match to the language
+     * @link https://php.net/manual/en/locale.lookup.php
+     * @param array $langtag <p>
+     * An array containing a list of language tags to compare to
+     * <i>locale</i>. Maximum 100 items allowed.
+     * </p>
+     * @param string $locale <p>
+     * The locale to use as the language range when matching.
+     * </p>
+     * @param bool $canonicalize [optional] <p>
+     * If true, the arguments will be converted to canonical form before
+     * matching.
+     * </p>
+     * @param string $default [optional] <p>
+     * The locale to use if no match is found.
+     * </p>
+     * @return string The closest matching language tag or default value.
+     */
+    public static function lookup(array $langtag, $locale, $canonicalize = false, $default = null) { }
+
+    /**
+     * @link https://php.net/manual/en/locale.canonicalize.php
+     * @param string $locale
+     * @return string
+     */
+    public static function canonicalize($locale) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Tries to find out best available locale based on HTTP "Accept-Language" header
+     * @link https://php.net/manual/en/locale.acceptfromhttp.php
+     * @param string $header <p>
+     * The string containing the "Accept-Language" header according to format in RFC 2616.
+     * </p>
+     * @return string The corresponding locale identifier.
+     */
+    public static function acceptFromHttp($header) { }
+}
+
+class MessageFormatter {
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Constructs a new Message Formatter
+     * @link https://php.net/manual/en/messageformatter.create.php
+     * @param string $locale <p>
+     * The locale to use when formatting arguments
+     * </p>
+     * @param string $pattern <p>
+     * The pattern string to stick arguments into.
+     * The pattern uses an 'apostrophe-friendly' syntax; it is run through
+     * umsg_autoQuoteApostrophe
+     * before being interpreted.
+     * </p>
+     */
+    public function __construct($locale, $pattern) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Constructs a new Message Formatter
+     * @link https://php.net/manual/en/messageformatter.create.php
+     * @param string $locale <p>
+     * The locale to use when formatting arguments
+     * </p>
+     * @param string $pattern <p>
+     * The pattern string to stick arguments into.
+     * The pattern uses an 'apostrophe-friendly' syntax; it is run through
+     * umsg_autoQuoteApostrophe
+     * before being interpreted.
+     * </p>
+     * @return MessageFormatter The formatter object
+     */
+    public static function create($locale, $pattern) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Format the message
+     * @link https://php.net/manual/en/messageformatter.format.php
+     * @param array $args <p>
+     * Arguments to insert into the format string
+     * </p>
+     * @return string|false The formatted string, or <b>FALSE</b> if an error occurred
+     */
+    public function format(array $args) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Quick format message
+     * @link https://php.net/manual/en/messageformatter.formatmessage.php
+     * @param string $locale <p>
+     * The locale to use for formatting locale-dependent parts
+     * </p>
+     * @param string $pattern <p>
+     * The pattern string to insert things into.
+     * The pattern uses an 'apostrophe-friendly' syntax; it is run through
+     * umsg_autoQuoteApostrophe
+     * before being interpreted.
+     * </p>
+     * @param array $args <p>
+     * The array of values to insert into the format string
+     * </p>
+     * @return string|false The formatted pattern string or <b>FALSE</b> if an error occurred
+     */
+    public static function formatMessage($locale, $pattern, array $args) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Parse input string according to pattern
+     * @link https://php.net/manual/en/messageformatter.parse.php
+     * @param string $value <p>
+     * The string to parse
+     * </p>
+     * @return array|false An array containing the items extracted, or <b>FALSE</b> on error
+     */
+    public function parse($value) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Quick parse input string
+     * @link https://php.net/manual/en/messageformatter.parsemessage.php
+     * @param string $locale <p>
+     * The locale to use for parsing locale-dependent parts
+     * </p>
+     * @param string $pattern <p>
+     * The pattern with which to parse the <i>value</i>.
+     * </p>
+     * @param string $source <p>
+     * The string to parse, conforming to the <i>pattern</i>.
+     * </p>
+     * @return array|false An array containing items extracted, or <b>FALSE</b> on error
+     */
+    public static function parseMessage($locale, $pattern, $source) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Set the pattern used by the formatter
+     * @link https://php.net/manual/en/messageformatter.setpattern.php
+     * @param string $pattern <p>
+     * The pattern string to use in this message formatter.
+     * The pattern uses an 'apostrophe-friendly' syntax; it is run through
+     * umsg_autoQuoteApostrophe
+     * before being interpreted.
+     * </p>
+     * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+     */
+    public function setPattern($pattern) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get the pattern used by the formatter
+     * @link https://php.net/manual/en/messageformatter.getpattern.php
+     * @return string The pattern string for this message formatter
+     */
+    public function getPattern() { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get the locale for which the formatter was created.
+     * @link https://php.net/manual/en/messageformatter.getlocale.php
+     * @return string The locale name
+     */
+    public function getLocale() { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get the error code from last operation
+     * @link https://php.net/manual/en/messageformatter.geterrorcode.php
+     * @return int The error code, one of UErrorCode values. Initial value is U_ZERO_ERROR.
+     */
+    public function getErrorCode() { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get the error text from the last operation
+     * @link https://php.net/manual/en/messageformatter.geterrormessage.php
+     * @return string Description of the last error.
+     */
+    public function getErrorMessage() { }
+}
+
+class IntlDateFormatter {
+
+    /**
+     * Completely specified style (Tuesday, April 12, 1952 AD or 3:30:42pm PST)
+     * @link https://php.net/manual/en/class.intldateformatter.php#intl.intldateformatter-constants
+     */
+    const FULL = 0;
+
+    /**
+     * Long style (January 12, 1952 or 3:30:32pm)
+     * @link https://php.net/manual/en/class.intldateformatter.php#intl.intldateformatter-constants
+     */
+    const LONG = 1;
+
+    /**
+     * Medium style (Jan 12, 1952)
+     * @link https://php.net/manual/en/class.intldateformatter.php#intl.intldateformatter-constants
+     */
+    const MEDIUM = 2;
+
+    /**
+     * Most abbreviated style, only essential data (12/13/52 or 3:30pm)
+     * @link https://php.net/manual/en/class.intldateformatter.php#intl.intldateformatter-constants
+     */
+    const SHORT = 3;
+
+    /**
+     * Do not include this element
+     * @link https://php.net/manual/en/class.intldateformatter.php#intl.intldateformatter-constants
+     */
+    const NONE = -1;
+
+    /**
+     * Gregorian Calendar
+     * @link https://php.net/manual/en/class.intldateformatter.php#intl.intldateformatter-constants
+     */
+    const GREGORIAN = 1;
+
+    /**
+     * Non-Gregorian Calendar
+     * @link https://php.net/manual/en/class.intldateformatter.php#intl.intldateformatter-constants
+     */
+    const TRADITIONAL = 0;
+
+    const RELATIVE_FULL = 0;
+    const RELATIVE_LONG = 1;
+    const RELATIVE_MEDIUM = 2;
+    const RELATIVE_SHORT = 3;
+
+
+    /**
+     * @param string|null $locale
+     * @param int $datetype
+     * @param int $timetype
+     * @param mixed|null $timezone [optional]
+     * @param mixed|null $calendar [optional]
+     * @param string $pattern [optional]
+     */
+    public function __construct($locale, $datetype, $timetype, $timezone = null, $calendar = null, $pattern = '') { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Create a date formatter
+     * @link https://php.net/manual/en/intldateformatter.create.php
+     * @param string $locale <p>
+     * Locale to use when formatting or parsing; default is specified in the ini setting intl.default_locale.
+     * </p>
+     * @param int $datetype <p>
+     * Date type to use (<b>none</b>,
+     * <b>short</b>, <b>medium</b>,
+     * <b>long</b>, <b>full</b>).
+     * This is one of the
+     * IntlDateFormatter constants.
+     * </p>
+     * @param int $timetype <p>
+     * Time type to use (<b>none</b>,
+     * <b>short</b>, <b>medium</b>,
+     * <b>long</b>, <b>full</b>).
+     * This is one of the
+     * IntlDateFormatter constants.
+     * </p>
+     * @param string $timezone [optional] <p>
+     * Time zone ID, default is system default.
+     * </p>
+     * @param int $calendar [optional] <p>
+     * Calendar to use for formatting or parsing; default is Gregorian.
+     * This is one of the
+     * IntlDateFormatter calendar constants.
+     * </p>
+     * @param string $pattern [optional] <p>
+     * Optional pattern to use when formatting or parsing.
+     * Possible patterns are documented at http://userguide.icu-project.org/formatparse/datetime.
+     * </p>
+     * @return IntlDateFormatter
+     */
+    public static function create($locale, $datetype, $timetype, $timezone = null, $calendar = null, $pattern = '') { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get the datetype used for the IntlDateFormatter
+     * @link https://php.net/manual/en/intldateformatter.getdatetype.php
+     * @return int The current date type value of the formatter.
+     */
+    public function getDateType() { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get the timetype used for the IntlDateFormatter
+     * @link https://php.net/manual/en/intldateformatter.gettimetype.php
+     * @return int The current date type value of the formatter.
+     */
+    public function getTimeType() { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get the calendar used for the IntlDateFormatter
+     * @link https://php.net/manual/en/intldateformatter.getcalendar.php
+     * @return int The calendar being used by the formatter.
+     */
+    public function getCalendar() { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * sets the calendar used to the appropriate calendar, which must be
+     * @link https://php.net/manual/en/intldateformatter.setcalendar.php
+     * @param int $which <p>
+     * The calendar to use.
+     * Default is <b>IntlDateFormatter::GREGORIAN</b>.
+     * </p>
+     * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+     */
+    public function setCalendar($which) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get the timezone-id used for the IntlDateFormatter
+     * @link https://php.net/manual/en/intldateformatter.gettimezoneid.php
+     * @return string ID string for the time zone used by this formatter.
+     */
+    public function getTimeZoneId() { }
+
+    /**
+     * (PHP 5 &gt;= 5.5.0, PECL intl &gt;= 3.0.0)<br/>
+     * Get copy of formatter's calendar object
+     * @link https://secure.php.net/manual/en/intldateformatter.getcalendarobject.php
+     * @return IntlCalendar A copy of the internal calendar object used by this formatter.
+     */
+    public function getCalendarObject() { }
+
+    /**
+     * (PHP 5 &gt;= 5.5.0, PECL intl &gt;= 3.0.0)<br/>
+     *  Get formatter's timezone
+     * @link https://secure.php.net/manual/en/intldateformatter.gettimezone.php
+     * @return IntlTimeZone|false The associated IntlTimeZone object or FALSE on failure.
+     */
+    public function getTimeZone() { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Sets the time zone to use
+     * @link https://php.net/manual/en/intldateformatter.settimezoneid.php
+     * @param string $zone <p>
+     * The time zone ID string of the time zone to use.
+     * If <b>NULL</b> or the empty string, the default time zone for the runtime is used.
+     * </p>
+     * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+     * @deprecated 5.5 https://secure.php.net/manual/en/migration55.deprecated.php
+     * @removed 7.0
+     */
+    public function setTimeZoneId($zone) { }
+
+    /**
+     * (PHP 5 &gt;= 5.5.0, PECL intl &gt;= 3.0.0)<br/>
+     * Sets formatter's timezone
+     * @link https://php.net/manual/en/intldateformatter.settimezone.php
+     * @param mixed $zone <p>
+     * The timezone to use for this formatter. This can be specified in the
+     * following forms:
+     * <ul>
+     * <li>
+     * <p>
+     * <b>NULL</b>, in which case the default timezone will be used, as specified in
+     * the ini setting {@link "https://secure.php.net/manual/en/datetime.configuration.php#ini.date.timezone" date.timezone} or
+     * through the function  {@link "https://secure.php.net/manual/en/function.date-default-timezone-set.php" date_default_timezone_set()} and as
+     * returned by {@link "https://secure.php.net/manual/en/function.date-default-timezone-get.php" date_default_timezone_get()}.
+     * </p>
+     * </li>
+     * <li>
+     * <p>
+     * An {@link "https://secure.php.net/manual/en/class.intltimezone.php" IntlTimeZone}, which will be used directly.
+     * </p>
+     * </li>
+     * <li>
+     * <p>
+     * A {@link "https://secure.php.net/manual/en/class.datetimezone.php" DateTimeZone}. Its identifier will be extracted
+     * and an ICU timezone object will be created; the timezone will be backed
+     * by ICU's database, not PHP's.
+     * </p>
+     * </li>
+     *<li>
+     * <p>
+     * A {@link "https://secure.php.net/manual/en/language.types.string.php" string}, which should be a valid ICU timezone identifier.
+     * See <b>IntlTimeZone::createTimeZoneIDEnumeration()</b>. Raw offsets such as <em>"GMT+08:30"</em> are also accepted.
+     * </p>
+     * </li>
+     * </ul>
+     * </p>
+     * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+     */
+    public function setTimeZone($zone) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Set the pattern used for the IntlDateFormatter
+     * @link https://php.net/manual/en/intldateformatter.setpattern.php
+     * @param string $pattern <p>
+     * New pattern string to use.
+     * Possible patterns are documented at http://userguide.icu-project.org/formatparse/datetime.
+     * </p>
+     * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+     * Bad formatstrings are usually the cause of the failure.
+     */
+    public function setPattern($pattern) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get the pattern used for the IntlDateFormatter
+     * @link https://php.net/manual/en/intldateformatter.getpattern.php
+     * @return string The pattern string being used to format/parse.
+     */
+    public function getPattern() { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get the locale used by formatter
+     * @link https://php.net/manual/en/intldateformatter.getlocale.php
+     * @param int $which [optional]
+     * @return string|false the locale of this formatter or 'false' if error
+     */
+    public function getLocale($which = null) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Set the leniency of the parser
+     * @link https://php.net/manual/en/intldateformatter.setlenient.php
+     * @param bool $lenient <p>
+     * Sets whether the parser is lenient or not, default is <b>TRUE</b> (lenient).
+     * </p>
+     * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+     */
+    public function setLenient($lenient) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get the lenient used for the IntlDateFormatter
+     * @link https://php.net/manual/en/intldateformatter.islenient.php
+     * @return bool <b>TRUE</b> if parser is lenient, <b>FALSE</b> if parser is strict. By default the parser is lenient.
+     */
+    public function isLenient() { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Format the date/time value as a string
+     * @link https://php.net/manual/en/intldateformatter.format.php
+     * @param mixed $value <p>
+     * Value to format. This may be a <b>DateTime</b> object,
+     * an integer representing a Unix timestamp value (seconds
+     * since epoch, UTC) or an array in the format output by
+     * <b>localtime</b>.
+     * </p>
+     * @return string|false The formatted string or, if an error occurred, <b>FALSE</b>.
+     */
+    public function format($value) { }
+
+    /**
+     * (PHP 5 &gt;= 5.5.0, PECL intl &gt;= 3.0.0)<br/>
+     * Formats an object
+     * @link https://secure.php.net/manual/en/intldateformatter.formatobject.php
+     * @param object $object <p>
+     * An object of type {@link "https://secure.php.net/manual/en/class.intlcalendar.php" IntlCalendar} or {@link "https://secure.php.net/manual/en/class.datetime.php" DateTime}. The timezone information in the object will be used.
+     * </p>
+     * @param mixed $format [optional] <p>
+     * How to format the date/time. This can either be an {@link "https://secure.php.net/manual/en/language.types.array.php" array} with
+     * two elements (first the date style, then the time style, these being one
+     * of the constants <b>IntlDateFormatter::NONE</b>,
+     * <b>IntlDateFormatter::SHORT</b>,
+     * <b>IntlDateFormatter::MEDIUM</b>,
+     * <b>IntlDateFormatter::LONG</b>,
+     * <b>IntlDateFormatter::FULL</b>), a long with
+     * the value of one of these constants (in which case it will be used both
+     * for the time and the date) or a {@link "https://secure.php.net/manual/en/language.types.string.php" string} with the format
+     * described in {@link "http://www.icu-project.org/apiref/icu4c/classSimpleDateFormat.html#details" the ICU documentation}.
+     * If <br>NULL</br>, the default style will be used.
+     * </p>
+     * @param string $locale [optional] <p>
+     * The locale to use, or <b>NULL</b> to use the {@link "https://secure.php.net/manual/en/intl.configuration.php#ini.intl.default-locale"default one}.</p>
+     * @return string|false A string with result or <b>FALSE</b> on failure.
+     */
+    public static function formatObject($object, $format = null, $locale = null) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Parse string to a timestamp value
+     * @link https://php.net/manual/en/intldateformatter.parse.php
+     * @param string $value <p>
+     * string to convert to a time
+     * </p>
+     * @param int $position [optional] <p>
+     * Position at which to start the parsing in $value (zero-based).
+     * If no error occurs before $value is consumed, $parse_pos will contain -1
+     * otherwise it will contain the position at which parsing ended (and the error occurred).
+     * This variable will contain the end position if the parse fails.
+     * If $parse_pos > strlen($value), the parse fails immediately.
+     * </p>
+     * @return int timestamp parsed value
+     */
+    public function parse($value, &$position = null) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Parse string to a field-based time value
+     * @link https://php.net/manual/en/intldateformatter.localtime.php
+     * @param string $value <p>
+     * string to convert to a time
+     * </p>
+     * @param int $position [optional] <p>
+     * Position at which to start the parsing in $value (zero-based).
+     * If no error occurs before $value is consumed, $parse_pos will contain -1
+     * otherwise it will contain the position at which parsing ended .
+     * If $parse_pos > strlen($value), the parse fails immediately.
+     * </p>
+     * @return array Localtime compatible array of integers : contains 24 hour clock value in tm_hour field
+     */
+    public function localtime($value, &$position = null) { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get the error code from last operation
+     * @link https://php.net/manual/en/intldateformatter.geterrorcode.php
+     * @return int The error code, one of UErrorCode values. Initial value is U_ZERO_ERROR.
+     */
+    public function getErrorCode() { }
+
+    /**
+     * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+     * Get the error text from the last operation.
+     * @link https://php.net/manual/en/intldateformatter.geterrormessage.php
+     * @return string Description of the last error.
+     */
+    public function getErrorMessage() { }
+}
+
+class ResourceBundle implements IteratorAggregate {
+
+    /**
+     * @param $locale
+     * @param $bundlename
+     * @param $fallback [optional]
+     */
+    public function __construct($locale, $bundlename, $fallback) { }
+
+    /**
+     * (PHP &gt;= 5.3.2, PECL intl &gt;= 2.0.0)<br/>
+     * Create a resource bundle
+     * @link https://php.net/manual/en/resourcebundle.create.php
+     * @param string $locale <p>
+     * Locale for which the resources should be loaded (locale name, e.g. en_CA).
+     * </p>
+     * @param string $bundlename <p>
+     * The directory where the data is stored or the name of the .dat file.
+     * </p>
+     * @param bool $fallback [optional] <p>
+     * Whether locale should match exactly or fallback to parent locale is allowed.
+     * </p>
+     * @return ResourceBundle|false <b>ResourceBundle</b> object or <b>FALSE</b> on error.
+     */
+    public static function create($locale, $bundlename, $fallback = null) { }
+
+    /**
+     * (PHP &gt;= 5.3.2, PECL intl &gt;= 2.0.0)<br/>
+     * Get data from the bundle
+     * @link https://php.net/manual/en/resourcebundle.get.php
+     * @param string|int $index <p>
+     * Data index, must be string or integer.
+     * </p>
+     * @return mixed the data located at the index or <b>NULL</b> on error. Strings, integers and binary data strings
+     * are returned as corresponding PHP types, integer array is returned as PHP array. Complex types are
+     * returned as <b>ResourceBundle</b> object.
+     */
+    public function get($index) { }
+
+    /**
+     * (PHP &gt;= 5.3.2, PECL intl &gt;= 2.0.0)<br/>
+     * Get number of elements in the bundle
+     * @link https://php.net/manual/en/resourcebundle.count.php
+     * @return int number of elements in the bundle.
+     */
+    public function count() { }
+
+    /**
+     * (PHP &gt;= 5.3.2, PECL intl &gt;= 2.0.0)<br/>
+     * Get supported locales
+     * @link https://php.net/manual/en/resourcebundle.locales.php
+     * @param string $bundlename <p>
+     * Path of ResourceBundle for which to get available locales, or
+     * empty string for default locales list.
+     * </p>
+     * @return array the list of locales supported by the bundle.
+     */
+    public static function getLocales($bundlename) { }
+
+    /**
+     * (PHP &gt;= 5.3.2, PECL intl &gt;= 2.0.0)<br/>
+     * Get bundle's last error code.
+     * @link https://php.net/manual/en/resourcebundle.geterrorcode.php
+     * @return int error code from last bundle object call.
+     */
+    public function getErrorCode() { }
+
+    /**
+     * (PHP &gt;= 5.3.2, PECL intl &gt;= 2.0.0)<br/>
+     * Get bundle's last error message.
+     * @link https://php.net/manual/en/resourcebundle.geterrormessage.php
+     * @return string error message from last bundle object's call.
+     */
+    public function getErrorMessage() { }
+
+    /**
+     * @since 8.0
+     */
+    public function getIterator(){}
+}
+
+/**
+ * @since 5.4
+ */
+class Transliterator {
+    const FORWARD = 0;
+    const REVERSE = 1;
+
+    public $id;
+
+
+    /**
+     * (PHP &gt;= 5.4.0, PECL intl &gt;= 2.0.0)<br/>
+     * Private constructor to deny instantiation
+     * @link https://php.net/manual/en/transliterator.construct.php
+     */
+    final private function __construct() { }
+
+    /**
+     * (PHP &gt;= 5.4.0, PECL intl &gt;= 2.0.0)<br/>
+     * Create a transliterator
+     * @link https://php.net/manual/en/transliterator.create.php
+     * @param string $id <p>
+     * The id.
+     * </p>
+     * @param int $direction [optional] <p>
+     * The direction, defaults to
+     * >Transliterator::FORWARD.
+     * May also be set to
+     * Transliterator::REVERSE.
+     * </p>
+     * @return Transliterator a <b>Transliterator</b> object on success,
+     * or <b>NULL</b> on failure.
+     */
+    public static function create($id, $direction = null) { }
+
+    /**
+     * (PHP &gt;= 5.4.0, PECL intl &gt;= 2.0.0)<br/>
+     * Create transliterator from rules
+     * @link https://php.net/manual/en/transliterator.createfromrules.php
+     * @param string $rules <p>
+     * The rules.
+     * </p>
+     * @param string $direction [optional] <p>
+     * The direction, defaults to
+     * >Transliterator::FORWARD.
+     * May also be set to
+     * Transliterator::REVERSE.
+     * </p>
+     * @return Transliterator a <b>Transliterator</b> object on success,
+     * or <b>NULL</b> on failure.
+     */
+    public static function createFromRules($rules, $direction = null) { }
+
+    /**
+     * (PHP &gt;= 5.4.0, PECL intl &gt;= 2.0.0)<br/>
+     * Create an inverse transliterator
+     * @link https://php.net/manual/en/transliterator.createinverse.php
+     * @return Transliterator a <b>Transliterator</b> object on success,
+     * or <b>NULL</b> on failure
+     */
+    public function createInverse() { }
+
+    /**
+     * (PHP &gt;= 5.4.0, PECL intl &gt;= 2.0.0)<br/>
+     * Get transliterator IDs
+     * @link https://php.net/manual/en/transliterator.listids.php
+     * @return array An array of registered transliterator IDs on success,
+     * or <b>FALSE</b> on failure.
+     */
+    public static function listIDs() { }
+
+    /**
+     * (PHP &gt;= 5.4.0, PECL intl &gt;= 2.0.0)<br/>
+     * Transliterate a string
+     * @link https://php.net/manual/en/transliterator.transliterate.php
+     * @param string $subject <p>
+     * The string to be transformed.
+     * </p>
+     * @param int $start [optional] <p>
+     * The start index (in UTF-16 code units) from which the string will start
+     * to be transformed, inclusive. Indexing starts at 0. The text before will
+     * be left as is.
+     * </p>
+     * @param int $end [optional] <p>
+     * The end index (in UTF-16 code units) until which the string will be
+     * transformed, exclusive. Indexing starts at 0. The text after will be
+     * left as is.
+     * </p>
+     * @return string|false The transfomed string on success, or <b>FALSE</b> on failure.
+     */
+    public function transliterate($subject, $start = null, $end = null) { }
+
+    /**
+     * (PHP &gt;= 5.4.0, PECL intl &gt;= 2.0.0)<br/>
+     * Get last error code
+     * @link https://php.net/manual/en/transliterator.geterrorcode.php
+     * @return int The error code on success,
+     * or <b>FALSE</b> if none exists, or on failure.
+     */
+    public function getErrorCode() { }
+
+    /**
+     * (PHP &gt;= 5.4.0, PECL intl &gt;= 2.0.0)<br/>
+     * Get last error message
+     * @link https://php.net/manual/en/transliterator.geterrormessage.php
+     * @return string The error code on success,
+     * or <b>FALSE</b> if none exists, or on failure.
+     */
+    public function getErrorMessage() { }
+}
+
+/**
+ * @link https://php.net/manual/en/class.spoofchecker.php
+ */
+class Spoofchecker {
+    const SINGLE_SCRIPT_CONFUSABLE = 1;
+    const MIXED_SCRIPT_CONFUSABLE = 2;
+    const WHOLE_SCRIPT_CONFUSABLE = 4;
+    const ANY_CASE = 8;
+    const SINGLE_SCRIPT = 16;
+    const INVISIBLE = 32;
+    const CHAR_LIMIT = 64;
+
+
+    /**
+     * (PHP &gt;= 5.4.0, PECL intl &gt;= 2.0.0)<br/>
+     * Constructor
+     * @link https://php.net/manual/en/spoofchecker.construct.php
+     */
+    public function __construct() { }
+
+    /**
+     * (PHP &gt;= 5.4.0, PECL intl &gt;= 2.0.0)<br/>
+     * Checks if a given text contains any suspicious characters
+     * @link https://php.net/manual/en/spoofchecker.issuspicious.php
+     * @param string $text <p>
+     * </p>
+     * @param string $error [optional] <p>
+     * </p>
+     * @return bool
+     */
+    public function isSuspicious($text, &$error = null) { }
+
+    /**
+     * (PHP &gt;= 5.4.0, PECL intl &gt;= 2.0.0)<br/>
+     * Checks if a given text contains any confusable characters
+     * @link https://php.net/manual/en/spoofchecker.areconfusable.php
+     * @param string $s1 <p>
+     * </p>
+     * @param string $s2 <p>
+     * </p>
+     * @param string $error [optional] <p>
+     * </p>
+     * @return bool
+     */
+    public function areConfusable($s1, $s2, &$error = null) { }
+
+    /**
+     * (PHP &gt;= 5.4.0, PECL intl &gt;= 2.0.0)<br/>
+     * Locales to use when running checks
+     * @link https://php.net/manual/en/spoofchecker.setallowedlocales.php
+     * @param string $locale_list <p>
+     * </p>
+     * @return void
+     */
+    public function setAllowedLocales($locale_list) { }
+
+    /**
+     * (PHP &gt;= 5.4.0, PECL intl &gt;= 2.0.0)<br/>
+     * Set the checks to run
+     * @link https://php.net/manual/en/spoofchecker.setchecks.php
+     * @param string $checks <p>
+     * </p>
+     * @return void
+     */
+    public function setChecks($checks) { }
+}
+
+/**
+ * @since 5.5
+ */
+class IntlGregorianCalendar extends IntlCalendar {
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * @param mixed $timeZone
+     * @param string $locale
+     * @return IntlGregorianCalendar
+     */
+    public static function createInstance($timeZone = null, $locale = null) { }
+
+    /**
+     * @param double $change
+     *
+     */
+    public function setGregorianChange($change) { }
+
+    /**
+     * @return double $change
+     */
+    public function getGregorianChange() { }
+
+    /**
+     * @param int $year
+     * @return bool
+     */
+    public function isLeapYear($year) { }
+}
+
+/**
+ * @since 5.5
+ */
+class IntlCalendar {
+    /* Constants */
+    const FIELD_ERA = 0;
+    const FIELD_YEAR = 1;
+    const FIELD_MONTH = 2;
+    const FIELD_WEEK_OF_YEAR = 3;
+    const FIELD_WEEK_OF_MONTH = 4;
+    const FIELD_DATE = 5;
+    const FIELD_DAY_OF_YEAR = 6;
+    const FIELD_DAY_OF_WEEK = 7;
+    const FIELD_DAY_OF_WEEK_IN_MONTH = 8;
+    const FIELD_AM_PM = 9;
+    const FIELD_HOUR = 10;
+    const FIELD_HOUR_OF_DAY = 11;
+    const FIELD_MINUTE = 12;
+    const FIELD_SECOND = 13;
+    const FIELD_MILLISECOND = 14;
+    const FIELD_ZONE_OFFSET = 15;
+    const FIELD_DST_OFFSET = 16;
+    const FIELD_YEAR_WOY = 17;
+    const FIELD_DOW_LOCAL = 18;
+    const FIELD_EXTENDED_YEAR = 19;
+    const FIELD_JULIAN_DAY = 20;
+    const FIELD_MILLISECONDS_IN_DAY = 21;
+    const FIELD_IS_LEAP_MONTH = 22;
+    const FIELD_FIELD_COUNT = 23;
+    const FIELD_DAY_OF_MONTH = 5;
+    const DOW_SUNDAY = 1;
+    const DOW_MONDAY = 2;
+    const DOW_TUESDAY = 3;
+    const DOW_WEDNESDAY = 4;
+    const DOW_THURSDAY = 5;
+    const DOW_FRIDAY = 6;
+    const DOW_SATURDAY = 7;
+    const DOW_TYPE_WEEKDAY = 0;
+    const DOW_TYPE_WEEKEND = 1;
+    const DOW_TYPE_WEEKEND_OFFSET = 2;
+    const DOW_TYPE_WEEKEND_CEASE = 3;
+    const WALLTIME_FIRST = 1;
+    const WALLTIME_LAST = 0;
+    const WALLTIME_NEXT_VALID = 2;
+
+    /* Methods */
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Add a (signed) amount of time to a field
+     * @link https://secure.php.net/manual/en/intlcalendar.add.php
+     * @param int $field <p>
+     * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}.
+     * These are integer values between <em>0</em> and
+     * <b>IntlCalendar::FIELD_COUNT</b>.
+     * </p>
+     * @param int $amount <p>The signed amount to add to the current field. If the amount is positive, the instant will be moved forward; if it is negative, the instant wil be moved into the past. The unit is implicit to the field type.
+     * For instance, hours for <b>IntlCalendar::FIELD_HOUR_OF_DAY</b>.</p>
+     * @return bool Returns TRUE on success or FALSE on failure.
+     */
+    public function add($field, $amount) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Whether this object's time is after that of the passed object
+     * https://secure.php.net/manual/en/intlcalendar.after.php
+     * @param IntlCalendar $calendar <p>The calendar whose time will be checked against this object's time.</p>
+     * @return bool
+     * Returns <b>TRUE</b> if this object's current time is after that of the
+     * <em>calendar</em> argument's time. Returns <b>FALSE</b> otherwise.
+     * Also returns <b>FALSE</b> on failure. You can use {@link https://secure.php.net/manual/en/intl.configuration.php#ini.intl.use-exceptions exceptions} or
+     * {@link https://secure.php.net/manual/en/function.intl-get-error-code.php intl_get_error_code()} to detect error conditions.
+     */
+    public function after(IntlCalendar $calendar) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Whether this object's time is before that of the passed object
+     * @link https://secure.php.net/manual/en/intlcalendar.before.php
+     * @param IntlCalendar $calendar <p> The calendar whose time will be checked against this object's time.</p>
+     * @return bool
+     * Returns <b>TRUE</B> if this object's current time is before that of the
+     * <em>calendar</em> argument's time. Returns <b>FALSE</b> otherwise.
+     * Also returns <b>FALSE</b> on failure. You can use {@link https://secure.php.net/manual/en/intl.configuration.php#ini.intl.use-exceptions exceptions} or
+     * {@link https://secure.php.net/manual/en/function.intl-get-error-code.php intl_get_error_code()} to detect error conditions.
+     * </p>
+     */
+    public function before(IntlCalendar $calendar) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Clear a field or all fields
+     * @link https://secure.php.net/manual/en/intlcalendar.clear.php
+     * @param int $field [optional] <p>
+     * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer
+     * values between <em>0</em> and
+     * <b>IntlCalendar::FIELD_COUNT</b>.
+     * </p>
+     * @return bool Returns <b>TRUE</b> on success or <b>FALSE</b> on failure. Failure can only occur is invalid arguments are provided.
+     */
+    public function clear($field = null) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Private constructor for disallowing instantiation
+     * @link https://secure.php.net/manual/en/intlcalendar.construct.php
+     *
+     */
+    private function __construct() { }
+
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Create a new IntlCalendar
+     * @link https://secure.php.net/manual/en/intlcalendar.createinstance.php
+     * @param mixed $timeZone [optional] <p> <p>
+     * The timezone to use.
+     * </p>
+     *
+     * <ul>
+     * <li>
+     * <p>
+     * <b>NULL</b>, in which case the default timezone will be used, as specified in
+     * the ini setting {@link https://secure.php.net/manual/en/datetime.configuration.php#ini.date.timezone date.timezone} or
+     * through the function  {@link https://secure.php.net/manual/en/function.date-default-timezone-set.php date_default_timezone_set()} and as
+     * returned by {@link https://secure.php.net/manual/en/function.date-default-timezone-get.php date_default_timezone_get()}.
+     * </p>
+     * </li>
+     * <li>
+     * <p>
+     * An {@link https://secure.php.net/manual/en/class.intltimezone.php IntlTimeZone}, which will be used directly.
+     * </p>
+     * </li>
+     * <li>
+     * <p>
+     * A {@link https://secure.php.net/manual/en/class.datetimezone.php DateTimeZone}. Its identifier will be extracted
+     * and an ICU timezone object will be created; the timezone will be backed
+     * by ICU's database, not PHP's.
+     * </p>
+     * </li>
+     * <li>
+     * <p>
+     * A {@link https://secure.php.net/manual/en/language.types.string.php string}, which should be a valid ICU timezone identifier.
+     * See  <b>IntlTimeZone::createTimeZoneIDEnumeration()</b>. Raw
+     * offsets such as <em>"GMT+08:30"</em> are also accepted.
+     * </p>
+     * </li>
+     * </ul>
+     * </p>
+     * @param string $locale [optional] <p>
+     * A locale to use or <b>NULL</b> to use {@link https://secure.php.net/manual/en/intl.configuration.php#ini.intl.default-locale the default locale}.
+     * </p>
+     * @return IntlCalendar
+     * The created {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} instance or <b>NULL</b> on
+     * failure.
+     */
+    public static function createInstance($timeZone = null, $locale = null) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Compare time of two IntlCalendar objects for equality
+     * @link https://secure.php.net/manual/en/intlcalendar.equals.php
+     * @param IntlCalendar $calendar
+     * @return bool <p>
+     * Returns <b>TRUE</b> if the current time of both this and the passed in
+     * {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} object are the same, or <b>FALSE</b>
+     * otherwise. The value <b>FALSE</b> can also be returned on failure. This can only
+     * happen if bad arguments are passed in. In any case, the two cases can be
+     * distinguished by calling  {@link https://secure.php.net/manual/en/function.intl-get-error-code.php intl_get_error_code()}.
+     * </p>
+     */
+    public function equals($calendar) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Calculate difference between given time and this object's time
+     * @link https://secure.php.net/manual/en/intlcalendar.fielddifference.php
+     * @param float $when <p>
+     * The time against which to compare the quantity represented by the
+     * <em>field</em>. For the result to be positive, the time
+     * given for this parameter must be ahead of the time of the object the
+     * method is being invoked on.
+     * </p>
+     * @param int $field <p>
+     * The field that represents the quantity being compared.
+     * </p>
+     *
+     * <p>
+     * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer
+     * values between <em>0</em> and
+     * <b>IntlCalendar::FIELD_COUNT</b>.
+     * </p>
+     * @return int Returns a (signed) difference of time in the unit associated with the
+     * specified field or <b>FALSE</b> on failure.
+     *
+     */
+    public function fieldDifference($when, $field) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a2)<br/>
+     * Create an IntlCalendar from a DateTime object or string
+     * @link https://secure.php.net/manual/en/intlcalendar.fromdatetime.php
+     * @param mixed $dateTime <p>
+     * A {@link https://secure.php.net/manual/en/class.datetime.php DateTime} object or a {@link https://secure.php.net/manual/en/language.types.string.php string} that
+     * can be passed to  {@link https://secure.php.net/manual/en/datetime.construct.php DateTime::__construct()}.
+     * </p>
+     * @return IntlCalendar
+     * The created {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} object or <b>NULL</b> in case of
+     * failure. If a {@link https://secure.php.net/manual/en/language.types.string.php string} is passed, any exception that occurs
+     * inside the {@link https://secure.php.net/manual/en/class.datetime.php DateTime} constructor is propagated.
+     */
+    public static function fromDateTime($dateTime) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get the value for a field
+     * @link https://secure.php.net/manual/en/intlcalendar.get.php
+     * @param int $field <p>
+     * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer
+     * values between <em>0</em> and
+     * <b>IntlCalendar::FIELD_COUNT</b>.
+     * </p>
+     * @return int An integer with the value of the time field.
+     */
+    public function get($field) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * The maximum value for a field, considering the object's current time
+     * @link https://secure.php.net/manual/en/intlcalendar.getactualmaximum.php
+     * @param int $field <p>
+     * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer
+     * values between <em>0</em> and
+     * <b>IntlCalendar::FIELD_COUNT</b>.
+     * </p>
+     * @return int
+     * An {@link https://secure.php.net/manual/en/language.types.integer.php int} representing the maximum value in the units associated
+     * with the given <em>field</em> or <b>FALSE</b> on failure.
+     */
+    public function getActualMaximum($field) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * The minimum value for a field, considering the object's current time
+     * @link https://secure.php.net/manual/en/intlcalendar.getactualminimum.php
+     * @param int $field <p>
+     * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}.
+     * These are integer values between <em>0</em> and
+     * <b>IntlCalendar::FIELD_COUNT</b>.
+     * </p>
+     * @return int
+     * An {@link https://secure.php.net/manual/en/language.types.integer.php int} representing the minimum value in the field's
+     * unit or <b>FALSE</b> on failure.
+     */
+    public function getActualMinimum($field) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get array of locales for which there is data
+     * @link https://secure.php.net/manual/en/intlcalendar.getavailablelocales.php
+     * @return array An array of strings, one for which locale.
+     */
+
+    public static function getAvailableLocales() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Tell whether a day is a weekday, weekend or a day that has a transition between the two
+     * @param int $dayOfWeek <p>
+     * One of the constants <b>IntlCalendar::DOW_SUNDAY</b>,
+     * <b>IntlCalendar::DOW_MONDAY</b>, ...,
+     * <b>IntlCalendar::DOW_SATURDAY</b>.
+     * </p>
+     * @return int
+     * Returns one of the constants
+     * <b>IntlCalendar::DOW_TYPE_WEEKDAY</b>,
+     * <b>IntlCalendar::DOW_TYPE_WEEKEND</b>,
+     * <b>IntlCalendar::DOW_TYPE_WEEKEND_OFFSET</b> or
+     * <b>IntlCalendar::DOW_TYPE_WEEKEND_CEASE</b> or <b>FALSE</b> on failure.
+     *
+     */
+    public function getDayOfWeekType($dayOfWeek) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get last error code on the object
+     * @link https://secure.php.net/manual/en/intlcalendar.geterrorcode.php
+     * @return int An ICU error code indicating either success, failure or a warning.
+     *
+     */
+    public function getErrorCode() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get last error message on the object
+     * @link https://secure.php.net/manual/en/intlcalendar.geterrormessage.php
+     * @return string The error message associated with last error that occurred in a function call on this object, or a string indicating the non-existance of an error.
+     */
+    public function getErrorMessage() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get the first day of the week for the calendar's locale
+     * @link https://secure.php.net/manual/en/intlcalendar.getfirstdayofweek.php
+     * @return int
+     * One of the constants <b>IntlCalendar::DOW_SUNDAY</b>,
+     * <b>IntlCalendar::DOW_MONDAY</b>, ...,
+     * <b>IntlCalendar::DOW_SATURDAY</b> or <b>FALSE</b> on failure.
+     *
+     */
+    public function getFirstDayOfWeek() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get the largest local minimum value for a field
+     * @link https://secure.php.net/manual/en/intlcalendar.getgreatestminimum.php
+     * @param int $field <p>
+     * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer
+     * values between <em>0</em> and
+     * <b>IntlCalendar::FIELD_COUNT</b>.
+     * @return int
+     * An {@link https://secure.php.net/manual/en/language.types.integer.php int} representing a field value, in the field's
+     * unit, or <b>FALSE</b> on failure.
+     */
+    public function getGreatestMinimum($field) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get set of locale keyword values
+     * @param string $key <p>
+     * The locale keyword for which relevant values are to be queried. Only
+     * <em>'calendar'</em> is supported.
+     * </p>
+     * @param string $locale <p>
+     * The locale onto which the keyword/value pair are to be appended.
+     * </p>
+     * @param bool $commonlyUsed
+     * <p>
+     * Whether to show only the values commonly used for the specified locale.
+     * </p>
+     * @return Iterator|false An iterator that yields strings with the locale keyword values or <b>FALSE</b> on failure.
+     */
+    public static function getKeywordValuesForLocale($key, $locale, $commonlyUsed) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get the smallest local maximum for a field
+     * @link https://secure.php.net/manual/en/intlcalendar.getleastmaximum.php
+     * @param int $field <p>
+     * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer
+     * values between <em>0</em> and
+     * <b>IntlCalendar::FIELD_COUNT</b>.
+     * </p>
+     * @return int
+     * An {@link https://secure.php.net/manual/en/language.types.integer.ph int} representing a field value in the field's
+     * unit or <b>FALSE</b> on failure.
+     * </p>
+     */
+    public function getLeastMaximum($field) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get the locale associated with the object
+     * @link https://secure.php.net/manual/en/intlcalendar.getlocale.php
+     * @param int $localeType <p>
+     * Whether to fetch the actual locale (the locale from which the calendar
+     * data originates, with <b>Locale::ACTUAL_LOCALE</b>) or the
+     * valid locale, i.e., the most specific locale supported by ICU relatively
+     * to the requested locale – see <b>Locale::VALID_LOCALE</b>.
+     * From the most general to the most specific, the locales are ordered in
+     * this fashion – actual locale, valid locale, requested locale.
+     * </p>
+     * @return string
+     * A locale string or <b>FALSE</b> on failure.
+     *
+     */
+    public function getLocale($localeType) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get the global maximum value for a field
+     * @link https://secure.php.net/manual/en/intlcalendar.getmaximum.php
+     * @param int $field <p>
+     * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer
+     * values between <em>0</em> and
+     * <b>IntlCalendar::FIELD_COUNT</b>.
+     * </p>
+     * @return string
+     * A locale string or <b>FALSE</b> on failure.
+     */
+    public function getMaximum($field) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get minimal number of days the first week in a year or month can have
+     * @link https://secure.php.net/manual/en/intlcalendar.getminimaldaysinfirstweek.php
+     * @return int
+     * An {@link https://secure.php.net/manual/en/language.types.integer.php  int} representing a number of days or <b>FALSE</b> on failure.
+     */
+    public function getMinimalDaysInFirstWeek() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get the global minimum value for a field
+     * @link https://secure.php.net/manual/en/intlcalendar.getminimum.php
+     * @param int $field <p>
+     * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field}. These are integer
+     * values between <em>0</em> and
+     * <b>IntlCalendar::FIELD_COUNT</b>.
+     * </p>
+     * @return int
+     * An int representing a value for the given field in the field's unit or FALSE on failure.
+     */
+    public function getMinimum($field) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get number representing the current time
+     * @return float A float representing a number of milliseconds since the epoch, not counting leap seconds.
+     */
+    public static function getNow() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get behavior for handling repeating wall time
+     * @link https://secure.php.net/manual/en/intlcalendar.getrepeatedwalltimeoption.php
+     * @return int
+     * One of the constants <b>IntlCalendar::WALLTIME_FIRST</b> or
+     * <b>IntlCalendar::WALLTIME_LAST</b>.
+     *
+     */
+    public function getRepeatedWallTimeOption() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get behavior for handling skipped wall time
+     * @link https://secure.php.net/manual/en/intlcalendar.getskippedwalltimeoption.php
+     * @return int
+     * One of the constants <b>IntlCalendar::WALLTIME_FIRST</b>,
+     * <b>IntlCalendar::WALLTIME_LAST</b> or
+     * <b>IntlCalendar::WALLTIME_NEXT_VALID</b>.
+     */
+    public function getSkippedWallTimeOption() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get time currently represented by the object
+     * @return float
+     * A {@link https://secure.php.net/manual/en/language.types.float.php float} representing the number of milliseconds elapsed since the
+     * reference time (1 Jan 1970 00:00:00 UTC).
+     */
+    public function getTime() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get the object's timezone
+     * @link https://secure.php.net/manual/en/intlcalendar.gettimezone.php
+     * @return IntlTimeZone
+     * An {@link https://secure.php.net/manual/en/class.intltimezone.php IntlTimeZone} object corresponding to the one used
+     * internally in this object.
+     */
+    public function getTimeZone() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get the calendar type
+     * @link https://secure.php.net/manual/en/intlcalendar.gettype.php
+     * @return string
+     * A {@link https://secure.php.net/manual/en/language.types.string.php string} representing the calendar type, such as
+     * <em>'gregorian'</em>, <em>'islamic'</em>, etc.
+     */
+    public function getType() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get time of the day at which weekend begins or ends
+     * @link https://secure.php.net/manual/en/intlcalendar.getweekendtransition.php
+     * @param string $dayOfWeek <p>
+     * One of the constants <b>IntlCalendar::DOW_SUNDAY</b>,
+     * <b>IntlCalendar::DOW_MONDAY</b>, ...,
+     * <b>IntlCalendar::DOW_SATURDAY</b>.
+     * </p>
+     * @return int
+     * The number of milliseconds into the day at which the the weekend begins or
+     * ends or <b>FALSE</b> on failure.
+     */
+    public function getWeekendTransition($dayOfWeek) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Whether the object's time is in Daylight Savings Time
+     * @link https://secure.php.net/manual/en/intlcalendar.indaylighttime.php
+     * @return bool
+     * Returns <b>TRUE</b> if the date is in Daylight Savings Time, <b>FALSE</b> otherwise.
+     * The value <b>FALSE</b> may also be returned on failure, for instance after
+     * specifying invalid field values on non-lenient mode; use {@link https://secure.php.net/manual/en/intl.configuration.php#ini.intl.use-exceptions exceptions} or query
+     * {@link https://secure.php.net/manual/en/function.intl-get-error-code.php intl_get_error_code()} to disambiguate.
+     */
+    public function inDaylightTime() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Whether another calendar is equal but for a different time
+     * @link https://secure.php.net/manual/en/intlcalendar.isequivalentto.php
+     * @param IntlCalendar $calendar The other calendar against which the comparison is to be made.
+     * @return bool
+     * Assuming there are no argument errors, returns <b>TRUE</b> iif the calendars are equivalent except possibly for their set time.
+     */
+    public function isEquivalentTo(IntlCalendar $calendar) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Whether date/time interpretation is in lenient mode
+     * @link https://secure.php.net/manual/en/intlcalendar.islenient.php
+     * @return bool
+     * A {@link https://secure.php.net/manual/en/language.types.boolean.php bool} representing whether the calendar is set to lenient mode.
+     */
+    public function isLenient() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Whether a certain date/time is in the weekend
+     * @link https://secure.php.net/manual/en/intlcalendar.isweekend.php
+     * @param float|null $date [optional] <p>
+     * An optional timestamp representing the number of milliseconds since the
+     * epoch, excluding leap seconds. If <b>NULL</b>, this object's current time is
+     * used instead.
+     * </p>
+     * @return bool
+     * <p> A {@link https://secure.php.net/manual/en/language.types.boolean.php bool} indicating whether the given or this object's time occurs
+     * in a weekend.
+     * </p>
+     * <p>
+     * The value <b>FALSE</b> may also be returned on failure, for instance after giving
+     * a date out of bounds on non-lenient mode; use {@link https://secure.php.net/manual/en/intl.configuration.php#ini.intl.use-exceptions exceptions} or query
+     * {@link https://secure.php.net/manual/en/function.intl-get-error-code.php intl_get_error_code()} to disambiguate.</p>
+     */
+    public function isWeekend($date = null) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Add value to field without carrying into more significant fields
+     * @link https://secure.php.net/manual/en/intlcalendar.roll.php
+     * @param int $field
+     * <p>One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time
+     * {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer
+     * values between <em>0</em> and
+     * <b>IntlCalendar::FIELD_COUNT</b>.
+     * </p>
+     * @param mixed $amountOrUpOrDown <p>
+     * The (signed) amount to add to the field, <b>TRUE</b> for rolling up (adding
+     * <em>1</em>), or <b>FALSE</b> for rolling down (subtracting
+     * <em>1</em>).
+     * </p>
+     * @return bool Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.
+     */
+    public function roll($field, $amountOrUpOrDown) { }
+
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Whether a field is set
+     * @link https://secure.php.net/manual/en/intlcalendar.isset.php
+     * @param int $field <p>
+     * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time
+     * {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}.
+     * These are integer values between <em>0</em> and
+     * <b>IntlCalendar::FIELD_COUNT</b>.
+     * </p>
+     * @return bool Assuming there are no argument errors, returns <b>TRUE</b> iif the field is set.
+     */
+    public function PS_UNRESERVE_PREFIX_isSet($field) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Set a time field or several common fields at once
+     * @link https://secure.php.net/manual/en/intlcalendar.set.php
+     * @param int $year <p>
+     * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer
+     * values between <em>0</em> and
+     * <b>IntlCalendar::FIELD_COUNT</b>.
+     * </p>
+     * @param int $month <p>
+     * The new value for <b>IntlCalendar::FIELD_MONTH</b>.
+     * </p>
+     * @param int $dayOfMonth [optional] <p>
+     * The new value for <b>IntlCalendar::FIELD_DAY_OF_MONTH</b>.
+     * The month sequence is zero-based, i.e., January is represented by 0,
+     * February by 1, ..., December is 11 and Undecember (if the calendar has
+     * it) is 12.
+     * </p>
+     * @param int $hour [optional]
+     * <p>
+     * The new value for <b>IntlCalendar::FIELD_HOUR_OF_DAY</b>.
+     * </p>
+     * @param int $minute [optional]
+     * <p>
+     * The new value for <b>IntlCalendar::FIELD_MINUTE</b>.
+     * </p>
+     * @param int $second [optional] <p>
+     * The new value for <b>IntlCalendar::FIELD_SECOND</b>.
+     *</p>
+     * @return bool Returns <b>TRUE</b> on success and <b>FALSE</b> on failure.
+     */
+    public function set($year, $month, $dayOfMonth = null, $hour = null, $minute = null, $second = null) { }
+
+    /**
+     * (PHP 5 >=5.5.0 PECL intl >= 3.0.0a1)<br/>
+     * Set a time field or several common fields at once
+     * @link https://secure.php.net/manual/en/intlcalendar.set.php
+     * @param int $field One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.
+     * @param int $value The new value of the given field.
+     * @return bool Returns <b>TRUE</b> on success and <b>FALSE</b> on failure.
+     * @since 5.5
+     */
+    public function set($field, $value) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Set the day on which the week is deemed to start
+     * @link https://secure.php.net/manual/en/intlcalendar.setfirstdayofweek.php
+     * @param int $dayOfWeek <p>
+     * One of the constants <b>IntlCalendar::DOW_SUNDAY</b>,
+     * <b>IntlCalendar::DOW_MONDAY</b>, ...,
+     * <b>IntlCalendar::DOW_SATURDAY</b>.
+     * </p>
+     * @return bool Returns TRUE on success. Failure can only happen due to invalid parameters.
+     */
+    public function setFirstDayOfWeek($dayOfWeek) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Set whether date/time interpretation is to be lenient
+     * @link https://secure.php.net/manual/en/intlcalendar.setlenient.php
+     * @param string $isLenient <p>
+     * Use <b>TRUE</b> to activate the lenient mode; <b>FALSE</b> otherwise.
+     * </p>
+     * @return bool Returns <b>TRUE</b> on success. Failure can only happen due to invalid parameters.
+     */
+    public function setLenient($isLenient) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Set behavior for handling repeating wall times at negative timezone offset transitions
+     * @link https://secure.php.net/manual/en/intlcalendar.setrepeatedwalltimeoption.php
+     * @param int $wallTimeOption <p>
+     * One of the constants <b>IntlCalendar::WALLTIME_FIRST</b> or
+     * <b>IntlCalendar::WALLTIME_LAST</b>.
+     * </p>
+     * @return bool
+     * Returns <b>TRUE</b> on success. Failure can only happen due to invalid parameters.
+     *
+     */
+    public function setRepeatedWallTimeOption($wallTimeOption) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Set behavior for handling skipped wall times at positive timezone offset transitions
+     * @link https://secure.php.net/manual/en/intlcalendar.setskippedwalltimeoption.php
+     * @param int $wallTimeOption <p>
+     * One of the constants <b>IntlCalendar::WALLTIME_FIRST</b>,
+     * <b>IntlCalendar::WALLTIME_LAST</b> or
+     * <b>IntlCalendar::WALLTIME_NEXT_VALID</b>.
+     * </p>
+     * @return bool
+     * <p>
+     * Returns <b>TRUE</b> on success. Failure can only happen due to invalid parameters.
+     * </p>
+     */
+    public function setSkippedWallTimeOption($wallTimeOption) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Set the calendar time in milliseconds since the epoch
+     * @link https://secure.php.net/manual/en/intlcalendar.settime.php
+     * @param float $date <p>
+     * An instant represented by the number of number of milliseconds between
+     * such instant and the epoch, ignoring leap seconds.
+     * </p>
+     * @return bool
+     * Returns <b>TRUE</b> on success and <b>FALSE</b> on failure.
+     */
+    public function setTime($date) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Set the timezone used by this calendar
+     * @link https://secure.php.net/manual/en/intlcalendar.settimezone.php
+     * @param mixed $timeZone <p>
+     * The new timezone to be used by this calendar. It can be specified in the
+     * following ways:
+     *
+     * </p><ul>
+     * <li>
+     * <p>
+     * <b>NULL</b>, in which case the default timezone will be used, as specified in
+     * the ini setting {@link https://secure.php.net/manual/en/datetime.configuration.php#ini.date.timezone date.timezone} or
+     * through the function  {@link https://secure.php.net/manual/en/function.date-default-timezone-set.php date_default_timezone_set()} and as
+     * returned by  {@link https://secure.php.net/manual/en/function.date-default-timezone-get.php date_default_timezone_get()}.
+     * </p>
+     * </li>
+     * <li>
+     * <p>
+     * An {@link https://secure.php.net/manual/en/class.intltimezone.php IntlTimeZone}, which will be used directly.
+     * </p>
+     * </li>
+     * <li>
+     * <p>
+     * A {@link https://secure.php.net/manual/en/class.datetimezone.php DateTimeZone}. Its identifier will be extracted
+     * and an ICU timezone object will be created; the timezone will be backed
+     * by ICU's database, not PHP's.
+     * </p>
+     * </li>
+     * <li>
+     * <p>
+     * A {@link https://secure.php.net/manual/en/language.types.string.php string}, which should be a valid ICU timezone identifier.
+     * See  b>IntlTimeZone::createTimeZoneIDEnumeration()</b>. Raw
+     * offsets such as <em>"GMT+08:30"</em> are also accepted.
+     * </p>
+     * </li>
+     * </ul>
+     * @return bool Returns <b>TRUE</b> on success and <b>FALSE</b> on failure.
+     */
+    public function setTimeZone($timeZone) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a2)<br/>
+     * Convert an IntlCalendar into a DateTime object
+     * @link https://secure.php.net/manual/en/intlcalendar.todatetime.php
+     * @return DateTime|false
+     * A {@link https://secure.php.net/manual/en/class.datetime.php DateTime} object with the same timezone as this
+     * object (though using PHP's database instead of ICU's) and the same time,
+     * except for the smaller precision (second precision instead of millisecond).
+     * Returns <b>FALSE</b> on failure.
+     */
+    public function toDateTime() { }
+}
+
+/**
+ * @since 5.5
+ */
+class IntlIterator implements Iterator {
+
+    public function current() { }
+
+    public function key() { }
+
+    public function next() { }
+
+    public function rewind() { }
+
+    public function valid() { }
+}
+
+/**
+ * @since 5.5
+ */
+class IntlException extends Exception {
+
+}
+
+/**
+ * @since 5.5
+ */
+class IntlTimeZone {
+    /* Constants */
+    const  DISPLAY_SHORT = 1;
+    const  DISPLAY_LONG = 2;
+
+    /* Methods */
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get the number of IDs in the equivalency group that includes the given ID
+     * @link https://secure.php.net/manual/en/intltimezone.countequivalentids.php
+     * @param string $zoneId
+     * @return int|false number of IDs or <b>FALSE</b> on failure
+     */
+    public static function countEquivalentIDs($zoneId) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Create a new copy of the default timezone for this host
+     * @link https://secure.php.net/manual/en/intltimezone.createdefault.php
+     * @return IntlTimeZone
+     */
+    public static function createDefault() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get an enumeration over time zone IDs associated with the given country or offset
+     * @link https://secure.php.net/manual/en/intltimezone.createenumeration.php
+     * @param mixed $countryOrRawOffset [optional]
+     * @return IntlIterator|false an iterator or <b>FALSE</b> on failure
+     */
+    public static function createEnumeration($countryOrRawOffset) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Create a timezone object for the given ID
+     * @link https://secure.php.net/manual/en/intltimezone.createtimezone.php
+     * @param string $zoneId
+     * @return IntlTimeZone|null a timezone object or <b>NULL</b> on failure
+     */
+    public static function createTimeZone($zoneId) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Get an enumeration over system time zone IDs with the given filter conditions
+     * @link https://secure.php.net/manual/en/intltimezone.createtimezoneidenumeration.php
+     * @param int $zoneType
+     * @param string|null $region [optional]
+     * @param int $rawOffset [optional]
+     * @return IntlIterator|false an iterator or <b>FALSE</b> on failure
+     */
+    public static function createTimeZoneIDEnumeration($zoneType, $region = null, $rawOffset = 0) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Create a timezone object from DateTimeZone
+     * @link https://secure.php.net/manual/en/intltimezone.fromdatetimezone.php
+     * @param DateTimeZone $zoneId
+     * @return IntlTimeZone|null a timezone object or <b>NULL</b> on failure
+     */
+    public static function  fromDateTimeZone($zoneId) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID
+     * @link https://secure.php.net/manual/en/intltimezone.getcanonicalid.php
+     * @param string $zoneId
+     * @param bool $isSystemID [optional]
+     * @return string|false the timezone ID or <b>FALSE</b> on failure
+     */
+    public static function getCanonicalID($zoneId, &$isSystemID) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get a name of this time zone suitable for presentation to the user
+     * @param bool $isDaylight [optional]
+     * @param int $style [optional]
+     * @param string $locale [optional]
+     * @return string|false the timezone name or <b>FALSE</b> on failure
+     */
+    public function getDisplayName($isDaylight, $style, $locale) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get the amount of time to be added to local standard time to get local wall clock time
+     * @link https://secure.php.net/manual/en/intltimezone.getequivalentid.php
+     * @return int
+     */
+    public function  getDSTSavings() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get an ID in the equivalency group that includes the given ID
+     * @link https://secure.php.net/manual/en/intltimezone.getequivalentid.php
+     * @param string $zoneId
+     * @param int $index
+     * @return string|false the time zone ID or <b>FALSE</b> on failure
+     */
+    public static function getEquivalentID($zoneId, $index) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get last error code on the object
+     * @link https://secure.php.net/manual/en/intltimezone.geterrorcode.php
+     * @return int
+     */
+    public function getErrorCode() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get last error message on the object
+     * @link https://secure.php.net/manual/en/intltimezone.geterrormessage.php
+     * @return string
+     */
+    public function getErrorMessage() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Create GMT (UTC) timezone
+     * @link https://secure.php.net/manual/en/intltimezone.getgmt.php
+     * @return IntlTimeZone
+     */
+    public static function getGMT() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get timezone ID
+     * @return string
+     */
+    public function getID() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get the time zone raw and GMT offset for the given moment in time
+     * @link https://secure.php.net/manual/en/intltimezone.getoffset.php
+     * @param float $date
+     *   moment in time for which to return offsets, in units of milliseconds from
+     *   January 1, 1970 0:00 GMT, either GMT time or local wall time, depending on
+     *   `local'.
+     * @param bool $local
+     *   if true, `date' is local wall time; otherwise it is in GMT time.
+     * @param int &$rawOffset
+     *   output parameter to receive the raw offset, that is, the offset not
+     *   including DST adjustments
+     * @param int &$dstOffset
+     *   output parameter to receive the DST offset, that is, the offset to be added
+     *   to `rawOffset' to obtain the total offset between local and GMT time. If
+     *   DST is not in effect, this value is zero; otherwise it is a positive value,
+     *   typically one hour.
+     * @return bool boolean indication of success
+     */
+    public function getOffset($date, $local, &$rawOffset, &$dstOffset) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get the raw GMT offset (before taking daylight savings time into account
+     * @link https://secure.php.net/manual/en/intltimezone.getrawoffset.php
+     * @return int
+     */
+    public function  getRawOffset() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Get the region code associated with the given system time zone ID
+     * @link https://secure.php.net/manual/en/intltimezone.getregion.php
+     * @param string $zoneId
+     * @return string|false region or <b>FALSE</b> on failure
+     */
+    public static function getRegion($zoneId) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Get the timezone data version currently used by ICU
+     * @link https://secure.php.net/manual/en/intltimezone.gettzdataversion.php
+     * @return string
+     */
+    public static function getTZDataVersion() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Get the "unknown" time zone
+     * @link https://secure.php.net/manual/en/intltimezone.getunknown.php
+     * @return IntlTimeZone
+     */
+    public static function getUnknown() { }
+
+    /**
+     * (PHP 7 &gt;=7.1.0)<br/>
+     * Translates a system timezone (e.g. "America/Los_Angeles") into a Windows
+     * timezone (e.g. "Pacific Standard Time").
+     * @link https://secure.php.net/manual/en/intltimezone.getwindowsid.php
+     * @param string $timezone
+     * @return string|false the Windows timezone or <b>FALSE</b> on failure
+     * @since 7.1
+     */
+    public static function getWindowsID($timezone) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Check if this zone has the same rules and offset as another zone
+     * @link https://secure.php.net/manual/en/intltimezone.hassamerules.php
+     * @param IntlTimeZone $otherTimeZone
+     * @return bool
+     */
+    public function hasSameRules(IntlTimeZone $otherTimeZone) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Convert to DateTimeZone object
+     * @link https://secure.php.net/manual/ru/intltimezone.todatetimezone.php
+     * @return DateTimeZone|false the DateTimeZone object or <b>FALSE</b> on failure
+     */
+    public function toDateTimeZone() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+     * Check if this time zone uses daylight savings time
+     * @link https://secure.php.net/manual/ru/intltimezone.usedaylighttime.php
+     * @return bool
+     */
+    public function useDaylightTime() { }
+}
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Create a collator
+ * @link https://php.net/manual/en/collator.create.php
+ * @param string $locale <p>
+ * The locale containing the required collation rules. Special values for
+ * locales can be passed in - if null is passed for the locale, the
+ * default locale collation rules will be used. If empty string ("") or
+ * "root" are passed, UCA rules will be used.
+ * </p>
+ * @return Collator Return new instance of <b>Collator</b> object, or <b>NULL</b>
+ * on error.
+ */
+function collator_create($locale) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Compare two Unicode strings
+ * @link https://php.net/manual/en/collator.compare.php
+ * @param Collator $object
+ * @param string $str1 <p>
+ * The first string to compare.
+ * </p>
+ * @param string $str2 <p>
+ * The second string to compare.
+ * </p>
+ * @return int Return comparison result:</p>
+ * <p>
+ * <p>
+ * 1 if <i>str1</i> is greater than
+ * <i>str2</i> ;
+ * </p>
+ * <p>
+ * 0 if <i>str1</i> is equal to
+ * <i>str2</i>;
+ * </p>
+ * <p>
+ * -1 if <i>str1</i> is less than
+ * <i>str2</i> .
+ * </p>
+ * On error
+ * boolean
+ * <b>FALSE</b>
+ * is returned.
+ */
+function collator_compare(Collator $object, $str1, $str2) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get collation attribute value
+ * @link https://php.net/manual/en/collator.getattribute.php
+ * @param Collator $object
+ * @param int $attr <p>
+ * Attribute to get value for.
+ * </p>
+ * @return int|false Attribute value, or boolean <b>FALSE</b> on error.
+ */
+function collator_get_attribute(Collator $object, $attr) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Set collation attribute
+ * @link https://php.net/manual/en/collator.setattribute.php
+ * @param Collator $object
+ * @param int $attr <p>Attribute.</p>
+ * @param int $val <p>
+ * Attribute value.
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function collator_set_attribute(Collator $object, $attr, $val) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get current collation strength
+ * @link https://php.net/manual/en/collator.getstrength.php
+ * @param Collator $object
+ * @return int|false current collation strength, or boolean <b>FALSE</b> on error.
+ */
+function collator_get_strength(Collator $object) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Set collation strength
+ * @link https://php.net/manual/en/collator.setstrength.php
+ * @param Collator $object
+ * @param int $strength <p>Strength to set.</p>
+ * <p>
+ * Possible values are:
+ * <p>
+ * <b>Collator::PRIMARY</b>
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function collator_set_strength(Collator $object, $strength) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Sort array using specified collator
+ * @link https://php.net/manual/en/collator.sort.php
+ * @param Collator $object
+ * @param array $arr <p>
+ * Array of strings to sort.
+ * </p>
+ * @param int $sort_flag [optional] <p>
+ * Optional sorting type, one of the following:
+ * </p>
+ * <p>
+ * <p>
+ * <b>Collator::SORT_REGULAR</b>
+ * - compare items normally (don't change types)
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function collator_sort(Collator $object, array &$arr, $sort_flag = null) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Sort array using specified collator and sort keys
+ * @link https://php.net/manual/en/collator.sortwithsortkeys.php
+ * @param Collator $object
+ * @param array $arr <p>Array of strings to sort</p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function collator_sort_with_sort_keys(Collator $object, array &$arr) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Sort array maintaining index association
+ * @link https://php.net/manual/en/collator.asort.php
+ * @param Collator $object
+ * @param array $arr <p>Array of strings to sort.</p>
+ * @param int $sort_flag [optional] <p>
+ * Optional sorting type, one of the following:
+ * <p>
+ * <b>Collator::SORT_REGULAR</b>
+ * - compare items normally (don't change types)
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function collator_asort(Collator $object, array &$arr, $sort_flag = null) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get the locale name of the collator
+ * @link https://php.net/manual/en/collator.getlocale.php
+ * @param Collator $object
+ * @param int $type [optional] <p>
+ * You can choose between valid and actual locale (
+ * <b>Locale::VALID_LOCALE</b> and
+ * <b>Locale::ACTUAL_LOCALE</b>,
+ * respectively). The default is the actual locale.
+ * </p>
+ * @return string Real locale name from which the collation data comes. If the collator was
+ * instantiated from rules or an error occurred, returns
+ * boolean <b>FALSE</b>.
+ */
+function collator_get_locale(Collator $object, $type = null) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get collator's last error code
+ * @link https://php.net/manual/en/collator.geterrorcode.php
+ * @param Collator $object
+ * @return int Error code returned by the last Collator API function call.
+ */
+function collator_get_error_code(Collator $object) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get text for collator's last error code
+ * @link https://php.net/manual/en/collator.geterrormessage.php
+ * @param Collator $object
+ * @return string Description of an error occurred in the last Collator API function call.
+ */
+function collator_get_error_message(Collator $object) { }
+
+/**
+ * (No version information available, might only be in SVN)<br/>
+ * Get sorting key for a string
+ * @link https://php.net/manual/en/collator.getsortkey.php
+ * @param Collator $object
+ * @param string $str <p>
+ * The string to produce the key from.
+ * </p>
+ * @return string the collation key for the string. Collation keys can be compared directly instead of strings.
+ */
+function collator_get_sort_key(Collator $object, $str) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Create a number formatter
+ * @link https://php.net/manual/en/numberformatter.create.php
+ * @param string $locale <p>
+ * Locale in which the number would be formatted (locale name, e.g. en_CA).
+ * </p>
+ * @param int $style <p>
+ * Style of the formatting, one of the
+ * format style constants. If
+ * <b>NumberFormatter::PATTERN_DECIMAL</b>
+ * or <b>NumberFormatter::PATTERN_RULEBASED</b>
+ * is passed then the number format is opened using the given pattern,
+ * which must conform to the syntax described in
+ * ICU DecimalFormat
+ * documentation or
+ * ICU RuleBasedNumberFormat
+ * documentation, respectively.
+ * </p>
+ * @param string $pattern [optional] <p>
+ * Pattern string if the chosen style requires a pattern.
+ * </p>
+ * @return NumberFormatter|false <b>NumberFormatter</b> object or <b>FALSE</b> on error.
+ */
+function numfmt_create($locale, $style, $pattern = null) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Format a number
+ * @link https://php.net/manual/en/numberformatter.format.php
+ * @param NumberFormatter $fmt
+ * @param int|float $value <p>
+ * The value to format. Can be integer or float,
+ * other values will be converted to a numeric value.
+ * </p>
+ * @param int $type [optional] <p>
+ * The
+ * formatting type to use.
+ * </p>
+ * @return string|false the string containing formatted value, or <b>FALSE</b> on error.
+ */
+function numfmt_format(NumberFormatter $fmt, $value, $type = null) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Parse a number
+ * @link https://php.net/manual/en/numberformatter.parse.php
+ * @param NumberFormatter $fmt
+ * @param string $value
+ * @param int $type [optional] <p>
+ * The
+ * formatting type to use. By default,
+ * <b>NumberFormatter::TYPE_DOUBLE</b> is used.
+ * </p>
+ * @param int $position [optional] <p>
+ * Offset in the string at which to begin parsing. On return, this value
+ * will hold the offset at which parsing ended.
+ * </p>
+ * @return mixed The value of the parsed number or <b>FALSE</b> on error.
+ */
+function numfmt_parse(NumberFormatter $fmt, $value, $type = null, &$position = null) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Format a currency value
+ * @link https://php.net/manual/en/numberformatter.formatcurrency.php
+ * @param NumberFormatter $fmt
+ * @param float $value <p>
+ * The numeric currency value.
+ * </p>
+ * @param string $currency <p>
+ * The 3-letter ISO 4217 currency code indicating the currency to use.
+ * </p>
+ * @return string String representing the formatted currency value.
+ */
+function numfmt_format_currency(NumberFormatter $fmt, $value, $currency) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Parse a currency number
+ * @link https://php.net/manual/en/numberformatter.parsecurrency.php
+ * @param NumberFormatter $fmt
+ * @param string $value
+ * @param string $currency <p>
+ * Parameter to receive the currency name (3-letter ISO 4217 currency
+ * code).
+ * </p>
+ * @param int $position [optional] <p>
+ * Offset in the string at which to begin parsing. On return, this value
+ * will hold the offset at which parsing ended.
+ * </p>
+ * @return float|false The parsed numeric value or <b>FALSE</b> on error.
+ */
+function numfmt_parse_currency(NumberFormatter $fmt, $value, &$currency, &$position = null) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Set an attribute
+ * @link https://php.net/manual/en/numberformatter.setattribute.php
+ * @param NumberFormatter $fmt
+ * @param int $attr <p>
+ * Attribute specifier - one of the
+ * numeric attribute constants.
+ * </p>
+ * @param int $value <p>
+ * The attribute value.
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function numfmt_set_attribute(NumberFormatter $fmt, $attr, $value) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get an attribute
+ * @link https://php.net/manual/en/numberformatter.getattribute.php
+ * @param NumberFormatter $fmt
+ * @param int $attr <p>
+ * Attribute specifier - one of the
+ * numeric attribute constants.
+ * </p>
+ * @return int|false Return attribute value on success, or <b>FALSE</b> on error.
+ */
+function numfmt_get_attribute(NumberFormatter $fmt, $attr) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Set a text attribute
+ * @link https://php.net/manual/en/numberformatter.settextattribute.php
+ * @param NumberFormatter $fmt
+ * @param int $attr <p>
+ * Attribute specifier - one of the
+ * text attribute
+ * constants.
+ * </p>
+ * @param string $value <p>
+ * Text for the attribute value.
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function numfmt_set_text_attribute(NumberFormatter $fmt, $attr, $value) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get a text attribute
+ * @link https://php.net/manual/en/numberformatter.gettextattribute.php
+ * @param NumberFormatter $fmt
+ * @param int $attr <p>
+ * Attribute specifier - one of the
+ * text attribute constants.
+ * </p>
+ * @return string|false Return attribute value on success, or <b>FALSE</b> on error.
+ */
+function numfmt_get_text_attribute(NumberFormatter $fmt, $attr) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Set a symbol value
+ * @link https://php.net/manual/en/numberformatter.setsymbol.php
+ * @param NumberFormatter $fmt
+ * @param int $attr <p>
+ * Symbol specifier, one of the
+ * format symbol constants.
+ * </p>
+ * @param string $value <p>
+ * Text for the symbol.
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function numfmt_set_symbol(NumberFormatter $fmt, $attr, $value) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get a symbol value
+ * @link https://php.net/manual/en/numberformatter.getsymbol.php
+ * @param NumberFormatter $fmt
+ * @param int $attr <p>
+ * Symbol specifier, one of the
+ * format symbol constants.
+ * </p>
+ * @return string|false The symbol string or <b>FALSE</b> on error.
+ */
+function numfmt_get_symbol(NumberFormatter $fmt, $attr) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Set formatter pattern
+ * @link https://php.net/manual/en/numberformatter.setpattern.php
+ * @param NumberFormatter $fmt
+ * @param string $pattern <p>
+ * Pattern in syntax described in
+ * ICU DecimalFormat
+ * documentation.
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function numfmt_set_pattern(NumberFormatter $fmt, $pattern) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get formatter pattern
+ * @link https://php.net/manual/en/numberformatter.getpattern.php
+ * @param NumberFormatter $fmt
+ * @param $nf
+ * @return string|false Pattern string that is used by the formatter, or <b>FALSE</b> if an error happens.
+ */
+function numfmt_get_pattern(NumberFormatter $fmt, $nf) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get formatter locale
+ * @link https://php.net/manual/en/numberformatter.getlocale.php
+ * @param NumberFormatter $fmt
+ * @param int $type [optional] <p>
+ * You can choose between valid and actual locale (
+ * <b>Locale::VALID_LOCALE</b>,
+ * <b>Locale::ACTUAL_LOCALE</b>,
+ * respectively). The default is the actual locale.
+ * </p>
+ * @return string The locale name used to create the formatter.
+ */
+function numfmt_get_locale(NumberFormatter $fmt, $type = null) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get formatter's last error code.
+ * @link https://php.net/manual/en/numberformatter.geterrorcode.php
+ * @param NumberFormatter $fmt
+ * @param $nf
+ * @return int error code from last formatter call.
+ */
+function numfmt_get_error_code(NumberFormatter $fmt, $nf) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get formatter's last error message.
+ * @link https://php.net/manual/en/numberformatter.geterrormessage.php
+ * @param NumberFormatter $fmt
+ * @param $nf
+ * @return string error message from last formatter call.
+ */
+function numfmt_get_error_message(NumberFormatter $fmt, $nf) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Normalizes the input provided and returns the normalized string
+ * @link https://php.net/manual/en/normalizer.normalize.php
+ * @param string $input <p>The input string to normalize</p>
+ * @param string $form [optional] <p>One of the normalization forms.</p>
+ * @return string The normalized string or <b>NULL</b> if an error occurred.
+ */
+function normalizer_normalize($input, $form = Normalizer::FORM_C) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Checks if the provided string is already in the specified normalization
+form.
+ * @link https://php.net/manual/en/normalizer.isnormalized.php
+ * @param string $input <p>The input string to normalize</p>
+ * @param string $form [optional] <p>
+ * One of the normalization forms.
+ * </p>
+ * @return bool <b>TRUE</b> if normalized, <b>FALSE</b> otherwise or if there an error
+ */
+function normalizer_is_normalized($input, $form = Normalizer::FORM_C) { }
+
+/**
+ * Get the default Locale
+ * @link https://php.net/manual/en/function.locale-get-default.php
+ * @return string a string with the current Locale.
+ */
+function locale_get_default() { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Set the default Locale
+ * @link https://php.net/manual/en/function.locale-set-default.php
+ * @param string $name <p>
+ * The new Locale name. A comprehensive list of the supported locales is
+ * available at .
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function locale_set_default($name) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Gets the primary language for the input locale
+ * @link https://php.net/manual/en/locale.getprimarylanguage.php
+ * @param string $locale <p>
+ * The locale to extract the primary language code from
+ * </p>
+ * @return string The language code associated with the language or <b>NULL</b> in case of error.
+ */
+function locale_get_primary_language($locale) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Gets the script for the input locale
+ * @link https://php.net/manual/en/locale.getscript.php
+ * @param string $locale <p>
+ * The locale to extract the script code from
+ * </p>
+ * @return string The script subtag for the locale or <b>NULL</b> if not present
+ */
+function locale_get_script($locale) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Gets the region for the input locale
+ * @link https://php.net/manual/en/locale.getregion.php
+ * @param string $locale <p>
+ * The locale to extract the region code from
+ * </p>
+ * @return string The region subtag for the locale or <b>NULL</b> if not present
+ */
+function locale_get_region($locale) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Gets the keywords for the input locale
+ * @link https://php.net/manual/en/locale.getkeywords.php
+ * @param string $locale <p>
+ * The locale to extract the keywords from
+ * </p>
+ * @return array Associative array containing the keyword-value pairs for this locale
+ */
+function locale_get_keywords($locale) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Returns an appropriately localized display name for script of the input locale
+ * @link https://php.net/manual/en/locale.getdisplayscript.php
+ * @param string $locale <p>
+ * The locale to return a display script for
+ * </p>
+ * @param string $in_locale [optional] <p>
+ * Optional format locale to use to display the script name
+ * </p>
+ * @return string Display name of the script for the $locale in the format appropriate for
+ * $in_locale.
+ */
+function locale_get_display_script($locale, $in_locale = null) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Returns an appropriately localized display name for region of the input locale
+ * @link https://php.net/manual/en/locale.getdisplayregion.php
+ * @param string $locale <p>
+ * The locale to return a display region for.
+ * </p>
+ * @param string $in_locale [optional] <p>
+ * Optional format locale to use to display the region name
+ * </p>
+ * @return string display name of the region for the $locale in the format appropriate for
+ * $in_locale.
+ */
+function locale_get_display_region($locale, $in_locale = null) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Returns an appropriately localized display name for the input locale
+ * @link https://php.net/manual/en/locale.getdisplayname.php
+ * @param string $locale <p>
+ * The locale to return a display name for.
+ * </p>
+ * @param string $in_locale [optional] <p>optional format locale</p>
+ * @return string Display name of the locale in the format appropriate for $in_locale.
+ */
+function locale_get_display_name($locale, $in_locale = null) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Returns an appropriately localized display name for language of the inputlocale
+ * @link https://php.net/manual/en/locale.getdisplaylanguage.php
+ * @param string $locale <p>
+ * The locale to return a display language for
+ * </p>
+ * @param string $in_locale [optional] <p>
+ * Optional format locale to use to display the language name
+ * </p>
+ * @return string display name of the language for the $locale in the format appropriate for
+ * $in_locale.
+ */
+function locale_get_display_language($locale, $in_locale = null) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Returns an appropriately localized display name for variants of the input locale
+ * @link https://php.net/manual/en/locale.getdisplayvariant.php
+ * @param string $locale <p>
+ * The locale to return a display variant for
+ * </p>
+ * @param string $in_locale [optional] <p>
+ * Optional format locale to use to display the variant name
+ * </p>
+ * @return string Display name of the variant for the $locale in the format appropriate for
+ * $in_locale.
+ */
+function locale_get_display_variant($locale, $in_locale = null) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Returns a correctly ordered and delimited locale ID
+ * @link https://php.net/manual/en/locale.composelocale.php
+ * @param array $subtags <p>
+ * an array containing a list of key-value pairs, where the keys identify
+ * the particular locale ID subtags, and the values are the associated
+ * subtag values.
+ * <p>
+ * The 'variant' and 'private' subtags can take maximum 15 values
+ * whereas 'extlang' can take maximum 3 values.e.g. Variants are allowed
+ * with the suffix ranging from 0-14. Hence the keys for the input array
+ * can be variant0, variant1, ...,variant14. In the returned locale id,
+ * the subtag is ordered by suffix resulting in variant0 followed by
+ * variant1 followed by variant2 and so on.
+ * </p>
+ * <p>
+ * The 'variant', 'private' and 'extlang' multiple values can be specified both
+ * as array under specific key (e.g. 'variant') and as multiple numbered keys
+ * (e.g. 'variant0', 'variant1', etc.).
+ * </p>
+ * </p>
+ * @return string The corresponding locale identifier.
+ */
+function locale_compose(array $subtags) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Returns a key-value array of locale ID subtag elements.
+ * @link https://php.net/manual/en/locale.parselocale.php
+ * @param string $locale <p>
+ * The locale to extract the subtag array from. Note: The 'variant' and
+ * 'private' subtags can take maximum 15 values whereas 'extlang' can take
+ * maximum 3 values.
+ * </p>
+ * @return array an array containing a list of key-value pairs, where the keys
+ * identify the particular locale ID subtags, and the values are the
+ * associated subtag values. The array will be ordered as the locale id
+ * subtags e.g. in the locale id if variants are '-varX-varY-varZ' then the
+ * returned array will have variant0=&gt;varX , variant1=&gt;varY ,
+ * variant2=&gt;varZ
+ */
+function locale_parse($locale) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Gets the variants for the input locale
+ * @link https://php.net/manual/en/locale.getallvariants.php
+ * @param string $locale <p>
+ * The locale to extract the variants from
+ * </p>
+ * @return array The array containing the list of all variants subtag for the locale
+ * or <b>NULL</b> if not present
+ */
+function locale_get_all_variants($locale) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Checks if a language tag filter matches with locale
+ * @link https://php.net/manual/en/locale.filtermatches.php
+ * @param string $langtag <p>
+ * The language tag to check
+ * </p>
+ * @param string $locale <p>
+ * The language range to check against
+ * </p>
+ * @param bool $canonicalize [optional] <p>
+ * If true, the arguments will be converted to canonical form before
+ * matching.
+ * </p>
+ * @return bool <b>TRUE</b> if $locale matches $langtag <b>FALSE</b> otherwise.
+ */
+function locale_filter_matches($langtag, $locale, $canonicalize = false) { }
+
+/**
+ * @param $arg1
+ */
+function locale_canonicalize($arg1) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Searches the language tag list for the best match to the language
+ * @link https://php.net/manual/en/locale.lookup.php
+ * @param array $langtag <p>
+ * An array containing a list of language tags to compare to
+ * <i>locale</i>. Maximum 100 items allowed.
+ * </p>
+ * @param string $locale <p>
+ * The locale to use as the language range when matching.
+ * </p>
+ * @param bool $canonicalize [optional] <p>
+ * If true, the arguments will be converted to canonical form before
+ * matching.
+ * </p>
+ * @param string $default [optional] <p>
+ * The locale to use if no match is found.
+ * </p>
+ * @return string The closest matching language tag or default value.
+ */
+function locale_lookup(array $langtag, $locale, $canonicalize = false, $default = null) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Tries to find out best available locale based on HTTP "Accept-Language" header
+ * @link https://php.net/manual/en/locale.acceptfromhttp.php
+ * @param string $header <p>
+ * The string containing the "Accept-Language" header according to format in RFC 2616.
+ * </p>
+ * @return string The corresponding locale identifier.
+ */
+function locale_accept_from_http($header) { }
+
+/**
+ * @param $locale
+ * @param $pattern
+ */
+function msgfmt_create($locale, $pattern) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Format the message
+ * @link https://php.net/manual/en/messageformatter.format.php
+ * @param MessageFormatter $fmt
+ * @param array $args <p>
+ * Arguments to insert into the format string
+ * </p>
+ * @return string|false The formatted string, or <b>FALSE</b> if an error occurred
+ */
+function msgfmt_format(MessageFormatter $fmt, array $args) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Quick format message
+ * @link https://php.net/manual/en/messageformatter.formatmessage.php
+ * @param string $locale <p>
+ * The locale to use for formatting locale-dependent parts
+ * </p>
+ * @param string $pattern <p>
+ * The pattern string to insert things into.
+ * The pattern uses an 'apostrophe-friendly' syntax; it is run through
+ * umsg_autoQuoteApostrophe
+ * before being interpreted.
+ * </p>
+ * @param array $args <p>
+ * The array of values to insert into the format string
+ * </p>
+ * @return string|false The formatted pattern string or <b>FALSE</b> if an error occurred
+ */
+function msgfmt_format_message(string $locale, string $pattern, array $args) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Parse input string according to pattern
+ * @link https://php.net/manual/en/messageformatter.parse.php
+ * @param MessageFormatter $fmt
+ * @param string $value <p>
+ * The string to parse
+ * </p>
+ * @return array|false An array containing the items extracted, or <b>FALSE</b> on error
+ */
+function msgfmt_parse(MessageFormatter $fmt, $value) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Quick parse input string
+ * @link https://php.net/manual/en/messageformatter.parsemessage.php
+ * @param MessageFormatter $fmt
+ * @param string $locale <p>
+ * The locale to use for parsing locale-dependent parts
+ * </p>
+ * @param string $pattern <p>
+ * The pattern with which to parse the <i>value</i>.
+ * </p>
+ * @param string $source <p>
+ * The string to parse, conforming to the <i>pattern</i>.
+ * </p>
+ * @return array|false An array containing items extracted, or <b>FALSE</b> on error
+ */
+function msgfmt_parse_message(MessageFormatter $fmt, $locale, $pattern, $source) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Set the pattern used by the formatter
+ * @link https://php.net/manual/en/messageformatter.setpattern.php
+ * @param MessageFormatter $fmt
+ * @param string $pattern <p>
+ * The pattern string to use in this message formatter.
+ * The pattern uses an 'apostrophe-friendly' syntax; it is run through
+ * umsg_autoQuoteApostrophe
+ * before being interpreted.
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function msgfmt_set_pattern(MessageFormatter $fmt, $pattern) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get the pattern used by the formatter
+ * @link https://php.net/manual/en/messageformatter.getpattern.php
+ * @param MessageFormatter $fmt
+ * @param $mf
+ * @return string The pattern string for this message formatter
+ */
+function msgfmt_get_pattern(MessageFormatter $fmt, $mf) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get the locale for which the formatter was created.
+ * @link https://php.net/manual/en/messageformatter.getlocale.php
+ * @param MessageFormatter $fmt
+ * @param $mf
+ * @return string The locale name
+ */
+function msgfmt_get_locale(MessageFormatter $fmt, $mf) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get the error code from last operation
+ * @link https://php.net/manual/en/messageformatter.geterrorcode.php
+ * @param MessageFormatter $fmt
+ * @param $nf
+ * @return int The error code, one of UErrorCode values. Initial value is U_ZERO_ERROR.
+ */
+function msgfmt_get_error_code(MessageFormatter $fmt, $nf) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get the error text from the last operation
+ * @link https://php.net/manual/en/messageformatter.geterrormessage.php
+ * @param MessageFormatter $fmt
+ * @param $coll
+ * @return string Description of the last error.
+ */
+function msgfmt_get_error_message(MessageFormatter $fmt, $coll) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Create a date formatter
+ * @link https://php.net/manual/en/intldateformatter.create.php
+ * @param string|null $locale <p>
+ * Locale to use when formatting or parsing.
+ * </p>
+ * @param int $datetype <p>
+ * Date type to use (<b>none</b>,
+ * <b>short</b>, <b>medium</b>,
+ * <b>long</b>, <b>full</b>).
+ * This is one of the
+ * IntlDateFormatter constants.
+ * </p>
+ * @param int $timetype <p>
+ * Time type to use (<b>none</b>,
+ * <b>short</b>, <b>medium</b>,
+ * <b>long</b>, <b>full</b>).
+ * This is one of the
+ * IntlDateFormatter constants.
+ * </p>
+ * @param string|null $timezone [optional] <p>
+ * Time zone ID, default is system default.
+ * </p>
+ * @param int|null $calendar [optional] <p>
+ * Calendar to use for formatting or parsing; default is Gregorian.
+ * This is one of the
+ * IntlDateFormatter calendar constants.
+ * </p>
+ * @param string $pattern [optional] <p>
+ * Optional pattern to use when formatting or parsing.
+ * Possible patterns are documented at http://userguide.icu-project.org/formatparse/datetime.
+ * </p>
+ * @return IntlDateFormatter
+ */
+function datefmt_create($locale, $datetype, $timetype, $timezone = null, $calendar = null, $pattern = '') { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get the datetype used for the IntlDateFormatter
+ * @link https://php.net/manual/en/intldateformatter.getdatetype.php
+ * @param $mf
+ * @return int The current date type value of the formatter.
+ */
+function datefmt_get_datetype(MessageFormatter $mf) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get the timetype used for the IntlDateFormatter
+ * @link https://php.net/manual/en/intldateformatter.gettimetype.php
+ * @param $mf
+ * @return int The current date type value of the formatter.
+ */
+function datefmt_get_timetype(MessageFormatter $mf) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get the calendar used for the IntlDateFormatter
+ * @link https://php.net/manual/en/intldateformatter.getcalendar.php
+ * @param $mf
+ * @return int The calendar being used by the formatter.
+ */
+function datefmt_get_calendar(MessageFormatter $mf) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * sets the calendar used to the appropriate calendar, which must be
+ * @link https://php.net/manual/en/intldateformatter.setcalendar.php
+ * @param MessageFormatter $mf
+ * @param int $which <p>
+ * The calendar to use.
+ * Default is <b>IntlDateFormatter::GREGORIAN</b>.
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function datefmt_set_calendar(MessageFormatter $mf, $which) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get the locale used by formatter
+ * @link https://php.net/manual/en/intldateformatter.getlocale.php
+ * @param MessageFormatter $mf
+ * @param int $which [optional]
+ * @return string|false the locale of this formatter or 'false' if error
+ */
+function datefmt_get_locale(MessageFormatter $mf, $which = null) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get the timezone-id used for the IntlDateFormatter
+ * @link https://php.net/manual/en/intldateformatter.gettimezoneid.php
+ * @param $mf
+ * @return string ID string for the time zone used by this formatter.
+ */
+function datefmt_get_timezone_id(MessageFormatter $mf) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 3.0.0)<br/>
+ * Get copy of formatter's calendar object
+ * @link https://secure.php.net/manual/en/intldateformatter.getcalendarobject.php
+ * @return IntlCalendar A copy of the internal calendar object used by this formatter.
+ */
+function datefmt_get_calendar_object() { }
+
+/**
+ * (PHP 5 &gt;= 5.5.0, PECL intl &gt;= 3.0.0)<br/>
+ *  Get formatter's timezone
+ * @link https://secure.php.net/manual/en/intldateformatter.gettimezone.php
+ * @return IntlTimeZone|false The associated IntlTimeZone object or FALSE on failure.
+ */
+function datefmt_get_timezone() { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Sets the time zone to use
+ * @link https://php.net/manual/en/intldateformatter.settimezoneid.php
+ * @param MessageFormatter $mf
+ * @param string $zone <p>
+ * The time zone ID string of the time zone to use.
+ * If <b>NULL</b> or the empty string, the default time zone for the runtime is used.
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ * @deprecated 5.5 https://secure.php.net/manual/en/migration55.deprecated.php
+ * @removed 7.0
+ */
+function datefmt_set_timezone_id(MessageFormatter $mf, $zone) { }
+
+/**
+ * (PHP 5 &gt;= 5.5.0, PECL intl &gt;= 3.0.0)<br/>
+ * Sets formatter's timezone
+ * @link https://php.net/manual/en/intldateformatter.settimezone.php
+ * @param MessageFormatter $mf
+ * @param mixed $zone <p>
+ * The timezone to use for this formatter. This can be specified in the
+ * following forms:
+ * <ul>
+ * <li>
+ * <p>
+ * <b>NULL</b>, in which case the default timezone will be used, as specified in
+ * the ini setting {@link "https://secure.php.net/manual/en/datetime.configuration.php#ini.date.timezone" date.timezone} or
+ * through the function  {@link "https://secure.php.net/manual/en/function.date-default-timezone-set.php" date_default_timezone_set()} and as
+ * returned by {@link "https://secure.php.net/manual/en/function.date-default-timezone-get.php" date_default_timezone_get()}.
+ * </p>
+ * </li>
+ * <li>
+ * <p>
+ * An {@link "https://secure.php.net/manual/en/class.intltimezone.php" IntlTimeZone}, which will be used directly.
+ * </p>
+ * </li>
+ * <li>
+ * <p>
+ * A {@link "https://secure.php.net/manual/en/class.datetimezone.php" DateTimeZone}. Its identifier will be extracted
+ * and an ICU timezone object will be created; the timezone will be backed
+ * by ICU's database, not PHP's.
+ * </p>
+ * </li>
+ * <li>
+ * <p>
+ * A {@link "https://secure.php.net/manual/en/language.types.string.php" string}, which should be a valid ICU timezone identifier.
+ * See <b>IntlTimeZone::createTimeZoneIDEnumeration()</b>. Raw offsets such as <em>"GMT+08:30"</em> are also accepted.
+ * </p>
+ * </li>
+ * </ul>
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function datefmt_set_timezone(MessageFormatter $mf, $zone) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get the pattern used for the IntlDateFormatter
+ * @link https://php.net/manual/en/intldateformatter.getpattern.php
+ * @param $mf
+ * @return string The pattern string being used to format/parse.
+ */
+function datefmt_get_pattern(MessageFormatter $mf) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Set the pattern used for the IntlDateFormatter
+ * @link https://php.net/manual/en/intldateformatter.setpattern.php
+ * @param MessageFormatter $mf
+ * @param string $pattern <p>
+ * New pattern string to use.
+ * Possible patterns are documented at http://userguide.icu-project.org/formatparse/datetime.
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ * Bad formatstrings are usually the cause of the failure.
+ */
+function datefmt_set_pattern(MessageFormatter $mf, $pattern) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get the lenient used for the IntlDateFormatter
+ * @link https://php.net/manual/en/intldateformatter.islenient.php
+ * @param $mf
+ * @return bool <b>TRUE</b> if parser is lenient, <b>FALSE</b> if parser is strict. By default the parser is lenient.
+ */
+function datefmt_is_lenient(MessageFormatter $mf) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Set the leniency of the parser
+ * @link https://php.net/manual/en/intldateformatter.setlenient.php
+ * @param MessageFormatter $mf
+ * @param bool $lenient <p>
+ * Sets whether the parser is lenient or not, default is <b>TRUE</b> (lenient).
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function datefmt_set_lenient(MessageFormatter $mf, $lenient) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Format the date/time value as a string
+ * @link https://php.net/manual/en/intldateformatter.format.php
+ * @param MessageFormatter $mf
+ * @param mixed $value <p>
+ * Value to format. This may be a <b>DateTime</b> object,
+ * an integer representing a Unix timestamp value (seconds
+ * since epoch, UTC) or an array in the format output by
+ * <b>localtime</b>.
+ * </p>
+ * @return string|false The formatted string or, if an error occurred, <b>FALSE</b>.
+ */
+function datefmt_format(MessageFormatter $mf, $value) { }
+
+/**
+ * (PHP 5 &gt;= 5.5.0, PECL intl &gt;= 3.0.0)<br/>
+ * Formats an object
+ * @link https://secure.php.net/manual/en/intldateformatter.formatobject.php
+ * @param object $object <p>
+ * An object of type IntlCalendar or DateTime. The timezone information in the object will be used.
+ * </p>
+ * @param mixed $format [optional] <p>
+ * How to format the date/time. This can either be an {https://secure.php.net/manual/en/language.types.array.php array}  with
+ * two elements (first the date style, then the time style, these being one
+ * of the constants <b>IntlDateFormatter::NONE</b>,
+ * <b>IntlDateFormatter::SHORT</b>,
+ * <b>IntlDateFormatter::MEDIUM</b>,
+ * <b>IntlDateFormatter::LONG</b>,
+ * <b>IntlDateFormatter::FULL</b>), a long with
+ * the value of one of these constants (in which case it will be used both
+ * for the time and the date) or a {@link https://secure.php.net/manual/en/language.types.string.php} with the format
+ * described in {@link http://www.icu-project.org/apiref/icu4c/classSimpleDateFormat.html#details the ICU documentation}
+ * documentation. If <b>NULL</b>, the default style will be used.
+ * </p>
+ * @param string|null $locale [optional] <p>
+ * The locale to use, or NULL to use the default one.</p>
+ * @return string|false The formatted string or, if an error occurred, <b>FALSE</b>.
+ */
+function datefmt_format_object($object, $format = null, $locale = null) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Parse string to a timestamp value
+ * @link https://php.net/manual/en/intldateformatter.parse.php
+ * @param MessageFormatter $mf
+ * @param string $value <p>
+ * string to convert to a time
+ * </p>
+ * @param int $position [optional] <p>
+ * Position at which to start the parsing in $value (zero-based).
+ * If no error occurs before $value is consumed, $parse_pos will contain -1
+ * otherwise it will contain the position at which parsing ended (and the error occurred).
+ * This variable will contain the end position if the parse fails.
+ * If $parse_pos > strlen($value), the parse fails immediately.
+ * </p>
+ * @return int timestamp parsed value
+ */
+function datefmt_parse(MessageFormatter $mf, $value, &$position = null) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Parse string to a field-based time value
+ * @link https://php.net/manual/en/intldateformatter.localtime.php
+ * @param MessageFormatter $mf
+ * @param string $value <p>
+ * string to convert to a time
+ * </p>
+ * @param int $position [optional] <p>
+ * Position at which to start the parsing in $value (zero-based).
+ * If no error occurs before $value is consumed, $parse_pos will contain -1
+ * otherwise it will contain the position at which parsing ended .
+ * If $parse_pos > strlen($value), the parse fails immediately.
+ * </p>
+ * @return array Localtime compatible array of integers : contains 24 hour clock value in tm_hour field
+ */
+function datefmt_localtime(MessageFormatter $mf, $value, &$position = null) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get the error code from last operation
+ * @link https://php.net/manual/en/intldateformatter.geterrorcode.php
+ * @param MessageFormatter $mf
+ * @return int The error code, one of UErrorCode values. Initial value is U_ZERO_ERROR.
+ */
+function datefmt_get_error_code(MessageFormatter $mf) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get the error text from the last operation.
+ * @link https://php.net/manual/en/intldateformatter.geterrormessage.php
+ * @param MessageFormatter $mf
+ * @param $coll
+ * @return string Description of the last error.
+ */
+function datefmt_get_error_message(MessageFormatter $mf, $coll) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get string length in grapheme units
+ * @link https://php.net/manual/en/function.grapheme-strlen.php
+ * @param string $input <p>
+ * The string being measured for length. It must be a valid UTF-8 string.
+ * </p>
+ * @return int|false|null The length of the string on success, and 0 if the string is empty.
+ */
+function grapheme_strlen($input) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Find position (in grapheme units) of first occurrence of a string
+ * @link https://php.net/manual/en/function.grapheme-strpos.php
+ * @param string $haystack <p>
+ * The string to look in. Must be valid UTF-8.
+ * </p>
+ * @param string $needle <p>
+ * The string to look for. Must be valid UTF-8.
+ * </p>
+ * @param int $offset [optional] <p>
+ * The optional $offset parameter allows you to specify where in $haystack to
+ * start searching as an offset in grapheme units (not bytes or characters).
+ * The position returned is still relative to the beginning of haystack
+ * regardless of the value of $offset.
+ * </p>
+ * @return int|false the position as an integer. If needle is not found, strpos() will return boolean FALSE.
+ */
+function grapheme_strpos($haystack, $needle, $offset = 0) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Find position (in grapheme units) of first occurrence of a case-insensitive string
+ * @link https://php.net/manual/en/function.grapheme-stripos.php
+ * @param string $haystack <p>
+ * The string to look in. Must be valid UTF-8.
+ * </p>
+ * @param string $needle <p>
+ * The string to look for. Must be valid UTF-8.
+ * </p>
+ * @param int $offset [optional] <p>
+ * The optional $offset parameter allows you to specify where in haystack to
+ * start searching as an offset in grapheme units (not bytes or characters).
+ * The position returned is still relative to the beginning of haystack
+ * regardless of the value of $offset.
+ * </p>
+ * @return int|false the position as an integer. If needle is not found, grapheme_stripos() will return boolean FALSE.
+ */
+function grapheme_stripos($haystack, $needle, $offset = 0) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Find position (in grapheme units) of last occurrence of a string
+ * @link https://php.net/manual/en/function.grapheme-strrpos.php
+ * @param string $haystack <p>
+ * The string to look in. Must be valid UTF-8.
+ * </p>
+ * @param string $needle <p>
+ * The string to look for. Must be valid UTF-8.
+ * </p>
+ * @param int $offset [optional] <p>
+ * The optional $offset parameter allows you to specify where in $haystack to
+ * start searching as an offset in grapheme units (not bytes or characters).
+ * The position returned is still relative to the beginning of haystack
+ * regardless of the value of $offset.
+ * </p>
+ * @return int|false the position as an integer. If needle is not found, grapheme_strrpos() will return boolean FALSE.
+ */
+function grapheme_strrpos($haystack, $needle, $offset = 0) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Find position (in grapheme units) of last occurrence of a case-insensitive string
+ * @link https://php.net/manual/en/function.grapheme-strripos.php
+ * @param string $haystack <p>
+ * The string to look in. Must be valid UTF-8.
+ * </p>
+ * @param string $needle <p>
+ * The string to look for. Must be valid UTF-8.
+ * </p>
+ * @param int $offset [optional] <p>
+ * The optional $offset parameter allows you to specify where in $haystack to
+ * start searching as an offset in grapheme units (not bytes or characters).
+ * The position returned is still relative to the beginning of haystack
+ * regardless of the value of $offset.
+ * </p>
+ * @return int|false the position as an integer. If needle is not found, grapheme_strripos() will return boolean FALSE.
+ */
+function grapheme_strripos($haystack, $needle, $offset = 0) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Return part of a string
+ * @link https://php.net/manual/en/function.grapheme-substr.php
+ * @param string $string <p>
+ * The input string. Must be valid UTF-8.
+ * </p>
+ * @param int $start <p>
+ * Start position in default grapheme units.
+ * If $start is non-negative, the returned string will start at the
+ * $start'th position in $string, counting from zero. If $start is negative,
+ * the returned string will start at the $start'th grapheme unit from the
+ * end of string.
+ * </p>
+ * @param int $length [optional] <p>
+ * Length in grapheme units.
+ * If $length is given and is positive, the string returned will contain
+ * at most $length grapheme units beginning from $start (depending on the
+ * length of string). If $length is given and is negative, then
+ * that many grapheme units will be omitted from the end of string (after the
+ * start position has been calculated when a start is negative). If $start
+ * denotes a position beyond this truncation, <b>FALSE</b> will be returned.
+ * </p>
+ * @return string|false <p>the extracted part of $string,<br />
+                        or <strong>FALSE</strong> if $length is negative and $start denotes a position beyond truncation $length,<br />
+                        or also <strong>FALSE</strong> if $start denotes a position beyond $string length</p>
+ */
+function grapheme_substr($string, $start, $length = null) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Returns part of haystack string from the first occurrence of needle to the end of haystack.
+ * @link https://php.net/manual/en/function.grapheme-strstr.php
+ * @param string $haystack <p>
+ * The input string. Must be valid UTF-8.
+ * </p>
+ * @param string $needle <p>
+ * The string to look for. Must be valid UTF-8.
+ * </p>
+ * @param bool $before_needle [optional] <p>
+ * If <b>TRUE</b>, grapheme_strstr() returns the part of the
+ * haystack before the first occurrence of the needle (excluding the needle).
+ * </p>
+ * @return string|false the portion of string, or FALSE if needle is not found.
+ */
+function grapheme_strstr($haystack, $needle, $before_needle = false) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Returns part of haystack string from the first occurrence of case-insensitive needle to the end of haystack.
+ * @link https://php.net/manual/en/function.grapheme-stristr.php
+ * @param string $haystack <p>
+ * The input string. Must be valid UTF-8.
+ * </p>
+ * @param string $needle <p>
+ * The string to look for. Must be valid UTF-8.
+ * </p>
+ * @param bool $before_needle [optional] <p>
+ * If <b>TRUE</b>, grapheme_strstr() returns the part of the
+ * haystack before the first occurrence of the needle (excluding needle).
+ * </p>
+ * @return string|false the portion of $haystack, or FALSE if $needle is not found.
+ */
+function grapheme_stristr($haystack, $needle, $before_needle = false) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Function to extract a sequence of default grapheme clusters from a text buffer, which must be encoded in UTF-8.
+ * @link https://php.net/manual/en/function.grapheme-extract.php
+ * @param string $haystack <p>
+ * String to search.
+ * </p>
+ * @param int $size <p>
+ * Maximum number items - based on the $extract_type - to return.
+ * </p>
+ * @param int $extract_type [optional] <p>
+ * Defines the type of units referred to by the $size parameter:
+ * </p>
+ * <p>
+ * GRAPHEME_EXTR_COUNT (default) - $size is the number of default
+ * grapheme clusters to extract.
+ * GRAPHEME_EXTR_MAXBYTES - $size is the maximum number of bytes
+ * returned.
+ * GRAPHEME_EXTR_MAXCHARS - $size is the maximum number of UTF-8
+ * characters returned.
+ * </p>
+ * @param int $start [optional] <p>
+ * Starting position in $haystack in bytes - if given, it must be zero or a
+ * positive value that is less than or equal to the length of $haystack in
+ * bytes. If $start does not point to the first byte of a UTF-8
+ * character, the start position is moved to the next character boundary.
+ * </p>
+ * @param int $next [optional] <p>
+ * Reference to a value that will be set to the next starting position.
+ * When the call returns, this may point to the first byte position past the end of the string.
+ * </p>
+ * @return string|false A string starting at offset $start and ending on a default grapheme cluster
+ * boundary that conforms to the $size and $extract_type specified.
+ */
+function grapheme_extract($haystack, $size, $extract_type = null, $start = 0, &$next = null) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PHP 7, PECL intl &gt;= 1.0.2, PHP 7, PECL idn &gt;= 0.1)<br/>
+ * Convert domain name to IDNA ASCII form.
+ * @link https://php.net/manual/en/function.idn-to-ascii.php
+ * @param string $domain <p>
+ * Domain to convert. In PHP 5 must be UTF-8 encoded.
+ * If e.g. an ISO-8859-1 (aka Western Europe latin1) encoded string is
+ * passed it will be converted into an ACE encoded "xn--" string.
+ * It will not be the one you expected though!
+ * </p>
+ * @param int $options [optional] <p>
+ * Conversion options - combination of IDNA_* constants (except IDNA_ERROR_* constants).
+ * </p>
+ * @param int $variant [optional] <p>
+ * Either INTL_IDNA_VARIANT_2003 for IDNA 2003 or INTL_IDNA_VARIANT_UTS46 for UTS #46.
+ * </p>
+ * @param array $idna_info [optional] <p>
+ * This parameter can be used only if INTL_IDNA_VARIANT_UTS46 was used for variant.
+ * In that case, it will be filled with an array with the keys 'result',
+ * the possibly illegal result of the transformation, 'isTransitionalDifferent',
+ * a boolean indicating whether the usage of the transitional mechanisms of UTS #46
+ * either has or would have changed the result and 'errors',
+ * which is an int representing a bitset of the error constants IDNA_ERROR_*.
+ * </p>
+ * @return string|false The ACE encoded version of the domain name or <b>FALSE</b> on failure.
+ */
+function idn_to_ascii($domain, $options = 0, $variant = INTL_IDNA_VARIANT_2003, array &$idna_info) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PHP 7, PECL intl &gt;= 1.0.2, PHP 7, PECL idn &gt;= 0.1)<br/>
+ * Convert domain name from IDNA ASCII to Unicode.
+ * @link https://php.net/manual/en/function.idn-to-utf8.php
+ * @param string $domain <p>
+ * Domain to convert in IDNA ASCII-compatible format.
+ * The ASCII encoded domain name. Looks like "xn--..." if the it originally contained non-ASCII characters.
+ * </p>
+ * @param int $options [optional] <p>
+ * Conversion options - combination of IDNA_* constants (except IDNA_ERROR_* constants).
+ * </p>
+ * @param int $variant [optional] <p>
+ * Either INTL_IDNA_VARIANT_2003 for IDNA 2003 or INTL_IDNA_VARIANT_UTS46 for UTS #46.
+ * </p>
+ * @param int &$idna_info [optional] <p>
+ * This parameter can be used only if INTL_IDNA_VARIANT_UTS46 was used for variant.
+ * In that case, it will be filled with an array with the keys 'result',
+ * the possibly illegal result of the transformation, 'isTransitionalDifferent',
+ * a boolean indicating whether the usage of the transitional mechanisms of UTS #46
+ * either has or would have changed the result and 'errors',
+ * which is an int representing a bitset of the error constants IDNA_ERROR_*.
+ * </p>
+ * @return string|false The UTF-8 encoded version of the domain name or <b>FALSE</b> on failure.
+ * RFC 3490 4.2 states though "ToUnicode never fails. If any step fails, then the original input
+ * sequence is returned immediately in that step."
+ */
+function idn_to_utf8($domain, $options = 0, $variant = INTL_IDNA_VARIANT_2003, array &$idna_info) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Create a new IntlCalendar
+ * @link https://secure.php.net/manual/en/intlcalendar.createinstance.php
+ * @param mixed $timeZone [optional] <p> <p>
+ * The timezone to use.
+ * </p>
+ *
+ * <ul>
+ * <li>
+ * <p>
+ * <b>NULL</b>, in which case the default timezone will be used, as specified in
+ * the ini setting {@link https://secure.php.net/manual/en/datetime.configuration.php#ini.date.timezone date.timezone} or
+ * through the function  {@link https://secure.php.net/manual/en/function.date-default-timezone-set.php date_default_timezone_set()} and as
+ * returned by {@link https://secure.php.net/manual/en/function.date-default-timezone-get.php date_default_timezone_get()}.
+ * </p>
+ * </li>
+ * <li>
+ * <p>
+ * An {@link https://secure.php.net/manual/en/class.intltimezone.php IntlTimeZone}, which will be used directly.
+ * </p>
+ * </li>
+ * <li>
+ * <p>
+ * A {@link https://secure.php.net/manual/en/class.datetimezone.php DateTimeZone}. Its identifier will be extracted
+ * and an ICU timezone object will be created; the timezone will be backed
+ * by ICU's database, not PHP's.
+ * </p>
+ * </li>
+ * <li>
+ * <p>
+ * A {@link https://secure.php.net/manual/en/language.types.string.php string}, which should be a valid ICU timezone identifier.
+ * See  <b>IntlTimeZone::createTimeZoneIDEnumeration()</b>. Raw
+ * offsets such as <em>"GMT+08:30"</em> are also accepted.
+ * </p>
+ * </li>
+ * </ul>
+ * </p>
+ * @param string $locale [optional] <p>
+ * A locale to use or <b>NULL</b> to use {@link https://secure.php.net/manual/en/intl.configuration.php#ini.intl.default-locale the default locale}.
+ * </p>
+ * @return IntlCalendar
+ * The created {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} instance or <b>NULL</b> on
+ * failure.
+ * @since 5.5
+ */
+function intlcal_create_instance($timeZone = null, $locale = null) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get set of locale keyword values
+ * @param string $key <p>
+ * The locale keyword for which relevant values are to be queried. Only
+ * <em>'calendar'</em> is supported.
+ * </p>
+ * @param string $locale <p>
+ * The locale onto which the keyword/value pair are to be appended.
+ * </p>
+ * @param bool $commonlyUsed
+ * <p>
+ * Whether to show only the values commonly used for the specified locale.
+ * </p>
+ * @return Iterator|false An iterator that yields strings with the locale keyword values or <b>FALSE</b> on failure.
+ * @since 5.5
+ */
+function intlcal_get_keyword_values_for_locale($key, $locale, $commonlyUsed) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get number representing the current time
+ * @link https://secure.php.net/manual/en/intlcalendar.getnow.php
+ * @return float A float representing a number of milliseconds since the epoch, not counting leap seconds.
+ * @since 5.5
+ */
+function intlcal_get_now() { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get array of locales for which there is data
+ * @link https://secure.php.net/manual/en/intlcalendar.getavailablelocales.php
+ * @return array An array of strings, one for which locale.
+ * @since 5.5
+ */
+
+function intlcal_get_available_locales() { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get the value for a field
+ * @link https://secure.php.net/manual/en/intlcalendar.get.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param int $field <p>
+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer
+ * values between <em>0</em> and
+ * <b>IntlCalendar::FIELD_COUNT</b>.
+ * </p>
+ * @return int An integer with the value of the time field.
+ * @since 5.5
+ */
+function intl_get($calendar, $field) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get time currently represented by the object
+ * @param IntlCalendar $calendar <p>The calendar whose time will be checked against this object's time.</p>
+ * @return float
+ * A {@link https://secure.php.net/manual/en/language.types.float.php float} representing the number of milliseconds elapsed since the
+ * reference time (1 Jan 1970 00:00:00 UTC).
+ * @since 5.5
+ */
+function intlcal_get_time($calendar) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Set the calendar time in milliseconds since the epoch
+ * @link https://secure.php.net/manual/en/intlcalendar.settime.php
+ * @param float $date <p>
+ * An instant represented by the number of number of milliseconds between
+ * such instant and the epoch, ignoring leap seconds.
+ * </p>
+ * @return bool
+ * Returns <b>TRUE</b> on success and <b>FALSE</b> on failure.
+ * @since 5.5
+ */
+function intlcal_set_time($date) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Add a (signed) amount of time to a field
+ * @link https://secure.php.net/manual/en/intlcalendar.add.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param int $field <p>
+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}.
+ * These are integer values between <em>0</em> and
+ * <b>IntlCalendar::FIELD_COUNT</b>.
+ * </p>
+ * @param int $amount <p>The signed amount to add to the current field. If the amount is positive, the instant will be moved forward; if it is negative, the instant wil be moved into the past. The unit is implicit to the field type.
+ * For instance, hours for IntlCalendar::FIELD_HOUR_OF_DAY.</p>
+ * @return bool Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ * @since 5.5
+ */
+function intlcal_add($calendar, $field, $amount) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Set the timezone used by this calendar
+ * @link https://secure.php.net/manual/en/intlcalendar.settimezone.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param mixed $timeZone <p>
+ * The new timezone to be used by this calendar. It can be specified in the
+ * following ways:
+ *
+ * </p><ul>
+ * <li>
+ * <p>
+ * <b>NULL</b>, in which case the default timezone will be used, as specified in
+ * the ini setting {@link https://secure.php.net/manual/en/datetime.configuration.php#ini.date.timezone date.timezone} or
+ * through the function  {@link https://secure.php.net/manual/en/function.date-default-timezone-set.php date_default_timezone_set()} and as
+ * returned by  {@link https://secure.php.net/manual/en/function.date-default-timezone-get.php date_default_timezone_get()}.
+ * </p>
+ * </li>
+ * <li>
+ * <p>
+ * An {@link https://secure.php.net/manual/en/class.intltimezone.php IntlTimeZone}, which will be used directly.
+ * </p>
+ * </li>
+ * <li>
+ * <p>
+ * A {@link https://secure.php.net/manual/en/class.datetimezone.php DateTimeZone}. Its identifier will be extracted
+ * and an ICU timezone object will be created; the timezone will be backed
+ * by ICU's database, not PHP's.
+ * </p>
+ * </li>
+ * <li>
+ * <p>
+ * A {@link https://secure.php.net/manual/en/language.types.string.php string}, which should be a valid ICU timezone identifier.
+ * See  <b>IntlTimeZone::createTimeZoneIDEnumeration()</b>. Raw
+ * offsets such as <em>"GMT+08:30"</em> are also accepted.
+ * </p>
+ * </li>
+ * </ul>
+ * @return bool Returns <b>TRUE</b> on success and <b>FALSE</b> on failure.
+ * @since 5.5
+ */
+function intlcal_set_time_zone($calendar, $timeZone) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Whether this object's time is after that of the passed object
+ * https://secure.php.net/manual/en/intlcalendar.after.php
+ * @param IntlCalendar $calendarObject <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param IntlCalendar $calendar <p>The calendar whose time will be checked against this object's time.</p>
+ * @return bool
+ * Returns <b>TRUE</b> if this object's current time is after that of the
+ * <em>calendar</em> argument's time. Returns <b>FALSE</b> otherwise.
+ * Also returns <b>FALSE</b> on failure. You can use {@link https://secure.php.net/manual/en/intl.configuration.php#ini.intl.use-exceptions exceptions} or
+ * {@link https://secure.php.net/manual/en/function.intl-get-error-code.php intl_get_error_code()} to detect error conditions.
+ * @since 5.5
+ */
+function intlcal_after(IntlCalendar $calendarObject, IntlCalendar $calendar) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Whether this object's time is before that of the passed object
+ * @link https://secure.php.net/manual/en/intlcalendar.before.php
+ * @param IntlCalendar $calendarObject <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param IntlCalendar $calendar <p> The calendar whose time will be checked against this object's time.</p>
+ * @return bool
+ * Returns <b>TRUE</B> if this object's current time is before that of the
+ * <em>calendar</em> argument's time. Returns <b>FALSE</b> otherwise.
+ * Also returns <b>FALSE</b> on failure. You can use {@link https://secure.php.net/manual/en/intl.configuration.php#ini.intl.use-exceptions exceptions} or
+ * {@link https://secure.php.net/manual/en/function.intl-get-error-code.php intl_get_error_code()} to detect error conditions.
+ * </p>
+ * @since 5.5
+ */
+function intlcal_before(IntlCalendar $calendarObject, IntlCalendar $calendar) { }
+
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Set a time field or several common fields at once
+ * @link https://secure.php.net/manual/en/intlcalendar.set.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param int $year <p>
+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer
+ * values between <em>0</em> and
+ * <b>IntlCalendar::FIELD_COUNT</b>.
+ * </p>
+ * @param int $month <p>
+ * The new value for <b>IntlCalendar::FIELD_MONTH</b>.
+ * </p>
+ * @param int $dayOfMonth [optional] <p>
+ * The new value for <b>IntlCalendar::FIELD_DAY_OF_MONTH</b>.
+ * The month sequence is zero-based, i.e., January is represented by 0,
+ * February by 1, ..., December is 11 and Undecember (if the calendar has
+ * it) is 12.
+ * </p>
+ * @param int $hour [optional]
+ * <p>
+ * The new value for <b>IntlCalendar::FIELD_HOUR_OF_DAY</b>.
+ * </p>
+ * @param int $minute [optional]
+ * <p>
+ * The new value for <b>IntlCalendar::FIELD_MINUTE</b>.
+ * </p>
+ * @param int $second [optional] <p>
+ * The new value for <b>IntlCalendar::FIELD_SECOND</b>.
+ *</p>
+ * @return bool Returns <b>TRUE</b> on success and <b>FALSE</b> on failure.
+ * @since 5.5
+ */
+function intlcal_set($calendar, $year, $month, $dayOfMonth = null, $hour = null, $minute = null, $second = null) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Add value to field without carrying into more significant fields
+ * @link https://secure.php.net/manual/en/intlcalendar.roll.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param int $field <p>One of the
+ * {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time
+ * {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}.
+ * These are integer values between <em>0</em> and
+ * <b>IntlCalendar::FIELD_COUNT</b>.
+ * </p>
+ * @param mixed $amountOrUpOrDown <p>
+ * The (signed) amount to add to the field, <b>TRUE</b> for rolling up (adding
+ * <em>1</em>), or <b>FALSE</b> for rolling down (subtracting
+ * <em>1</em>).
+ * </p>
+ * @return bool Returns <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ * @since 5.5
+ */
+function intlcal_roll($calendar, $field, $amountOrUpOrDown) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Clear a field or all fields
+ * @link https://secure.php.net/manual/en/intlcalendar.clear.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param int $field [optional] <p>
+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer
+ * values between <em>0</em> and
+ * <b>IntlCalendar::FIELD_COUNT</b>.
+ * </p>
+ * @return bool Returns <b>TRUE</b> on success or <b>FALSE</b> on failure. Failure can only occur is invalid arguments are provided.
+ * @since 5.5
+ */
+function intlcal_clear($calendar, $field = null) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Calculate difference between given time and this object's time
+ * @link https://secure.php.net/manual/en/intlcalendar.fielddifference.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param float $when <p>
+ * The time against which to compare the quantity represented by the
+ * <em>field</em>. For the result to be positive, the time
+ * given for this parameter must be ahead of the time of the object the
+ * method is being invoked on.
+ * </p>
+ * @param int $field <p>
+ * The field that represents the quantity being compared.
+ * </p>
+ *
+ * <p>
+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer
+ * values between <em>0</em> and
+ * <b>IntlCalendar::FIELD_COUNT</b>.
+ * </p>
+ * @return int Returns a (signed) difference of time in the unit associated with the
+ * specified field or <b>FALSE</b> on failure.
+ * @since 5.5
+ */
+function intlcal_field_difference($calendar, $when, $field) { }
+
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * The maximum value for a field, considering the object's current time
+ * @link https://secure.php.net/manual/en/intlcalendar.getactualmaximum.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param int $field <p>
+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer
+ * values between <em>0</em> and
+ * <b>IntlCalendar::FIELD_COUNT</b>.
+ * </p>
+ * @return int
+ * An {@link https://secure.php.net/manual/en/language.types.integer.php int} representing the maximum value in the units associated
+ * with the given <em>field</em> or <b>FALSE</b> on failure.
+ * @since 5.5
+ */
+function intlcal_get_actual_maximum($calendar, $field) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * The minimum value for a field, considering the object's current time
+ * @link https://secure.php.net/manual/en/intlcalendar.getactualminimum.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param int $field <p>
+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}.
+ * These are integer values between <em>0</em> and
+ * <b>IntlCalendar::FIELD_COUNT</b>.
+ * </p>
+ * @return int
+ * An {@link https://secure.php.net/manual/en/language.types.integer.php int} representing the minimum value in the field's
+ * unit or <b>FALSE</b> on failure.
+ * @since 5.5
+ */
+function intlcal_get_actual_minimum($calendar, $field) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * @link https://secure.php.net/manual/en/intlcalendar.getdayofweektype.php
+ * Tell whether a day is a weekday, weekend or a day that has a transition between the two
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param int $dayOfWeek <p>
+ * One of the constants <b>IntlCalendar::DOW_SUNDAY</b>,
+ * <b>IntlCalendar::DOW_MONDAY</b>, ...,
+ * <b>IntlCalendar::DOW_SATURDAY</b>.
+ * </p>
+ * @return int
+ * Returns one of the constants
+ * <b>IntlCalendar::DOW_TYPE_WEEKDAY</b>,
+ * <b>IntlCalendar::DOW_TYPE_WEEKEND</b>,
+ * <b>IntlCalendar::DOW_TYPE_WEEKEND_OFFSET</b> or
+ * <b>IntlCalendar::DOW_TYPE_WEEKEND_CEASE</b> or <b>FALSE</b> on failure.
+ * @since 5.5
+ */
+function intlcal_get_day_of_week_type($calendar, $dayOfWeek) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get the first day of the week for the calendar's locale
+ * @link https://secure.php.net/manual/en/intlcalendar.getfirstdayofweek.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @return int
+ * One of the constants <b>IntlCalendar::DOW_SUNDAY</b>,
+ * <b>IntlCalendar::DOW_MONDAY</b>, ...,
+ * <b>IntlCalendar::DOW_SATURDAY</b> or <b>FALSE</b> on failure.
+ * @since 5.5
+ */
+function intlcal_get_first_day_of_week($calendar) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get the largest local minimum value for a field
+ * @link https://secure.php.net/manual/en/intlcalendar.getgreatestminimum.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param int $field <p>
+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer
+ * values between <em>0</em> and
+ * <b>IntlCalendar::FIELD_COUNT</b>.
+ * @return int
+ * An {@link https://secure.php.net/manual/en/language.types.integer.php int} representing a field value, in the field's
+ * unit, or <b>FALSE</b> on failure.
+ * @since 5.5
+ */
+function intlcal_greates_minimum($calendar, $field) { }
+
+/**
+ * (PHP &gt;= 5.3.2, PECL intl &gt;= 2.0.0)<br/>
+ * Get data from the bundle
+ * @link https://php.net/manual/en/resourcebundle.get.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param string|int $index <p>
+ * Data index, must be string or integer.
+ * </p>
+ * @return mixed the data located at the index or <b>NULL</b> on error. Strings, integers and binary data strings
+ * are returned as corresponding PHP types, integer array is returned as PHP array. Complex types are
+ * returned as <b>ResourceBundle</b> object.
+ */
+function intlcal_get($calendar, $index) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get the smallest local maximum for a field
+ * @link https://secure.php.net/manual/en/intlcalendar.getleastmaximum.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param int $field <p>
+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer
+ * values between <em>0</em> and
+ * <b>IntlCalendar::FIELD_COUNT</b>.
+ * </p>
+ * @return int
+ * An {@link https://secure.php.net/manual/en/language.types.integer.ph int} representing a field value in the field's
+ * unit or <b>FALSE</b> on failure.
+ * </p>
+ * @since 5.5
+ */
+function intlcal_get_least_maximum($calendar, $field) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get the largest local minimum value for a field
+ * @link https://secure.php.net/manual/en/intlcalendar.getgreatestminimum.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param int $field <p>
+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer
+ * values between <em>0</em> and
+ * <b>IntlCalendar::FIELD_COUNT</b>.
+ * @return int
+ * An {@link https://secure.php.net/manual/en/language.types.integer.php int} representing a field value, in the field's
+ * unit, or <b>FALSE</b> on failure.
+ * @since 5.5
+ */
+function intlcal_get_greatest_minimum($calendar, $field) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get the locale associated with the object
+ * @link https://secure.php.net/manual/en/intlcalendar.getlocale.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param int $localeType <p>
+ * Whether to fetch the actual locale (the locale from which the calendar
+ * data originates, with <b>Locale::ACTUAL_LOCALE</b>) or the
+ * valid locale, i.e., the most specific locale supported by ICU relatively
+ * to the requested locale – see <b>Locale::VALID_LOCALE</b>.
+ * From the most general to the most specific, the locales are ordered in
+ * this fashion – actual locale, valid locale, requested locale.
+ * </p>
+ * @return string
+ * A locale string or <b>FALSE</b> on failure.
+ * @since 5.5
+ */
+function intlcal_get_locale($calendar, $localeType) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get the global maximum value for a field
+ * @link https://secure.php.net/manual/en/intlcalendar.getmaximum.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param int $field <p>
+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer
+ * values between <em>0</em> and
+ * <b>IntlCalendar::FIELD_COUNT</b>.
+ * </p>
+ * @return string
+ * A locale string or <b>FALSE</b> on failure.
+ * @since 5.5
+ */
+function intcal_get_maximum($calendar, $field) { }
+
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * @link https://secure.php.net/manual/en/intlcalendar.getminimaldaysinfirstweek.php
+ * Get minimal number of days the first week in a year or month can have
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @return int
+ * An {@link https://secure.php.net/manual/en/language.types.integer.php  int} representing a number of days or <b>FALSE</b> on failure.
+ * @since 5.5
+ */
+function intlcal_get_minimal_days_in_first_week($calendar) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get the global minimum value for a field
+ * @link https://secure.php.net/manual/en/intlcalendar.getminimum.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param int $field <p>
+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field}. These are integer
+ * values between <em>0</em> and
+ * <b>IntlCalendar::FIELD_COUNT</b>.
+ * </p>
+ * @return int
+ * An int representing a value for the given field in the field's unit or FALSE on failure.
+ * @since 5.5
+ */
+function intlcal_get_minimum($calendar, $field) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get the object's timezone
+ * @link https://secure.php.net/manual/en/intlcalendar.gettimezone.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @return IntlTimeZone
+ * An {@link https://secure.php.net/manual/en/class.intltimezone.php IntlTimeZone} object corresponding to the one used
+ * internally in this object.
+ * @since 5.5
+ */
+function intlcal_get_time_zone($calendar) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get the calendar type
+ * @link https://secure.php.net/manual/en/intlcalendar.gettype.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @return string
+ * A {@link https://secure.php.net/manual/en/language.types.string.php string} representing the calendar type, such as
+ * <em>'gregorian'</em>, <em>'islamic'</em>, etc.
+ * @since 5.5
+ */
+function intlcal_get_type($calendar) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get time of the day at which weekend begins or ends
+ * @link https://secure.php.net/manual/en/intlcalendar.getweekendtransition.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param string $dayOfWeek <p>
+ * One of the constants <b>IntlCalendar::DOW_SUNDAY</b>,
+ * <b>IntlCalendar::DOW_MONDAY</b>, ...,
+ * <b>IntlCalendar::DOW_SATURDAY</b>.
+ * </p>
+ * @return int
+ * The number of milliseconds into the day at which the the weekend begins or
+ * ends or <b>FALSE</b> on failure.
+ * @since 5.5
+ */
+function intlcal_get_weekend_transition($calendar, $dayOfWeek) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Whether the object's time is in Daylight Savings Time
+ * @link https://secure.php.net/manual/en/intlcalendar.indaylighttime.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @return bool
+ * Returns <b>TRUE</b> if the date is in Daylight Savings Time, <b>FALSE</b> otherwise.
+ * The value <b>FALSE</b> may also be returned on failure, for instance after
+ * specifying invalid field values on non-lenient mode; use {@link https://secure.php.net/manual/en/intl.configuration.php#ini.intl.use-exceptions exceptions} or query
+ * {@link https://secure.php.net/manual/en/function.intl-get-error-code.php intl_get_error_code()} to disambiguate.
+ * @since 5.5
+ */
+function intlcal_in_daylight_time($calendar) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Whether date/time interpretation is in lenient mode
+ * @link https://secure.php.net/manual/en/intlcalendar.islenient.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @return bool
+ * A {@link https://secure.php.net/manual/en/language.types.boolean.php bool} representing whether the calendar is set to lenient mode.
+ * @since 5.5
+ */
+function intlcal_is_lenient($calendar) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Whether a field is set
+ * @link https://secure.php.net/manual/en/intlcalendar.isset.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param int $field <p>
+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer
+ * values between <em>0</em> and
+ * <b>IntlCalendar::FIELD_COUNT</b>.
+ * </p>
+ * @return bool Assuming there are no argument errors, returns <b>TRUE</b> iif the field is set.
+ * @since 5.5
+ */
+function intlcal_is_set($calendar, $field) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get the global maximum value for a field
+ * @link https://secure.php.net/manual/en/intlcalendar.getmaximum.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param int $field <p>
+ * One of the {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} date/time {@link https://secure.php.net/manual/en/class.intlcalendar.php#intlcalendar.constants field constants}. These are integer
+ * values between <em>0</em> and
+ * <b>IntlCalendar::FIELD_COUNT</b>.
+ * </p>
+ * @return string
+ * A locale string or <b>FALSE</b> on failure.
+ * @since 5.5
+ */
+function intlcal_get_maximum($calendar, $field) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Whether another calendar is equal but for a different time
+ * @link https://secure.php.net/manual/en/intlcalendar.isequivalentto.php
+ * @param IntlCalendar $calendarObject <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param IntlCalendar $calendar The other calendar against which the comparison is to be made.
+ * @return bool
+ * Assuming there are no argument errors, returns <b>TRUE</b> iif the calendars are equivalent except possibly for their set time.
+ * @since 5.5
+ */
+function intlcal_is_equivalent_to(IntlCalendar $calendarObject, IntlCalendar $calendar) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Whether a certain date/time is in the weekend
+ * @link https://secure.php.net/manual/en/intlcalendar.isweekend.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param float|null $date [optional] <p>
+ * An optional timestamp representing the number of milliseconds since the
+ * epoch, excluding leap seconds. If <b>NULL</b>, this object's current time is
+ * used instead.
+ * </p>
+ * @return bool
+ * <p> A {@link https://secure.php.net/manual/en/language.types.boolean.php bool} indicating whether the given or this object's time occurs
+ * in a weekend.
+ * </p>
+ * <p>
+ * The value <b>FALSE</b> may also be returned on failure, for instance after giving
+ * a date out of bounds on non-lenient mode; use {@link https://secure.php.net/manual/en/intl.configuration.php#ini.intl.use-exceptions exceptions} or query
+ * {@link https://secure.php.net/manual/en/function.intl-get-error-code.php intl_get_error_code()} to disambiguate.</p>
+ * @since 5.5
+ */
+function intlcal_is_weekend($calendar, $date = null) { }
+
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Set the day on which the week is deemed to start
+ * @link https://secure.php.net/manual/en/intlcalendar.setfirstdayofweek.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param int $dayOfWeek <p>
+ * One of the constants <b>IntlCalendar::DOW_SUNDAY</b>,
+ * <b>IntlCalendar::DOW_MONDAY</b>, ...,
+ * <b>IntlCalendar::DOW_SATURDAY</b>.
+ * </p>
+ * @return bool Returns TRUE on success. Failure can only happen due to invalid parameters.
+ * @since 5.5
+ */
+function intlcal_set_first_day_of_week($calendar, $dayOfWeek) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Set whether date/time interpretation is to be lenient
+ * @link https://secure.php.net/manual/en/intlcalendar.setlenient.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param string $isLenient <p>
+ * Use <b>TRUE</b> to activate the lenient mode; <b>FALSE</b> otherwise.
+ * </p>
+ * @return bool Returns <b>TRUE</b> on success. Failure can only happen due to invalid parameters.
+ * @since 5.5
+ */
+function intlcal_set_lenient($calendar, $isLenient) { }
+
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get behavior for handling repeating wall time
+ * @link https://secure.php.net/manual/en/intlcalendar.getrepeatedwalltimeoption.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @return int
+ * One of the constants <b>IntlCalendar::WALLTIME_FIRST</b> or
+ * <b>IntlCalendar::WALLTIME_LAST</b>.
+ * @since 5.5
+ */
+function intlcal_get_repeated_wall_time_option($calendar) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Compare time of two IntlCalendar objects for equality
+ * @link https://secure.php.net/manual/en/intlcalendar.equals.php
+ * @param IntlCalendar $calendarObject <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param IntlCalendar $calendar
+ * @return bool <p>
+ * Returns <b>TRUE</b> if the current time of both this and the passed in
+ * {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} object are the same, or <b>FALSE</b>
+ * otherwise. The value <b>FALSE</b> can also be returned on failure. This can only
+ * happen if bad arguments are passed in. In any case, the two cases can be
+ * distinguished by calling  {@link https://secure.php.net/manual/en/function.intl-get-error-code.php intl_get_error_code()}.
+ * </p>
+ * @since 5.5
+ */
+function intlcal_equals($calendarObject, $calendar) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get behavior for handling skipped wall time
+ * @link https://secure.php.net/manual/en/intlcalendar.getskippedwalltimeoption.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @return int
+ * One of the constants <b>IntlCalendar::WALLTIME_FIRST</b>,
+ * <b>IntlCalendar::WALLTIME_LAST</b> or
+ * <b>IntlCalendar::WALLTIME_NEXT_VALID</b>.
+ * @since 5.5
+ */
+function intlcal_get_skipped_wall_time_option($calendar) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Set behavior for handling repeating wall times at negative timezone offset transitions
+ * @link https://secure.php.net/manual/en/intlcalendar.setrepeatedwalltimeoption.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param int $wallTimeOption <p>
+ * One of the constants <b>IntlCalendar::WALLTIME_FIRST</b> or
+ * <b>IntlCalendar::WALLTIME_LAST</b>.
+ * </p>
+ * @return bool
+ * Returns <b>TRUE</b> on success. Failure can only happen due to invalid parameters.
+ * @since 5.5
+ */
+function intlcal_set_repeated_wall_time_option($calendar, $wallTimeOption) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Set behavior for handling skipped wall times at positive timezone offset transitions
+ * @link https://secure.php.net/manual/en/intlcalendar.setskippedwalltimeoption.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @param int $wallTimeOption <p>
+ * One of the constants <b>IntlCalendar::WALLTIME_FIRST</b>,
+ * <b>IntlCalendar::WALLTIME_LAST</b> or
+ * <b>IntlCalendar::WALLTIME_NEXT_VALID</b>.
+ * </p>
+ * @return bool
+ * <p>
+ * Returns <b>TRUE</b> on success. Failure can only happen due to invalid parameters.
+ * </p>
+ * @since 5.5
+ */
+function intlcal_set_skipped_wall_time_option($calendar, $wallTimeOption) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a2)<br/>
+ * Create an IntlCalendar from a DateTime object or string
+ * @link https://secure.php.net/manual/en/intlcalendar.fromdatetime.php
+ * @param mixed $dateTime <p>
+ * A {@link https://secure.php.net/manual/en/class.datetime.php DateTime} object or a {@link https://secure.php.net/manual/en/language.types.string.php string} that
+ * can be passed to  {@link https://secure.php.net/manual/en/datetime.construct.php DateTime::__construct()}.
+ * </p>
+ * @return IntlCalendar
+ * The created {@link https://secure.php.net/manual/en/class.intlcalendar.php IntlCalendar} object or <b>NULL</b> in case of
+ * failure. If a {@link https://secure.php.net/manual/en/language.types.string.php string} is passed, any exception that occurs
+ * inside the {@link https://secure.php.net/manual/en/class.datetime.php DateTime} constructor is propagated.
+ * @since 5.5
+ */
+function intlcal_from_date_time($dateTime) { }
+
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a2)<br/>
+ * Convert an IntlCalendar into a DateTime object
+ * @link https://secure.php.net/manual/en/intlcalendar.todatetime.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @return DateTime|false
+ * A {@link https://secure.php.net/manual/en/class.datetime.php DateTime} object with the same timezone as this
+ * object (though using PHP's database instead of ICU's) and the same time,
+ * except for the smaller precision (second precision instead of millisecond).
+ * Returns <b>FALSE</b> on failure.
+ * @since 5.5
+ */
+function intlcal_to_date_time($calendar) { }
+
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get last error code on the object
+ * @link https://secure.php.net/manual/en/intlcalendar.geterrorcode.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @return int An ICU error code indicating either success, failure or a warning.
+ * @since 5.5
+ */
+function intlcal_get_error_code($calendar) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get last error message on the object
+ * @link https://secure.php.net/manual/en/intlcalendar.geterrormessage.php
+ * @param IntlCalendar $calendar <p>
+ * The calendar object, on the procedural style interface.
+ * </p>
+ * @return string The error message associated with last error that occurred in a function call on this object, or a string indicating the non-existance of an error.
+ * @since 5.5
+ */
+function intlcal_get_error_message($calendar) { }
+
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get the number of IDs in the equivalency group that includes the given ID
+ * @link https://secure.php.net/manual/en/intltimezone.countequivalentids.php
+ * @param string $zoneId
+ * @return int
+ * @since 5.5
+ */
+function intltz_count_equivalent_ids($zoneId) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Create a new copy of the default timezone for this host
+ * @link https://secure.php.net/manual/en/intltimezone.createdefault.php
+ * @return IntlTimeZone
+ * @since 5.5
+ */
+function intlz_create_default() { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * @link https://secure.php.net/manual/en/intltimezone.createenumeration.php
+ * @param mixed $countryOrRawOffset [optional]
+ * @return IntlIterator
+ * @since 5.5
+ */
+function intltz_create_enumeration($countryOrRawOffset) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * @link https://secure.php.net/manual/en/intltimezone.createtimezone.php
+ * @param string $zoneId
+ * @return IntlTimeZone
+ * @since 5.5
+ */
+function intltz_create_time_zone($zoneId) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * @link https://secure.php.net/manual/en/intltimezone.fromdatetimezone.php
+ * @param DateTimeZone $zoneId
+ * @return IntlTimeZone
+ * @since 5.5
+ */
+function intltz_from_date_time_zone($zoneId) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID
+ * @link https://secure.php.net/manual/en/intltimezone.getcanonicalid.php
+ * @param string $zoneId
+ * @param bool $isSystemID [optional]
+ * @return string
+ * @since 5.5
+ */
+function intltz_get_canonical_id($zoneId, &$isSystemID) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get a name of this time zone suitable for presentation to the user
+ * @param IntlTimeZone $obj - <p>
+ * The time zone object, on the procedural style interface.
+ * </p>
+ * @param bool $isDaylight [optional]
+ * @param int $style [optional]
+ * @param string $locale [optional]
+ * @return string
+ * @since 5.5
+ */
+function intltz_get_display_name($obj, $isDaylight, $style, $locale) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get the amount of time to be added to local standard time to get local wall clock time
+ * @param IntlTimeZone $obj - <p>
+ * The time zone object, on the procedural style interface.
+ * </p>
+ * @link https://secure.php.net/manual/en/intltimezone.getequivalentid.php
+ * @return int
+ * @since 5.5
+ */
+function intltz_get_dst_savings($obj) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get an ID in the equivalency group that includes the given ID
+ * @link https://secure.php.net/manual/en/intltimezone.getequivalentid.php
+ * @param string $zoneId
+ * @param int $index
+ * @return string
+ * @since 5.5
+ */
+function intltz_get_equivalent_id($zoneId, $index) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get last error code on the object
+ * @link https://secure.php.net/manual/en/intltimezone.geterrorcode.php
+ * @param IntlTimeZone $obj - <p>
+ * The time zone object, on the procedural style interface.
+ * </p>
+ * @return int
+ * @since 5.5
+ */
+function intltz_get_error_code($obj) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get last error message on the object
+ * @link https://secure.php.net/manual/en/intltimezone.geterrormessage.php
+ * @param IntlTimeZone $obj - <p>
+ * The time zone object, on the procedural style interface.
+ * </p>
+ * @return string
+ * @since 5.5
+ */
+function intltz_get_error_message($obj) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Create GMT (UTC) timezone
+ * @link https://secure.php.net/manual/en/intltimezone.getgmt.php
+ * @return IntlTimeZone
+ * @since 5.5
+ */
+function intltz_getGMT() { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get timezone ID
+ * @link https://secure.php.net/manual/en/intltimezone.getid.php
+ * @param IntlTimeZone $obj
+ * @return string
+ * @since 5.5
+ */
+function intltz_get_id($obj) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get the time zone raw and GMT offset for the given moment in time
+ * @link https://secure.php.net/manual/en/intltimezone.getoffset.php
+ * @param IntlTimeZone $obj
+ * @param float $date
+ * @param bool $local
+ * @param int $rawOffset
+ * @param int $dstOffset
+ * @return int
+ * @since 5.5
+ */
+function intltz_get_offset($obj, $date, $local, &$rawOffset, &$dstOffset) { }
+
+/**
+ * Get the raw GMT offset (before taking daylight savings time into account
+ * @link https://secure.php.net/manual/en/intltimezone.getrawoffset.php
+ * @param IntlTimeZone $obj
+ * @return int
+ */
+function intltz_get_raw_offset($obj) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Get the timezone data version currently used by ICU
+ * @link https://secure.php.net/manual/en/intltimezone.gettzdataversion.php
+ * @param IntlTimeZone $obj
+ * @return string
+ * @since 5.5
+ */
+function intltz_get_tz_data_version($obj) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Check if this zone has the same rules and offset as another zone
+ * @link https://secure.php.net/manual/en/intltimezone.hassamerules.php
+ * @param IntlTimeZone $obj
+ * @param IntlTimeZone $otherTimeZone
+ * @return bool
+ * @since 5.5
+ */
+function intltz_has_same_rules($obj, $otherTimeZone) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Convert to DateTimeZone object
+ * @link https://secure.php.net/manual/ru/intltimezone.todatetimezone.php
+ * @param $obj
+ * @return DateTimeZone
+ * @since 5.5
+ */
+function intltz_to_date_time_zone($obj) { }
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * Check if this time zone uses daylight savings time
+ * @link https://secure.php.net/manual/ru/intltimezone.usedaylighttime.php
+ * @param $obj
+ * @return bool
+ * @since 5.5
+ */
+function intltz_use_daylight_time($obj) { }
+
+
+/**
+ * (PHP 5 &gt;=5.5.0 PECL intl &gt;= 3.0.0a1)<br/>
+ * @param mixed $timeZone
+ * @param string $locale
+ * @return IntlGregorianCalendar
+ * @since 5.5
+ */
+function intlgregcal_create_instance($timeZone = null, $locale = null) { }
+
+/**
+ * @param IntlGregorianCalendar $obj
+ * @param double $change
+ *
+ */
+function intlgregcal_set_gregorian_change($obj, $change) { }
+
+/**
+ * @param IntlGregorianCalendar $obj
+ * @return double $change
+ */
+function intlgregcal_get_gregorian_change($obj) { }
+
+/**
+ * @param int $year
+ * @return bool
+ */
+function intlgregcal_is_leap_year($year) { }
+
+
+/**
+ * (PHP &gt;= 5.3.2, PECL intl &gt;= 2.0.0)<br/>
+ * Create a resource bundle
+ * @link https://php.net/manual/en/resourcebundle.create.php
+ * @param string $locale <p>
+ * Locale for which the resources should be loaded (locale name, e.g. en_CA).
+ * </p>
+ * @param string $bundlename <p>
+ * The directory where the data is stored or the name of the .dat file.
+ * </p>
+ * @param bool $fallback [optional] <p>
+ * Whether locale should match exactly or fallback to parent locale is allowed.
+ * </p>
+ * @return ResourceBundle|false <b>ResourceBundle</b> object or <b>FALSE</b> on error.
+ */
+function resourcebundle_create($locale, $bundlename, $fallback = null) { }
+
+/**
+ * (PHP &gt;= 5.3.2, PECL intl &gt;= 2.0.0)<br/>
+ * Get data from the bundle
+ * @link https://php.net/manual/en/resourcebundle.get.php
+ * @param ResourceBundle $r
+ * @param string|int $index <p>
+ * Data index, must be string or integer.
+ * </p>
+ * @return mixed the data located at the index or <b>NULL</b> on error. Strings, integers and binary data strings
+ * are returned as corresponding PHP types, integer array is returned as PHP array. Complex types are
+ * returned as <b>ResourceBundle</b> object.
+ */
+function resourcebundle_get(ResourceBundle $r, $index) { }
+
+/**
+ * (PHP &gt;= 5.3.2, PECL intl &gt;= 2.0.0)<br/>
+ * Get number of elements in the bundle
+ * @link https://php.net/manual/en/resourcebundle.count.php
+ * @param ResourceBundle $r
+ * @param $bundle
+ * @return int number of elements in the bundle.
+ */
+function resourcebundle_count(ResourceBundle $r, $bundle) { }
+
+/**
+ * (PHP &gt;= 5.3.2, PECL intl &gt;= 2.0.0)<br/>
+ * Get supported locales
+ * @link https://php.net/manual/en/resourcebundle.locales.php
+ * @param string $bundlename <p>
+ * Path of ResourceBundle for which to get available locales, or
+ * empty string for default locales list.
+ * </p>
+ * @return array the list of locales supported by the bundle.
+ */
+function resourcebundle_locales($bundlename) { }
+
+/**
+ * (PHP &gt;= 5.3.2, PECL intl &gt;= 2.0.0)<br/>
+ * Get bundle's last error code.
+ * @link https://php.net/manual/en/resourcebundle.geterrorcode.php
+ * @param $bundle
+ * @return int error code from last bundle object call.
+ */
+function resourcebundle_get_error_code(ResourceBundle $bundle) { }
+
+/**
+ * (PHP &gt;= 5.3.2, PECL intl &gt;= 2.0.0)<br/>
+ * Get bundle's last error message.
+ * @link https://php.net/manual/en/resourcebundle.geterrormessage.php
+ * @param $bundle
+ * @return string error message from last bundle object's call.
+ */
+function resourcebundle_get_error_message(ResourceBundle $bundle) { }
+
+/**
+ * (PHP &gt;= 5.4.0, PECL intl &gt;= 2.0.0)<br/>
+ * Create a transliterator
+ * @link https://php.net/manual/en/transliterator.create.php
+ * @param string $id <p>
+ * The id.
+ * </p>
+ * @param int $direction [optional] <p>
+ * The direction, defaults to
+ * >Transliterator::FORWARD.
+ * May also be set to
+ * Transliterator::REVERSE.
+ * </p>
+ * @return Transliterator|null a <b>Transliterator</b> object on success,
+ * or <b>NULL</b> on failure.
+ * @since 5.4
+ */
+function transliterator_create($id, $direction = null) { }
+
+/**
+ * (PHP &gt;= 5.4.0, PECL intl &gt;= 2.0.0)<br/>
+ * Create transliterator from rules
+ * @link https://php.net/manual/en/transliterator.createfromrules.php
+ * @param string $rules <p>
+ * The rules.
+ * </p>
+ * @param string $direction [optional] <p>
+ * The direction, defaults to
+ * >Transliterator::FORWARD.
+ * May also be set to
+ * Transliterator::REVERSE.
+ * </p>
+ * @return Transliterator a <b>Transliterator</b> object on success,
+ * or <b>NULL</b> on failure.
+ * @since 5.4
+ */
+function transliterator_create_from_rules($rules, $direction = null) { }
+
+/**
+ * (PHP &gt;= 5.4.0, PECL intl &gt;= 2.0.0)<br/>
+ * Get transliterator IDs
+ * @link https://php.net/manual/en/transliterator.listids.php
+ * @return array An array of registered transliterator IDs on success,
+ * or <b>FALSE</b> on failure.
+ * @since 5.4
+ */
+function transliterator_list_ids() { }
+
+/**
+ * (PHP &gt;= 5.4.0, PECL intl &gt;= 2.0.0)<br/>
+ * Create an inverse transliterator
+ * @link https://php.net/manual/en/transliterator.createinverse.php
+ * @param Transliterator $orig_trans
+ * @return Transliterator a <b>Transliterator</b> object on success,
+ * or <b>NULL</b> on failure
+ * @since 5.4
+ */
+function transliterator_create_inverse(Transliterator $orig_trans) { }
+
+/**
+ * (PHP &gt;= 5.4.0, PECL intl &gt;= 2.0.0)<br/>
+ * Transliterate a string
+ * @link https://php.net/manual/en/transliterator.transliterate.php
+ * @param Transliterator|string $transliterator
+ * @param string $subject <p>
+ * The string to be transformed.
+ * </p>
+ * @param int $start [optional] <p>
+ * The start index (in UTF-16 code units) from which the string will start
+ * to be transformed, inclusive. Indexing starts at 0. The text before will
+ * be left as is.
+ * </p>
+ * @param int $end [optional] <p>
+ * The end index (in UTF-16 code units) until which the string will be
+ * transformed, exclusive. Indexing starts at 0. The text after will be
+ * left as is.
+ * </p>
+ * @return string|false The transfomed string on success, or <b>FALSE</b> on failure.
+ * @since 5.4
+ */
+function transliterator_transliterate($transliterator, $subject, $start = null, $end = null) { }
+
+/**
+ * (PHP &gt;= 5.4.0, PECL intl &gt;= 2.0.0)<br/>
+ * Get last error code
+ * @link https://php.net/manual/en/transliterator.geterrorcode.php
+ * @param Transliterator $trans
+ * @return int The error code on success,
+ * or <b>FALSE</b> if none exists, or on failure.
+ * @since 5.4
+ */
+function transliterator_get_error_code(Transliterator $trans) { }
+
+/**
+ * (PHP &gt;= 5.4.0, PECL intl &gt;= 2.0.0)<br/>
+ * Get last error message
+ * @link https://php.net/manual/en/transliterator.geterrormessage.php
+ * @param Transliterator $trans
+ * @return string The error code on success,
+ * or <b>FALSE</b> if none exists, or on failure.
+ * @since 5.4
+ */
+function transliterator_get_error_message(Transliterator $trans) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get the last error code
+ * @link https://php.net/manual/en/function.intl-get-error-code.php
+ * @return int Error code returned by the last API function call.
+ */
+function intl_get_error_code() { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get description of the last error
+ * @link https://php.net/manual/en/function.intl-get-error-message.php
+ * @return string Description of an error occurred in the last API function call.
+ */
+function intl_get_error_message() { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Check whether the given error code indicates failure
+ * @link https://php.net/manual/en/function.intl-is-failure.php
+ * @param int $error_code <p>
+ * is a value that returned by functions:
+ * <b>intl_get_error_code</b>,
+ * <b>collator_get_error_code</b> .
+ * </p>
+ * @return bool <b>TRUE</b> if it the code indicates some failure, and <b>FALSE</b>
+ * in case of success or a warning.
+ */
+function intl_is_failure($error_code) { }
+
+/**
+ * (PHP 5 &gt;= 5.3.0, PECL intl &gt;= 1.0.0)<br/>
+ * Get symbolic name for a given error code
+ * @link https://php.net/manual/en/function.intl-error-name.php
+ * @param int $error_code <p>
+ * ICU error code.
+ * </p>
+ * @return string The returned string will be the same as the name of the error code
+ * constant.
+ */
+function intl_error_name($error_code) { }
+
+/**
+ * Gets the Decomposition_Mapping property for the given UTF-8 encoded code point
+ *
+ * @link https://www.php.net/manual/en/normalizer.getrawdecomposition.php
+ *
+ * @param string $input
+ * @return string|null
+ *
+ * @since 7.3
+ */
+function normalizer_get_raw_decomposition($input) { }
+
+/**
+ * @since 5.5
+ */
+function intltz_create_default() { }
+
+/**
+ * @since 5.5
+ */
+function intltz_get_gmt() { }
+
+/**
+ * @since 5.5
+ */
+function intltz_get_unknown() { }
+
+/**
+ * @since 5.5
+ */
+function intltz_create_time_zone_id_enumeration($zoneType, $region = null, $rawOffset = null) { }
+
+/**
+ * @since 5.5
+ */
+function intltz_get_region($zoneId) { }
+
+/**
+ * Set minimal number of days the first week in a year or month can have
+ *
+ * @link https://www.php.net/manual/en/intlcalendar.setminimaldaysinfirstweek.php
+ *
+ * @param IntlCalendar $calendar
+ * @param int $numberOfDays
+ * @return bool
+ *
+ * @since 5.5.1
+ */
+function intlcal_set_minimal_days_in_first_week(IntlCalendar $calendar, $numberOfDays) { }
+
+/**
+ * Limit on locale length, set to 80 in PHP code. Locale names longer
+ * than this limit will not be accepted.
+ * @link https://php.net/manual/en/intl.constants.php
+ */
+define ('INTL_MAX_LOCALE_LEN', 80);
+define ('INTL_ICU_VERSION', "4.8.1.1");
+define ('INTL_ICU_DATA_VERSION', "4.8.1");
+define ('ULOC_ACTUAL_LOCALE', 0);
+define ('ULOC_VALID_LOCALE', 1);
+define ('GRAPHEME_EXTR_COUNT', 0);
+define ('GRAPHEME_EXTR_MAXBYTES', 1);
+define ('GRAPHEME_EXTR_MAXCHARS', 2);
+define ('U_USING_FALLBACK_WARNING', -128);
+define ('U_ERROR_WARNING_START', -128);
+define ('U_USING_DEFAULT_WARNING', -127);
+define ('U_SAFECLONE_ALLOCATED_WARNING', -126);
+define ('U_STATE_OLD_WARNING', -125);
+define ('U_STRING_NOT_TERMINATED_WARNING', -124);
+define ('U_SORT_KEY_TOO_SHORT_WARNING', -123);
+define ('U_AMBIGUOUS_ALIAS_WARNING', -122);
+define ('U_DIFFERENT_UCA_VERSION', -121);
+define ('U_ERROR_WARNING_LIMIT', -119);
+define ('U_ZERO_ERROR', 0);
+define ('U_ILLEGAL_ARGUMENT_ERROR', 1);
+define ('U_MISSING_RESOURCE_ERROR', 2);
+define ('U_INVALID_FORMAT_ERROR', 3);
+define ('U_FILE_ACCESS_ERROR', 4);
+define ('U_INTERNAL_PROGRAM_ERROR', 5);
+define ('U_MESSAGE_PARSE_ERROR', 6);
+define ('U_MEMORY_ALLOCATION_ERROR', 7);
+define ('U_INDEX_OUTOFBOUNDS_ERROR', 8);
+define ('U_PARSE_ERROR', 9);
+define ('U_INVALID_CHAR_FOUND', 10);
+define ('U_TRUNCATED_CHAR_FOUND', 11);
+define ('U_ILLEGAL_CHAR_FOUND', 12);
+define ('U_INVALID_TABLE_FORMAT', 13);
+define ('U_INVALID_TABLE_FILE', 14);
+define ('U_BUFFER_OVERFLOW_ERROR', 15);
+define ('U_UNSUPPORTED_ERROR', 16);
+define ('U_RESOURCE_TYPE_MISMATCH', 17);
+define ('U_ILLEGAL_ESCAPE_SEQUENCE', 18);
+define ('U_UNSUPPORTED_ESCAPE_SEQUENCE', 19);
+define ('U_NO_SPACE_AVAILABLE', 20);
+define ('U_CE_NOT_FOUND_ERROR', 21);
+define ('U_PRIMARY_TOO_LONG_ERROR', 22);
+define ('U_STATE_TOO_OLD_ERROR', 23);
+define ('U_TOO_MANY_ALIASES_ERROR', 24);
+define ('U_ENUM_OUT_OF_SYNC_ERROR', 25);
+define ('U_INVARIANT_CONVERSION_ERROR', 26);
+define ('U_INVALID_STATE_ERROR', 27);
+define ('U_COLLATOR_VERSION_MISMATCH', 28);
+define ('U_USELESS_COLLATOR_ERROR', 29);
+define ('U_NO_WRITE_PERMISSION', 30);
+define ('U_STANDARD_ERROR_LIMIT', 31);
+define ('U_BAD_VARIABLE_DEFINITION', 65536);
+define ('U_PARSE_ERROR_START', 65536);
+define ('U_MALFORMED_RULE', 65537);
+define ('U_MALFORMED_SET', 65538);
+define ('U_MALFORMED_SYMBOL_REFERENCE', 65539);
+define ('U_MALFORMED_UNICODE_ESCAPE', 65540);
+define ('U_MALFORMED_VARIABLE_DEFINITION', 65541);
+define ('U_MALFORMED_VARIABLE_REFERENCE', 65542);
+define ('U_MISMATCHED_SEGMENT_DELIMITERS', 65543);
+define ('U_MISPLACED_ANCHOR_START', 65544);
+define ('U_MISPLACED_CURSOR_OFFSET', 65545);
+define ('U_MISPLACED_QUANTIFIER', 65546);
+define ('U_MISSING_OPERATOR', 65547);
+define ('U_MISSING_SEGMENT_CLOSE', 65548);
+define ('U_MULTIPLE_ANTE_CONTEXTS', 65549);
+define ('U_MULTIPLE_CURSORS', 65550);
+define ('U_MULTIPLE_POST_CONTEXTS', 65551);
+define ('U_TRAILING_BACKSLASH', 65552);
+define ('U_UNDEFINED_SEGMENT_REFERENCE', 65553);
+define ('U_UNDEFINED_VARIABLE', 65554);
+define ('U_UNQUOTED_SPECIAL', 65555);
+define ('U_UNTERMINATED_QUOTE', 65556);
+define ('U_RULE_MASK_ERROR', 65557);
+define ('U_MISPLACED_COMPOUND_FILTER', 65558);
+define ('U_MULTIPLE_COMPOUND_FILTERS', 65559);
+define ('U_INVALID_RBT_SYNTAX', 65560);
+define ('U_INVALID_PROPERTY_PATTERN', 65561);
+define ('U_MALFORMED_PRAGMA', 65562);
+define ('U_UNCLOSED_SEGMENT', 65563);
+define ('U_ILLEGAL_CHAR_IN_SEGMENT', 65564);
+define ('U_VARIABLE_RANGE_EXHAUSTED', 65565);
+define ('U_VARIABLE_RANGE_OVERLAP', 65566);
+define ('U_ILLEGAL_CHARACTER', 65567);
+define ('U_INTERNAL_TRANSLITERATOR_ERROR', 65568);
+define ('U_INVALID_ID', 65569);
+define ('U_INVALID_FUNCTION', 65570);
+define ('U_PARSE_ERROR_LIMIT', 65571);
+define ('U_UNEXPECTED_TOKEN', 65792);
+define ('U_FMT_PARSE_ERROR_START', 65792);
+define ('U_MULTIPLE_DECIMAL_SEPARATORS', 65793);
+define ('U_MULTIPLE_DECIMAL_SEPERATORS', 65793);
+define ('U_MULTIPLE_EXPONENTIAL_SYMBOLS', 65794);
+define ('U_MALFORMED_EXPONENTIAL_PATTERN', 65795);
+define ('U_MULTIPLE_PERCENT_SYMBOLS', 65796);
+define ('U_MULTIPLE_PERMILL_SYMBOLS', 65797);
+define ('U_MULTIPLE_PAD_SPECIFIERS', 65798);
+define ('U_PATTERN_SYNTAX_ERROR', 65799);
+define ('U_ILLEGAL_PAD_POSITION', 65800);
+define ('U_UNMATCHED_BRACES', 65801);
+define ('U_UNSUPPORTED_PROPERTY', 65802);
+define ('U_UNSUPPORTED_ATTRIBUTE', 65803);
+define ('U_FMT_PARSE_ERROR_LIMIT', 65810);
+define ('U_BRK_INTERNAL_ERROR', 66048);
+define ('U_BRK_ERROR_START', 66048);
+define ('U_BRK_HEX_DIGITS_EXPECTED', 66049);
+define ('U_BRK_SEMICOLON_EXPECTED', 66050);
+define ('U_BRK_RULE_SYNTAX', 66051);
+define ('U_BRK_UNCLOSED_SET', 66052);
+define ('U_BRK_ASSIGN_ERROR', 66053);
+define ('U_BRK_VARIABLE_REDFINITION', 66054);
+define ('U_BRK_MISMATCHED_PAREN', 66055);
+define ('U_BRK_NEW_LINE_IN_QUOTED_STRING', 66056);
+define ('U_BRK_UNDEFINED_VARIABLE', 66057);
+define ('U_BRK_INIT_ERROR', 66058);
+define ('U_BRK_RULE_EMPTY_SET', 66059);
+define ('U_BRK_UNRECOGNIZED_OPTION', 66060);
+define ('U_BRK_MALFORMED_RULE_TAG', 66061);
+define ('U_BRK_ERROR_LIMIT', 66062);
+define ('U_REGEX_INTERNAL_ERROR', 66304);
+define ('U_REGEX_ERROR_START', 66304);
+define ('U_REGEX_RULE_SYNTAX', 66305);
+define ('U_REGEX_INVALID_STATE', 66306);
+define ('U_REGEX_BAD_ESCAPE_SEQUENCE', 66307);
+define ('U_REGEX_PROPERTY_SYNTAX', 66308);
+define ('U_REGEX_UNIMPLEMENTED', 66309);
+define ('U_REGEX_MISMATCHED_PAREN', 66310);
+define ('U_REGEX_NUMBER_TOO_BIG', 66311);
+define ('U_REGEX_BAD_INTERVAL', 66312);
+define ('U_REGEX_MAX_LT_MIN', 66313);
+define ('U_REGEX_INVALID_BACK_REF', 66314);
+define ('U_REGEX_INVALID_FLAG', 66315);
+define ('U_REGEX_LOOK_BEHIND_LIMIT', 66316);
+define ('U_REGEX_SET_CONTAINS_STRING', 66317);
+define ('U_REGEX_ERROR_LIMIT', 66324);
+define ('U_IDNA_PROHIBITED_ERROR', 66560);
+define ('U_IDNA_ERROR_START', 66560);
+define ('U_IDNA_UNASSIGNED_ERROR', 66561);
+define ('U_IDNA_CHECK_BIDI_ERROR', 66562);
+define ('U_IDNA_STD3_ASCII_RULES_ERROR', 66563);
+define ('U_IDNA_ACE_PREFIX_ERROR', 66564);
+define ('U_IDNA_VERIFICATION_ERROR', 66565);
+define ('U_IDNA_LABEL_TOO_LONG_ERROR', 66566);
+define ('U_IDNA_ZERO_LENGTH_LABEL_ERROR', 66567);
+define ('U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR', 66568);
+define ('U_IDNA_ERROR_LIMIT', 66569);
+define ('U_STRINGPREP_PROHIBITED_ERROR', 66560);
+define ('U_STRINGPREP_UNASSIGNED_ERROR', 66561);
+define ('U_STRINGPREP_CHECK_BIDI_ERROR', 66562);
+define ('U_ERROR_LIMIT', 66818);
+
+/**
+ * Prohibit processing of unassigned codepoints in the input for IDN
+ * functions and do not check if the input conforms to domain name ASCII rules.
+ * @link https://php.net/manual/en/intl.constants.php
+ */
+define ('IDNA_DEFAULT', 0);
+
+/**
+ * Allow processing of unassigned codepoints in the input for IDN functions.
+ * @link https://php.net/manual/en/intl.constants.php
+ */
+define ('IDNA_ALLOW_UNASSIGNED', 1);
+
+/**
+ * Check if the input for IDN functions conforms to domain name ASCII rules.
+ * @link https://php.net/manual/en/intl.constants.php
+ */
+define ('IDNA_USE_STD3_RULES', 2);
+
+/**
+ * Check whether the input conforms to the BiDi rules.
+ * Ignored by the IDNA2003 implementation, which always performs this check.
+ * @link https://php.net/manual/en/intl.constants.php
+ */
+define ('IDNA_CHECK_BIDI', 4);
+
+/**
+ * Check whether the input conforms to the CONTEXTJ rules.
+ * Ignored by the IDNA2003 implementation, as this check is new in IDNA2008.
+ * @link https://php.net/manual/en/intl.constants.php
+ */
+define ('IDNA_CHECK_CONTEXTJ', 8);
+
+/**
+ * Option for nontransitional processing in
+ * <b>idn_to_ascii</b>. Transitional processing is activated
+ * by default. This option is ignored by the IDNA2003 implementation.
+ * @link https://php.net/manual/en/intl.constants.php
+ */
+define ('IDNA_NONTRANSITIONAL_TO_ASCII', 16);
+
+/**
+ * Option for nontransitional processing in
+ * <b>idn_to_utf8</b>. Transitional processing is activated
+ * by default. This option is ignored by the IDNA2003 implementation.
+ * @link https://php.net/manual/en/intl.constants.php
+ */
+define ('IDNA_NONTRANSITIONAL_TO_UNICODE', 32);
+
+/**
+ * Use IDNA 2003 algorithm in {@see idn_to_utf8} and
+ * {@see idn_to_ascii}. This is the default.
+ * @link https://php.net/manual/en/intl.constants.php
+ * @deprecated 7.2 Use {@see INTL_IDNA_VARIANT_UTS46} instead.
+ * @removed 8.0
+ */
+define ('INTL_IDNA_VARIANT_2003', 0);
+
+/**
+ * Use UTS #46 algorithm in <b>idn_to_utf8</b> and
+ * <b>idn_to_ascii</b>.
+ * @link https://php.net/manual/en/intl.constants.php
+ */
+define ('INTL_IDNA_VARIANT_UTS46', 1);
+
+/**
+ * Errors reported in a bitset returned by the UTS #46 algorithm in
+ * <b>idn_to_utf8</b> and
+ * <b>idn_to_ascii</b>.
+ * @link https://php.net/manual/en/intl.constants.php
+ */
+define ('IDNA_ERROR_EMPTY_LABEL', 1);
+/**
+ * @link https://secure.php.net/manual/en/migration54.global-constants.php
+ * @since 5.4
+ */
+define ('IDNA_ERROR_LABEL_TOO_LONG', 2);
+/**
+ * @link https://secure.php.net/manual/en/migration54.global-constants.php
+ * @since 5.4
+ */
+define ('IDNA_ERROR_DOMAIN_NAME_TOO_LONG', 4);
+/**
+ * @link https://secure.php.net/manual/en/migration54.global-constants.php
+ * @since 5.4
+ */
+define ('IDNA_ERROR_LEADING_HYPHEN', 8);
+/**
+ * @link https://secure.php.net/manual/en/migration54.global-constants.php
+ * @since 5.4
+ */
+define ('IDNA_ERROR_TRAILING_HYPHEN', 16);
+/**
+ * @link https://secure.php.net/manual/en/migration54.global-constants.php
+ * @since 5.4
+ */
+define ('IDNA_ERROR_HYPHEN_3_4', 32);
+/**
+ * @link https://secure.php.net/manual/en/migration54.global-constants.php
+ * @since 5.4
+ */
+define ('IDNA_ERROR_LEADING_COMBINING_MARK', 64);
+/**
+ * @link https://secure.php.net/manual/en/migration54.global-constants.php
+ * @since 5.4
+ */
+define ('IDNA_ERROR_DISALLOWED', 128);
+/**
+ * @link https://secure.php.net/manual/en/migration54.global-constants.php
+ * @since 5.4
+ */
+define ('IDNA_ERROR_PUNYCODE', 256);
+/**
+ * @link https://secure.php.net/manual/en/migration54.global-constants.php
+ * @since 5.4
+ */
+define ('IDNA_ERROR_LABEL_HAS_DOT', 512);
+/**
+ * @link https://secure.php.net/manual/en/migration54.global-constants.php
+ * @since 5.4
+ */
+define ('IDNA_ERROR_INVALID_ACE_LABEL', 1024);
+/**
+ * @link https://secure.php.net/manual/en/migration54.global-constants.php
+ * @since 5.4
+ */
+define ('IDNA_ERROR_BIDI', 2048);
+/**
+ * @link https://secure.php.net/manual/en/migration54.global-constants.php
+ * @since 5.4
+ */
+define ('IDNA_ERROR_CONTEXTJ', 4096);
+
+/**
+ * @since 5.5
+ */
+class IntlBreakIterator implements IteratorAggregate
+{
+    /* Constants */
+    const  DONE = -1;
+    const  WORD_NONE = 0;
+    const  WORD_NONE_LIMIT = 100;
+    const  WORD_NUMBER = 100;
+    const  WORD_NUMBER_LIMIT = 200;
+    const  WORD_LETTER = 200;
+    const  WORD_LETTER_LIMIT = 300;
+    const  WORD_KANA = 300;
+    const  WORD_KANA_LIMIT = 400;
+    const  WORD_IDEO = 400;
+    const WORD_IDEO_LIMIT = 500;
+    const  LINE_SOFT = 0;
+    const  LINE_SOFT_LIMIT = 100;
+    const  LINE_HARD = 100;
+    const  LINE_HARD_LIMIT = 200;
+    const  SENTENCE_TERM = 0;
+    const  SENTENCE_TERM_LIMIT = 100;
+    const  SENTENCE_SEP = 100;
+    const  SENTENCE_SEP_LIMIT = 200;
+
+    /* Methods */
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Private constructor for disallowing instantiation
+     */
+    private function __construct() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Create break iterator for boundaries of combining character sequences
+     * @link https://secure.php.net/manual/en/intlbreakiterator.createcharacterinstance.php
+     * @param string $locale
+     * @return IntlBreakIterator
+     */
+    public static function  createCharacterInstance($locale) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Create break iterator for boundaries of code points
+     * @link https://secure.php.net/manual/en/intlbreakiterator.createcodepointinstance.php
+     * @return IntlBreakIterator
+     */
+    public static function createCodePointInstance() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Create break iterator for logically possible line breaks
+     * @link https://secure.php.net/manual/en/intlbreakiterator.createlineinstance.php
+     * @param string $locale
+     * @return IntlBreakIterator
+     */
+    public static function createLineInstance($locale) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Create break iterator for sentence breaks
+     * @link https://secure.php.net/manual/en/intlbreakiterator.createsentenceinstance.php
+     * @param string $locale
+     * @return IntlBreakIterator
+     */
+    public static function createSentenceInstance($locale) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Create break iterator for title-casing breaks
+     * @link https://secure.php.net/manual/en/intlbreakiterator.createtitleinstance.php
+     * @param string $locale
+     * @return IntlBreakIterator
+     */
+    public static function createTitleInstance($locale) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Create break iterator for word breaks
+     * @link https://secure.php.net/manual/en/intlbreakiterator.createwordinstance.php
+     * @param string $locale
+     * @return IntlBreakIterator
+     */
+    public static function createWordInstance($locale) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Get index of current position
+     * @link https://secure.php.net/manual/en/intlbreakiterator.current.php
+     * @return int
+     */
+    public function current() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Set position to the first character in the text
+     * @link https://secure.php.net/manual/en/intlbreakiterator.first.php
+     */
+    public function first() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Advance the iterator to the first boundary following specified offset
+     * @link https://secure.php.net/manual/en/intlbreakiterator.following.php
+     * @param int $offset
+     */
+    public function following($offset) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Get last error code on the object
+     * @link https://secure.php.net/manual/en/intlbreakiterator.geterrorcode.php
+     * @return int
+     */
+    public function getErrorCode() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Get last error message on the object
+     * @link https://secure.php.net/manual/en/intlbreakiterator.geterrormessage.php
+     * @return string
+     */
+    public function getErrorMessage() { }
+
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Get the locale associated with the object
+     * @link https://secure.php.net/manual/en/intlbreakiterator.getlocale.php
+     * @param string $locale_type
+     */
+    public function getLocale($locale_type) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Create iterator for navigating fragments between boundaries
+     * @link https://secure.php.net/manual/en/intlbreakiterator.getpartsiterator.php
+     * @param string $key_type [optional]
+     */
+    public function getPartsIterator($key_type) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Get the text being scanned
+     * @link https://secure.php.net/manual/en/intlbreakiterator.gettext.php
+     */
+    public function getText() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Tell whether an offset is a boundary's offset
+     * @link https://secure.php.net/manual/en/intlbreakiterator.isboundary.php
+     * @param string $offset
+     */
+    public function isBoundary($offset) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Set the iterator position to index beyond the last character
+     * @link https://secure.php.net/manual/en/intlbreakiterator.last.php
+     * @return int
+     */
+    public function last() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * @link https://secure.php.net/manual/en/intlbreakiterator.next.php
+     * @param string $offset [optional]
+     * @return int
+     */
+    public function next($offset) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * @link https://secure.php.net/manual/en/intlbreakiterator.preceding.php
+     * @param int $offset
+     */
+    public function preceding($offset) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Set the iterator position to the boundary immediately before the current
+     * @link https://secure.php.net/manual/en/intlbreakiterator.previous.php
+     * @return int
+     */
+    public function previous() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Set the text being scanned
+     * @link https://secure.php.net/manual/en/intlbreakiterator.settext.php
+     * @param string $text
+     */
+    public function setText($text) { }
+
+    public function getIterator(){}
+}
+
+class IntlRuleBasedBreakIterator extends IntlBreakIterator implements Traversable {
+
+    /* Methods */
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * @link https://secure.php.net/manual/en/intlbreakiterator.construct.php
+     * @param string $rules
+     * @param string $areCompiled [optional]
+     */
+    public function __construct($rules, $areCompiled) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Create break iterator for boundaries of combining character sequences
+     * @link https://secure.php.net/manual/en/intlbreakiterator.createcharacterinstance.php
+     * @param string $locale
+     * @return IntlRuleBasedBreakIterator
+     */
+    public static function  createCharacterInstance($locale) { }
+
+    /*
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Create break iterator for boundaries of code points
+     * @link https://secure.php.net/manual/en/intlbreakiterator.createcodepointinstance.php
+     * @return IntlRuleBasedBreakIterator
+     */
+    public static function createCodePointInstance() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Create break iterator for logically possible line breaks
+     * @link https://secure.php.net/manual/en/intlbreakiterator.createlineinstance.php
+     * @param string $locale
+     * @return IntlRuleBasedBreakIterator
+     */
+    public static function createLineInstance($locale) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Create break iterator for sentence breaks
+     * @link https://secure.php.net/manual/en/intlbreakiterator.createsentenceinstance.php
+     * @param string $locale
+     * @return IntlRuleBasedBreakIterator
+     */
+    public static function createSentenceInstance($locale) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Create break iterator for title-casing breaks
+     * @link https://secure.php.net/manual/en/intlbreakiterator.createtitleinstance.php
+     * @param string $locale
+     * @return IntlRuleBasedBreakIterator
+     */
+    public static function createTitleInstance($locale) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Create break iterator for word breaks
+     * @link https://secure.php.net/manual/en/intlbreakiterator.createwordinstance.php
+     * @param string $locale
+     * @return IntlRuleBasedBreakIterator
+     */
+    public static function createWordInstance($locale) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * @link https://secure.php.net/manual/en/intlrulebasedbreakiterator.getbinaryrules.php
+     * Get the binary form of compiled rules
+     * @return string
+     */
+    public function getBinaryRules() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * @link https://secure.php.net/manual/en/intlrulebasedbreakiterator.getrules.php
+     * Get the rule set used to create this object
+     * @return string
+     */
+    public function getRules() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * @link https://secure.php.net/manual/en/intlrulebasedbreakiterator.getrulesstatus.php
+     * Get the largest status value from the break rules that determined the current break position
+     * @return int
+     */
+    public function getRuleStatus() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * @link https://secure.php.net/manual/en/intlrulebasedbreakiterator.getrulestatusvec.php
+     * Get the status values from the break rules that determined the current break position
+     * @return array
+     */
+    public function getRuleStatusVec() { }
+}
+
+/**
+ * @link https://www.php.net/manual/en/class.intlpartsiterator.php
+ * @since 5.5
+ */
+class IntlPartsIterator extends IntlIterator implements Iterator {
+
+    const KEY_SEQUENTIAL = 0 ;
+    const KEY_LEFT = 1 ;
+    const KEY_RIGHT = 2 ;
+
+    /**
+     * @return IntlBreakIterator
+     */
+    public function getBreakIterator() { }
+}
+
+class IntlCodePointBreakIterator extends IntlBreakIterator implements Traversable {
+
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Get last code point passed over after advancing or receding the iterator
+     * @link https://secure.php.net/manual/en/intlcodepointbreakiterator.getlastcodepoint.php
+     * @return int
+     */
+    public function getLastCodePoint() { }
+}
+
+class UConverter {
+
+    /* Constants */
+    const REASON_UNASSIGNED = 0;
+    const REASON_ILLEGAL = 1;
+    const REASON_IRREGULAR = 2;
+    const REASON_RESET = 3;
+    const REASON_CLOSE = 4;
+    const REASON_CLONE = 5;
+    const UNSUPPORTED_CONVERTER = -1;
+    const SBCS = 0;
+    const DBCS = 1;
+    const MBCS = 2;
+    const LATIN_1 = 3;
+    const UTF8 = 4;
+    const UTF16_BigEndian = 5;
+    const UTF16_LittleEndian = 6;
+    const UTF32_BigEndian = 7;
+    const UTF32_LittleEndian = 8;
+    const EBCDIC_STATEFUL = 9;
+    const ISO_2022 = 10;
+    const LMBCS_1 = 11;
+    const LMBCS_2 = 12;
+    const LMBCS_3 = 13;
+    const LMBCS_4 = 14;
+    const LMBCS_5 = 15;
+    const LMBCS_6 = 16;
+    const LMBCS_8 = 17;
+    const LMBCS_11 = 18;
+    const LMBCS_16 = 19;
+    const LMBCS_17 = 20;
+    const LMBCS_18 = 21;
+    const LMBCS_19 = 22;
+    const LMBCS_LAST = 22;
+    const HZ = 23;
+    const SCSU = 24;
+    const ISCII = 25;
+    const US_ASCII = 26;
+    const UTF7 = 27;
+    const BOCU1 = 28;
+    const UTF16 = 29;
+    const UTF32 = 30;
+    const CESU8 = 31;
+    const IMAP_MAILBOX = 32;
+
+    /* Methods */
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Create UConverter object
+     * @link https://php.net/manual/en/uconverter.construct.php
+     * @param string $destination_encoding
+     * @param string $source_encoding
+     */
+    public function __construct($destination_encoding = null, $source_encoding = null) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Convert string from one charset to anothe
+     * @link https://php.net/manual/en/uconverter.convert.php
+     * @param string $str
+     * @param bool $reverse
+     * @return string
+     */
+    public function convert($str, $reverse) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Default "from" callback function
+     * @link https://php.net/manual/en/uconverter.fromucallback.php
+     * @param int $reason
+     * @param string $source
+     * @param string $codePoint
+     * @param int $error
+     * @return mixed
+     */
+    public function fromUCallback($reason, $source, $codePoint, &$error) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Get the aliases of the given name
+     * @link https://php.net/manual/en/uconverter.getaliases.php
+     * @param string $name
+     * @return array
+     */
+    public static function getAliases($name = null) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Get the available canonical converter names
+     * @link https://php.net/manual/en/uconverter.getavailable.php
+     * @return array
+     */
+    public static function getAvailable() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Get the destination encoding
+     * @link https://php.net/manual/en/uconverter.getdestinationencoding.php
+     * @return string
+     */
+    public function getDestinationEncoding() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Get the destination converter type
+     * @link https://php.net/manual/en/uconverter.getdestinationtype.php
+     * @return int
+     */
+    public function getDestinationType() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Get last error code on the object
+     * @link https://php.net/manual/en/uconverter.geterrorcode.php
+     * @return int
+     */
+    public function getErrorCode() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Get last error message on the object
+     * @link https://php.net/manual/en/uconverter.geterrormessage.php
+     * @return string
+     */
+    public function getErrorMessage() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Get the source encoding
+     * @link https://php.net/manual/en/uconverter.getsourceencoding.php
+     * @return string
+     */
+    public function getSourceEncoding() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Get the source convertor type
+     * @link https://php.net/manual/en/uconverter.getsourcetype.php
+     * @return int
+     */
+    public function getSourceType() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Get standards associated to converter names
+     * @link https://php.net/manual/en/uconverter.getstandards.php
+     * @return array
+     */
+    public static function getStandards() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Get substitution chars
+     * @link https://php.net/manual/en/uconverter.getsubstchars.php
+     * @return string
+     */
+    public function getSubstChars() { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Get string representation of the callback reason
+     * @link https://php.net/manual/en/uconverter.reasontext.php
+     * @param int $reason
+     * @return string
+     */
+    public static function reasonText($reason) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Set the destination encoding
+     * @link https://php.net/manual/en/uconverter.setdestinationencoding.php
+     * @param string $encoding
+     * @return void
+     */
+    public function setDestinationEncoding($encoding) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Set the source encoding
+     * @link https://php.net/manual/en/uconverter.setsourceencoding.php
+     * @param string $encoding
+     * @return void
+     */
+    public function setSourceEncoding($encoding) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Set the substitution chars
+     * @link https://php.net/manual/en/uconverter.setsubstchars.php
+     * @param string $chars
+     * @return void
+     */
+    public function setSubstChars($chars) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Default "to" callback function
+     * @link https://php.net/manual/en/uconverter.toucallback.php
+     * @param int $reason
+     * @param string $source
+     * @param string $codeUnits
+     * @param int $error
+     * @return mixed
+     */
+    public function toUCallback($reason, $source, $codeUnits, &$error) { }
+
+    /**
+     * (PHP 5 &gt;=5.5.0)<br/>
+     * Convert string from one charset to another
+     * @link https://php.net/manual/en/uconverter.transcode.php
+     * @param string $str
+     * @param string $toEncoding
+     * @param string $fromEncoding
+     * @param array $options
+     * @return string
+     */
+    public static function transcode($str, $toEncoding, $fromEncoding, array $options = []) { }
+}
+// End of intl v.1.1.0
+?>
diff --git a/build/stubs/ldap.php b/build/stubs/ldap.php
new file mode 100644 (file)
index 0000000..748a662
--- /dev/null
@@ -0,0 +1,1560 @@
+<?php
+
+// Start of ldap v.
+
+/**
+ * PASSWD extended operation helper
+ * @link https://www.php.net/manual/en/function.ldap-exop-passwd.php
+ * @param resource $link An LDAP link identifier, returned by ldap_connect().
+ * @param string $user [optional] dn of the user to change the password of.
+ * @param string $oldpw [optional] The old password of this user. May be omitted depending of server configuration.
+ * @param string $newpw [optional] The new password for this user. May be omitted or empty to have a generated password.
+ * @param array $serverctrls [optional] If provided, a password policy request control is send with the request and this is filled with an array of LDAP Controls returned with the request.
+ * @return mixed Returns the generated password if newpw is empty or omitted. Otherwise returns TRUE on success and FALSE on failure.
+ * @since 7.2
+ */
+function ldap_exop_passwd ($link , $user = "" , $oldpw = "" , $newpw = "" , array &$serverctrls = []) {}
+
+/**
+ * Refresh extended operation helper
+ * @link https://www.php.net/manual/en/function.ldap-exop-refresh.php
+ * @param resource $link An LDAP link identifier, returned by ldap_connect().
+ * @param string $dn dn of the entry to refresh.
+ * @param int $ttl $ttl Time in seconds (between 1 and 31557600) that the client requests that the entry exists in the directory before being automatically removed.
+ * @return mixed From RFC: The responseTtl field is the time in seconds which the server chooses to have as the time-to-live field for that entry. It must not be any smaller than that which the client requested, and it may be larger. However, to allow servers to maintain a relatively accurate directory, and to prevent clients from abusing the dynamic extensions, servers are permitted to shorten a client-requested time-to-live value, down to a minimum of 86400 seconds (one day). FALSE will be returned on error.
+ * @since 7.3
+ */
+function ldap_exop_refresh ($link, $dn ,$ttl) {}
+
+/**
+ * WHOAMI extended operation helper
+ * @link https://www.php.net/manual/en/function.ldap-exop-whoami.php
+ * @param resource $link An LDAP link identifier, returned by ldap_connect().
+ * @return mixed The data returned by the server, or FALSE on error.
+ * @since 7.2
+ */
+function ldap_exop_whoami ($link) {}
+
+/**
+ * Performs an extended operation on the specified link with reqoid the OID of the operation and reqdata the data.
+ * @link https://www.php.net/manual/en/function.ldap-exop.php
+ * @param resource $link An LDAP link identifier, returned by ldap_connect().
+ * @param string $reqoid The extended operation request OID. You may use one of LDAP_EXOP_START_TLS, LDAP_EXOP_MODIFY_PASSWD, LDAP_EXOP_REFRESH, LDAP_EXOP_WHO_AM_I, LDAP_EXOP_TURN, or a string with the OID of the operation you want to send.
+ * @param string $reqdata [optional] The extended operation request data. May be NULL for some operations like LDAP_EXOP_WHO_AM_I, may also need to be BER encoded.
+ * @param array $serverctrls [optional] If provided, a password policy request control is send with the request and this is filled with an array of LDAP Controls returned with the request.
+ * @param string $retdata [optional] Will be filled with the extended operation response data if provided. If not provided you may use ldap_parse_exop on the result object later to get this data.
+ * @param string $retoid [optional] Will be filled with the response OID if provided, usually equal to the request OID.
+ * @return mixed When used with retdata, returns TRUE on success or FALSE on error. When used without retdata, returns a result identifier or FALSE on error.
+ * @since 7.2
+ */
+function ldap_exop ($link , $reqoid , $reqdata = null , $serverctrls = [], &$retdata, &$retoid) {}
+
+/**
+ * Parse LDAP extended operation data from result object result
+ * @link https://www.php.net/manual/en/function.ldap-parse-exop.php
+ * @param resource $link An LDAP link identifier, returned by ldap_connect().
+ * @param resource $result An LDAP result resource, returned by ldap_exop().
+ * @param string $retdata [optional] Will be filled by the response data.
+ * @param string $retoid [optional] Will be filled by the response OID.
+ * @return bool Returns TRUE on success or FALSE on failure.
+ * @since 7.2
+ */
+function ldap_parse_exop ($link , $result, &$retdata, &$retoid) {}
+
+/**
+ * Translate 8859 characters to t61 characters
+ * @link https://www.php.net/manual/en/function.ldap-8859-to-t61.php
+ * @param string $value
+ * @return string
+ */
+function ldap_8859_to_t61($value) {}
+
+/**
+ * Translate t61 characters to 8859 characters
+ * @link https://www.php.net/manual/en/function.ldap-t61-to-8859.php
+ * @param string $value
+ * @return string
+ */
+function ldap_t61_to_8859($value) {}
+
+/**
+ * Connect to an LDAP server
+ * @link https://php.net/manual/en/function.ldap-connect.php
+ * @param string $hostname [optional] <p>
+ * If you are using OpenLDAP 2.x.x you can specify a URL instead of the
+ * hostname. To use LDAP with SSL, compile OpenLDAP 2.x.x with SSL
+ * support, configure PHP with SSL, and set this parameter as
+ * ldaps://hostname/.
+ * </p>
+ * @param int $port [optional] <p>
+ * The port to connect to. Not used when using URLs.
+ * </p>
+ * @return resource|false a positive LDAP link identifier on success, or <b>FALSE</b> on error.
+ * When OpenLDAP 2.x.x is used, <b>ldap_connect</b> will always
+ * return a resource as it does not actually connect but just
+ * initializes the connecting parameters. The actual connect happens with
+ * the next calls to ldap_* funcs, usually with
+ * <b>ldap_bind</b>.
+ * </p>
+ * <p>
+ * If no arguments are specified then the link identifier of the already
+ * opened link will be returned.
+ */
+function ldap_connect ($hostname = null, $port = 389) {}
+
+/**
+ * Alias of <b>ldap_unbind</b>
+ * @link https://php.net/manual/en/function.ldap-close.php
+ * @param $link_identifier
+ */
+function ldap_close ($link_identifier) {}
+
+/**
+ * Bind to LDAP directory
+ * @link https://php.net/manual/en/function.ldap-bind.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param string $bind_rdn [optional]
+ * @param string $bind_password [optional]
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function ldap_bind ($link_identifier, $bind_rdn = null, $bind_password = null) {}
+
+/**
+ * Bind to LDAP directory
+ * Does the same thing as ldap_bind() but returns the LDAP result resource to be parsed with ldap_parse_result().
+ * @link https://php.net/manual/en/function.ldap-bind.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param string $bind_rdn [optional]
+ * @param string $bind_password [optional]
+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request.
+ * @return resource|false
+ * @since 7.3
+ */
+function ldap_bind_ext ($link_identifier, $bind_rdn = null, $bind_password = null, $serverctrls = []) {}
+
+
+/**
+ * Bind to LDAP directory using SASL
+ * @link https://php.net/manual/en/function.ldap-sasl-bind.php
+ * @param resource $link
+ * @param string $binddn [optional]
+ * @param string $password [optional]
+ * @param string $sasl_mech [optional]
+ * @param string $sasl_realm [optional]
+ * @param string $sasl_authc_id [optional]
+ * @param string $sasl_authz_id [optional]
+ * @param string $props [optional]
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function ldap_sasl_bind ($link, $binddn = null, $password = null, $sasl_mech = null, $sasl_realm = null, $sasl_authc_id = null, $sasl_authz_id = null, $props = null) {}
+
+/**
+ * Unbind from LDAP directory
+ * @link https://php.net/manual/en/function.ldap-unbind.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function ldap_unbind ($link_identifier) {}
+
+/**
+ * Read an entry
+ * @link https://php.net/manual/en/function.ldap-read.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param string $base_dn <p>
+ * The base DN for the directory.
+ * </p>
+ * @param string $filter <p>
+ * An empty filter is not allowed. If you want to retrieve absolutely all
+ * information for this entry, use a filter of
+ * objectClass=*. If you know which entry types are
+ * used on the directory server, you might use an appropriate filter such
+ * as objectClass=inetOrgPerson.
+ * </p>
+ * @param array $attributes [optional] <p>
+ * An array of the required attributes, e.g. array("mail", "sn", "cn").
+ * Note that the "dn" is always returned irrespective of which attributes
+ * types are requested.
+ * </p>
+ * <p>
+ * Using this parameter is much more efficient than the default action
+ * (which is to return all attributes and their associated values).
+ * The use of this parameter should therefore be considered good
+ * practice.
+ * </p>
+ * @param int $attrsonly [optional] <p>
+ * Should be set to 1 if only attribute types are wanted. If set to 0
+ * both attributes types and attribute values are fetched which is the
+ * default behaviour.
+ * </p>
+ * @param int $sizelimit [optional] <p>
+ * Enables you to limit the count of entries fetched. Setting this to 0
+ * means no limit.
+ * </p>
+ * <p>
+ * This parameter can NOT override server-side preset sizelimit. You can
+ * set it lower though.
+ * </p>
+ * <p>
+ * Some directory server hosts will be configured to return no more than
+ * a preset number of entries. If this occurs, the server will indicate
+ * that it has only returned a partial results set. This also occurs if
+ * you use this parameter to limit the count of fetched entries.
+ * </p>
+ * @param int $timelimit [optional] <p>
+ * Sets the number of seconds how long is spend on the search. Setting
+ * this to 0 means no limit.
+ * </p>
+ * <p>
+ * This parameter can NOT override server-side preset timelimit. You can
+ * set it lower though.
+ * </p>
+ * @param int $deref [optional] <p>
+ * Specifies how aliases should be handled during the search. It can be
+ * one of the following:
+ * <b>LDAP_DEREF_NEVER</b> - (default) aliases are never
+ * dereferenced.
+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request.
+ * @return resource|false a search result identifier or <b>FALSE</b> on error.
+ */
+function ldap_read ($link_identifier, $base_dn, $filter, array $attributes = null, $attrsonly = null, $sizelimit = null, $timelimit = null, $deref = null, $serverctrls = []) {}
+
+/**
+ * Single-level search
+ * @link https://php.net/manual/en/function.ldap-list.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param string $base_dn <p>
+ * The base DN for the directory.
+ * </p>
+ * @param string $filter
+ * @param array $attributes [optional] <p>
+ * An array of the required attributes, e.g. array("mail", "sn", "cn").
+ * Note that the "dn" is always returned irrespective of which attributes
+ * types are requested.
+ * </p>
+ * <p>
+ * Using this parameter is much more efficient than the default action
+ * (which is to return all attributes and their associated values).
+ * The use of this parameter should therefore be considered good
+ * practice.
+ * </p>
+ * @param int $attrsonly [optional] <p>
+ * Should be set to 1 if only attribute types are wanted. If set to 0
+ * both attributes types and attribute values are fetched which is the
+ * default behaviour.
+ * </p>
+ * @param int $sizelimit [optional] <p>
+ * Enables you to limit the count of entries fetched. Setting this to 0
+ * means no limit.
+ * </p>
+ * <p>
+ * This parameter can NOT override server-side preset sizelimit. You can
+ * set it lower though.
+ * </p>
+ * <p>
+ * Some directory server hosts will be configured to return no more than
+ * a preset number of entries. If this occurs, the server will indicate
+ * that it has only returned a partial results set. This also occurs if
+ * you use this parameter to limit the count of fetched entries.
+ * </p>
+ * @param int $timelimit [optional] <p>
+ * Sets the number of seconds how long is spend on the search. Setting
+ * this to 0 means no limit.
+ * </p>
+ * <p>
+ * This parameter can NOT override server-side preset timelimit. You can
+ * set it lower though.
+ * </p>
+ * @param int $deref [optional] <p>
+ * Specifies how aliases should be handled during the search. It can be
+ * one of the following:
+ * <b>LDAP_DEREF_NEVER</b> - (default) aliases are never
+ * dereferenced.
+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request.
+ * @return resource|false a search result identifier or <b>FALSE</b> on error.
+ */
+function ldap_list ($link_identifier, $base_dn, $filter, array $attributes = null, $attrsonly = null, $sizelimit = null, $timelimit = null, $deref = null, $serverctrls = []) {}
+
+/**
+ * Search LDAP tree
+ * @link https://php.net/manual/en/function.ldap-search.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param string $base_dn <p>
+ * The base DN for the directory.
+ * </p>
+ * @param string $filter <p>
+ * The search filter can be simple or advanced, using boolean operators in
+ * the format described in the LDAP documentation (see the Netscape Directory SDK for full
+ * information on filters).
+ * </p>
+ * @param array $attributes [optional] <p>
+ * An array of the required attributes, e.g. array("mail", "sn", "cn").
+ * Note that the "dn" is always returned irrespective of which attributes
+ * types are requested.
+ * </p>
+ * <p>
+ * Using this parameter is much more efficient than the default action
+ * (which is to return all attributes and their associated values).
+ * The use of this parameter should therefore be considered good
+ * practice.
+ * </p>
+ * @param int $attrsonly [optional] <p>
+ * Should be set to 1 if only attribute types are wanted. If set to 0
+ * both attributes types and attribute values are fetched which is the
+ * default behaviour.
+ * </p>
+ * @param int $sizelimit [optional] <p>
+ * Enables you to limit the count of entries fetched. Setting this to 0
+ * means no limit.
+ * </p>
+ * <p>
+ * This parameter can NOT override server-side preset sizelimit. You can
+ * set it lower though.
+ * </p>
+ * <p>
+ * Some directory server hosts will be configured to return no more than
+ * a preset number of entries. If this occurs, the server will indicate
+ * that it has only returned a partial results set. This also occurs if
+ * you use this parameter to limit the count of fetched entries.
+ * </p>
+ * @param int $timelimit [optional] <p>
+ * Sets the number of seconds how long is spend on the search. Setting
+ * this to 0 means no limit.
+ * </p>
+ * <p>
+ * This parameter can NOT override server-side preset timelimit. You can
+ * set it lower though.
+ * </p>
+ * @param int $deref [optional] <p>
+ * Specifies how aliases should be handled during the search. It can be
+ * one of the following:
+ * <b>LDAP_DEREF_NEVER</b> - (default) aliases are never
+ * dereferenced.
+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request.
+ * @return resource|false a search result identifier or <b>FALSE</b> on error.
+ */
+function ldap_search ($link_identifier, $base_dn, $filter, array $attributes = null, $attrsonly = null, $sizelimit = null, $timelimit = null, $deref = null, $serverctrls = []) {}
+
+/**
+ * Free result memory
+ * @link https://php.net/manual/en/function.ldap-free-result.php
+ * @param resource $result_identifier
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function ldap_free_result ($result_identifier) {}
+
+/**
+ * Count the number of entries in a search
+ * @link https://php.net/manual/en/function.ldap-count-entries.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param resource $result_identifier <p>
+ * The internal LDAP result.
+ * </p>
+ * @return int|false number of entries in the result or <b>FALSE</b> on error.
+ */
+function ldap_count_entries ($link_identifier, $result_identifier) {}
+
+/**
+ * Return first result id
+ * @link https://php.net/manual/en/function.ldap-first-entry.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param resource $result_identifier
+ * @return resource|false the result entry identifier for the first entry on success and
+ * <b>FALSE</b> on error.
+ */
+function ldap_first_entry ($link_identifier, $result_identifier) {}
+
+/**
+ * Get next result entry
+ * @link https://php.net/manual/en/function.ldap-next-entry.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param resource $result_entry_identifier
+ * @return resource|false entry identifier for the next entry in the result whose entries
+ * are being read starting with <b>ldap_first_entry</b>. If
+ * there are no more entries in the result then it returns <b>FALSE</b>.
+ */
+function ldap_next_entry ($link_identifier, $result_entry_identifier) {}
+
+/**
+ * Get all result entries
+ * @link https://php.net/manual/en/function.ldap-get-entries.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param resource $result_identifier
+ * @return array a complete result information in a multi-dimensional array on
+ * success and <b>FALSE</b> on error.
+ * </p>
+ * <p>
+ * The structure of the array is as follows.
+ * The attribute index is converted to lowercase. (Attributes are
+ * case-insensitive for directory servers, but not when used as
+ * array indices.)
+ * <pre>
+ * return_value["count"] = number of entries in the result
+ * return_value[0] : refers to the details of first entry
+ * return_value[i]["dn"] = DN of the ith entry in the result
+ * return_value[i]["count"] = number of attributes in ith entry
+ * return_value[i][j] = NAME of the jth attribute in the ith entry in the result
+ * return_value[i]["attribute"]["count"] = number of values for
+ * attribute in ith entry
+ * return_value[i]["attribute"][j] = jth value of attribute in ith entry
+ * </pre>
+ */
+function ldap_get_entries ($link_identifier, $result_identifier) {}
+
+/**
+ * Return first attribute
+ * @link https://php.net/manual/en/function.ldap-first-attribute.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param resource $result_entry_identifier
+ * @param int $dummy_ber [optional] is the identifier to internal memory location pointer. This parameter is no longer used as this is now handled automatically by PHP. For backwards compatibility PHP will not throw an error if this parameter is passed.
+ * @return string|false the first attribute in the entry on success and <b>FALSE</b> on
+ * error.
+ */
+function ldap_first_attribute ($link_identifier, $result_entry_identifier, $dummy_ber = null) {}
+
+/**
+ * Get the next attribute in result
+ * @link https://php.net/manual/en/function.ldap-next-attribute.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param resource $result_entry_identifier
+ * @param int $dummy_ber [optional] The internal state of the pointer is maintained by this parameter. This parameter is no longer used as this is now handled automatically by PHP. For backwards compatibility PHP will not throw an error if this parameter is passed.
+ * @return string|false the next attribute in an entry on success and <b>FALSE</b> on
+ * error.
+ */
+function ldap_next_attribute ($link_identifier, $result_entry_identifier, $dummy_ber) {}
+
+/**
+ * Get attributes from a search result entry
+ * @link https://php.net/manual/en/function.ldap-get-attributes.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param resource $result_entry_identifier
+ * @return array a complete entry information in a multi-dimensional array
+ * on success and <b>FALSE</b> on error.
+ */
+function ldap_get_attributes ($link_identifier, $result_entry_identifier) {}
+
+/**
+ * Get all values from a result entry
+ * @link https://php.net/manual/en/function.ldap-get-values.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param resource $result_entry_identifier
+ * @param string $attribute
+ * @return array|false an array of values for the attribute on success and <b>FALSE</b> on
+ * error. The number of values can be found by indexing "count" in the
+ * resultant array. Individual values are accessed by integer index in the
+ * array. The first index is 0.
+ * </p>
+ * <p>
+ * LDAP allows more than one entry for an attribute, so it can, for example,
+ * store a number of email addresses for one person's directory entry all
+ * labeled with the attribute "mail"
+ * return_value["count"] = number of values for attribute
+ * return_value[0] = first value of attribute
+ * return_value[i] = ith value of attribute
+ */
+function ldap_get_values ($link_identifier, $result_entry_identifier, $attribute) {}
+
+/**
+ * Get all binary values from a result entry
+ * @link https://php.net/manual/en/function.ldap-get-values-len.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param resource $result_entry_identifier
+ * @param string $attribute
+ * @return array|false an array of values for the attribute on success and <b>FALSE</b> on
+ * error. Individual values are accessed by integer index in the array. The
+ * first index is 0. The number of values can be found by indexing "count"
+ * in the resultant array.
+ */
+function ldap_get_values_len ($link_identifier, $result_entry_identifier, $attribute) {}
+
+/**
+ * Get the DN of a result entry
+ * @link https://php.net/manual/en/function.ldap-get-dn.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param resource $result_entry_identifier
+ * @return string|false the DN of the result entry and <b>FALSE</b> on error.
+ */
+function ldap_get_dn ($link_identifier, $result_entry_identifier) {}
+
+/**
+ * Splits DN into its component parts
+ * @link https://php.net/manual/en/function.ldap-explode-dn.php
+ * @param string $dn <p>
+ * The distinguished name of an LDAP entity.
+ * </p>
+ * @param int $with_attrib <p>
+ * Used to request if the RDNs are returned with only values or their
+ * attributes as well. To get RDNs with the attributes (i.e. in
+ * attribute=value format) set <i>with_attrib</i> to 0
+ * and to get only values set it to 1.
+ * </p>
+ * @return array an array of all DN components.
+ * The first element in this array has count key and
+ * represents the number of returned values, next elements are numerically
+ * indexed DN components.
+ */
+function ldap_explode_dn ($dn, $with_attrib) {}
+
+/**
+ * Convert DN to User Friendly Naming format
+ * @link https://php.net/manual/en/function.ldap-dn2ufn.php
+ * @param string $dn <p>
+ * The distinguished name of an LDAP entity.
+ * </p>
+ * @return string the user friendly name.
+ */
+function ldap_dn2ufn ($dn) {}
+
+/**
+ * Add entries to LDAP directory
+ * @link https://php.net/manual/en/function.ldap-add.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param string $dn <p>
+ * The distinguished name of an LDAP entity.
+ * </p>
+ * @param array $entry <p>
+ * An array that specifies the information about the entry. The values in
+ * the entries are indexed by individual attributes.
+ * In case of multiple values for an attribute, they are indexed using
+ * integers starting with 0.
+ * <code>
+ * $entree["attribut1"] = "value";
+ * $entree["attribut2"][0] = "value1";
+ * $entree["attribut2"][1] = "value2";
+ * </code>
+ * </p>
+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request.
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function ldap_add ($link_identifier, $dn, array $entry, $serverctrls = []) {}
+
+/**
+ * Add entries to LDAP directory
+ * Does the same thing as ldap_add() but returns the LDAP result resource to be parsed with ldap_parse_result().
+ * @link https://www.php.net/manual/en/function.ldap-add-ext.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param string $dn <p>
+ * The distinguished name of an LDAP entity.
+ * </p>
+ * @param array $entry <p>
+ * An array that specifies the information about the entry. The values in
+ * the entries are indexed by individual attributes.
+ * In case of multiple values for an attribute, they are indexed using
+ * integers starting with 0.
+ * <code>
+ * $entree["attribut1"] = "value";
+ * $entree["attribut2"][0] = "value1";
+ * $entree["attribut2"][1] = "value2";
+ * </code>
+ * </p>
+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request.
+ * @return resource|false
+ * @since 7.4
+ */
+function ldap_add_ext ($link_identifier, $dn, array $entry, $serverctrls = []) {}
+
+/**
+ * Delete an entry from a directory
+ * @link https://php.net/manual/en/function.ldap-delete.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param string $dn <p>
+ * The distinguished name of an LDAP entity.
+ * </p>
+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request.
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function ldap_delete ($link_identifier, $dn, $serverctrls = []) {}
+
+/**
+ * Delete an entry from a directory
+ * Does the same thing as ldap_delete() but returns the LDAP result resource to be parsed with ldap_parse_result().
+ * @link https://php.net/manual/en/function.ldap-delete-ext.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param string $dn <p>
+ * The distinguished name of an LDAP entity.
+ * </p>
+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request.
+ * @return resource|false
+ * @since 7.3
+ */
+function ldap_delete_ext ($link_identifier, $dn, $serverctrls = []) {}
+
+/**
+ * This function is an alias of: ldap_mod_replace().
+ * Replace attribute values with new ones
+ * @link https://php.net/manual/en/function.ldap-mod-replace.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param string $dn <p>
+ * The distinguished name of an LDAP entity.
+ * </p>
+ * @param array $entry
+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request.
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ * @since 7.0
+ */
+function ldap_modify ($link_identifier, $dn, array $entry, $serverctrls = []) {}
+
+/**
+ * Add attribute values to current attributes
+ * @link https://php.net/manual/en/function.ldap-mod-add.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param string $dn <p>
+ * The distinguished name of an LDAP entity.
+ * </p>
+ * @param array $entry
+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request.
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function ldap_mod_add ($link_identifier, $dn, array $entry, $serverctrls = []) {}
+
+/**
+ * Add attribute values to current attributes
+ * Does the same thing as ldap_mod_add() but returns the LDAP result resource to be parsed with ldap_parse_result().
+ * @link https://php.net/manual/en/function.ldap-mod-add-ext.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param string $dn <p>
+ * The distinguished name of an LDAP entity.
+ * </p>
+ * @param array $entry
+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request.
+ * @return resource|false
+ */
+function ldap_mod_add_ext ($link_identifier, $dn, array $entry, $serverctrls = []) {}
+
+/**
+ * Replace attribute values with new ones
+ * @link https://php.net/manual/en/function.ldap-mod-replace.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param string $dn <p>
+ * The distinguished name of an LDAP entity.
+ * </p>
+ * @param array $entry
+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request.
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function ldap_mod_replace ($link_identifier, $dn, array $entry, $serverctrls = []) {}
+
+/**
+ * Replace attribute values with new ones
+ * Does the same thing as ldap_mod_replace() but returns the LDAP result resource to be parsed with ldap_parse_result().
+ * @link https://php.net/manual/en/function.ldap-mod-replace-ext.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param string $dn <p>
+ * The distinguished name of an LDAP entity.
+ * </p>
+ * @param array $entry
+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request.
+ * @return resource|false
+ * @since 7.3
+ */
+function ldap_mod_replace_ext ($link_identifier, $dn, array $entry, $serverctrls = []) {}
+
+/**
+ * Delete attribute values from current attributes
+ * @link https://php.net/manual/en/function.ldap-mod-del.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param string $dn <p>
+ * The distinguished name of an LDAP entity.
+ * </p>
+ * @param array $entry
+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request.
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function ldap_mod_del ($link_identifier, $dn, array $entry, $serverctrls = []) {}
+
+/**
+ * Delete attribute values from current attributes
+ * Does the same thing as ldap_mod_del() but returns the LDAP result resource to be parsed with ldap_parse_result().
+ * @link https://php.net/manual/en/function.ldap-mod-del-ext.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param string $dn <p>
+ * The distinguished name of an LDAP entity.
+ * </p>
+ * @param array $entry
+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request.
+ * @return resource|false
+ * @since 7.3
+ */
+function ldap_mod_del_ext ($link_identifier, $dn, array $entry, $serverctrls = []) {}
+
+/**
+ * Return the LDAP error number of the last LDAP command
+ * @link https://php.net/manual/en/function.ldap-errno.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @return int Return the LDAP error number of the last LDAP command for this
+ * link.
+ */
+function ldap_errno ($link_identifier) {}
+
+/**
+ * Convert LDAP error number into string error message
+ * @link https://php.net/manual/en/function.ldap-err2str.php
+ * @param int $errno <p>
+ * The error number.
+ * </p>
+ * @return string the error message, as a string.
+ */
+function ldap_err2str ($errno) {}
+
+/**
+ * Return the LDAP error message of the last LDAP command
+ * @link https://php.net/manual/en/function.ldap-error.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @return string string error message.
+ */
+function ldap_error ($link_identifier) {}
+
+/**
+ * Compare value of attribute found in entry specified with DN
+ * @link https://php.net/manual/en/function.ldap-compare.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param string $dn <p>
+ * The distinguished name of an LDAP entity.
+ * </p>
+ * @param string $attribute <p>
+ * The attribute name.
+ * </p>
+ * @param string $value <p>
+ * The compared value.
+ * </p>
+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request.
+ * @return mixed <b>TRUE</b> if <i>value</i> matches otherwise returns
+ * <b>FALSE</b>. Returns -1 on error.
+ */
+function ldap_compare ($link_identifier, $dn, $attribute, $value, $serverctrls = []) {}
+
+/**
+ * Sort LDAP result entries
+ * @link https://php.net/manual/en/function.ldap-sort.php
+ * @param resource $link <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param resource $result <p>
+ * An search result identifier, returned by
+ * <b>ldap_search</b>.
+ * </p>
+ * @param string $sortfilter <p>
+ * The attribute to use as a key in the sort.
+ * </p>
+ * @deprecated 7.0
+ * @removed 8.0
+ * @return bool
+ */
+function ldap_sort ($link, $result, $sortfilter) {}
+
+/**
+ * Modify the name of an entry
+ * @link https://php.net/manual/en/function.ldap-rename.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param string $dn <p>
+ * The distinguished name of an LDAP entity.
+ * </p>
+ * @param string $newrdn <p>
+ * The new RDN.
+ * </p>
+ * @param string $newparent <p>
+ * The new parent/superior entry.
+ * </p>
+ * @param bool $deleteoldrdn <p>
+ * If <b>TRUE</b> the old RDN value(s) is removed, else the old RDN value(s)
+ * is retained as non-distinguished values of the entry.
+ * </p>
+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request.
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function ldap_rename ($link_identifier, $dn, $newrdn, $newparent, $deleteoldrdn, $serverctrls = []) {}
+
+/**
+ * Modify the name of an entry
+ * Does the same thing as ldap_rename() but returns the LDAP result resource to be parsed with ldap_parse_result().
+ * @link https://php.net/manual/en/function.ldap-rename-ext.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param string $dn <p>
+ * The distinguished name of an LDAP entity.
+ * </p>
+ * @param string $newrdn <p>
+ * The new RDN.
+ * </p>
+ * @param string $newparent <p>
+ * The new parent/superior entry.
+ * </p>
+ * @param bool $deleteoldrdn <p>
+ * If <b>TRUE</b> the old RDN value(s) is removed, else the old RDN value(s)
+ * is retained as non-distinguished values of the entry.
+ * </p>
+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request.
+ * @return resource|false
+ * @since 7.3
+ */
+function ldap_rename_ext ($link_identifier, $dn, $newrdn, $newparent, $deleteoldrdn, $serverctrls = []) {}
+
+/**
+ * Get the current value for given option
+ * @link https://php.net/manual/en/function.ldap-get-option.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param int $option <p>
+ * The parameter <i>option</i> can be one of:
+ * <tr valign="top">
+ * <td>Option</td>
+ * <td>Type</td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_DEREF</b></td>
+ * <td>integer</td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_SIZELIMIT</b></td>
+ * <td>integer</td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_TIMELIMIT</b></td>
+ * <td>integer</td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_NETWORK_TIMEOUT</b></td>
+ * <td>integer</td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_PROTOCOL_VERSION</b></td>
+ * <td>integer</td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_ERROR_NUMBER</b></td>
+ * <td>integer</td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_REFERRALS</b></td>
+ * <td>bool</td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_RESTART</b></td>
+ * <td>bool</td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_HOST_NAME</b></td>
+ * <td>string</td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_ERROR_STRING</b></td>
+ * <td>string</td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_MATCHED_DN</b></td>
+ * <td>string</td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_SERVER_CONTROLS</b></td>
+ * <td>array</td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_CLIENT_CONTROLS</b></td>
+ * <td>array</td>
+ * </tr>
+ * </p>
+ * @param mixed $retval <p>
+ * This will be set to the option value.
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function ldap_get_option ($link_identifier, $option, &$retval) {}
+
+/**
+ * Set the value of the given option
+ * @link https://php.net/manual/en/function.ldap-set-option.php
+ * @param resource $link_identifier <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param int $option <p>
+ * The parameter <i>option</i> can be one of:
+ * <tr valign="top">
+ * <td>Option</td>
+ * <td>Type</td>
+ * <td>Available since</td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_DEREF</b></td>
+ * <td>integer</td>
+ * <td></td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_SIZELIMIT</b></td>
+ * <td>integer</td>
+ * <td></td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_TIMELIMIT</b></td>
+ * <td>integer</td>
+ * <td></td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_NETWORK_TIMEOUT</b></td>
+ * <td>integer</td>
+ * <td>PHP 5.3.0</td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_PROTOCOL_VERSION</b></td>
+ * <td>integer</td>
+ * <td></td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_ERROR_NUMBER</b></td>
+ * <td>integer</td>
+ * <td></td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_REFERRALS</b></td>
+ * <td>bool</td>
+ * <td></td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_RESTART</b></td>
+ * <td>bool</td>
+ * <td></td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_HOST_NAME</b></td>
+ * <td>string</td>
+ * <td></td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_ERROR_STRING</b></td>
+ * <td>string</td>
+ * <td></td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_MATCHED_DN</b></td>
+ * <td>string</td>
+ * <td></td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_SERVER_CONTROLS</b></td>
+ * <td>array</td>
+ * <td></td>
+ * </tr>
+ * <tr valign="top">
+ * <td><b>LDAP_OPT_CLIENT_CONTROLS</b></td>
+ * <td>array</td>
+ * <td></td>
+ * </tr>
+ * </p>
+ * <p>
+ * <b>LDAP_OPT_SERVER_CONTROLS</b> and
+ * <b>LDAP_OPT_CLIENT_CONTROLS</b> require a list of
+ * controls, this means that the value must be an array of controls. A
+ * control consists of an oid identifying the control,
+ * an optional value, and an optional flag for
+ * criticality. In PHP a control is given by an
+ * array containing an element with the key oid
+ * and string value, and two optional elements. The optional
+ * elements are key value with string value
+ * and key iscritical with boolean value.
+ * iscritical defaults to <b>FALSE</b>
+ * if not supplied. See draft-ietf-ldapext-ldap-c-api-xx.txt
+ * for details. See also the second example below.
+ * </p>
+ * @param mixed $newval <p>
+ * The new value for the specified <i>option</i>.
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ */
+function ldap_set_option ($link_identifier, $option, $newval) {}
+
+/**
+ * Return first reference
+ * @link https://php.net/manual/en/function.ldap-first-reference.php
+ * @param resource $link
+ * @param resource $result
+ * @return resource
+ */
+function ldap_first_reference ($link, $result) {}
+
+/**
+ * Get next reference
+ * @link https://php.net/manual/en/function.ldap-next-reference.php
+ * @param resource $link
+ * @param resource $entry
+ * @return resource
+ */
+function ldap_next_reference ($link, $entry) {}
+
+/**
+ * Extract information from reference entry
+ * @link https://php.net/manual/en/function.ldap-parse-reference.php
+ * @param resource $link
+ * @param resource $entry
+ * @param array $referrals
+ * @return bool
+ */
+function ldap_parse_reference ($link, $entry, array &$referrals) {}
+
+/**
+ * Extract information from result
+ * @link https://php.net/manual/en/function.ldap-parse-result.php
+ * @param resource $link
+ * @param resource $result
+ * @param int $errcode
+ * @param string $matcheddn [optional]
+ * @param string $errmsg [optional]
+ * @param array $referrals [optional]
+ * @param array $serverctrls [optional] An array of LDAP Controls which have been sent with the response.
+ * @return bool
+ */
+function ldap_parse_result ($link, $result, &$errcode, &$matcheddn = null, &$errmsg = null, array &$referrals = null, &$serverctrls = []) {}
+
+/**
+ * Start TLS
+ * @link https://php.net/manual/en/function.ldap-start-tls.php
+ * @param resource $link
+ * @return bool
+ */
+function ldap_start_tls ($link) {}
+
+/**
+ * Set a callback function to do re-binds on referral chasing
+ * @link https://php.net/manual/en/function.ldap-set-rebind-proc.php
+ * @param resource $link
+ * @param callable $callback
+ * @return bool
+ */
+function ldap_set_rebind_proc ($link, callable $callback) {}
+
+/**
+ * Send LDAP pagination control
+ * @link https://php.net/manual/en/function.ldap-control-paged-result.php
+ * @param resource $link <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param int $pagesize <p>
+ * The number of entries by page.
+ * </p>
+ * @param bool $iscritical [optional] <p>
+ * Indicates whether the pagination is critical of not.
+ * If true and if the server doesn't support pagination, the search
+ * will return no result.
+ * </p>
+ * @param string $cookie [optional] <p>
+ * An opaque structure sent by the server
+ * (<b>ldap_control_paged_result_response</b>).
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ * @since 5.4
+ * @deprecated 7.4
+ */
+function ldap_control_paged_result ($link, $pagesize, $iscritical = false, $cookie = "") {}
+
+/**
+ * Retrieve the LDAP pagination cookie
+ * @link https://php.net/manual/en/function.ldap-control-paged-result-response.php
+ * @param resource $link <p>
+ * An LDAP link identifier, returned by <b>ldap_connect</b>.
+ * </p>
+ * @param resource $result
+ * @param string $cookie [optional] <p>
+ * An opaque structure sent by the server.
+ * </p>
+ * @param int $estimated [optional] <p>
+ * The estimated number of entries to retrieve.
+ * </p>
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ * @since 5.4
+ * @deprecated 7.4
+ */
+function ldap_control_paged_result_response ($link, $result, &$cookie = null, &$estimated = null) {}
+
+/**
+ * Escape a string for use in an LDAP filter or DN
+ * @param string $value The value to escape.
+ * @param string $ignore [optional] Characters to ignore when escaping.
+ * @param int $flags [optional] The context the escaped string will be used in: LDAP_ESCAPE_FILTER for filters to be used with ldap_search(), or LDAP_ESCAPE_DN for DNs. If neither flag is passed, all chars are escaped.
+ * @return string
+ * @since 5.6
+ */
+
+function ldap_escape ($value, $ignore = "", $flags = 0) {}
+
+/**
+ * (PHP 5.4 &gt;= 5.4.26, PHP 5.5 &gt;= 5.5.10, PHP 5.6 &gt;= 5.6.0)
+ * Batch and execute modifications on an LDAP entry
+ * @link https://php.net/manual/en/function.ldap-modify-batch.php
+ * @param $link_identifier <p>
+ * An LDAP link identifier, returned by
+ * {@see ldap_connect()}.
+ * </p>
+ * @param $dn <p>The distinguished name of an LDAP entity.</p>
+ * @param $entry <p>An array that specifies the modifications to make. Each entry in this
+ * array is an associative array with two or three keys:
+ * <em>attrib</em> maps to the name of the attribute to modify,
+ * <em>modtype</em> maps to the type of modification to perform,
+ * and (depending on the type of modification) <em>values</em>
+ * maps to an array of attribute values relevant to the modification.
+ * </p>
+ * <p>
+ * Possible values for <em>modtype</em> include:
+ * </p><dl>
+ *
+ *
+ * <dt>
+ * <b>LDAP_MODIFY_BATCH_ADD</b></dt>
+ *
+ * <dd>
+ *
+ * <p>
+ * Each value specified through <em>values</em> is added (as
+ * an additional value) to the attribute named by
+ * <em>attrib</em>.
+ * </p>
+ * </dd>
+ *
+ * <dt>
+ * <b>LDAP_MODIFY_BATCH_REMOVE</b></dt>
+ *
+ * <dd>
+ *
+ * <p>
+ * Each value specified through <em>values</em> is removed
+ * from the attribute named by <em>attrib</em>. Any value of
+ * the attribute not contained in the <em>values</em> array
+ * will remain untouched.
+ * </p>
+ * </dd>
+ * <dt>
+ * <b>LDAP_MODIFY_BATCH_REMOVE_ALL</b></dt>
+ *
+ * <dd>
+ *
+ * <p>
+ * All values are removed from the attribute named by
+ * <em>attrib</em>. A <em>values</em> entry must
+ * not be provided.
+ * </p>
+ * </dd>
+ *
+ * <dt>
+ * <b>LDAP_MODIFY_BATCH_REPLACE</b></dt>
+ *
+ * <dd>
+ *
+ * <p>
+ * All current values of the attribute named by
+ * <em>attrib</em> are replaced with the values specified
+ * through <em>values</em>.
+ * </p>
+ * </dd>
+ * </dl>
+ * <p>
+ * Note that any value for <em>attrib</em> must be a string, any
+ * value for <em>values</em> must be an array of strings, and
+ * any value for <em>modtype</em> must be one of the
+ * <b>LDAP_MODIFY_BATCH_*</b> constants listed above.
+ * </p></p>
+ * @param array $serverctrls [optional] Array of LDAP Controls to send with the request.
+ * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+ * @since 5.4
+ */
+function ldap_modify_batch ( $link_identifier , $dn , $entry, $serverctrls = []) {}
+
+/**
+ * @param resource $link_identifier
+ * @param resource $result_identifier
+ * @return int returns the number of reference messages in a search result.
+ * @since 8.0
+ */
+function ldap_count_references($link_identifier, $result_identifier){}
+
+define('LDAP_ESCAPE_FILTER', 1);
+define ('LDAP_ESCAPE_DN', 2);
+define ('LDAP_DEREF_NEVER', 0);
+define ('LDAP_DEREF_SEARCHING', 1);
+define ('LDAP_DEREF_FINDING', 2);
+define ('LDAP_DEREF_ALWAYS', 3);
+define ('LDAP_MODIFY_BATCH_REMOVE',2);
+define('LDAP_MODIFY_BATCH_ADD', 1);
+define('LDAP_MODIFY_BATCH_REMOVE_ALL', 18);
+define('LDAP_MODIFY_BATCH_REPLACE', 3);
+
+define('LDAP_OPT_X_TLS_REQUIRE_CERT', 24582);
+define('LDAP_OPT_X_TLS_NEVER', 0);
+define('LDAP_OPT_X_TLS_HARD', 1);
+define('LDAP_OPT_X_TLS_DEMAND', 2);
+define('LDAP_OPT_X_TLS_ALLOW', 3);
+define('LDAP_OPT_X_TLS_TRY', 4);
+define('LDAP_OPT_X_TLS_CERTFILE', 24580);
+define('LDAP_OPT_X_TLS_CIPHER_SUITE', 24584);
+define('LDAP_OPT_X_TLS_KEYFILE', 24581);
+define('LDAP_OPT_X_TLS_DHFILE', 24590);
+define('LDAP_OPT_X_TLS_CRLFILE', 24592);
+define('LDAP_OPT_X_TLS_RANDOM_FILE', 24585);
+define('LDAP_OPT_X_TLS_CRLCHECK', 24587);
+define('LDAP_OPT_X_TLS_CRL_NONE', 0);
+define('LDAP_OPT_X_TLS_CRL_PEER', 1);
+define('LDAP_OPT_X_TLS_CRL_ALL', 2);
+define('LDAP_OPT_X_TLS_PROTOCOL_MIN', 24583);
+define('LDAP_OPT_X_TLS_PROTOCOL_SSL2', 512);
+define('LDAP_OPT_X_TLS_PROTOCOL_SSL3', 768);
+define('LDAP_OPT_X_TLS_PROTOCOL_TLS1_0', 769);
+define('LDAP_OPT_X_TLS_PROTOCOL_TLS1_1', 770);
+define('LDAP_OPT_X_TLS_PROTOCOL_TLS1_2', 771);
+define('LDAP_OPT_X_TLS_PACKAGE', 24593);
+define('LDAP_OPT_X_KEEPALIVE_IDLE', 25344);
+define('LDAP_OPT_X_KEEPALIVE_PROBES', 25345);
+define('LDAP_OPT_X_KEEPALIVE_INTERVAL', 25346);
+define('LDAP_OPT_X_SASL_USERNAME', 24844);
+define('LDAP_OPT_X_SASL_NOCANON', 24843);
+
+/**
+ * Specifies alternative rules for following aliases at the server.
+ * @link https://php.net/manual/en/ldap.constants.php
+ */
+define ('LDAP_OPT_DEREF', 2);
+
+/**
+ * <p>
+ * Specifies the maximum number of entries that can be
+ * returned on a search operation.
+ * </p>
+ * The actual size limit for operations is also bounded
+ * by the server's configured maximum number of return entries.
+ * The lesser of these two settings is the actual size limit.
+ * @link https://php.net/manual/en/ldap.constants.php
+ */
+define ('LDAP_OPT_SIZELIMIT', 3);
+
+/**
+ * Specifies the number of seconds to wait for search results.
+ * The actual time limit for operations is also bounded
+ * by the server's configured maximum time.
+ * The lesser of these two settings is the actual time limit.
+ * @link https://php.net/manual/en/ldap.constants.php
+ */
+define ('LDAP_OPT_TIMELIMIT', 4);
+
+/**
+ * Option for <b>ldap_set_option</b> to allow setting network timeout.
+ * (Available as of PHP 5.3.0)
+ * @link https://php.net/manual/en/ldap.constants.php
+ */
+define ('LDAP_OPT_NETWORK_TIMEOUT', 20485);
+
+/**
+ * Specifies the LDAP protocol to be used (V2 or V3).
+ * @link https://php.net/manual/en/ldap.constants.php
+ */
+define ('LDAP_OPT_PROTOCOL_VERSION', 17);
+define ('LDAP_OPT_ERROR_NUMBER', 49);
+
+/**
+ * Specifies whether to automatically follow referrals returned
+ * by the LDAP server.
+ * @link https://php.net/manual/en/ldap.constants.php
+ */
+define ('LDAP_OPT_REFERRALS', 8);
+define ('LDAP_OPT_RESTART', 9);
+define ('LDAP_OPT_HOST_NAME', 48);
+define ('LDAP_OPT_ERROR_STRING', 50);
+define ('LDAP_OPT_MATCHED_DN', 51);
+
+/**
+ * Specifies a default list of server controls to be sent with each request.
+ * @link https://php.net/manual/en/ldap.constants.php
+ */
+define ('LDAP_OPT_SERVER_CONTROLS', 18);
+
+/**
+ * Specifies a default list of client controls to be processed with each request.
+ * @link https://php.net/manual/en/ldap.constants.php
+ */
+define ('LDAP_OPT_CLIENT_CONTROLS', 19);
+
+/**
+ * Specifies a bitwise level for debug traces.
+ * @link https://php.net/manual/en/ldap.constants.php
+ */
+define ('LDAP_OPT_DEBUG_LEVEL', 20481);
+define ('LDAP_OPT_X_SASL_MECH', 24832);
+define ('LDAP_OPT_X_SASL_REALM', 24833);
+define ('LDAP_OPT_X_SASL_AUTHCID', 24834);
+define ('LDAP_OPT_X_SASL_AUTHZID', 24835);
+
+/**
+ * Specifies the path of the directory containing CA certificates.
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.1
+ */
+define('LDAP_OPT_X_TLS_CACERTDIR', 24579);
+
+/**
+ * Specifies the full-path of the CA certificate file.
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.1
+ */
+define('LDAP_OPT_X_TLS_CACERTFILE', 24578);
+
+define('LDAP_MODIFY_BATCH_ATTRIB', 'attrib');
+define('LDAP_MODIFY_BATCH_MODTYPE', 'modtype');
+define('LDAP_MODIFY_BATCH_VALUES', 'values');
+define('LDAP_OPT_TIMEOUT', 20482);
+define('LDAP_OPT_DIAGNOSTIC_MESSAGE', 50);
+
+
+/**
+ * Control Constant - Manage DSA IT (» RFC 3296)
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.3
+ */
+define("LDAP_CONTROL_MANAGEDSAIT", "2.16.840.1.113730.3.4.2");
+echo
+
+/**
+ * Control Constant - Proxied Authorization (» RFC 4370)
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.3
+ */
+define("LDAP_CONTROL_PROXY_AUTHZ", "2.16.840.1.113730.3.4.18");
+
+/**
+ * Control Constant - Subentries (» RFC 3672)
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.3
+ */
+define("LDAP_CONTROL_SUBENTRIES", "1.3.6.1.4.1.4203.1.10.1");
+
+/**
+ * Control Constant - Filter returned values (» RFC 3876)
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.3
+ */
+define("LDAP_CONTROL_VALUESRETURNFILTER", "1.2.826.0.1.3344810.2.3");
+
+/**
+ * Control Constant - Assertion (» RFC 4528)
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.3
+ */
+define("LDAP_CONTROL_ASSERT", "1.3.6.1.1.12");
+
+/**
+ * Control Constant - Pre read (» RFC 4527)
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.3
+ */
+define("LDAP_CONTROL_PRE_READ", "1.3.6.1.1.13.1");
+
+/**
+ * Control Constant - Post read (» RFC 4527)
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.3
+ */
+define("LDAP_CONTROL_POST_READ", "1.3.6.1.1.13.2");
+
+/**
+ * Control Constant - Sort request (» RFC 2891)
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.3
+ */
+define("LDAP_CONTROL_SORTREQUEST", "1.2.840.113556.1.4.473");
+
+/**
+ * Control Constant - Sort response (» RFC 2891)
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.3
+ */
+define("LDAP_CONTROL_SORTRESPONSE", "1.2.840.113556.1.4.474");
+
+/**
+ * Control Constant - Paged results (» RFC 2696)
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.3
+ */
+define("LDAP_CONTROL_PAGEDRESULTS", "1.2.840.113556.1.4.319");
+
+/**
+ * Control Constant - Content Synchronization Operation (» RFC 4533)
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.3
+ */
+define("LDAP_CONTROL_SYNC", "1.3.6.1.4.1.4203.1.9.1.1");
+
+/**
+ * Control Constant - Content Synchronization Operation State (» RFC 4533)
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.3
+ */
+define("LDAP_CONTROL_SYNC_STATE", "1.3.6.1.4.1.4203.1.9.1.2");
+
+/**
+ * Control Constant - Content Synchronization Operation Done (» RFC 4533)
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.3
+ */
+define("LDAP_CONTROL_SYNC_DONE", "1.3.6.1.4.1.4203.1.9.1.3");
+
+/**
+ * Control Constant - Don't Use Copy (» RFC 6171)
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.3
+ */
+define("LDAP_CONTROL_DONTUSECOPY", "1.3.6.1.1.22");
+
+/**
+ * Control Constant - Password Policy Request
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.3
+ */
+define("LDAP_CONTROL_PASSWORDPOLICYREQUEST", "1.3.6.1.4.1.42.2.27.8.5.1");
+
+/**
+ * Control Constant - Password Policy Response
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.3
+ */
+define("LDAP_CONTROL_PASSWORDPOLICYRESPONSE", "1.3.6.1.4.1.42.2.27.8.5.1");
+
+/**
+ * Control Constant - Active Directory Incremental Values
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.3
+ */
+define("LDAP_CONTROL_X_INCREMENTAL_VALUES", "1.2.840.113556.1.4.802");
+
+/**
+ * Control Constant - Active Directory Domain Scope
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.3
+ */
+define("LDAP_CONTROL_X_DOMAIN_SCOPE", "1.2.840.113556.1.4.1339");
+
+/**
+ * Control Constant - Active Directory Permissive Modify
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.3
+ */
+define("LDAP_CONTROL_X_PERMISSIVE_MODIFY", "1.2.840.113556.1.4.1413");
+
+/**
+ * Control Constant - Active Directory Search Options
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.3
+ */
+define("LDAP_CONTROL_X_SEARCH_OPTIONS", "1.2.840.113556.1.4.1340");
+
+/**
+ * Control Constant - Active Directory Tree Delete
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.3
+ */
+define("LDAP_CONTROL_X_TREE_DELETE", "1.2.840.113556.1.4.805");
+
+/**
+ * Control Constant - Active Directory Extended DN
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.3
+ */
+define("LDAP_CONTROL_X_EXTENDED_DN", "1.2.840.113556.1.4.529");
+
+/**
+ * Control Constant - Virtual List View Request
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.3
+ */
+define("LDAP_CONTROL_VLVREQUEST", "2.16.840.1.113730.3.4.9");
+
+/**
+ * Control Constant - Virtual List View Response
+ * @link https://php.net/manual/en/ldap.constants.php
+ * @since 7.3
+ */
+define("LDAP_CONTROL_VLVRESPONSE", "2.16.840.1.113730.3.4.10");
+
+
+/**
+ * Extended Operation constant - Modify password
+ */
+define("LDAP_EXOP_MODIFY_PASSWD", "1.3.6.1.4.1.4203.1.11.1");
+
+/**
+ * Extended Operation Constant - Refresh
+ */
+define("LDAP_EXOP_REFRESH", "1.3.6.1.4.1.1466.101.119.1");
+
+/**
+ * Extended Operation constant - Start TLS
+ */
+define("LDAP_EXOP_START_TLS", "1.3.6.1.4.1.1466.20037");
+
+/**
+ * Extended Operation Constant - Turn
+ */
+define("LDAP_EXOP_TURN", "1.3.6.1.1.19");
+
+/**
+ * Extended Operation Constant - WHOAMI
+ */
+define("LDAP_EXOP_WHO_AM_I", "1.3.6.1.4.1.4203.1.11.3");
+
+// End of ldap v.
+?>
diff --git a/build/stubs/xsl.php b/build/stubs/xsl.php
new file mode 100644 (file)
index 0000000..5712636
--- /dev/null
@@ -0,0 +1,192 @@
+<?php
+
+// Start of xsl v.0.1
+
+/**
+ * @link https://php.net/manual/en/class.xsltprocessor.php
+ */
+class XSLTProcessor  {
+
+       /**
+        * Import stylesheet
+        * @link https://php.net/manual/en/xsltprocessor.importstylesheet.php
+        * @param object $stylesheet <p>
+        * The imported style sheet as a <b>DOMDocument</b> or
+        * <b>SimpleXMLElement</b> object.
+        * </p>
+        * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+        */
+       public function importStylesheet ($stylesheet) {}
+
+       /**
+        * Transform to a DOMDocument
+        * @link https://php.net/manual/en/xsltprocessor.transformtodoc.php
+        * @param DOMNode $doc <p>
+        * The node to be transformed.
+        * </p>
+        * @return DOMDocument|false The resulting <b>DOMDocument</b> or <b>FALSE</b> on error.
+        */
+       public function transformToDoc (DOMNode $doc) {}
+
+       /**
+        * Transform to URI
+        * @link https://php.net/manual/en/xsltprocessor.transformtouri.php
+        * @param DOMDocument|SimpleXMLElement $doc <p>
+        * The document to transform.
+        * </p>
+        * @param string $uri <p>
+        * The target URI for the transformation.
+        * </p>
+        * @return int|false the number of bytes written or <b>FALSE</b> if an error occurred.
+        */
+       public function transformToUri ($doc, $uri) {}
+
+       /**
+        * Transform to XML
+        * @link https://php.net/manual/en/xsltprocessor.transformtoxml.php
+        * @param DOMDocument|SimpleXMLElement $doc <p>
+        * The transformed document.
+        * </p>
+        * @return string|false The result of the transformation as a string or <b>FALSE</b> on error.
+        */
+       public function transformToXml ($doc) {}
+
+       /**
+        * Set value for a parameter
+        * @link https://php.net/manual/en/xsltprocessor.setparameter.php
+        * @param string $namespace <p>
+        * The namespace URI of the XSLT parameter.
+        * </p>
+        * @param string $name <p>
+        * The local name of the XSLT parameter.
+        * </p>
+        * @param string $value <p>
+        * The new value of the XSLT parameter.
+        * </p>
+        * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+        */
+       public function setParameter ($namespace, $name, $value) {}
+
+       /**
+        * Get value of a parameter
+        * @link https://php.net/manual/en/xsltprocessor.getparameter.php
+        * @param string $namespaceURI <p>
+        * The namespace URI of the XSLT parameter.
+        * </p>
+        * @param string $localName <p>
+        * The local name of the XSLT parameter.
+        * </p>
+        * @return string|false The value of the parameter (as a string), or <b>FALSE</b> if it's not set.
+        */
+       public function getParameter ($namespaceURI, $localName) {}
+
+       /**
+        * Remove parameter
+        * @link https://php.net/manual/en/xsltprocessor.removeparameter.php
+        * @param string $namespaceURI <p>
+        * The namespace URI of the XSLT parameter.
+        * </p>
+        * @param string $localName <p>
+        * The local name of the XSLT parameter.
+        * </p>
+        * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+        */
+       public function removeParameter ($namespaceURI, $localName) {}
+
+       /**
+        * Determine if PHP has EXSLT support
+        * @link https://php.net/manual/en/xsltprocessor.hasexsltsupport.php
+        * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+        * @since 5.0.4
+        */
+       public function hasExsltSupport () {}
+
+       /**
+        * Enables the ability to use PHP functions as XSLT functions
+        * @link https://php.net/manual/en/xsltprocessor.registerphpfunctions.php
+        * @param mixed $restrict [optional] <p>
+        * Use this parameter to only allow certain functions to be called from
+        * XSLT.
+        * </p>
+        * <p>
+        * This parameter can be either a string (a function name) or an array of
+        * functions.
+        * </p>
+        * @return void No value is returned.
+        * @since 5.0.4
+        */
+       public function registerPHPFunctions ($restrict = null) {}
+
+       /**
+        * Sets profiling output file
+        * @link https://php.net/manual/en/xsltprocessor.setprofiling.php
+        * @param string $filename <p>
+        * Path to the file to dump profiling information.
+        * </p>
+        * @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
+        */
+       public function setProfiling ($filename) {}
+
+       /**
+        * Set security preferences
+        * @link https://php.net/manual/en/xsltprocessor.setsecurityprefs.php
+        * @param int $securityPrefs
+        * @return int
+        * @since 5.4
+        */
+       public function setSecurityPrefs ($securityPrefs) {}
+
+       /**
+        * Get security preferences
+        * @link https://php.net/manual/en/xsltprocessor.getsecurityprefs.php
+        * @return int
+        * @since 5.4
+        */
+       public function getSecurityPrefs () {}
+
+}
+define ('XSL_CLONE_AUTO', 0);
+define ('XSL_CLONE_NEVER', -1);
+define ('XSL_CLONE_ALWAYS', 1);
+
+/** @link https://php.net/manual/en/xsl.constants.php */
+define ('XSL_SECPREF_NONE', 0);
+/** @link https://php.net/manual/en/xsl.constants.php */
+define ('XSL_SECPREF_READ_FILE', 2);
+/** @link https://php.net/manual/en/xsl.constants.php */
+define ('XSL_SECPREF_WRITE_FILE', 4);
+/** @link https://php.net/manual/en/xsl.constants.php */
+define ('XSL_SECPREF_CREATE_DIRECTORY', 8);
+/** @link https://php.net/manual/en/xsl.constants.php */
+define ('XSL_SECPREF_READ_NETWORK', 16);
+/** @link https://php.net/manual/en/xsl.constants.php */
+define ('XSL_SECPREF_WRITE_NETWORK', 32);
+/** @link https://php.net/manual/en/xsl.constants.php */
+define ('XSL_SECPREF_DEFAULT', 44);
+
+/**
+ * libxslt version like 10117. Available as of PHP 5.1.2.
+ * @link https://php.net/manual/en/xsl.constants.php
+ */
+define ('LIBXSLT_VERSION', 10128);
+
+/**
+ * libxslt version like 1.1.17. Available as of PHP 5.1.2.
+ * @link https://php.net/manual/en/xsl.constants.php
+ */
+define ('LIBXSLT_DOTTED_VERSION', "1.1.28");
+
+/**
+ * libexslt version like 813. Available as of PHP 5.1.2.
+ * @link https://php.net/manual/en/xsl.constants.php
+ */
+define ('LIBEXSLT_VERSION', 817);
+
+/**
+ * libexslt version like 1.1.17. Available as of PHP 5.1.2.
+ * @link https://php.net/manual/en/xsl.constants.php
+ */
+define ('LIBEXSLT_DOTTED_VERSION', "1.1.28");
+
+// End of xsl v.0.1
+?>
index 2766d407468b11095ddcc1e4f494bd9e92661bb3..f299558450dacca43066c75287b8db7be64c3dc5 100644 (file)
--- a/psalm.xml
+++ b/psalm.xml
        </extraFiles>
        <stubs>
                <file name="build/stubs/apcu.php"/>
+               <file name="build/stubs/gd.php"/>
                <file name="build/stubs/imagick.php"/>
+               <file name="build/stubs/intl.php"/>
+               <file name="build/stubs/IntlChar.php"/>
+               <file name="build/stubs/ldap.php"/>
                <file name="build/stubs/memcached.php"/>
                <file name="build/stubs/redis.php"/>
+               <file name="build/stubs/redis_cluster.php"/>
                <file name="build/stubs/sftp.php"/>
                <file name="build/stubs/ssh2.php"/>
+               <file name="build/stubs/xsl.php"/>
        </stubs>
        <issueHandlers>
                <UndefinedFunction>