ucdn.php 132 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923
  1. <?php
  2. /* HarfBuzz ucdn/unicodedata_db.h */
  3. /* HarfBuzz ucdn/ucdn.c */
  4. /* HarfBuzz ucdn/ucdn.h */
  5. class UCDN
  6. {
  7. const SCRIPT_COMMON = 0;
  8. const SCRIPT_LATIN = 1;
  9. const SCRIPT_GREEK = 2;
  10. const SCRIPT_CYRILLIC = 3;
  11. const SCRIPT_ARMENIAN = 4;
  12. const SCRIPT_HEBREW = 5;
  13. const SCRIPT_ARABIC = 6;
  14. const SCRIPT_SYRIAC = 7;
  15. const SCRIPT_THAANA = 8;
  16. const SCRIPT_DEVANAGARI = 9;
  17. const SCRIPT_BENGALI = 10;
  18. const SCRIPT_GURMUKHI = 11;
  19. const SCRIPT_GUJARATI = 12;
  20. const SCRIPT_ORIYA = 13;
  21. const SCRIPT_TAMIL = 14;
  22. const SCRIPT_TELUGU = 15;
  23. const SCRIPT_KANNADA = 16;
  24. const SCRIPT_MALAYALAM = 17;
  25. const SCRIPT_SINHALA = 18;
  26. const SCRIPT_THAI = 19;
  27. const SCRIPT_LAO = 20;
  28. const SCRIPT_TIBETAN = 21;
  29. const SCRIPT_MYANMAR = 22;
  30. const SCRIPT_GEORGIAN = 23;
  31. const SCRIPT_HANGUL = 24;
  32. const SCRIPT_ETHIOPIC = 25;
  33. const SCRIPT_CHEROKEE = 26;
  34. const SCRIPT_CANADIAN_ABORIGINAL = 27;
  35. const SCRIPT_OGHAM = 28;
  36. const SCRIPT_RUNIC = 29;
  37. const SCRIPT_KHMER = 30;
  38. const SCRIPT_MONGOLIAN = 31;
  39. const SCRIPT_HIRAGANA = 32;
  40. const SCRIPT_KATAKANA = 33;
  41. const SCRIPT_BOPOMOFO = 34;
  42. const SCRIPT_HAN = 35;
  43. const SCRIPT_YI = 36;
  44. const SCRIPT_OLD_ITALIC = 37;
  45. const SCRIPT_GOTHIC = 38;
  46. const SCRIPT_DESERET = 39;
  47. const SCRIPT_INHERITED = 40;
  48. const SCRIPT_TAGALOG = 41;
  49. const SCRIPT_HANUNOO = 42;
  50. const SCRIPT_BUHID = 43;
  51. const SCRIPT_TAGBANWA = 44;
  52. const SCRIPT_LIMBU = 45;
  53. const SCRIPT_TAI_LE = 46;
  54. const SCRIPT_LINEAR_B = 47;
  55. const SCRIPT_UGARITIC = 48;
  56. const SCRIPT_SHAVIAN = 49;
  57. const SCRIPT_OSMANYA = 50;
  58. const SCRIPT_CYPRIOT = 51;
  59. const SCRIPT_BRAILLE = 52;
  60. const SCRIPT_BUGINESE = 53;
  61. const SCRIPT_COPTIC = 54;
  62. const SCRIPT_NEW_TAI_LUE = 55;
  63. const SCRIPT_GLAGOLITIC = 56;
  64. const SCRIPT_TIFINAGH = 57;
  65. const SCRIPT_SYLOTI_NAGRI = 58;
  66. const SCRIPT_OLD_PERSIAN = 59;
  67. const SCRIPT_KHAROSHTHI = 60;
  68. const SCRIPT_BALINESE = 61;
  69. const SCRIPT_CUNEIFORM = 62;
  70. const SCRIPT_PHOENICIAN = 63;
  71. const SCRIPT_PHAGS_PA = 64;
  72. const SCRIPT_NKO = 65;
  73. const SCRIPT_SUNDANESE = 66;
  74. const SCRIPT_LEPCHA = 67;
  75. const SCRIPT_OL_CHIKI = 68;
  76. const SCRIPT_VAI = 69;
  77. const SCRIPT_SAURASHTRA = 70;
  78. const SCRIPT_KAYAH_LI = 71;
  79. const SCRIPT_REJANG = 72;
  80. const SCRIPT_LYCIAN = 73;
  81. const SCRIPT_CARIAN = 74;
  82. const SCRIPT_LYDIAN = 75;
  83. const SCRIPT_CHAM = 76;
  84. const SCRIPT_TAI_THAM = 77;
  85. const SCRIPT_TAI_VIET = 78;
  86. const SCRIPT_AVESTAN = 79;
  87. const SCRIPT_EGYPTIAN_HIEROGLYPHS = 80;
  88. const SCRIPT_SAMARITAN = 81;
  89. const SCRIPT_LISU = 82;
  90. const SCRIPT_BAMUM = 83;
  91. const SCRIPT_JAVANESE = 84;
  92. const SCRIPT_MEETEI_MAYEK = 85;
  93. const SCRIPT_IMPERIAL_ARAMAIC = 86;
  94. const SCRIPT_OLD_SOUTH_ARABIAN = 87;
  95. const SCRIPT_INSCRIPTIONAL_PARTHIAN = 88;
  96. const SCRIPT_INSCRIPTIONAL_PAHLAVI = 89;
  97. const SCRIPT_OLD_TURKIC = 90;
  98. const SCRIPT_KAITHI = 91;
  99. const SCRIPT_BATAK = 92;
  100. const SCRIPT_BRAHMI = 93;
  101. const SCRIPT_MANDAIC = 94;
  102. const SCRIPT_CHAKMA = 95;
  103. const SCRIPT_MEROITIC_CURSIVE = 96;
  104. const SCRIPT_MEROITIC_HIEROGLYPHS = 97;
  105. const SCRIPT_MIAO = 98;
  106. const SCRIPT_SHARADA = 99;
  107. const SCRIPT_SORA_SOMPENG = 100;
  108. const SCRIPT_TAKRI = 101;
  109. const SCRIPT_UNKNOWN = 102;
  110. public static function get_ucd_record($code)
  111. {
  112. if ($code >= 0x110000)
  113. $index = 0;
  114. else {
  115. $index = self::$index0[$code >> (8)] << 5;
  116. $offset = ($code >> 3) & ((1 << 5) - 1);
  117. $index = self::$index1[$index + $offset] << 3;
  118. $offset = $code & ((1 << 3) - 1);
  119. $index = self::$index2[$index + $offset];
  120. }
  121. return self::$ucd_records[$index];
  122. }
  123. public static function get_general_category($code)
  124. {
  125. $ucd_record = self::get_ucd_record($code);
  126. return $ucd_record[0];
  127. }
  128. public static function get_combining_class($code)
  129. {
  130. $ucd_record = self::get_ucd_record($code);
  131. return $ucd_record[1];
  132. }
  133. public static function get_bidi_class($code)
  134. {
  135. $ucd_record = self::get_ucd_record($code);
  136. return $ucd_record[2];
  137. }
  138. public static function get_mirrored($code)
  139. {
  140. $ucd_record = self::get_ucd_record($code);
  141. return $ucd_record[3];
  142. }
  143. public static function get_east_asian_width($code)
  144. {
  145. $ucd_record = self::get_ucd_record($code);
  146. return $ucd_record[4];
  147. }
  148. public static function get_normalization_check($code)
  149. {
  150. $ucd_record = self::get_ucd_record($code);
  151. return $ucd_record[5];
  152. }
  153. public static function get_script($code)
  154. {
  155. $ucd_record = self::get_ucd_record($code);
  156. return $ucd_record[6];
  157. }
  158. // mPDF added
  159. public static $uni_scriptblock = array(
  160. /* SCRIPT_COMMON */ 0 => '',
  161. /* SCRIPT_LATIN */ 1 => 'latn',
  162. /* SCRIPT_GREEK */ 2 => 'grek',
  163. /* SCRIPT_CYRILLIC */ 3 => 'cyrl',
  164. /* SCRIPT_ARMENIAN */ 4 => 'armn',
  165. /* SCRIPT_HEBREW */ 5 => 'hebr',
  166. /* SCRIPT_ARABIC */ 6 => 'arab',
  167. /* SCRIPT_SYRIAC */ 7 => 'syrc',
  168. /* SCRIPT_THAANA */ 8 => 'thaa',
  169. /* SCRIPT_DEVANAGARI */ 9 => 'dev2',
  170. /* SCRIPT_BENGALI */ 10 => 'bng2',
  171. /* SCRIPT_GURMUKHI */ 11 => 'gur2',
  172. /* SCRIPT_GUJARATI */ 12 => 'gjr2',
  173. /* SCRIPT_ORIYA */ 13 => 'ory2',
  174. /* SCRIPT_TAMIL */ 14 => 'tml2',
  175. /* SCRIPT_TELUGU */ 15 => 'tel2',
  176. /* SCRIPT_KANNADA */ 16 => 'knd2',
  177. /* SCRIPT_MALAYALAM */ 17 => 'mlm2',
  178. /* SCRIPT_SINHALA */ 18 => 'sinh',
  179. /* SCRIPT_THAI */ 19 => 'thai',
  180. /* SCRIPT_LAO */ 20 => 'lao ',
  181. /* SCRIPT_TIBETAN */ 21 => 'tibt',
  182. /* SCRIPT_MYANMAR */ 22 => 'mym2',
  183. /* SCRIPT_GEORGIAN */ 23 => 'geor',
  184. /* SCRIPT_HANGUL */ 24 => 'jamo', /* there is also a hang tag, but we want to activate jamo features if present */
  185. /* SCRIPT_ETHIOPIC */ 25 => 'ethi',
  186. /* SCRIPT_CHEROKEE */ 26 => 'cher',
  187. /* SCRIPT_CANADIAN_ABORIGINAL */ 27 => 'cans',
  188. /* SCRIPT_OGHAM */ 28 => 'ogam',
  189. /* SCRIPT_RUNIC */ 29 => 'runr',
  190. /* SCRIPT_KHMER */ 30 => 'khmr',
  191. /* SCRIPT_MONGOLIAN */ 31 => 'mong',
  192. /* SCRIPT_HIRAGANA */ 32 => 'kana',
  193. /* SCRIPT_KATAKANA */ 33 => 'kana',
  194. /* SCRIPT_BOPOMOFO */ 34 => 'bopo',
  195. /* SCRIPT_HAN */ 35 => 'hani',
  196. /* SCRIPT_YI */ 36 => 'yi ',
  197. /* SCRIPT_OLD_ITALIC */ 37 => 'ital',
  198. /* SCRIPT_GOTHIC */ 38 => 'goth',
  199. /* SCRIPT_DESERET */ 39 => 'dsrt',
  200. /* SCRIPT_INHERITED */ 40 => '',
  201. /* SCRIPT_TAGALOG */ 41 => 'tglg',
  202. /* SCRIPT_HANUNOO */ 42 => 'hano',
  203. /* SCRIPT_BUHID */ 43 => 'buhd',
  204. /* SCRIPT_TAGBANWA */ 44 => 'tagb',
  205. /* SCRIPT_LIMBU */ 45 => 'limb',
  206. /* SCRIPT_TAI_LE */ 46 => 'tale',
  207. /* SCRIPT_LINEAR_B */ 47 => 'linb',
  208. /* SCRIPT_UGARITIC */ 48 => 'ugar',
  209. /* SCRIPT_SHAVIAN */ 49 => 'shaw',
  210. /* SCRIPT_OSMANYA */ 50 => 'osma',
  211. /* SCRIPT_CYPRIOT */ 51 => 'cprt',
  212. /* SCRIPT_BRAILLE */ 52 => 'brai',
  213. /* SCRIPT_BUGINESE */ 53 => 'bugi',
  214. /* SCRIPT_COPTIC */ 54 => 'copt',
  215. /* SCRIPT_NEW_TAI_LUE */ 55 => 'talu',
  216. /* SCRIPT_GLAGOLITIC */ 56 => 'glag',
  217. /* SCRIPT_TIFINAGH */ 57 => 'tfng',
  218. /* SCRIPT_SYLOTI_NAGRI */ 58 => 'sylo',
  219. /* SCRIPT_OLD_PERSIAN */ 59 => 'xpeo',
  220. /* SCRIPT_KHAROSHTHI */ 60 => 'khar',
  221. /* SCRIPT_BALINESE */ 61 => 'bali',
  222. /* SCRIPT_CUNEIFORM */ 62 => 'xsux',
  223. /* SCRIPT_PHOENICIAN */ 63 => 'phnx',
  224. /* SCRIPT_PHAGS_PA */ 64 => 'phag',
  225. /* SCRIPT_NKO */ 65 => 'nko ',
  226. /* SCRIPT_SUNDANESE */ 66 => 'sund',
  227. /* SCRIPT_LEPCHA */ 67 => 'lepc',
  228. /* SCRIPT_OL_CHIKI */ 68 => 'olck',
  229. /* SCRIPT_VAI */ 69 => 'vai ',
  230. /* SCRIPT_SAURASHTRA */ 70 => 'saur',
  231. /* SCRIPT_KAYAH_LI */ 71 => 'kali',
  232. /* SCRIPT_REJANG */ 72 => 'rjng',
  233. /* SCRIPT_LYCIAN */ 73 => 'lyci',
  234. /* SCRIPT_CARIAN */ 74 => 'cari',
  235. /* SCRIPT_LYDIAN */ 75 => 'lydi',
  236. /* SCRIPT_CHAM */ 76 => 'cham',
  237. /* SCRIPT_TAI_THAM */ 77 => 'lana',
  238. /* SCRIPT_TAI_VIET */ 78 => 'tavt',
  239. /* SCRIPT_AVESTAN */ 79 => 'avst',
  240. /* SCRIPT_EGYPTIAN_HIEROGLYPHS */ 80 => 'egyp',
  241. /* SCRIPT_SAMARITAN */ 81 => 'samr',
  242. /* SCRIPT_LISU */ 82 => 'lisu',
  243. /* SCRIPT_BAMUM */ 83 => 'bamu',
  244. /* SCRIPT_JAVANESE */ 84 => 'java',
  245. /* SCRIPT_MEETEI_MAYEK */ 85 => 'mtei',
  246. /* SCRIPT_IMPERIAL_ARAMAIC */ 86 => 'armi',
  247. /* SCRIPT_OLD_SOUTH_ARABIAN */ 87 => 'sarb',
  248. /* SCRIPT_INSCRIPTIONAL_PARTHIAN */ 88 => 'prti',
  249. /* SCRIPT_INSCRIPTIONAL_PAHLAVI */ 89 => 'phli',
  250. /* SCRIPT_OLD_TURKIC */ 90 => 'orkh',
  251. /* SCRIPT_KAITHI */ 91 => 'kthi',
  252. /* SCRIPT_BATAK */ 92 => 'batk',
  253. /* SCRIPT_BRAHMI */ 93 => 'brah',
  254. /* SCRIPT_MANDAIC */ 94 => 'mand',
  255. /* SCRIPT_CHAKMA */ 95 => 'cakm',
  256. /* SCRIPT_MEROITIC_CURSIVE */ 96 => 'merc',
  257. /* SCRIPT_MEROITIC_HIEROGLYPHS */ 97 => 'mero',
  258. /* SCRIPT_MIAO */ 98 => 'plrd',
  259. /* SCRIPT_SHARADA */ 99 => 'shrd',
  260. /* SCRIPT_SORA_SOMPENG */ 100 => 'sora',
  261. /* SCRIPT_TAKRI */ 101 => 'takr',
  262. /* SCRIPT_UNKNOWN */ 102 => '',
  263. );
  264. public static $ot_languages = array(
  265. 'aa' => 'AFR ', /* Afar */
  266. 'ab' => 'ABK ', /* Abkhazian */
  267. 'abq' => 'ABA ', /* Abaza */
  268. 'ada' => 'DNG ', /* Dangme */
  269. 'ady' => 'ADY ', /* Adyghe */
  270. 'af' => 'AFK ', /* Afrikaans */
  271. 'aii' => 'SWA ', /* Swadaya Aramaic */
  272. 'aiw' => 'ARI ', /* Aari */
  273. 'alt' => 'ALT ', /* [Southern] Altai */
  274. 'am' => 'AMH ', /* Amharic */
  275. 'amf' => 'HBN ', /* Hammer-Banna */
  276. 'ar' => 'ARA ', /* Arabic */
  277. 'arn' => 'MAP ', /* Mapudungun */
  278. 'as' => 'ASM ', /* Assamese */
  279. 'ath' => 'ATH ', /* Athapaskan [family] */
  280. 'atv' => 'ALT ', /* [Northern] Altai */
  281. 'av' => 'AVR ', /* Avaric */
  282. 'awa' => 'AWA ', /* Awadhi */
  283. 'ay' => 'AYM ', /* Aymara */
  284. 'az' => 'AZE ', /* Azerbaijani */
  285. 'ba' => 'BSH ', /* Bashkir */
  286. 'bai' => 'BML ', /* Bamileke [family] */
  287. 'bal' => 'BLI ', /* Baluchi */
  288. 'bci' => 'BAU ', /* Baule */
  289. 'bcq' => 'BCH ', /* Bench */
  290. 'be' => 'BEL ', /* Belarussian */
  291. 'bem' => 'BEM ', /* Bemba (Zambia) */
  292. 'ber' => 'BER ', /* Berber [family] */
  293. 'bfq' => 'BAD ', /* Badaga */
  294. 'bft' => 'BLT ', /* Balti */
  295. 'bfy' => 'BAG ', /* Baghelkhandi */
  296. 'bg' => 'BGR ', /* Bulgarian */
  297. 'bhb' => 'BHI ', /* Bhili */
  298. 'bho' => 'BHO ', /* Bhojpuri */
  299. 'bik' => 'BIK ', /* Bikol */
  300. 'bin' => 'EDO ', /* Bini */
  301. 'bjt' => 'BLN ', /* Balanta-Ganja */
  302. 'bla' => 'BKF ', /* Blackfoot */
  303. 'ble' => 'BLN ', /* Balanta-Kentohe */
  304. 'bm' => 'BMB ', /* Bambara */
  305. 'bn' => 'BEN ', /* Bengali */
  306. 'bo' => 'TIB ', /* Tibetan */
  307. 'br' => 'BRE ', /* Breton */
  308. 'bra' => 'BRI ', /* Braj Bhasha */
  309. 'brh' => 'BRH ', /* Brahui */
  310. 'bs' => 'BOS ', /* Bosnian */
  311. 'btb' => 'BTI ', /* Beti (Cameroon) */
  312. 'bxr' => 'RBU ', /* Russian Buriat */
  313. 'byn' => 'BIL ', /* Bilen */
  314. 'ca' => 'CAT ', /* Catalan */
  315. 'ce' => 'CHE ', /* Chechen */
  316. 'ceb' => 'CEB ', /* Cebuano */
  317. 'chp' => 'CHP ', /* Chipewyan */
  318. 'chr' => 'CHR ', /* Cherokee */
  319. 'ckt' => 'CHK ', /* Chukchi */
  320. 'cop' => 'COP ', /* Coptic */
  321. 'cr' => 'CRE ', /* Cree */
  322. 'crh' => 'CRT ', /* Crimean Tatar */
  323. 'crj' => 'ECR ', /* [Southern] East Cree */
  324. 'crl' => 'ECR ', /* [Northern] East Cree */
  325. 'crm' => 'MCR ', /* Moose Cree */
  326. 'crx' => 'CRR ', /* Carrier */
  327. 'cs' => 'CSY ', /* Czech */
  328. 'cu' => 'CSL ', /* Church Slavic */
  329. 'cv' => 'CHU ', /* Chuvash */
  330. 'cwd' => 'DCR ', /* Woods Cree */
  331. 'cy' => 'WEL ', /* Welsh */
  332. 'da' => 'DAN ', /* Danish */
  333. 'dap' => 'NIS ', /* Nisi (India) */
  334. 'dar' => 'DAR ', /* Dargwa */
  335. 'de' => 'DEU ', /* German */
  336. 'din' => 'DNK ', /* Dinka */
  337. 'dje' => 'DJR ', /* Djerma */
  338. 'dng' => 'DUN ', /* Dungan */
  339. 'doi' => 'DGR ', /* Dogri */
  340. 'dsb' => 'LSB ', /* Lower Sorbian */
  341. 'dv' => 'DIV ', /* Dhivehi */
  342. 'dyu' => 'JUL ', /* Jula */
  343. 'dz' => 'DZN ', /* Dzongkha */
  344. 'ee' => 'EWE ', /* Ewe */
  345. 'efi' => 'EFI ', /* Efik */
  346. 'el' => 'ELL ', /* Modern Greek (1453-) */
  347. 'grc' => 'PGR ', /* Polytonic Greek */
  348. 'en' => 'ENG ', /* English */
  349. 'eo' => 'NTO ', /* Esperanto */
  350. 'eot' => 'BTI ', /* Beti (Côte d'Ivoire) */
  351. 'es' => 'ESP ', /* Spanish */
  352. 'et' => 'ETI ', /* Estonian */
  353. 'eu' => 'EUQ ', /* Basque */
  354. 'eve' => 'EVN ', /* Even */
  355. 'evn' => 'EVK ', /* Evenki */
  356. 'fa' => 'FAR ', /* Persian */
  357. 'ff' => 'FUL ', /* Fulah */
  358. 'fi' => 'FIN ', /* Finnish */
  359. 'fil' => 'PIL ', /* Filipino */
  360. 'fj' => 'FJI ', /* Fijian */
  361. 'fo' => 'FOS ', /* Faroese */
  362. 'fon' => 'FON ', /* Fon */
  363. 'fr' => 'FRA ', /* French */
  364. 'fur' => 'FRL ', /* Friulian */
  365. 'fy' => 'FRI ', /* Western Frisian */
  366. 'ga' => 'IRI ', /* Irish */
  367. 'gaa' => 'GAD ', /* Ga */
  368. 'gag' => 'GAG ', /* Gagauz */
  369. 'gbm' => 'GAW ', /* Garhwali */
  370. 'gd' => 'GAE ', /* Scottish Gaelic */
  371. 'gez' => 'GEZ ', /* Ge'ez */
  372. 'gl' => 'GAL ', /* Galician */
  373. 'gld' => 'NAN ', /* Nanai */
  374. 'gn' => 'GUA ', /* Guarani */
  375. 'gon' => 'GON ', /* Gondi */
  376. 'grt' => 'GRO ', /* Garo */
  377. 'gru' => 'SOG ', /* Sodo Gurage */
  378. 'gu' => 'GUJ ', /* Gujarati */
  379. 'guk' => 'GMZ ', /* Gumuz */
  380. 'gv' => 'MNX ', /* Manx Gaelic */
  381. 'ha' => 'HAU ', /* Hausa */
  382. 'har' => 'HRI ', /* Harari */
  383. 'haw' => 'HAW ', /* Hawaiin */
  384. 'he' => 'IWR ', /* Hebrew */
  385. 'hi' => 'HIN ', /* Hindi */
  386. 'hil' => 'HIL ', /* Hiligaynon */
  387. 'hnd' => 'HND ', /* [Southern] Hindko */
  388. 'hne' => 'CHH ', /* Chattisgarhi */
  389. 'hno' => 'HND ', /* [Northern] Hindko */
  390. 'hoc' => 'HO ', /* Ho */
  391. 'hoj' => 'HAR ', /* Harauti */
  392. 'hr' => 'HRV ', /* Croatian */
  393. 'hsb' => 'USB ', /* Upper Sorbian */
  394. 'ht' => 'HAI ', /* Haitian */
  395. 'hu' => 'HUN ', /* Hungarian */
  396. 'hy' => 'HYE ', /* Armenian */
  397. 'id' => 'IND ', /* Indonesian */
  398. 'ig' => 'IBO ', /* Igbo */
  399. 'igb' => 'EBI ', /* Ebira */
  400. 'ijo' => 'IJO ', /* Ijo [family] */
  401. 'ilo' => 'ILO ', /* Ilokano */
  402. 'inh' => 'ING ', /* Ingush */
  403. 'is' => 'ISL ', /* Icelandic */
  404. 'it' => 'ITA ', /* Italian */
  405. 'iu' => 'INU ', /* Inuktitut */
  406. 'ja' => 'JAN ', /* Japanese */
  407. 'jv' => 'JAV ', /* Javanese */
  408. 'ka' => 'KAT ', /* Georgian */
  409. 'kaa' => 'KRK ', /* Karakalpak */
  410. 'kam' => 'KMB ', /* Kamba (Kenya) */
  411. 'kar' => 'KRN ', /* Karen [family] */
  412. 'kbd' => 'KAB ', /* Kabardian */
  413. 'kdr' => 'KRM ', /* Karaim */
  414. 'kdt' => 'KUY ', /* Kuy */
  415. 'kex' => 'KKN ', /* Kokni */
  416. 'kfr' => 'KAC ', /* Kachchi */
  417. 'kfy' => 'KMN ', /* Kumaoni */
  418. 'kha' => 'KSI ', /* Khasi */
  419. 'khb' => 'XBD ', /* Tai Lue */
  420. 'khw' => 'KHW ', /* Khowar */
  421. 'ki' => 'KIK ', /* Kikuyu */
  422. 'kjh' => 'KHA ', /* Khakass */
  423. 'kk' => 'KAZ ', /* Kazakh */
  424. 'kl' => 'GRN ', /* Kalaallisut */
  425. 'kln' => 'KAL ', /* Kalenjin */
  426. 'km' => 'KHM ', /* Central Khmer */
  427. 'kmb' => 'MBN ', /* [North] Mbundu */
  428. 'kmw' => 'KMO ', /* Komo (Democratic Republic of Congo) */
  429. 'kn' => 'KAN ', /* Kannada */
  430. 'ko' => 'KOR ', /* Korean */
  431. 'koi' => 'KOP ', /* Komi-Permyak */
  432. 'kok' => 'KOK ', /* Konkani */
  433. 'kpe' => 'KPL ', /* Kpelle */
  434. 'kpv' => 'KOZ ', /* Komi-Zyrian */
  435. 'kpy' => 'KYK ', /* Koryak */
  436. 'kqy' => 'KRT ', /* Koorete */
  437. 'kr' => 'KNR ', /* Kanuri */
  438. 'kri' => 'KRI ', /* Krio */
  439. 'krl' => 'KRL ', /* Karelian */
  440. 'kru' => 'KUU ', /* Kurukh */
  441. 'ks' => 'KSH ', /* Kashmiri */
  442. 'ku' => 'KUR ', /* Kurdish */
  443. 'kum' => 'KUM ', /* Kumyk */
  444. 'kvd' => 'KUI ', /* Kui (Indonesia) */
  445. 'kxc' => 'KMS ', /* Komso */
  446. 'kxu' => 'KUI ', /* Kui (India) */
  447. 'ky' => 'KIR ', /* Kirghiz */
  448. 'la' => 'LAT ', /* Latin */
  449. 'lad' => 'JUD ', /* Ladino */
  450. 'lb' => 'LTZ ', /* Luxembourgish */
  451. 'lbe' => 'LAK ', /* Lak */
  452. 'lbj' => 'LDK ', /* Ladakhi */
  453. 'lez' => 'LEZ ', /* Lezgi */
  454. 'lg' => 'LUG ', /* Luganda */
  455. 'lif' => 'LMB ', /* Limbu */
  456. 'lld' => 'LAD ', /* Ladin */
  457. 'lmn' => 'LAM ', /* Lambani */
  458. 'ln' => 'LIN ', /* Lingala */
  459. 'lo' => 'LAO ', /* Lao */
  460. 'lt' => 'LTH ', /* Lithuanian */
  461. 'lu' => 'LUB ', /* Luba-Katanga */
  462. 'lua' => 'LUB ', /* Luba-Kasai */
  463. 'luo' => 'LUO ', /* Luo (Kenya and Tanzania) */
  464. 'lus' => 'MIZ ', /* Mizo */
  465. 'luy' => 'LUH ', /* Luhya [macrolanguage] */
  466. 'lv' => 'LVI ', /* Latvian */
  467. 'lzz' => 'LAZ ', /* Laz */
  468. 'mai' => 'MTH ', /* Maithili */
  469. 'mdc' => 'MLE ', /* Male (Papua New Guinea) */
  470. 'mdf' => 'MOK ', /* Moksha */
  471. 'mdy' => 'MLE ', /* Male (Ethiopia) */
  472. 'men' => 'MDE ', /* Mende (Sierra Leone) */
  473. 'mg' => 'MLG ', /* Malagasy */
  474. 'mhr' => 'LMA ', /* Low Mari */
  475. 'mi' => 'MRI ', /* Maori */
  476. 'mk' => 'MKD ', /* Macedonian */
  477. 'ml' => 'MLR ', /* Malayalam reformed (MAL is Malayalam Traditional) */
  478. 'mn' => 'MNG ', /* Mongolian */
  479. 'mnc' => 'MCH ', /* Manchu */
  480. 'mni' => 'MNI ', /* Manipuri */
  481. 'mnk' => 'MND ', /* Mandinka */
  482. 'mns' => 'MAN ', /* Mansi */
  483. 'mnw' => 'MON ', /* Mon */
  484. 'mo' => 'MOL ', /* Moldavian */
  485. 'moh' => 'MOH ', /* Mohawk */
  486. 'mpe' => 'MAJ ', /* Majang */
  487. 'mr' => 'MAR ', /* Marathi */
  488. 'mrj' => 'HMA ', /* High Mari */
  489. 'ms' => 'MLY ', /* Malay */
  490. 'mt' => 'MTS ', /* Maltese */
  491. 'mwr' => 'MAW ', /* Marwari */
  492. 'my' => 'BRM ', /* Burmese */
  493. 'mym' => 'MEN ', /* Me'en */
  494. 'myv' => 'ERZ ', /* Erzya */
  495. 'nag' => 'NAG ', /* Naga-Assamese */
  496. 'nb' => 'NOR ', /* Norwegian Bokmål */
  497. 'nco' => 'SIB ', /* Sibe */
  498. 'nd' => 'NDB ', /* [North] Ndebele */
  499. 'ne' => 'NEP ', /* Nepali */
  500. 'new' => 'NEW ', /* Newari */
  501. 'ng' => 'NDG ', /* Ndonga */
  502. 'ngl' => 'LMW ', /* Lomwe */
  503. 'niu' => 'NIU ', /* Niuean */
  504. 'niv' => 'GIL ', /* Gilyak */
  505. 'nl' => 'NLD ', /* Dutch */
  506. 'nn' => 'NYN ', /* Norwegian Nynorsk */
  507. 'no' => 'NOR ', /* Norwegian (deprecated) */
  508. 'nod' => 'NTA ', /* Northern Tai */
  509. 'nog' => 'NOG ', /* Nogai */
  510. 'nqo' => 'NKO ', /* N'Ko */
  511. 'nr' => 'NDB ', /* [South] Ndebele */
  512. 'nsk' => 'NAS ', /* Naskapi */
  513. 'nso' => 'SOT ', /* [Northern] Sotho */
  514. 'ny' => 'CHI ', /* Nyanja */
  515. 'nyn' => 'NKL ', /* Nkole */
  516. 'oc' => 'OCI ', /* Occitan (post 1500) */
  517. 'oj' => 'OJB ', /* Ojibwa */
  518. 'ojs' => 'OCR ', /* Oji-Cree */
  519. 'om' => 'ORO ', /* Oromo */
  520. 'or' => 'ORI ', /* Oriya */
  521. 'os' => 'OSS ', /* Ossetian */
  522. 'pa' => 'PAN ', /* Panjabi */
  523. 'pce' => 'PLG ', /* [Ruching] Palaung */
  524. 'pi' => 'PAL ', /* Pali */
  525. 'pl' => 'PLK ', /* Polish */
  526. 'pll' => 'PLG ', /* [Shwe] Palaung */
  527. 'plp' => 'PAP ', /* Palpa */
  528. 'prs' => 'DRI ', /* Dari */
  529. 'ps' => 'PAS ', /* Pushto */
  530. 'pt' => 'PTG ', /* Portuguese */
  531. 'raj' => 'RAJ ', /* Rajasthani */
  532. 'rbb' => 'PLG ', /* [Rumai] Palaung */
  533. 'ria' => 'RIA ', /* Riang (India) */
  534. 'ril' => 'RIA ', /* Riang (Myanmar) */
  535. 'rki' => 'ARK ', /* Arakanese */
  536. 'rm' => 'RMS ', /* Rhaeto-Romanic */
  537. 'ro' => 'ROM ', /* Romanian */
  538. 'rom' => 'ROY ', /* Romany */
  539. 'ru' => 'RUS ', /* Russian */
  540. 'rue' => 'RSY ', /* Rusyn */
  541. 'rw' => 'RUA ', /* Ruanda */
  542. 'sa' => 'SAN ', /* Sanskrit */
  543. 'sah' => 'YAK ', /* Yakut */
  544. 'sat' => 'SAT ', /* Santali */
  545. 'sck' => 'SAD ', /* Sadri */
  546. 'scs' => 'SLA ', /* [North] Slavey */
  547. 'sd' => 'SND ', /* Sindhi */
  548. 'se' => 'NSM ', /* Northern Sami */
  549. 'seh' => 'SNA ', /* Sena */
  550. 'sel' => 'SEL ', /* Selkup */
  551. 'sg' => 'SGO ', /* Sango */
  552. 'shn' => 'SHN ', /* Shan */
  553. 'si' => 'SNH ', /* Sinhala */
  554. 'sid' => 'SID ', /* Sidamo */
  555. 'sjd' => 'KSM ', /* Kildin Sami */
  556. 'sk' => 'SKY ', /* Slovak */
  557. 'skr' => 'SRK ', /* Seraiki */
  558. 'sl' => 'SLV ', /* Slovenian */
  559. 'sm' => 'SMO ', /* Samoan */
  560. 'sma' => 'SSM ', /* Southern Sami */
  561. 'smj' => 'LSM ', /* Lule Sami */
  562. 'smn' => 'ISM ', /* Inari Sami */
  563. 'sms' => 'SKS ', /* Skolt Sami */
  564. 'snk' => 'SNK ', /* Soninke */
  565. 'so' => 'SML ', /* Somali */
  566. 'sq' => 'SQI ', /* Albanian */
  567. 'sr' => 'SRB ', /* Serbian */
  568. 'srr' => 'SRR ', /* Serer */
  569. 'ss' => 'SWZ ', /* Swazi */
  570. 'st' => 'SOT ', /* [Southern] Sotho */
  571. 'suq' => 'SUR ', /* Suri */
  572. 'sv' => 'SVE ', /* Swedish */
  573. 'sva' => 'SVA ', /* Svan */
  574. 'sw' => 'SWK ', /* Swahili */
  575. 'swb' => 'CMR ', /* Comorian */
  576. 'syr' => 'SYR ', /* Syriac */
  577. 'ta' => 'TAM ', /* Tamil */
  578. 'tab' => 'TAB ', /* Tabasaran */
  579. 'tcy' => 'TUL ', /* Tulu */
  580. 'te' => 'TEL ', /* Telugu */
  581. 'tem' => 'TMN ', /* Temne */
  582. 'tg' => 'TAJ ', /* Tajik */
  583. 'th' => 'THA ', /* Thai */
  584. 'ti' => 'TGY ', /* Tigrinya */
  585. 'tig' => 'TGR ', /* Tigre */
  586. 'tk' => 'TKM ', /* Turkmen */
  587. 'tn' => 'TNA ', /* Tswana */
  588. 'to' => 'TGN ', /* Tonga (Tonga Islands) */
  589. 'tr' => 'TRK ', /* Turkish */
  590. 'tru' => 'TUA ', /* Turoyo Aramaic */
  591. 'ts' => 'TSG ', /* Tsonga */
  592. 'tt' => 'TAT ', /* Tatar */
  593. 'tw' => 'TWI ', /* Twi */
  594. 'ty' => 'THT ', /* Tahitian */
  595. 'tyv' => 'TUV ', /* Tuvin */
  596. 'udm' => 'UDM ', /* Udmurt */
  597. 'ug' => 'UYG ', /* Uighur */
  598. 'uk' => 'UKR ', /* Ukrainian */
  599. 'umb' => 'MBN ', /* [South] Mbundu */
  600. 'unr' => 'MUN ', /* Mundari */
  601. 'ur' => 'URD ', /* Urdu */
  602. 'uz' => 'UZB ', /* Uzbek */
  603. 've' => 'VEN ', /* Venda */
  604. 'vi' => 'VIT ', /* Vietnamese */
  605. 'vmw' => 'MAK ', /* Makua */
  606. 'wbm' => 'WA ', /* Wa */
  607. 'wbr' => 'WAG ', /* Wagdi */
  608. 'wo' => 'WLF ', /* Wolof */
  609. 'xal' => 'KLM ', /* Kalmyk */
  610. 'xh' => 'XHS ', /* Xhosa */
  611. 'xom' => 'KMO ', /* Komo (Sudan) */
  612. 'xsl' => 'SSL ', /* South Slavey */
  613. 'yi' => 'JII ', /* Yiddish */
  614. 'yid' => 'JII ', /* Yiddish */
  615. 'yo' => 'YBA ', /* Yoruba */
  616. 'yso' => 'NIS ', /* Nisi (China) */
  617. 'zne' => 'ZND ', /* Zande */
  618. 'zu' => 'ZUL ', /* Zulu */
  619. 'zh-cn' => 'ZHS ', /* Chinese (China) */
  620. 'zh-hk' => 'ZHH ', /* Chinese (Hong Kong) */
  621. 'zh-mo' => 'ZHT ', /* Chinese (Macao) */
  622. 'zh-sg' => 'ZHS ', /* Chinese (Singapore) */
  623. 'zh-tw' => 'ZHT ', /* Chinese (Taiwan) */
  624. );
  625. // hb-unicode.h
  626. const UNICODE_GENERAL_CATEGORY_CONTROL = 0; /* Cc */
  627. const UNICODE_GENERAL_CATEGORY_FORMAT = 1; /* Cf */
  628. const UNICODE_GENERAL_CATEGORY_UNASSIGNED = 2; /* Cn */
  629. const UNICODE_GENERAL_CATEGORY_PRIVATE_USE = 3; /* Co */
  630. const UNICODE_GENERAL_CATEGORY_SURROGATE = 4; /* Cs */
  631. const UNICODE_GENERAL_CATEGORY_LOWERCASE_LETTER = 5; /* Ll */
  632. const UNICODE_GENERAL_CATEGORY_MODIFIER_LETTER = 6; /* Lm */
  633. const UNICODE_GENERAL_CATEGORY_OTHER_LETTER = 7; /* Lo */
  634. const UNICODE_GENERAL_CATEGORY_TITLECASE_LETTER = 8; /* Lt */
  635. const UNICODE_GENERAL_CATEGORY_UPPERCASE_LETTER = 9; /* Lu */
  636. const UNICODE_GENERAL_CATEGORY_SPACING_MARK = 10; /* Mc */
  637. const UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK = 11; /* Me */
  638. const UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK = 12; /* Mn */
  639. const UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER = 13; /* Nd */
  640. const UNICODE_GENERAL_CATEGORY_LETTER_NUMBER = 14; /* Nl */
  641. const UNICODE_GENERAL_CATEGORY_OTHER_NUMBER = 15; /* No */
  642. const UNICODE_GENERAL_CATEGORY_CONNECT_PUNCTUATION = 16; /* Pc */
  643. const UNICODE_GENERAL_CATEGORY_DASH_PUNCTUATION = 17; /* Pd */
  644. const UNICODE_GENERAL_CATEGORY_CLOSE_PUNCTUATION = 18; /* Pe */
  645. const UNICODE_GENERAL_CATEGORY_FINAL_PUNCTUATION = 19; /* Pf */
  646. const UNICODE_GENERAL_CATEGORY_INITIAL_PUNCTUATION = 20; /* Pi */
  647. const UNICODE_GENERAL_CATEGORY_OTHER_PUNCTUATION = 21; /* Po */
  648. const UNICODE_GENERAL_CATEGORY_OPEN_PUNCTUATION = 22; /* Ps */
  649. const UNICODE_GENERAL_CATEGORY_CURRENCY_SYMBOL = 23; /* Sc */
  650. const UNICODE_GENERAL_CATEGORY_MODIFIER_SYMBOL = 24; /* Sk */
  651. const UNICODE_GENERAL_CATEGORY_MATH_SYMBOL = 25; /* Sm */
  652. const UNICODE_GENERAL_CATEGORY_OTHER_SYMBOL = 26; /* So */
  653. const UNICODE_GENERAL_CATEGORY_LINE_SEPARATOR = 27; /* Zl */
  654. const UNICODE_GENERAL_CATEGORY_PARAGRAPH_SEPARATOR = 28; /* Zp */
  655. const UNICODE_GENERAL_CATEGORY_SPACE_SEPARATOR = 29; /* Zs */
  656. function general_category_is_mark($gen_cat)
  657. {
  658. if ($gen_cat == UNICODE_GENERAL_CATEGORY_SPACING_MARK || $gen_cat == UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK ||
  659. $gen_cat == UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK) {
  660. return true;
  661. }
  662. return false;
  663. // define UNICODE_GENERAL_CATEGORY_IS_MARK(gen_cat)
  664. //if (FLAG(gen_cat) & (FLAG(UNICODE_GENERAL_CATEGORY_SPACING_MARK) | FLAG(UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK) | FLAG(UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK))) { return true; }
  665. }
  666. const BIDI_CLASS_L = 0;
  667. const BIDI_CLASS_LRE = 1;
  668. const BIDI_CLASS_LRO = 2;
  669. const BIDI_CLASS_R = 3;
  670. const BIDI_CLASS_AL = 4;
  671. const BIDI_CLASS_RLE = 5;
  672. const BIDI_CLASS_RLO = 6;
  673. const BIDI_CLASS_PDF = 7;
  674. const BIDI_CLASS_EN = 8;
  675. const BIDI_CLASS_ES = 9;
  676. const BIDI_CLASS_ET = 10;
  677. const BIDI_CLASS_AN = 11;
  678. const BIDI_CLASS_CS = 12;
  679. const BIDI_CLASS_NSM = 13;
  680. const BIDI_CLASS_BN = 14;
  681. const BIDI_CLASS_B = 15;
  682. const BIDI_CLASS_S = 16;
  683. const BIDI_CLASS_WS = 17;
  684. const BIDI_CLASS_ON = 18;
  685. // UNIDATA_VERSION 6.2.0
  686. /* a list of unique database records */
  687. /* struct {
  688. category;
  689. combining;
  690. bidi_class;
  691. mirrored;
  692. east_asian_width;
  693. normalization_check;
  694. script;
  695. }
  696. */
  697. private static $ucd_records = array(
  698. array(2, 0, 18, 0, 5, 0, 102),
  699. array(0, 0, 14, 0, 5, 0, 0),
  700. array(0, 0, 16, 0, 5, 0, 0),
  701. array(0, 0, 15, 0, 5, 0, 0),
  702. array(0, 0, 17, 0, 5, 0, 0),
  703. array(29, 0, 17, 0, 3, 0, 0),
  704. array(21, 0, 18, 0, 3, 0, 0),
  705. array(21, 0, 10, 0, 3, 0, 0),
  706. array(23, 0, 10, 0, 3, 0, 0),
  707. array(22, 0, 18, 1, 3, 0, 0),
  708. array(18, 0, 18, 1, 3, 0, 0),
  709. array(25, 0, 9, 0, 3, 0, 0),
  710. array(21, 0, 12, 0, 3, 0, 0),
  711. array(17, 0, 9, 0, 3, 0, 0),
  712. array(13, 0, 8, 0, 3, 0, 0),
  713. array(25, 0, 18, 1, 3, 0, 0),
  714. array(25, 0, 18, 0, 3, 0, 0),
  715. array(9, 0, 0, 0, 3, 0, 1),
  716. array(24, 0, 18, 0, 3, 0, 0),
  717. array(16, 0, 18, 0, 3, 0, 0),
  718. array(5, 0, 0, 0, 3, 0, 1),
  719. array(29, 0, 12, 0, 5, 0, 0),
  720. array(21, 0, 18, 0, 4, 0, 0),
  721. array(23, 0, 10, 0, 4, 0, 0),
  722. array(26, 0, 18, 0, 3, 0, 0),
  723. array(24, 0, 18, 0, 4, 0, 0),
  724. array(26, 0, 18, 0, 5, 0, 0),
  725. array(7, 0, 0, 0, 4, 0, 1),
  726. array(20, 0, 18, 1, 5, 0, 0),
  727. array(1, 0, 14, 0, 4, 0, 0),
  728. array(26, 0, 18, 0, 4, 0, 0),
  729. array(26, 0, 10, 0, 4, 0, 0),
  730. array(25, 0, 10, 0, 4, 0, 0),
  731. array(15, 0, 8, 0, 4, 0, 0),
  732. array(5, 0, 0, 0, 5, 0, 0),
  733. array(19, 0, 18, 1, 5, 0, 0),
  734. array(15, 0, 18, 0, 4, 0, 0),
  735. array(9, 0, 0, 0, 5, 0, 1),
  736. array(9, 0, 0, 0, 4, 0, 1),
  737. array(25, 0, 18, 0, 4, 0, 0),
  738. array(5, 0, 0, 0, 4, 0, 1),
  739. array(5, 0, 0, 0, 5, 0, 1),
  740. array(7, 0, 0, 0, 5, 0, 1),
  741. array(8, 0, 0, 0, 5, 0, 1),
  742. array(6, 0, 0, 0, 5, 0, 1),
  743. array(6, 0, 18, 0, 5, 0, 0),
  744. array(6, 0, 0, 0, 5, 0, 0),
  745. array(24, 0, 18, 0, 5, 0, 0),
  746. array(6, 0, 18, 0, 4, 0, 0),
  747. array(6, 0, 0, 0, 4, 0, 0),
  748. array(24, 0, 18, 0, 5, 0, 34),
  749. array(12, 230, 13, 0, 4, 0, 40),
  750. array(12, 232, 13, 0, 4, 0, 40),
  751. array(12, 220, 13, 0, 4, 0, 40),
  752. array(12, 216, 13, 0, 4, 0, 40),
  753. array(12, 202, 13, 0, 4, 0, 40),
  754. array(12, 1, 13, 0, 4, 0, 40),
  755. array(12, 240, 13, 0, 4, 0, 40),
  756. array(12, 0, 13, 0, 4, 0, 40),
  757. array(12, 233, 13, 0, 4, 0, 40),
  758. array(12, 234, 13, 0, 4, 0, 40),
  759. array(9, 0, 0, 0, 5, 0, 2),
  760. array(5, 0, 0, 0, 5, 0, 2),
  761. array(24, 0, 18, 0, 5, 0, 2),
  762. array(2, 0, 18, 0, 5, 0, 102),
  763. array(6, 0, 0, 0, 5, 0, 2),
  764. array(21, 0, 18, 0, 5, 0, 0),
  765. array(9, 0, 0, 0, 4, 0, 2),
  766. array(5, 0, 0, 0, 4, 0, 2),
  767. array(9, 0, 0, 0, 5, 0, 54),
  768. array(5, 0, 0, 0, 5, 0, 54),
  769. array(25, 0, 18, 0, 5, 0, 2),
  770. array(9, 0, 0, 0, 5, 0, 3),
  771. array(9, 0, 0, 0, 4, 0, 3),
  772. array(5, 0, 0, 0, 4, 0, 3),
  773. array(5, 0, 0, 0, 5, 0, 3),
  774. array(26, 0, 0, 0, 5, 0, 3),
  775. array(12, 230, 13, 0, 5, 0, 3),
  776. array(12, 230, 13, 0, 5, 0, 40),
  777. array(11, 0, 13, 0, 5, 0, 3),
  778. array(9, 0, 0, 0, 5, 0, 4),
  779. array(6, 0, 0, 0, 5, 0, 4),
  780. array(21, 0, 0, 0, 5, 0, 4),
  781. array(5, 0, 0, 0, 5, 0, 4),
  782. array(21, 0, 0, 0, 5, 0, 0),
  783. array(17, 0, 18, 0, 5, 0, 4),
  784. array(23, 0, 10, 0, 5, 0, 4),
  785. array(12, 220, 13, 0, 5, 0, 5),
  786. array(12, 230, 13, 0, 5, 0, 5),
  787. array(12, 222, 13, 0, 5, 0, 5),
  788. array(12, 228, 13, 0, 5, 0, 5),
  789. array(12, 10, 13, 0, 5, 0, 5),
  790. array(12, 11, 13, 0, 5, 0, 5),
  791. array(12, 12, 13, 0, 5, 0, 5),
  792. array(12, 13, 13, 0, 5, 0, 5),
  793. array(12, 14, 13, 0, 5, 0, 5),
  794. array(12, 15, 13, 0, 5, 0, 5),
  795. array(12, 16, 13, 0, 5, 0, 5),
  796. array(12, 17, 13, 0, 5, 0, 5),
  797. array(12, 18, 13, 0, 5, 0, 5),
  798. array(12, 19, 13, 0, 5, 0, 5),
  799. array(12, 20, 13, 0, 5, 0, 5),
  800. array(12, 21, 13, 0, 5, 0, 5),
  801. array(12, 22, 13, 0, 5, 0, 5),
  802. array(17, 0, 3, 0, 5, 0, 5),
  803. array(12, 23, 13, 0, 5, 0, 5),
  804. array(21, 0, 3, 0, 5, 0, 5),
  805. array(12, 24, 13, 0, 5, 0, 5),
  806. array(12, 25, 13, 0, 5, 0, 5),
  807. array(7, 0, 3, 0, 5, 0, 5),
  808. array(1, 0, 11, 0, 5, 0, 6),
  809. array(25, 0, 18, 0, 5, 0, 6),
  810. array(25, 0, 4, 0, 5, 0, 6),
  811. array(21, 0, 10, 0, 5, 0, 6),
  812. array(23, 0, 4, 0, 5, 0, 6),
  813. array(21, 0, 12, 0, 5, 0, 0),
  814. array(21, 0, 4, 0, 5, 0, 6),
  815. array(26, 0, 18, 0, 5, 0, 6),
  816. array(12, 230, 13, 0, 5, 0, 6),
  817. array(12, 30, 13, 0, 5, 0, 6),
  818. array(12, 31, 13, 0, 5, 0, 6),
  819. array(12, 32, 13, 0, 5, 0, 6),
  820. array(21, 0, 4, 0, 5, 0, 0),
  821. array(7, 0, 4, 0, 5, 0, 6),
  822. array(6, 0, 4, 0, 5, 0, 0),
  823. array(12, 27, 13, 0, 5, 0, 40),
  824. array(12, 28, 13, 0, 5, 0, 40),
  825. array(12, 29, 13, 0, 5, 0, 40),
  826. array(12, 30, 13, 0, 5, 0, 40),
  827. array(12, 31, 13, 0, 5, 0, 40),
  828. array(12, 32, 13, 0, 5, 0, 40),
  829. array(12, 33, 13, 0, 5, 0, 40),
  830. array(12, 34, 13, 0, 5, 0, 40),
  831. array(12, 220, 13, 0, 5, 0, 40),
  832. array(12, 220, 13, 0, 5, 0, 6),
  833. array(13, 0, 11, 0, 5, 0, 0),
  834. array(21, 0, 11, 0, 5, 0, 6),
  835. array(12, 35, 13, 0, 5, 0, 40),
  836. array(1, 0, 11, 0, 5, 0, 0),
  837. array(6, 0, 4, 0, 5, 0, 6),
  838. array(13, 0, 8, 0, 5, 0, 6),
  839. array(26, 0, 4, 0, 5, 0, 6),
  840. array(21, 0, 4, 0, 5, 0, 7),
  841. array(1, 0, 4, 0, 5, 0, 7),
  842. array(7, 0, 4, 0, 5, 0, 7),
  843. array(12, 36, 13, 0, 5, 0, 7),
  844. array(12, 230, 13, 0, 5, 0, 7),
  845. array(12, 220, 13, 0, 5, 0, 7),
  846. array(7, 0, 4, 0, 5, 0, 8),
  847. array(12, 0, 13, 0, 5, 0, 8),
  848. array(13, 0, 3, 0, 5, 0, 65),
  849. array(7, 0, 3, 0, 5, 0, 65),
  850. array(12, 230, 13, 0, 5, 0, 65),
  851. array(12, 220, 13, 0, 5, 0, 65),
  852. array(6, 0, 3, 0, 5, 0, 65),
  853. array(26, 0, 18, 0, 5, 0, 65),
  854. array(21, 0, 18, 0, 5, 0, 65),
  855. array(7, 0, 3, 0, 5, 0, 81),
  856. array(12, 230, 13, 0, 5, 0, 81),
  857. array(6, 0, 3, 0, 5, 0, 81),
  858. array(21, 0, 3, 0, 5, 0, 81),
  859. array(7, 0, 3, 0, 5, 0, 94),
  860. array(12, 220, 13, 0, 5, 0, 94),
  861. array(21, 0, 3, 0, 5, 0, 94),
  862. array(12, 27, 13, 0, 5, 0, 6),
  863. array(12, 28, 13, 0, 5, 0, 6),
  864. array(12, 29, 13, 0, 5, 0, 6),
  865. array(12, 0, 13, 0, 5, 0, 9),
  866. array(10, 0, 0, 0, 5, 0, 9),
  867. array(7, 0, 0, 0, 5, 0, 9),
  868. array(12, 7, 13, 0, 5, 0, 9),
  869. array(12, 9, 13, 0, 5, 0, 9),
  870. array(12, 230, 13, 0, 5, 0, 9),
  871. array(13, 0, 0, 0, 5, 0, 9),
  872. array(21, 0, 0, 0, 5, 0, 9),
  873. array(6, 0, 0, 0, 5, 0, 9),
  874. array(12, 0, 13, 0, 5, 0, 10),
  875. array(10, 0, 0, 0, 5, 0, 10),
  876. array(7, 0, 0, 0, 5, 0, 10),
  877. array(12, 7, 13, 0, 5, 0, 10),
  878. array(12, 9, 13, 0, 5, 0, 10),
  879. array(13, 0, 0, 0, 5, 0, 10),
  880. array(23, 0, 10, 0, 5, 0, 10),
  881. array(15, 0, 0, 0, 5, 0, 10),
  882. array(26, 0, 0, 0, 5, 0, 10),
  883. array(12, 0, 13, 0, 5, 0, 11),
  884. array(10, 0, 0, 0, 5, 0, 11),
  885. array(7, 0, 0, 0, 5, 0, 11),
  886. array(12, 7, 13, 0, 5, 0, 11),
  887. array(12, 9, 13, 0, 5, 0, 11),
  888. array(13, 0, 0, 0, 5, 0, 11),
  889. array(12, 0, 13, 0, 5, 0, 12),
  890. array(10, 0, 0, 0, 5, 0, 12),
  891. array(7, 0, 0, 0, 5, 0, 12),
  892. array(12, 7, 13, 0, 5, 0, 12),
  893. array(12, 9, 13, 0, 5, 0, 12),
  894. array(13, 0, 0, 0, 5, 0, 12),
  895. array(21, 0, 0, 0, 5, 0, 12),
  896. array(23, 0, 10, 0, 5, 0, 12),
  897. array(12, 0, 13, 0, 5, 0, 13),
  898. array(10, 0, 0, 0, 5, 0, 13),
  899. array(7, 0, 0, 0, 5, 0, 13),
  900. array(12, 7, 13, 0, 5, 0, 13),
  901. array(12, 9, 13, 0, 5, 0, 13),
  902. array(13, 0, 0, 0, 5, 0, 13),
  903. array(26, 0, 0, 0, 5, 0, 13),
  904. array(15, 0, 0, 0, 5, 0, 13),
  905. array(12, 0, 13, 0, 5, 0, 14),
  906. array(7, 0, 0, 0, 5, 0, 14),
  907. array(10, 0, 0, 0, 5, 0, 14),
  908. array(12, 9, 13, 0, 5, 0, 14),
  909. array(13, 0, 0, 0, 5, 0, 14),
  910. array(15, 0, 0, 0, 5, 0, 14),
  911. array(26, 0, 18, 0, 5, 0, 14),
  912. array(23, 0, 10, 0, 5, 0, 14),
  913. array(10, 0, 0, 0, 5, 0, 15),
  914. array(7, 0, 0, 0, 5, 0, 15),
  915. array(12, 0, 13, 0, 5, 0, 15),
  916. array(12, 9, 13, 0, 5, 0, 15),
  917. array(12, 84, 13, 0, 5, 0, 15),
  918. array(12, 91, 13, 0, 5, 0, 15),
  919. array(13, 0, 0, 0, 5, 0, 15),
  920. array(15, 0, 18, 0, 5, 0, 15),
  921. array(26, 0, 0, 0, 5, 0, 15),
  922. array(10, 0, 0, 0, 5, 0, 16),
  923. array(7, 0, 0, 0, 5, 0, 16),
  924. array(12, 7, 13, 0, 5, 0, 16),
  925. array(12, 0, 0, 0, 5, 0, 16),
  926. array(12, 0, 13, 0, 5, 0, 16),
  927. array(12, 9, 13, 0, 5, 0, 16),
  928. array(13, 0, 0, 0, 5, 0, 16),
  929. array(10, 0, 0, 0, 5, 0, 17),
  930. array(7, 0, 0, 0, 5, 0, 17),
  931. array(12, 0, 13, 0, 5, 0, 17),
  932. array(12, 9, 13, 0, 5, 0, 17),
  933. array(13, 0, 0, 0, 5, 0, 17),
  934. array(15, 0, 0, 0, 5, 0, 17),
  935. array(26, 0, 0, 0, 5, 0, 17),
  936. array(10, 0, 0, 0, 5, 0, 18),
  937. array(7, 0, 0, 0, 5, 0, 18),
  938. array(12, 9, 13, 0, 5, 0, 18),
  939. array(12, 0, 13, 0, 5, 0, 18),
  940. array(21, 0, 0, 0, 5, 0, 18),
  941. array(7, 0, 0, 0, 5, 0, 19),
  942. array(12, 0, 13, 0, 5, 0, 19),
  943. array(12, 103, 13, 0, 5, 0, 19),
  944. array(12, 9, 13, 0, 5, 0, 19),
  945. array(23, 0, 10, 0, 5, 0, 0),
  946. array(6, 0, 0, 0, 5, 0, 19),
  947. array(12, 107, 13, 0, 5, 0, 19),
  948. array(21, 0, 0, 0, 5, 0, 19),
  949. array(13, 0, 0, 0, 5, 0, 19),
  950. array(7, 0, 0, 0, 5, 0, 20),
  951. array(12, 0, 13, 0, 5, 0, 20),
  952. array(12, 118, 13, 0, 5, 0, 20),
  953. array(6, 0, 0, 0, 5, 0, 20),
  954. array(12, 122, 13, 0, 5, 0, 20),
  955. array(13, 0, 0, 0, 5, 0, 20),
  956. array(7, 0, 0, 0, 5, 0, 21),
  957. array(26, 0, 0, 0, 5, 0, 21),
  958. array(21, 0, 0, 0, 5, 0, 21),
  959. array(12, 220, 13, 0, 5, 0, 21),
  960. array(13, 0, 0, 0, 5, 0, 21),
  961. array(15, 0, 0, 0, 5, 0, 21),
  962. array(12, 216, 13, 0, 5, 0, 21),
  963. array(22, 0, 18, 1, 5, 0, 21),
  964. array(18, 0, 18, 1, 5, 0, 21),
  965. array(10, 0, 0, 0, 5, 0, 21),
  966. array(12, 129, 13, 0, 5, 0, 21),
  967. array(12, 130, 13, 0, 5, 0, 21),
  968. array(12, 0, 13, 0, 5, 0, 21),
  969. array(12, 132, 13, 0, 5, 0, 21),
  970. array(12, 230, 13, 0, 5, 0, 21),
  971. array(12, 9, 13, 0, 5, 0, 21),
  972. array(26, 0, 0, 0, 5, 0, 0),
  973. array(7, 0, 0, 0, 5, 0, 22),
  974. array(10, 0, 0, 0, 5, 0, 22),
  975. array(12, 0, 13, 0, 5, 0, 22),
  976. array(12, 7, 13, 0, 5, 0, 22),
  977. array(12, 9, 13, 0, 5, 0, 22),
  978. array(13, 0, 0, 0, 5, 0, 22),
  979. array(21, 0, 0, 0, 5, 0, 22),
  980. array(12, 220, 13, 0, 5, 0, 22),
  981. array(26, 0, 0, 0, 5, 0, 22),
  982. array(9, 0, 0, 0, 5, 0, 23),
  983. array(7, 0, 0, 0, 5, 0, 23),
  984. array(6, 0, 0, 0, 5, 0, 23),
  985. array(7, 0, 0, 0, 2, 0, 24),
  986. array(7, 0, 0, 0, 5, 0, 24),
  987. array(7, 0, 0, 0, 5, 0, 25),
  988. array(12, 230, 13, 0, 5, 0, 25),
  989. array(21, 0, 0, 0, 5, 0, 25),
  990. array(15, 0, 0, 0, 5, 0, 25),
  991. array(26, 0, 18, 0, 5, 0, 25),
  992. array(7, 0, 0, 0, 5, 0, 26),
  993. array(17, 0, 18, 0, 5, 0, 27),
  994. array(7, 0, 0, 0, 5, 0, 27),
  995. array(21, 0, 0, 0, 5, 0, 27),
  996. array(29, 0, 17, 0, 5, 0, 28),
  997. array(7, 0, 0, 0, 5, 0, 28),
  998. array(22, 0, 18, 1, 5, 0, 28),
  999. array(18, 0, 18, 1, 5, 0, 28),
  1000. array(7, 0, 0, 0, 5, 0, 29),
  1001. array(14, 0, 0, 0, 5, 0, 29),
  1002. array(7, 0, 0, 0, 5, 0, 41),
  1003. array(12, 0, 13, 0, 5, 0, 41),
  1004. array(12, 9, 13, 0, 5, 0, 41),
  1005. array(7, 0, 0, 0, 5, 0, 42),
  1006. array(12, 0, 13, 0, 5, 0, 42),
  1007. array(12, 9, 13, 0, 5, 0, 42),
  1008. array(7, 0, 0, 0, 5, 0, 43),
  1009. array(12, 0, 13, 0, 5, 0, 43),
  1010. array(7, 0, 0, 0, 5, 0, 44),
  1011. array(12, 0, 13, 0, 5, 0, 44),
  1012. array(7, 0, 0, 0, 5, 0, 30),
  1013. array(12, 0, 13, 0, 5, 0, 30),
  1014. array(10, 0, 0, 0, 5, 0, 30),
  1015. array(12, 9, 13, 0, 5, 0, 30),
  1016. array(21, 0, 0, 0, 5, 0, 30),
  1017. array(6, 0, 0, 0, 5, 0, 30),
  1018. array(23, 0, 10, 0, 5, 0, 30),
  1019. array(12, 230, 13, 0, 5, 0, 30),
  1020. array(13, 0, 0, 0, 5, 0, 30),
  1021. array(15, 0, 18, 0, 5, 0, 30),
  1022. array(21, 0, 18, 0, 5, 0, 31),
  1023. array(17, 0, 18, 0, 5, 0, 31),
  1024. array(12, 0, 13, 0, 5, 0, 31),
  1025. array(29, 0, 17, 0, 5, 0, 31),
  1026. array(13, 0, 0, 0, 5, 0, 31),
  1027. array(7, 0, 0, 0, 5, 0, 31),
  1028. array(6, 0, 0, 0, 5, 0, 31),
  1029. array(12, 228, 13, 0, 5, 0, 31),
  1030. array(7, 0, 0, 0, 5, 0, 45),
  1031. array(12, 0, 13, 0, 5, 0, 45),
  1032. array(10, 0, 0, 0, 5, 0, 45),
  1033. array(12, 222, 13, 0, 5, 0, 45),
  1034. array(12, 230, 13, 0, 5, 0, 45),
  1035. array(12, 220, 13, 0, 5, 0, 45),
  1036. array(26, 0, 18, 0, 5, 0, 45),
  1037. array(21, 0, 18, 0, 5, 0, 45),
  1038. array(13, 0, 0, 0, 5, 0, 45),
  1039. array(7, 0, 0, 0, 5, 0, 46),
  1040. array(7, 0, 0, 0, 5, 0, 55),
  1041. array(10, 0, 0, 0, 5, 0, 55),
  1042. array(13, 0, 0, 0, 5, 0, 55),
  1043. array(15, 0, 0, 0, 5, 0, 55),
  1044. array(26, 0, 18, 0, 5, 0, 55),
  1045. array(26, 0, 18, 0, 5, 0, 30),
  1046. array(7, 0, 0, 0, 5, 0, 53),
  1047. array(12, 230, 13, 0, 5, 0, 53),
  1048. array(12, 220, 13, 0, 5, 0, 53),
  1049. array(10, 0, 0, 0, 5, 0, 53),
  1050. array(21, 0, 0, 0, 5, 0, 53),
  1051. array(7, 0, 0, 0, 5, 0, 77),
  1052. array(10, 0, 0, 0, 5, 0, 77),
  1053. array(12, 0, 13, 0, 5, 0, 77),
  1054. array(12, 9, 13, 0, 5, 0, 77),
  1055. array(12, 230, 13, 0, 5, 0, 77),
  1056. array(12, 220, 13, 0, 5, 0, 77),
  1057. array(13, 0, 0, 0, 5, 0, 77),
  1058. array(21, 0, 0, 0, 5, 0, 77),
  1059. array(6, 0, 0, 0, 5, 0, 77),
  1060. array(12, 0, 13, 0, 5, 0, 61),
  1061. array(10, 0, 0, 0, 5, 0, 61),
  1062. array(7, 0, 0, 0, 5, 0, 61),
  1063. array(12, 7, 13, 0, 5, 0, 61),
  1064. array(10, 9, 0, 0, 5, 0, 61),
  1065. array(13, 0, 0, 0, 5, 0, 61),
  1066. array(21, 0, 0, 0, 5, 0, 61),
  1067. array(26, 0, 0, 0, 5, 0, 61),
  1068. array(12, 230, 13, 0, 5, 0, 61),
  1069. array(12, 220, 13, 0, 5, 0, 61),
  1070. array(12, 0, 13, 0, 5, 0, 66),
  1071. array(10, 0, 0, 0, 5, 0, 66),
  1072. array(7, 0, 0, 0, 5, 0, 66),
  1073. array(10, 9, 0, 0, 5, 0, 66),
  1074. array(12, 9, 13, 0, 5, 0, 66),
  1075. array(13, 0, 0, 0, 5, 0, 66),
  1076. array(7, 0, 0, 0, 5, 0, 92),
  1077. array(12, 7, 13, 0, 5, 0, 92),
  1078. array(10, 0, 0, 0, 5, 0, 92),
  1079. array(12, 0, 13, 0, 5, 0, 92),
  1080. array(10, 9, 0, 0, 5, 0, 92),
  1081. array(21, 0, 0, 0, 5, 0, 92),
  1082. array(7, 0, 0, 0, 5, 0, 67),
  1083. array(10, 0, 0, 0, 5, 0, 67),
  1084. array(12, 0, 13, 0, 5, 0, 67),
  1085. array(12, 7, 13, 0, 5, 0, 67),
  1086. array(21, 0, 0, 0, 5, 0, 67),
  1087. array(13, 0, 0, 0, 5, 0, 67),
  1088. array(13, 0, 0, 0, 5, 0, 68),
  1089. array(7, 0, 0, 0, 5, 0, 68),
  1090. array(6, 0, 0, 0, 5, 0, 68),
  1091. array(21, 0, 0, 0, 5, 0, 68),
  1092. array(21, 0, 0, 0, 5, 0, 66),
  1093. array(12, 1, 13, 0, 5, 0, 40),
  1094. array(10, 0, 0, 0, 5, 0, 0),
  1095. array(7, 0, 0, 0, 5, 0, 0),
  1096. array(6, 0, 0, 0, 5, 0, 3),
  1097. array(12, 234, 13, 0, 5, 0, 40),
  1098. array(12, 214, 13, 0, 5, 0, 40),
  1099. array(12, 202, 13, 0, 5, 0, 40),
  1100. array(12, 233, 13, 0, 5, 0, 40),
  1101. array(8, 0, 0, 0, 5, 0, 2),
  1102. array(29, 0, 17, 0, 5, 0, 0),
  1103. array(1, 0, 14, 0, 5, 0, 0),
  1104. array(1, 0, 14, 0, 5, 0, 40),
  1105. array(1, 0, 0, 0, 5, 0, 0),
  1106. array(1, 0, 3, 0, 5, 0, 0),
  1107. array(17, 0, 18, 0, 4, 0, 0),
  1108. array(17, 0, 18, 0, 5, 0, 0),
  1109. array(20, 0, 18, 0, 4, 0, 0),
  1110. array(19, 0, 18, 0, 4, 0, 0),
  1111. array(22, 0, 18, 0, 5, 0, 0),
  1112. array(20, 0, 18, 0, 5, 0, 0),
  1113. array(27, 0, 17, 0, 5, 0, 0),
  1114. array(28, 0, 15, 0, 5, 0, 0),
  1115. array(1, 0, 1, 0, 5, 0, 0),
  1116. array(1, 0, 5, 0, 5, 0, 0),
  1117. array(1, 0, 7, 0, 5, 0, 0),
  1118. array(1, 0, 2, 0, 5, 0, 0),
  1119. array(1, 0, 6, 0, 5, 0, 0),
  1120. array(21, 0, 10, 0, 4, 0, 0),
  1121. array(21, 0, 10, 0, 5, 0, 0),
  1122. array(16, 0, 18, 0, 5, 0, 0),
  1123. array(25, 0, 12, 0, 5, 0, 0),
  1124. array(22, 0, 18, 1, 5, 0, 0),
  1125. array(18, 0, 18, 1, 5, 0, 0),
  1126. array(25, 0, 18, 0, 5, 0, 0),
  1127. array(15, 0, 8, 0, 5, 0, 0),
  1128. array(25, 0, 9, 0, 5, 0, 0),
  1129. array(6, 0, 0, 0, 4, 0, 1),
  1130. array(23, 0, 10, 0, 1, 0, 0),
  1131. array(11, 0, 13, 0, 5, 0, 40),
  1132. array(9, 0, 0, 0, 5, 0, 0),
  1133. array(5, 0, 0, 0, 4, 0, 0),
  1134. array(26, 0, 10, 0, 5, 0, 0),
  1135. array(25, 0, 18, 1, 5, 0, 0),
  1136. array(15, 0, 18, 0, 5, 0, 0),
  1137. array(14, 0, 0, 0, 4, 0, 1),
  1138. array(14, 0, 0, 0, 5, 0, 1),
  1139. array(25, 0, 18, 1, 4, 0, 0),
  1140. array(25, 0, 10, 0, 5, 0, 0),
  1141. array(22, 0, 18, 1, 2, 0, 0),
  1142. array(18, 0, 18, 1, 2, 0, 0),
  1143. array(26, 0, 0, 0, 4, 0, 0),
  1144. array(26, 0, 0, 0, 5, 0, 52),
  1145. array(9, 0, 0, 0, 5, 0, 56),
  1146. array(5, 0, 0, 0, 5, 0, 56),
  1147. array(26, 0, 18, 0, 5, 0, 54),
  1148. array(12, 230, 13, 0, 5, 0, 54),
  1149. array(21, 0, 18, 0, 5, 0, 54),
  1150. array(15, 0, 18, 0, 5, 0, 54),
  1151. array(5, 0, 0, 0, 5, 0, 23),
  1152. array(7, 0, 0, 0, 5, 0, 57),
  1153. array(6, 0, 0, 0, 5, 0, 57),
  1154. array(21, 0, 0, 0, 5, 0, 57),
  1155. array(12, 9, 13, 0, 5, 0, 57),
  1156. array(26, 0, 18, 0, 2, 0, 35),
  1157. array(26, 0, 18, 0, 2, 0, 0),
  1158. array(29, 0, 17, 0, 0, 0, 0),
  1159. array(21, 0, 18, 0, 2, 0, 0),
  1160. array(6, 0, 0, 0, 2, 0, 35),
  1161. array(7, 0, 0, 0, 2, 0, 0),
  1162. array(14, 0, 0, 0, 2, 0, 35),
  1163. array(17, 0, 18, 0, 2, 0, 0),
  1164. array(22, 0, 18, 0, 2, 0, 0),
  1165. array(18, 0, 18, 0, 2, 0, 0),
  1166. array(12, 218, 13, 0, 2, 0, 40),
  1167. array(12, 228, 13, 0, 2, 0, 40),
  1168. array(12, 232, 13, 0, 2, 0, 40),
  1169. array(12, 222, 13, 0, 2, 0, 40),
  1170. array(10, 224, 0, 0, 2, 0, 24),
  1171. array(6, 0, 0, 0, 2, 0, 0),
  1172. array(7, 0, 0, 0, 2, 0, 32),
  1173. array(12, 8, 13, 0, 2, 0, 40),
  1174. array(24, 0, 18, 0, 2, 0, 0),
  1175. array(6, 0, 0, 0, 2, 0, 32),
  1176. array(7, 0, 0, 0, 2, 0, 33),
  1177. array(6, 0, 0, 0, 2, 0, 33),
  1178. array(7, 0, 0, 0, 2, 0, 34),
  1179. array(26, 0, 0, 0, 2, 0, 0),
  1180. array(15, 0, 0, 0, 2, 0, 0),
  1181. array(26, 0, 0, 0, 2, 0, 24),
  1182. array(26, 0, 18, 0, 2, 0, 24),
  1183. array(15, 0, 0, 0, 4, 0, 0),
  1184. array(15, 0, 18, 0, 2, 0, 0),
  1185. array(26, 0, 0, 0, 2, 0, 33),
  1186. array(7, 0, 0, 0, 2, 0, 35),
  1187. array(2, 0, 18, 0, 2, 0, 35),
  1188. array(2, 0, 18, 0, 2, 0, 102),
  1189. array(7, 0, 0, 0, 2, 0, 36),
  1190. array(6, 0, 0, 0, 2, 0, 36),
  1191. array(26, 0, 18, 0, 2, 0, 36),
  1192. array(7, 0, 0, 0, 5, 0, 82),
  1193. array(6, 0, 0, 0, 5, 0, 82),
  1194. array(21, 0, 0, 0, 5, 0, 82),
  1195. array(7, 0, 0, 0, 5, 0, 69),
  1196. array(6, 0, 0, 0, 5, 0, 69),
  1197. array(21, 0, 18, 0, 5, 0, 69),
  1198. array(13, 0, 0, 0, 5, 0, 69),
  1199. array(7, 0, 0, 0, 5, 0, 3),
  1200. array(21, 0, 18, 0, 5, 0, 3),
  1201. array(6, 0, 18, 0, 5, 0, 3),
  1202. array(7, 0, 0, 0, 5, 0, 83),
  1203. array(14, 0, 0, 0, 5, 0, 83),
  1204. array(12, 230, 13, 0, 5, 0, 83),
  1205. array(21, 0, 0, 0, 5, 0, 83),
  1206. array(24, 0, 0, 0, 5, 0, 0),
  1207. array(7, 0, 0, 0, 5, 0, 58),
  1208. array(12, 0, 13, 0, 5, 0, 58),
  1209. array(12, 9, 13, 0, 5, 0, 58),
  1210. array(10, 0, 0, 0, 5, 0, 58),
  1211. array(26, 0, 18, 0, 5, 0, 58),
  1212. array(15, 0, 0, 0, 5, 0, 0),
  1213. array(7, 0, 0, 0, 5, 0, 64),
  1214. array(21, 0, 18, 0, 5, 0, 64),
  1215. array(10, 0, 0, 0, 5, 0, 70),
  1216. array(7, 0, 0, 0, 5, 0, 70),
  1217. array(12, 9, 13, 0, 5, 0, 70),
  1218. array(21, 0, 0, 0, 5, 0, 70),
  1219. array(13, 0, 0, 0, 5, 0, 70),
  1220. array(13, 0, 0, 0, 5, 0, 71),
  1221. array(7, 0, 0, 0, 5, 0, 71),
  1222. array(12, 0, 13, 0, 5, 0, 71),
  1223. array(12, 220, 13, 0, 5, 0, 71),
  1224. array(21, 0, 0, 0, 5, 0, 71),
  1225. array(7, 0, 0, 0, 5, 0, 72),
  1226. array(12, 0, 13, 0, 5, 0, 72),
  1227. array(10, 0, 0, 0, 5, 0, 72),
  1228. array(10, 9, 0, 0, 5, 0, 72),
  1229. array(21, 0, 0, 0, 5, 0, 72),
  1230. array(12, 0, 13, 0, 5, 0, 84),
  1231. array(10, 0, 0, 0, 5, 0, 84),
  1232. array(7, 0, 0, 0, 5, 0, 84),
  1233. array(12, 7, 13, 0, 5, 0, 84),
  1234. array(10, 9, 0, 0, 5, 0, 84),
  1235. array(21, 0, 0, 0, 5, 0, 84),
  1236. array(6, 0, 0, 0, 5, 0, 84),
  1237. array(13, 0, 0, 0, 5, 0, 84),
  1238. array(7, 0, 0, 0, 5, 0, 76),
  1239. array(12, 0, 13, 0, 5, 0, 76),
  1240. array(10, 0, 0, 0, 5, 0, 76),
  1241. array(13, 0, 0, 0, 5, 0, 76),
  1242. array(21, 0, 0, 0, 5, 0, 76),
  1243. array(6, 0, 0, 0, 5, 0, 22),
  1244. array(7, 0, 0, 0, 5, 0, 78),
  1245. array(12, 230, 13, 0, 5, 0, 78),
  1246. array(12, 220, 13, 0, 5, 0, 78),
  1247. array(6, 0, 0, 0, 5, 0, 78),
  1248. array(21, 0, 0, 0, 5, 0, 78),
  1249. array(7, 0, 0, 0, 5, 0, 85),
  1250. array(10, 0, 0, 0, 5, 0, 85),
  1251. array(12, 0, 13, 0, 5, 0, 85),
  1252. array(21, 0, 0, 0, 5, 0, 85),
  1253. array(6, 0, 0, 0, 5, 0, 85),
  1254. array(12, 9, 13, 0, 5, 0, 85),
  1255. array(13, 0, 0, 0, 5, 0, 85),
  1256. array(2, 0, 18, 0, 2, 0, 24),
  1257. array(4, 0, 0, 0, 5, 0, 102),
  1258. array(3, 0, 0, 0, 4, 0, 102),
  1259. array(2, 0, 18, 0, 4, 0, 102),
  1260. array(12, 26, 13, 0, 5, 0, 5),
  1261. array(25, 0, 9, 0, 5, 0, 5),
  1262. array(24, 0, 4, 0, 5, 0, 6),
  1263. array(18, 0, 18, 0, 5, 0, 0),
  1264. array(16, 0, 18, 0, 2, 0, 0),
  1265. array(21, 0, 12, 0, 2, 0, 0),
  1266. array(21, 0, 10, 0, 2, 0, 0),
  1267. array(25, 0, 9, 0, 2, 0, 0),
  1268. array(17, 0, 9, 0, 2, 0, 0),
  1269. array(25, 0, 18, 1, 2, 0, 0),
  1270. array(25, 0, 18, 0, 2, 0, 0),
  1271. array(23, 0, 10, 0, 2, 0, 0),
  1272. array(21, 0, 18, 0, 0, 0, 0),
  1273. array(21, 0, 10, 0, 0, 0, 0),
  1274. array(23, 0, 10, 0, 0, 0, 0),
  1275. array(22, 0, 18, 1, 0, 0, 0),
  1276. array(18, 0, 18, 1, 0, 0, 0),
  1277. array(25, 0, 9, 0, 0, 0, 0),
  1278. array(21, 0, 12, 0, 0, 0, 0),
  1279. array(17, 0, 9, 0, 0, 0, 0),
  1280. array(13, 0, 8, 0, 0, 0, 0),
  1281. array(25, 0, 18, 1, 0, 0, 0),
  1282. array(25, 0, 18, 0, 0, 0, 0),
  1283. array(9, 0, 0, 0, 0, 0, 1),
  1284. array(24, 0, 18, 0, 0, 0, 0),
  1285. array(16, 0, 18, 0, 0, 0, 0),
  1286. array(5, 0, 0, 0, 0, 0, 1),
  1287. array(21, 0, 18, 0, 1, 0, 0),
  1288. array(22, 0, 18, 1, 1, 0, 0),
  1289. array(18, 0, 18, 1, 1, 0, 0),
  1290. array(7, 0, 0, 0, 1, 0, 33),
  1291. array(6, 0, 0, 0, 1, 0, 0),
  1292. array(7, 0, 0, 0, 1, 0, 24),
  1293. array(26, 0, 18, 0, 0, 0, 0),
  1294. array(26, 0, 18, 0, 1, 0, 0),
  1295. array(25, 0, 18, 0, 1, 0, 0),
  1296. array(1, 0, 18, 0, 5, 0, 0),
  1297. array(7, 0, 0, 0, 5, 0, 47),
  1298. array(14, 0, 18, 0, 5, 0, 2),
  1299. array(15, 0, 18, 0, 5, 0, 2),
  1300. array(26, 0, 18, 0, 5, 0, 2),
  1301. array(7, 0, 0, 0, 5, 0, 73),
  1302. array(7, 0, 0, 0, 5, 0, 74),
  1303. array(7, 0, 0, 0, 5, 0, 37),
  1304. array(15, 0, 0, 0, 5, 0, 37),
  1305. array(7, 0, 0, 0, 5, 0, 38),
  1306. array(14, 0, 0, 0, 5, 0, 38),
  1307. array(7, 0, 0, 0, 5, 0, 48),
  1308. array(21, 0, 0, 0, 5, 0, 48),
  1309. array(7, 0, 0, 0, 5, 0, 59),
  1310. array(21, 0, 0, 0, 5, 0, 59),
  1311. array(14, 0, 0, 0, 5, 0, 59),
  1312. array(9, 0, 0, 0, 5, 0, 39),
  1313. array(5, 0, 0, 0, 5, 0, 39),
  1314. array(7, 0, 0, 0, 5, 0, 49),
  1315. array(7, 0, 0, 0, 5, 0, 50),
  1316. array(13, 0, 0, 0, 5, 0, 50),
  1317. array(7, 0, 3, 0, 5, 0, 51),
  1318. array(7, 0, 3, 0, 5, 0, 86),
  1319. array(21, 0, 3, 0, 5, 0, 86),
  1320. array(15, 0, 3, 0, 5, 0, 86),
  1321. array(7, 0, 3, 0, 5, 0, 63),
  1322. array(15, 0, 3, 0, 5, 0, 63),
  1323. array(21, 0, 18, 0, 5, 0, 63),
  1324. array(7, 0, 3, 0, 5, 0, 75),
  1325. array(21, 0, 3, 0, 5, 0, 75),
  1326. array(7, 0, 3, 0, 5, 0, 97),
  1327. array(7, 0, 3, 0, 5, 0, 96),
  1328. array(7, 0, 3, 0, 5, 0, 60),
  1329. array(12, 0, 13, 0, 5, 0, 60),
  1330. array(12, 220, 13, 0, 5, 0, 60),
  1331. array(12, 230, 13, 0, 5, 0, 60),
  1332. array(12, 1, 13, 0, 5, 0, 60),
  1333. array(12, 9, 13, 0, 5, 0, 60),
  1334. array(15, 0, 3, 0, 5, 0, 60),
  1335. array(21, 0, 3, 0, 5, 0, 60),
  1336. array(7, 0, 3, 0, 5, 0, 87),
  1337. array(15, 0, 3, 0, 5, 0, 87),
  1338. array(21, 0, 3, 0, 5, 0, 87),
  1339. array(7, 0, 3, 0, 5, 0, 79),
  1340. array(21, 0, 18, 0, 5, 0, 79),
  1341. array(7, 0, 3, 0, 5, 0, 88),
  1342. array(15, 0, 3, 0, 5, 0, 88),
  1343. array(7, 0, 3, 0, 5, 0, 89),
  1344. array(15, 0, 3, 0, 5, 0, 89),
  1345. array(7, 0, 3, 0, 5, 0, 90),
  1346. array(15, 0, 11, 0, 5, 0, 6),
  1347. array(10, 0, 0, 0, 5, 0, 93),
  1348. array(12, 0, 13, 0, 5, 0, 93),
  1349. array(7, 0, 0, 0, 5, 0, 93),
  1350. array(12, 9, 13, 0, 5, 0, 93),
  1351. array(21, 0, 0, 0, 5, 0, 93),
  1352. array(15, 0, 18, 0, 5, 0, 93),
  1353. array(13, 0, 0, 0, 5, 0, 93),
  1354. array(12, 0, 13, 0, 5, 0, 91),
  1355. array(10, 0, 0, 0, 5, 0, 91),
  1356. array(7, 0, 0, 0, 5, 0, 91),
  1357. array(12, 9, 13, 0, 5, 0, 91),
  1358. array(12, 7, 13, 0, 5, 0, 91),
  1359. array(21, 0, 0, 0, 5, 0, 91),
  1360. array(1, 0, 0, 0, 5, 0, 91),
  1361. array(7, 0, 0, 0, 5, 0, 100),
  1362. array(13, 0, 0, 0, 5, 0, 100),
  1363. array(12, 230, 13, 0, 5, 0, 95),
  1364. array(7, 0, 0, 0, 5, 0, 95),
  1365. array(12, 0, 13, 0, 5, 0, 95),
  1366. array(10, 0, 0, 0, 5, 0, 95),
  1367. array(12, 9, 13, 0, 5, 0, 95),
  1368. array(13, 0, 0, 0, 5, 0, 95),
  1369. array(21, 0, 0, 0, 5, 0, 95),
  1370. array(12, 0, 13, 0, 5, 0, 99),
  1371. array(10, 0, 0, 0, 5, 0, 99),
  1372. array(7, 0, 0, 0, 5, 0, 99),
  1373. array(10, 9, 0, 0, 5, 0, 99),
  1374. array(21, 0, 0, 0, 5, 0, 99),
  1375. array(13, 0, 0, 0, 5, 0, 99),
  1376. array(7, 0, 0, 0, 5, 0, 101),
  1377. array(12, 0, 13, 0, 5, 0, 101),
  1378. array(10, 0, 0, 0, 5, 0, 101),
  1379. array(10, 9, 0, 0, 5, 0, 101),
  1380. array(12, 7, 13, 0, 5, 0, 101),
  1381. array(13, 0, 0, 0, 5, 0, 101),
  1382. array(7, 0, 0, 0, 5, 0, 62),
  1383. array(14, 0, 0, 0, 5, 0, 62),
  1384. array(21, 0, 0, 0, 5, 0, 62),
  1385. array(7, 0, 0, 0, 5, 0, 80),
  1386. array(7, 0, 0, 0, 5, 0, 98),
  1387. array(10, 0, 0, 0, 5, 0, 98),
  1388. array(12, 0, 13, 0, 5, 0, 98),
  1389. array(6, 0, 0, 0, 5, 0, 98),
  1390. array(10, 216, 0, 0, 5, 0, 0),
  1391. array(10, 226, 0, 0, 5, 0, 0),
  1392. array(12, 230, 13, 0, 5, 0, 2),
  1393. array(25, 0, 0, 0, 5, 0, 0),
  1394. array(13, 0, 8, 0, 5, 0, 0),
  1395. array(26, 0, 0, 0, 2, 0, 32),
  1396. );
  1397. /* Mirror unicode characters. Bidirectional Algorithm, at http://www.unicode.org/unicode/reports/tr9/ */
  1398. public static $mirror_pairs = array(
  1399. 40 => 41,
  1400. 41 => 40,
  1401. 60 => 62,
  1402. 62 => 60,
  1403. 91 => 93,
  1404. 93 => 91,
  1405. 123 => 125,
  1406. 125 => 123,
  1407. 171 => 187,
  1408. 187 => 171,
  1409. 3898 => 3899,
  1410. 3899 => 3898,
  1411. 3900 => 3901,
  1412. 3901 => 3900,
  1413. 5787 => 5788,
  1414. 5788 => 5787,
  1415. 8249 => 8250,
  1416. 8250 => 8249,
  1417. 8261 => 8262,
  1418. 8262 => 8261,
  1419. 8317 => 8318,
  1420. 8318 => 8317,
  1421. 8333 => 8334,
  1422. 8334 => 8333,
  1423. 8712 => 8715,
  1424. 8713 => 8716,
  1425. 8714 => 8717,
  1426. 8715 => 8712,
  1427. 8716 => 8713,
  1428. 8717 => 8714,
  1429. 8725 => 10741,
  1430. 8764 => 8765,
  1431. 8765 => 8764,
  1432. 8771 => 8909,
  1433. 8786 => 8787,
  1434. 8787 => 8786,
  1435. 8788 => 8789,
  1436. 8789 => 8788,
  1437. 8804 => 8805,
  1438. 8805 => 8804,
  1439. 8806 => 8807,
  1440. 8807 => 8806,
  1441. 8808 => 8809,
  1442. 8809 => 8808,
  1443. 8810 => 8811,
  1444. 8811 => 8810,
  1445. 8814 => 8815,
  1446. 8815 => 8814,
  1447. 8816 => 8817,
  1448. 8817 => 8816,
  1449. 8818 => 8819,
  1450. 8819 => 8818,
  1451. 8820 => 8821,
  1452. 8821 => 8820,
  1453. 8822 => 8823,
  1454. 8823 => 8822,
  1455. 8824 => 8825,
  1456. 8825 => 8824,
  1457. 8826 => 8827,
  1458. 8827 => 8826,
  1459. 8828 => 8829,
  1460. 8829 => 8828,
  1461. 8830 => 8831,
  1462. 8831 => 8830,
  1463. 8832 => 8833,
  1464. 8833 => 8832,
  1465. 8834 => 8835,
  1466. 8835 => 8834,
  1467. 8836 => 8837,
  1468. 8837 => 8836,
  1469. 8838 => 8839,
  1470. 8839 => 8838,
  1471. 8840 => 8841,
  1472. 8841 => 8840,
  1473. 8842 => 8843,
  1474. 8843 => 8842,
  1475. 8847 => 8848,
  1476. 8848 => 8847,
  1477. 8849 => 8850,
  1478. 8850 => 8849,
  1479. 8856 => 10680,
  1480. 8866 => 8867,
  1481. 8867 => 8866,
  1482. 8870 => 10974,
  1483. 8872 => 10980,
  1484. 8873 => 10979,
  1485. 8875 => 10981,
  1486. 8880 => 8881,
  1487. 8881 => 8880,
  1488. 8882 => 8883,
  1489. 8883 => 8882,
  1490. 8884 => 8885,
  1491. 8885 => 8884,
  1492. 8886 => 8887,
  1493. 8887 => 8886,
  1494. 8905 => 8906,
  1495. 8906 => 8905,
  1496. 8907 => 8908,
  1497. 8908 => 8907,
  1498. 8909 => 8771,
  1499. 8912 => 8913,
  1500. 8913 => 8912,
  1501. 8918 => 8919,
  1502. 8919 => 8918,
  1503. 8920 => 8921,
  1504. 8921 => 8920,
  1505. 8922 => 8923,
  1506. 8923 => 8922,
  1507. 8924 => 8925,
  1508. 8925 => 8924,
  1509. 8926 => 8927,
  1510. 8927 => 8926,
  1511. 8928 => 8929,
  1512. 8929 => 8928,
  1513. 8930 => 8931,
  1514. 8931 => 8930,
  1515. 8932 => 8933,
  1516. 8933 => 8932,
  1517. 8934 => 8935,
  1518. 8935 => 8934,
  1519. 8936 => 8937,
  1520. 8937 => 8936,
  1521. 8938 => 8939,
  1522. 8939 => 8938,
  1523. 8940 => 8941,
  1524. 8941 => 8940,
  1525. 8944 => 8945,
  1526. 8945 => 8944,
  1527. 8946 => 8954,
  1528. 8947 => 8955,
  1529. 8948 => 8956,
  1530. 8950 => 8957,
  1531. 8951 => 8958,
  1532. 8954 => 8946,
  1533. 8955 => 8947,
  1534. 8956 => 8948,
  1535. 8957 => 8950,
  1536. 8958 => 8951,
  1537. 8968 => 8969,
  1538. 8969 => 8968,
  1539. 8970 => 8971,
  1540. 8971 => 8970,
  1541. 9001 => 9002,
  1542. 9002 => 9001,
  1543. 10088 => 10089,
  1544. 10089 => 10088,
  1545. 10090 => 10091,
  1546. 10091 => 10090,
  1547. 10092 => 10093,
  1548. 10093 => 10092,
  1549. 10094 => 10095,
  1550. 10095 => 10094,
  1551. 10096 => 10097,
  1552. 10097 => 10096,
  1553. 10098 => 10099,
  1554. 10099 => 10098,
  1555. 10100 => 10101,
  1556. 10101 => 10100,
  1557. 10179 => 10180,
  1558. 10180 => 10179,
  1559. 10181 => 10182,
  1560. 10182 => 10181,
  1561. 10184 => 10185,
  1562. 10185 => 10184,
  1563. 10187 => 10189,
  1564. 10189 => 10187,
  1565. 10197 => 10198,
  1566. 10198 => 10197,
  1567. 10205 => 10206,
  1568. 10206 => 10205,
  1569. 10210 => 10211,
  1570. 10211 => 10210,
  1571. 10212 => 10213,
  1572. 10213 => 10212,
  1573. 10214 => 10215,
  1574. 10215 => 10214,
  1575. 10216 => 10217,
  1576. 10217 => 10216,
  1577. 10218 => 10219,
  1578. 10219 => 10218,
  1579. 10220 => 10221,
  1580. 10221 => 10220,
  1581. 10222 => 10223,
  1582. 10223 => 10222,
  1583. 10627 => 10628,
  1584. 10628 => 10627,
  1585. 10629 => 10630,
  1586. 10630 => 10629,
  1587. 10631 => 10632,
  1588. 10632 => 10631,
  1589. 10633 => 10634,
  1590. 10634 => 10633,
  1591. 10635 => 10636,
  1592. 10636 => 10635,
  1593. 10637 => 10640,
  1594. 10638 => 10639,
  1595. 10639 => 10638,
  1596. 10640 => 10637,
  1597. 10641 => 10642,
  1598. 10642 => 10641,
  1599. 10643 => 10644,
  1600. 10644 => 10643,
  1601. 10645 => 10646,
  1602. 10646 => 10645,
  1603. 10647 => 10648,
  1604. 10648 => 10647,
  1605. 10680 => 8856,
  1606. 10688 => 10689,
  1607. 10689 => 10688,
  1608. 10692 => 10693,
  1609. 10693 => 10692,
  1610. 10703 => 10704,
  1611. 10704 => 10703,
  1612. 10705 => 10706,
  1613. 10706 => 10705,
  1614. 10708 => 10709,
  1615. 10709 => 10708,
  1616. 10712 => 10713,
  1617. 10713 => 10712,
  1618. 10714 => 10715,
  1619. 10715 => 10714,
  1620. 10741 => 8725,
  1621. 10744 => 10745,
  1622. 10745 => 10744,
  1623. 10748 => 10749,
  1624. 10749 => 10748,
  1625. 10795 => 10796,
  1626. 10796 => 10795,
  1627. 10797 => 10798,
  1628. 10798 => 10797,
  1629. 10804 => 10805,
  1630. 10805 => 10804,
  1631. 10812 => 10813,
  1632. 10813 => 10812,
  1633. 10852 => 10853,
  1634. 10853 => 10852,
  1635. 10873 => 10874,
  1636. 10874 => 10873,
  1637. 10877 => 10878,
  1638. 10878 => 10877,
  1639. 10879 => 10880,
  1640. 10880 => 10879,
  1641. 10881 => 10882,
  1642. 10882 => 10881,
  1643. 10883 => 10884,
  1644. 10884 => 10883,
  1645. 10891 => 10892,
  1646. 10892 => 10891,
  1647. 10897 => 10898,
  1648. 10898 => 10897,
  1649. 10899 => 10900,
  1650. 10900 => 10899,
  1651. 10901 => 10902,
  1652. 10902 => 10901,
  1653. 10903 => 10904,
  1654. 10904 => 10903,
  1655. 10905 => 10906,
  1656. 10906 => 10905,
  1657. 10907 => 10908,
  1658. 10908 => 10907,
  1659. 10913 => 10914,
  1660. 10914 => 10913,
  1661. 10918 => 10919,
  1662. 10919 => 10918,
  1663. 10920 => 10921,
  1664. 10921 => 10920,
  1665. 10922 => 10923,
  1666. 10923 => 10922,
  1667. 10924 => 10925,
  1668. 10925 => 10924,
  1669. 10927 => 10928,
  1670. 10928 => 10927,
  1671. 10931 => 10932,
  1672. 10932 => 10931,
  1673. 10939 => 10940,
  1674. 10940 => 10939,
  1675. 10941 => 10942,
  1676. 10942 => 10941,
  1677. 10943 => 10944,
  1678. 10944 => 10943,
  1679. 10945 => 10946,
  1680. 10946 => 10945,
  1681. 10947 => 10948,
  1682. 10948 => 10947,
  1683. 10949 => 10950,
  1684. 10950 => 10949,
  1685. 10957 => 10958,
  1686. 10958 => 10957,
  1687. 10959 => 10960,
  1688. 10960 => 10959,
  1689. 10961 => 10962,
  1690. 10962 => 10961,
  1691. 10963 => 10964,
  1692. 10964 => 10963,
  1693. 10965 => 10966,
  1694. 10966 => 10965,
  1695. 10974 => 8870,
  1696. 10979 => 8873,
  1697. 10980 => 8872,
  1698. 10981 => 8875,
  1699. 10988 => 10989,
  1700. 10989 => 10988,
  1701. 10999 => 11000,
  1702. 11000 => 10999,
  1703. 11001 => 11002,
  1704. 11002 => 11001,
  1705. 11778 => 11779,
  1706. 11779 => 11778,
  1707. 11780 => 11781,
  1708. 11781 => 11780,
  1709. 11785 => 11786,
  1710. 11786 => 11785,
  1711. 11788 => 11789,
  1712. 11789 => 11788,
  1713. 11804 => 11805,
  1714. 11805 => 11804,
  1715. 11808 => 11809,
  1716. 11809 => 11808,
  1717. 11810 => 11811,
  1718. 11811 => 11810,
  1719. 11812 => 11813,
  1720. 11813 => 11812,
  1721. 11814 => 11815,
  1722. 11815 => 11814,
  1723. 11816 => 11817,
  1724. 11817 => 11816,
  1725. 12296 => 12297,
  1726. 12297 => 12296,
  1727. 12298 => 12299,
  1728. 12299 => 12298,
  1729. 12300 => 12301,
  1730. 12301 => 12300,
  1731. 12302 => 12303,
  1732. 12303 => 12302,
  1733. 12304 => 12305,
  1734. 12305 => 12304,
  1735. 12308 => 12309,
  1736. 12309 => 12308,
  1737. 12310 => 12311,
  1738. 12311 => 12310,
  1739. 12312 => 12313,
  1740. 12313 => 12312,
  1741. 12314 => 12315,
  1742. 12315 => 12314,
  1743. 65113 => 65114,
  1744. 65114 => 65113,
  1745. 65115 => 65116,
  1746. 65116 => 65115,
  1747. 65117 => 65118,
  1748. 65118 => 65117,
  1749. 65124 => 65125,
  1750. 65125 => 65124,
  1751. 65288 => 65289,
  1752. 65289 => 65288,
  1753. 65308 => 65310,
  1754. 65310 => 65308,
  1755. 65339 => 65341,
  1756. 65341 => 65339,
  1757. 65371 => 65373,
  1758. 65373 => 65371,
  1759. 65375 => 65376,
  1760. 65376 => 65375,
  1761. 65378 => 65379,
  1762. 65379 => 65378,
  1763. );
  1764. /* index tables for the database records */
  1765. private static $index0 = array(
  1766. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
  1767. 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
  1768. 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 53, 53, 53,
  1769. 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
  1770. 53, 53, 54, 52, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
  1771. 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
  1772. 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
  1773. 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
  1774. 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 55, 56, 57, 57, 57, 58,
  1775. 59, 60, 61, 62, 63, 64, 65, 66, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
  1776. 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
  1777. 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 68, 69, 70, 70,
  1778. 71, 69, 70, 70, 72, 73, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  1779. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 75, 76, 77, 78, 79, 80, 81,
  1780. 82, 83, 84, 85, 86, 87, 70, 70, 70, 88, 89, 90, 91, 92, 70, 93, 70, 94,
  1781. 95, 70, 70, 70, 70, 96, 70, 70, 70, 70, 70, 70, 70, 70, 70, 97, 97, 97,
  1782. 98, 99, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 100, 100, 100, 100,
  1783. 101, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1784. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1785. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 102, 102,
  1786. 103, 70, 70, 70, 70, 104, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1787. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1788. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1789. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 105, 70,
  1790. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1791. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 106, 107, 108, 109, 110,
  1792. 111, 112, 113, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1793. 70, 70, 70, 70, 70, 70, 70, 70, 114, 70, 115, 116, 117, 118, 119, 120,
  1794. 121, 122, 70, 70, 70, 70, 70, 70, 70, 70, 52, 53, 53, 53, 53, 53, 53, 53,
  1795. 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
  1796. 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
  1797. 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
  1798. 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
  1799. 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
  1800. 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
  1801. 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
  1802. 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
  1803. 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 123, 52, 53, 53,
  1804. 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 124, 125, 126, 126,
  1805. 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
  1806. 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
  1807. 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
  1808. 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
  1809. 126, 126, 126, 126, 126, 76, 76, 127, 126, 126, 126, 126, 128, 126, 126,
  1810. 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
  1811. 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
  1812. 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
  1813. 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
  1814. 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
  1815. 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
  1816. 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
  1817. 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
  1818. 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
  1819. 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
  1820. 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
  1821. 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
  1822. 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
  1823. 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
  1824. 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
  1825. 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
  1826. 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
  1827. 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
  1828. 126, 128, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1829. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1830. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1831. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1832. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1833. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1834. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1835. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1836. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1837. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1838. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1839. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1840. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1841. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1842. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1843. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1844. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1845. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1846. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1847. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1848. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1849. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1850. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1851. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1852. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1853. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1854. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1855. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1856. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1857. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1858. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1859. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1860. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1861. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1862. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1863. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1864. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1865. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1866. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1867. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1868. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1869. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1870. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1871. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1872. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1873. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1874. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1875. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1876. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1877. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1878. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1879. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1880. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1881. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1882. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1883. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1884. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1885. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1886. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1887. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1888. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1889. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1890. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1891. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1892. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1893. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1894. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1895. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1896. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1897. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1898. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1899. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1900. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1901. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1902. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1903. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1904. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1905. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1906. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1907. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1908. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1909. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1910. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1911. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1912. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1913. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1914. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1915. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1916. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1917. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1918. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1919. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1920. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1921. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1922. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1923. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1924. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1925. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1926. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1927. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1928. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1929. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1930. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1931. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1932. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1933. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1934. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1935. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1936. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1937. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1938. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1939. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1940. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1941. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1942. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1943. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1944. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1945. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1946. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1947. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1948. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1949. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1950. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1951. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1952. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1953. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1954. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1955. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1956. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1957. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1958. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1959. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1960. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1961. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1962. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1963. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1964. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1965. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1966. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1967. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1968. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1969. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1970. 70, 70, 70, 70, 70, 70, 129, 130, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1971. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1972. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1973. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1974. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1975. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1976. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1977. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1978. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1979. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1980. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1981. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1982. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1983. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
  1984. 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 73, 74, 74, 74, 74, 74, 74, 74,
  1985. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  1986. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  1987. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  1988. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  1989. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  1990. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  1991. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  1992. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  1993. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  1994. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  1995. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  1996. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  1997. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  1998. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 131, 73, 74, 74, 74,
  1999. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  2000. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  2001. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  2002. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  2003. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  2004. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  2005. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  2006. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  2007. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  2008. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  2009. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  2010. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  2011. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
  2012. 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 131,
  2013. );
  2014. private static $index1 = array(
  2015. 0, 1, 0, 2, 3, 4, 5, 6, 7, 8, 8, 9, 10, 11, 11, 12, 13, 0, 0, 0, 14, 15,
  2016. 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 29, 31, 32,
  2017. 33, 34, 35, 27, 30, 29, 27, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
  2018. 47, 48, 27, 27, 49, 27, 27, 27, 27, 27, 27, 27, 50, 51, 52, 27, 53, 54,
  2019. 53, 54, 54, 54, 54, 54, 55, 54, 54, 54, 56, 57, 58, 59, 60, 61, 62, 63,
  2020. 64, 64, 65, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 65, 77, 78,
  2021. 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
  2022. 97, 97, 97, 97, 98, 98, 98, 98, 99, 100, 101, 101, 101, 101, 102, 103,
  2023. 101, 101, 101, 101, 101, 101, 104, 105, 101, 101, 101, 101, 101, 101,
  2024. 101, 101, 101, 101, 101, 106, 107, 108, 108, 108, 109, 110, 111, 112,
  2025. 112, 112, 112, 113, 114, 115, 116, 117, 118, 119, 120, 106, 121, 121,
  2026. 121, 122, 123, 106, 124, 125, 126, 127, 128, 128, 128, 128, 129, 130,
  2027. 131, 132, 133, 134, 135, 128, 128, 128, 128, 128, 128, 128, 128, 128,
  2028. 128, 128, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 145, 145,
  2029. 146, 147, 148, 149, 128, 128, 128, 128, 128, 128, 150, 150, 150, 150,
  2030. 151, 152, 153, 106, 154, 155, 156, 156, 156, 157, 158, 159, 160, 160,
  2031. 161, 162, 163, 164, 165, 166, 167, 167, 167, 168, 106, 106, 106, 106,
  2032. 106, 106, 106, 106, 169, 170, 106, 106, 106, 106, 106, 106, 171, 172,
  2033. 173, 174, 175, 176, 176, 176, 176, 176, 176, 177, 178, 179, 180, 176,
  2034. 181, 182, 183, 184, 185, 186, 187, 188, 188, 189, 190, 191, 192, 193,
  2035. 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 203, 204, 205, 206,
  2036. 207, 208, 209, 210, 211, 212, 213, 106, 214, 215, 216, 217, 217, 218,
  2037. 219, 220, 221, 222, 223, 106, 224, 225, 226, 106, 227, 228, 229, 230,
  2038. 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 106, 241, 242,
  2039. 243, 244, 245, 242, 246, 247, 248, 249, 250, 106, 251, 252, 253, 254,
  2040. 255, 256, 257, 258, 258, 257, 259, 260, 261, 262, 263, 264, 265, 266,
  2041. 106, 267, 268, 269, 270, 271, 271, 270, 272, 273, 274, 275, 276, 277,
  2042. 278, 279, 280, 106, 281, 282, 283, 284, 284, 284, 284, 285, 286, 287,
  2043. 288, 106, 289, 290, 291, 292, 293, 294, 295, 296, 294, 294, 297, 298,
  2044. 295, 299, 300, 301, 106, 106, 302, 106, 303, 304, 304, 304, 304, 304,
  2045. 305, 306, 307, 308, 309, 310, 106, 106, 106, 106, 311, 312, 313, 314,
  2046. 315, 316, 317, 318, 319, 320, 321, 322, 106, 106, 106, 106, 323, 324,
  2047. 325, 326, 327, 328, 329, 330, 331, 332, 331, 331, 331, 333, 334, 335,
  2048. 336, 337, 338, 339, 338, 338, 338, 340, 341, 342, 343, 344, 106, 106,
  2049. 106, 106, 345, 345, 345, 345, 345, 346, 347, 348, 349, 350, 351, 352,
  2050. 353, 354, 355, 345, 356, 357, 349, 358, 359, 359, 359, 359, 360, 361,
  2051. 362, 362, 362, 362, 362, 363, 364, 364, 364, 364, 364, 364, 364, 364,
  2052. 364, 364, 364, 364, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
  2053. 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 366, 366, 366, 366,
  2054. 366, 366, 366, 366, 366, 367, 368, 367, 366, 366, 366, 366, 366, 367,
  2055. 366, 366, 366, 366, 367, 368, 367, 366, 368, 366, 366, 366, 366, 366,
  2056. 366, 366, 367, 366, 366, 366, 366, 366, 366, 366, 366, 369, 370, 371,
  2057. 372, 373, 366, 366, 374, 375, 376, 376, 376, 376, 376, 376, 376, 376,
  2058. 376, 376, 377, 106, 378, 379, 379, 379, 379, 379, 379, 379, 379, 379,
  2059. 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
  2060. 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
  2061. 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
  2062. 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379,
  2063. 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 380, 379, 379,
  2064. 381, 382, 382, 383, 384, 384, 384, 384, 384, 384, 384, 384, 384, 385,
  2065. 386, 106, 387, 388, 389, 106, 390, 390, 391, 106, 392, 392, 393, 106,
  2066. 394, 395, 396, 106, 397, 397, 397, 397, 397, 397, 398, 399, 400, 401,
  2067. 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 412, 412, 412,
  2068. 413, 412, 412, 412, 412, 412, 412, 106, 412, 412, 412, 412, 412, 414,
  2069. 379, 379, 379, 379, 379, 379, 379, 379, 415, 106, 416, 416, 416, 417,
  2070. 418, 419, 420, 421, 422, 423, 424, 424, 424, 425, 426, 106, 427, 427,
  2071. 427, 427, 427, 428, 429, 429, 430, 431, 432, 433, 434, 434, 434, 434,
  2072. 435, 435, 436, 437, 438, 438, 438, 438, 438, 438, 439, 440, 441, 442,
  2073. 443, 444, 445, 446, 445, 446, 447, 448, 106, 106, 106, 106, 106, 106,
  2074. 106, 106, 106, 106, 449, 450, 450, 450, 450, 450, 451, 452, 453, 454,
  2075. 455, 456, 457, 458, 459, 460, 461, 462, 462, 462, 463, 464, 465, 466,
  2076. 467, 467, 467, 467, 468, 469, 470, 471, 472, 472, 472, 472, 473, 474,
  2077. 475, 476, 477, 478, 479, 480, 481, 481, 481, 482, 106, 106, 106, 106,
  2078. 106, 106, 106, 106, 483, 106, 484, 485, 486, 487, 488, 106, 54, 54, 54,
  2079. 54, 489, 490, 56, 56, 56, 56, 56, 491, 492, 493, 54, 494, 54, 54, 54,
  2080. 495, 56, 56, 56, 496, 497, 498, 499, 500, 501, 106, 106, 502, 27, 27, 27,
  2081. 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 503, 504, 27,
  2082. 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 505, 506, 507, 508, 505, 506,
  2083. 505, 506, 507, 508, 505, 509, 505, 506, 505, 507, 505, 510, 505, 510,
  2084. 505, 510, 511, 512, 513, 514, 515, 516, 505, 517, 518, 519, 520, 521,
  2085. 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
  2086. 536, 537, 56, 538, 539, 540, 539, 541, 106, 106, 542, 543, 544, 545, 546,
  2087. 106, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559,
  2088. 560, 559, 561, 562, 563, 564, 565, 566, 567, 568, 569, 568, 570, 571,
  2089. 568, 572, 568, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
  2090. 584, 585, 586, 587, 588, 583, 583, 589, 590, 591, 592, 593, 583, 583,
  2091. 594, 574, 595, 596, 583, 583, 597, 583, 583, 568, 598, 599, 568, 600,
  2092. 601, 602, 603, 603, 603, 603, 603, 603, 603, 603, 604, 568, 568, 605,
  2093. 606, 574, 574, 607, 568, 568, 568, 568, 573, 608, 568, 609, 106, 568,
  2094. 568, 568, 568, 610, 106, 106, 106, 568, 611, 106, 106, 612, 612, 612,
  2095. 612, 612, 613, 613, 614, 615, 615, 615, 615, 615, 615, 615, 615, 615,
  2096. 616, 612, 612, 617, 617, 617, 617, 617, 617, 617, 617, 617, 618, 617,
  2097. 617, 617, 617, 618, 568, 617, 617, 619, 568, 620, 569, 621, 622, 623,
  2098. 624, 569, 568, 619, 572, 568, 574, 625, 626, 622, 627, 568, 568, 568,
  2099. 568, 628, 568, 568, 568, 629, 630, 568, 568, 568, 568, 568, 631, 568,
  2100. 632, 568, 631, 633, 634, 617, 617, 635, 617, 617, 617, 636, 568, 568,
  2101. 568, 568, 568, 568, 637, 568, 568, 572, 568, 568, 638, 639, 612, 640,
  2102. 640, 641, 568, 568, 568, 568, 568, 642, 643, 644, 645, 646, 647, 574,
  2103. 574, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648,
  2104. 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648,
  2105. 648, 648, 648, 648, 648, 574, 574, 574, 574, 574, 574, 574, 574, 574,
  2106. 574, 574, 574, 574, 574, 574, 574, 649, 650, 650, 651, 583, 583, 574,
  2107. 652, 597, 653, 654, 655, 656, 657, 658, 659, 574, 660, 583, 661, 662,
  2108. 663, 664, 645, 574, 574, 586, 652, 664, 665, 666, 667, 583, 583, 583,
  2109. 583, 668, 669, 583, 583, 583, 583, 670, 671, 672, 645, 673, 674, 568,
  2110. 568, 568, 568, 568, 568, 574, 574, 675, 676, 677, 678, 106, 106, 106,
  2111. 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2112. 106, 106, 106, 679, 679, 679, 679, 679, 680, 681, 681, 681, 681, 681,
  2113. 682, 683, 684, 685, 686, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
  2114. 687, 688, 689, 690, 691, 691, 691, 691, 692, 693, 694, 694, 694, 694,
  2115. 694, 694, 694, 695, 696, 697, 366, 366, 368, 106, 368, 368, 368, 368,
  2116. 368, 368, 368, 368, 698, 698, 698, 698, 699, 700, 701, 702, 703, 704,
  2117. 529, 705, 106, 106, 106, 106, 106, 106, 106, 106, 706, 706, 706, 707,
  2118. 706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 708, 106, 706, 706,
  2119. 706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,
  2120. 706, 706, 706, 706, 706, 706, 706, 706, 706, 706, 709, 106, 106, 106,
  2121. 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 721, 721,
  2122. 721, 721, 721, 721, 721, 721, 722, 723, 724, 725, 725, 725, 725, 725,
  2123. 725, 725, 725, 725, 725, 726, 727, 728, 728, 728, 728, 729, 730, 364,
  2124. 364, 364, 364, 364, 364, 364, 364, 364, 364, 731, 732, 733, 728, 728,
  2125. 728, 734, 710, 710, 710, 710, 711, 106, 725, 725, 735, 735, 735, 736,
  2126. 737, 738, 733, 733, 733, 739, 740, 741, 735, 735, 735, 742, 737, 738,
  2127. 733, 733, 733, 733, 743, 741, 733, 744, 745, 745, 745, 745, 745, 746,
  2128. 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 733, 733, 733,
  2129. 747, 748, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 733, 749,
  2130. 733, 733, 733, 747, 750, 751, 751, 751, 751, 751, 751, 751, 751, 751,
  2131. 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
  2132. 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
  2133. 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
  2134. 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
  2135. 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
  2136. 751, 751, 751, 751, 751, 751, 752, 753, 568, 568, 568, 568, 568, 568,
  2137. 568, 568, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
  2138. 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 754,
  2139. 753, 753, 753, 753, 753, 753, 755, 755, 756, 755, 755, 755, 755, 755,
  2140. 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
  2141. 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
  2142. 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
  2143. 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
  2144. 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
  2145. 755, 755, 755, 757, 758, 758, 758, 758, 758, 758, 759, 106, 760, 760,
  2146. 760, 760, 760, 761, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
  2147. 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
  2148. 762, 762, 762, 762, 762, 762, 762, 762, 762, 763, 762, 762, 764, 765,
  2149. 106, 106, 101, 101, 101, 101, 101, 766, 767, 768, 101, 101, 101, 769,
  2150. 770, 770, 770, 770, 770, 770, 770, 770, 771, 772, 773, 106, 64, 64, 774,
  2151. 775, 776, 27, 777, 27, 27, 27, 27, 27, 27, 27, 778, 779, 27, 780, 781,
  2152. 106, 27, 782, 106, 106, 106, 106, 106, 106, 106, 106, 106, 783, 784, 785,
  2153. 786, 786, 787, 788, 789, 790, 791, 791, 791, 791, 791, 791, 792, 106,
  2154. 793, 794, 794, 794, 794, 794, 795, 796, 797, 798, 799, 800, 801, 801,
  2155. 802, 803, 804, 805, 806, 806, 807, 808, 809, 809, 810, 811, 812, 813,
  2156. 364, 364, 364, 814, 815, 816, 816, 816, 816, 816, 817, 818, 819, 820,
  2157. 821, 822, 106, 106, 106, 106, 823, 823, 823, 823, 823, 824, 825, 106,
  2158. 826, 827, 828, 829, 345, 345, 830, 831, 832, 832, 832, 832, 832, 832,
  2159. 833, 834, 835, 106, 106, 836, 837, 838, 839, 106, 840, 840, 840, 106,
  2160. 368, 368, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2161. 106, 106, 106, 106, 106, 106, 837, 837, 837, 837, 841, 842, 843, 844,
  2162. 845, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
  2163. 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
  2164. 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
  2165. 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
  2166. 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
  2167. 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 846,
  2168. 847, 106, 365, 365, 848, 849, 365, 365, 365, 365, 365, 850, 851, 106,
  2169. 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2170. 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2171. 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2172. 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2173. 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2174. 106, 106, 106, 106, 106, 106, 106, 852, 851, 106, 106, 106, 106, 106,
  2175. 106, 106, 106, 106, 106, 106, 106, 106, 106, 852, 106, 106, 106, 106,
  2176. 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2177. 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 852,
  2178. 853, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
  2179. 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
  2180. 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
  2181. 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
  2182. 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
  2183. 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
  2184. 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 855, 856, 856,
  2185. 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
  2186. 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
  2187. 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
  2188. 856, 857, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 856,
  2189. 856, 858, 753, 753, 753, 753, 859, 106, 860, 861, 121, 862, 863, 864,
  2190. 865, 121, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
  2191. 866, 867, 868, 106, 869, 128, 128, 128, 128, 128, 128, 128, 128, 128,
  2192. 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
  2193. 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
  2194. 128, 128, 128, 128, 128, 128, 128, 870, 106, 106, 128, 128, 128, 128,
  2195. 128, 128, 128, 128, 871, 128, 128, 128, 128, 128, 128, 106, 106, 106,
  2196. 106, 106, 128, 872, 873, 873, 874, 875, 501, 106, 876, 877, 878, 879,
  2197. 880, 881, 882, 883, 884, 128, 128, 128, 128, 128, 128, 128, 128, 128,
  2198. 128, 128, 128, 128, 128, 128, 128, 885, 886, 887, 888, 889, 890, 891,
  2199. 891, 892, 893, 894, 894, 895, 896, 897, 898, 897, 897, 897, 897, 899,
  2200. 900, 900, 900, 901, 902, 902, 902, 903, 904, 905, 106, 906, 907, 908,
  2201. 907, 907, 909, 907, 907, 910, 907, 911, 907, 911, 106, 106, 106, 106,
  2202. 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907, 907,
  2203. 907, 912, 913, 914, 914, 914, 914, 914, 915, 603, 916, 916, 916, 916,
  2204. 916, 916, 917, 918, 919, 920, 568, 609, 106, 106, 106, 106, 106, 106,
  2205. 603, 603, 603, 603, 603, 921, 106, 106, 106, 106, 106, 106, 106, 106,
  2206. 106, 106, 106, 106, 106, 106, 106, 106, 922, 922, 922, 923, 924, 924,
  2207. 924, 924, 924, 924, 925, 106, 106, 106, 106, 106, 926, 926, 926, 927,
  2208. 928, 106, 929, 929, 930, 931, 106, 106, 106, 106, 106, 106, 932, 932,
  2209. 932, 933, 934, 934, 934, 934, 935, 934, 936, 106, 106, 106, 106, 106,
  2210. 937, 937, 937, 937, 937, 938, 938, 938, 938, 938, 939, 939, 939, 939,
  2211. 939, 939, 940, 940, 940, 941, 942, 943, 106, 106, 106, 106, 106, 106,
  2212. 106, 106, 106, 106, 944, 945, 946, 946, 946, 946, 947, 948, 949, 949,
  2213. 950, 951, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2214. 106, 106, 106, 106, 106, 106, 106, 106, 952, 952, 953, 954, 955, 955,
  2215. 955, 956, 106, 106, 106, 106, 106, 106, 106, 106, 957, 957, 957, 957,
  2216. 958, 958, 958, 959, 106, 106, 106, 106, 106, 106, 106, 106, 960, 961,
  2217. 962, 963, 964, 964, 965, 966, 967, 106, 968, 969, 970, 970, 970, 971,
  2218. 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2219. 106, 106, 972, 972, 972, 972, 972, 972, 973, 974, 975, 975, 976, 977,
  2220. 978, 978, 979, 980, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2221. 106, 106, 106, 106, 106, 106, 981, 981, 981, 981, 981, 981, 981, 981,
  2222. 981, 982, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2223. 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2224. 106, 106, 106, 106, 106, 106, 106, 106, 983, 983, 983, 984, 106, 106,
  2225. 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2226. 985, 986, 986, 986, 986, 986, 986, 987, 988, 989, 990, 991, 992, 993,
  2227. 106, 106, 994, 995, 995, 995, 995, 995, 996, 997, 998, 106, 999, 999,
  2228. 999, 1000, 1001, 1002, 1003, 1004, 1004, 1004, 1005, 1006, 1007, 1008,
  2229. 1009, 106, 106, 106, 106, 106, 106, 106, 1010, 1011, 1011, 1011, 1011,
  2230. 1011, 1012, 1013, 1014, 1015, 1016, 1017, 106, 106, 106, 106, 106, 106,
  2231. 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2232. 1018, 1018, 1018, 1018, 1018, 1019, 1020, 106, 1021, 1022, 106, 106, 106,
  2233. 106, 106, 106, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,
  2234. 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,
  2235. 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,
  2236. 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,
  2237. 1024, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2238. 106, 106, 106, 106, 106, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025,
  2239. 1025, 1025, 1025, 1025, 1026, 106, 1027, 106, 106, 106, 106, 106, 106,
  2240. 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 1028, 1028, 1028,
  2241. 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028,
  2242. 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028,
  2243. 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1029, 106,
  2244. 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2245. 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 770, 770, 770,
  2246. 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770,
  2247. 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 770,
  2248. 770, 770, 770, 770, 770, 770, 770, 770, 1030, 106, 106, 106, 106, 106,
  2249. 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2250. 106, 106, 106, 106, 106, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031,
  2251. 1032, 106, 1033, 1034, 1034, 1034, 1034, 1035, 106, 1036, 1037, 1038,
  2252. 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 1039, 106,
  2253. 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2254. 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2255. 106, 106, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
  2256. 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
  2257. 603, 603, 603, 603, 1040, 106, 603, 603, 603, 603, 1041, 1042, 603, 603,
  2258. 603, 603, 603, 603, 1043, 1044, 1045, 1046, 1047, 1048, 603, 603, 603,
  2259. 1049, 603, 603, 603, 603, 603, 1040, 106, 106, 106, 106, 919, 919, 919,
  2260. 919, 919, 919, 919, 919, 1050, 106, 106, 106, 106, 106, 106, 106, 106,
  2261. 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2262. 106, 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 610, 106, 914,
  2263. 914, 1051, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2264. 106, 106, 106, 106, 106, 1052, 1052, 1052, 1053, 1054, 1054, 1055, 1052,
  2265. 1052, 1056, 1057, 1054, 1054, 1052, 1052, 1052, 1053, 1054, 1054, 1058,
  2266. 1059, 1060, 1056, 1061, 1062, 1054, 1052, 1052, 1052, 1053, 1054, 1054,
  2267. 1063, 1064, 1065, 1066, 1054, 1054, 1054, 1067, 1068, 1069, 1070, 1054,
  2268. 1054, 1055, 1052, 1052, 1056, 1054, 1054, 1054, 1052, 1052, 1052, 1053,
  2269. 1054, 1054, 1055, 1052, 1052, 1056, 1054, 1054, 1054, 1052, 1052, 1052,
  2270. 1053, 1054, 1054, 1055, 1052, 1052, 1056, 1054, 1054, 1054, 1052, 1052,
  2271. 1052, 1053, 1054, 1054, 1071, 1052, 1052, 1052, 1072, 1054, 1054, 1073,
  2272. 1074, 1052, 1052, 1075, 1054, 1054, 1076, 1055, 1052, 1052, 1077, 1054,
  2273. 1054, 1078, 1079, 1052, 1052, 1080, 1054, 1054, 1054, 1081, 1052, 1052,
  2274. 1052, 1072, 1054, 1054, 1073, 1082, 1083, 1083, 1083, 1083, 1083, 1083,
  2275. 1084, 128, 128, 128, 1085, 1086, 1087, 1088, 1089, 1090, 1085, 1091,
  2276. 1085, 1087, 1087, 1092, 128, 1093, 128, 1094, 1095, 1093, 128, 1094, 106,
  2277. 106, 106, 106, 106, 106, 1096, 106, 568, 568, 568, 568, 568, 609, 568,
  2278. 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 609, 106, 568,
  2279. 610, 636, 610, 636, 568, 636, 568, 106, 106, 106, 106, 613, 1097, 615,
  2280. 615, 615, 1098, 615, 615, 615, 615, 615, 615, 615, 1099, 615, 615, 615,
  2281. 615, 615, 1100, 106, 106, 106, 106, 106, 106, 106, 106, 1101, 603, 603,
  2282. 603, 1102, 106, 733, 733, 733, 733, 733, 1103, 733, 1104, 1105, 106, 106,
  2283. 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2284. 106, 106, 106, 106, 106, 568, 568, 568, 568, 1106, 106, 1107, 568, 568,
  2285. 568, 568, 568, 568, 568, 568, 1108, 568, 568, 609, 106, 568, 568, 568,
  2286. 568, 1109, 611, 106, 106, 568, 568, 1106, 106, 568, 568, 568, 568, 568,
  2287. 568, 568, 610, 1110, 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
  2288. 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 1111, 568,
  2289. 568, 568, 568, 568, 568, 568, 1112, 609, 106, 568, 568, 568, 106, 106,
  2290. 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2291. 106, 106, 1113, 568, 568, 568, 568, 568, 568, 568, 568, 1114, 568, 106,
  2292. 106, 106, 106, 106, 106, 568, 568, 568, 568, 568, 568, 568, 568, 1112,
  2293. 106, 106, 106, 106, 106, 106, 106, 568, 568, 568, 568, 568, 568, 568,
  2294. 568, 568, 568, 568, 568, 568, 568, 609, 106, 106, 106, 106, 106, 106,
  2295. 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 751, 751, 751,
  2296. 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
  2297. 751, 751, 751, 751, 751, 751, 751, 751, 751, 1115, 753, 753, 753, 753,
  2298. 753, 751, 751, 751, 751, 751, 751, 754, 753, 750, 751, 751, 751, 751,
  2299. 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751, 751,
  2300. 751, 751, 751, 751, 751, 751, 751, 751, 752, 753, 753, 753, 753, 753,
  2301. 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
  2302. 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
  2303. 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
  2304. 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 856,
  2305. 856, 856, 857, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
  2306. 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
  2307. 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
  2308. 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
  2309. 753, 753, 753, 753, 753, 753, 1116, 1117, 106, 106, 106, 1118, 1118,
  2310. 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 106, 106,
  2311. 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
  2312. 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873,
  2313. 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873, 873,
  2314. 873, 873, 106, 106, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
  2315. 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854, 854,
  2316. 854, 854, 854, 854, 854, 854, 854, 1119,
  2317. );
  2318. private static $index2 = array(
  2319. 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 2, 4, 3, 1, 1, 1, 1, 1, 1, 3, 3, 3, 2,
  2320. 5, 6, 6, 7, 8, 7, 6, 6, 9, 10, 6, 11, 12, 13, 12, 12, 14, 14, 14, 14, 14,
  2321. 14, 14, 14, 14, 14, 12, 6, 15, 16, 15, 6, 6, 17, 17, 17, 17, 17, 17, 17,
  2322. 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 9, 6, 10, 18, 19, 18, 20, 20,
  2323. 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 9, 16,
  2324. 10, 16, 1, 1, 1, 1, 1, 1, 3, 1, 1, 21, 22, 8, 8, 23, 8, 24, 22, 25, 26,
  2325. 27, 28, 16, 29, 30, 18, 31, 32, 33, 33, 25, 34, 22, 22, 25, 33, 27, 35,
  2326. 36, 36, 36, 22, 37, 37, 37, 37, 37, 37, 38, 37, 37, 37, 37, 37, 37, 37,
  2327. 37, 37, 38, 37, 37, 37, 37, 37, 37, 39, 38, 37, 37, 37, 37, 37, 38, 40,
  2328. 40, 40, 41, 41, 41, 41, 40, 41, 40, 40, 40, 41, 40, 40, 41, 41, 40, 41,
  2329. 40, 40, 41, 41, 41, 39, 40, 40, 40, 41, 40, 41, 40, 41, 37, 40, 37, 41,
  2330. 37, 41, 37, 41, 37, 41, 37, 41, 37, 41, 37, 41, 37, 40, 37, 40, 37, 41,
  2331. 37, 41, 37, 41, 37, 40, 37, 41, 37, 41, 37, 41, 37, 41, 37, 41, 38, 40,
  2332. 37, 40, 38, 40, 37, 41, 37, 41, 40, 37, 41, 37, 41, 37, 41, 38, 40, 38,
  2333. 40, 37, 40, 37, 41, 37, 40, 40, 38, 40, 37, 40, 37, 41, 37, 41, 38, 40,
  2334. 37, 41, 37, 41, 37, 37, 41, 37, 41, 37, 41, 41, 41, 37, 37, 41, 37, 41,
  2335. 37, 37, 41, 37, 37, 37, 41, 41, 37, 37, 37, 37, 41, 37, 37, 41, 37, 37,
  2336. 37, 41, 41, 41, 37, 37, 41, 37, 37, 41, 37, 41, 37, 41, 37, 37, 41, 37,
  2337. 41, 41, 37, 41, 37, 37, 41, 37, 37, 37, 41, 37, 41, 37, 37, 41, 41, 42,
  2338. 37, 41, 41, 41, 42, 42, 42, 42, 37, 43, 41, 37, 43, 41, 37, 43, 41, 37,
  2339. 40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 37, 40, 41, 37, 41,
  2340. 41, 37, 43, 41, 37, 41, 37, 37, 37, 41, 37, 41, 41, 41, 41, 41, 41, 41,
  2341. 37, 37, 41, 37, 37, 41, 41, 37, 41, 37, 37, 37, 37, 41, 41, 40, 41, 41,
  2342. 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 42, 41,
  2343. 41, 41, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 45, 46, 46, 46, 46, 46,
  2344. 46, 46, 47, 47, 25, 47, 45, 48, 45, 48, 48, 48, 45, 48, 45, 45, 49, 46,
  2345. 47, 47, 47, 47, 47, 47, 25, 25, 25, 25, 47, 25, 47, 25, 44, 44, 44, 44,
  2346. 44, 47, 47, 47, 47, 47, 50, 50, 45, 47, 46, 47, 47, 47, 47, 47, 47, 47,
  2347. 47, 47, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 52, 53, 53,
  2348. 53, 53, 52, 54, 53, 53, 53, 53, 53, 55, 55, 53, 53, 53, 53, 55, 55, 53,
  2349. 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 56, 56, 56, 56, 56, 53, 53, 53,
  2350. 53, 51, 51, 51, 51, 51, 51, 51, 51, 57, 51, 53, 53, 53, 51, 51, 51, 53,
  2351. 53, 58, 51, 51, 51, 53, 53, 53, 53, 51, 52, 53, 53, 51, 59, 60, 60, 59,
  2352. 60, 60, 59, 51, 51, 51, 51, 51, 61, 62, 61, 62, 45, 63, 61, 62, 64, 64,
  2353. 65, 62, 62, 62, 66, 64, 64, 64, 64, 64, 63, 47, 61, 66, 61, 61, 61, 64,
  2354. 61, 64, 61, 61, 62, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
  2355. 67, 67, 67, 67, 64, 67, 67, 67, 67, 67, 67, 67, 61, 61, 62, 62, 62, 62,
  2356. 62, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
  2357. 62, 68, 68, 68, 68, 68, 68, 68, 62, 62, 62, 62, 62, 61, 62, 62, 61, 61,
  2358. 61, 62, 62, 62, 61, 62, 61, 62, 61, 62, 61, 62, 61, 62, 69, 70, 69, 70,
  2359. 69, 70, 69, 70, 69, 70, 69, 70, 69, 70, 62, 62, 62, 62, 61, 62, 71, 61,
  2360. 62, 61, 61, 62, 62, 61, 61, 61, 72, 73, 72, 72, 72, 72, 72, 72, 72, 72,
  2361. 72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 73, 73, 74, 74, 74, 74,
  2362. 74, 74, 74, 74, 75, 74, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
  2363. 75, 75, 72, 75, 72, 75, 72, 75, 72, 75, 72, 75, 76, 77, 77, 78, 78, 77,
  2364. 79, 79, 72, 75, 72, 75, 72, 75, 72, 72, 75, 72, 75, 72, 75, 72, 75, 72,
  2365. 75, 72, 75, 72, 75, 75, 64, 64, 64, 64, 64, 64, 64, 64, 64, 80, 80, 80,
  2366. 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
  2367. 80, 64, 64, 81, 82, 82, 82, 82, 82, 82, 64, 83, 83, 83, 83, 83, 83, 83,
  2368. 83, 83, 83, 83, 83, 83, 83, 83, 64, 84, 85, 64, 64, 64, 64, 86, 64, 87,
  2369. 88, 88, 88, 88, 87, 88, 88, 88, 89, 87, 88, 88, 88, 88, 88, 88, 87, 87,
  2370. 87, 87, 87, 87, 88, 88, 87, 88, 88, 89, 90, 88, 91, 92, 93, 94, 95, 96,
  2371. 97, 98, 99, 100, 100, 101, 102, 103, 104, 105, 106, 107, 108, 106, 88,
  2372. 87, 106, 99, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 64,
  2373. 64, 64, 64, 64, 109, 109, 109, 106, 106, 64, 64, 64, 110, 110, 110, 110,
  2374. 110, 64, 111, 111, 112, 113, 113, 114, 115, 116, 117, 117, 118, 118, 118,
  2375. 118, 118, 118, 118, 118, 119, 120, 121, 122, 64, 64, 116, 122, 123, 123,
  2376. 123, 123, 123, 123, 123, 123, 124, 123, 123, 123, 123, 123, 123, 123,
  2377. 123, 123, 123, 125, 126, 127, 128, 129, 130, 131, 132, 78, 78, 133, 134,
  2378. 118, 118, 118, 118, 118, 134, 118, 118, 134, 135, 135, 135, 135, 135,
  2379. 135, 135, 135, 135, 135, 113, 136, 136, 116, 123, 123, 137, 123, 123,
  2380. 123, 123, 123, 123, 123, 123, 123, 123, 123, 116, 123, 118, 118, 118,
  2381. 118, 118, 118, 118, 138, 117, 118, 118, 118, 118, 134, 118, 139, 139,
  2382. 118, 118, 117, 134, 118, 118, 134, 123, 123, 140, 140, 140, 140, 140,
  2383. 140, 140, 140, 140, 140, 123, 123, 123, 141, 141, 123, 142, 142, 142,
  2384. 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 64, 143, 144, 145,
  2385. 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
  2386. 146, 147, 146, 146, 147, 146, 146, 147, 147, 147, 146, 147, 147, 146,
  2387. 147, 146, 146, 146, 147, 146, 147, 146, 147, 146, 147, 146, 146, 64, 64,
  2388. 144, 144, 144, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 148,
  2389. 148, 148, 148, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
  2390. 148, 64, 64, 64, 64, 64, 64, 150, 150, 150, 150, 150, 150, 150, 150, 150,
  2391. 150, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151,
  2392. 151, 151, 151, 151, 152, 152, 152, 152, 152, 152, 152, 153, 152, 154,
  2393. 154, 155, 156, 156, 156, 154, 64, 64, 64, 64, 64, 157, 157, 157, 157,
  2394. 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 158, 158, 158, 158,
  2395. 159, 158, 158, 158, 158, 158, 158, 158, 158, 158, 159, 158, 158, 158,
  2396. 159, 158, 158, 158, 158, 158, 64, 64, 160, 160, 160, 160, 160, 160, 160,
  2397. 160, 160, 160, 160, 160, 160, 160, 160, 64, 161, 161, 161, 161, 161, 161,
  2398. 161, 161, 161, 162, 162, 162, 64, 64, 163, 64, 123, 64, 123, 123, 123,
  2399. 123, 123, 123, 123, 123, 123, 123, 123, 64, 64, 64, 64, 64, 64, 64, 118,
  2400. 118, 134, 118, 118, 134, 118, 118, 118, 134, 134, 134, 164, 165, 166,
  2401. 118, 118, 118, 134, 118, 118, 134, 134, 118, 118, 118, 118, 64, 167, 167,
  2402. 167, 168, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
  2403. 169, 169, 167, 168, 170, 169, 168, 168, 168, 167, 167, 167, 167, 167,
  2404. 167, 167, 167, 168, 168, 168, 168, 171, 168, 168, 169, 78, 133, 172, 172,
  2405. 167, 167, 167, 169, 169, 167, 167, 84, 84, 173, 173, 173, 173, 173, 173,
  2406. 173, 173, 173, 173, 174, 175, 169, 169, 169, 169, 169, 169, 64, 169, 169,
  2407. 169, 169, 169, 169, 169, 64, 176, 177, 177, 64, 178, 178, 178, 178, 178,
  2408. 178, 178, 178, 64, 64, 178, 178, 64, 64, 178, 178, 178, 178, 178, 178,
  2409. 178, 178, 178, 178, 178, 178, 178, 178, 64, 178, 178, 178, 178, 178, 178,
  2410. 178, 64, 178, 64, 64, 64, 178, 178, 178, 178, 64, 64, 179, 178, 177, 177,
  2411. 177, 176, 176, 176, 176, 64, 64, 177, 177, 64, 64, 177, 177, 180, 178,
  2412. 64, 64, 64, 64, 64, 64, 64, 64, 177, 64, 64, 64, 64, 178, 178, 64, 178,
  2413. 178, 178, 176, 176, 64, 64, 181, 181, 181, 181, 181, 181, 181, 181, 181,
  2414. 181, 178, 178, 182, 182, 183, 183, 183, 183, 183, 183, 184, 182, 64, 64,
  2415. 64, 64, 64, 185, 185, 186, 64, 187, 187, 187, 187, 187, 187, 64, 64, 64,
  2416. 64, 187, 187, 64, 64, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
  2417. 187, 187, 187, 187, 64, 187, 187, 187, 187, 187, 187, 187, 64, 187, 187,
  2418. 64, 187, 187, 64, 187, 187, 64, 64, 188, 64, 186, 186, 186, 185, 185, 64,
  2419. 64, 64, 64, 185, 185, 64, 64, 185, 185, 189, 64, 64, 64, 185, 64, 64, 64,
  2420. 64, 64, 64, 64, 187, 187, 187, 187, 64, 187, 64, 64, 64, 64, 64, 64, 64,
  2421. 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 185, 185, 187, 187,
  2422. 187, 185, 64, 64, 64, 191, 191, 192, 64, 193, 193, 193, 193, 193, 193,
  2423. 193, 193, 193, 64, 193, 193, 193, 64, 193, 193, 193, 193, 193, 193, 193,
  2424. 193, 193, 193, 193, 193, 193, 193, 64, 193, 193, 193, 193, 193, 193, 193,
  2425. 64, 193, 193, 64, 193, 193, 193, 193, 193, 64, 64, 194, 193, 192, 192,
  2426. 192, 191, 191, 191, 191, 191, 64, 191, 191, 192, 64, 192, 192, 195, 64,
  2427. 64, 193, 64, 64, 64, 64, 64, 64, 64, 193, 193, 191, 191, 64, 64, 196,
  2428. 196, 196, 196, 196, 196, 196, 196, 196, 196, 197, 198, 64, 64, 64, 64,
  2429. 64, 64, 64, 199, 200, 200, 64, 201, 201, 201, 201, 201, 201, 201, 201,
  2430. 64, 64, 201, 201, 64, 64, 201, 201, 201, 201, 201, 201, 201, 201, 201,
  2431. 201, 201, 201, 201, 201, 64, 201, 201, 201, 201, 201, 201, 201, 64, 201,
  2432. 201, 64, 201, 201, 201, 201, 201, 64, 64, 202, 201, 200, 199, 200, 199,
  2433. 199, 199, 199, 64, 64, 200, 200, 64, 64, 200, 200, 203, 64, 64, 64, 64,
  2434. 64, 64, 64, 64, 199, 200, 64, 64, 64, 64, 201, 201, 64, 201, 201, 201,
  2435. 199, 199, 64, 64, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 205,
  2436. 201, 206, 206, 206, 206, 206, 206, 64, 64, 207, 208, 64, 208, 208, 208,
  2437. 208, 208, 208, 64, 64, 64, 208, 208, 208, 64, 208, 208, 208, 208, 64, 64,
  2438. 64, 208, 208, 64, 208, 64, 208, 208, 64, 64, 64, 208, 208, 64, 64, 64,
  2439. 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 64, 64, 64, 64, 209,
  2440. 209, 207, 209, 209, 64, 64, 64, 209, 209, 209, 64, 209, 209, 209, 210,
  2441. 64, 64, 208, 64, 64, 64, 64, 64, 64, 209, 64, 64, 64, 64, 64, 64, 211,
  2442. 211, 211, 211, 211, 211, 211, 211, 211, 211, 212, 212, 212, 213, 213,
  2443. 213, 213, 213, 213, 214, 213, 64, 64, 64, 64, 64, 64, 215, 215, 215, 64,
  2444. 216, 216, 216, 216, 216, 216, 216, 216, 64, 216, 216, 216, 64, 216, 216,
  2445. 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
  2446. 216, 216, 64, 216, 216, 216, 216, 216, 64, 64, 64, 216, 217, 217, 217,
  2447. 215, 215, 215, 215, 64, 217, 217, 217, 64, 217, 217, 217, 218, 64, 64,
  2448. 64, 64, 64, 64, 64, 219, 220, 64, 216, 216, 64, 64, 64, 64, 64, 64, 216,
  2449. 216, 217, 217, 64, 64, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
  2450. 222, 222, 222, 222, 222, 222, 222, 223, 64, 64, 224, 224, 64, 225, 225,
  2451. 225, 225, 225, 225, 225, 225, 64, 225, 225, 225, 64, 225, 225, 225, 225,
  2452. 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 64,
  2453. 225, 225, 225, 225, 225, 64, 64, 226, 225, 224, 227, 224, 224, 224, 224,
  2454. 224, 64, 227, 224, 224, 64, 224, 224, 228, 229, 64, 64, 64, 64, 64, 64,
  2455. 64, 224, 224, 64, 64, 64, 64, 64, 64, 64, 225, 64, 225, 225, 228, 228,
  2456. 64, 64, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 64, 225, 225,
  2457. 64, 64, 64, 64, 64, 64, 64, 231, 231, 64, 232, 232, 232, 232, 232, 232,
  2458. 232, 232, 64, 232, 232, 232, 64, 232, 232, 232, 232, 232, 232, 232, 232,
  2459. 232, 232, 232, 232, 232, 232, 232, 232, 232, 64, 64, 232, 231, 231, 231,
  2460. 233, 233, 233, 233, 64, 231, 231, 231, 64, 231, 231, 231, 234, 232, 64,
  2461. 64, 64, 64, 64, 64, 64, 64, 231, 232, 232, 233, 233, 64, 64, 235, 235,
  2462. 235, 235, 235, 235, 235, 235, 235, 235, 236, 236, 236, 236, 236, 236, 64,
  2463. 64, 64, 237, 232, 232, 232, 232, 232, 232, 64, 64, 238, 238, 64, 239,
  2464. 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
  2465. 239, 239, 239, 64, 64, 64, 239, 239, 239, 239, 239, 239, 239, 239, 64,
  2466. 239, 239, 239, 239, 239, 239, 239, 239, 239, 64, 239, 64, 64, 64, 64,
  2467. 240, 64, 64, 64, 64, 238, 238, 238, 241, 241, 241, 64, 241, 64, 238, 238,
  2468. 238, 238, 238, 238, 238, 238, 64, 64, 238, 238, 242, 64, 64, 64, 64, 243,
  2469. 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
  2470. 243, 244, 243, 243, 244, 244, 244, 244, 245, 245, 246, 64, 64, 64, 64,
  2471. 247, 243, 243, 243, 243, 243, 243, 248, 244, 249, 249, 249, 249, 244,
  2472. 244, 244, 250, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 250,
  2473. 250, 64, 64, 64, 64, 64, 252, 252, 64, 252, 64, 64, 252, 252, 64, 252,
  2474. 64, 64, 252, 64, 64, 64, 64, 64, 64, 252, 252, 252, 252, 64, 252, 252,
  2475. 252, 252, 252, 252, 252, 64, 252, 252, 252, 64, 252, 64, 252, 64, 64,
  2476. 252, 252, 64, 252, 252, 252, 252, 253, 252, 252, 253, 253, 253, 253, 254,
  2477. 254, 64, 253, 253, 252, 64, 64, 252, 252, 252, 252, 252, 64, 255, 64,
  2478. 256, 256, 256, 256, 253, 253, 64, 64, 257, 257, 257, 257, 257, 257, 257,
  2479. 257, 257, 257, 64, 64, 252, 252, 252, 252, 258, 259, 259, 259, 260, 260,
  2480. 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, 259,
  2481. 260, 259, 259, 259, 261, 261, 259, 259, 259, 259, 259, 259, 262, 262,
  2482. 262, 262, 262, 262, 262, 262, 262, 262, 263, 263, 263, 263, 263, 263,
  2483. 263, 263, 263, 263, 259, 261, 259, 261, 259, 264, 265, 266, 265, 266,
  2484. 267, 267, 258, 258, 258, 258, 258, 258, 258, 258, 64, 258, 258, 258, 258,
  2485. 258, 258, 258, 258, 258, 258, 258, 258, 64, 64, 64, 64, 268, 269, 270,
  2486. 271, 270, 270, 270, 270, 270, 269, 269, 269, 269, 270, 267, 269, 270,
  2487. 272, 272, 273, 260, 272, 272, 258, 258, 258, 258, 258, 270, 270, 270,
  2488. 270, 270, 270, 270, 270, 270, 270, 270, 64, 270, 270, 270, 270, 270, 270,
  2489. 270, 270, 270, 270, 270, 270, 64, 259, 259, 259, 259, 259, 259, 259, 259,
  2490. 261, 259, 259, 259, 259, 259, 259, 64, 259, 259, 260, 260, 260, 260, 260,
  2491. 274, 274, 274, 274, 260, 260, 64, 64, 64, 64, 64, 275, 275, 275, 275,
  2492. 275, 275, 275, 275, 275, 275, 275, 276, 276, 277, 277, 277, 277, 276,
  2493. 277, 277, 277, 277, 277, 278, 276, 279, 279, 276, 276, 277, 277, 275,
  2494. 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 281, 281, 281, 281,
  2495. 281, 281, 275, 275, 275, 275, 275, 275, 276, 276, 277, 277, 275, 275,
  2496. 275, 275, 277, 277, 277, 275, 276, 276, 276, 275, 275, 276, 276, 276,
  2497. 276, 276, 276, 276, 275, 275, 275, 277, 277, 277, 277, 275, 275, 275,
  2498. 275, 275, 277, 276, 276, 277, 277, 276, 276, 276, 276, 276, 276, 282,
  2499. 275, 276, 280, 280, 276, 276, 276, 277, 283, 283, 284, 284, 284, 284,
  2500. 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, 64, 284, 64, 64, 64,
  2501. 64, 64, 284, 64, 64, 285, 285, 285, 285, 285, 285, 285, 285, 285, 285,
  2502. 285, 84, 286, 285, 285, 285, 287, 287, 287, 287, 287, 287, 287, 287, 288,
  2503. 288, 288, 288, 288, 288, 288, 288, 289, 289, 289, 289, 289, 289, 289,
  2504. 289, 289, 64, 289, 289, 289, 289, 64, 64, 289, 289, 289, 289, 289, 289,
  2505. 289, 64, 289, 289, 289, 64, 64, 290, 290, 290, 291, 291, 291, 291, 291,
  2506. 291, 291, 291, 291, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
  2507. 292, 292, 292, 292, 292, 292, 292, 292, 292, 292, 64, 64, 64, 293, 293,
  2508. 293, 293, 293, 293, 293, 293, 293, 293, 64, 64, 64, 64, 64, 64, 294, 294,
  2509. 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 294, 64, 64, 64, 295,
  2510. 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, 296,
  2511. 296, 296, 296, 296, 296, 296, 297, 297, 296, 298, 299, 299, 299, 299,
  2512. 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
  2513. 300, 301, 64, 64, 64, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302,
  2514. 302, 84, 84, 84, 303, 303, 303, 64, 64, 64, 64, 64, 64, 64, 304, 304,
  2515. 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, 64, 304, 304, 304,
  2516. 304, 305, 305, 306, 64, 64, 64, 307, 307, 307, 307, 307, 307, 307, 307,
  2517. 307, 307, 308, 308, 309, 84, 84, 64, 310, 310, 310, 310, 310, 310, 310,
  2518. 310, 310, 310, 311, 311, 64, 64, 64, 64, 312, 312, 312, 312, 312, 312,
  2519. 312, 312, 312, 312, 312, 312, 312, 64, 312, 312, 312, 64, 313, 313, 64,
  2520. 64, 64, 64, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
  2521. 315, 315, 316, 315, 315, 315, 315, 315, 315, 315, 316, 316, 316, 316,
  2522. 316, 316, 316, 316, 315, 316, 316, 315, 315, 315, 315, 315, 315, 315,
  2523. 315, 315, 317, 315, 318, 318, 318, 319, 318, 318, 318, 320, 314, 321, 64,
  2524. 64, 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, 64, 64, 64, 64, 64,
  2525. 64, 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, 64, 64, 64, 64, 64,
  2526. 64, 324, 324, 66, 66, 324, 66, 325, 324, 324, 324, 324, 326, 326, 326,
  2527. 327, 64, 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, 64, 64, 64,
  2528. 64, 64, 64, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 329, 330,
  2529. 329, 329, 329, 329, 329, 331, 329, 64, 64, 64, 64, 64, 296, 296, 296,
  2530. 296, 296, 296, 64, 64, 332, 332, 332, 332, 332, 332, 332, 332, 332, 332,
  2531. 332, 332, 332, 64, 64, 64, 333, 333, 333, 334, 334, 334, 334, 333, 333,
  2532. 334, 334, 334, 64, 64, 64, 64, 334, 334, 333, 334, 334, 334, 334, 334,
  2533. 334, 335, 336, 337, 64, 64, 64, 64, 338, 64, 64, 64, 339, 339, 340, 340,
  2534. 340, 340, 340, 340, 340, 340, 340, 340, 341, 341, 341, 341, 341, 341,
  2535. 341, 341, 341, 341, 341, 341, 341, 341, 64, 64, 341, 341, 341, 341, 341,
  2536. 64, 64, 64, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
  2537. 64, 64, 64, 64, 343, 343, 343, 343, 343, 343, 343, 343, 343, 342, 342,
  2538. 342, 342, 342, 342, 342, 343, 343, 64, 64, 64, 64, 64, 64, 344, 344, 344,
  2539. 344, 344, 344, 344, 344, 344, 344, 345, 64, 64, 64, 346, 346, 347, 347,
  2540. 347, 347, 347, 347, 347, 347, 348, 348, 348, 348, 348, 348, 348, 348,
  2541. 348, 348, 348, 348, 348, 348, 348, 349, 350, 351, 351, 351, 64, 64, 352,
  2542. 352, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353,
  2543. 354, 355, 354, 355, 355, 355, 355, 355, 355, 355, 64, 356, 354, 355, 354,
  2544. 354, 355, 355, 355, 355, 355, 355, 355, 355, 354, 354, 354, 354, 354,
  2545. 354, 355, 355, 357, 357, 357, 357, 357, 357, 357, 357, 64, 64, 358, 359,
  2546. 359, 359, 359, 359, 359, 359, 359, 359, 359, 64, 64, 64, 64, 64, 64, 360,
  2547. 360, 360, 360, 360, 360, 360, 361, 360, 360, 360, 360, 360, 360, 64, 64,
  2548. 362, 362, 362, 362, 363, 364, 364, 364, 364, 364, 364, 364, 364, 364,
  2549. 364, 364, 364, 364, 364, 364, 365, 363, 362, 362, 362, 362, 362, 363,
  2550. 362, 363, 363, 363, 363, 363, 362, 363, 366, 364, 364, 364, 364, 364,
  2551. 364, 364, 64, 64, 64, 64, 367, 367, 367, 367, 367, 367, 367, 367, 367,
  2552. 367, 368, 368, 368, 368, 368, 368, 368, 369, 369, 369, 369, 369, 369,
  2553. 369, 369, 369, 369, 370, 371, 370, 370, 370, 370, 370, 370, 370, 369,
  2554. 369, 369, 369, 369, 369, 369, 369, 369, 64, 64, 64, 372, 372, 373, 374,
  2555. 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 373,
  2556. 372, 372, 372, 372, 373, 373, 372, 372, 375, 376, 373, 373, 374, 374,
  2557. 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, 374, 374, 374, 374,
  2558. 374, 374, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
  2559. 378, 378, 379, 380, 381, 381, 380, 380, 380, 381, 380, 381, 381, 381,
  2560. 382, 382, 64, 64, 64, 64, 64, 64, 64, 64, 383, 383, 383, 383, 384, 384,
  2561. 384, 384, 384, 384, 384, 384, 384, 384, 384, 384, 385, 385, 385, 385,
  2562. 385, 385, 385, 385, 386, 386, 386, 386, 386, 386, 386, 386, 385, 385,
  2563. 386, 387, 64, 64, 64, 388, 388, 388, 388, 388, 389, 389, 389, 389, 389,
  2564. 389, 389, 389, 389, 389, 64, 64, 64, 384, 384, 384, 390, 390, 390, 390,
  2565. 390, 390, 390, 390, 390, 390, 391, 391, 391, 391, 391, 391, 391, 391,
  2566. 391, 391, 391, 391, 391, 391, 392, 392, 392, 392, 392, 392, 393, 393,
  2567. 394, 394, 394, 394, 394, 394, 394, 394, 78, 78, 78, 84, 395, 133, 133,
  2568. 133, 133, 133, 78, 78, 133, 133, 133, 133, 78, 396, 395, 395, 395, 395,
  2569. 395, 395, 395, 397, 397, 397, 397, 133, 397, 397, 397, 397, 396, 396, 78,
  2570. 397, 397, 64, 41, 41, 41, 41, 41, 41, 62, 62, 62, 62, 62, 75, 44, 44, 44,
  2571. 44, 44, 44, 44, 44, 44, 65, 65, 65, 65, 65, 44, 44, 44, 44, 65, 65, 65,
  2572. 65, 65, 41, 41, 41, 41, 41, 398, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
  2573. 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 65, 78, 78, 133, 78, 78,
  2574. 78, 78, 78, 78, 78, 133, 78, 78, 399, 400, 133, 401, 78, 78, 78, 78, 78,
  2575. 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 64,
  2576. 64, 64, 64, 64, 402, 133, 78, 133, 37, 41, 37, 41, 37, 41, 41, 41, 41,
  2577. 41, 41, 41, 41, 41, 37, 41, 62, 62, 62, 62, 62, 62, 62, 62, 61, 61, 61,
  2578. 61, 61, 61, 61, 61, 62, 62, 62, 62, 62, 62, 64, 64, 61, 61, 61, 61, 61,
  2579. 61, 64, 64, 64, 61, 64, 61, 64, 61, 64, 61, 403, 403, 403, 403, 403, 403,
  2580. 403, 403, 62, 62, 62, 62, 62, 64, 62, 62, 61, 61, 61, 61, 403, 63, 62,
  2581. 63, 63, 63, 62, 62, 62, 64, 62, 62, 61, 61, 61, 61, 403, 63, 63, 63, 62,
  2582. 62, 62, 62, 64, 64, 62, 62, 61, 61, 61, 61, 64, 63, 63, 63, 61, 61, 61,
  2583. 61, 61, 63, 63, 63, 64, 64, 62, 62, 62, 64, 62, 62, 61, 61, 61, 61, 403,
  2584. 63, 63, 64, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 404, 405,
  2585. 406, 406, 407, 408, 409, 410, 410, 409, 409, 409, 22, 66, 411, 412, 413,
  2586. 414, 411, 412, 413, 414, 22, 22, 22, 66, 22, 22, 22, 22, 415, 416, 417,
  2587. 418, 419, 420, 421, 21, 422, 423, 422, 422, 423, 22, 66, 66, 66, 28, 35,
  2588. 22, 66, 66, 22, 424, 424, 66, 66, 66, 425, 426, 427, 66, 66, 66, 66, 66,
  2589. 66, 66, 66, 66, 66, 66, 428, 66, 424, 66, 66, 66, 66, 66, 66, 66, 66, 66,
  2590. 66, 404, 405, 405, 405, 405, 405, 64, 64, 64, 64, 64, 405, 405, 405, 405,
  2591. 405, 405, 429, 44, 64, 64, 33, 429, 429, 429, 429, 429, 430, 430, 428,
  2592. 426, 427, 431, 429, 33, 33, 33, 33, 429, 429, 429, 429, 429, 430, 430,
  2593. 428, 426, 427, 64, 44, 44, 44, 44, 44, 64, 64, 64, 247, 247, 247, 247,
  2594. 247, 247, 247, 247, 247, 432, 247, 247, 23, 247, 247, 247, 247, 247, 247,
  2595. 64, 64, 64, 64, 64, 78, 78, 395, 395, 78, 78, 78, 78, 395, 395, 395, 78,
  2596. 78, 433, 433, 433, 433, 78, 433, 433, 433, 395, 395, 78, 133, 78, 395,
  2597. 395, 133, 133, 133, 133, 78, 64, 64, 64, 64, 64, 64, 64, 26, 26, 434, 30,
  2598. 26, 30, 26, 434, 26, 30, 34, 434, 434, 434, 34, 34, 434, 434, 434, 435,
  2599. 26, 434, 30, 26, 428, 434, 434, 434, 434, 434, 26, 26, 26, 30, 30, 26,
  2600. 434, 26, 67, 26, 434, 26, 37, 38, 434, 434, 436, 34, 434, 434, 37, 434,
  2601. 34, 397, 397, 397, 397, 34, 26, 26, 34, 34, 434, 434, 437, 428, 428, 428,
  2602. 428, 434, 34, 34, 34, 34, 26, 428, 26, 26, 41, 274, 438, 438, 438, 36,
  2603. 36, 438, 438, 438, 438, 438, 438, 36, 36, 36, 36, 438, 439, 439, 439,
  2604. 439, 439, 439, 439, 439, 439, 439, 439, 439, 440, 440, 440, 440, 439,
  2605. 439, 440, 440, 440, 440, 440, 440, 440, 440, 440, 37, 41, 440, 440, 440,
  2606. 440, 36, 64, 64, 64, 64, 64, 64, 39, 39, 39, 39, 39, 30, 30, 30, 30, 30,
  2607. 428, 428, 26, 26, 26, 26, 428, 26, 26, 428, 26, 26, 428, 26, 26, 26, 26,
  2608. 26, 26, 26, 428, 26, 26, 26, 26, 26, 26, 26, 26, 26, 30, 30, 26, 26, 26,
  2609. 26, 26, 26, 26, 26, 26, 26, 26, 26, 428, 428, 26, 26, 39, 26, 39, 26, 26,
  2610. 26, 26, 26, 26, 26, 26, 26, 26, 30, 26, 26, 26, 26, 428, 428, 428, 428,
  2611. 428, 428, 428, 428, 428, 428, 428, 428, 39, 437, 441, 441, 437, 428, 428,
  2612. 39, 441, 437, 437, 441, 437, 437, 428, 39, 428, 441, 430, 442, 428, 441,
  2613. 437, 428, 428, 428, 441, 437, 437, 441, 39, 441, 441, 437, 437, 39, 437,
  2614. 39, 437, 39, 39, 39, 39, 441, 441, 437, 441, 437, 437, 437, 437, 437, 39,
  2615. 39, 39, 39, 428, 437, 428, 437, 441, 441, 437, 437, 437, 437, 437, 437,
  2616. 437, 437, 437, 437, 441, 437, 437, 437, 441, 428, 428, 428, 428, 428,
  2617. 441, 437, 437, 437, 428, 428, 428, 428, 428, 428, 428, 428, 428, 437,
  2618. 441, 39, 437, 428, 441, 441, 441, 441, 437, 437, 441, 441, 428, 428, 441,
  2619. 441, 437, 437, 441, 441, 437, 437, 441, 441, 437, 437, 437, 437, 437,
  2620. 428, 428, 437, 437, 437, 437, 428, 428, 39, 428, 428, 437, 39, 428, 428,
  2621. 428, 428, 428, 428, 428, 428, 437, 437, 428, 39, 437, 437, 437, 428, 428,
  2622. 428, 428, 428, 437, 441, 428, 437, 437, 437, 437, 437, 428, 428, 437,
  2623. 437, 428, 428, 428, 428, 437, 437, 437, 437, 437, 437, 437, 437, 428,
  2624. 428, 437, 437, 437, 437, 26, 26, 26, 26, 26, 26, 30, 26, 26, 26, 26, 26,
  2625. 437, 437, 26, 26, 26, 26, 26, 26, 26, 443, 444, 26, 26, 26, 26, 26, 26,
  2626. 26, 26, 26, 26, 26, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
  2627. 274, 274, 274, 26, 428, 26, 26, 26, 26, 26, 26, 26, 26, 274, 26, 26, 26,
  2628. 26, 26, 428, 428, 428, 428, 428, 428, 428, 428, 428, 26, 26, 26, 26, 428,
  2629. 428, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 64, 64, 64, 64, 26, 26, 26,
  2630. 26, 26, 26, 26, 64, 26, 26, 26, 64, 64, 64, 64, 64, 36, 36, 36, 36, 36,
  2631. 36, 36, 36, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 445, 445,
  2632. 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, 438, 36, 36,
  2633. 36, 36, 36, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 26, 26, 26,
  2634. 26, 26, 26, 30, 30, 30, 30, 26, 26, 30, 30, 26, 30, 30, 30, 30, 30, 26,
  2635. 26, 30, 30, 26, 26, 30, 39, 26, 26, 26, 26, 30, 30, 26, 26, 30, 39, 26,
  2636. 26, 26, 26, 30, 30, 30, 26, 26, 30, 26, 26, 30, 30, 26, 26, 26, 26, 26,
  2637. 30, 30, 26, 26, 30, 26, 26, 26, 26, 30, 30, 26, 26, 26, 26, 30, 26, 30,
  2638. 26, 30, 26, 30, 26, 26, 26, 26, 26, 30, 30, 26, 30, 30, 30, 26, 30, 30,
  2639. 30, 30, 26, 30, 30, 26, 39, 26, 26, 26, 26, 26, 26, 30, 30, 26, 26, 26,
  2640. 26, 274, 26, 26, 26, 26, 26, 26, 26, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  2641. 30, 26, 30, 30, 30, 26, 30, 26, 26, 26, 26, 64, 26, 26, 26, 26, 26, 26,
  2642. 26, 26, 26, 26, 26, 26, 30, 26, 26, 426, 427, 426, 427, 426, 427, 426,
  2643. 427, 426, 427, 426, 427, 426, 427, 36, 36, 438, 438, 438, 438, 438, 438,
  2644. 438, 438, 438, 438, 438, 438, 26, 26, 26, 26, 437, 428, 428, 437, 437,
  2645. 426, 427, 428, 437, 437, 428, 437, 437, 437, 428, 428, 428, 428, 428,
  2646. 437, 437, 437, 437, 428, 428, 428, 428, 428, 437, 437, 437, 428, 428,
  2647. 428, 437, 437, 437, 437, 9, 10, 9, 10, 9, 10, 9, 10, 426, 427, 446, 446,
  2648. 446, 446, 446, 446, 446, 446, 428, 428, 428, 426, 427, 9, 10, 426, 427,
  2649. 426, 427, 426, 427, 426, 427, 426, 427, 428, 428, 437, 437, 437, 437,
  2650. 437, 437, 428, 428, 428, 428, 428, 428, 428, 428, 437, 428, 428, 428,
  2651. 428, 437, 437, 437, 437, 437, 428, 437, 437, 428, 428, 426, 427, 426,
  2652. 427, 437, 428, 428, 428, 428, 437, 428, 437, 437, 437, 428, 428, 437,
  2653. 437, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 437, 437, 437,
  2654. 437, 437, 437, 428, 428, 426, 427, 428, 428, 428, 428, 437, 437, 437,
  2655. 437, 437, 437, 437, 437, 437, 437, 437, 428, 437, 437, 437, 437, 428,
  2656. 428, 437, 428, 437, 428, 428, 437, 428, 437, 437, 437, 437, 428, 428,
  2657. 428, 428, 428, 437, 437, 428, 428, 428, 428, 437, 437, 437, 437, 428,
  2658. 437, 437, 428, 428, 437, 437, 428, 428, 428, 428, 437, 437, 437, 437,
  2659. 437, 437, 437, 437, 437, 437, 437, 428, 428, 437, 437, 437, 437, 437,
  2660. 437, 437, 437, 428, 437, 437, 437, 437, 437, 437, 437, 437, 428, 428,
  2661. 428, 428, 428, 437, 428, 437, 428, 428, 428, 437, 437, 437, 437, 437,
  2662. 428, 428, 428, 428, 437, 428, 428, 428, 437, 437, 437, 437, 437, 428,
  2663. 437, 428, 428, 428, 428, 428, 428, 428, 26, 26, 428, 428, 428, 428, 428,
  2664. 428, 64, 64, 64, 26, 26, 26, 26, 26, 30, 30, 30, 30, 30, 64, 64, 64, 64,
  2665. 64, 64, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, 447,
  2666. 447, 447, 64, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, 448,
  2667. 448, 448, 448, 64, 37, 41, 37, 37, 37, 41, 41, 37, 41, 37, 41, 37, 41,
  2668. 37, 37, 37, 37, 41, 37, 41, 41, 37, 41, 41, 41, 41, 41, 41, 44, 44, 37,
  2669. 37, 69, 70, 69, 70, 70, 449, 449, 449, 449, 449, 449, 69, 70, 69, 70,
  2670. 450, 450, 450, 69, 70, 64, 64, 64, 64, 64, 451, 451, 451, 451, 452, 451,
  2671. 451, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 453,
  2672. 453, 64, 453, 64, 64, 64, 64, 64, 453, 64, 64, 454, 454, 454, 454, 454,
  2673. 454, 454, 454, 64, 64, 64, 64, 64, 64, 64, 455, 456, 64, 64, 64, 64, 64,
  2674. 64, 64, 64, 64, 64, 64, 64, 64, 64, 457, 77, 77, 77, 77, 77, 77, 77, 77,
  2675. 66, 66, 28, 35, 28, 35, 66, 66, 66, 28, 35, 66, 28, 35, 66, 66, 66, 66,
  2676. 66, 66, 66, 66, 66, 410, 66, 66, 410, 66, 28, 35, 66, 66, 28, 35, 426,
  2677. 427, 426, 427, 426, 427, 426, 427, 66, 66, 66, 66, 66, 45, 66, 66, 410,
  2678. 410, 64, 64, 64, 64, 458, 458, 458, 458, 458, 458, 458, 458, 458, 458,
  2679. 64, 458, 458, 458, 458, 458, 458, 458, 458, 458, 64, 64, 64, 64, 458,
  2680. 458, 458, 458, 458, 458, 64, 64, 459, 459, 459, 459, 459, 459, 459, 459,
  2681. 459, 459, 459, 459, 64, 64, 64, 64, 460, 461, 461, 461, 459, 462, 463,
  2682. 464, 443, 444, 443, 444, 443, 444, 443, 444, 443, 444, 459, 459, 443,
  2683. 444, 443, 444, 443, 444, 443, 444, 465, 466, 467, 467, 459, 464, 464,
  2684. 464, 464, 464, 464, 464, 464, 464, 468, 469, 470, 471, 472, 472, 465,
  2685. 473, 473, 473, 473, 473, 459, 459, 464, 464, 464, 462, 463, 461, 459, 26,
  2686. 64, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474, 474,
  2687. 474, 474, 474, 474, 474, 474, 474, 474, 64, 64, 475, 475, 476, 476, 477,
  2688. 477, 474, 465, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 478,
  2689. 478, 478, 478, 478, 478, 478, 478, 461, 473, 479, 479, 478, 64, 64, 64,
  2690. 64, 64, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 480,
  2691. 480, 480, 480, 480, 64, 64, 64, 287, 287, 287, 287, 287, 287, 287, 287,
  2692. 287, 287, 287, 287, 287, 287, 64, 481, 481, 482, 482, 482, 482, 481, 481,
  2693. 481, 481, 481, 481, 481, 481, 481, 481, 480, 480, 480, 64, 64, 64, 64,
  2694. 64, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 483, 484,
  2695. 484, 64, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 481, 481, 481,
  2696. 481, 481, 481, 485, 485, 485, 485, 485, 485, 485, 485, 459, 486, 486,
  2697. 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 483,
  2698. 483, 483, 483, 484, 484, 484, 481, 481, 486, 486, 486, 486, 486, 486,
  2699. 486, 481, 481, 481, 481, 459, 459, 459, 459, 487, 487, 487, 487, 487,
  2700. 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, 64, 481, 481, 481, 481,
  2701. 481, 481, 481, 459, 459, 459, 459, 481, 481, 481, 481, 481, 481, 481,
  2702. 481, 481, 481, 481, 459, 459, 488, 489, 489, 489, 489, 489, 489, 489,
  2703. 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 488,
  2704. 490, 490, 490, 490, 490, 490, 490, 490, 490, 490, 489, 489, 489, 489,
  2705. 488, 490, 490, 490, 491, 491, 491, 491, 491, 491, 491, 491, 491, 491,
  2706. 491, 491, 491, 492, 491, 491, 491, 491, 491, 491, 491, 64, 64, 64, 493,
  2707. 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 64,
  2708. 494, 494, 494, 494, 494, 494, 494, 494, 495, 495, 495, 495, 495, 495,
  2709. 496, 496, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 497,
  2710. 498, 499, 499, 499, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500,
  2711. 497, 497, 64, 64, 64, 64, 72, 75, 72, 75, 72, 75, 501, 77, 79, 79, 79,
  2712. 502, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 502, 503, 64, 64, 64, 64,
  2713. 64, 64, 64, 77, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
  2714. 504, 504, 504, 505, 505, 505, 505, 505, 505, 505, 505, 505, 505, 506,
  2715. 506, 507, 507, 507, 507, 507, 507, 47, 47, 47, 47, 47, 47, 47, 45, 45,
  2716. 45, 45, 45, 45, 45, 45, 45, 47, 47, 37, 41, 37, 41, 37, 41, 41, 41, 37,
  2717. 41, 37, 41, 37, 41, 44, 41, 41, 41, 41, 41, 41, 41, 41, 37, 41, 37, 41,
  2718. 37, 37, 41, 45, 508, 508, 37, 41, 37, 41, 64, 37, 41, 37, 41, 64, 64, 64,
  2719. 64, 37, 41, 37, 64, 64, 64, 64, 64, 44, 44, 41, 42, 42, 42, 42, 42, 509,
  2720. 509, 510, 509, 509, 509, 511, 509, 509, 509, 509, 510, 509, 509, 509,
  2721. 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 512, 512,
  2722. 510, 510, 512, 513, 513, 513, 513, 64, 64, 64, 64, 514, 514, 514, 514,
  2723. 514, 514, 274, 274, 247, 436, 64, 64, 64, 64, 64, 64, 515, 515, 515, 515,
  2724. 515, 515, 515, 515, 515, 515, 515, 515, 516, 516, 516, 516, 517, 517,
  2725. 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518, 518,
  2726. 518, 518, 518, 518, 517, 517, 517, 517, 517, 517, 517, 517, 517, 517,
  2727. 517, 517, 517, 517, 517, 517, 519, 64, 64, 64, 64, 64, 64, 64, 64, 64,
  2728. 520, 520, 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, 64, 64, 64,
  2729. 64, 64, 64, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 169, 169,
  2730. 169, 169, 169, 169, 174, 174, 174, 169, 64, 64, 64, 64, 522, 522, 522,
  2731. 522, 522, 522, 522, 522, 522, 522, 523, 523, 523, 523, 523, 523, 523,
  2732. 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, 523, 524,
  2733. 524, 524, 524, 524, 525, 525, 525, 526, 526, 527, 527, 527, 527, 527,
  2734. 527, 527, 527, 527, 527, 527, 527, 527, 527, 527, 528, 528, 528, 528,
  2735. 528, 528, 528, 528, 528, 528, 528, 529, 530, 64, 64, 64, 64, 64, 64, 64,
  2736. 64, 64, 64, 64, 531, 287, 287, 287, 287, 287, 64, 64, 64, 532, 532, 532,
  2737. 533, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 534,
  2738. 534, 534, 535, 533, 533, 532, 532, 532, 532, 533, 533, 532, 533, 533,
  2739. 533, 536, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
  2740. 537, 64, 538, 539, 539, 539, 539, 539, 539, 539, 539, 539, 539, 64, 64,
  2741. 64, 64, 537, 537, 540, 540, 540, 540, 540, 540, 540, 540, 540, 541, 541,
  2742. 541, 541, 541, 541, 542, 542, 541, 541, 542, 542, 541, 541, 64, 540, 540,
  2743. 540, 541, 540, 540, 540, 540, 540, 540, 540, 540, 541, 542, 64, 64, 543,
  2744. 543, 543, 543, 543, 543, 543, 543, 543, 543, 64, 64, 544, 544, 544, 544,
  2745. 545, 275, 275, 275, 275, 275, 275, 283, 283, 283, 275, 276, 64, 64, 64,
  2746. 64, 546, 546, 546, 546, 546, 546, 546, 546, 547, 546, 547, 547, 548, 546,
  2747. 546, 547, 547, 546, 546, 546, 546, 546, 547, 547, 546, 547, 546, 64, 64,
  2748. 64, 64, 64, 64, 64, 64, 546, 546, 549, 550, 550, 551, 551, 551, 551, 551,
  2749. 551, 551, 551, 551, 551, 551, 552, 553, 553, 552, 552, 554, 554, 551,
  2750. 555, 555, 552, 556, 64, 64, 289, 289, 289, 289, 289, 289, 64, 551, 551,
  2751. 551, 552, 552, 553, 552, 552, 553, 552, 552, 554, 552, 556, 64, 64, 557,
  2752. 557, 557, 557, 557, 557, 557, 557, 557, 557, 64, 64, 64, 64, 64, 64, 287,
  2753. 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, 558,
  2754. 558, 558, 558, 558, 287, 64, 64, 64, 64, 288, 288, 288, 288, 288, 288,
  2755. 288, 64, 64, 64, 64, 288, 288, 288, 288, 288, 288, 288, 288, 288, 64, 64,
  2756. 64, 64, 559, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 559,
  2757. 560, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, 561,
  2758. 561, 561, 561, 561, 561, 561, 561, 561, 561, 560, 488, 488, 488, 488,
  2759. 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 490, 490, 488, 488,
  2760. 490, 490, 490, 490, 490, 490, 41, 41, 41, 41, 41, 41, 41, 64, 64, 64, 64,
  2761. 83, 83, 83, 83, 83, 64, 64, 64, 64, 64, 109, 562, 109, 109, 563, 109,
  2762. 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 64, 109, 109,
  2763. 109, 109, 109, 64, 109, 64, 109, 109, 64, 109, 109, 64, 109, 109, 123,
  2764. 123, 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, 564, 564,
  2765. 564, 564, 564, 64, 64, 64, 64, 64, 64, 64, 64, 64, 123, 123, 123, 123,
  2766. 123, 123, 123, 123, 123, 123, 123, 413, 565, 64, 64, 123, 123, 123, 123,
  2767. 123, 123, 123, 123, 123, 123, 114, 26, 64, 64, 58, 58, 58, 58, 58, 58,
  2768. 58, 58, 461, 461, 461, 461, 461, 461, 461, 466, 467, 461, 64, 64, 64, 64,
  2769. 64, 64, 461, 465, 465, 566, 566, 466, 467, 466, 467, 466, 467, 466, 467,
  2770. 466, 467, 466, 467, 466, 467, 466, 467, 461, 461, 466, 467, 461, 461,
  2771. 461, 461, 566, 566, 566, 567, 461, 567, 64, 461, 567, 461, 461, 465, 443,
  2772. 444, 443, 444, 443, 444, 568, 461, 461, 569, 570, 571, 571, 572, 64, 461,
  2773. 573, 568, 461, 64, 64, 64, 64, 123, 123, 123, 123, 123, 64, 123, 123,
  2774. 123, 123, 123, 123, 123, 64, 64, 405, 64, 574, 574, 575, 576, 575, 574,
  2775. 574, 577, 578, 574, 579, 580, 581, 580, 580, 582, 582, 582, 582, 582,
  2776. 582, 582, 582, 582, 582, 580, 574, 583, 584, 583, 574, 574, 585, 585,
  2777. 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 585,
  2778. 585, 585, 577, 574, 578, 586, 587, 586, 588, 588, 588, 588, 588, 588,
  2779. 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 577, 584,
  2780. 578, 584, 577, 578, 589, 590, 591, 589, 589, 592, 592, 592, 592, 592,
  2781. 592, 592, 592, 592, 592, 593, 592, 592, 592, 592, 592, 592, 592, 592,
  2782. 592, 592, 592, 592, 592, 593, 593, 594, 594, 594, 594, 594, 594, 594,
  2783. 594, 594, 594, 594, 594, 594, 594, 594, 64, 64, 64, 594, 594, 594, 594,
  2784. 594, 594, 64, 64, 594, 594, 594, 64, 64, 64, 576, 576, 584, 586, 595,
  2785. 576, 576, 64, 596, 597, 597, 597, 597, 596, 596, 64, 64, 598, 598, 598,
  2786. 26, 30, 64, 64, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599,
  2787. 599, 64, 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, 64, 599, 599,
  2788. 599, 64, 599, 599, 64, 599, 599, 599, 599, 599, 599, 599, 64, 64, 599,
  2789. 599, 599, 64, 64, 64, 64, 64, 84, 66, 84, 64, 64, 64, 64, 514, 514, 514,
  2790. 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, 64, 64, 64, 274, 600,
  2791. 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 601, 601,
  2792. 601, 601, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602,
  2793. 602, 602, 602, 602, 602, 601, 64, 64, 64, 64, 64, 274, 274, 274, 274,
  2794. 274, 133, 64, 64, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
  2795. 603, 603, 64, 64, 64, 604, 604, 604, 604, 604, 604, 604, 604, 604, 64,
  2796. 64, 64, 64, 64, 64, 64, 605, 605, 605, 605, 605, 605, 605, 605, 605, 605,
  2797. 605, 605, 605, 605, 605, 64, 606, 606, 606, 606, 64, 64, 64, 64, 607,
  2798. 607, 607, 607, 607, 607, 607, 607, 607, 608, 607, 607, 607, 607, 607,
  2799. 607, 607, 607, 608, 64, 64, 64, 64, 64, 609, 609, 609, 609, 609, 609,
  2800. 609, 609, 609, 609, 609, 609, 609, 609, 64, 610, 611, 611, 611, 611, 611,
  2801. 611, 611, 611, 611, 611, 611, 611, 64, 64, 64, 64, 612, 613, 613, 613,
  2802. 613, 613, 64, 64, 614, 614, 614, 614, 614, 614, 614, 614, 615, 615, 615,
  2803. 615, 615, 615, 615, 615, 616, 616, 616, 616, 616, 616, 616, 616, 617,
  2804. 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 64, 64,
  2805. 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, 64, 64, 64, 64, 64, 64,
  2806. 619, 619, 619, 619, 619, 619, 64, 64, 619, 64, 619, 619, 619, 619, 619,
  2807. 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 619,
  2808. 619, 64, 619, 619, 64, 64, 64, 619, 64, 64, 619, 620, 620, 620, 620, 620,
  2809. 620, 620, 620, 620, 620, 620, 620, 620, 620, 64, 621, 622, 622, 622, 622,
  2810. 622, 622, 622, 622, 623, 623, 623, 623, 623, 623, 623, 623, 623, 623,
  2811. 623, 623, 623, 623, 624, 624, 624, 624, 624, 624, 64, 64, 64, 625, 626,
  2812. 626, 626, 626, 626, 626, 626, 626, 626, 626, 64, 64, 64, 64, 64, 627,
  2813. 628, 628, 628, 628, 628, 628, 628, 628, 629, 629, 629, 629, 629, 629,
  2814. 629, 629, 64, 64, 64, 64, 64, 64, 629, 629, 630, 631, 631, 631, 64, 631,
  2815. 631, 64, 64, 64, 64, 64, 631, 632, 631, 633, 630, 630, 630, 630, 64, 630,
  2816. 630, 630, 64, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 630,
  2817. 630, 630, 630, 630, 630, 630, 630, 64, 64, 64, 64, 633, 634, 632, 64, 64,
  2818. 64, 64, 635, 636, 636, 636, 636, 636, 636, 636, 636, 637, 637, 637, 637,
  2819. 637, 637, 637, 637, 637, 64, 64, 64, 64, 64, 64, 64, 638, 638, 638, 638,
  2820. 638, 638, 638, 638, 638, 638, 638, 638, 638, 639, 639, 640, 641, 641,
  2821. 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 64, 64, 64,
  2822. 642, 642, 642, 642, 642, 642, 642, 643, 643, 643, 643, 643, 643, 643,
  2823. 643, 643, 643, 643, 643, 643, 643, 64, 64, 644, 644, 644, 644, 644, 644,
  2824. 644, 644, 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, 645, 64, 64,
  2825. 64, 64, 64, 646, 646, 646, 646, 646, 646, 646, 646, 647, 647, 647, 647,
  2826. 647, 647, 647, 647, 647, 64, 64, 64, 64, 64, 64, 64, 648, 648, 648, 648,
  2827. 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 648, 64, 649, 650, 649,
  2828. 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, 650,
  2829. 650, 650, 650, 650, 650, 650, 650, 650, 650, 650, 650, 650, 650, 652,
  2830. 653, 653, 653, 653, 653, 653, 653, 64, 64, 64, 64, 654, 654, 654, 654,
  2831. 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654, 654,
  2832. 654, 654, 655, 655, 655, 655, 655, 655, 655, 655, 655, 655, 656, 656,
  2833. 657, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658,
  2834. 657, 657, 657, 656, 656, 656, 656, 657, 657, 659, 660, 661, 661, 662,
  2835. 661, 661, 661, 661, 64, 64, 64, 64, 64, 64, 663, 663, 663, 663, 663, 663,
  2836. 663, 663, 663, 64, 64, 64, 64, 64, 64, 64, 664, 664, 664, 664, 664, 664,
  2837. 664, 664, 664, 664, 64, 64, 64, 64, 64, 64, 665, 665, 665, 666, 666, 666,
  2838. 666, 666, 666, 666, 666, 666, 666, 666, 666, 666, 666, 666, 666, 666,
  2839. 666, 666, 666, 667, 667, 667, 667, 667, 668, 667, 667, 667, 667, 667,
  2840. 667, 669, 669, 64, 670, 670, 670, 670, 670, 670, 670, 670, 670, 670, 671,
  2841. 671, 671, 671, 64, 64, 64, 64, 672, 672, 673, 674, 674, 674, 674, 674,
  2842. 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 673, 673, 673,
  2843. 672, 672, 672, 672, 672, 672, 672, 672, 672, 673, 675, 674, 674, 674,
  2844. 674, 676, 676, 676, 676, 64, 64, 64, 64, 64, 64, 64, 677, 677, 677, 677,
  2845. 677, 677, 677, 677, 677, 677, 64, 64, 64, 64, 64, 64, 678, 678, 678, 678,
  2846. 678, 678, 678, 678, 678, 678, 678, 679, 680, 679, 680, 680, 679, 679,
  2847. 679, 679, 679, 679, 681, 682, 683, 683, 683, 683, 683, 683, 683, 683,
  2848. 683, 683, 64, 64, 64, 64, 64, 64, 684, 684, 684, 684, 684, 684, 684, 684,
  2849. 684, 684, 684, 684, 684, 684, 684, 64, 685, 685, 685, 685, 685, 685, 685,
  2850. 685, 685, 685, 685, 64, 64, 64, 64, 64, 686, 686, 686, 686, 64, 64, 64,
  2851. 64, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687, 687,
  2852. 687, 64, 504, 64, 64, 64, 64, 64, 64, 64, 688, 688, 688, 688, 688, 688,
  2853. 688, 688, 688, 688, 688, 688, 688, 64, 64, 64, 688, 689, 689, 689, 689,
  2854. 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, 689, 689,
  2855. 689, 689, 689, 689, 64, 64, 64, 64, 64, 64, 64, 64, 690, 690, 690, 690,
  2856. 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, 691, 478,
  2857. 474, 64, 64, 64, 64, 64, 64, 274, 274, 274, 274, 274, 274, 64, 64, 274,
  2858. 274, 274, 274, 274, 274, 274, 64, 64, 274, 274, 274, 274, 274, 274, 274,
  2859. 274, 274, 274, 274, 274, 692, 692, 395, 395, 395, 274, 274, 274, 693,
  2860. 692, 692, 692, 692, 692, 405, 405, 405, 405, 405, 405, 405, 405, 133,
  2861. 133, 133, 133, 133, 133, 133, 133, 274, 274, 78, 78, 78, 78, 78, 133,
  2862. 133, 274, 274, 274, 274, 274, 274, 78, 78, 78, 78, 274, 274, 602, 602,
  2863. 694, 694, 694, 602, 64, 64, 514, 514, 64, 64, 64, 64, 64, 64, 434, 434,
  2864. 434, 434, 434, 434, 434, 434, 434, 434, 34, 34, 34, 34, 34, 34, 34, 34,
  2865. 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 434, 434, 434, 434, 434, 434,
  2866. 434, 434, 434, 434, 34, 34, 34, 34, 34, 34, 34, 64, 34, 34, 34, 34, 34,
  2867. 34, 434, 64, 434, 434, 64, 64, 434, 64, 64, 434, 434, 64, 64, 434, 434,
  2868. 434, 434, 64, 434, 434, 34, 34, 64, 34, 64, 34, 34, 34, 34, 34, 34, 34,
  2869. 64, 34, 34, 34, 34, 34, 34, 34, 434, 434, 64, 434, 434, 434, 434, 64, 64,
  2870. 434, 434, 434, 434, 434, 434, 434, 434, 64, 434, 434, 434, 434, 434, 434,
  2871. 434, 64, 34, 34, 434, 434, 64, 434, 434, 434, 434, 64, 434, 434, 434,
  2872. 434, 434, 64, 434, 64, 64, 64, 434, 434, 434, 434, 434, 434, 434, 64, 34,
  2873. 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 64, 64, 434, 695, 34, 34, 34,
  2874. 34, 34, 34, 34, 34, 34, 437, 34, 34, 34, 34, 34, 34, 434, 434, 434, 434,
  2875. 434, 434, 434, 434, 434, 695, 34, 34, 34, 34, 34, 34, 34, 34, 34, 437,
  2876. 34, 34, 434, 434, 434, 434, 434, 695, 34, 34, 34, 34, 34, 34, 34, 34, 34,
  2877. 437, 34, 34, 34, 34, 34, 34, 434, 434, 434, 434, 434, 434, 434, 434, 434,
  2878. 695, 34, 437, 34, 34, 34, 34, 34, 34, 34, 34, 434, 34, 64, 64, 696, 696,
  2879. 696, 696, 696, 696, 696, 696, 696, 696, 123, 123, 123, 123, 64, 123, 123,
  2880. 123, 64, 123, 123, 64, 123, 64, 64, 123, 64, 123, 123, 123, 123, 123,
  2881. 123, 123, 123, 123, 123, 64, 123, 123, 123, 123, 64, 123, 64, 123, 64,
  2882. 64, 64, 64, 64, 64, 123, 64, 64, 64, 64, 123, 64, 123, 64, 123, 64, 123,
  2883. 123, 123, 64, 123, 64, 123, 64, 123, 64, 123, 64, 123, 123, 123, 123, 64,
  2884. 123, 64, 123, 123, 64, 123, 123, 123, 123, 123, 123, 123, 123, 123, 64,
  2885. 64, 64, 64, 64, 123, 123, 123, 64, 123, 123, 123, 111, 111, 64, 64, 64,
  2886. 64, 64, 64, 33, 33, 33, 64, 64, 64, 64, 64, 445, 445, 445, 445, 445, 445,
  2887. 274, 64, 445, 445, 26, 26, 64, 64, 64, 64, 445, 445, 445, 64, 64, 64, 64,
  2888. 64, 64, 64, 64, 64, 64, 64, 274, 274, 697, 481, 481, 64, 64, 64, 64, 64,
  2889. 481, 481, 481, 64, 64, 64, 64, 64, 481, 64, 64, 64, 64, 64, 64, 64, 481,
  2890. 481, 64, 64, 64, 64, 64, 64, 26, 64, 64, 64, 64, 64, 64, 64, 26, 26, 26,
  2891. 26, 26, 26, 64, 26, 26, 26, 26, 26, 26, 64, 64, 64, 26, 26, 26, 26, 26,
  2892. 64, 26, 26, 26, 64, 26, 26, 26, 26, 26, 26, 64, 26, 26, 26, 26, 64, 64,
  2893. 64, 26, 26, 26, 26, 26, 26, 64, 64, 64, 64, 64, 26, 26, 26, 26, 26, 26,
  2894. 64, 64, 64, 64, 26, 26, 26, 489, 489, 489, 489, 489, 489, 488, 490, 490,
  2895. 490, 490, 490, 490, 490, 64, 64, 64, 405, 64, 64, 64, 64, 64, 64, 405,
  2896. 405, 405, 405, 405, 405, 405, 405, 561, 561, 561, 561, 561, 560, 64, 64,
  2897. );
  2898. }