1 // -*- C++ -*- 2 //===----------------------------------------------------------------------===// 3 // 4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5 // See https://llvm.org/LICENSE.txt for license information. 6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 // 8 //===----------------------------------------------------------------------===// 9 10 // WARNING, this entire header is generated by 11 // utils/generate_escaped_output_table.py 12 // DO NOT MODIFY! 13 14 // UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE 15 // 16 // See Terms of Use <https://www.unicode.org/copyright.html> 17 // for definitions of Unicode Inc.'s Data Files and Software. 18 // 19 // NOTICE TO USER: Carefully read the following legal agreement. 20 // BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S 21 // DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), 22 // YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE 23 // TERMS AND CONDITIONS OF THIS AGREEMENT. 24 // IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE 25 // THE DATA FILES OR SOFTWARE. 26 // 27 // COPYRIGHT AND PERMISSION NOTICE 28 // 29 // Copyright (c) 1991-2022 Unicode, Inc. All rights reserved. 30 // Distributed under the Terms of Use in https://www.unicode.org/copyright.html. 31 // 32 // Permission is hereby granted, free of charge, to any person obtaining 33 // a copy of the Unicode data files and any associated documentation 34 // (the "Data Files") or Unicode software and any associated documentation 35 // (the "Software") to deal in the Data Files or Software 36 // without restriction, including without limitation the rights to use, 37 // copy, modify, merge, publish, distribute, and/or sell copies of 38 // the Data Files or Software, and to permit persons to whom the Data Files 39 // or Software are furnished to do so, provided that either 40 // (a) this copyright and permission notice appear with all copies 41 // of the Data Files or Software, or 42 // (b) this copyright and permission notice appear in associated 43 // Documentation. 44 // 45 // THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF 46 // ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 47 // WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 48 // NONINFRINGEMENT OF THIRD PARTY RIGHTS. 49 // IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS 50 // NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL 51 // DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 52 // DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 53 // TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 54 // PERFORMANCE OF THE DATA FILES OR SOFTWARE. 55 // 56 // Except as contained in this notice, the name of a copyright holder 57 // shall not be used in advertising or otherwise to promote the sale, 58 // use or other dealings in these Data Files or Software without prior 59 // written authorization of the copyright holder. 60 61 #ifndef _LIBCPP___FORMAT_ESCAPED_OUTPUT_TABLE_H 62 #define _LIBCPP___FORMAT_ESCAPED_OUTPUT_TABLE_H 63 64 #include <__algorithm/ranges_upper_bound.h> 65 #include <__config> 66 #include <cstddef> 67 #include <cstdint> 68 69 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 70 # pragma GCC system_header 71 #endif 72 73 _LIBCPP_BEGIN_NAMESPACE_STD 74 75 #if _LIBCPP_STD_VER >= 23 76 77 namespace __escaped_output_table { 78 // clang-format off 79 80 /// The entries of the characters to escape in format's debug string. 81 /// 82 /// Contains the entries for [format.string.escaped]/2.2.1.2.1 83 /// CE is a Unicode encoding and C corresponds to a UCS scalar value whose 84 /// Unicode property General_Category has a value in the groups Separator (Z) 85 /// or Other (C), as described by table 12 of UAX #44 86 /// 87 /// Separator (Z) consists of General_Category 88 /// - Space_Separator, 89 /// - Line_Separator, 90 /// - Paragraph_Separator. 91 /// 92 /// Other (C) consists of General_Category 93 /// - Control, 94 /// - Format, 95 /// - Surrogate, 96 /// - Private_Use, 97 /// - Unassigned. 98 /// 99 /// The data is generated from 100 /// - https://www.unicode.org/Public/UCD/latest/ucd/extracted/DerivedGeneralCategory.txt 101 /// 102 /// The table is similar to the table 103 /// __extended_grapheme_custer_property_boundary::__entries 104 /// which explains the details of these classes. The only difference is this 105 /// table lacks a property, thus having more bits available for the size. 106 /// 107 /// The data has 2 values: 108 /// - bits [0, 13] The size of the range, allowing 16384 elements. 109 /// - bits [14, 31] The lower bound code point of the range. The upper bound of 110 /// the range is lower bound + size. Note the code expects code units the fit 111 /// into 18 bits, instead of the 21 bits needed for the full Unicode range. 112 _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[711] = { 113 0x00000020 /* 00000000 - 00000020 [ 33] */, 114 0x001fc021 /* 0000007f - 000000a0 [ 34] */, 115 0x002b4000 /* 000000ad - 000000ad [ 1] */, 116 0x00de0001 /* 00000378 - 00000379 [ 2] */, 117 0x00e00003 /* 00000380 - 00000383 [ 4] */, 118 0x00e2c000 /* 0000038b - 0000038b [ 1] */, 119 0x00e34000 /* 0000038d - 0000038d [ 1] */, 120 0x00e88000 /* 000003a2 - 000003a2 [ 1] */, 121 0x014c0000 /* 00000530 - 00000530 [ 1] */, 122 0x0155c001 /* 00000557 - 00000558 [ 2] */, 123 0x0162c001 /* 0000058b - 0000058c [ 2] */, 124 0x01640000 /* 00000590 - 00000590 [ 1] */, 125 0x01720007 /* 000005c8 - 000005cf [ 8] */, 126 0x017ac003 /* 000005eb - 000005ee [ 4] */, 127 0x017d4010 /* 000005f5 - 00000605 [ 17] */, 128 0x01870000 /* 0000061c - 0000061c [ 1] */, 129 0x01b74000 /* 000006dd - 000006dd [ 1] */, 130 0x01c38001 /* 0000070e - 0000070f [ 2] */, 131 0x01d2c001 /* 0000074b - 0000074c [ 2] */, 132 0x01ec800d /* 000007b2 - 000007bf [ 14] */, 133 0x01fec001 /* 000007fb - 000007fc [ 2] */, 134 0x020b8001 /* 0000082e - 0000082f [ 2] */, 135 0x020fc000 /* 0000083f - 0000083f [ 1] */, 136 0x02170001 /* 0000085c - 0000085d [ 2] */, 137 0x0217c000 /* 0000085f - 0000085f [ 1] */, 138 0x021ac004 /* 0000086b - 0000086f [ 5] */, 139 0x0223c008 /* 0000088f - 00000897 [ 9] */, 140 0x02388000 /* 000008e2 - 000008e2 [ 1] */, 141 0x02610000 /* 00000984 - 00000984 [ 1] */, 142 0x02634001 /* 0000098d - 0000098e [ 2] */, 143 0x02644001 /* 00000991 - 00000992 [ 2] */, 144 0x026a4000 /* 000009a9 - 000009a9 [ 1] */, 145 0x026c4000 /* 000009b1 - 000009b1 [ 1] */, 146 0x026cc002 /* 000009b3 - 000009b5 [ 3] */, 147 0x026e8001 /* 000009ba - 000009bb [ 2] */, 148 0x02714001 /* 000009c5 - 000009c6 [ 2] */, 149 0x02724001 /* 000009c9 - 000009ca [ 2] */, 150 0x0273c007 /* 000009cf - 000009d6 [ 8] */, 151 0x02760003 /* 000009d8 - 000009db [ 4] */, 152 0x02778000 /* 000009de - 000009de [ 1] */, 153 0x02790001 /* 000009e4 - 000009e5 [ 2] */, 154 0x027fc001 /* 000009ff - 00000a00 [ 2] */, 155 0x02810000 /* 00000a04 - 00000a04 [ 1] */, 156 0x0282c003 /* 00000a0b - 00000a0e [ 4] */, 157 0x02844001 /* 00000a11 - 00000a12 [ 2] */, 158 0x028a4000 /* 00000a29 - 00000a29 [ 1] */, 159 0x028c4000 /* 00000a31 - 00000a31 [ 1] */, 160 0x028d0000 /* 00000a34 - 00000a34 [ 1] */, 161 0x028dc000 /* 00000a37 - 00000a37 [ 1] */, 162 0x028e8001 /* 00000a3a - 00000a3b [ 2] */, 163 0x028f4000 /* 00000a3d - 00000a3d [ 1] */, 164 0x0290c003 /* 00000a43 - 00000a46 [ 4] */, 165 0x02924001 /* 00000a49 - 00000a4a [ 2] */, 166 0x02938002 /* 00000a4e - 00000a50 [ 3] */, 167 0x02948006 /* 00000a52 - 00000a58 [ 7] */, 168 0x02974000 /* 00000a5d - 00000a5d [ 1] */, 169 0x0297c006 /* 00000a5f - 00000a65 [ 7] */, 170 0x029dc009 /* 00000a77 - 00000a80 [ 10] */, 171 0x02a10000 /* 00000a84 - 00000a84 [ 1] */, 172 0x02a38000 /* 00000a8e - 00000a8e [ 1] */, 173 0x02a48000 /* 00000a92 - 00000a92 [ 1] */, 174 0x02aa4000 /* 00000aa9 - 00000aa9 [ 1] */, 175 0x02ac4000 /* 00000ab1 - 00000ab1 [ 1] */, 176 0x02ad0000 /* 00000ab4 - 00000ab4 [ 1] */, 177 0x02ae8001 /* 00000aba - 00000abb [ 2] */, 178 0x02b18000 /* 00000ac6 - 00000ac6 [ 1] */, 179 0x02b28000 /* 00000aca - 00000aca [ 1] */, 180 0x02b38001 /* 00000ace - 00000acf [ 2] */, 181 0x02b4400e /* 00000ad1 - 00000adf [ 15] */, 182 0x02b90001 /* 00000ae4 - 00000ae5 [ 2] */, 183 0x02bc8006 /* 00000af2 - 00000af8 [ 7] */, 184 0x02c00000 /* 00000b00 - 00000b00 [ 1] */, 185 0x02c10000 /* 00000b04 - 00000b04 [ 1] */, 186 0x02c34001 /* 00000b0d - 00000b0e [ 2] */, 187 0x02c44001 /* 00000b11 - 00000b12 [ 2] */, 188 0x02ca4000 /* 00000b29 - 00000b29 [ 1] */, 189 0x02cc4000 /* 00000b31 - 00000b31 [ 1] */, 190 0x02cd0000 /* 00000b34 - 00000b34 [ 1] */, 191 0x02ce8001 /* 00000b3a - 00000b3b [ 2] */, 192 0x02d14001 /* 00000b45 - 00000b46 [ 2] */, 193 0x02d24001 /* 00000b49 - 00000b4a [ 2] */, 194 0x02d38006 /* 00000b4e - 00000b54 [ 7] */, 195 0x02d60003 /* 00000b58 - 00000b5b [ 4] */, 196 0x02d78000 /* 00000b5e - 00000b5e [ 1] */, 197 0x02d90001 /* 00000b64 - 00000b65 [ 2] */, 198 0x02de0009 /* 00000b78 - 00000b81 [ 10] */, 199 0x02e10000 /* 00000b84 - 00000b84 [ 1] */, 200 0x02e2c002 /* 00000b8b - 00000b8d [ 3] */, 201 0x02e44000 /* 00000b91 - 00000b91 [ 1] */, 202 0x02e58002 /* 00000b96 - 00000b98 [ 3] */, 203 0x02e6c000 /* 00000b9b - 00000b9b [ 1] */, 204 0x02e74000 /* 00000b9d - 00000b9d [ 1] */, 205 0x02e80002 /* 00000ba0 - 00000ba2 [ 3] */, 206 0x02e94002 /* 00000ba5 - 00000ba7 [ 3] */, 207 0x02eac002 /* 00000bab - 00000bad [ 3] */, 208 0x02ee8003 /* 00000bba - 00000bbd [ 4] */, 209 0x02f0c002 /* 00000bc3 - 00000bc5 [ 3] */, 210 0x02f24000 /* 00000bc9 - 00000bc9 [ 1] */, 211 0x02f38001 /* 00000bce - 00000bcf [ 2] */, 212 0x02f44005 /* 00000bd1 - 00000bd6 [ 6] */, 213 0x02f6000d /* 00000bd8 - 00000be5 [ 14] */, 214 0x02fec004 /* 00000bfb - 00000bff [ 5] */, 215 0x03034000 /* 00000c0d - 00000c0d [ 1] */, 216 0x03044000 /* 00000c11 - 00000c11 [ 1] */, 217 0x030a4000 /* 00000c29 - 00000c29 [ 1] */, 218 0x030e8001 /* 00000c3a - 00000c3b [ 2] */, 219 0x03114000 /* 00000c45 - 00000c45 [ 1] */, 220 0x03124000 /* 00000c49 - 00000c49 [ 1] */, 221 0x03138006 /* 00000c4e - 00000c54 [ 7] */, 222 0x0315c000 /* 00000c57 - 00000c57 [ 1] */, 223 0x0316c001 /* 00000c5b - 00000c5c [ 2] */, 224 0x03178001 /* 00000c5e - 00000c5f [ 2] */, 225 0x03190001 /* 00000c64 - 00000c65 [ 2] */, 226 0x031c0006 /* 00000c70 - 00000c76 [ 7] */, 227 0x03234000 /* 00000c8d - 00000c8d [ 1] */, 228 0x03244000 /* 00000c91 - 00000c91 [ 1] */, 229 0x032a4000 /* 00000ca9 - 00000ca9 [ 1] */, 230 0x032d0000 /* 00000cb4 - 00000cb4 [ 1] */, 231 0x032e8001 /* 00000cba - 00000cbb [ 2] */, 232 0x03314000 /* 00000cc5 - 00000cc5 [ 1] */, 233 0x03324000 /* 00000cc9 - 00000cc9 [ 1] */, 234 0x03338006 /* 00000cce - 00000cd4 [ 7] */, 235 0x0335c005 /* 00000cd7 - 00000cdc [ 6] */, 236 0x0337c000 /* 00000cdf - 00000cdf [ 1] */, 237 0x03390001 /* 00000ce4 - 00000ce5 [ 2] */, 238 0x033c0000 /* 00000cf0 - 00000cf0 [ 1] */, 239 0x033d000b /* 00000cf4 - 00000cff [ 12] */, 240 0x03434000 /* 00000d0d - 00000d0d [ 1] */, 241 0x03444000 /* 00000d11 - 00000d11 [ 1] */, 242 0x03514000 /* 00000d45 - 00000d45 [ 1] */, 243 0x03524000 /* 00000d49 - 00000d49 [ 1] */, 244 0x03540003 /* 00000d50 - 00000d53 [ 4] */, 245 0x03590001 /* 00000d64 - 00000d65 [ 2] */, 246 0x03600000 /* 00000d80 - 00000d80 [ 1] */, 247 0x03610000 /* 00000d84 - 00000d84 [ 1] */, 248 0x0365c002 /* 00000d97 - 00000d99 [ 3] */, 249 0x036c8000 /* 00000db2 - 00000db2 [ 1] */, 250 0x036f0000 /* 00000dbc - 00000dbc [ 1] */, 251 0x036f8001 /* 00000dbe - 00000dbf [ 2] */, 252 0x0371c002 /* 00000dc7 - 00000dc9 [ 3] */, 253 0x0372c003 /* 00000dcb - 00000dce [ 4] */, 254 0x03754000 /* 00000dd5 - 00000dd5 [ 1] */, 255 0x0375c000 /* 00000dd7 - 00000dd7 [ 1] */, 256 0x03780005 /* 00000de0 - 00000de5 [ 6] */, 257 0x037c0001 /* 00000df0 - 00000df1 [ 2] */, 258 0x037d400b /* 00000df5 - 00000e00 [ 12] */, 259 0x038ec003 /* 00000e3b - 00000e3e [ 4] */, 260 0x03970024 /* 00000e5c - 00000e80 [ 37] */, 261 0x03a0c000 /* 00000e83 - 00000e83 [ 1] */, 262 0x03a14000 /* 00000e85 - 00000e85 [ 1] */, 263 0x03a2c000 /* 00000e8b - 00000e8b [ 1] */, 264 0x03a90000 /* 00000ea4 - 00000ea4 [ 1] */, 265 0x03a98000 /* 00000ea6 - 00000ea6 [ 1] */, 266 0x03af8001 /* 00000ebe - 00000ebf [ 2] */, 267 0x03b14000 /* 00000ec5 - 00000ec5 [ 1] */, 268 0x03b1c000 /* 00000ec7 - 00000ec7 [ 1] */, 269 0x03b3c000 /* 00000ecf - 00000ecf [ 1] */, 270 0x03b68001 /* 00000eda - 00000edb [ 2] */, 271 0x03b8001f /* 00000ee0 - 00000eff [ 32] */, 272 0x03d20000 /* 00000f48 - 00000f48 [ 1] */, 273 0x03db4003 /* 00000f6d - 00000f70 [ 4] */, 274 0x03e60000 /* 00000f98 - 00000f98 [ 1] */, 275 0x03ef4000 /* 00000fbd - 00000fbd [ 1] */, 276 0x03f34000 /* 00000fcd - 00000fcd [ 1] */, 277 0x03f6c024 /* 00000fdb - 00000fff [ 37] */, 278 0x04318000 /* 000010c6 - 000010c6 [ 1] */, 279 0x04320004 /* 000010c8 - 000010cc [ 5] */, 280 0x04338001 /* 000010ce - 000010cf [ 2] */, 281 0x04924000 /* 00001249 - 00001249 [ 1] */, 282 0x04938001 /* 0000124e - 0000124f [ 2] */, 283 0x0495c000 /* 00001257 - 00001257 [ 1] */, 284 0x04964000 /* 00001259 - 00001259 [ 1] */, 285 0x04978001 /* 0000125e - 0000125f [ 2] */, 286 0x04a24000 /* 00001289 - 00001289 [ 1] */, 287 0x04a38001 /* 0000128e - 0000128f [ 2] */, 288 0x04ac4000 /* 000012b1 - 000012b1 [ 1] */, 289 0x04ad8001 /* 000012b6 - 000012b7 [ 2] */, 290 0x04afc000 /* 000012bf - 000012bf [ 1] */, 291 0x04b04000 /* 000012c1 - 000012c1 [ 1] */, 292 0x04b18001 /* 000012c6 - 000012c7 [ 2] */, 293 0x04b5c000 /* 000012d7 - 000012d7 [ 1] */, 294 0x04c44000 /* 00001311 - 00001311 [ 1] */, 295 0x04c58001 /* 00001316 - 00001317 [ 2] */, 296 0x04d6c001 /* 0000135b - 0000135c [ 2] */, 297 0x04df4002 /* 0000137d - 0000137f [ 3] */, 298 0x04e68005 /* 0000139a - 0000139f [ 6] */, 299 0x04fd8001 /* 000013f6 - 000013f7 [ 2] */, 300 0x04ff8001 /* 000013fe - 000013ff [ 2] */, 301 0x05a00000 /* 00001680 - 00001680 [ 1] */, 302 0x05a74002 /* 0000169d - 0000169f [ 3] */, 303 0x05be4006 /* 000016f9 - 000016ff [ 7] */, 304 0x05c58008 /* 00001716 - 0000171e [ 9] */, 305 0x05cdc008 /* 00001737 - 0000173f [ 9] */, 306 0x05d5000b /* 00001754 - 0000175f [ 12] */, 307 0x05db4000 /* 0000176d - 0000176d [ 1] */, 308 0x05dc4000 /* 00001771 - 00001771 [ 1] */, 309 0x05dd000b /* 00001774 - 0000177f [ 12] */, 310 0x05f78001 /* 000017de - 000017df [ 2] */, 311 0x05fa8005 /* 000017ea - 000017ef [ 6] */, 312 0x05fe8005 /* 000017fa - 000017ff [ 6] */, 313 0x06038000 /* 0000180e - 0000180e [ 1] */, 314 0x06068005 /* 0000181a - 0000181f [ 6] */, 315 0x061e4006 /* 00001879 - 0000187f [ 7] */, 316 0x062ac004 /* 000018ab - 000018af [ 5] */, 317 0x063d8009 /* 000018f6 - 000018ff [ 10] */, 318 0x0647c000 /* 0000191f - 0000191f [ 1] */, 319 0x064b0003 /* 0000192c - 0000192f [ 4] */, 320 0x064f0003 /* 0000193c - 0000193f [ 4] */, 321 0x06504002 /* 00001941 - 00001943 [ 3] */, 322 0x065b8001 /* 0000196e - 0000196f [ 2] */, 323 0x065d400a /* 00001975 - 0000197f [ 11] */, 324 0x066b0003 /* 000019ac - 000019af [ 4] */, 325 0x06728005 /* 000019ca - 000019cf [ 6] */, 326 0x0676c002 /* 000019db - 000019dd [ 3] */, 327 0x06870001 /* 00001a1c - 00001a1d [ 2] */, 328 0x0697c000 /* 00001a5f - 00001a5f [ 1] */, 329 0x069f4001 /* 00001a7d - 00001a7e [ 2] */, 330 0x06a28005 /* 00001a8a - 00001a8f [ 6] */, 331 0x06a68005 /* 00001a9a - 00001a9f [ 6] */, 332 0x06ab8001 /* 00001aae - 00001aaf [ 2] */, 333 0x06b3c030 /* 00001acf - 00001aff [ 49] */, 334 0x06d34002 /* 00001b4d - 00001b4f [ 3] */, 335 0x06dfc000 /* 00001b7f - 00001b7f [ 1] */, 336 0x06fd0007 /* 00001bf4 - 00001bfb [ 8] */, 337 0x070e0002 /* 00001c38 - 00001c3a [ 3] */, 338 0x07128002 /* 00001c4a - 00001c4c [ 3] */, 339 0x07224006 /* 00001c89 - 00001c8f [ 7] */, 340 0x072ec001 /* 00001cbb - 00001cbc [ 2] */, 341 0x07320007 /* 00001cc8 - 00001ccf [ 8] */, 342 0x073ec004 /* 00001cfb - 00001cff [ 5] */, 343 0x07c58001 /* 00001f16 - 00001f17 [ 2] */, 344 0x07c78001 /* 00001f1e - 00001f1f [ 2] */, 345 0x07d18001 /* 00001f46 - 00001f47 [ 2] */, 346 0x07d38001 /* 00001f4e - 00001f4f [ 2] */, 347 0x07d60000 /* 00001f58 - 00001f58 [ 1] */, 348 0x07d68000 /* 00001f5a - 00001f5a [ 1] */, 349 0x07d70000 /* 00001f5c - 00001f5c [ 1] */, 350 0x07d78000 /* 00001f5e - 00001f5e [ 1] */, 351 0x07df8001 /* 00001f7e - 00001f7f [ 2] */, 352 0x07ed4000 /* 00001fb5 - 00001fb5 [ 1] */, 353 0x07f14000 /* 00001fc5 - 00001fc5 [ 1] */, 354 0x07f50001 /* 00001fd4 - 00001fd5 [ 2] */, 355 0x07f70000 /* 00001fdc - 00001fdc [ 1] */, 356 0x07fc0001 /* 00001ff0 - 00001ff1 [ 2] */, 357 0x07fd4000 /* 00001ff5 - 00001ff5 [ 1] */, 358 0x07ffc010 /* 00001fff - 0000200f [ 17] */, 359 0x080a0007 /* 00002028 - 0000202f [ 8] */, 360 0x0817c010 /* 0000205f - 0000206f [ 17] */, 361 0x081c8001 /* 00002072 - 00002073 [ 2] */, 362 0x0823c000 /* 0000208f - 0000208f [ 1] */, 363 0x08274002 /* 0000209d - 0000209f [ 3] */, 364 0x0830400e /* 000020c1 - 000020cf [ 15] */, 365 0x083c400e /* 000020f1 - 000020ff [ 15] */, 366 0x08630003 /* 0000218c - 0000218f [ 4] */, 367 0x0909c018 /* 00002427 - 0000243f [ 25] */, 368 0x0912c014 /* 0000244b - 0000245f [ 21] */, 369 0x0add0001 /* 00002b74 - 00002b75 [ 2] */, 370 0x0ae58000 /* 00002b96 - 00002b96 [ 1] */, 371 0x0b3d0004 /* 00002cf4 - 00002cf8 [ 5] */, 372 0x0b498000 /* 00002d26 - 00002d26 [ 1] */, 373 0x0b4a0004 /* 00002d28 - 00002d2c [ 5] */, 374 0x0b4b8001 /* 00002d2e - 00002d2f [ 2] */, 375 0x0b5a0006 /* 00002d68 - 00002d6e [ 7] */, 376 0x0b5c400d /* 00002d71 - 00002d7e [ 14] */, 377 0x0b65c008 /* 00002d97 - 00002d9f [ 9] */, 378 0x0b69c000 /* 00002da7 - 00002da7 [ 1] */, 379 0x0b6bc000 /* 00002daf - 00002daf [ 1] */, 380 0x0b6dc000 /* 00002db7 - 00002db7 [ 1] */, 381 0x0b6fc000 /* 00002dbf - 00002dbf [ 1] */, 382 0x0b71c000 /* 00002dc7 - 00002dc7 [ 1] */, 383 0x0b73c000 /* 00002dcf - 00002dcf [ 1] */, 384 0x0b75c000 /* 00002dd7 - 00002dd7 [ 1] */, 385 0x0b77c000 /* 00002ddf - 00002ddf [ 1] */, 386 0x0b978021 /* 00002e5e - 00002e7f [ 34] */, 387 0x0ba68000 /* 00002e9a - 00002e9a [ 1] */, 388 0x0bbd000b /* 00002ef4 - 00002eff [ 12] */, 389 0x0bf58019 /* 00002fd6 - 00002fef [ 26] */, 390 0x0c000000 /* 00003000 - 00003000 [ 1] */, 391 0x0c100000 /* 00003040 - 00003040 [ 1] */, 392 0x0c25c001 /* 00003097 - 00003098 [ 2] */, 393 0x0c400004 /* 00003100 - 00003104 [ 5] */, 394 0x0c4c0000 /* 00003130 - 00003130 [ 1] */, 395 0x0c63c000 /* 0000318f - 0000318f [ 1] */, 396 0x0c79000a /* 000031e4 - 000031ee [ 11] */, 397 0x0c87c000 /* 0000321f - 0000321f [ 1] */, 398 0x29234002 /* 0000a48d - 0000a48f [ 3] */, 399 0x2931c008 /* 0000a4c7 - 0000a4cf [ 9] */, 400 0x298b0013 /* 0000a62c - 0000a63f [ 20] */, 401 0x29be0007 /* 0000a6f8 - 0000a6ff [ 8] */, 402 0x29f2c004 /* 0000a7cb - 0000a7cf [ 5] */, 403 0x29f48000 /* 0000a7d2 - 0000a7d2 [ 1] */, 404 0x29f50000 /* 0000a7d4 - 0000a7d4 [ 1] */, 405 0x29f68017 /* 0000a7da - 0000a7f1 [ 24] */, 406 0x2a0b4002 /* 0000a82d - 0000a82f [ 3] */, 407 0x2a0e8005 /* 0000a83a - 0000a83f [ 6] */, 408 0x2a1e0007 /* 0000a878 - 0000a87f [ 8] */, 409 0x2a318007 /* 0000a8c6 - 0000a8cd [ 8] */, 410 0x2a368005 /* 0000a8da - 0000a8df [ 6] */, 411 0x2a55000a /* 0000a954 - 0000a95e [ 11] */, 412 0x2a5f4002 /* 0000a97d - 0000a97f [ 3] */, 413 0x2a738000 /* 0000a9ce - 0000a9ce [ 1] */, 414 0x2a768003 /* 0000a9da - 0000a9dd [ 4] */, 415 0x2a7fc000 /* 0000a9ff - 0000a9ff [ 1] */, 416 0x2a8dc008 /* 0000aa37 - 0000aa3f [ 9] */, 417 0x2a938001 /* 0000aa4e - 0000aa4f [ 2] */, 418 0x2a968001 /* 0000aa5a - 0000aa5b [ 2] */, 419 0x2ab0c017 /* 0000aac3 - 0000aada [ 24] */, 420 0x2abdc009 /* 0000aaf7 - 0000ab00 [ 10] */, 421 0x2ac1c001 /* 0000ab07 - 0000ab08 [ 2] */, 422 0x2ac3c001 /* 0000ab0f - 0000ab10 [ 2] */, 423 0x2ac5c008 /* 0000ab17 - 0000ab1f [ 9] */, 424 0x2ac9c000 /* 0000ab27 - 0000ab27 [ 1] */, 425 0x2acbc000 /* 0000ab2f - 0000ab2f [ 1] */, 426 0x2adb0003 /* 0000ab6c - 0000ab6f [ 4] */, 427 0x2afb8001 /* 0000abee - 0000abef [ 2] */, 428 0x2afe8005 /* 0000abfa - 0000abff [ 6] */, 429 0x35e9000b /* 0000d7a4 - 0000d7af [ 12] */, 430 0x35f1c003 /* 0000d7c7 - 0000d7ca [ 4] */, 431 0x35ff2103 /* 0000d7fc - 0000f8ff [ 8452] */, 432 0x3e9b8001 /* 0000fa6e - 0000fa6f [ 2] */, 433 0x3eb68025 /* 0000fada - 0000faff [ 38] */, 434 0x3ec1c00b /* 0000fb07 - 0000fb12 [ 12] */, 435 0x3ec60004 /* 0000fb18 - 0000fb1c [ 5] */, 436 0x3ecdc000 /* 0000fb37 - 0000fb37 [ 1] */, 437 0x3ecf4000 /* 0000fb3d - 0000fb3d [ 1] */, 438 0x3ecfc000 /* 0000fb3f - 0000fb3f [ 1] */, 439 0x3ed08000 /* 0000fb42 - 0000fb42 [ 1] */, 440 0x3ed14000 /* 0000fb45 - 0000fb45 [ 1] */, 441 0x3ef0c00f /* 0000fbc3 - 0000fbd2 [ 16] */, 442 0x3f640001 /* 0000fd90 - 0000fd91 [ 2] */, 443 0x3f720006 /* 0000fdc8 - 0000fdce [ 7] */, 444 0x3f74001f /* 0000fdd0 - 0000fdef [ 32] */, 445 0x3f868005 /* 0000fe1a - 0000fe1f [ 6] */, 446 0x3f94c000 /* 0000fe53 - 0000fe53 [ 1] */, 447 0x3f99c000 /* 0000fe67 - 0000fe67 [ 1] */, 448 0x3f9b0003 /* 0000fe6c - 0000fe6f [ 4] */, 449 0x3f9d4000 /* 0000fe75 - 0000fe75 [ 1] */, 450 0x3fbf4003 /* 0000fefd - 0000ff00 [ 4] */, 451 0x3fefc002 /* 0000ffbf - 0000ffc1 [ 3] */, 452 0x3ff20001 /* 0000ffc8 - 0000ffc9 [ 2] */, 453 0x3ff40001 /* 0000ffd0 - 0000ffd1 [ 2] */, 454 0x3ff60001 /* 0000ffd8 - 0000ffd9 [ 2] */, 455 0x3ff74002 /* 0000ffdd - 0000ffdf [ 3] */, 456 0x3ff9c000 /* 0000ffe7 - 0000ffe7 [ 1] */, 457 0x3ffbc00c /* 0000ffef - 0000fffb [ 13] */, 458 0x3fff8001 /* 0000fffe - 0000ffff [ 2] */, 459 0x40030000 /* 0001000c - 0001000c [ 1] */, 460 0x4009c000 /* 00010027 - 00010027 [ 1] */, 461 0x400ec000 /* 0001003b - 0001003b [ 1] */, 462 0x400f8000 /* 0001003e - 0001003e [ 1] */, 463 0x40138001 /* 0001004e - 0001004f [ 2] */, 464 0x40178021 /* 0001005e - 0001007f [ 34] */, 465 0x403ec004 /* 000100fb - 000100ff [ 5] */, 466 0x4040c003 /* 00010103 - 00010106 [ 4] */, 467 0x404d0002 /* 00010134 - 00010136 [ 3] */, 468 0x4063c000 /* 0001018f - 0001018f [ 1] */, 469 0x40674002 /* 0001019d - 0001019f [ 3] */, 470 0x4068402e /* 000101a1 - 000101cf [ 47] */, 471 0x407f8081 /* 000101fe - 0001027f [ 130] */, 472 0x40a74002 /* 0001029d - 0001029f [ 3] */, 473 0x40b4400e /* 000102d1 - 000102df [ 15] */, 474 0x40bf0003 /* 000102fc - 000102ff [ 4] */, 475 0x40c90008 /* 00010324 - 0001032c [ 9] */, 476 0x40d2c004 /* 0001034b - 0001034f [ 5] */, 477 0x40dec004 /* 0001037b - 0001037f [ 5] */, 478 0x40e78000 /* 0001039e - 0001039e [ 1] */, 479 0x40f10003 /* 000103c4 - 000103c7 [ 4] */, 480 0x40f58029 /* 000103d6 - 000103ff [ 42] */, 481 0x41278001 /* 0001049e - 0001049f [ 2] */, 482 0x412a8005 /* 000104aa - 000104af [ 6] */, 483 0x41350003 /* 000104d4 - 000104d7 [ 4] */, 484 0x413f0003 /* 000104fc - 000104ff [ 4] */, 485 0x414a0007 /* 00010528 - 0001052f [ 8] */, 486 0x4159000a /* 00010564 - 0001056e [ 11] */, 487 0x415ec000 /* 0001057b - 0001057b [ 1] */, 488 0x4162c000 /* 0001058b - 0001058b [ 1] */, 489 0x4164c000 /* 00010593 - 00010593 [ 1] */, 490 0x41658000 /* 00010596 - 00010596 [ 1] */, 491 0x41688000 /* 000105a2 - 000105a2 [ 1] */, 492 0x416c8000 /* 000105b2 - 000105b2 [ 1] */, 493 0x416e8000 /* 000105ba - 000105ba [ 1] */, 494 0x416f4042 /* 000105bd - 000105ff [ 67] */, 495 0x41cdc008 /* 00010737 - 0001073f [ 9] */, 496 0x41d58009 /* 00010756 - 0001075f [ 10] */, 497 0x41da0017 /* 00010768 - 0001077f [ 24] */, 498 0x41e18000 /* 00010786 - 00010786 [ 1] */, 499 0x41ec4000 /* 000107b1 - 000107b1 [ 1] */, 500 0x41eec044 /* 000107bb - 000107ff [ 69] */, 501 0x42018001 /* 00010806 - 00010807 [ 2] */, 502 0x42024000 /* 00010809 - 00010809 [ 1] */, 503 0x420d8000 /* 00010836 - 00010836 [ 1] */, 504 0x420e4002 /* 00010839 - 0001083b [ 3] */, 505 0x420f4001 /* 0001083d - 0001083e [ 2] */, 506 0x42158000 /* 00010856 - 00010856 [ 1] */, 507 0x4227c007 /* 0001089f - 000108a6 [ 8] */, 508 0x422c002f /* 000108b0 - 000108df [ 48] */, 509 0x423cc000 /* 000108f3 - 000108f3 [ 1] */, 510 0x423d8004 /* 000108f6 - 000108fa [ 5] */, 511 0x42470002 /* 0001091c - 0001091e [ 3] */, 512 0x424e8004 /* 0001093a - 0001093e [ 5] */, 513 0x4250003f /* 00010940 - 0001097f [ 64] */, 514 0x426e0003 /* 000109b8 - 000109bb [ 4] */, 515 0x42740001 /* 000109d0 - 000109d1 [ 2] */, 516 0x42810000 /* 00010a04 - 00010a04 [ 1] */, 517 0x4281c004 /* 00010a07 - 00010a0b [ 5] */, 518 0x42850000 /* 00010a14 - 00010a14 [ 1] */, 519 0x42860000 /* 00010a18 - 00010a18 [ 1] */, 520 0x428d8001 /* 00010a36 - 00010a37 [ 2] */, 521 0x428ec003 /* 00010a3b - 00010a3e [ 4] */, 522 0x42924006 /* 00010a49 - 00010a4f [ 7] */, 523 0x42964006 /* 00010a59 - 00010a5f [ 7] */, 524 0x42a8001f /* 00010aa0 - 00010abf [ 32] */, 525 0x42b9c003 /* 00010ae7 - 00010aea [ 4] */, 526 0x42bdc008 /* 00010af7 - 00010aff [ 9] */, 527 0x42cd8002 /* 00010b36 - 00010b38 [ 3] */, 528 0x42d58001 /* 00010b56 - 00010b57 [ 2] */, 529 0x42dcc004 /* 00010b73 - 00010b77 [ 5] */, 530 0x42e48006 /* 00010b92 - 00010b98 [ 7] */, 531 0x42e7400b /* 00010b9d - 00010ba8 [ 12] */, 532 0x42ec004f /* 00010bb0 - 00010bff [ 80] */, 533 0x43124036 /* 00010c49 - 00010c7f [ 55] */, 534 0x432cc00c /* 00010cb3 - 00010cbf [ 13] */, 535 0x433cc006 /* 00010cf3 - 00010cf9 [ 7] */, 536 0x434a0007 /* 00010d28 - 00010d2f [ 8] */, 537 0x434e8125 /* 00010d3a - 00010e5f [ 294] */, 538 0x439fc000 /* 00010e7f - 00010e7f [ 1] */, 539 0x43aa8000 /* 00010eaa - 00010eaa [ 1] */, 540 0x43ab8001 /* 00010eae - 00010eaf [ 2] */, 541 0x43ac804a /* 00010eb2 - 00010efc [ 75] */, 542 0x43ca0007 /* 00010f28 - 00010f2f [ 8] */, 543 0x43d68015 /* 00010f5a - 00010f6f [ 22] */, 544 0x43e28025 /* 00010f8a - 00010faf [ 38] */, 545 0x43f30013 /* 00010fcc - 00010fdf [ 20] */, 546 0x43fdc008 /* 00010ff7 - 00010fff [ 9] */, 547 0x44138003 /* 0001104e - 00011051 [ 4] */, 548 0x441d8008 /* 00011076 - 0001107e [ 9] */, 549 0x442f4000 /* 000110bd - 000110bd [ 1] */, 550 0x4430c00c /* 000110c3 - 000110cf [ 13] */, 551 0x443a4006 /* 000110e9 - 000110ef [ 7] */, 552 0x443e8005 /* 000110fa - 000110ff [ 6] */, 553 0x444d4000 /* 00011135 - 00011135 [ 1] */, 554 0x44520007 /* 00011148 - 0001114f [ 8] */, 555 0x445dc008 /* 00011177 - 0001117f [ 9] */, 556 0x44780000 /* 000111e0 - 000111e0 [ 1] */, 557 0x447d400a /* 000111f5 - 000111ff [ 11] */, 558 0x44848000 /* 00011212 - 00011212 [ 1] */, 559 0x4490803d /* 00011242 - 0001127f [ 62] */, 560 0x44a1c000 /* 00011287 - 00011287 [ 1] */, 561 0x44a24000 /* 00011289 - 00011289 [ 1] */, 562 0x44a38000 /* 0001128e - 0001128e [ 1] */, 563 0x44a78000 /* 0001129e - 0001129e [ 1] */, 564 0x44aa8005 /* 000112aa - 000112af [ 6] */, 565 0x44bac004 /* 000112eb - 000112ef [ 5] */, 566 0x44be8005 /* 000112fa - 000112ff [ 6] */, 567 0x44c10000 /* 00011304 - 00011304 [ 1] */, 568 0x44c34001 /* 0001130d - 0001130e [ 2] */, 569 0x44c44001 /* 00011311 - 00011312 [ 2] */, 570 0x44ca4000 /* 00011329 - 00011329 [ 1] */, 571 0x44cc4000 /* 00011331 - 00011331 [ 1] */, 572 0x44cd0000 /* 00011334 - 00011334 [ 1] */, 573 0x44ce8000 /* 0001133a - 0001133a [ 1] */, 574 0x44d14001 /* 00011345 - 00011346 [ 2] */, 575 0x44d24001 /* 00011349 - 0001134a [ 2] */, 576 0x44d38001 /* 0001134e - 0001134f [ 2] */, 577 0x44d44005 /* 00011351 - 00011356 [ 6] */, 578 0x44d60004 /* 00011358 - 0001135c [ 5] */, 579 0x44d90001 /* 00011364 - 00011365 [ 2] */, 580 0x44db4002 /* 0001136d - 0001136f [ 3] */, 581 0x44dd408a /* 00011375 - 000113ff [ 139] */, 582 0x45170000 /* 0001145c - 0001145c [ 1] */, 583 0x4518801d /* 00011462 - 0001147f [ 30] */, 584 0x45320007 /* 000114c8 - 000114cf [ 8] */, 585 0x453680a5 /* 000114da - 0001157f [ 166] */, 586 0x456d8001 /* 000115b6 - 000115b7 [ 2] */, 587 0x45778021 /* 000115de - 000115ff [ 34] */, 588 0x4591400a /* 00011645 - 0001164f [ 11] */, 589 0x45968005 /* 0001165a - 0001165f [ 6] */, 590 0x459b4012 /* 0001166d - 0001167f [ 19] */, 591 0x45ae8005 /* 000116ba - 000116bf [ 6] */, 592 0x45b28035 /* 000116ca - 000116ff [ 54] */, 593 0x45c6c001 /* 0001171b - 0001171c [ 2] */, 594 0x45cb0003 /* 0001172c - 0001172f [ 4] */, 595 0x45d1c0b8 /* 00011747 - 000117ff [ 185] */, 596 0x460f0063 /* 0001183c - 0001189f [ 100] */, 597 0x463cc00b /* 000118f3 - 000118fe [ 12] */, 598 0x4641c001 /* 00011907 - 00011908 [ 2] */, 599 0x46428001 /* 0001190a - 0001190b [ 2] */, 600 0x46450000 /* 00011914 - 00011914 [ 1] */, 601 0x4645c000 /* 00011917 - 00011917 [ 1] */, 602 0x464d8000 /* 00011936 - 00011936 [ 1] */, 603 0x464e4001 /* 00011939 - 0001193a [ 2] */, 604 0x4651c008 /* 00011947 - 0001194f [ 9] */, 605 0x46568045 /* 0001195a - 0001199f [ 70] */, 606 0x466a0001 /* 000119a8 - 000119a9 [ 2] */, 607 0x46760001 /* 000119d8 - 000119d9 [ 2] */, 608 0x4679401a /* 000119e5 - 000119ff [ 27] */, 609 0x46920007 /* 00011a48 - 00011a4f [ 8] */, 610 0x46a8c00c /* 00011aa3 - 00011aaf [ 13] */, 611 0x46be4006 /* 00011af9 - 00011aff [ 7] */, 612 0x46c280f5 /* 00011b0a - 00011bff [ 246] */, 613 0x47024000 /* 00011c09 - 00011c09 [ 1] */, 614 0x470dc000 /* 00011c37 - 00011c37 [ 1] */, 615 0x47118009 /* 00011c46 - 00011c4f [ 10] */, 616 0x471b4002 /* 00011c6d - 00011c6f [ 3] */, 617 0x47240001 /* 00011c90 - 00011c91 [ 2] */, 618 0x472a0000 /* 00011ca8 - 00011ca8 [ 1] */, 619 0x472dc048 /* 00011cb7 - 00011cff [ 73] */, 620 0x4741c000 /* 00011d07 - 00011d07 [ 1] */, 621 0x47428000 /* 00011d0a - 00011d0a [ 1] */, 622 0x474dc002 /* 00011d37 - 00011d39 [ 3] */, 623 0x474ec000 /* 00011d3b - 00011d3b [ 1] */, 624 0x474f8000 /* 00011d3e - 00011d3e [ 1] */, 625 0x47520007 /* 00011d48 - 00011d4f [ 8] */, 626 0x47568005 /* 00011d5a - 00011d5f [ 6] */, 627 0x47598000 /* 00011d66 - 00011d66 [ 1] */, 628 0x475a4000 /* 00011d69 - 00011d69 [ 1] */, 629 0x4763c000 /* 00011d8f - 00011d8f [ 1] */, 630 0x47648000 /* 00011d92 - 00011d92 [ 1] */, 631 0x47664006 /* 00011d99 - 00011d9f [ 7] */, 632 0x476a8135 /* 00011daa - 00011edf [ 310] */, 633 0x47be4006 /* 00011ef9 - 00011eff [ 7] */, 634 0x47c44000 /* 00011f11 - 00011f11 [ 1] */, 635 0x47cec002 /* 00011f3b - 00011f3d [ 3] */, 636 0x47d68055 /* 00011f5a - 00011faf [ 86] */, 637 0x47ec400e /* 00011fb1 - 00011fbf [ 15] */, 638 0x47fc800c /* 00011ff2 - 00011ffe [ 13] */, 639 0x48e68065 /* 0001239a - 000123ff [ 102] */, 640 0x491bc000 /* 0001246f - 0001246f [ 1] */, 641 0x491d400a /* 00012475 - 0001247f [ 11] */, 642 0x49510a4b /* 00012544 - 00012f8f [ 2636] */, 643 0x4bfcc00c /* 00012ff3 - 00012fff [ 13] */, 644 0x4d0c000f /* 00013430 - 0001343f [ 16] */, 645 0x4d158fa9 /* 00013456 - 000143ff [ 4010] */, 646 0x5191e1b8 /* 00014647 - 000167ff [ 8633] */, 647 0x5a8e4006 /* 00016a39 - 00016a3f [ 7] */, 648 0x5a97c000 /* 00016a5f - 00016a5f [ 1] */, 649 0x5a9a8003 /* 00016a6a - 00016a6d [ 4] */, 650 0x5aafc000 /* 00016abf - 00016abf [ 1] */, 651 0x5ab28005 /* 00016aca - 00016acf [ 6] */, 652 0x5abb8001 /* 00016aee - 00016aef [ 2] */, 653 0x5abd8009 /* 00016af6 - 00016aff [ 10] */, 654 0x5ad18009 /* 00016b46 - 00016b4f [ 10] */, 655 0x5ad68000 /* 00016b5a - 00016b5a [ 1] */, 656 0x5ad88000 /* 00016b62 - 00016b62 [ 1] */, 657 0x5ade0004 /* 00016b78 - 00016b7c [ 5] */, 658 0x5ae402af /* 00016b90 - 00016e3f [ 688] */, 659 0x5ba6c064 /* 00016e9b - 00016eff [ 101] */, 660 0x5bd2c003 /* 00016f4b - 00016f4e [ 4] */, 661 0x5be20006 /* 00016f88 - 00016f8e [ 7] */, 662 0x5be8003f /* 00016fa0 - 00016fdf [ 64] */, 663 0x5bf9400a /* 00016fe5 - 00016fef [ 11] */, 664 0x5bfc800d /* 00016ff2 - 00016fff [ 14] */, 665 0x61fe0007 /* 000187f8 - 000187ff [ 8] */, 666 0x63358029 /* 00018cd6 - 00018cff [ 42] */, 667 0x634262e6 /* 00018d09 - 0001afef [ 8935] */, 668 0x6bfd0000 /* 0001aff4 - 0001aff4 [ 1] */, 669 0x6bff0000 /* 0001affc - 0001affc [ 1] */, 670 0x6bffc000 /* 0001afff - 0001afff [ 1] */, 671 0x6c48c00e /* 0001b123 - 0001b131 [ 15] */, 672 0x6c4cc01c /* 0001b133 - 0001b14f [ 29] */, 673 0x6c54c001 /* 0001b153 - 0001b154 [ 2] */, 674 0x6c55800d /* 0001b156 - 0001b163 [ 14] */, 675 0x6c5a0007 /* 0001b168 - 0001b16f [ 8] */, 676 0x6cbf0903 /* 0001b2fc - 0001bbff [ 2308] */, 677 0x6f1ac004 /* 0001bc6b - 0001bc6f [ 5] */, 678 0x6f1f4002 /* 0001bc7d - 0001bc7f [ 3] */, 679 0x6f224006 /* 0001bc89 - 0001bc8f [ 7] */, 680 0x6f268001 /* 0001bc9a - 0001bc9b [ 2] */, 681 0x6f28125f /* 0001bca0 - 0001ceff [ 4704] */, 682 0x73cb8001 /* 0001cf2e - 0001cf2f [ 2] */, 683 0x73d1c008 /* 0001cf47 - 0001cf4f [ 9] */, 684 0x73f1003b /* 0001cfc4 - 0001cfff [ 60] */, 685 0x743d8009 /* 0001d0f6 - 0001d0ff [ 10] */, 686 0x7449c001 /* 0001d127 - 0001d128 [ 2] */, 687 0x745cc007 /* 0001d173 - 0001d17a [ 8] */, 688 0x747ac014 /* 0001d1eb - 0001d1ff [ 21] */, 689 0x74918079 /* 0001d246 - 0001d2bf [ 122] */, 690 0x74b5000b /* 0001d2d4 - 0001d2df [ 12] */, 691 0x74bd000b /* 0001d2f4 - 0001d2ff [ 12] */, 692 0x74d5c008 /* 0001d357 - 0001d35f [ 9] */, 693 0x74de4086 /* 0001d379 - 0001d3ff [ 135] */, 694 0x75154000 /* 0001d455 - 0001d455 [ 1] */, 695 0x75274000 /* 0001d49d - 0001d49d [ 1] */, 696 0x75280001 /* 0001d4a0 - 0001d4a1 [ 2] */, 697 0x7528c001 /* 0001d4a3 - 0001d4a4 [ 2] */, 698 0x7529c001 /* 0001d4a7 - 0001d4a8 [ 2] */, 699 0x752b4000 /* 0001d4ad - 0001d4ad [ 1] */, 700 0x752e8000 /* 0001d4ba - 0001d4ba [ 1] */, 701 0x752f0000 /* 0001d4bc - 0001d4bc [ 1] */, 702 0x75310000 /* 0001d4c4 - 0001d4c4 [ 1] */, 703 0x75418000 /* 0001d506 - 0001d506 [ 1] */, 704 0x7542c001 /* 0001d50b - 0001d50c [ 2] */, 705 0x75454000 /* 0001d515 - 0001d515 [ 1] */, 706 0x75474000 /* 0001d51d - 0001d51d [ 1] */, 707 0x754e8000 /* 0001d53a - 0001d53a [ 1] */, 708 0x754fc000 /* 0001d53f - 0001d53f [ 1] */, 709 0x75514000 /* 0001d545 - 0001d545 [ 1] */, 710 0x7551c002 /* 0001d547 - 0001d549 [ 3] */, 711 0x75544000 /* 0001d551 - 0001d551 [ 1] */, 712 0x75a98001 /* 0001d6a6 - 0001d6a7 [ 2] */, 713 0x75f30001 /* 0001d7cc - 0001d7cd [ 2] */, 714 0x76a3000e /* 0001da8c - 0001da9a [ 15] */, 715 0x76a80000 /* 0001daa0 - 0001daa0 [ 1] */, 716 0x76ac044f /* 0001dab0 - 0001deff [ 1104] */, 717 0x77c7c005 /* 0001df1f - 0001df24 [ 6] */, 718 0x77cac0d4 /* 0001df2b - 0001dfff [ 213] */, 719 0x7801c000 /* 0001e007 - 0001e007 [ 1] */, 720 0x78064001 /* 0001e019 - 0001e01a [ 2] */, 721 0x78088000 /* 0001e022 - 0001e022 [ 1] */, 722 0x78094000 /* 0001e025 - 0001e025 [ 1] */, 723 0x780ac004 /* 0001e02b - 0001e02f [ 5] */, 724 0x781b8020 /* 0001e06e - 0001e08e [ 33] */, 725 0x7824006f /* 0001e090 - 0001e0ff [ 112] */, 726 0x784b4002 /* 0001e12d - 0001e12f [ 3] */, 727 0x784f8001 /* 0001e13e - 0001e13f [ 2] */, 728 0x78528003 /* 0001e14a - 0001e14d [ 4] */, 729 0x7854013f /* 0001e150 - 0001e28f [ 320] */, 730 0x78abc010 /* 0001e2af - 0001e2bf [ 17] */, 731 0x78be8004 /* 0001e2fa - 0001e2fe [ 5] */, 732 0x78c001cf /* 0001e300 - 0001e4cf [ 464] */, 733 0x793e82e5 /* 0001e4fa - 0001e7df [ 742] */, 734 0x79f9c000 /* 0001e7e7 - 0001e7e7 [ 1] */, 735 0x79fb0000 /* 0001e7ec - 0001e7ec [ 1] */, 736 0x79fbc000 /* 0001e7ef - 0001e7ef [ 1] */, 737 0x79ffc000 /* 0001e7ff - 0001e7ff [ 1] */, 738 0x7a314001 /* 0001e8c5 - 0001e8c6 [ 2] */, 739 0x7a35c028 /* 0001e8d7 - 0001e8ff [ 41] */, 740 0x7a530003 /* 0001e94c - 0001e94f [ 4] */, 741 0x7a568003 /* 0001e95a - 0001e95d [ 4] */, 742 0x7a580310 /* 0001e960 - 0001ec70 [ 785] */, 743 0x7b2d404b /* 0001ecb5 - 0001ed00 [ 76] */, 744 0x7b4f80c1 /* 0001ed3e - 0001edff [ 194] */, 745 0x7b810000 /* 0001ee04 - 0001ee04 [ 1] */, 746 0x7b880000 /* 0001ee20 - 0001ee20 [ 1] */, 747 0x7b88c000 /* 0001ee23 - 0001ee23 [ 1] */, 748 0x7b894001 /* 0001ee25 - 0001ee26 [ 2] */, 749 0x7b8a0000 /* 0001ee28 - 0001ee28 [ 1] */, 750 0x7b8cc000 /* 0001ee33 - 0001ee33 [ 1] */, 751 0x7b8e0000 /* 0001ee38 - 0001ee38 [ 1] */, 752 0x7b8e8000 /* 0001ee3a - 0001ee3a [ 1] */, 753 0x7b8f0005 /* 0001ee3c - 0001ee41 [ 6] */, 754 0x7b90c003 /* 0001ee43 - 0001ee46 [ 4] */, 755 0x7b920000 /* 0001ee48 - 0001ee48 [ 1] */, 756 0x7b928000 /* 0001ee4a - 0001ee4a [ 1] */, 757 0x7b930000 /* 0001ee4c - 0001ee4c [ 1] */, 758 0x7b940000 /* 0001ee50 - 0001ee50 [ 1] */, 759 0x7b94c000 /* 0001ee53 - 0001ee53 [ 1] */, 760 0x7b954001 /* 0001ee55 - 0001ee56 [ 2] */, 761 0x7b960000 /* 0001ee58 - 0001ee58 [ 1] */, 762 0x7b968000 /* 0001ee5a - 0001ee5a [ 1] */, 763 0x7b970000 /* 0001ee5c - 0001ee5c [ 1] */, 764 0x7b978000 /* 0001ee5e - 0001ee5e [ 1] */, 765 0x7b980000 /* 0001ee60 - 0001ee60 [ 1] */, 766 0x7b98c000 /* 0001ee63 - 0001ee63 [ 1] */, 767 0x7b994001 /* 0001ee65 - 0001ee66 [ 2] */, 768 0x7b9ac000 /* 0001ee6b - 0001ee6b [ 1] */, 769 0x7b9cc000 /* 0001ee73 - 0001ee73 [ 1] */, 770 0x7b9e0000 /* 0001ee78 - 0001ee78 [ 1] */, 771 0x7b9f4000 /* 0001ee7d - 0001ee7d [ 1] */, 772 0x7b9fc000 /* 0001ee7f - 0001ee7f [ 1] */, 773 0x7ba28000 /* 0001ee8a - 0001ee8a [ 1] */, 774 0x7ba70004 /* 0001ee9c - 0001eea0 [ 5] */, 775 0x7ba90000 /* 0001eea4 - 0001eea4 [ 1] */, 776 0x7baa8000 /* 0001eeaa - 0001eeaa [ 1] */, 777 0x7baf0033 /* 0001eebc - 0001eeef [ 52] */, 778 0x7bbc810d /* 0001eef2 - 0001efff [ 270] */, 779 0x7c0b0003 /* 0001f02c - 0001f02f [ 4] */, 780 0x7c25000b /* 0001f094 - 0001f09f [ 12] */, 781 0x7c2bc001 /* 0001f0af - 0001f0b0 [ 2] */, 782 0x7c300000 /* 0001f0c0 - 0001f0c0 [ 1] */, 783 0x7c340000 /* 0001f0d0 - 0001f0d0 [ 1] */, 784 0x7c3d8009 /* 0001f0f6 - 0001f0ff [ 10] */, 785 0x7c6b8037 /* 0001f1ae - 0001f1e5 [ 56] */, 786 0x7c80c00c /* 0001f203 - 0001f20f [ 13] */, 787 0x7c8f0003 /* 0001f23c - 0001f23f [ 4] */, 788 0x7c924006 /* 0001f249 - 0001f24f [ 7] */, 789 0x7c94800d /* 0001f252 - 0001f25f [ 14] */, 790 0x7c998099 /* 0001f266 - 0001f2ff [ 154] */, 791 0x7db60003 /* 0001f6d8 - 0001f6db [ 4] */, 792 0x7dbb4002 /* 0001f6ed - 0001f6ef [ 3] */, 793 0x7dbf4002 /* 0001f6fd - 0001f6ff [ 3] */, 794 0x7dddc003 /* 0001f777 - 0001f77a [ 4] */, 795 0x7df68005 /* 0001f7da - 0001f7df [ 6] */, 796 0x7dfb0003 /* 0001f7ec - 0001f7ef [ 4] */, 797 0x7dfc400e /* 0001f7f1 - 0001f7ff [ 15] */, 798 0x7e030003 /* 0001f80c - 0001f80f [ 4] */, 799 0x7e120007 /* 0001f848 - 0001f84f [ 8] */, 800 0x7e168005 /* 0001f85a - 0001f85f [ 6] */, 801 0x7e220007 /* 0001f888 - 0001f88f [ 8] */, 802 0x7e2b8001 /* 0001f8ae - 0001f8af [ 2] */, 803 0x7e2c804d /* 0001f8b2 - 0001f8ff [ 78] */, 804 0x7e95000b /* 0001fa54 - 0001fa5f [ 12] */, 805 0x7e9b8001 /* 0001fa6e - 0001fa6f [ 2] */, 806 0x7e9f4002 /* 0001fa7d - 0001fa7f [ 3] */, 807 0x7ea24006 /* 0001fa89 - 0001fa8f [ 7] */, 808 0x7eaf8000 /* 0001fabe - 0001fabe [ 1] */, 809 0x7eb18007 /* 0001fac6 - 0001facd [ 8] */, 810 0x7eb70003 /* 0001fadc - 0001fadf [ 4] */, 811 0x7eba4006 /* 0001fae9 - 0001faef [ 7] */, 812 0x7ebe4006 /* 0001faf9 - 0001faff [ 7] */, 813 0x7ee4c000 /* 0001fb93 - 0001fb93 [ 1] */, 814 0x7ef2c024 /* 0001fbcb - 0001fbef [ 37] */, 815 0x7efe8405 /* 0001fbfa - 0001ffff [ 1030] */, 816 0xa9b8001f /* 0002a6e0 - 0002a6ff [ 32] */, 817 0xadce8005 /* 0002b73a - 0002b73f [ 6] */, 818 0xae078001 /* 0002b81e - 0002b81f [ 2] */, 819 0xb3a8800d /* 0002cea2 - 0002ceaf [ 14] */, 820 0xbaf8400e /* 0002ebe1 - 0002ebef [ 15] */, 821 0xbb9789a1 /* 0002ee5e - 0002f7ff [ 2466] */, 822 0xbe8785e1 /* 0002fa1e - 0002ffff [ 1506] */, 823 0xc4d2c004 /* 0003134b - 0003134f [ 5] */}; 824 825 /// Returns whether the code unit needs to be escaped. 826 /// 827 /// At the end of the valid Unicode code points space a lot of code points are 828 /// either reserved or a noncharacter. Adding all these entries to the 829 /// lookup table would greatly increase the size of the table. Instead these 830 /// entries are manually processed. In this large area of reserved code points, 831 /// there is a small area of extended graphemes that should not be escaped 832 /// unconditionally. This is also manually coded. See the generation script for 833 /// more details. 834 835 /// 836 /// \\pre The code point is a valid Unicode code point. 837 [[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr bool __needs_escape(const char32_t __code_point) noexcept { 838 839 // The entries in the gap at the end. 840 if(__code_point >= 0x000e0100 && __code_point <= 0x000e01ef) 841 return false; 842 843 // The entries at the end. 844 if (__code_point >= 0x000323b0) 845 return true; 846 847 ptrdiff_t __i = std::ranges::upper_bound(__entries, (__code_point << 14) | 0x3fffu) - __entries; 848 if (__i == 0) 849 return false; 850 851 --__i; 852 uint32_t __upper_bound = (__entries[__i] >> 14) + (__entries[__i] & 0x3fffu); 853 return __code_point <= __upper_bound; 854 } 855 856 // clang-format on 857 } // namespace __escaped_output_table 858 859 #endif //_LIBCPP_STD_VER >= 23 860 861 _LIBCPP_END_NAMESPACE_STD 862 863 #endif // _LIBCPP___FORMAT_ESCAPED_OUTPUT_TABLE_H 864