/Modules/cjkcodecs/mappings_cn.h

http://unladen-swallow.googlecode.com/ · C++ Header · 4103 lines · 4092 code · 11 blank · 0 comment · 0 complexity · b1b9e4f54d159e72272ca89e0d02dd66 MD5 · raw file

Large files are truncated click here to view the full file

  1. static const ucs2_t __gb2312_decmap[7482] = {
  2. 12288,12289,12290,12539,713,711,168,12291,12293,8213,65374,8214,8230,8216,
  3. 8217,8220,8221,12308,12309,12296,12297,12298,12299,12300,12301,12302,12303,
  4. 12310,12311,12304,12305,177,215,247,8758,8743,8744,8721,8719,8746,8745,8712,
  5. 8759,8730,8869,8741,8736,8978,8857,8747,8750,8801,8780,8776,8765,8733,8800,
  6. 8814,8815,8804,8805,8734,8757,8756,9794,9792,176,8242,8243,8451,65284,164,
  7. 65504,65505,8240,167,8470,9734,9733,9675,9679,9678,9671,9670,9633,9632,9651,
  8. 9650,8251,8594,8592,8593,8595,12307,9352,9353,9354,9355,9356,9357,9358,9359,
  9. 9360,9361,9362,9363,9364,9365,9366,9367,9368,9369,9370,9371,9332,9333,9334,
  10. 9335,9336,9337,9338,9339,9340,9341,9342,9343,9344,9345,9346,9347,9348,9349,
  11. 9350,9351,9312,9313,9314,9315,9316,9317,9318,9319,9320,9321,U,U,12832,12833,
  12. 12834,12835,12836,12837,12838,12839,12840,12841,U,U,8544,8545,8546,8547,8548,
  13. 8549,8550,8551,8552,8553,8554,8555,65281,65282,65283,65509,65285,65286,65287,
  14. 65288,65289,65290,65291,65292,65293,65294,65295,65296,65297,65298,65299,65300,
  15. 65301,65302,65303,65304,65305,65306,65307,65308,65309,65310,65311,65312,65313,
  16. 65314,65315,65316,65317,65318,65319,65320,65321,65322,65323,65324,65325,65326,
  17. 65327,65328,65329,65330,65331,65332,65333,65334,65335,65336,65337,65338,65339,
  18. 65340,65341,65342,65343,65344,65345,65346,65347,65348,65349,65350,65351,65352,
  19. 65353,65354,65355,65356,65357,65358,65359,65360,65361,65362,65363,65364,65365,
  20. 65366,65367,65368,65369,65370,65371,65372,65373,65507,12353,12354,12355,12356,
  21. 12357,12358,12359,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369,
  22. 12370,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,
  23. 12383,12384,12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,
  24. 12396,12397,12398,12399,12400,12401,12402,12403,12404,12405,12406,12407,12408,
  25. 12409,12410,12411,12412,12413,12414,12415,12416,12417,12418,12419,12420,12421,
  26. 12422,12423,12424,12425,12426,12427,12428,12429,12430,12431,12432,12433,12434,
  27. 12435,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,
  28. 12461,12462,12463,12464,12465,12466,12467,12468,12469,12470,12471,12472,12473,
  29. 12474,12475,12476,12477,12478,12479,12480,12481,12482,12483,12484,12485,12486,
  30. 12487,12488,12489,12490,12491,12492,12493,12494,12495,12496,12497,12498,12499,
  31. 12500,12501,12502,12503,12504,12505,12506,12507,12508,12509,12510,12511,12512,
  32. 12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523,12524,12525,
  33. 12526,12527,12528,12529,12530,12531,12532,12533,12534,913,914,915,916,917,918,
  34. 919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,U,U,U,
  35. U,U,U,U,U,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,
  36. 963,964,965,966,967,968,969,1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,
  37. 1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,
  38. 1064,1065,1066,1067,1068,1069,1070,1071,U,U,U,U,U,U,U,U,U,U,U,U,U,U,U,1072,
  39. 1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,
  40. 1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,
  41. 1102,1103,257,225,462,224,275,233,283,232,299,237,464,236,333,243,466,242,363,
  42. 250,468,249,470,472,474,476,252,234,U,U,U,U,U,U,U,U,U,U,12549,12550,12551,
  43. 12552,12553,12554,12555,12556,12557,12558,12559,12560,12561,12562,12563,12564,
  44. 12565,12566,12567,12568,12569,12570,12571,12572,12573,12574,12575,12576,12577,
  45. 12578,12579,12580,12581,12582,12583,12584,12585,9472,9473,9474,9475,9476,9477,
  46. 9478,9479,9480,9481,9482,9483,9484,9485,9486,9487,9488,9489,9490,9491,9492,
  47. 9493,9494,9495,9496,9497,9498,9499,9500,9501,9502,9503,9504,9505,9506,9507,
  48. 9508,9509,9510,9511,9512,9513,9514,9515,9516,9517,9518,9519,9520,9521,9522,
  49. 9523,9524,9525,9526,9527,9528,9529,9530,9531,9532,9533,9534,9535,9536,9537,
  50. 9538,9539,9540,9541,9542,9543,9544,9545,9546,9547,21834,38463,22467,25384,
  51. 21710,21769,21696,30353,30284,34108,30702,33406,30861,29233,38552,38797,27688,
  52. 23433,20474,25353,26263,23736,33018,26696,32942,26114,30414,20985,25942,29100,
  53. 32753,34948,20658,22885,25034,28595,33453,25420,25170,21485,21543,31494,20843,
  54. 30116,24052,25300,36299,38774,25226,32793,22365,38712,32610,29240,30333,26575,
  55. 30334,25670,20336,36133,25308,31255,26001,29677,25644,25203,33324,39041,26495,
  56. 29256,25198,25292,20276,29923,21322,21150,32458,37030,24110,26758,27036,33152,
  57. 32465,26834,30917,34444,38225,20621,35876,33502,32990,21253,35090,21093,34180,
  58. 38649,20445,22561,39281,23453,25265,25253,26292,35961,40077,29190,26479,30865,
  59. 24754,21329,21271,36744,32972,36125,38049,20493,29384,22791,24811,28953,34987,
  60. 22868,33519,26412,31528,23849,32503,29997,27893,36454,36856,36924,40763,27604,
  61. 37145,31508,24444,30887,34006,34109,27605,27609,27606,24065,24199,30201,38381,
  62. 25949,24330,24517,36767,22721,33218,36991,38491,38829,36793,32534,36140,25153,
  63. 20415,21464,21342,36776,36777,36779,36941,26631,24426,33176,34920,40150,24971,
  64. 21035,30250,24428,25996,28626,28392,23486,25672,20853,20912,26564,19993,31177,
  65. 39292,28851,30149,24182,29627,33760,25773,25320,38069,27874,21338,21187,25615,
  66. 38082,31636,20271,24091,33334,33046,33162,28196,27850,39539,25429,21340,21754,
  67. 34917,22496,19981,24067,27493,31807,37096,24598,25830,29468,35009,26448,25165,
  68. 36130,30572,36393,37319,24425,33756,34081,39184,21442,34453,27531,24813,24808,
  69. 28799,33485,33329,20179,27815,34255,25805,31961,27133,26361,33609,21397,31574,
  70. 20391,20876,27979,23618,36461,25554,21449,33580,33590,26597,30900,25661,23519,
  71. 23700,24046,35815,25286,26612,35962,25600,25530,34633,39307,35863,32544,38130,
  72. 20135,38416,39076,26124,29462,22330,23581,24120,38271,20607,32928,21378,25950,
  73. 30021,21809,20513,36229,25220,38046,26397,22066,28526,24034,21557,28818,36710,
  74. 25199,25764,25507,24443,28552,37108,33251,36784,23576,26216,24561,27785,38472,
  75. 36225,34924,25745,31216,22478,27225,25104,21576,20056,31243,24809,28548,35802,
  76. 25215,36894,39563,31204,21507,30196,25345,21273,27744,36831,24347,39536,32827,
  77. 40831,20360,23610,36196,32709,26021,28861,20805,20914,34411,23815,23456,25277,
  78. 37228,30068,36364,31264,24833,31609,20167,32504,30597,19985,33261,21021,20986,
  79. 27249,21416,36487,38148,38607,28353,38500,26970,30784,20648,30679,25616,35302,
  80. 22788,25571,24029,31359,26941,20256,33337,21912,20018,30126,31383,24162,24202,
  81. 38383,21019,21561,28810,25462,38180,22402,26149,26943,37255,21767,28147,32431,
  82. 34850,25139,32496,30133,33576,30913,38604,36766,24904,29943,35789,27492,21050,
  83. 36176,27425,32874,33905,22257,21254,20174,19995,20945,31895,37259,31751,20419,
  84. 36479,31713,31388,25703,23828,20652,33030,30209,31929,28140,32736,26449,23384,
  85. 23544,30923,25774,25619,25514,25387,38169,25645,36798,31572,30249,25171,22823,
  86. 21574,27513,20643,25140,24102,27526,20195,36151,34955,24453,36910,24608,32829,
  87. 25285,20025,21333,37112,25528,32966,26086,27694,20294,24814,28129,35806,24377,
  88. 34507,24403,25377,20826,33633,26723,20992,25443,36424,20498,23707,31095,23548,
  89. 21040,31291,24764,36947,30423,24503,24471,30340,36460,28783,30331,31561,30634,
  90. 20979,37011,22564,20302,28404,36842,25932,31515,29380,28068,32735,23265,25269,
  91. 24213,22320,33922,31532,24093,24351,36882,32532,39072,25474,28359,30872,28857,
  92. 20856,38747,22443,30005,20291,30008,24215,24806,22880,28096,27583,30857,21500,
  93. 38613,20939,20993,25481,21514,38035,35843,36300,29241,30879,34678,36845,35853,
  94. 21472,19969,30447,21486,38025,39030,40718,38189,23450,35746,20002,19996,20908,
  95. 33891,25026,21160,26635,20375,24683,20923,27934,20828,25238,26007,38497,35910,
  96. 36887,30168,37117,30563,27602,29322,29420,35835,22581,30585,36172,26460,38208,
  97. 32922,24230,28193,22930,31471,30701,38203,27573,26029,32526,22534,20817,38431,
  98. 23545,22697,21544,36466,25958,39039,22244,38045,30462,36929,25479,21702,22810,
  99. 22842,22427,36530,26421,36346,33333,21057,24816,22549,34558,23784,40517,20420,
  100. 39069,35769,23077,24694,21380,25212,36943,37122,39295,24681,32780,20799,32819,
  101. 23572,39285,27953,20108,36144,21457,32602,31567,20240,20047,38400,27861,29648,
  102. 34281,24070,30058,32763,27146,30718,38034,32321,20961,28902,21453,36820,33539,
  103. 36137,29359,39277,27867,22346,33459,26041,32938,25151,38450,22952,20223,35775,
  104. 32442,25918,33778,38750,21857,39134,32933,21290,35837,21536,32954,24223,27832,
  105. 36153,33452,37210,21545,27675,20998,32439,22367,28954,27774,31881,22859,20221,
  106. 24575,24868,31914,20016,23553,26539,34562,23792,38155,39118,30127,28925,36898,
  107. 20911,32541,35773,22857,20964,20315,21542,22827,25975,32932,23413,25206,25282,
  108. 36752,24133,27679,31526,20239,20440,26381,28014,28074,31119,34993,24343,29995,
  109. 25242,36741,20463,37340,26023,33071,33105,24220,33104,36212,21103,35206,36171,
  110. 22797,20613,20184,38428,29238,33145,36127,23500,35747,38468,22919,32538,21648,
  111. 22134,22030,35813,25913,27010,38041,30422,28297,24178,29976,26438,26577,31487,
  112. 32925,36214,24863,31174,25954,36195,20872,21018,38050,32568,32923,32434,23703,
  113. 28207,26464,31705,30347,39640,33167,32660,31957,25630,38224,31295,21578,21733,
  114. 27468,25601,25096,40509,33011,30105,21106,38761,33883,26684,34532,38401,38548,
  115. 38124,20010,21508,32473,26681,36319,32789,26356,24218,32697,22466,32831,26775,
  116. 24037,25915,21151,24685,40858,20379,36524,20844,23467,24339,24041,27742,25329,
  117. 36129,20849,38057,21246,27807,33503,29399,22434,26500,36141,22815,36764,33735,
  118. 21653,31629,20272,27837,23396,22993,40723,21476,34506,39592,35895,32929,25925,
  119. 39038,22266,38599,21038,29916,21072,23521,25346,35074,20054,25296,24618,26874,
  120. 20851,23448,20896,35266,31649,39302,32592,24815,28748,36143,20809,24191,36891,
  121. 29808,35268,22317,30789,24402,40863,38394,36712,39740,35809,30328,26690,26588,
  122. 36330,36149,21053,36746,28378,26829,38149,37101,22269,26524,35065,36807,21704,
  123. 39608,23401,28023,27686,20133,23475,39559,37219,25000,37039,38889,21547,28085,
  124. 23506,20989,21898,32597,32752,25788,25421,26097,25022,24717,28938,27735,27721,
  125. 22831,26477,33322,22741,22158,35946,27627,37085,22909,32791,21495,28009,21621,
  126. 21917,33655,33743,26680,31166,21644,20309,21512,30418,35977,38402,27827,28088,
  127. 36203,35088,40548,36154,22079,40657,30165,24456,29408,24680,21756,20136,27178,
  128. 34913,24658,36720,21700,28888,34425,40511,27946,23439,24344,32418,21897,20399,
  129. 29492,21564,21402,20505,21518,21628,20046,24573,29786,22774,33899,32993,34676,
  130. 29392,31946,28246,24359,34382,21804,25252,20114,27818,25143,33457,21719,21326,
  131. 29502,28369,30011,21010,21270,35805,27088,24458,24576,28142,22351,27426,29615,
  132. 26707,36824,32531,25442,24739,21796,30186,35938,28949,28067,23462,24187,33618,
  133. 24908,40644,30970,34647,31783,30343,20976,24822,29004,26179,24140,24653,35854,
  134. 28784,25381,36745,24509,24674,34516,22238,27585,24724,24935,21321,24800,26214,
  135. 36159,31229,20250,28905,27719,35763,35826,32472,33636,26127,23130,39746,27985,
  136. 28151,35905,27963,20249,28779,33719,25110,24785,38669,36135,31096,20987,22334,
  137. 22522,26426,30072,31293,31215,31637,32908,39269,36857,28608,35749,40481,23020,
  138. 32489,32521,21513,26497,26840,36753,31821,38598,21450,24613,30142,27762,21363,
  139. 23241,32423,25380,20960,33034,24049,34015,25216,20864,23395,20238,31085,21058,
  140. 24760,27982,23492,23490,35745,35760,26082,24524,38469,22931,32487,32426,22025,
  141. 26551,22841,20339,23478,21152,33626,39050,36158,30002,38078,20551,31292,20215,
  142. 26550,39550,23233,27516,30417,22362,23574,31546,38388,29006,20860,32937,33392,
  143. 22904,32516,33575,26816,26604,30897,30839,25315,25441,31616,20461,21098,20943,
  144. 33616,27099,37492,36341,36145,35265,38190,31661,20214,20581,33328,21073,39279,
  145. 28176,28293,28071,24314,20725,23004,23558,27974,27743,30086,33931,26728,22870,
  146. 35762,21280,37233,38477,34121,26898,30977,28966,33014,20132,37066,27975,39556,
  147. 23047,22204,25605,38128,30699,20389,33050,29409,35282,39290,32564,32478,21119,
  148. 25945,37237,36735,36739,21483,31382,25581,25509,30342,31224,34903,38454,25130,
  149. 21163,33410,26708,26480,25463,30571,31469,27905,32467,35299,22992,25106,34249,
  150. 33445,30028,20511,20171,30117,35819,23626,24062,31563,26020,37329,20170,27941,
  151. 35167,32039,38182,20165,35880,36827,38771,26187,31105,36817,28908,28024,23613,
  152. 21170,33606,20834,33550,30555,26230,40120,20140,24778,31934,31923,32463,20117,
  153. 35686,26223,39048,38745,22659,25964,38236,24452,30153,38742,31455,31454,20928,
  154. 28847,31384,25578,31350,32416,29590,38893,20037,28792,20061,37202,21417,25937,
  155. 26087,33276,33285,21646,23601,30106,38816,25304,29401,30141,23621,39545,33738,
  156. 23616,21632,30697,20030,27822,32858,25298,25454,24040,20855,36317,36382,38191,
  157. 20465,21477,24807,28844,21095,25424,40515,23071,20518,30519,21367,32482,25733,
  158. 25899,25225,25496,20500,29237,35273,20915,35776,32477,22343,33740,38055,20891,
  159. 21531,23803,20426,31459,27994,37089,39567,21888,21654,21345,21679,24320,25577,
  160. 26999,20975,24936,21002,22570,21208,22350,30733,30475,24247,24951,31968,25179,
  161. 25239,20130,28821,32771,25335,28900,38752,22391,33499,26607,26869,30933,39063,
  162. 31185,22771,21683,21487,28212,20811,21051,23458,35838,32943,21827,22438,24691,
  163. 22353,21549,31354,24656,23380,25511,25248,21475,25187,23495,26543,21741,31391,
  164. 33510,37239,24211,35044,22840,22446,25358,36328,33007,22359,31607,20393,24555,
  165. 23485,27454,21281,31568,29378,26694,30719,30518,26103,20917,20111,30420,23743,
  166. 31397,33909,22862,39745,20608,39304,24871,28291,22372,26118,25414,22256,25324,
  167. 25193,24275,38420,22403,25289,21895,34593,33098,36771,21862,33713,26469,36182,
  168. 34013,23146,26639,25318,31726,38417,20848,28572,35888,25597,35272,25042,32518,
  169. 28866,28389,29701,27028,29436,24266,37070,26391,28010,25438,21171,29282,32769,
  170. 20332,23013,37226,28889,28061,21202,20048,38647,38253,34174,30922,32047,20769,
  171. 22418,25794,32907,31867,27882,26865,26974,20919,21400,26792,29313,40654,31729,
  172. 29432,31163,28435,29702,26446,37324,40100,31036,33673,33620,21519,26647,20029,
  173. 21385,21169,30782,21382,21033,20616,20363,20432,30178,31435,31890,27813,38582,
  174. 21147,29827,21737,20457,32852,33714,36830,38256,24265,24604,28063,24088,25947,
  175. 33080,38142,24651,28860,32451,31918,20937,26753,31921,33391,20004,36742,37327,
  176. 26238,20142,35845,25769,32842,20698,30103,29134,23525,36797,28518,20102,25730,
  177. 38243,24278,26009,21015,35010,28872,21155,29454,29747,26519,30967,38678,20020,
  178. 37051,40158,28107,20955,36161,21533,25294,29618,33777,38646,40836,38083,20278,
  179. 32666,20940,28789,38517,23725,39046,21478,20196,28316,29705,27060,30827,39311,
  180. 30041,21016,30244,27969,26611,20845,40857,32843,21657,31548,31423,38534,22404,
  181. 25314,38471,27004,23044,25602,31699,28431,38475,33446,21346,39045,24208,28809,
  182. 25523,21348,34383,40065,40595,30860,38706,36335,36162,40575,28510,31108,24405,
  183. 38470,25134,39540,21525,38109,20387,26053,23653,23649,32533,34385,27695,24459,
  184. 29575,28388,32511,23782,25371,23402,28390,21365,20081,25504,30053,25249,36718,
  185. 20262,20177,27814,32438,35770,33821,34746,32599,36923,38179,31657,39585,35064,
  186. 33853,27931,39558,32476,22920,40635,29595,30721,34434,39532,39554,22043,21527,
  187. 22475,20080,40614,21334,36808,33033,30610,39314,34542,28385,34067,26364,24930,
  188. 28459,35881,33426,33579,30450,27667,24537,33725,29483,33541,38170,27611,30683,
  189. 38086,21359,33538,20882,24125,35980,36152,20040,29611,26522,26757,37238,38665,
  190. 29028,27809,30473,23186,38209,27599,32654,26151,23504,22969,23194,38376,38391,
  191. 20204,33804,33945,27308,30431,38192,29467,26790,23391,30511,37274,38753,31964,
  192. 36855,35868,24357,31859,31192,35269,27852,34588,23494,24130,26825,30496,32501,
  193. 20885,20813,21193,23081,32517,38754,33495,25551,30596,34256,31186,28218,24217,
  194. 22937,34065,28781,27665,25279,30399,25935,24751,38397,26126,34719,40483,38125,
  195. 21517,21629,35884,25720,25721,34321,27169,33180,30952,25705,39764,25273,26411,
  196. 33707,22696,40664,27819,28448,23518,38476,35851,29279,26576,25287,29281,20137,
  197. 22982,27597,22675,26286,24149,21215,24917,26408,30446,30566,29287,31302,25343,
  198. 21738,21584,38048,37027,23068,32435,27670,20035,22902,32784,22856,21335,30007,
  199. 38590,22218,25376,33041,24700,38393,28118,21602,39297,20869,23273,33021,22958,
  200. 38675,20522,27877,23612,25311,20320,21311,33147,36870,28346,34091,25288,24180,
  201. 30910,25781,25467,24565,23064,37247,40479,23615,25423,32834,23421,21870,38218,
  202. 38221,28037,24744,26592,29406,20957,23425,25319,27870,29275,25197,38062,32445,
  203. 33043,27987,20892,24324,22900,21162,24594,22899,26262,34384,30111,25386,25062,
  204. 31983,35834,21734,27431,40485,27572,34261,21589,20598,27812,21866,36276,29228,
  205. 24085,24597,29750,25293,25490,29260,24472,28227,27966,25856,28504,30424,30928,
  206. 30460,30036,21028,21467,20051,24222,26049,32810,32982,25243,21638,21032,28846,
  207. 34957,36305,27873,21624,32986,22521,35060,36180,38506,37197,20329,27803,21943,
  208. 30406,30768,25256,28921,28558,24429,34028,26842,30844,31735,33192,26379,40527,
  209. 25447,30896,22383,30738,38713,25209,25259,21128,29749,27607,21860,33086,30130,
  210. 30382,21305,30174,20731,23617,35692,31687,20559,29255,39575,39128,28418,29922,
  211. 31080,25735,30629,25340,39057,36139,21697,32856,20050,22378,33529,33805,24179,
  212. 20973,29942,35780,23631,22369,27900,39047,23110,30772,39748,36843,31893,21078,
  213. 25169,38138,20166,33670,33889,33769,33970,22484,26420,22275,26222,28006,35889,
  214. 26333,28689,26399,27450,26646,25114,22971,19971,20932,28422,26578,27791,20854,
  215. 26827,22855,27495,30054,23822,33040,40784,26071,31048,31041,39569,36215,23682,
  216. 20062,20225,21551,22865,30732,22120,27668,36804,24323,27773,27875,35755,25488,
  217. 24688,27965,29301,25190,38030,38085,21315,36801,31614,20191,35878,20094,40660,
  218. 38065,38067,21069,28508,36963,27973,35892,22545,23884,27424,27465,26538,21595,
  219. 33108,32652,22681,34103,24378,25250,27207,38201,25970,24708,26725,30631,20052,
  220. 20392,24039,38808,25772,32728,23789,20431,31373,20999,33540,19988,24623,31363,
  221. 38054,20405,20146,31206,29748,21220,33465,25810,31165,23517,27777,38738,36731,
  222. 27682,20542,21375,28165,25806,26228,27696,24773,39031,35831,24198,29756,31351,
  223. 31179,19992,37041,29699,27714,22234,37195,27845,36235,21306,34502,26354,36527,
  224. 23624,39537,28192,21462,23094,40843,36259,21435,22280,39079,26435,37275,27849,
  225. 20840,30154,25331,29356,21048,21149,32570,28820,30264,21364,40522,27063,30830,
  226. 38592,35033,32676,28982,29123,20873,26579,29924,22756,25880,22199,35753,39286,
  227. 25200,32469,24825,28909,22764,20161,20154,24525,38887,20219,35748,20995,22922,
  228. 32427,25172,20173,26085,25102,33592,33993,33635,34701,29076,28342,23481,32466,
  229. 20887,25545,26580,32905,33593,34837,20754,23418,22914,36785,20083,27741,20837,
  230. 35109,36719,38446,34122,29790,38160,38384,28070,33509,24369,25746,27922,33832,
  231. 33134,40131,22622,36187,19977,21441,20254,25955,26705,21971,20007,25620,39578,
  232. 25195,23234,29791,33394,28073,26862,20711,33678,30722,26432,21049,27801,32433,
  233. 20667,21861,29022,31579,26194,29642,33515,26441,23665,21024,29053,34923,38378,
  234. 38485,25797,36193,33203,21892,27733,25159,32558,22674,20260,21830,36175,26188,
  235. 19978,23578,35059,26786,25422,31245,28903,33421,21242,38902,23569,21736,37045,
  236. 32461,22882,36170,34503,33292,33293,36198,25668,23556,24913,28041,31038,35774,
  237. 30775,30003,21627,20280,36523,28145,23072,32453,31070,27784,23457,23158,29978,
  238. 32958,24910,28183,22768,29983,29989,29298,21319,32499,30465,30427,21097,32988,
  239. 22307,24072,22833,29422,26045,28287,35799,23608,34417,21313,30707,25342,26102,
  240. 20160,39135,34432,23454,35782,21490,30690,20351,23630,39542,22987,24335,31034,
  241. 22763,19990,26623,20107,25325,35475,36893,21183,26159,21980,22124,36866,20181,
  242. 20365,37322,39280,27663,24066,24643,23460,35270,35797,25910,25163,39318,23432,
  243. 23551,25480,21806,21463,30246,20861,34092,26530,26803,27530,25234,36755,21460,
  244. 33298,28113,30095,20070,36174,23408,29087,34223,26257,26329,32626,34560,40653,
  245. 40736,23646,26415,36848,26641,26463,25101,31446,22661,24246,25968,28465,24661,
  246. 21047,32781,25684,34928,29993,24069,26643,25332,38684,21452,29245,35841,27700,
  247. 30561,31246,21550,30636,39034,33308,35828,30805,26388,28865,26031,25749,22070,
  248. 24605,31169,21496,19997,27515,32902,23546,21987,22235,20282,20284,39282,24051,
  249. 26494,32824,24578,39042,36865,23435,35772,35829,25628,33368,25822,22013,33487,
  250. 37221,20439,32032,36895,31903,20723,22609,28335,23487,35785,32899,37240,33948,
  251. 31639,34429,38539,38543,32485,39635,30862,23681,31319,36930,38567,31071,23385,
  252. 25439,31499,34001,26797,21766,32553,29712,32034,38145,25152,22604,20182,23427,
  253. 22905,22612,29549,25374,36427,36367,32974,33492,25260,21488,27888,37214,22826,
  254. 24577,27760,22349,25674,36138,30251,28393,22363,27264,30192,28525,35885,35848,
  255. 22374,27631,34962,30899,25506,21497,28845,27748,22616,25642,22530,26848,33179,
  256. 21776,31958,20504,36538,28108,36255,28907,25487,28059,28372,32486,33796,26691,
  257. 36867,28120,38518,35752,22871,29305,34276,33150,30140,35466,26799,21076,36386,
  258. 38161,25552,39064,36420,21884,20307,26367,22159,24789,28053,21059,23625,22825,
  259. 28155,22635,30000,29980,24684,33300,33094,25361,26465,36834,30522,36339,36148,
  260. 38081,24086,21381,21548,28867,27712,24311,20572,20141,24237,25402,33351,36890,
  261. 26704,37230,30643,21516,38108,24420,31461,26742,25413,31570,32479,30171,20599,
  262. 25237,22836,36879,20984,31171,31361,22270,24466,36884,28034,23648,22303,21520,
  263. 20820,28237,22242,25512,39059,33151,34581,35114,36864,21534,23663,33216,25302,
  264. 25176,33073,40501,38464,39534,39548,26925,22949,25299,21822,25366,21703,34521,
  265. 27964,23043,29926,34972,27498,22806,35916,24367,28286,29609,39037,20024,28919,
  266. 23436,30871,25405,26202,30358,24779,23451,23113,19975,33109,27754,29579,20129,
  267. 26505,32593,24448,26106,26395,24536,22916,23041,24013,24494,21361,38886,36829,
  268. 26693,22260,21807,24799,20026,28493,32500,33479,33806,22996,20255,20266,23614,
  269. 32428,26410,34074,21619,30031,32963,21890,39759,20301,28205,35859,23561,24944,
  270. 21355,30239,28201,34442,25991,38395,32441,21563,31283,32010,38382,21985,32705,
  271. 29934,25373,34583,28065,31389,25105,26017,21351,25569,27779,24043,21596,38056,
  272. 20044,27745,35820,23627,26080,33436,26791,21566,21556,27595,27494,20116,25410,
  273. 21320,33310,20237,20398,22366,25098,38654,26212,29289,21247,21153,24735,35823,
  274. 26132,29081,26512,35199,30802,30717,26224,22075,21560,38177,29306,31232,24687,
  275. 24076,24713,33181,22805,24796,29060,28911,28330,27728,29312,27268,34989,24109,
  276. 20064,23219,21916,38115,27927,31995,38553,25103,32454,30606,34430,21283,38686,
  277. 36758,26247,23777,20384,29421,19979,21414,22799,21523,25472,38184,20808,20185,
  278. 40092,32420,21688,36132,34900,33335,38386,28046,24358,23244,26174,38505,29616,
  279. 29486,21439,33146,39301,32673,23466,38519,38480,32447,30456,21410,38262,39321,
  280. 31665,35140,28248,20065,32724,31077,35814,24819,21709,20139,39033,24055,27233,
  281. 20687,21521,35937,33831,30813,38660,21066,21742,22179,38144,28040,23477,28102,
  282. 26195,23567,23389,26657,32918,21880,31505,25928,26964,20123,27463,34638,38795,
  283. 21327,25375,25658,37034,26012,32961,35856,20889,26800,21368,34809,25032,27844,
  284. 27899,35874,23633,34218,33455,38156,27427,36763,26032,24571,24515,20449,34885,
  285. 26143,33125,29481,24826,20852,21009,22411,24418,37026,34892,37266,24184,26447,
  286. 24615,22995,20804,20982,33016,21256,27769,38596,29066,20241,20462,32670,26429,
  287. 21957,38152,31168,34966,32483,22687,25100,38656,34394,22040,39035,24464,35768,
  288. 33988,37207,21465,26093,24207,30044,24676,32110,23167,32490,32493,36713,21927,
  289. 23459,24748,26059,29572,36873,30307,30505,32474,38772,34203,23398,31348,38634,
  290. 34880,21195,29071,24490,26092,35810,23547,39535,24033,27529,27739,35757,35759,
  291. 36874,36805,21387,25276,40486,40493,21568,20011,33469,29273,34460,23830,34905,
  292. 28079,38597,21713,20122,35766,28937,21693,38409,28895,28153,30416,20005,30740,
  293. 34578,23721,24310,35328,39068,38414,28814,27839,22852,25513,30524,34893,28436,
  294. 33395,22576,29141,21388,30746,38593,21761,24422,28976,23476,35866,39564,27523,
  295. 22830,40495,31207,26472,25196,20335,30113,32650,27915,38451,27687,20208,30162,
  296. 20859,26679,28478,36992,33136,22934,29814,25671,23591,36965,31377,35875,23002,
  297. 21676,33280,33647,35201,32768,26928,22094,32822,29239,37326,20918,20063,39029,
  298. 25494,19994,21494,26355,33099,22812,28082,19968,22777,21307,25558,38129,20381,
  299. 20234,34915,39056,22839,36951,31227,20202,33008,30097,27778,23452,23016,24413,
  300. 26885,34433,20506,24050,20057,30691,20197,33402,25233,26131,37009,23673,20159,
  301. 24441,33222,36920,32900,30123,20134,35028,24847,27589,24518,20041,30410,28322,
  302. 35811,35758,35850,35793,24322,32764,32716,32462,33589,33643,22240,27575,38899,
  303. 38452,23035,21535,38134,28139,23493,39278,23609,24341,38544,21360,33521,27185,
  304. 23156,40560,24212,32552,33721,33828,33829,33639,34631,36814,36194,30408,24433,
  305. 39062,30828,26144,21727,25317,20323,33219,30152,24248,38605,36362,34553,21647,
  306. 27891,28044,27704,24703,21191,29992,24189,20248,24736,24551,23588,30001,37038,
  307. 38080,29369,27833,28216,37193,26377,21451,21491,20305,37321,35825,21448,24188,
  308. 36802,28132,20110,30402,27014,34398,24858,33286,20313,20446,36926,40060,24841,
  309. 28189,28180,38533,20104,23089,38632,19982,23679,31161,23431,35821,32701,29577,
  310. 22495,33419,37057,21505,36935,21947,23786,24481,24840,27442,29425,32946,35465,
  311. 28020,23507,35029,39044,35947,39533,40499,28170,20900,20803,22435,34945,21407,
  312. 25588,36757,22253,21592,22278,29503,28304,32536,36828,33489,24895,24616,38498,
  313. 26352,32422,36234,36291,38053,23731,31908,26376,24742,38405,32792,20113,37095,
  314. 21248,38504,20801,36816,34164,37213,26197,38901,23381,21277,30776,26434,26685,
  315. 21705,28798,23472,36733,20877,22312,21681,25874,26242,36190,36163,33039,33900,
  316. 36973,31967,20991,34299,26531,26089,28577,34468,36481,22122,36896,30338,28790,
  317. 29157,36131,25321,21017,27901,36156,24590,22686,24974,26366,36192,25166,21939,
  318. 28195,26413,36711,38113,38392,30504,26629,27048,21643,20045,28856,35784,25688,
  319. 25995,23429,31364,20538,23528,30651,27617,35449,31896,27838,30415,26025,36759,
  320. 23853,23637,34360,26632,21344,25112,31449,28251,32509,27167,31456,24432,28467,
  321. 24352,25484,28072,26454,19976,24080,36134,20183,32960,30260,38556,25307,26157,
  322. 25214,27836,36213,29031,32617,20806,32903,21484,36974,25240,21746,34544,36761,
  323. 32773,38167,34071,36825,27993,29645,26015,30495,29956,30759,33275,36126,38024,
  324. 20390,26517,30137,35786,38663,25391,38215,38453,33976,25379,30529,24449,29424,
  325. 20105,24596,25972,25327,27491,25919,24103,30151,37073,35777,33437,26525,25903,
  326. 21553,34584,30693,32930,33026,27713,20043,32455,32844,30452,26893,27542,25191,
  327. 20540,20356,22336,25351,27490,36286,21482,26088,32440,24535,25370,25527,33267,
  328. 33268,32622,24092,23769,21046,26234,31209,31258,36136,28825,30164,28382,27835,
  329. 31378,20013,30405,24544,38047,34935,32456,31181,32959,37325,20210,20247,33311,
  330. 21608,24030,27954,35788,31909,36724,32920,24090,21650,30385,23449,26172,39588,
  331. 29664,26666,34523,26417,29482,35832,35803,36880,31481,28891,29038,25284,30633,
  332. 22065,20027,33879,26609,21161,34496,36142,38136,31569,20303,27880,31069,39547,
  333. 25235,29226,25341,19987,30742,36716,25776,36186,31686,26729,24196,35013,22918,
  334. 25758,22766,29366,26894,38181,36861,36184,22368,32512,35846,20934,25417,25305,
  335. 21331,26700,29730,33537,37196,21828,30528,28796,27978,20857,21672,36164,23039,
  336. 28363,28100,23388,32043,20180,31869,28371,23376,33258,28173,23383,39683,26837,
  337. 36394,23447,32508,24635,32437,37049,36208,22863,25549,31199,36275,21330,26063,
  338. 31062,35781,38459,32452,38075,32386,22068,37257,26368,32618,23562,36981,26152,
  339. 24038,20304,26590,20570,20316,22352,24231,20109,19980,20800,19984,24319,21317,
  340. 19989,20120,19998,39730,23404,22121,20008,31162,20031,21269,20039,22829,29243,
  341. 21358,27664,22239,32996,39319,27603,30590,40727,20022,20127,40720,20060,20073,
  342. 20115,33416,23387,21868,22031,20164,21389,21405,21411,21413,21422,38757,36189,
  343. 21274,21493,21286,21294,21310,36188,21350,21347,20994,21000,21006,21037,21043,
  344. 21055,21056,21068,21086,21089,21084,33967,21117,21122,21121,21136,21139,20866,
  345. 32596,20155,20163,20169,20162,20200,20193,20203,20190,20251,20211,20258,20324,
  346. 20213,20261,20263,20233,20267,20318,20327,25912,20314,20317,20319,20311,20274,
  347. 20285,20342,20340,20369,20361,20355,20367,20350,20347,20394,20348,20396,20372,
  348. 20454,20456,20458,20421,20442,20451,20444,20433,20447,20472,20521,20556,20467,
  349. 20524,20495,20526,20525,20478,20508,20492,20517,20520,20606,20547,20565,20552,
  350. 20558,20588,20603,20645,20647,20649,20666,20694,20742,20717,20716,20710,20718,
  351. 20743,20747,20189,27709,20312,20325,20430,40864,27718,31860,20846,24061,40649,
  352. 39320,20865,22804,21241,21261,35335,21264,20971,22809,20821,20128,20822,20147,
  353. 34926,34980,20149,33044,35026,31104,23348,34819,32696,20907,20913,20925,20924,
  354. 20935,20886,20898,20901,35744,35750,35751,35754,35764,35765,35767,35778,35779,
  355. 35787,35791,35790,35794,35795,35796,35798,35800,35801,35804,35807,35808,35812,
  356. 35816,35817,35822,35824,35827,35830,35833,35836,35839,35840,35842,35844,35847,
  357. 35852,35855,35857,35858,35860,35861,35862,35865,35867,35864,35869,35871,35872,
  358. 35873,35877,35879,35882,35883,35886,35887,35890,35891,35893,35894,21353,21370,
  359. 38429,38434,38433,38449,38442,38461,38460,38466,38473,38484,38495,38503,38508,
  360. 38514,38516,38536,38541,38551,38576,37015,37019,37021,37017,37036,37025,37044,
  361. 37043,37046,37050,37048,37040,37071,37061,37054,37072,37060,37063,37075,37094,
  362. 37090,37084,37079,37083,37099,37103,37118,37124,37154,37150,37155,37169,37167,
  363. 37177,37187,37190,21005,22850,21154,21164,21165,21182,21759,21200,21206,21232,
  364. 21471,29166,30669,24308,20981,20988,39727,21430,24321,30042,24047,22348,22441,
  365. 22433,22654,22716,22725,22737,22313,22316,22314,22323,22329,22318,22319,22364,
  366. 22331,22338,22377,22405,22379,22406,22396,22395,22376,22381,22390,22387,22445,
  367. 22436,22412,22450,22479,22439,22452,22419,22432,22485,22488,22490,22489,22482,
  368. 22456,22516,22511,22520,22500,22493,22539,22541,22525,22509,22528,22558,22553,
  369. 22596,22560,22629,22636,22657,22665,22682,22656,39336,40729,25087,33401,33405,
  370. 33407,33423,33418,33448,33412,33422,33425,33431,33433,33451,33464,33470,33456,
  371. 33480,33482,33507,33432,33463,33454,33483,33484,33473,33449,33460,33441,33450,
  372. 33439,33476,33486,33444,33505,33545,33527,33508,33551,33543,33500,33524,33490,
  373. 33496,33548,33531,33491,33553,33562,33542,33556,33557,33504,33493,33564,33617,
  374. 33627,33628,33544,33682,33596,33588,33585,33691,33630,33583,33615,33607,33603,
  375. 33631,33600,33559,33632,33581,33594,33587,33638,33637,33640,33563,33641,33644,
  376. 33642,33645,33646,33712,33656,33715,33716,33696,33706,33683,33692,33669,33660,
  377. 33718,33705,33661,33720,33659,33688,33694,33704,33722,33724,33729,33793,33765,
  378. 33752,22535,33816,33803,33757,33789,33750,33820,33848,33809,33798,33748,33759,
  379. 33807,33795,33784,33785,33770,33733,33728,33830,33776,33761,33884,33873,33882,
  380. 33881,33907,33927,33928,33914,33929,33912,33852,33862,33897,33910,33932,33934,
  381. 33841,33901,33985,33997,34000,34022,33981,34003,33994,33983,33978,34016,33953,
  382. 33977,33972,33943,34021,34019,34060,29965,34104,34032,34105,34079,34106,34134,
  383. 34107,34047,34044,34137,34120,34152,34148,34142,34170,30626,34115,34162,34171,
  384. 34212,34216,34183,34191,34169,34222,34204,34181,34233,34231,34224,34259,34241,
  385. 34268,34303,34343,34309,34345,34326,34364,24318,24328,22844,22849,32823,22869,
  386. 22874,22872,21263,23586,23589,23596,23604,25164,25194,25247,25275,25290,25306,
  387. 25303,25326,25378,25334,25401,25419,25411,25517,25590,25457,25466,25486,25524,
  388. 25453,25516,25482,25449,25518,25532,25586,25592,25568,25599,25540,25566,25550,
  389. 25682,25542,25534,25669,25665,25611,25627,25632,25612,25638,25633,25694,25732,
  390. 25709,25750,25722,25783,25784,25753,25786,25792,25808,25815,25828,25826,25865,
  391. 25893,25902,24331,24530,29977,24337,21343,21489,21501,21481,21480,21499,21522,
  392. 21526,21510,21579,21586,21587,21588,21590,21571,21537,21591,21593,21539,21554,
  393. 21634,21652,21623,21617,21604,21658,21659,21636,21622,21606,21661,21712,21677,
  394. 21698,21684,21714,21671,21670,21715,21716,21618,21667,21717,21691,21695,21708,
  395. 21721,21722,21724,21673,21674,21668,21725,21711,21726,21787,21735,21792,21757,
  396. 21780,21747,21794,21795,21775,21777,21799,21802,21863,21903,21941,21833,21869,
  397. 21825,21845,21823,21840,21820,21815,21846,21877,21878,21879,21811,21808,21852,
  398. 21899,21970,21891,21937,21945,21896,21889,21919,21886,21974,21905,21883,21983,
  399. 21949,21950,21908,21913,21994,22007,21961,22047,21969,21995,21996,21972,21990,
  400. 21981,21956,21999,21989,22002,22003,21964,21965,21992,22005,21988,36756,22046,
  401. 22024,22028,22017,22052,22051,22014,22016,22055,22061,22104,22073,22103,22060,
  402. 22093,22114,22105,22108,22092,22100,22150,22116,22129,22123,22139,22140,22149,
  403. 22163,22191,22228,22231,22237,22241,22261,22251,22265,22271,22276,22282,22281,
  404. 22300,24079,24089,24084,24081,24113,24123,24124,24119,24132,24148,24155,24158,
  405. 24161,23692,23674,23693,23696,23702,23688,23704,23705,23697,23706,23708,23733,
  406. 23714,23741,23724,23723,23729,23715,23745,23735,23748,23762,23780,23755,23781,
  407. 23810,23811,23847,23846,23854,23844,23838,23814,23835,23896,23870,23860,23869,
  408. 23916,23899,23919,23901,23915,23883,23882,23913,23924,23938,23961,23965,35955,
  409. 23991,24005,24435,24439,24450,24455,24457,24460,24469,24473,24476,24488,24493,
  410. 24501,24508,34914,24417,29357,29360,29364,29367,29368,29379,29377,29390,29389,
  411. 29394,29416,29423,29417,29426,29428,29431,29441,29427,29443,29434,29435,29463,
  412. 29459,29473,29450,29470,29469,29461,29474,29497,29477,29484,29496,29489,29520,
  413. 29517,29527,29536,29548,29551,29566,33307,22821,39143,22820,22786,39267,39271,
  414. 39272,39273,39274,39275,39276,39284,39287,39293,39296,39300,39303,39306,39309,
  415. 39312,39313,39315,39316,39317,24192,24209,24203,24214,24229,24224,24249,24245,
  416. 24254,24243,36179,24274,24273,24283,24296,24298,33210,24516,24521,24534,24527,
  417. 24579,24558,24580,24545,24548,24574,24581,24582,24554,24557,24568,24601,24629,
  418. 24614,24603,24591,24589,24617,24619,24586,24639,24609,24696,24697,24699,24698,
  419. 24642,24682,24701,24726,24730,24749,24733,24707,24722,24716,24731,24812,24763,
  420. 24753,24797,24792,24774,24794,24756,24864,24870,24853,24867,24820,24832,24846,
  421. 24875,24906,24949,25004,24980,24999,25015,25044,25077,24541,38579,38377,38379,
  422. 38385,38387,38389,38390,38396,38398,38403,38404,38406,38408,38410,38411,38412,
  423. 38413,38415,38418,38421,38422,38423,38425,38426,20012,29247,25109,27701,27732,
  424. 27740,27722,27811,27781,27792,27796,27788,27752,27753,27764,27766,27782,27817,
  425. 27856,27860,27821,27895,27896,27889,27863,27826,27872,27862,27898,27883,27886,
  426. 27825,27859,27887,27902,27961,27943,27916,27971,27976,27911,27908,27929,27918,
  427. 27947,27981,27950,27957,27930,27983,27986,27988,27955,28049,28015,28062,28064,
  428. 27998,28051,28052,27996,28000,28028,28003,28186,28103,28101,28126,28174,28095,
  429. 28128,28177,28134,28125,28121,28182,28075,28172,28078,28203,28270,28238,28267,
  430. 28338,28255,28294,28243,28244,28210,28197,28228,28383,28337,28312,28384,28461,
  431. 28386,28325,28327,28349,28347,28343,28375,28340,28367,28303,28354,28319,28514,
  432. 28486,28487,28452,28437,28409,28463,28470,28491,28532,28458,28425,28457,28553,
  433. 28557,28556,28536,28530,28540,28538,28625,28617,28583,28601,28598,28610,28641,
  434. 28654,28638,28640,28655,28698,28707,28699,28729,28725,28751,28766,23424,23428,
  435. 23445,23443,23461,23480,29999,39582,25652,23524,23534,35120,23536,36423,35591,
  436. 36790,36819,36821,36837,36846,36836,36841,36838,36851,36840,36869,36868,36875,
  437. 36902,36881,36877,36886,36897,36917,36918,36909,36911,36932,36945,36946,36944,
  438. 36968,36952,36962,36955,26297,36980,36989,36994,37000,36995,37003,24400,24407,
  439. 24406,24408,23611,21675,23632,23641,23409,23651,23654,32700,24362,24361,24365,
  440. 33396,24380,39739,23662,22913,22915,22925,22953,22954,22947,22935,22986,22955,
  441. 22942,22948,22994,22962,22959,22999,22974,23045,23046,23005,23048,23011,23000,
  442. 23033,23052,23049,23090,23092,23057,23075,23059,23104,23143,23114,23125,23100,
  443. 23138,23157,33004,23210,23195,23159,23162,23230,23275,23218,23250,23252,23224,
  444. 23264,23267,23281,23254,23270,23256,23260,23305,23319,23318,23346,23351,23360,
  445. 23573,23580,23386,23397,23411,23377,23379,23394,39541,39543,39544,39546,39551,
  446. 39549,39552,39553,39557,39560,39562,39568,39570,39571,39574,39576,39579,39580,
  447. 39581,39583,39584,39586,39587,39589,39591,32415,32417,32419,32421,32424,32425,
  448. 32429,32432,32446,32448,32449,32450,32457,32459,32460,32464,32468,32471,32475,
  449. 32480,32481,32488,32491,32494,32495,32497,32498,32525,32502,32506,32507,32510,
  450. 32513,32514,32515,32519,32520,32523,32524,32527,32529,32530,32535,32537,32540,
  451. 32539,32543,32545,32546,32547,32548,32549,32550,32551,32554,32555,32556,32557,
  452. 32559,32560,32561,32562,32563,32565,24186,30079,24027,30014,37013,29582,29585,
  453. 29614,29602,29599,29647,29634,29649,29623,29619,29632,29641,29640,29669,29657,
  454. 39036,29706,29673,29671,29662,29626,29682,29711,29738,29787,29734,29733,29736,
  455. 29744,29742,29740,29723,29722,29761,29788,29783,29781,29785,29815,29805,29822,
  456. 29852,29838,29824,29825,29831,29835,29854,29864,29865,29840,29863,29906,29882,
  457. 38890,38891,38892,26444,26451,26462,26440,26473,26533,26503,26474,26483,26520,
  458. 26535,26485,26536,26526,26541,26507,26487,26492,26608,26633,26584,26634,26601,
  459. 26544,26636,26585,26549,26586,26547,26589,26624,26563,26552,26594,26638,26561,
  460. 26621,26674,26675,26720,26721,26702,26722,26692,26724,26755,26653,26709,26726,
  461. 26689,26727,26688,26686,26698,26697,26665,26805,26767,26740,26743,26771,26731,
  462. 26818,26990,26876,26911,26912,26873,26916,26864,26891,26881,26967,26851,26896,
  463. 26993,26937,26976,26946,26973,27012,26987,27008,27032,27000,26932,27084,27015,
  464. 27016,27086,27017,26982,26979,27001,27035,27047,27067,27051,27053,27092,27057,
  465. 27073,27082,27103,27029,27104,27021,27135,27183,27117,27159,27160,27237,27122,
  466. 27204,27198,27296,27216,27227,27189,27278,27257,27197,27176,27224,27260,27281,
  467. 27280,27305,27287,27307,29495,29522,27521,27522,27527,27524,27538,27539,27533,
  468. 27546,27547,27553,27562,36715,36717,36721,36722,36723,36725,36726,36728,36727,
  469. 36729,36730,36732,36734,36737,36738,36740,36743,36747,36749,36750,36751,36760,
  470. 36762,36558,25099,25111,25115,25119,25122,25121,25125,25124,25132,33255,29935,
  471. 29940,29951,29967,29969,29971,25908,26094,26095,26096,26122,26137,26482,26115,
  472. 26133,26112,28805,26359,26141,26164,26161,26166,26165,32774,26207,26196,26177,
  473. 26191,26198,26209,26199,26231,26244,26252,26279,26269,26302,26331,26332,26342,
  474. 26345,36146,36147,36150,36155,36157,36160,36165,36166,36168,36169,36167,36173,
  475. 36181,36185,35271,35274,35275,35276,35278,35279,35280,35281,29294,29343,29277,
  476. 29286,29295,29310,29311,29316,29323,29325,29327,29330,25352,25394,25520,25663,
  477. 25816,32772,27626,27635,27645,27637,27641,27653,27655,27654,27661,27669,27672,
  478. 27673,27674,27681,27689,27684,27690,27698,25909,25941,25963,29261,29266,29270,
  479. 29232,34402,21014,32927,32924,32915,32956,26378,32957,32945,32939,32941,32948,
  480. 32951,32999,33000,33001,33002,32987,32962,32964,32985,32973,32983,26384,32989,
  481. 33003,33009,33012,33005,33037,33038,33010,33020,26389,33042,35930,33078,33054,
  482. 33068,33048,33074,33096,33100,33107,33140,33113,33114,33137,33120,33129,33148,
  483. 33149,33133,33127,22605,23221,33160,33154,33169,28373,33187,33194,33228,26406,
  484. 33226,33211,33217,33190,27428,27447,27449,27459,27462,27481,39121,39122,39123,
  485. 39125,39129,39130,27571,24384,27586,35315,26000,40785,26003,26044,26054,26052,
  486. 26051,26060,26062,26066,26070,28800,28828,28822,28829,28859,28864,28855,28843,
  487. 28849,28904,28874,28944,28947,28950,28975,28977,29043,29020,29032,28997,29042,
  488. 29002,29048,29050,29080,29107,29109,29096,29088,29152,29140,29159,29177,29213,
  489. 29224,28780,28952,29030,29113,25150,25149,25155,25160,25161,31035,31040,31046,
  490. 31049,31067,31068,31059,31066,31074,31063,31072,31087,31079,31098,31109,31114,
  491. 31130,31143,31155,24529,24528,24636,24669,24666,24679,24641,24665,24675,24747,
  492. 24838,24845,24925,25001,24989,25035,25041,25094,32896,32895,27795,27894,28156,
  493. 30710,30712,30720,30729,30743,30744,30737,26027,30765,30748,30749,30777,30778,
  494. 30779,30751,30780,30757,30764,30755,30761,30798,30829,30806,30807,30758,30800,
  495. 30791,30796,30826,30875,30867,30874,30855,30876,30881,30883,30898,30905,30885,
  496. 30932,30937,30921,30956,30962,30981,30964,30995,31012,31006,31028,40859,40697,
  497. 40699,40700,30449,30468,30477,30457,30471,30472,30490,30498,30489,30509,30502,
  498. 30517,30520,30544,30545,30535,30531,30554,30568,30562,30565,30591,30605,30589,
  499. 30592,30604,30609,30623,30624,30640,30645,30653,30010,30016,30030,30027,30024,
  500. 30043,30066,30073,30083,32600,32609,32607,35400,32616,32628,32625,32633,32641,
  501. 32638,30413,30437,34866,38021,38022,38023,38027,38026,38028,38029,38031,38032,
  502. 38036,38039,38037,38042,38043,38044,38051,38052,38059,38058,38061,38060,38063,
  503. 38064,38066,38068,38070,38071,38072,38073,38074,38076,38077,38079,38084,38088,
  504. 38089,38090,38091,38092,38093,38094,38096,38097,38098,38101,38102,38103,38105,
  505. 38104,38107,38110,38111,38112,38114,38116,38117,38119,38120,38122,38121,38123,
  506. 38126,38127,38131,38132,38133,38135,38137,38140,38141,38143,38147,38146,38150,
  507. 38151,38153,38154,38157,38158,38159,38162,38163,38164,38165,38166,38168,38171,
  508. 38173,38174,38175,38178,38186,38187,38185,38188,38193,38194,38196,38198,38199,
  509. 38200,38204,38206,38207,38210,38197,38212,38213,38214,38217,38220,38222,38223,
  510. 38226,38227,38228,38230,38231,38232,38233,38235,38238,38239,38237,38241,38242,
  511. 38244,38245,38246,38247,38248,38249,38250,38251,38252,38255,38257,38258,38259,
  512. 38202,30695,30700,38601,31189,31213,31203,31211,31238,23879,31235,31234,31262,
  513. 31252,31289,31287,31313,40655,39333,31344,30344,30350,30355,30361,30372,29918,
  514. 29920,29996,40480,40482,40488,40489,40490,40491,40492,40498,40497,40502,40504,
  515. 40503,40505,40506,40510,40513,40514,40516,40518,40519,40520,40521,40523,40524,
  516. 40526,40529,40533,40535,40538,40539,40540,40542,40547,40550,40551,40552,40553,
  517. 40554,40555,40556,40561,40557,40563,30098,30100,30102,30112,30109,30124,30115,
  518. 30131,30132,30136,30148,30129,30128,30147,30146,30166,30157,30179,30184,30182,
  519. 30180,30187,30183,30211,30193,30204,30207,30224,30208,30213,30220,30231,30218,
  520. 30245,30232,30229,30233,30235,30268,30242,30240,30272,30253,30256,30271,30261,
  521. 30275,30270,30259,30285,30302,30292,30300,30294,30315,30319,32714,31462,31352,
  522. 31353,31360,31366,31368,31381,31398,31392,31404,31400,31405,31411,34916,34921,
  523. 34930,34941,34943,34946,34978,35014,34999,35004,35017,35042,35022,35043,35045,
  524. 35057,35098,35068,35048,35070,35056,35105,35097,35091,35099,35082,35124,35115,
  525. 35126,35137,35174,35195,30091,32997,30386,30388,30684,32786,32788,32790,32796,
  526. 32800,32802,32805,32806,32807,32809,32808,32817,32779,32821,32835,32838,32845,
  527. 32850,32873,32881,35203,39032,39040,39043,39049,39052,39053,39055,39060,39066,
  528. 39067,39070,39071,39073,39074,39077,39078,34381,34388,34412,34414,34431,34426,
  529. 34428,34427,34472,34445,34443,34476,34461,34471,34467,34474,34451,34473,34486,
  530. 34500,34485,34510,34480,34490,34481,34479,34505,34511,34484,34537,34545,34546,
  531. 34541,34547,34512,34579,34526,34548,34527,34520,34513,34563,34567,34552,34568,
  532. 34570,34573,34569,34595,34619,34590,34597,34606,34586,34622,34632,34612,34609,
  533. 34601,34615,34623,34690,34594,34685,34686,34683,34656,34672,34636,34670,34699,
  534. 34643,34659,34684,34660,34649,34661,34707,34735,34728,34770,34758,34696,34693,
  535. 34733,34711,34691,34731,34789,34732,34741,34739,34763,34771,34749,34769,34752,
  536. 34762,34779,34794,34784,34798,34838,34835,34814,34826,34843,34849,34873,34876,
  537. 32566,32578,32580,32581,33296,31482,31485,31496,31491,31492,31509,31498,31531,
  538. 31503,31559,31544,31530,31513,31534,31537,31520,31525,31524,31539,31550,31518,
  539. 31576,31578,31557,31605,31564,31581,31584,31598,31611,31586,31602,31601,31632,
  540. 31654,31655,31672,31660,31645,31656,31621,31658,31644,31650,31659,31668,31697,
  541. 31681,31692,31709,31706,31717,31718,31722,31756,31742,31740,31759,31766,31755,
  542. 31775,31786,31782,31800,31809,31808,33278,33281,33282,33284,33260,34884,33313,
  543. 33314,33315,33325,33327,33320,33323,33336,33339,33331,33332,33342,33348,33353,
  544. 33355,33359,33370,33375,33384,34942,34949,34952,35032,35039,35166,32669,32671,
  545. 32679,32687,32688,32690,31868,25929,31889,31901,31900,31902,31906,31922,31932,
  546. 31933,31937,31943,31948,31949,31944,31941,31959,31976,33390,26280,32703,32718,
  547. 32725,32741,32737,32742,32745,32750,32755,31992,32119,32166,32174,32327,32411,
  548. 40632,40628,36211,36228,36244,36241,36273,36199,36205,35911,35913,37194,37200,
  549. 37198,37199,37220,37218,37217,37232,37225,37231,37245,37246,37234,37236,37241,
  550. 37260,37253,37264,37261,37265,37282,37283,37290,37293,37294,37295,37301,37300,
  551. 37306,35925,40574,36280,36331,36357,36441,36457,36277,36287,36284,36282,36292,
  552. 36310,36311,36314,36318,36302,36303,36315,36294,36332,36343,36344,36323,36345,
  553. 36347,36324,36361,36349,36372,36381,36383,36396,36398,36387,36399,36410,36416,
  554. 36409,36405,36413,36401,36425,36417,36418,36433,36434,36426,36464,36470,36476,
  555. 36463,36468,36485,36495,36500,36496,36508,36510,35960,35970,35978,35973,35992,
  556. 35988,26011,35286,35294,35290,35292,35301,35307,35311,35390,35622,38739,38633,
  557. 38643,38639,38662,38657,38664,38671,38670,38698,38701,38704,38718,40832,40835,
  558. 40837,40838,40839,40840,40841,40842,40844,40702,40715,40717,38585,38588,38589,
  559. 38606,38610,30655,38624,37518,37550,37576,37694,37738,37834,37775,37950,37995,
  560. 40063,40066,40069,40070,40071,40072,31267,40075,40078,40080,40081,40082,40084,
  561. 40085,40090,40091,40094,40095,40096,40097,40098,40099,40101,40102,40103,40104,
  562. 40105,40107,40109,40110,40112,40113,40114,40115,40116,40117,40118,40119,40122,
  563. 40123,40124,40125,40132,40133,40134,40135,40138,40139,40140,40141,40142,40143,
  564. 40144,40147,40148,40149,40151,40152,40153,40156,40157,40159,40162,38780,38789,
  565. 38801,38802,38804,38831,38827,38819,38834,38836,39601,39600,39607,40536,39606,
  566. 39610,39612,39617,39616,39621,39618,39627,39628,39633,39749,39747,39751,39753,
  567. 39752,39757,39761,39144,39181,39214,39253,39252,39647,39649,39654,39663,39659,
  568. 39675,39661,39673,39688,39695,39699,39711,39715,40637,40638,32315,40578,40583,
  569. 40584,40587,40594,37846,40605,40607,40667,40668,40669,40672,40671,40674,40681,
  570. 40679,40677,40682,40687,40738,40748,40751,40761,40759,40765,40766,40772,
  571. };
  572. static const struct dbcs_index gb2312_decmap[256] = {
  573. {0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0
  574. },{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,
  575. 0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{
  576. 0,0,0},{0,0,0},{0,0,0},{0,0,0},{__gb2312_decmap+0,33,126},{__gb2312_decmap+94,
  577. 49,124},{__gb2312_decmap+170,33,126},{__gb2312_decmap+264,33,115},{
  578. __gb2312_decmap+347,33,118},{__gb2312_decmap+433,33,88},{__gb2312_decmap+489,
  579. 33,113},{__gb2312_decmap+570,33,105},{__gb2312_decmap+643,36,111},{0,0,0},{0,
  580. 0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{__gb2312_decmap+719,33,126},{
  581. __gb2312_decmap+813,33,126},{__gb2312_decmap+907,33,126},{__gb2312_decmap+1001
  582. ,33,126},{__gb2312_decmap+1095,33,126},{__gb2312_decmap+1189,33,126},{
  583. __gb2312_decmap+1283,33,126},{__gb2312_decmap+1377,33,126},{__gb2312_decmap+
  584. 1471,33,126},{__gb2312_decmap+1565,33,126},{__gb2312_decmap+1659,33,126},{
  585. __gb2312_decmap+1753,33,126},{__gb2312_decmap+1847,33,126},{__gb2312_decmap+
  586. 1941,33,126},{__gb2312_decmap+2035,33,126},{__gb2312_decmap+2129,33,126},{
  587. __gb2312_decmap+2223,33,126},{__gb2312_decmap+2317,33,126},{__gb2312_decmap+
  588. 2411,33,126},{__gb2312_decmap+2505,33,126},{__gb2312_decmap+2599,33,126},{
  589. __gb2312_decmap+2693,33,126},{__gb2312_decmap+2787,33,126},{__gb2312_decmap+
  590. 2881,33,126},{__gb2312_decmap+2975,33,126},{__gb2312_decmap+3069,33,126},{
  591. __gb2312_decmap+3163,33,126},{__gb2312_decmap+3257,33,126},{__gb2312_decmap+
  592. 3351,33,126},{__gb2312_decmap+3445,33,126},{__gb2312_decmap+3539,33,126},{
  593. __gb2312_decmap+3633,33,126},{__gb2312_decmap+3727,33,126},{__gb2312_decmap+
  594. 3821,33,126},{__gb2312_decmap+3915,33,126},{__gb2312_decmap+4009,33,126},{
  595. __gb2312_decmap+4103,33,126},{__gb2312_decmap+4197,33,126},{__gb2312_decmap+
  596. 4291,33,126},{__gb2312_decmap+4385,33,121},{__gb2312_decmap+4474,33,126},{
  597. __gb2312_decmap+4568,33,126},{__gb2312_decmap+4662,33,126},{__gb2312_decmap+
  598. 4756,33,126},{__gb2312_decmap+4850,33,126},{__gb2312_decmap+4944,33,126},{
  599. __gb2312_decmap+5038,33,126},{__gb2312_decmap+5132,33,126},{__gb2312_decmap+
  600. 5226,33,126},{__gb2312_decmap+5320,33,126},{__gb2312_decmap+5414,33,126},{
  601. __gb2312_decmap+5508,33,126},{__gb2312_decmap+5602,33,126},{__gb2312_decmap+
  602. 5696,33,126},{__gb2312_decmap+5790,33,126},{__gb2312_decmap+5884,33,126},{
  603. __gb2312_decmap+5978,33,126},{__gb2312_decmap+6072,33,126},{__gb2312_decmap+
  604. 6166,33,126},{__gb2312_decmap+6260,33,126},{__gb2312_decmap+6354,33,126},{
  605. __gb2312_decmap+6448,33,126},{__gb2312_decmap+6542,33,126},{__gb2312_decmap+
  606. 6636,33,126},{__gb2312_decmap+6730,33,126},{__gb2312_decmap+6824,33,126},{
  607. __gb2312_decmap+6918,33,126},{__gb2312_decmap+7012,33,126},{__gb2312_decmap+
  608. 7106,33,126},{__gb2312_decmap+7200,33,126},{__gb2312_decmap+7294,33,126},{
  609. __gb2312_decmap+7388,33,126},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{
  610. 0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0
  611. },{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,
  612. 0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{
  613. 0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0
  614. },{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,
  615. 0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{
  616. 0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0
  617. },{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,
  618. 0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{
  619. 0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0
  620. },{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,
  621. 0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{
  622. 0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0
  623. },{0,0,0},{0,0,0},{0,0,0},{0,0,0},
  624. };
  625. static const ucs2_t __gbkext_decmap[14531] = {
  626. 19970,19972,19973,19974,19983,19986,19991,19999,20000,20001,20003,20006,20009,
  627. 20014,20015,20017,20019,20021,20023,20028,20032,20033,20034,20036,20038,20042,
  628. 20049,20053,20055,20058,20059,20066,20067,20068,20069,20071,20072,20074,20075,
  629. 20076,20077,20078,20079,20082,20084,20085,20086,20087,20088,20089,20090,20091,
  630. 20092,20093,20095,20096,20097,20098,20099,20100,20101,20103,20106,U,20112,
  631. 20118,20119,20121,20124,20125,20126,20131,20138,20143,20144,20145,20148,20150,
  632. 20151,20152,20153,20156,20157,20158,20168,20172,20175,20176,20178,20186,20187,
  633. 20188,20192,20194,20198,20199,20201,20205,20206,20207,20209,20212,20216,20217,
  634. 20218,20220,20222,20224,20226,20227,20228,20229,20230,20231,20232,20235,20236,
  635. 20242,20243,20244,20245,20246,20252,20253,20257,20259,20264,20265,20268,20269,
  636. 20270,20273,20275,20277,20279,20281,20283,20286,20287,20288,20289,20290,20292,
  637. 20293,20295,20296,20297,20298,20299,20300,20306,20308,20310,20321,20322,20326,
  638. 20328,20330,20331,20333,20334,20337,20338,20341,20343,20344,20345,20346,20349,
  639. 20352,20353,20354,20357,20358,20359,20362,20364,20366,20368,20370,20371,20